行走电机驱动电路分析与编程_第1页
行走电机驱动电路分析与编程_第2页
行走电机驱动电路分析与编程_第3页
行走电机驱动电路分析与编程_第4页
行走电机驱动电路分析与编程_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机器人行走控制——

行走电机驱动电路分析与编程

中科机器人平台手动机器人与自动机器人平台行走机构主要有:主动轮、从动轮、行走电机、铝合金框架等构成。其中,行走电机为两个额定电压24VDC、150转/70W功率直流减速电机。配备专用电机驱动板对电机进行驱动控制。行走电机(1)行走机构一、行走机构与动作主动轮从动轮电机驱动板机器人行走一共有三种动作:(2)行走动作前进:两个电机等速正转时,机器人前进。后退:两个电机等速反转时,机器人后退。转弯:两个电机按一定比例不等速正反转时,机器人转弯。一、行走机构与动作

左右车轮电机驱动接口电机驱动接口(1)认识电机驱动板主控制板与电机驱动板硬件连接二、行走电机驱动电路

(2)主控制板电机驱动部分电路主控制板电机驱动部分原理分析10Pin电机驱动接口左右电机方向控制电路左右电机PWM调速控制电路二、行走电机驱动电路

(3)电机驱动原理分析电机驱动板原理分析电机驱动板电路原理总图二、行走电机驱动电路

(3)电机驱动原理分析电机驱动板原理分析5V电源用于光耦及数字芯片逻辑电平12V电源用于驱动继电器供电电源蓄电池24V电源二、行走电机驱动电路

(3)电机驱动原理分析电机驱动板原理分析左电机方向控制电路,右电机同理二、行走电机驱动电路电机驱动接口对照

(3)电机驱动原理分析电机驱动板原理分析左电机PWM输出MOS驱动电路,右电机同理二、行走电机驱动电路

(1)行走电机控制方法

根据前面电机驱动电路原理分析可知,行走电机控制主要分两部分:方向控制和转速控制方向控制:简单的开关量控制,控制继电器通断实现24V电机驱动电源极性的变化,从而达到控制电机旋转方向的目的。方向控制电路

转速控制:输出PWM脉宽调制信号,控制输出给电机的工作电压幅度,达到调速的目的。转速控制电路根据电机响应速度,转速控制PWM信号频率不需要过高,考虑CPU工作速度,这里我们选用100Hz频率PWM输出。三、行走电机控制

(2)STC单片机硬件资源

查阅STC12系列单片机数据手册,STC自带PCA/PWM硬件资源三、行走电机控制

STC12C5A60S2系列单片机PCA引脚,与原理图一致。(2)STC单片机硬件资源三、行走电机控制

(1)PWM初始化/*=======================================================================【函数原形】:voidpwm_init()【功能说明】:PCA时钟源控制寄存器计数初值设置========================================================================*/voidPwm_Init(){ CCON=0x00; CH=0; CL=0; CMOD=0x00;}

PWM初始化四、行走电机控制编程

(2)左右电机PWM输出编程/*=======================================================================【函数原形】:voidPWM0_Zkbset(u8zkb)【参数说明】:zkb为占空比设置形参0-100%========================================================================*/voidPWM0_Zkbset(u8zkb)//zkb为占空比设置形参{ CCAP0H=CCAP0L=((u16)zkb*256)/100; CCAPM0=0X42;//8位PWM输出,无中断

PCA_PWM0=0x00;}voidPWM1_Zkbset(u8zkb)//zkb为占空比设置形参{ CCAP1H=CCAP1L=((u16)zkb*256)/100; CCAPM1=0X42;//8位PWM输出,无中断

PCA_PWM1=0x00;}左右电机占空比设置四、行走电机控制编程

(3)电机控制头文件编程Moto_Ctl.h头文件说明#ifndef__MOTO_CTL_H#define__MOTO_CTL_H#defineMOTOL1//左电机#defineMOTOR2//右电机#defineMOTORL3 //左右一起动作//代表电机正转#defineMOTOFWD'f'//代表电机反转#defineMOTOBWD'b'sbitDIR_0=P1^2;//PWM0的正反转控制位,1代表正sbitDIR_1=P1^5;//PWM1的正反转控制位,1代表正//函数声明externvoidPwm_Init();externvoidPWM0_Zkbset(u8zkb);externvoidPWM1_Zkbset(u8zkb);externvoidMoto_start(u8m,u8dir,u8zkb);externvoidMoto_stop(u8m);#endif四、行走电机控制编程

(4)左右电机启动编程/*========================================================================【函数原形】:voidMoto_Ctl(u8m,u8dir,u8zkb)【参数说明】:m电机,dir方向,zkb占空比========================================================================*/voidMoto_start(u8m,u8dir,u8zkb){switch(m){caseMOTOR:if(dir==MOTOFWD){CR=1;PWM0_Zkbset(zkb);DIR_0=1;}elseif(dir==MOTOBWD){CR=1;PWM0_Zkbset(zkb);DIR_0=0;}break;caseMOTOL:if(dir==MOTOFWD){CR=1;PWM1_Zkbset(zkb);DIR_1=1;}elseif(dir==MOTOBWD){CR=1;PWM1_Zkbset(zkb);DIR_1=0;}break;}}左右电机启动四、行走电机控制编程

(5)左右电机停止编程/*====================================================【函数原形】:voidMoto_stop(u8m)【参数说明】:m:选择电机

====================================================*/voidMoto_stop(u8m){switch(m){caseMOTOR:/*CR=0;*/PWM0_Zkbset(0);break;caseMOTOL:/*CR=0;*/PWM1_Zkbset(0);break;caseMOTORL:CR=0;PWM0_Zkbset(0);DIR_0=0;PWM1_Zkbset(0);DIR_1=0;break;}}左右电机停止四、行走电机控制编程

(6)电机测试主程序编程voidmain(){

Pwm_Init(); //PWM的初始化设置

while(1)

{ Moto_start(MOTOR,MOTOFWD,80);//右电机80%占空比向前运动2秒 delay_ms(2000); Moto_start(MOTOR,MOTOBWD,80);//右电机80%占空比向后运动2秒 delay_ms(2000); Moto_start(MOTOL,MOTOFWD,80);//左电机8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论