浅谈多通道舵机控制器设计
出处:show11ren 发布于:2011-08-25 15:16:08
在机器人、无人机等运动或执行控制系统器的设计中,舵机控制效果是系统性能的重要影响因素。舵机控制器。它包括连接主控系统的舵机控制模块,舵机控制模块的信号输入口连接接收机而信号输出口连接舵机,舵机控制模块由输入隔离模块、单片机、控制模块切换单元和输出隔离模块构成;输入和输出隔离模块均采用具有四路隔离单元的数字隔离器。本实用新型功耗低、高可靠性、高冗余、体积小,适用于超小型无人机飞控系统。
1 单路舵机输出控制原理
1.1 舵机结构及工作原理
舵机主要是由外壳、电路板、无马达、齿轮与位置检测器所构成。其工作原理是由接收机发出讯号给舵机,经由电路板上的 IC判断转动方向,再驱动无马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。一般的伺服马达是将细铜线缠绕在三极转子上,当电流流经线圈时便会产生磁场,与转子外围的磁铁产生排斥作用,进而产生转动的作用力。依据物理学原理,物体的转动惯量与质量成正比,因此要转动质量愈大的物体,所需的作用力也愈大。舵机为求转速快、耗电小,于是将细铜线缠绕成极薄的中空圆柱体,形成一个重量极轻的五极中空转子,并将磁铁置於圆柱体内,这就是无马达。
为了适合不同的工作环境,有防水及防尘设计的舵机;并且因应不同的负载需求,舵机的齿轮有塑胶及金属之区分,金属齿轮的舵机一般皆为大扭力及高速型,具有齿轮不会因负载过大而崩牙的优点。较的舵机会装置滚珠轴承,使得转动时能更轻快精准。滚珠轴承有一颗及二颗的区别,当然是二颗的比较好。目前新推出的 FET 舵机,主要是采用 FET(Field Effect Transistor)场效电晶体。FET 具有内阻低的优点,因此电流损耗比一般电晶体少。
舵机是一个典型闭环反馈系统(如图1所示),它的工作原理如下,控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度。

1.2 单路舵机的控制信号原理
舵机的控制信号通常为PWM信号,即脉宽控制信号,如图2所示。

其中脉冲宽度从O.6~2.4 ms,相对应舵盘的位置为-90°~+90°,呈线性变化,如图3所示。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。

舵机内部有一个基准电路,产生周期20 ms,宽度1.5 ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的驱动当中。
2 用定时器实现多路舵机PWM控制信号输出
对一个机器人关节的控制仅需要一个舵机就可以了,但在机器人、无人机等系统的控制过程中,需要同时实现对多个舵机的控制,也就是说,需要多路PWM信号来完成控制任务。如图1所示,单路舵机信号在20 ms周期内,考虑保护时隙,t的取值为2.5 ms,则20 ms内多可以周期性地输出8路控制信号(20/2.5=8)。
本文所设计的舵机控制器若以MSC-51单片机为,使用12 MHz的晶振,它的时间周期就是1/12μs,而它的一个机器周期则是12×(1/12)=1μs.如果舵机的有效行程为(°)/10μs,其控制的角度定时是可以达到1μs,约0.1°,因此,任意类型的单片机都能够满足舵机的控制要求。利用单片机的串行通信口可以实现与上位的PC机的通信,进而实现多路舵机的同步控制。以AT89C52为例说明该方法的实现过程,设单片机的P1.O~P1.7端口为控制输出,8路舵机控制脉冲如图4所示。

舵机控制器软件控制分为两个部分,即主程序和中断服务程序。主程序完成定时器初始化、串口信令解析、舵机位置刷新的工作。设置各通道序号为i,当前定时器脉宽定时为Time,Tab[i]为各通道定时值。定时器初始化进行定时器工作模式及初值设置,各舵机位置初始化使所有舵机的位置定在0°的位置,使舵机处于等待指令的状态。舵机位置刷新程序实时计算舵量并修改每个通道的定时值Tab[i],供定制中断服务程序调用。中断程序流程图如图5所示。
中断复位程序依次修改各个通道对应I/0口的输出电平,并依次加载下一通道的定时器计数值,通道号计数指针累加。当计数指针为8时表明各通道输出结束,剩余时间I/O口全部置0,下一轮循环开始。
3 串行通信协议的设计
本文采用基于短帧的协议设计思想,每个舵机动作对应的控制信号是一帧一帧发送的,动作的分解和步长由功能强大的上位机完成,而下位机只负责完成对应的偏转角度执行。一个标准的串行通信短帧包含帧首、数据和帧尾几部分,每个部分可以根据实际需要定义。
(1)帧首,表示本数据帧的开始,用于数据帧的同步和控制的类型属于串口通信协议,并为下位机是否接收此数据帧的标志。一般可以设0xFE为单通道控制帧,0xFF为多通道控制帧。
(2)数据,表示上位机通过串口要控制的舵机输出通道号以及通道所对应的舵量偏转值。
(3)帧尾,表示此帧信号的结束,一般可以用0xF0表示。
单通道控制信令较为简单,如图6所示,其帧首为0xFE,CHn表示该帧所控制的通道号,Dn则表示所控制的通道对应的舵量偏转值,0xF0作为该帧结束的标志。例如,当帧数据为"FE 01 5A F0"时,表示CH1通道信号置于中位(90°=0x5A)。

多通道控制信令格式如图7所示,帧首为0xFF,其控制命令的数据长度可以每个字节对应一个通道,±90°可以用数字0~180表示,对应二进制数为0x00~0XB4.例如,当帧数据为"FF 5A 5A 5A 5A 78 78 3C 3C FO"时,则表示CH1~CH4通道都居中,CH5,CH6为+30°;CH7,CH8为-30°。
4 结语
本文所提出的多路舵机控制器的设计方法是以微处理器为,利用定时器中断实现了对多路舵机的控制信号输出,并可以实现上位机与下位机的通信控制,可适用于机器人、无人机等需要控制多个舵机的场合,以及其他需要产生多路PWM系统。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- ATA-1220D 宽带放大器:无载流子注入模式下一对多驱动研究的关键应用2026/8/27 16:10:46
- 看看这款高质量数据采集系统都偏爱的可编程增益放大器2026/8/24 16:24:21
- 一次通过EMI合规性测试——第5部分:关于精密模拟、屏蔽和热管理的进阶考量2026/8/21 16:26:21
- 放大器全解析:类型、增益、原理与分类2026/8/17 16:31:26
- ATA - 7050 高压放大器:智能材料驱动器控制实验的关键助力2026/8/14 16:02:41









