总线伺服舵机实际上可以理解为数字舵机的衍生品,数字舵机与模拟舵机相比而言是控制系统设计上的颠覆,而总线伺服舵机对于舵机而言则是在功能和运用上的颠覆。舵机的运用方式实际上只能发挥出总线伺服舵机非常小的一部分功能。
- 中文名
- 总线伺服舵机
- 类 型
- 电话
- 定 义
- 数字舵机的衍生品
- 特 点
- 设置各种保护、功能参数
abel-module="para" style="font-size: 14px; word-wrap: break-word; color: rgb(51, 51, 51); margin-bottom: 15px; text-indent: 2em; line-height: 24px; zoom: 1; font-family: arial, 宋体, sans-serif; background-color: rgb(255, 255, 255);">总线伺服舵机。我们先来看一下我们现在使用舵机和数字舵机时遇见的问题。
1、我们利用舵机(不论数字还是模拟)搭建一个
仿人机器人,用了 20 个自由度,用了20 个舵机。每根舵机都要接到控制卡上,有的线还需要延长,所有的线加起来有超过 30 根,像团海草一样把
机器人整个身体缠了个遍,机器人在走动的时候突然发现舵机线被拉松了,机器人一个趔趄把脖子都摔断了。控制卡上需要做出 20 个
PWM 信号接口(我们一直在为这个技术问题发愁,现在或许好一点),那可是长长的一排插针啊。健忘的我还很容易忘记哪个插针对应哪个舵机,好不容易接上后,一通电,机器人腿转到背后去了,一排查发现腿关节接到肩关节了。当我们需要给机器人加些
传感器时,突然发现 IO 口都被用掉了,定时器不够用了,真是噩梦。
2、舵机的每一个舵机的参数不一定一样,不时还会出现中位偏差比较大的,好不容易装出机器人来后发现舵机的中位不一致,和理论计算得出来的机器人步态不相匹配。这回麻烦大了,需要对每一个舵机设置中位,在发送舵机
控制信号的时候还需要对每一个舵机都单独加入这个
修正值,而不能统一调用某一个通用的 PWM 产生函数,一个步态就是 20 行代码。当然,程序员都是勤劳和严谨的,并不觉得这是辛苦的事情。而有些人会买可以通过编程器调节和设置中位的舵机,当然,可能会很贵。
3、机器人步态的编写是件非常麻烦的事,我们在编写步态的时候给舵机的初始值基本上都是有偏差的,比如我想肩关节转到 180 度位置,我给的是 255 的控制值,但由于舵机个体差异的问题,这个值已经让舵机处于堵转状态。过一会之后,我们发现机器人一只胳膊不能用了,可怜的机器人啊,还不知道到底发生了什么事。检查的时候我们发现机器人肩关节堵转时间过久,导致电机过热,让
舵机外壳融化,然后导致减速齿轮箱错位,舵机就失效了,机器人的一只胳膊就残废了。
第一点我们可以这么理解,现在的舵机都是并联控制的,线都需要接到控制板上,我们可以幻想,如果舵机可以串联就好了。脚腕关键的舵机串到膝关节,一直串到髋关节,最后一根线直接接到控制卡上,甚至可以把所有的舵机都串进去。我们可以惊喜的发现,只需要1 接口,最多 4 个接口就可以搞定 20 个
舵机了。
第二点的根源在于舵机自己不能存储中位修正值,修正值需要我们发控制脉冲的时候补进去。我们可以想象,如果我告诉舵机:您好,放松,我要修正您的头部位置,它有点歪了。然后舵机就放松下来,我们把它的头摆正,然后告诉它:这是您头部的正确方向,您以后需要以这位置为正前方,然后舵机就把这个位置记下来了,当我告诉它转 60 度它就以这个位置为初始位置转 60 度,不多不少。
第三点可以理解为机器人缺少神经系统,根本不知道疼痛。如果各个关
节能给控制卡提供力矩、
电流、
电压、温度、转角等反馈信息,那么机器人缺胳膊少腿的问题都可以解决。这么说好像有点神奇了。
其实一点不神奇,自从总线伺服舵机出现后,这些幻想都可以瞬间变成现实。总线伺服舵机是针对机器人运用而设计的,所以也称为机器人
舵机。
机器人舵机简单的说是具有总线功能,能够串联使用,控制卡通过一个
总线接口可以
控制总线上的所有舵机。机器人舵机可以根据控制器的指令反馈力矩、电流、温度、角度等信息,能够更准确地到达指定角度,能够更快地响应控制命令。机器人舵机能够设置各种保护、功能参数,方便不同场合的使用要求。