舵机的应用
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前,在高档遥控玩具,如飞机、潜艇模型,遥控机器人中已经得到了普遍应用。
舵机的原理图:
通过向单片机的一个端口,产生PWM波驱动舵机转动的角度。
其具体转动原理如下图的PWM波:
一个PWM波的周期是20ms,当高电平是0.5ms是转动0°,当高电平是2.5ms时转动180°,可以按照比例关系,将高电平时间设置为:0.5+angle×(2/180),即可将舵机旋转相应的角度。
注意事项
1.舵机.上如果有负载需要更大的驱动电流
2.必须连续不断地向PWM线发出角度波形,直到达到对应角度3.一般情况下,180度舵机的最大角度可达190度,甚至200度
4.要按指定型号舵机的波形与角度对应关系做调试,不盲信理论值
用延时函数驱动舵机程序如下:
void SG90_angle(u8 a){ //舵机角度控制设置(参数值0~180)对应角度0~180度
u8 b=100;//角度校正偏移量
GPIO_WriteBit(SE_PORT,SE_OUT,(BitAction)(1)); //接口输出高电平1
delay_us(500+a*11.11111+b); //延时
GPIO_WriteBit(SE_PORT,SE_OUT,(BitAction)(0)); //接口输出高电平1
delay_us(19500-a*11.11111-b); //延时
}