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

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 ?

1 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).

• AFAIK, Unipolar/bipolar is not just for dc, it applies to bldc. For example this app note, cache.freescale.com/files/microcontrollers/doc/app_note/… (see 3.3.1) goes into it in more detail, but my fundamental question remains the same. How it direction is reconciled with the 6-steps. I'm no expert, but bipolar isn't about -V, it's about connecting the low side of a phase with the either Open or Ground (pulsing the same as what's on the other phase). With unipolar the low side is connected to GND for the duration of the period. May 11 '15 at 22:02
• Good point about bipolar not needing to be -V. Read your application note, made some edits which are hopefully helpful. May 12 '15 at 6:02
• Thanks, that makes sense! The reason to use bipolar instead of unipolar switching, at least according to the pdf linked, is to better sense the back-emf. So if you're doing sensorless control, you're stuck with bipolar. I'd prefer not to use it since it also introduces negative current back into the power supply, which could be bad! May 13 '15 at 19:59