gonespa
Member level 1
Hi,
I am Trying to build a BLDC motor controller with the PIC18F4431 MCU. My plan is to use the six step sensorless trapezoidal commutation. Complementary and unipolar PWM, to be precise. The reason I chose this is to use synchronous rectification instead of simplt using the MOSFET intrinsic diodes.
This means that, at any given time, both MOSFETs for a phase will be PWM switching (the lower one as the complement of the high one + dead time), in another phase the high one will be off and the low one with be on (no PWM) and finally the third phase will have both MOSFETs off.
The problem is that I don´t see a way to configure the Power Control PWM module to allow this... if I configure the three phases as complementary, there is no way to turn off BOTH MOSFETS in a single phase at the same time (the lower is always the complement of the higher, so when I shut off the higher one the lower is automatically set on by the MCU).
If I configure the channel as independent, I loose the dead time functionality, which is something very convenient.
I tried to change the PMOD* bits on PWMCON0 register each time I change from one step to the next (I set the undriven phase to independent mode and the rest to Complementary mode), but this must not be allowed once the module is active since I see no effect in the pin outputs. (or I am doing something wrong).
Is there a way to configure this MCU for this driving requirements?
Kind Regards.
I am Trying to build a BLDC motor controller with the PIC18F4431 MCU. My plan is to use the six step sensorless trapezoidal commutation. Complementary and unipolar PWM, to be precise. The reason I chose this is to use synchronous rectification instead of simplt using the MOSFET intrinsic diodes.
This means that, at any given time, both MOSFETs for a phase will be PWM switching (the lower one as the complement of the high one + dead time), in another phase the high one will be off and the low one with be on (no PWM) and finally the third phase will have both MOSFETs off.
The problem is that I don´t see a way to configure the Power Control PWM module to allow this... if I configure the three phases as complementary, there is no way to turn off BOTH MOSFETS in a single phase at the same time (the lower is always the complement of the higher, so when I shut off the higher one the lower is automatically set on by the MCU).
If I configure the channel as independent, I loose the dead time functionality, which is something very convenient.
I tried to change the PMOD* bits on PWMCON0 register each time I change from one step to the next (I set the undriven phase to independent mode and the rest to Complementary mode), but this must not be allowed once the module is active since I see no effect in the pin outputs. (or I am doing something wrong).
Is there a way to configure this MCU for this driving requirements?
Kind Regards.