简易舵机控制电路实验
发布时间:2013/11/29 19:51:36 访问次数:2274
下面,我们用STC89C51(也可以使用其他型号的51芯片)制作一个简单
的控制舵机的小实验。使用12MHz晶体振荡器,IDT7200使用12T的模式,每时钟周期为1 2个晶振周期,也就是说每个时钟周期为0.O01ms。使用芯片内的定时器最小可以生成O.O01 ms脉宽。对比上面的数据,我们可以得知,这个数值并不足以精确输出每个角度的脉宽值,不过我们主要是实验舵机的控制方法,若需要更高精度,可以换威更高频率的芯片或用STC89C51的6T模式去实现。单片机程序中定时器O先对高电平计时,到达后再计时生成20ms减去高电平时间的低电平脉宽,主程序不断使舵机变换5个角度。电路只使用最小系统。具体的实验电路如图1 1所示。C4是电解电容,容量在470“F或以上,因为某些舵机工作时电流会比较大,这个电容可以使电源电压在舵机工作时不会被拉低,
笔者用这个程序驱动TowerProMG995舵机,用标准1—2ms信号可以让其正常工作,但这个舵机动作转角范匿只有909,要想让它工作在O~180',脉宽耍在0.5~2.5ms.因此笔者在与本文相关的压缩包里提供了两份代码,供大家参考,读者也可以到以下网址参看用两份程序驱动MG995舵机时的不同结果的视频http://www.cdle.net/thread-48314-1_1.html。图12是本实验的实物电路。
下面,我们用STC89C51(也可以使用其他型号的51芯片)制作一个简单
的控制舵机的小实验。使用12MHz晶体振荡器,IDT7200使用12T的模式,每时钟周期为1 2个晶振周期,也就是说每个时钟周期为0.O01ms。使用芯片内的定时器最小可以生成O.O01 ms脉宽。对比上面的数据,我们可以得知,这个数值并不足以精确输出每个角度的脉宽值,不过我们主要是实验舵机的控制方法,若需要更高精度,可以换威更高频率的芯片或用STC89C51的6T模式去实现。单片机程序中定时器O先对高电平计时,到达后再计时生成20ms减去高电平时间的低电平脉宽,主程序不断使舵机变换5个角度。电路只使用最小系统。具体的实验电路如图1 1所示。C4是电解电容,容量在470“F或以上,因为某些舵机工作时电流会比较大,这个电容可以使电源电压在舵机工作时不会被拉低,
笔者用这个程序驱动TowerProMG995舵机,用标准1—2ms信号可以让其正常工作,但这个舵机动作转角范匿只有909,要想让它工作在O~180',脉宽耍在0.5~2.5ms.因此笔者在与本文相关的压缩包里提供了两份代码,供大家参考,读者也可以到以下网址参看用两份程序驱动MG995舵机时的不同结果的视频http://www.cdle.net/thread-48314-1_1.html。图12是本实验的实物电路。
热门点击