前段时间师傅给的小任务,其中有一部分用到了51单片机控制舵机转动,第一次接触舵机很多资料取之于网络,现在回馈网络。舵机型号:MG995 21kg 舵机的控制:舵机转动的角度与PWM有关(高低电平的占空比) 单片机定时0.5ms。0.5ms到1.5ms是控制舵机正转,1.5ms到2.5ms是控制舵机反转。一个周期是20ms.也就是说当20ms内有0.5ms以上的高电平时舵机就可以转了。但是为了舵机的转动,是需要时间的,举个例子当舵机从0°转到45°时,是有一段运动的时间的,时间一般在16个周期会比较好。即舵机从0到45需要16个2ms高电平的周期。编程时需要用到计数。每次定时0.5ms,计数器++。If(计数器 == 16)PWM.......大概是这样的一个思路。 前面讲了单片机的控制,接下来说一下可能会遇到的问题: 1、仿真的问题。接如图所示,舵机在仿真软件中叫:MOTOR_PWMSERVO。
2、程序没问题,仿真可以实现,但是舵机不转。可能是给的电流不够,我用的舵机转矩大,单片机不能直接供电,采用了外接电源,电压5V以上,电流2A到3A。一定注意电源要与单片机共地,也就是电源的地要接到单片机GND上,舵机的地也接单片机的GND。 3、通电后舵机发出奇怪声音。电流不够(我吃过大亏,电流不够,但我总以为是我的程序有问题),用一个7.4V的航模电池就可以解决。 希望以上内容能对大家有所帮助。
|