DIY机器人必备基础认知2-舵机的认知-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 22587|回复: 5

DIY机器人必备基础认知2-舵机的认知

[复制链接]
发表于 2018-3-9 22:33 | 显示全部楼层 |阅读模式
本帖最后由 yanghaoxin314 于 2018-3-9 22:33 编辑



  

isobot机器人玩具和不同大小的舵机





一款机器人专用舵机和其他航模舵机

     舵机构成

舵机主要由舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等部件组成。



普通舵机拆解图



机器人专用舵机拆解图



工作原理

控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。

    

航模舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度现在的舵机有多种角度范围,采用磁传感器的舵机具有360度可控角度),呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。给舵机一个位置信号,电机就要转动,然后带动齿轮组,把电位器转到对应角度,然后电机停止,相反当有外界力量干扰这个角度,电位器的位置就会改变,舵机内部检测电路就会再让电机重新转动,带动齿轮组把电位器转到信号指令位置,然后电机再停止,但电路检测一直检测电位器没到指定位置,就会直接让电机转动,这样噪声就产生,而且外界干扰力量越大,噪声越大,舵机内部电机需要的电流也越大,如果电流大于舵机内部电板的额定电流,电板就烧了.

舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度(现在的舵机有多种角度范围,采用磁传感器的舵机具有360度可控角度),适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。





舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。记住红色为电源(正极),黑色为地线(负极),一般不会搞错。

厂商所提供的舵机规格资料,都会包含外形尺寸(mm)、扭力(kg/cm)、速度(秒/60°)、测试电压(V)及重量(g)等基本资料。扭力的单位是 kg/cm,意思是在摆臂长度 1 公分处,能吊起几公斤重的物体。这就是力臂的观念,因此摆臂长度愈长,则扭力愈小。速度的单位是 sec/60°,意思是舵机转动 60°所需要的时间。 电压会直接影响舵机的性能,例如 Futaba S-9001 在 4.8V 时扭力为 3.9kg/cm、速度为 0.22 秒/60°,在 6.0V 时扭力为 5.2kg/cm、速度为 0.18 秒/60° 。若无特别注明,JR 的舵机都是以 4.8V 为测试电压,Futaba则是以 6.0V 作为测试电压。速度快、扭力大的舵机,除了价格贵,还会伴随著高耗电的特点。因此使用高级的舵机时,务必搭配高品质、高容量的电池,能提供稳定且充裕的电流,才可发挥舵机应有的性能。


舵机分类


航模舵机

航模用的舵机,也包括车模,船模等模型,舵机外壳不适用机器人


机器人舵机

机器人使用的舵机,一般厂家生成的内部构成与航模舵机并无不同,只是把外壳改为方便机器人肢体组装的样式,但其实机器人舵机不应该只是外壳的区别,在内部零件选择,软件调整参数上也要根据机器人对舵机的需求来适配。


模拟舵机

内部的信号处理器件是模拟芯片 ,控制方式 PWM信号,刷新频率低


数字(数码)舵机

内部的信号处理器件是数字芯片,可编程芯片,控制方式 PWM信号,刷新频率低,但通常在负载时噪声较大,电磁干扰比较严重


总线(串口)舵机

内部的信号处理器件是可编程芯片,控制方式 TTL,RS485等,具有用户自定义调参,回读角度,温度,电流,电压等功能



数码舵机常见问题原理分析及解决


一、数码舵机与模拟舵机的区别
        传统模拟舵机和数字比例舵机(或称之为标准舵机)的电子电路中无MCU微控制器,一般都称之为模拟舵机。老式模拟舵机由功率运算放大器等接成惠斯登电桥,根据接收到模拟电压控制指令和机械连动位置传感器(电位器)反馈电压之间比较产生的差分电压,驱动有刷直流电机伺服电机正/反运转到指定位置。数字比例舵机是模拟舵机最好的类型,由直流伺服电机、直流伺服电机控制器集成电路(IC),减速齿轮组和反馈电位器组成,它由直流伺服电机控制芯片直接接收PWM(脉冲方波,一般周期为20ms,脉宽1~2 ms,脉宽1 ms为上限位置,1.5ms为中位,2ms为下限位置)形式的控制驱动信号,迅速驱动电机执行位置输出,直至直流伺服电机控制芯片检测到位置输出连动电位器送来的反馈电压与PWM控制驱动信号的平均有效电压相等,停止电机,完成位置输出。
       数码舵机电子电路中带MCU微控制器故俗称为数码舵机,数码舵机凭借比之模拟舵机具有反应速度更快,无反应区范围小,定位精度高,抗干扰能力强等优势已逐渐取代模拟舵机在机器人、航模中得到广泛应用。
      数码舵机设计方案一般有两种:一种是MCU+直流伺服电机+直流伺服电机控制器集成电路(IC)+减速齿轮组+反馈电位器的方案,以下称为方案1,另一种是MCU+直流伺服电机+减速齿轮组+反馈电位器的方案,以下称为方案2。市面上加装数码驱动板把模拟舵机改数码舵机属方案1。


二、舵机电机调速原理及如何加快电机速度
       常见舵机电机一般都为永磁直流电动机,如直流有刷空心杯电机。直流电动机有线形的转速-转矩特性和转矩-电流特性,可控性好,驱动和控制电路简单,驱动控制有电流控制模式和电压控制两种模式。舵机电机控制实行的是电压控制模式,即转速与所施加电压成正比,驱动是由四个功率开关组成H桥电路的双极性驱动方式,运用脉冲宽度调制(PWM)技术调节供给直流电动机的电压大小和极性,实现对电动机的速度和旋转方向(正/反转)的控制。电机的速度取决于施加到在电机平均电压大小,即取决于PWM驱动波形占空比(占空比为脉宽/周期的百分比)的大小,加大占空比,电机加速,减少占空比电机减速。
       所以要加快电机速度:1、加大电机工作电压;2、降低电机主回路阻值,加大电流;二者在舵机设计中要实现,均涉及在满足负载转矩要求情况下重新选择舵机电机。


三、数码舵机的反应速度为何比模拟舵机快
       很多模友错误以为:“数码舵机的PWM驱动频率300Hz比模拟舵机的50Hz高6倍,则舵机电机转速快6倍,所以数码舵机的反应速度就比模拟舵机快6倍” 。这里请大家注意占空比的概念,脉宽为每周期有效电平时间,占空比为脉宽/周期的百分比,所以大小与频率无关。占空比决定施加在电机上的电压,在负载转矩不变时,就决定电机转速,与PWM的频率无关。
       模拟舵机是直流伺服电机控制器芯片一般只能接收50Hz频率(周期20ms)~300Hz左右的PWM外部控制信号,太高的频率就无法正常工作了。若PWM外部控制信号为50Hz,则直流伺服电机控制器芯片获得位置信息的分辨时间就是20ms,比较PWM控制信号正比的电压与反馈电位器电压得出差值,该差值经脉宽扩展(占空比改变,改变大小正比于差值)后驱动电机动作,也就是说由于受PWM外部控制信号频率限制,最快20ms才能对舵机摇臂位置做新的调整。
       数码舵机通过MCU可以接收比50Hz频率(周期20ms)快得多的PWM外部控制信号,就可在更短的时间分辨出PWM外部控制信号的位置信息,计算出PWM信号占空比正比的电压与反馈电位器电压的差值,去驱动电机动作,做舵机摇臂位置最新调整。
       结论:不管是模拟还是数码舵机,在负载转矩不变时,电机转速取决于驱动信号占空比大小而与频率无关。数码舵机可接收更高频率的PWM外部控制信号,可在更短的周期时间后获得位置信息,对舵机摇臂位置做最新调整。所以说数码舵机的反应速度比模拟舵机快,而不是驱动电机转速比模拟舵机快。


四、数码舵机的无反应区范围为何比模拟舵机小
       根据上述对模拟舵机的分析可知模拟舵机约20ms才能做一次新调整。而数码舵机以更高频率的PWM驱动电机。PWM频率的加快使电机的启动/停止,加/减速更柔和,更平滑,更有效的为电机提供启动所需的转矩。就象是汽车获得了更小的油门控制区间,则启动/停止,加/减速性能更好。所以数码舵机的无反应区比模拟舵机小。


五、模拟舵机加装数码舵机驱动板并未提升反应速度
       根据以上分析可知,模拟舵机加装数码舵机驱动板,要提升反应速度,PMW外部控制信号(如陀螺仪送来的尾舵机信号)的频率必须加快,如果还是50Hz,那舵机反应速度当然就没提升了。


六、舵机控制死区、滞环、定位精度、输入信号分辨率、回中性能的认识
       每一个闭环控制系统由于信号的振荡等原因,输入信号和反馈信号不可能完全相等,这就涉及到控制死区和滞环的问题,系统无法辨别输入信号和反馈信号的差异范围就是控制死区范围。舵机自动控制系统由于信号震荡、机械精度等原因造成控制系统在控制死区范围外的小范围老是做调整,为使舵机在小范围内不对震荡做调整,这就需要引入滞环的作用了。滞环比控制死区大,一般控制死区范围为±0.4%,滞环可设置为±2%,输入信号和反馈信号的差值在滞环内电机不动作,输入信号和反馈信号的差值进入滞环,电机开始制动-停止。定位精度取决于舵机系统的整体精度:如控制死区、机械精度、反馈电位器精度、输入信号分辨率。输入信号分辨率指舵机系统对输入信号最小分辨范围,数码舵机输入信号分辨率大大优于模拟舵机。回中性能取决于滞环和定位精度。


七、舵机为何会老发出吱吱的响声
       舵机老发出吱吱的来回定位调整响声,是由于有的舵机无滞环调节功能,控制死区范围调得小,只要输入信号和反馈信号老是波动,它们的差值超出控制死区,舵机就发出信号驱动电机。另没有滞环调节功能,如果舵机齿轮组机械精度差,齿虚位大,带动反馈电位器的旋转步,步范围就已超出控制死区范围,那舵机必将调整不停,吱吱不停。


八、为何有的舵机炸机易烧电路板
        有的舵机选用的功率器件电流大同时系统中设计有或芯片自带有过流保护功能,能检测出堵转过流及短路状态迅速停止电机驱动信号。还有可在电机回路接压敏电阻防止瞬间过压及在功率器件前端设计有吸收电容。此类舵机炸机堵转不容易烧电路板和电机。与舵机是金属齿还是塑料齿并无绝对关系。


九、舵机为何抖舵
        控制死区敏感,输入信号和反馈信号因各种原因波动,差值超出范围,舵臂动,所以抖舵。


十一、舵机为何抖舵
控制死区敏感,输入信号和反馈信号因各种原因波动,差值超出范围,舵臂动,所以抖舵。



舵机选购

市场上的舵机有塑料齿、金属齿、小尺寸、标准尺寸、大尺寸,另外还有薄的标准尺寸舵机,及低重心的型号。小舵机一般称为微型舵机,扭力都比较小,市面上2.5g,3.7g,4.4g,7g,9g等舵机指的是舵机的重量分别是多少克,体积和扭力也是逐渐增大。微型舵机内部多数都是塑料齿,9g舵机有金属齿的型号,扭力也比塑料齿的要大些。futaba S3003,辉盛 MG995是标准舵机,体积差不多,但前者是塑料齿,后者金属齿,两者标称的扭力也差很多。春天sr403p,Dynamixel AX-12+是机器人专用舵机,不同的是前者是国产,后者是韩国产,两者都是金属齿标称扭力13kg以上,但前者只是改改样子的模拟舵机,后者则是RS485串口通信,具有位置反馈,而且还具有速度反馈与温度反馈功能的数字舵机,两者在性能和价格上相差很大。

除了体积,外形和扭力的不同选择,舵机的反应速度和虚位也要考虑,一般舵机的标称反应速度常见0.22 秒/60°,0.18 秒/60°,好些的舵机有0.12 秒/60°等的,数值小反应就快。

舵机虚位产生和舵机的扭力和制造工艺有关,扭力大相应的负载范围也大,虚位就相应小,普通舵机新的时候虚位一般比较小,也就是半个齿的角度,这个应该是机械加工的精度问题,好的舵机就比较小。但使用了一段时间以后,尤其是大扭距的舵机,虚位就越来越大了,这个应该不是齿轮磨损造成的,解剖了几个舵机,发现都是舵机盖的塑料材质不够硬,齿轮的的轴都是直接装在这个塑料盖上的,时间一长,这几个孔都被扩大成椭圆形了。一扳摇臂,齿轮的轴就会左右晃动,虚位就产生了。

现在市面上的舵机鱼龙混杂,总体来说仿品不如正品,便宜的不如贵的,塑料齿的不如金属齿的,老的不如新的,国产不如进口等等,大家不必过于追求极致,根据自身购买力选择够用的就行。


-2018年3月9日 添加改进部分新内容

发表于 2018-7-15 12:58 | 显示全部楼层
学习了,谢谢分享
发表于 2018-9-15 12:32 | 显示全部楼层
学习了,谢谢楼主分享
发表于 2019-10-11 19:26 | 显示全部楼层
你好,请问下你对舵机控制的PID算法有了解吗?可以请教下吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 10:46 , Processed in 0.099649 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表