stm32 控制电机 舵机Futaba S3010

电机

频率计算公式

stm32 控制电机 舵机Futaba S3010_第1张图片
频率设置的相关参数:

(1)TIM_TimeBaseStructure.TIM_Period ====== ARR ------>决定周期

(2)TIM_TimeBaseStructure.TIM_Prescaler ======PSC ------>定时器的分频系数

(3)TIM_OCInitStructure.TIM_Pulse ====== CCR ------>决定占空比

占空比D的计算:
D = CCR/(ARR+1)

如果目标PWM的频率为F=1MHz,占空比D=0.5。
(ARR+1)(PSC+1) = 72MHz/1MHz =72000000/1000000 =72
(ARR+1)
(PSC+1) = 72 = 89
→ 则:可以令ARR = 7 , PSC = 8,
由于占空比D=0.5,
则:计算得到CRR=D
(ARR+1)=0.5*(7+1)=4
则:TIM_Pulse=CCR = (7+1)/2 = 4

舵机抖动的原因

  1. 可能是电压不够。一般不能用单片机供电。
  2. 单片机供电不足波形也会出现杂波。
  3. 设置的占空比超范围了, 我都就是这个问题。

Futaba S3010

1.5ms在中间
1.5ms在中间

//这样调整一个数, 轮子就有明显的变化。不采用这种
TIM3_PWM_Init(1999,719);	 //不分频。PWM频率=72000000/900=80Khz   一周期20ms 1.5ms在中间, 就是百分之7.5 就是150
TIM_SetCompare2(TIM3,150);//在中间, 高了往左转
//这样调整一个数, 轮子就有明显的变化。不采用这种
TIM3_PWM_Init(19999,71);	 //不分频。PWM频率=72000000/900=80Khz   一周期20ms 1.5ms在中间, 就是百分之7.5 就是1500
TIM_SetCompare2(TIM3,1610);//中间1477, 1350在最右边, 最左边1610 

Futaba S3010参数说明黑线( 接地) , 红线( 电源线) 和白色(控制线)

你可能感兴趣的:(小车,单片机)