什么是舵机

  舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度。)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。

  舵机的结构

  舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元。能够利用简单的输入信号比较精确的转动给定角度的电机系统。

  舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度。这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文Servo。

  舵机的主体结构如下图所示,主要有几个部分:外壳、减速齿轮组、电机、电位器、控制电路。简单的工作原理是控制电路接收信号源的控制信号,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。

  舵机的外壳一般是塑料的,特殊的舵机可能会有金属铝合金外壳。金属外壳能够提供更好的散热,可以让舵机内的电机运行在更高功率下,以提供更高的扭矩输出。金属外壳也可以提供更牢固的固定位置。

  

  齿轮箱有塑料齿轮、混合齿轮、金属齿轮的差别。塑料齿轮成本底,噪音小,但强度较低;金属齿轮强度高,但成本高,在装配精度一般的情况下会有很大的噪音。小扭矩舵机、微舵、扭矩大但功率密度小的舵机一般都用塑料齿轮,如Futaba 3003,辉盛的9g微舵。金属齿轮一般用于功率密度较高的舵机上,比如辉盛的995舵机,在和3003一样体积的情况下却能提供13KG的扭矩。Hitec甚至用钛合金作为齿轮材料,其高强度能保证3003大小的舵机能提供20几公斤的扭矩。混合齿轮在金属齿轮和塑料齿轮间做了折中,在电机输出齿轮上扭矩一般不大,用塑料齿轮。

  舵机的原理及控制

  1

  模拟舵机及其控制原理

  舵机是一个微型的伺服控制系统,具体的控制原理可以用下图表示:

  工作原理是控制电路接收信号源的控制脉冲,并驱动电机转动;齿轮组将电机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍数,然后输出;电位器和齿轮组的末级一起转动,测量舵机轴转动角度;电路板检测并根据电位器判断舵机转动角度,然后控制舵机转动到目标角度或保持在目标角度。

  模拟舵机需要一个外部控制器(遥控器的接收机)产生脉宽调制信号来告诉舵机转动角度,脉冲宽度是舵机控制器所需的编码信息。舵机的控制脉冲周期20ms,脉宽从0.5ms-2.5ms,分别对应-90度到+90度的位置。如下图所示:

  2

  数字舵机及其控制原理

  数字舵机从根本上颠覆了舵机的控制系统设计。数字和模拟舵机相比在两个方面有明显的优点。1、防抖。2、响应速度快。

  模拟舵机由于使用模拟器件搭建的控制电路,电路的反馈和位置伺服是基于电位器的比例调节方式。电位器由于线性度的影响,精度的影响,个体差异性的问题,会导致控制匹配不了比例电压,比如我期望得到2.5V的电压位置,但第一次得到的是2.3V,经过1个调节周期后,电位器转过的位置已经是2.6V了,这样控制电路就会给电机一个方向脉冲调节,电机往回转,又转过头,然后有向前调节,以至于出现不停的震荡,这就是我们所看到的抖舵现象。我们购买一批舵机会发现有的很好用,有的在空载的时候也会在抖动,有的是在加一定的负载后就开始抖动。

  我们不用装出机器人就可以预期一个事实,不停抖动的舵机装出来的仿人机器人是不可能走的很好的,用不停抖动的舵机装出来的机械臂是不可能写字的。可惜的是,现在的数字舵机还是很贵的,更别提用伺服直流电机+伺服驱动器+运动控制卡搭建的机器人系统了。

  模拟舵机的调节周期是20ms(看看模块卡的舵机程序),也就是它的反应时间是20ms。根据舵机的不同,假设我们估计舵机的速度是0.2s/60°,那么20ms舵机最快的时候转过0.6度才会进行调节,这就是关节在突然出现大负载的情况下,会被扭矩摆动0.6度,然后才纠正回来,我们的直观感觉就是这个舵机不“硬”我们掰动舵盘,可以掰动一个位置。

  数字舵机可以以很高的频率进行调节,这个周期和角度会变得非常小,并且有PID调节方式的存在,能够在以很适当的PID参数进行调节,能够让舵机有很高的响应速度,不会出现超调。

  3

  总线伺服舵机

  总线伺服舵机实际上可以理解为舵机的衍生品,数字舵机相比与模拟舵机而言是设计上的颠覆,而总线伺服单元对于舵机而言则是在功能和运用上的颠覆。舵机实际上只能发挥出总线伺服舵机非常微小的部分。

  那么什么是总线伺服舵机。我们先来看一下我们现在使用舵机和数字舵机时遇见的问题。

  1、我们利用舵机(不论数字还是模拟)搭建一个仿人机器人,用了20个自由度,用了20个舵机。每根舵机都要接到控制卡上,有的线还需要延长,所有的线加起来有超过30根,像团海草一样把机器人整个身体缠了个遍,机器人在走动的时候突然发现舵机线被拉松了,机器人一个趔趄把脖子都摔断了。控制卡上需要做出20个PWM信号接口(我们一直在为这个技术问题发愁,现在或许好一点),那可是长长的一排插针啊。健忘的我还很容易忘记哪个插针对应哪个舵机,好不容易接上后,一通电,机器人腿转到背后去了,一排查发现腿关节接到肩关节了。当我们需要给机器人加些传感器时候,突然发现,IO口都被用掉了,定时器不够用了,天啊,真是噩梦。

  2、舵机的每一个舵机的参数不一定一样,不时还会出现中位偏差比较大的,好不容易装出机器人来后发现舵机的中位不一致,和理论计算得出来的机器人步态不相匹配。这回麻烦大了,需要对每一个舵机设置中位,在发送舵机控制信号的时候还需要对每一个舵机都单独加入这个修正值,而不能统一调用某一个通用的PWM产生函数,天啊,一个步态就是20行代码啊。当然,程序员都是勤劳和严谨的,并不觉得这是辛苦的事情。而有些人会买可以通过编程器调节和设置中位的舵机,当然,可能会很贵。

  3、机器人步态的编写是件非常麻烦的事,我们在编写步态的时候给舵机的初始值基本上都是有偏差的,比如我想肩关节转到180度位置,我给的是255的控制值,但由于舵机个体差异的问题,这个值已经让舵机处于堵转状态。过一会之后,我们发现机器人一只胳膊不能用了,可怜的机器人啊,还不知道到底发生了什么事。时候检查发现机器人肩关节堵转时间过久,导致电机过热,让舵机外壳融化,然后导致减速齿轮箱错位,舵机就失效了,机器人的一只胳膊就残废了。

  第一点的原因我们可以理解为,现在的舵机都是并联控制的,线都是需要接到控制板上,我们可以幻想,如果舵机可以串联就好了。脚腕关键的舵机串到膝关节,一直串到髋关节,最后一根线直接接到控制卡上,甚至可以把所有的舵机都串进去。我们可以惊喜的发现,原来只需要999元就可以买到称心如意的镶钻手表哦,不好意思,离题了,我们同样可以惊喜的发现,只需要1根线,最多4根线就可以搞定20个舵机了,哎,世界真奇妙啊。

  第二点的原因是舵机自己不能存储中位修正值,修正值需要我们发控制脉冲的时候补进去。我们可以想象,如果我告诉舵机:你好,放松,我要修正你的头的位置,它有点歪了。然后舵机就放松下来,我们把它的头摆正,然后告诉它:这是你头部的正确方向,你以后需要以这位置为正前方,然后舵机就把这个位置记下来了,并且我告诉它转60度它就以这为初始位置转60多,不多不少。我是不是在YY?

  第三点原因是机器人没有神经系统,根本不知道疼痛。如果我们能给控制卡提供每一个关节的力矩、电流、电压、温度、转角,那么机器人缺胳膊少腿的问题都可以解决。呵呵,好像有点神奇了。

  其实一点不神奇,因为自从总线伺服单元出现后,这些幻想都可以瞬间变成现实。总线伺服舵机简单的说就是可以串联,并且接受数据信号,能够提供关节的力矩、电流、温度、角度等信息,能准确控制位置的运动单元,外形可以和舵机一模一样。我们用一个带串口给总线发送一条指令:舵机1,转20度;舵机2转30度,舵机3休息……直到理论上最后一个舵机。然后所有的舵机就会执行这条指令。

  舵机的种类

  舵机的形状和大小多的让人眼花缭乱,大致可以分为下面这几种(如图所示):

  

  最右边的是常见的标准舵机,中间两个小的是微型舵机,左边魁梧的那个是大扭力舵机。图上这几种舵机都是三线控制。

  制作机器人常用的舵机有下面几种,而且每种的固定方式也不同,如果从一个型号换成一个型号,整个机械结构都需要重新设计。

  第一种是MG995,优点是价格便宜,金属齿轮,耐用度也不错。缺点是扭力比较小,所以负载不能太大,如果做双足机器人之类的这款舵机不是很合适,因为腿部受力太大。做做普通的六足,或者机械手还是不错的。

  第二种是SR 403,这款舵机是网友xqi2因MG995做双足机器人抖动太厉害,摸索找到的,经过测试。制作双足机器人不错~~~至少不抖了。优点是扭力大,全金属齿轮,价格也还算便宜。缺点嘛。。。做工很山寨。。。其他缺点等待反馈。

  第三种就是传说中的数字舵机AX12+,这个是久经考验的机器人专用舵机。除了价格高,使用RS485串口通信(控制板就得换数字舵机专用控制板),其他都是优点。

  下图是一个普通模拟舵机的分解图,其组成部分主要有齿轮组、电机、电位器、电机控制板、壳体这几大部分。

  电机控制板主要是用来驱动电机和接受电位器反馈回来的信息。电机嘛,动力的来源了,这个不用太多解释。电位器这里的作用主要是通过其旋转后产生的电阻的变化,把信号发送回电机控制板,使其判断输出轴角度是否输出正确。齿轮组的作用主要是力量的放大,使小功率电机产生大扭矩。

  舵机底壳拆开后就可以看到,主要是电机与控制板

  控制板拿起来后下方是与控制板连接的电位器

  从顶部来看电机与电位器,与电机齿轮直接相连的为第一级放大齿轮。

  经过一级齿轮放大后,再经过二、三、四级放大齿轮,最后再通过输出轴输出。

  通过上面两图可以很清晰的看到,本舵机是4级齿轮放大机构,就是通过这么一层层的把小的力量放大,使得这么一个小小的电机能有15KG的扭力。

  看完了舵机的构造后咱么对舵机的控制系统进行详解。

  舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值,和频率。一般而言,舵机的基准信号都是周期为20ms,宽度为1.5ms。这个基准信号定义的位置为中间位置。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。最重要的一点是,不同舵机的最大转动角度可能不相同,但是其中间位置的脉冲宽度是一定的,那就是1.5ms。如下图:

  角度是由来自控制线的持续的脉冲所产生。这种控制方法叫做脉冲调制。脉冲的长短决定舵机转动多大角度。例如:1.5毫秒脉冲会到转动到中间位置(对于180°舵机来说,就是90°位置)。当控制系统发出指令,让舵机移动到某一位置,并让他保持这个角度,这时外力的影响不会让他角度产生变化,但是这个是由上限的,上限就是他的最大扭力。除非控制系统不停的发出脉冲稳定舵机的角度,舵机的角度不会一直不变。

  当舵机接收到一个小于1.5ms的脉冲,输出轴会以中间位置为标准,逆时针旋转一定角度。接收到的脉冲大于1.5ms情况相反。不同品牌,甚至同一品牌的不同舵机,都会有不同的最大值和最小值。一般而言,最小脉冲为1ms,最大脉冲为2ms。如下图:

  舵机控制板字面意思就是用于控制舵机的板子,就像驱动直流电机一样,机器人使用的舵机也需要专门驱动,通过舵机的认知篇我们了解到舵机的驱动方法是单片机输出特定的PWM信号,舵机接收到信号后经舵机内部电路检测对比然后驱动内部的小型直流电机带动减速齿轮组使舵机的输出轴转动到特定角度位置。所以想控制舵机就需要学会单片机的程序开发,这对一般的机器人爱好者来说难度挺大,特别是没有接触单片机的。而做一个仿生机器人一般都需要几个十几个舵机,控制多个舵机的程序则更加复杂,这是大多数机器人爱好者在制作机器人的过程中都要遇到的一个大问题。为了使大多数不会编写舵机控制程序的机器人爱好者能够轻松的控制舵机,高手们就专门开发了用于多路舵机控制的硬件模块供其他不会编写程序的爱好者使用。

  舵机控制板从硬件上来其实也就是一块单片机开发板,一片单片机加上一些外围电路,但由于开发者将多路舵机控制程序写入到单片机中,这个外表上看似普通的单片机开发板便有了不一样的价值,这就是软件开发的魅力所在。与许多技术一样,舵机控制板起源于国外,国外比较流行的就是开源的(SSC-32)32路舵机控制板,原理就是使用单片机的硬件PWM接口通过4个74HC595扩展成32路PWM输出,实现32路舵机控制。另一种方法就是通过单片机内部的定时器设置生成PWM,这样理论有多少I/O口就能产生多少路控制,但随着路数的增加控制精度就会下降,当然用高性能的单片机可以有效避免这个问题。

  舵机控制板还有个方便之处在于有一套与之相对应的PC调试软件,面向用户界面,使用户能够更直观的操控舵机位移,而且还能把调整出来的动作保存下来,形成连贯的动作组,这样便使得爱好者设计机器人步态的过程变得简单化,让爱好者更快的享受制作机器人的乐趣。

  简单来说,舵机控制板就是机器人的中枢神经,负责动作协调,另外的机器人主控就是大脑,负责处理外界信息,统一指挥,机器人扩展的传感器就是感官系统,负责接收外界信息。

  (新手必看)简单说一下舵机控制板是什么:舵机控制板字面意思就是具有控制舵机能力的电路板,是一种写好舵机驱动控制程序的单片机成品模块,主要功能就是驱动多路舵机,然后内部程序又写好了与外部设备进行通讯的串口协议,这样外部设备就能发送特定的指令给舵机控制板,间接的控制多路舵机。舵机控制板就是这样的功能,它只是机器人控制系统的一部分,把舵机驱动控制的程序分离出来单独做成了一个软硬件模块,如果做过智能小车那就好理解了,舵机控制板在仿生机器人中的作用跟电机驱动模块在智能小车里的作用是一样了,只不过前者看着要比后者高级些。脱机运行:字面意思就是能脱离电脑运行,有两个方法,一个是按照仿生机器人的制作思路,在机器人主控的程序里写入调试好的动作,主控检测外界信息来触发相应的动作发送给舵机控制板,这样就实现了脱机运行;另外一种就是把调好的动作组存到舵机控制板上的存储器中,然后还是用外部设备来发送单个动作组指令给舵机控制板,或者设置存储的某个动作组在每次重新上电后运行。这两种方法区别就是后者省去了前者在主控程序里复制粘贴动作指令这个步骤。但实际上动作组存储这个功能只是在机器人入门中有点作用,而且还是懒人专用,在后期的高阶学习中,机器人主控需要不断检测各种传感器数据,分析融合,实时生成动作发给舵机控制板来控制机器人姿态。舵机控制板上存储的动作组只是事先预设的,在需要固定动作套路的场合是有用的,在无规律判断场合就没用了。

伺服电机、舵机、步进电机的区别

  怎么去区分伺服电机、舵机、步进电机呢?电机种类有很多种,不同的电机的优点、缺点各不相同,因此用途也不同。这里简单的讲下伺服电机、舵机、步进电机的区别,尽量的让大家通熟易懂。

  其实伺服电机是这么一种电机,它主要用于比较精准的位置、速度或力矩输出。准确地说,伺服电机不是说一个电机,而是一个系统。所以仅仅一台电机都不能算是伺服电机,因为他们并不具备伺服电机的功能。伺服电机是一个电机系统,它包含电机、传感器和控制器。直流无刷电机可以是伺服电机里面的一部分,交流电机也可以是,但他们并不是伺服电机。作为一个系统,它可以有减速齿轮,也可以没有。

  那么舵机是什么呢?舵机是个俗称,是玩航模、船模的人起的。因为这种电机比较常用于舵面操纵。

  舵机,其实就是个低端的伺服电机系统,它也是最常见的伺服电机系统,因此英文叫做Servo,就是Servomotor的简称。它将PWM信号与滑动变阻器的电压相比对,通过硬件电路实现固定控制增益的位置控制。也就是说,它包含了电机、传感器和控制器,是一个完整的伺服电机(系统)。价格低廉、结构紧凑,但精度很低,位置镇定能力较差,能够满足很多低端需求。

  步进电机英文是stepper/step/stepping motor。主要是依靠定子线圈序列通电,顺次在不同的角度形成磁场,推拉定子旋转。

  步进电机的好处是,你可以省掉用于测量电机转角的传感器。因此在结构上和价格上有一定的优势。而且它的位置和速度控制相对简单。其缺点是,第一,与同等功率的电机相比载荷比较小,没有角度传感器的情况下不能输出大力矩。第二,功耗相对较大,要么全开,要么全关。所以要么接近满功耗,要么就不能出力。(具体原因和结构可以查阅相关资料,网上到处都是,并不难以理解,我这里就不冗述了)

  因此步进电机一般只用于载荷较小而且十分确定、位置精度要求并不非常高,对体积敏感或在较低价格想要做到较高可靠性的场合。最常见的就是光驱、扫描仪、复印机等等。当然,它和舵机一样,也受到没有能力自行搭建伺服电机系统的业余爱好者的喜爱,在一些业余项目上面用于替代完整的伺服电机系统。

  那么举个简单的例子。扫描仪(包括现在商务打印机里面的扫描仪)经常有一个动作,就是在真正扫描之前,扫描器要从滑轨一头先快速运动到另一头。其实那是系统在找位置零点。那里面用的是一个步进电机,它驱动扫描器运动。但是开始执行扫描任务时,系统并不知道那个扫描器的确切位置(因为没有位置传感器),所以它只能先驱动扫描器向滑轨另一边走。在滑轨的那个尽头,有一个触碰开关,一旦扫描器碰到它,就会产生电信号。这样系统就知道扫描器走到了尽头,这时候就确定了扫描器的位置,这样就可以开始扫描了。这个步进电机在执行完任务后会关闭(因为功耗不低),因此一旦有震动什么的,扫描器很容易移位。所以下一次步进电机上电以后,要重新执行一遍前面说的那个动作去确定扫描器的位置。

  文章来源:机器人2025

“走近无人机是以无人机知识类科普,新产品介绍,行业资讯,求职招聘信息于一体的服务平台“

  如果您觉得文章对您有帮助,请分享给您的朋友

分享知识,分享快乐

关注前沿科技一点通:了解更多前沿科技

为什么说飞控是无人机的大脑

多旋翼装配|新手应该注意的地方

深度观察:悬在风口上的植保无人机