What determines BLDC rotation direction when using trapezoidal commutation with BiPolar Switching

brushless-dc-motormotor controllerpwm

Block commutation seems simple enough, the rotation is determined by the order in which the 6 step sequence is executed (ex. cw 1->6 or ccw 6->1)

What's confusing is how bipolar switching changes this. If you drive the low side phase with the same modulation that is applied on the high side, then this suddenly becomes bipolar, and it supports braking/regeneration all thru the pwm duty cycle (i.e. >50% is cw, <50% is ccw).

https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2012/04/04/so-which-pwm-technique-is-best-part-4

So how do these 2 non-mutually exclusive techniques (6 step trap & bipolar) reconcile with each other to determine the motor spin direction ?

Best Answer

The link you provided (a nice read!) is focused on brushed DC motors, not brushless (BLDC) motors. Brushed DC motors are mechanically commutated (via the brushes) so applying a constant voltage will make the motor spin. Brushless DC motors are electrically commutated (the block commutation is one of the strategies) so things get a little bit trickier. But for either type, the key is this: relative voltage across motor windings generates action

This article discusses the fundamentals of a BLDC driver. The short story is that (for a N-phase BLDC) you need N 'half' H-bridges; you want to be able to connect any of the N winding wires to either V1 (often +V) or V2 (often GND). Bipolar switching is compatible with BLDC drivers. See Figs 10 and 12 in the eFlexPWM application note.

Consider that since PWM frequencies are higher than the motor's response time, the PWM'ing is effectively creating an average voltage. For the sake of getting to the heart of the matter, mentally simplify the PWM'd transistors to a variable voltage source.

In the unipolar case, this winding voltage is generated between one winding held to a specific reference (often ground), while the other is raised a variable amount (again, 'raised' is typical but 'lowering' would work the same).

In the bipolar case, the winding voltage is generated between two windings 'raised' to a variable amount (as you reminded me, the mean need not be 'ground'). For example, you could use power inputs at -1V and +3V, set (via PWM) winding A to +2V, winding B to +1V, and generate voltage of 1V across the motor, with current flowing A->B. Whatever madness your motor controller is doing, the motor just sees and responds to the relative voltage across its windings.

So finally returning to your question – the 6-step sequence of relative voltages across the motor windings remains unchanged. What's different is how your motor controller generates that internally.

I'd hesitate to use bipolar switching - if your PWM source goes down, the motor will remain energized (typically not good for safety).