AnsweredAssumed Answered

stm32 6 complementary pwm output problem for bldc

Question asked by Jason Jin on Aug 9, 2017
Latest reply on Aug 14, 2017 by Jason Jin


I am debug the hall sensor based bldc controller. It use the traditional 6 N-MOSFET H-Bridge structure. I use stm32cubemx to configure TIM4 as the Hall sensor input, and the advanced TIM1 as the 6-complementary PWM output. The hall effect input is correctly detected and triggered. However, the complementary PWM doesn't work as I supposed to be. As the Channel 1 set to PWM1 output, CH1 and CH1N works fine as the complementary channel. Channel 2 set to CH2 inactive and CH2N active, it works fine. At the same time, I need to set Channel 3 to CH3 inactive and CH3N inactive, it doesn't work. The channel 3 always output the complementary result. The driving current is high and motor works unstable. I changed different output method with CCER and CCMR registers. I wonder to know if stm32f401 can generate the waveform like described in figure 82 of RM0368(reference manual interfacing with hall sensors example). How to deal with it? or if not, how could I deal with Channel 3. Thanks.