■ 舵机的指令
舵机是在一些小型自动无人装置中常见到的伺服随动模块。它的输出轴的角度随着给定指令脉冲的时间宽度变化而成比例的变化。由于它的内部带有位置传感器(电位器),所以在额定的输出扭矩负载下,输出的角度与负载的大小无关。
▲ 舵机指令与舵机转轴位置
从上述情况来看,给定舵机指令脉冲的频率对于舵机输出位置没有影响,那么当给定的过高,或者过低,会造成什么变化呢?
下面通过实验来检查这方面的结论。
01实验验证
1.输出控制信号模块
使用在 双轴+机械爪整体控制模块中的电路, 输出舵机控制脉冲指令。通过相应的命令来改变输出脉冲的时间宽度以及重复频率。
- servo n : 设定脉冲宽度 10 × n 10 \times n 10×n μ s \mu s μs。
- period n:设定重复频率: 10 × n μ s 10 \times n\,\,\mu s 10×nμs。
- rotate: 相当于 servo 200; waittime(1000), servo 100;
下面是执行rotate指令后被测舵机的运动情况。
▲ 舵机指令在1000us在2000us之间切换变化
2.测量舵机
测量舵机包括两个型号:
- 型号1: S-D5: S-D5数字舵机 是一款在智能车竞赛中被广泛使用的舵机。
- 型号2: 一种小型的舵机。
3.测量数据
(1) 舵机 S-D5
指令周期从 2.5ms ~ 600ms 都能够正常工作。
下图显示了在舵机脉冲指令频率为2.5ms的情况下,输出的脉冲宽在1 ~ 2ms之间的变化波形。在这种情况下,S-D5舵机依然能够正确的执行指令。
▲ 给定的舵机指令周期为2.5ms
(2) 小型舵机
舵机脉冲指令周期从2.5 ~ 600ms输出都能够正常工作。
▲ 小型舵机的运动情况
※ 结论
通过上述实验可以看出,对于普通的舵机,指令脉冲的频率对于舵机运动的位置没有任何影响。因此,舵机的指令严格意义上不属于PWM波形(即依赖方波信号的占空比1来工作的波形)。
舵机的指令周期的改变,可以看成对于舵机指令给定频率的变化。
那么,每当一个脉冲指令到来的时候,舵机是否都会立即进行执行呢?
这一点可以通过给定舵机的指令,然后在短时间内返回,来观察输出轴是否能够在短时间内出现抖动。
下图就是给定的一个脉宽指令2000us,然后停留20ms之后在返回到1000us。多级的脉冲指令周期为2.5ms.可以看到舵机的输出轴在抖动。
继续将20ms缩短到4ms,都可以使用手来感知到舵机输出轴的抖动。从这一点来说,舵机是在每一个脉冲结束之后(脉冲的下降沿)就完成了对于舵机位置设定的改变,并立即执行。
▲ 改变输出指令之后,20ms后再返回
由于舵机指令的脉宽有时可能会达到2.5ms,所以原则上舵机的脉冲指令频率不能够大于400Hz。通常情况下取50 ~ 300Hz之间的数字。
■ 相关文献链接:
占空比:信号的高电平与周期之间的比值 ↩︎