Zero Sequence Modulation

The Conventional Space Vector Pulse Width Modulation (CSVPWM) technique is one particular example of how to utilize the full DC link voltage. But there are others which we'll discuss later. The general term I recommend using is Zero Sequence Modulation (ZSM), and it refers to the part of a motor control algorithm that takes per-phase signals A, B, and C as inputs, and shifts them up and down identically to achieve realizable duty cycles. Again, remember that the zero-sequence component of a three-phase set of voltages is just its average value, so all we're doing is shifting the average value and leaving alone the effective voltage between any two phases.

ZSM is what goes on between the Clarke Transform and the PWM peripheral in the output section of a digitally-controlled motor drive. Some authors call this Zero-Sequence Injection or Common-Mode Injection. Note that it does not include the PWM stage itself.

# The other nitpicks

The second unfortunate thing about both papers, (Pfaff et al. and van der Broeck et al.), and many more research papers and application notes that have been published since is that the approach for calculating on-times is unnecessarily complicated. You can implement ZSM with the exact same result as the CSVPWM technique, without doing any trigonometry and without having to determine which sector you're in! It's very simple and we'll get to it in a moment.

Finally, there's the hexagon. In the context of field-oriented control and space vector theory, it's often taken for granted. Academic papers and application notes are generally careful to include enough introductory material so that there is some context to introduce the paper's central idea to someone who may not be very familiar with the subject: acronyms, terms, and symbols are often explained even though they may be obvious to colleagues. But many papers on Space Vector Modulation (SVM) leave out some important details on what the hexagon really means.

# Hexagon? It's a cube, silly!

Space vectors in three-phase systems are very simple. They have three components, one per phase: A, B, and C. If we're considering the normalized output voltage of a three-phase bridge, (e.g. voltage on each phase, divided by the DC link voltage), then we're dealing with three independent numbers between 0 and 1. We can describe the state of a three-phase modulator at any time, as a point inside a cube of unit length. It has three independent coordinates, A, B, and C. The point (0.2, 0.6, 0.3) represents a three-phase bridge with 20% duty cycle on phase A, 60% duty cycle on phase B, and 30% duty cycle on phase C. This cube represents the output capability of a three-phase bridge. We can't go below 0% duty cycle and we can't go above 100% duty cycle.

Something weird happens if we look at a cube down its diagonal, however: without the visual cues to tell us otherwise, it looks like a hexagon:

And there's something special about this view of a cube. Like any flat image, it's a two-dimensional projection of a three-dimensional system. Flat images of three-dimensional systems force you to give up one degree of freedom, perpendicular to the plane of view. In this case, it's an isometric projection, where the perpendicular axis is the long diagonal of the cube. If we change the zero-sequence component of any point in the cube, it doesn't affect where that point shows up in this view. For example, the points (0.2, 0.6, 0.3) and (0.3, 0.7, 0.4) look the same. Changing the zero-sequence component also does not have any effect on the currents in a three-phase motor with floating neutral. So this plane of view also represents the voltages "seen" by the motor. The Clarke transform, which maps per-phase components A, B, and C onto a two-dimensional plane with components α and β, is the exact same transform as the projection matrix that maps a three-dimensional cube onto a two-dimensional isometric view.