Skip to main content

State equations of DC motor circuit

Short answer

Define state vector [i_a, i_f, ω_m, θ_m]^T. For linear analysis with constant field flux, the state equations are ̇i_a = -(R_a/L_a)i_a - (K_b/L_a)ω_m + (1/L_a)E_a; ̇i_f = -(R_f/L_f)i_f + (1/L_f)e_f; ̇ω_m = (K_t/J_m)i_a - (B_m/J_m)ω_m; ̇θ_m = ω_m.

Develop state equation for motor circuit below. [Figure: DC motor; armature circuit with supply Ea, resistance Ra, inductance La, armature current Ia and back emf Eb; separate field circuit with supply ef, resistance Rf, inductance Lf and field current If; motor torque Tm, speed ωm, angle θm; load inertia Jm and friction Bm]

Take the currents in the two inductances and the mechanical speed and angle as state variables:

x1=ia,x2=if,x3=ωm,x4=θmx_1 = i_a,\quad x_2 = i_f,\quad x_3 = \omega_m,\quad x_4 = \theta_m

Basic equations

  • Armature circuit:   Ladiadt+Raia+eb=Ea\;L_a\dfrac{di_a}{dt} + R_ai_a + e_b = E_a
  • Field circuit:   Lfdifdt+Rfif=ef\;L_f\dfrac{di_f}{dt} + R_fi_f = e_f
  • Back emf:   eb=Kb ωm\;e_b = K_b\,\omega_m (with Kb∝K_b \propto field flux)
  • Motor torque:   Tm=Kt ia\;T_m = K_t\,i_a (with Kt∝K_t \propto field flux)
  • Load:   Jmdωmdt+Bmωm=Tm\;J_m\dfrac{d\omega_m}{dt} + B_m\omega_m = T_m, and dθmdt=ωm\dfrac{d\theta_m}{dt} = \omega_m

Strictly, flux is proportional to ifi_f, so Tm=KifiaT_m = K i_f i_a and eb=Kifωme_b = K i_f\omega_m, which are non-linear. For a linear model the field flux is taken as constant at its operating value (armature control), so KtK_t and KbK_b are constants.

State equations

x˙1=−RaLax1−KbLax3+1LaEax˙2=−RfLfx2+1Lfefx˙3=KtJmx1−BmJmx3x˙4=x3\begin{aligned} \dot{x}_1 &= -\frac{R_a}{L_a}x_1 - \frac{K_b}{L_a}x_3 + \frac{1}{L_a}E_a \\ \dot{x}_2 &= -\frac{R_f}{L_f}x_2 + \frac{1}{L_f}e_f \\ \dot{x}_3 &= \frac{K_t}{J_m}x_1 - \frac{B_m}{J_m}x_3 \\ \dot{x}_4 &= x_3 \end{aligned}

Matrix form

[i˙ai˙fω˙mθ˙m]=[−RaLa0−KbLa00−RfLf00KtJm0−BmJm00010][iaifωmθm]+[1La001Lf0000][Eaef]\begin{bmatrix} \dot{i}_a \\ \dot{i}_f \\ \dot{\omega}_m \\ \dot{\theta}_m \end{bmatrix} = \begin{bmatrix} -\dfrac{R_a}{L_a} & 0 & -\dfrac{K_b}{L_a} & 0 \\ 0 & -\dfrac{R_f}{L_f} & 0 & 0 \\ \dfrac{K_t}{J_m} & 0 & -\dfrac{B_m}{J_m} & 0 \\ 0 & 0 & 1 & 0 \end{bmatrix}\begin{bmatrix} i_a \\ i_f \\ \omega_m \\ \theta_m \end{bmatrix} + \begin{bmatrix} \dfrac{1}{L_a} & 0 \\ 0 & \dfrac{1}{L_f} \\ 0 & 0 \\ 0 & 0 \end{bmatrix}\begin{bmatrix} E_a \\ e_f \end{bmatrix}

Output (shaft position): y=θm=[0    0    0    1] xy = \theta_m = [0\;\;0\;\;0\;\;1]\,x (or [0    0    1    0] x[0\;\;0\;\;1\;\;0]\,x for speed).

With constant field the armature-controlled motor uses only iai_a, ωm\omega_m, θm\theta_m, giving Ωm(s)Ea(s)=Kt(Las+Ra)(Jms+Bm)+KtKb\dfrac{\Omega_m(s)}{E_a(s)} = \dfrac{K_t}{(L_as+R_a)(J_ms+B_m) + K_tK_b}.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Control Systems chapter 8 questions →