舵机的控制信号是一个脉宽调制信号,十分方便和数字系统进行接口。能够产生标准控制信号的数字设备都可以用来控制舵机,比如PLC(Programmable Logic Controller,可编程逻辑控制器)、单片机等。
舵机伺服系统由可变宽度的脉冲进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值、最大值和频率。一般而言,舵机的基准信号都是周期为20 ms、宽度为1.5 ms。这个基准信号定义的位置为中间位置。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。最重要的一点是,不同舵机的最大转动角度可能不同,但是其中间位置的脉冲宽度是一定的,那就是1.5 ms。舵机驱动脉冲如图2-13所示。
图2-13 舵机驱动脉冲
舵机转动的角度是由来自控制线的持续脉冲所产生的。这种控制方法叫做脉冲调制。脉冲的长短决定舵机转动多大的角度。例如,1.5 ms的脉冲会让舵机转动到中间位置(对于转角为180°的舵机来说,就是90°的位置)。当控制系统发出指令让舵机转动到某一位置,并让它保持这个角度,这时外力的影响不会让这个角度产生变化。但是这种情况是有上限的,上限就是舵机的最大扭矩。除非控制系统不停地发出脉冲稳定舵机的角度,否则舵机的角度不会一直不变。
当舵机接收到一个小于1.5 ms的脉冲,其输出轴会以中间位置为标准,逆时针旋转一定角度。当舵机接收到大于1.5 ms的脉冲,情况则相反,其输出轴会以中间位置为标准,顺时针旋转一定角度。不同品牌,甚至同一品牌的不同舵机,都会有不同的最大脉冲值和最小脉冲值。一般而言,最小脉冲为1 ms,最大脉冲为2 ms。转角为180°的舵机其输出转角与输入信号脉冲宽度的关系如图2-14所示[40]。360°舵机也是通过占空比控制,只不过大于1.5 ms和小于1.5 ms是调节的顺时针旋转还是逆时针旋转,不同的占空比,转速不同。
图2-14 180°舵机输出转角与输入信号脉冲宽度的关系示意图
舵机有一个三线的接口。黑线(或棕色线)接地线,红线接+5 V电压,黄线(或白色线、橙色线)接控制信号端。与直流电机不同的是,舵机多了一根信号线,给这根线提供PWM(Pulse Width Modulation,脉冲宽度调制)信号就可以实现对舵机的控制。(www.xing528.com)
控制信号进入舵机信号调制芯片,获得直流偏置电压。它的内部有一个基准电路,产生周期为20 ms,宽度为1.5 ms的基准信号,将获得的直流偏置电压与电位计的电压进行比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片就可以决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位计旋转,使得电压差为0时,电机停止转动[41]。
舵机是以20 ms为周期的脉冲波进行控制的[42]。具体在实践中,舵机的控制方式就多种多样了。
情景一:单片机控制
单片机控制也分为两种,像STM32和比较高级的51单片机等都是自带PWM输出的,这时候直接设置寄存器控制即可。但是如果没有这个功能,那怎么办呢?这时候就要用到定时器了,可以用定时器来进行计时,从而产生PWM波来对舵机进行控制。
举个例子说明。定义两个变量a和b,定时器设置为每1 ms中断一次。那么用a来计算中断的次数,控制周期为20 ms,用b来控制高的占空比。然后把需要输出PWM波的管脚在高电平的时候拉高,低电平的时候拉低就行了。
用单片机进行控制的好处是编程的自由度很大,可以很容易地对舵机进行控制。
情景二:舵机控制板控制
舵机控制板控制要简单很多,即便没有硬件编程经验也可以很快学会。舵机控制板可以同时控制许多舵机,常见的有16路和32路的;舵机控制板有上位机软件,采用可视化控制,不需要编程。可在软件界面里拖拉舵机需要转动的角度,设置转动角度所需要的时间即可。如果有多个舵机需要控制的话,一下子全设置完毕后,保存为一个动作组。然后接着设计下一个动作组。这种控制方式非常适合用来控制多足机器人或舞蹈机器人。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。