使用的硬件为野火的骄阳STM32F407IGT6控制板。
通过CUBE MX设置定时器,产生2路PWM波形,控制有刷直流电机;
大概的设置过程如下:
1,开通TIM1高级定时器,预分频器Prescaler设置为84-1,计数周期Counter Period设置为5000-1
实际得到的TIM1定时器时钟频率为84000000/84/5000=200Hz,
2,设置计数模式为:Up向上计数
3,设置Channel1和Channel2为PWM输出模式:PWM Generation CH1和PWM Generation CH2
通过修改auto_reload perload值为“enable”和“disable”对比发现,该选项不影响PWM波的正常输出。
通过修改Clock_Source值为“Internal Clock”和“disable”对比发现,该选项也不影响PWM波的正常输出,具体原因不明,可能是有默认的时钟来源吧。
通过CUBE MX自动生成的文件并不能直接使用,需要作如下2个修改:
1,手动开启定时器的PWM输出通道:“HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);,