AutoVoltix

← Back to all lessons

MOTORIntermediate–AdvancedReading time: 30 min
Learning Objectives
  • Explain why linear PI controllers suffer from phase lag and steady-state tracking errors in three-phase stationary AC frames.
  • Formulate the mathematical foundation of the Clarke transform, mapping three-phase quantities into the two-axis stationary orthogonal frame (\alpha-\beta).
  • Derive the Park transform, rotating the stationary frame into the synchronous reference frame (d-q) locked to the rotor flux vector.
  • Analyze how the Park transform converts high-frequency AC sinusoidal currents into decoupled, time-invariant DC quantities.
  • Evaluate the execution sequence of forward and inverse transforms inside real-time automotive powertrain microcontrollers (MCU/DSP).

MOTOR-16 — Clarke and Park Transforms

FACT — AC traction motors operate on three-phase sinusoidal currents that continuously oscillate at high frequencies. However, standard linear Proportional-Integral (PI) controllers intrinsically struggle to track time-varying sinusoidal references, inevitably introducing steady-state amplitude error and phase lag. Clarke and Park transformations solve this dilemma by mapping three-phase AC quantities into an orthogonal rotating coordinate frame where sinusoidal waves collapse into pure time-invariant DC quantities.

In this lesson, we break down the coordinate transformations that form the mathematical engine of modern electric vehicle Field-Oriented Control (FOC):

  1. The Control Dilemma: Tracking AC Quantities with PI Regulators
  2. The Clarke Transform: Three-Phase to Stationary Orthogonal (a−b−c→α−βa-b-c \to \alpha-\beta)
  3. The Park Transform: Transitioning to the Synchronous Frame (α−β→d−q\alpha-\beta \to d-q)
  4. Physical Interpretation: Direct (dd) vs. Quadrature (qq) Axes
  5. Inverse Transformations: Returning to the Physical Phase Domain
  6. Real-Time Execution Pipeline in Inverter Microcontrollers

1. The AC Tracking Challenge

Consider an electric vehicle cruising at 150 km/h150\text{ km/h} with an 8-pole (p=4p=4) traction motor rotating at 10,000 rpm10,000\text{ rpm}. The electrical fundamental frequency of the stator currents is:

fe=p⋅n60=4×10,00060≈667 Hzf_e = \frac{p \cdot n}{60} = \frac{4 \times 10,000}{60} \approx 667\text{ Hz}

The phase currents ia(t),ib(t),ic(t)i_a(t), i_b(t), i_c(t) reverse polarity 667 times per second.

A standard PI controller transfer function:

C(s)=Kp+KisC(s) = K_p + \frac{K_i}{s}

provides infinite gain only at DC (s=0,ω=0s = 0, \omega = 0), guaranteeing zero steady-state error for constant setpoints. However, when presented with a sinusoidal signal at 667 Hz667\text{ Hz}, the integrator gain drops inversely with frequency (∣Ki/jω∣→0|K_i / j\omega| \to 0). The controller lags behind the actual physical waveform, causing phase distortion and degraded torque production.

The Solution: Attach the observer coordinate frame directly to the rotating rotor flux vector! Just as two passengers sitting inside a high-speed train appear stationary relative to each other, three-phase AC currents appear as completely static DC currents when observed from a coordinate frame rotating synchronously with the rotor field.


2. Clarke Transformation (a−b−c→α−βa-b-c \to \alpha-\beta)

Formulated by Edith Clarke in the 1930s, this transform maps three spatially distributed phase axes separated by 120∘120^\circ (a,b,ca, b, c) onto a two-axis stationary orthogonal Cartesian frame (α,β\alpha, \beta).

In a balanced three-phase system with an isolated neutral point, Kirchhoff’s Current Law dictates:

ia+ib+ic=0i_a + i_b + i_c = 0

Because the three phase variables are constrained by this relationship, the system possesses only two degrees of freedom. The third phase variable contains no independent information.

Clarke Reference Frame:
          beta
           ^
           |       Phase b
           |       /
           |      /
           |     /
           |    / 120°
           +---+----------------> alpha (Aligned with Phase a)
              / \
             /   \ 120°
            /     \
           /       \
      Phase c

Amplitude-Invariant Clarke Matrix:

To ensure that peak sinusoidal phase current equals the resultant vector magnitude in the α−β\alpha-\beta plane, the amplitude-invariant Clarke transform is formulated as:

[iαiβ]=23[1−12−12032−32][iaibic]\begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \frac{2}{3} \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \\ i_c \end{bmatrix}

Substituting ia+ib+ic=0i_a + i_b + i_c = 0 simplifies real-time microcontroller calculation, requiring only two current sensors:

iα=iai_\alpha = i_a

iβ=13(ia+2ib)=ia+2ib3i_\beta = \frac{1}{\sqrt{3}} (i_a + 2 i_b) = \frac{i_a + 2 i_b}{\sqrt{3}}

The α\alpha axis is fixed to the magnetic axis of Phase A, while the β\beta axis leads α\alpha by 90∘90^\circ electrical. Both axes remain stationary relative to the stator.


3. Park Transformation (α−β→d−q\alpha-\beta \to d-q)

Published by Robert H. Park in 1929, this transformation projects the stationary α−β\alpha-\beta orthogonal variables into a synchronous rotating reference frame (d−qd-q) locked to the rotor’s permanent magnet flux vector.

Executing this rotation requires precise, instantaneous knowledge of the rotor electrical angle (θe\theta_e), supplied by an automotive resolver or absolute encoder:

Park Transformation Frame Alignment:
              q-axis (Quadrature / Torque)
               ^
               |       beta
               |      /
               |     /
               |    /   d-axis (Direct / Flux)
               |   /   ^
               |  /   /
               | /   / theta_e (Rotor Electrical Angle)
               +----+-------------> alpha

Park Transformation Matrix:

Applying a planar rotation matrix by angle θe\theta_e yields:

[idiq]=[cos⁡θesin⁡θe−sin⁡θecos⁡θe][iαiβ]\begin{bmatrix} i_d \\ i_q \end{bmatrix} = \begin{bmatrix} \cos\theta_e & \sin\theta_e \\ -\sin\theta_e & \cos\theta_e \end{bmatrix} \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix}

In algebraic scalar form:

id=iαcos⁡θe+iβsin⁡θei_d = i_\alpha \cos\theta_e + i_\beta \sin\theta_e

iq=−iαsin⁡θe+iβcos⁡θei_q = -i_\alpha \sin\theta_e + i_\beta \cos\theta_e


4. Physical Meaning of d−qd-q Variables

In steady-state operation at constant speed and torque, idi_d and iqi_q are completely time-invariant DC quantities!

  1. Direct Axis Current (IdI_d): Aligned parallel to the rotor magnetic flux axis. Controls magnetization of the machine:
    • Id=0I_d = 0: Natural permanent magnet flux is unperturbed (standard SPMSM base speed mode).
    • Id<0I_d < 0: Injected counter-flux weakens net air-gap flux (Field Weakening), enabling high-speed operation above base speed.
  2. Quadrature Axis Current (IqI_q): Positioned 90∘90^\circ electrical ahead of the direct axis. Directly controls the electromagnetic torque output.

ANALOGY — The Park transform decouples the complex, coupled AC machine into two independent SISO (Single-Input Single-Output) channels, behaving exactly like a separately excited DC machine with independent field (IdI_d) and armature (IqI_q) control.


5. Inverse Transformations (Inverse Park & Inverse Clarke)

After the PI controllers process errors in the DC domain to generate required voltage demands (Vd∗,Vq∗V_d^*, V_q^*), these commands must be mapped back to the physical three-phase stator windings.

Inverse Park Transform (d−q→α−βd-q \to \alpha-\beta):

[Vα∗Vβ∗]=[cos⁡θe−sin⁡θesin⁡θecos⁡θe][Vd∗Vq∗]\begin{bmatrix} V_\alpha^* \\ V_\beta^* \end{bmatrix} = \begin{bmatrix} \cos\theta_e & -\sin\theta_e \\ \sin\theta_e & \cos\theta_e \end{bmatrix} \begin{bmatrix} V_d^* \\ V_q^* \end{bmatrix}

Inverse Clarke Transform (α−β→a−b−c\alpha-\beta \to a-b-c):

Va∗=Vα∗V_a^* = V_\alpha^*

Vb∗=−12Vα∗+32Vβ∗V_b^* = -\frac{1}{2} V_\alpha^* + \frac{\sqrt{3}}{2} V_\beta^*

Vc∗=−12Vα∗−32Vβ∗V_c^* = -\frac{1}{2} V_\alpha^* - \frac{\sqrt{3}}{2} V_\beta^*


6. Real-Time Execution Pipeline in Inverter Microcontrollers

In automotive traction inverters (e.g. Infineon AURIX TC3xx or TI C2000), this mathematical loop runs continuously at the PWM carrier rate (10 kHz−20 kHz10\text{ kHz} - 20\text{ kHz}, loop time 50−100 μs50 - 100\ \mu s):

       [ Phase Currents: ia, ib ] ----> (Clarke) ----> [ i_alpha, i_beta ]
                                                              |
       [ Resolver: theta_e ] ------------------------> (Park)
                                                              |
                                                              v
   I_d_ref ----(+)---> [ PI Controller ] ---> V_d*          [ i_d, i_q ]
                ^                                             |     |
                |---------------------------------------------+     |
                                                                    |
   I_q_ref ----(+)---> [ PI Controller ] ---> V_q*                   |
                ^                                                   |
                |---------------------------------------------------+
                                |
                                v
               [ V_d*, V_q*, theta_e ]
                                |
                                v
                          (Inverse Park)
                                |
                                v
                     [ V_alpha*, V_beta* ]
                                |
                                v
                      (SVPWM Modulator)
                                |
                                v
                     [ 6x Gate Drive PWMs ]

7. Summary

  • Tracking high-frequency three-phase AC currents directly with linear PI controllers is impossible due to inevitable phase lag.
  • The Clarke transform projects three-phase 120∘120^\circ currents into a two-axis stationary orthogonal frame (α−β\alpha-\beta).
  • The Park transform uses instantaneous rotor electrical angle (θe\theta_e) to rotate the frame into the synchronous d−qd-q coordinates.
  • In the d−qd-q frame, AC waveforms collapse into constant DC values, allowing decoupled control of magnetic flux (IdI_d) and torque (IqI_q).
  • Inverse Park and Inverse Clarke transforms convert controller outputs back into physical stator voltages for Space Vector PWM modulation.

Next Lesson

Technical Diagrams

A vector diagram showing 120-degree a-b-c axes, orthogonal alpha-beta axes, and rotating d-q rotor axes.
Clarke and Park Frame Transformations — Transformation from 3-phase a-b-c to stationary α-β and rotating synchronous d-q frames (MOTOR-16).

Quiz

Basic

What does the Clarke transform convert?

Basic

What does the Park transform convert?

Intermediate

What does the q-axis component (Iq) control?

Intermediate

What is the d-axis component (Id) related to?

Advanced

What is the main benefit of the transforms?

Advanced

What is the correct order in the FOC chain?