基础知识
舵机型号:DS3225
舵机控制 周期20ms 使用TIM8
PWMOUT9 = TIM8->CCR3;
PWMOUT10 = TIM8->CCR4;
T = (336-1+1)*(10000-1+1)/168000000 = 0.02s =20ms 周期设置 计数值10000
336:预分频系数 10000:计数值
1680000000:时钟频率
舵机知识:0.5ms--2.5ms 对应0-180度,20ms周期中,高电平只有0.5ms到2.5ms有效控制舵机,1us = 0.09°
0.5ms(500us)------------ 0°————250
1.0ms(1000us)----------- 45°———250+45/0.18=250+250
1.5ms(1500us)----------- 90°———250+90/0.18=250+500
2.0ms(2000us)-----------135°———250+135/0.18=250+750
2.5ms(2500us)-----------180°———250+180/0.18=250+1000
TIM8->CCR3 = Sbus_Ch_Pwm_Value[7]*1.19-1035; //舵机控制0-180°
公式理解
20ms一周期,对应控制占空比是 0.5ms-2.5ms,即计数值
0.5/2010000=250 对应0°
2.5/2010000=1250 对应180°
1250-250=1000 计数值对应180°
即在有效控制时间范围内,1个计数值的角度为0.18度
使用AT9S pro 的旋钮6来控制角度 PWM默认值为(1080-1920)
比例系数 = 1000/(1920-1080)=1.19
偏移量 = 250-1080*1.19 = 1035