- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多舵机控制在仿人机器人上的应用
导语:?舵机控制器是机器人的重要部件。采用一种新颖的利用单片机产生多路控制舵机用PWM的方法,利用单片机内部定时器,分时复用技术,在不增加任何硬件电路的前提下,用单片机实现多达24路PWM输出。 北京科技大学信息工程学院 梁锋 王志良 解仑 徐文学舵机控制器是机器人的重要部件。采用一种新颖的利用单片机产生多路控制舵机用PWM的方法,利用单片机内部定时器,分时复用技术,在不增加任何硬件电路的前提下,用单片机实现多达24路PWM输出。该方法取代了传统的使用分立元件产生PWM波的方法,大大减少了分立元器件数目及电路连线,改善了系统可靠性,提高了控制精度,并成功用在17自由度仿人机器人的控制系统中。
1 前言
小型仿人机器人由于控制结构简单,扩展性好,在仿人机器人研究和其他领域正在得到广泛的重视和应用。舵机是小型仿人机器人常用的输出执行机构。它接收一定的控制信号,输出相应的角度。
2 舵机的构造和控制方法
从图1可以看出,舵机主要是由外壳、一个小型直流电机、一组减速齿轮、一个用于检测转角位置的检测电位器和一块控制电路板组成。其中,高速转动的直流电动机提供了原始动力,经过减速齿轮组减速后,通过输出轴对外提供转距,齿轮组的减速比越大,舵机的输出力矩也越大。 标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源,电压通常介于4~7.2 V,控制线的输入是一个宽度可调的周期性方波脉冲信号。当方波的脉冲宽度改变时,舵机的角度发生改变,角度变化与脉冲宽度的变化成正比。机器人用的舵机型号是GM995,其输出轴转角与输入信号的脉冲宽度之间的关系可用图3来表示。
舵机标称方波脉冲信号的周期为20ms,事实上舵机角度控制对信号的周期要求很宽松18~20ms均可,实验中发现,在周期为40ms时舵机仍然能够稳定工作。
图1 舵机的内部结构图2 舵机接口图3 GM995舵机输出转角与输入信号脉冲宽度的关系图4 舵机控制原理3 舵机控制器的设计
舵机的控制信号实质是一个脉冲宽度调制信号(PWM)。可由FPGA、模拟电路或单片机来产生。采用FPGA或CPLD产生PWM波已经在很多重要的场合得到应用,依靠FPGA或CPLD特有的并行处理能力和大量的I/O接口,可以同时控制几十甚至上百个舵机同时工作,这种方法可靠、控制精度高,但是FPGA/CPLD用于产生PWM波时,并不具备事务处理能力,实际中还需要MCU协同工作,所以成本较高,适合于重要场合。用模拟电路实现较复杂,不适合多路输出,同时产生的脉冲频率和宽度往往不是很准确,很难做到对舵机的精确控制。由于单片机具有性能稳定、编程灵活、精度较高、价格低廉等特点,一般采用单片机作为舵机控制器。
最直接的方法就是用单片机本身所带的PWM口产生波形,但该方法受到MCU内部资源的限制,仅能实现2~6路PWM的输出,不适合需要空控制多路舵机的场合。文献《机器人的创意设计与实践》给出一种利用555振荡器产生的脉冲信号进行计数来产生PWM信号的方法。文献《基于AT89C2051的多路舵机控制器设计》给出一种利用定时器中断来产生PWM波信号的方法。文献《用单片机产程7路舵机控制PWM波的方法》分时复用的思想,用单片机产生了7路舵机控制PWM信号,其控制脉冲的周期为14590,控制脉宽为1200~1800,将一个周期均匀划分为7份,在每一个时段控制其中一路输出。缺点占用MCU的许多计算时间,优点是换了控制的高精度。
3.1 舵机控制器硬件电路设计
本文综合以上方案,采用分时复用技术,将一个PWM信号周期(20ms)分成8个时段,每一个时段并行产生3路PWM信号,则一共可以产生24路PWM信号,并且在以PIC16F877A单片机为核心控制器,晶振频率为20M的条件下,所产生的PWM信号控制舵机的最大误差<1deg;。
图4为舵机控制器的原理图。该系统是一个典型的集中式控制方式,单片机作为控制的核心部分,完成与上位机通讯,实现对机器人的智能控制;通过IIC总线与EEPROM(24C512)进行数据存取操作实现读写仿人机器人的行为数据;产生24路PWM信号控制舵机;检测机器人的电池电压以及通过LED显示机器人的工作状态。
需要注意的是,舵机在工作的时候会吸入较大电流,多路舵机同时工作时对电源电压造成的波动很大,而舵机的信号电平最好是不要抖动的,因此图4中采用稳压电路对电源Vs进行稳压,否则,实验中发现个别舵机偶尔会产生振荡。
3.2 实现多路PWM信号及舵机调速原理
本文以MICROCHIP公司生产的增强型RISC内载Flash的高性能8位单片机PIC1
文档评论(0)