舵机的控制,原理上是以20ms为周期的的脉冲波进行控制的。
落实到具体的实践当中控制的方式就多种多样了。
情景一:单片机控制:
单片机的控制也分为两种,像stm32和比较高级的51单片机等是自带pwm输出的,这时候直接设置寄存器控制即可,但是呢,没有这个功能怎么办呢?这时候就要用到定时器了,我们用定时器来进行计时,从而产生pwm波来对舵机进行控制。
举个例子,我们定义两个变量a,b.定时器设置为每1ms中断一次。那么用a来计算中断的次数,控制周期为20ms,用b来控制高的占空比。然后把需要输出pwm波的管脚,在高电平的时候拉高,低电平的时候拉低就行了。
用单片机进行控制的好处就是编程的自由度很大,可以很容易的对舵机进行控制。
情景二:舵机控制板控制
舵机控制板的控制就简单多了,即便没有硬件编程经验也可以进行控制。我入手了一块舵机控制板,只能以我买的舵机控制板为例进行讲解,若是有其他类型的舵机控制板恕不能解答。
舵机控制板可以一下控制许多舵机,常见的有16路的和32路的;舵机控制板有上位机软件,可视化控制不需要编程。我们在软件的界面里拖拉舵机需要转动的角度,设置,转动角度所需要的时间即可,而且如果有多个舵机的话,一下子全设置完毕后,可以保存为一个动作组。然后接着设计下一个动作组。非常适合用来控制多足机器人,舞蹈机器人。比较坑的地方就是,需要安装驱动,安装驱动的痛苦大概大家都体会过,我就不赘述了。
舵机控制板还留有和MCU通信的接口,可以实时发送命令控制舵机,这个我觉得很赞。
转载请注明来源。