舵机知识总结和注意点(自我总结)

  • 格式:doc
  • 大小:145.00 KB
  • 文档页数:3

舵机知识总结(自我总结)

1,舵机的工作电压对性能有重大的影响,舵机推荐的电压一般都是4.8V或6V。

2,舵机的控制脉冲周期20ms,脉宽从0.5ms-2.5ms,分别对应-90度到+90度的位置。{0.5ms对应45°}

3,需要解释的是舵机原来主要用在飞机、汽车、船只模型上,作为方向舵的调节和控制装置。所以,一般的转动范围是45°、60°或者90°,这时候脉冲宽度一般只有1ms-2ms之间。

4,另外要记住一点,舵机的转动需要时间的,因此,程序中时间的变化不能太快,不然舵机跟不上程序。根据需要,选择合适的延时,返复调试,可以让舵机很流畅的转动,而不会产生像步进电机一样的脉动。

5,舵机的速度决定于你给它的信号脉宽的变化速度。如果你要求的速度比较快的话,舵机就反应不过来了;将脉宽变化值线性到你要求的时间内,一点一点的增加脉宽值,就可以控制舵机的速度了。

5,前面提到,舵机转角控制需要将两个八位寄存器合成为一个十六位寄存器。

当输入脉冲周期为20ms时,

占空比为2.5%时,转角为-90°

占空比为5%时,转角为-45°

占空比为7.5%时,转角为-0°

占空比为10%时,转角为45°

占空比为12.5%时,转角为90°

附上控制舵机转角90°程序:

#include /* common defines and macros */

#include "derivative.h" /* derivative-specific definitions */

//PWM初始化

//实现舵机90度转,占空比为12.5%

void PWM_Init(void)

{

PWME=0x00; //禁止PWM模块

PWMCTL_CON01=1; //0和1联合成16位PWM;

PWMCAE_CAE1=0; //选择输出模式为左对齐输出模式

PWMPOL_PPOL1=1; //先输出高电平,计数到DTY时,反转电平

PWMPRCLK = 0X00; //clockA不分频,clockA=busclock=16MHz;

PWMSCLA = 8; //对clock A 进行2*8=16分频;pwm clock=clockA/16=1MHz;

PWMCLK_PCLK1 = 1; //选择clock SA做时钟源

PWMPER01 = 20000; //周期20ms; 50Hz;(可以使用的范围:50-200hz)

PWMDTY01 = 2500; //高电平时间为2.5ms; 单位1us

PWME_PWME1 = 1;

}

void main(void)

{

/* put your own code here */

PWM_Init();

while(1);

}