DIY无刷电机控制器:打样...
当然控制方式上也就简单很多,三个霍尔接中断输入,在中断处理程序中根据组合状态换相,程序上也没什么复杂的。主程序 一直检测ad值,改变pwm占空比,及电流保护等。
如下一个典型的换相代码。Stm32 有两个高级定时器tim1 tim8 可以输出4组互补型pwm,还可以设定死区时间等,使用上非常方便。
switch(step){case 4: //B+ C-/* Next step: Step 2 Configuration -------------------------------------- */TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Disable);TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Disable);}
下图为uvw三相的霍尔检测到的电平及w相的波形。
下图为 uvw三相波形及w相霍尔电平
下图为 w相电平, w相上臂on 下臂pwm ,w相霍尔信号。
下图为w相ir2304芯片输出,上臂电压可明显看到已高于vcc,下臂为pwm信号