下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、避障机器人电机运动程序设计与调试实训目的1. 了解直流电机的相关知识;2. 理解基于机器人项目驱动的嵌入式教学实训平台中直流电机的工作原理。实训设备1. 硬件:HOST机一台、基于机器人项目驱动的嵌入式教学实训平台一套2. 软件:Siliconlab IDE开发环境、调试器。实训原理通过脉宽调制来调整转动速度。twT PWM 是“ Pulse-Width Modulation ”的缩写,意为“脉冲宽度调制”。PWM是一项功能强大的技术,是一种能够对模拟信号电平进行数字化编码的方法。C8051F360系列的PWM模块功能非常丰富,可以产生很多种不同类型的数字脉冲信号,以满足不同的需要。PWM信号
2、通过H桥电路可以实现电机的正、反转以及调整电机的转动速度。H桥驱动电路工作原理如图所示,H桥式电机驱动电路包括 4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。 根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。因此,要控制电机的正、反转只需要控制Q1、Q2、 Q3、Q4的通断,控制它们同样也可以实现调速。控制Q1和Q4导通,正向电流流过电机控制Q2和Q3导通,反向电流流过电机8位脉宽调制器方式PWM输出的频率取决于PCA计数器/定时器的时基。使用模块的捕捉 /比较寄存器PCAOCPLn改变PWM输出信号的占空比。当 PCA计数器/定时器的
3、低字节(PCA0L )与PCAOCPLn中的值相等时,CEXn引脚上的输出被置1;当PCA0L中的计数值溢出时, CEXn 输出被复位。当计数器/定时器的低字节PCA0L溢出时(从OxFF到0x00),保存在PCAOCPHn 中的值被自动装入到 PCAOCPLn。8位PWM方式的占空比由下式方程给出。占空比 _(256 - PCAOCPHN256机器人主控器对电机的控制使用12路输入/输出口,可控制6个直流电机。PWM实训的总体流程图电机驱动所使用的函数有:Motornit(void),此函数功能是对 12个I/O 口初始化,以及定时器初始化。使这些I/O口设置为PWM状态或输出状态。Dc_M
4、otor( un sig ned long PwmPo int, un sig ned char Director, un sig ned long Speed) ,此函数 的功能是设置直流电机的参数。函数的第一个参数表示直流电机的位置信息(16);第二个参数是直流电机的转动状态信息(0:正转;1 :停止;2:反转);第三个参数是直流电机转动速度(0100 )。void PWMnit() ,PWM 初始化。void PWM_Port_Init() ,PWM 端口配置。void DC_Motor(uc motor_num,uc direction, uc motor_speed),改变 PWM
5、占空比。四、实训步骤1、 正确连接PC机、调试器和51实验平台;2、打开电源,打开 Siliconlab IDE ;3、打开工程,编译、链接、进入调试、运行程序,观察小车的运动状态;#include"pwm h.h"* 茶 未*/! 函数名: void PWM_Init()/! 函数功能: PWM 初始化*/void PWM_Init()/ 采用系统时钟/8 PWM 模式,比较器功能使能, PWM 使能unsigned char SFRPAGE_save = SFRPAGE; PWM_Port_Init(); SFRPAGE = CONFIG_PAGE; PCA0MD =
6、0x08; PCA0CPM0 = 0x42; PCA0CPM1 = 0x42; PCA0CPM2 = 0x42; PCA0CPM3 = 0x42; PCA0CPM4 = 0x42; PCA0CPM5 = 0x42; PCA0CPH0 = 0xFE; PCA0CPH1 = 0xFE; PCA0CPH2 = 0xFE; PCA0CPH3 = 0xFE; PCA0CPH4 = 0xFE; PCA0CPH5 = 0xFE;CR = 1;/允许 PCA 计数,定时SFRPAGE = SFRPAGE_save; DC_Motor(1,1,0); DC_Motor(2,1,0); DC_Motor(3,1,
7、0);DC_Motor(4,1,0);DC_Motor(5,1,0); /* /! 电机控制线连接状况:/! CPP0 P0.6 CPP1 P0.7 CPP2 P1.0/! CPP4 P1.2*/ void PWM_Port_Init()unsigned char SFRPAGE_save = SFRPAGE; SFRPAGE = CONFIG_PAGE;XBR1 |= 0x46; / 使能交叉开关, CEX0-3 连接到管脚 P0SKIP |= 0x0F;P0MDOUT |= 0xC0;P1MDOUT |= 0x7F;P3MDOUT |= 0x60;SFRPAGE = SFRPAGE_sav
8、e;/! 函数名: void DC_Motor(uc motor_num,uc direction, uc motor_speed)/! 函数功能:改变 PWM 占空比 */ voidDC_Motor(unsigned char motor_num,unsigned char direction, unsigned char motor_speed)/*unsigned char SFRPAGE_save = SFRPAGE; SFRPAGE = CONFIG_PAGE; if(!motor_speed)switch(motor_num)case 1:PCA0CPH0 = 255; break
9、;case 2:PCA0CPH1 = 255; break;case 3:PCA0CPH2 = 255; break;case 4:PCA0CPH3 = 255; break;case 5:PCA0CPH4 = 255; break;case 6:PCA0CPH5 = 255; break;default: break; elseswitch(motor_num)case 1:PCA0CPH0 = 255 - (motor_speed+116); break;case 2:PCA0CPH1 = 255 - (motor_speed+116); break;case 3:PCA0CPH2 = 2
10、55 - (motor_speed+116); break;case 4:PCA0CPH3 = 255 - (motor_speed+116); break;case 5:PCA0CPH4 = 255 - (motor_speed+116); break;case 6:PCA0CPH5 = 255 - (motor_speed+116); break;default: break; switch(direction) case 0:if(motor_num=1) P3 &= 0x20; /P1.3 = 0, 即 DIR0 置 0 if(motor_num=2) P1 &= 0x
11、10; /P1.4 = 0, 即 DIR1 置 0 if(motor_num=3) P1 &= 0x20; /P1.5 = 0, 即 DIR2 置 0 if(motor_num=4) P1 &= 0x40; /P1.6 = 0, 即 DIR3 置 0 if(motor_num=5) P3 &= 0x40; /P3.6 = 0, 即 DIR4 置 0 break;case 1: if(motor_num=1) PCA0CPH0 = 255; if(motor_num=2) PCA0CPH1 = 255; if(motor_num=3) PCA0CPH2 = 255; if
12、(motor_num=4) PCA0CPH3 = 255; if(motor_num=5) PCA0CPH4 = 255; if(motor_num=6) PCA0CPH5 = 255; break;SFRPAGE = SFRPAGE_save;void main()PCA0MD &= 0x40;OSCICN |= 0x83;/选择内部时钟,四分频RSTSRC = 0x04;/丢失时钟检测PWM_Init();while(1)DC_Motor(1,2,50);DC_Motor(2,2,50);DC_Motor(3,2,50);DC_Motor(4,2,50);DC_Motor(5,2,50);DC_Motor(6,2,50);case 2:if(motor_num=1) P3 |= 0x20;/P3.5 =1, 即DIR0置
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 少儿培训机构家长须知手册
- 2026届江苏南京盐城一模政治试题及答案
- 《必背60题》行政管理26届考研复试高频面试题包含详细解答
- 初中数学浙教版八年级上册《2.3等腰三角形的性质定理(1)》练习题
- 污水处理厂化验废液细则
- 针织厂加班管理制度
- 针织厂食堂卫生制度
- 某针织厂年会管理制度
- 2026年AAOS临床指南:老年髋部骨折的16条诊疗建议
- 2026年XX小学生体质健康测试数据分析报告
- 甲状旁腺护理查房课件
- DB35-T 2142-2023 在用货车油箱柴油采样规程
- 固定式真空绝热压力容器定期检验
- GB 18279-2023医疗保健产品灭菌环氧乙烷医疗器械灭菌过程的开发、确认和常规控制要求
- 新能源汽车概论(中职新能源汽车专业)PPT完整全套教学课件
- 天津高考英语词汇3500
- 知木林乡知木林村传统村落环境保护项目环评报告
- 铁路建设项目甲供甲控物资设备目录
- 平衡皮肤生态环境2对于肌肤护理起到课件
- 茶与茶文化-红茶课件
- 《汽车电路识图》课程标准
评论
0/150
提交评论