基于51单片机控制多路舵机的方法

2017-09-17 04:50昝鹭鸶张晗冀向阳
科学与财富 2017年25期
关键词:波特率高电平舵机

昝鹭鸶+张晗+冀向阳

摘要:在现在的时代下,机电一体化是发展的必然趋势。现在很多的项目已经不再是纯机械结构了,要求要有电控。加上电控的设备可以节省人力,让机器自己运行起来。就连现在简单的加工机床都要求要有一定的自动化。随着这科技的发展,电控的方式越来越多。

在做机电一体化设备的时候,谈起电控部分,首先进入眼帘的就是使用单片机配上传感器做成一个开环或是闭环控制系统。单片机在传感器的感知下,驱动着动力源元件运转,进而带动整个机器运动,完成预期的动作。这里面的动力源元件一般有步进电机,伺服电机,舵机,直流减速电机等,舵机是最常用的元件之一。对于一个复杂的工程项目,例如仿生机械臂,仿生机器人等项目一般需要多个舵机。那么对于主控板是51板的电控系统,为了节省资源,常常用一片51单片机控制多个舵机运动。

关键词:51单片机;多路舵机;

正文:

对于用一片51单片机来控制多路舵机运动,往往是一个让程序员头疼的问提。因为舵机可以转动一个相对精准的角度,要是想让舵机转动的非常灵敏,那么就会带来一系列的问题、用51单片机控制舵机转动的原理是利用定时器中断产生一个周期为20ms的PWM波。我们通过控制这个PWM波中高电平所占的时间长短使舵机转动相应的角度。理论上讲,允许高电平时间变化的越精细就会使舵机转动的越精准。一般想到的方法就是让定时器产生中断的时间越短,通过在定时器中断中产生PWM波来驱动舵机转动。这样的想法在一些简单的工程中应用时可以的。这里面提到的简单的工程是指舵机的数目少,一般为一路或两路舵机。但是这样也不能使舵机转动的角度非常灵敏。倘若使用这个想法使舵机转动的非常精准,就要使定时器的定时非常短,也就是说51单片机会频繁的响应定时器中断,这样会带来很多的问题。问题一就是倘若这个工程要求要有串口通讯,那么平凡的响应定时器中断会影响在串口通信中所设定的波特率,(这个与pwm波与波特率所用的定时器中断的优先级有关,如果pwm波采用定时器0中断,波特率采用定时器1中断,因为在51单片机的中断源中,定时器0中断比定时器1中断的优先级高,当51单片机频繁响应定时器0中断时,会影响波特率的值,这样串口通讯就会产生一些错误,如在串口通讯中接收到的数据和发送的数据不一致,那么就会导致串口通讯失去作用。反之,会使pwm波高电平时间发生变化,影响舵机旋转的精度),对于控制多路舵机的工程这种简单的想法就会带来更大的问题。也就是说如何用一片51单片机来控制多路舵机是一个关键的问题。虽然现在出现了多路舵机控制板,但是它的价格随着舵机路数的增加,价格在成倍数增长。而且一般要比51单片机最小系统贵很多。对于用51单片机控制多路舵机的方法我门组提出了一个有效的思想,并且该思想已经在实践中得到了验证。

我们的想法是舵机的pwm波周期是20ms,对于180度舵机其转角所对应的高电平时间是0-2.5ms,如果系统中需要控制幾个舵机的准确转动,可以用单片机和计数器进行脉冲计数产生P W M 信号。脉冲计数可以利用51 单片机的内部计数器来实现,由于时间及专业限制,我们暂时使用这种方法。当系统的主要工作任务就是控制多个舵机的工作,并且使用的舵机工作周期均为20ms 时。要求硬件产生的多路P W M 波的周期也相同。使用51单片机的内部定时器产生脉冲计数。一般工作正脉冲宽度小于周期的1/8。这样可以在1个周期内分时启动各路P W M 波的上升沿。再利用定时器中断T0 确定各路PWM 波的输出宽度。定时器中断T1 控制20ms 的基准时间。第1 次定时器中断T0 按20ms 的1/8(由于数比较好算,所以用1/8) 设置初值,并设置输出I/O 口,第1 次T0 定时中断响应后,将当前输出I/O 口对应的引脚输出置高电平,设置该路输出正脉冲宽度,并启动第2 次定时器中断,输出I/O口指向下一个输出口。第2 次定时器定时时间结束后,将当前输出引脚置低电平,设置此中断周期为20ms 的1/8 减去正脉冲的时间,此路P W M 信号在该周期中输出完毕,往复输出。在每次循环的第16次(2 *8=16)中断实行关定时中断T0的操作,最后就可以实现8路舵机控制信号的输出。

参考文献:

[1]冯晓伟, 王雷阳, 李正生. 多路舵机控制PWM发生器的设计与Proteus仿真[J]. 现代电子技术, 2011, 34(11):167-169.

[2]汪元礼, 周润发, 曹家军,等. 基于51单片机的多路舵机控制的脉宽算法实现[J]. 科技展望, 2017, 27(14).

[3]庄严, 宋鸣, 张劭凤,等. 基于51单片机的六足机器人控制系统设计与制作[J]. 价值工程, 2013(30):51-53.

作者简介:昝鹭鸶,1995年11月18日,男,汉族,天津市人;职称:学生;单位:郑州大学;研究方向:车辆方向

张晗,1997年6月27号,女,汉族,河南省人;职称:学生;单位:郑州大学;研究方向:车辆方向

冀向阳,1996年6月7日,男,汉族,河南省人;职称:学生;单位:郑州大学;研究方向:车辆方向endprint

猜你喜欢
波特率高电平舵机
一种基于FPGA的PWM防错输出控制电路
CAN 总线波特率自适应程序设计
含齿隙弹载舵机的全局反步模糊自适应控制
基于FPGA的异步串行通信波特率容错设计
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
DM 50KW中波广播发射机欠推动故障分析
PDM 1kW中波广播发射机保护电路分析
基于云模型的舵机同步控制
C*Core芯片SCI串口波特率容限优化