舵机是伺服电机的一种,伺服电机就是带有反馈环节的电机,我们可以通过伺服电机进行精确的位置控制或者输出较高的扭矩;
舵机舵机也叫也叫
RC 伺服器,通常用于机器人项目,也可以在遥控汽车,飞机等航模中找到它们。
类似舵机这样的伺服系统通常由
小型电动机,
电位计,
嵌入式控制系统和变速箱组成。
电机输出轴的位置由内部电位计不断采样测量,并与微控制器(例如
STM32,Arduino)设置的目标位置进行比较;
根据相应的偏差,控制设备会调整电机输出轴的实际位置,使其与目标位置匹配。这样就形成了
闭环控制系统。
闭环系统变速箱降低了电机的转速,从而增加了输出轴上的输出扭矩。输出轴的最大速度通常约为60 RPM。
具体结构如下图所示;
内部结构
- ①:信号线:接收来自微控制器的控制信号;
- ②:电位器:可以测量输出轴的位置量,属于整个伺服机构的反馈部分;
- ③:内部控制器:处理来自外部控制的信号,驱动电机以及处理反馈的位置信号,是整个伺服机构的核心;
- ④:电机:作为执行机构,输出多少转速,转矩,位置;
- ⑤:传动机构/舵机系统:该机构根据一定传动比,将电机输出的行程缩放到最终输出的角度上;
内部解剖图因此舵机是伺服电机的一种,整体电机就是一个闭环系统,输入相应的信号,就能控制舵机输出对应的位置量;
伺服控制通过向舵机的信号信号线发送PWM信号来控制舵机的输出量;
上一篇文章有介绍过PWM,一般来说,PWM的周期以及占空比,我们是可控的,
所以PWM脉冲的占空比直接决定了输出轴的位置。
下面举个例子;
- 当我们向舵机发送脉冲宽度为1.5毫秒(ms)的信号时,舵机的输出轴将移至中间位置(90度);
- 脉冲宽度为 1ms时,舵机的输出轴将移至最小的位置(0度);
- 脉冲宽度为 2ms时,舵机的输出轴将移至最小的位置(180度);
注意:不同类型和品牌的伺服电机之间最大位置和最小位置的角度可能会不同。许多伺服器仅旋转约170度(或者只有90度),但宽度为1.5 ms的伺服脉冲通常会将伺服设置为中间位置(通常是指定全范围的一半);
具体可以参考下图;
转动角度与输入信号的关系伺服电动机的周期通常为20毫秒,希望以50Hz的频率产生脉冲,但是许多伺服器在40至200 Hz的范围内都能正常工作。
硬件连接舵机的硬件布线比较简单,我们只需要三条线:
电源线,信号线,地线;
如果单个舵机的电流比较小,例如SG90这种舵机,在空闲的时候大约只消耗10mA的电流,在旋转的时候需要消耗100-250mA,因此,一般控制系统如果具备这样的输出能力,可以直接进行驱动;
如果舵机所需电流较大,则需要额外增加驱动
电路,将数字控制端和功率端隔离开;
或者需要同时驱动多个舵机,可以使用PCA9685对多路PWM进行驱动;
舵机规格下面是几款几款比较常见的舵机,我整理了一下它们的规格参数,在选型的时候,应该需要关注一下;
SG90这款比较便宜,如下图所示;
SG90
技术指标
Opera
ting voltage4.8 V
Weight9 g
Stall torque1.8 kg/cm (4.8 V)
Gear type
POM gear set
Operating speed0.12 sec/60° (4.8 V)
Operating temperature0 – 55 °C
MG90SMG90S
技术指标
Operating voltage4.8 V
Weight13.4 g
Stall torque1.8 kg/cm (4.8 V), 2.2 kg/cm (6.6 V)
Gear type
6061-T6 aluminum
Operating speed0.10 sec/60° (4.8 V), 0.08 sec/60° (6.0 V)
Operating temperature0 – 55 °C
MG996RMG996R
技术指标
Operating voltage4.8 – 6.6 V
Current draw at idle10 mA
No-load operating current draw170 mA
Stall current draw
1400 mA
Weight55 g
Stall torque9.4 kg/cm (4.8 V), 11 kg/cm (6.0 V)
Gear type
Metal gear
Operating speed0.19 sec/60° (4.8 V), 0.15 sec/60° (6.0 V)
Operating temperature0 – 55 °C