根据硬石开发版总结
六步法对应的定子线圈和转子磁极
转换为电路控制
高级定时器设置
比较输出通道1为A相,2为B相,3为C相
向上计数,PWM频率22K,
第1步A+ C-
因为是循环控制,要考虑上一步,是第6步B+C-,改为A+C-,首先关断B+,B相的mos管上下桥臂都关断。
HAL_TIM_PWM_Stop(&htimx_BLDC, TIM_CHANNEL_2);
HAL_TIMEx_PWMN_Stop(&htimx_BLDC, TIM_CHANNEL_2);
然后开启A+,比较输出PWM1模式,向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为
无效电平;这样通过设置比较值CCR1就可以设置有效电平占整个计数周期的比例(占空比),比较通道1输出高,对应A相mos管上桥臂导通,比较通道1的反向输出低,对应A相mos管下桥臂关断
sPWMConfig1.OCMode = TIM_OCMODE_PWM1;
HAL_TIM_PWM_ConfigChannel(&htimx_BLDC, &sPWMConfig1, TIM_CHANNEL_1);
__HAL_TIM_SET_COMPARE