基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以 灵
活应用。
在机器人机电控制系统中, 舵机控制效果是性能的重要影响因素。 舵机可以在微机电系统和航模中作为基本 的
输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控
制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为 20ms
,
宽度为 1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的 正
负输出到电机驱动芯片决定电机的正反转。 当电机转速一定时,通过级联减速齿轮带动电位器旋转, 使得电 压
差为 0 ,电机停止转动。
图 1
舵机的控制要求
舵机的控制信号是 PWM 信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图 1 所示。
单片机实现舵机转角控制
可以使用 FPGA 、模拟电路、单片机来产生舵机的控制信号,但 FPGA 成本高且电路复杂。对于脉宽调制信
号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要 50Hz ( 周期是 20ms) 的
信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。 5mV 以上的控制电压的变化就 会
引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于 5mV ,所以滤波电路的精 度
难以达到舵机的控制精度要求。
也可以用单片机作为舵机的控制单元,使 PWM 信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精
度。单片机完成控制算法,再将计算结果转化为 PWM 信号输出到舵机,由于单片机系统是一个数字系统,其 控
制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。
单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的 PWM 周期信号,本设