Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Electromechanical systems

Simplified DC motor models

Recall the electromechanical model of a DC motor from the previous section.

Model circuit for a brushed DC motor, showing electrical and mechanical components.

Figure 1:Model circuit for a brushed DC motor, showing electrical and mechanical components.

Also recall the equations of motion we derived.

Ldidt+Ri+Kω=vinJω˙+bωKi=TL\boxed{\begin{aligned} L \frac{\dd i}{\dd t} + R i + K \omega &= v_\textsf{in} \\ J \dot \omega + b\,\omega - K i &= - T_L \end{aligned}}

The inputs are the applied voltage vinv_\textsf{in} and load torque TLT_L, and the outputs are the motor current ii and angular velocity ω\omega. The parameters are the motor inductance LL, resistance RR, motor constant KK, rotor inertia JJ, and viscous friction coefficient bb.

Single ODE model

We can eliminate ii from Eq. (1) to obtain a single equation of motion in terms of ω\omega. This is most easily done in the Laplace domain, so let’s start by taking the Laplace transform of Eq. (1) assuming zero initial conditions:

(Ls+R)I+KΩ=Vin(Js+b)ΩKI=TL\begin{aligned} (L s + R) I + K \Omega &= V_\textsf{in} \\ (J s + b)\Omega - K I &= - T_L \end{aligned}

Solving the second equation for II and substituting into the first gives

[(Ls+R)(Js+b)+K2]Ω=KVin(Ls+R)TL\bigl[(L s + R)(J s + b) + K^2\bigr] \Omega = K V_\textsf{in} - (Ls+R) T_L

We can expand this and transform back to the time domain to obtain

JLω¨+(JR+bL)ω˙+(bR+K2)ω=KvinLT˙LRTL\boxed{J L\, \ddot\omega + (J R + b L)\, \dot\omega + (b R + K^2)\, \omega = K v_\textsf{in} - L\, \dot T_L - R\, T_L}

This is a second-order ODE in ω\omega (just like a spring-mass damper or RLC circuit) that captures the full electromechanical dynamics of the DC motor.

Ideal motor model

For motors that are well-designed and well-built, the inductance LL and viscous friction bb are often quite small compared to the other parameters. Therefore, we can make the approximations L0L \approx 0 and b0b \approx 0. We do not assume that the resistance RR is small, since even an ideal motor contains a large length of copper wire and resistance cannot be neglected. Setting L=0L=0 and b=0b=0 in Eq. (4) gives

JRω˙+K2ω=KvinRTL\boxed{J R\, \dot\omega + K^2\, \omega = K v_\textsf{in} - R\, T_L}

This is a first-order ODE in ω\omega that describes the dynamics of an ideal DC motor.

Motor performance analysis

With our models in hand, we can begin to answer questions about DC motor performance. In this section, we will look at the effect of motor parameters on speed, torque, and efficiency.

Steady-state speed

As we saw in the previous section, as the DC motor spins faster, it generates an increasing back EMF that opposes the applied voltage. So we expect the motor to reach a steady-state speed. We can find this speed by assuming constant inputs vinv_\textsf{in} and TLT_L and setting ω˙=0\dot\omega = 0 in our equations of motion (4). This produces

(bR+K2)ω=KvinRTL(b R + K^2)\, \omega = K v_\textsf{in} - R\, T_L

Solving for ω\omega gives the steady-state speed. We can similarly solve for the steady-state current ii by setting didt=0\frac{\dd i}{\dd t} = 0 in Eq. (1). The results are:

ωss=KvinRTLbR+K2,iss=bvin+KTLbR+K2\boxed{\omega_\textsf{ss} = \frac{K v_\textsf{in} - R\, T_L}{b R + K^2}, \quad i_\textsf{ss} = \frac{b v_\textsf{in}+K T_L}{b R+K^2}}

The steady-state speed changes in predictable as a function of the motor parameters:

No-load speed and stall torque

Two important performance metrics are the no-load speed and the stall torque.

These calculations confirm the motor design trade-off we discussed in the previous section: if bRK2bR \ll K^2, using a larger KK will increase the max torque but decrease the max speed, while using a smaller KK will increase the max speed but decrease the max torque.

Power balance

Returning to the full governing equations (1), we can multiply the first equation by ii and the second equation by ω\omega to obtain power equations for the electrical and mechanical domains:

i(Ldidt+Ri+Kω)=viniω(Jω˙+bωKi)=TLω\begin{aligned} i \bigl(L \frac{\dd i}{\dd t} + R i + K \omega\bigr) &= v_\textsf{in} i \\ \omega \bigl(J \dot \omega + b\,\omega - K i\bigr) &= - T_L \,\omega \end{aligned}

Now use the product rule: ωω˙=ddt(12ω2)\omega \dot \omega = \frac{\dd}{\dd t}(\frac{1}{2}\omega^2) and similarly for ii. This gives

ddt(12Li2)+Ri2+Kiω=viniddt(12Jω2)+bω2Kiω=TLω\begin{aligned} \frac{\dd}{\dd t} \left( \frac{1}{2} L i^2 \right) + R i^2 + K i \omega &= v_\textsf{in} i \\ \frac{\dd}{\dd t} \left( \frac{1}{2} J \omega^2 \right) + b\,\omega^2 - K i \omega &= - T_L \,\omega \end{aligned}

Add these equations together to obtain

vini=TLω+Ri2+bω2+ddt(12Li2+12Jω2)\boxed{v_\textsf{in} i = T_L \,\omega + R i^2 + b\,\omega^2 + \frac{\dd}{\dd t} \left( \frac{1}{2} L i^2 + \frac{1}{2} J \omega^2 \right)}

This is an energy balance equation for the DC motor! The left-hand side is the electrical power supplied to the motor, while the right-hand side breaks down into five terms:

viniPin  =  TLωPout  +  Ri2+bω2Plost\underbrace{v_\textsf{in} i}_{P_\textsf{in}} \;=\; \underbrace{T_L \,\omega}_{P_\textsf{out}} \;+\; \underbrace{R i^2 + b\,\omega^2}_{P_\textsf{lost}}

We can say a lot more about power and efficiency of DC motors, but this is a good starting point. For a deeper dive, see the appendix on motor performance.

Example: Geared motor

In the problem below, we analyze a DC motor driving a load through a gearbox. Our task is to derive as set of ODEs relating the input voltage vinv_\textsf{in} to the current ii, shaft angle θ1\theta_1, and load angle θ3\theta_3. We can assume our motor has parameters K,b,L,RK, b, L, R.

Motor driving a load through a gearbox.

Figure 2:Motor driving a load through a gearbox.

Solution: The system consists of one circuit (single loop) and three rotational mechanical components (the motor shaft/pinion, one gear, and the load). We also anticipate one kinematic constraint from the gearbox, since the gear and pinion move together.

We will skip free-body diagrams and write the equations of motion directly. Let’s assume a contact force FF between the pinion and gear teeth.

Ldidt+Ri+vb=vin(motor RL circuit)vb=Kθ˙1(back EMF)T=Ki(torque constant)J1θ¨1+bθ˙1=Tr1F(motor shaft dynamics)J2θ¨2+k(θ2θ3)=r2F(gear dynamics)J3θ¨3+cθ˙3+k(θ3θ2)=0(load dynamics)r1θ1=r2θ2(kinematic constraint)\begin{aligned} L \frac{\dd i}{\dd t} + R i + v_b &= v_\textsf{in} && \textsf{(motor RL circuit)}\\ v_b &= K \dot\theta_1 && \textsf{(back EMF)}\\ T &= K i && \textsf{(torque constant)}\\ J_1 \ddot\theta_1 + b \dot\theta_1 &= T - r_1 F && \textsf{(motor shaft dynamics)}\\ J_2 \ddot\theta_2 + k(\theta_2-\theta_3) &= r_2 F && \textsf{(gear dynamics)}\\ J_3 \ddot\theta_3 + c \dot\theta_3 +k(\theta_3-\theta_2) &= 0 && \textsf{(load dynamics)}\\ r_1\theta_1 &= r_2 \theta_2 && \textsf{(kinematic constraint)} \end{aligned}

We have 7 equations in 7 unknowns: i,vb,T,F,θ1,θ2,θ3i, v_b, T, F, \theta_1, \theta_2, \theta_3. This is a complete set of equations of motion for the system. We start by eliminating vbv_b and TT using the second and third equations.

Ldidt+Ri+Kθ˙1=vinJ1θ¨1+bθ˙1Ki=r1FJ2θ¨2+k(θ2θ3)=r2FJ3θ¨3+cθ˙3+k(θ3θ2)=0r1θ1=r2θ2\begin{aligned} L \frac{\dd i}{\dd t} + R i + K \dot\theta_1 &= v_\textsf{in} \\ J_1 \ddot\theta_1 + b \dot\theta_1 - K i &= - r_1 F \\ J_2 \ddot\theta_2 + k(\theta_2-\theta_3) &= r_2 F \\ J_3 \ddot\theta_3 + c \dot\theta_3 +k(\theta_3-\theta_2) &= 0 \\ r_1\theta_1 &= r_2 \theta_2 \end{aligned}

Now we’re down to 5 equations in 5 unknowns: i,F,θ1,θ2,θ3i, F, \theta_1, \theta_2, \theta_3. Next, we can eliminate θ2\theta_2 using the kinematic constraint, θ2=r1r2θ1\theta_2 = \frac{r_1}{r_2} \theta_1. This yields

Ldidt+Ri+Kθ˙1=vinJ1θ¨1+bθ˙1Ki=r1Fr1r2J2θ¨1+k(r1r2θ1θ3)=r2FJ3θ¨3+cθ˙3+k(θ3r1r2θ1)=0\begin{aligned} L \frac{\dd i}{\dd t} + R i + K \dot\theta_1 &= v_\textsf{in} \\ J_1 \ddot\theta_1 + b \dot\theta_1 - K i &= - r_1 F \\ \frac{r_1}{r_2} J_2 \ddot\theta_1 + k\left(\frac{r_1}{r_2}\theta_1-\theta_3\right) &= r_2 F \\ J_3 \ddot\theta_3 + c \dot\theta_3 +k\left(\theta_3-\frac{r_1}{r_2}\theta_1\right) &= 0 \end{aligned}

Next, eliminate FF using the second and third equations:

Ldidt+Ri+Kθ˙1=vin(r2r1J1+r1r2J2)θ¨1+r2r1bθ˙1r2r1Ki+k(r1r2θ1θ3)=0J3θ¨3+cθ˙3+k(θ3r1r2θ1)=0\boxed{\begin{aligned} L \frac{\dd i}{\dd t} + R i + K \dot\theta_1 &= v_\textsf{in} \\ \left(\frac{r_2}{r_1}J_1 + \frac{r_1}{r_2}J_2\right) \ddot\theta_1 + \frac{r_2}{r_1}b \dot\theta_1 - \frac{r_2}{r_1} K i + k\left(\frac{r_1}{r_2}\theta_1-\theta_3\right) &= 0 \\ J_3 \ddot\theta_3 + c \dot\theta_3 +k\left(\theta_3-\frac{r_1}{r_2}\theta_1\right) &= 0 \end{aligned}}

Of course, this could be simplified further by eliminating ii as well (easier in the Laplace domain!), but we’ll stop here. We have derived a set of three ODEs relating the input voltage vinv_\textsf{in} to the current ii, shaft angle θ1\theta_1, and load angle θ3\theta_3.

Generators

A generator is the reverse of a motor: it converts mechanical power into electrical power. However, the same basic principles apply. In fact, the exact same equations (1) govern the dynamics of a DC generator, but they need to be interpreted differently.

Now, the load torque becomes an input torque: TL=TinT_L = -T_\textsf{in}, and the input voltage becomes a load voltage vin=vLv_\textsf{in} = -v_L. We switched the signs in our convention so that the current and angular velocity in our original diagram point in the same direction as before when the generator is running. The equations of motion therefore become:

Ldidt+Ri+Kω=vLJω˙+bωKi=Tin\boxed{\begin{aligned} L \frac{\dd i}{\dd t} + R i + K \omega &= -v_L \\ J \dot \omega + b\,\omega - K i &= T_\textsf{in} \end{aligned}}

If the generator is being used to drive some load RLR_L, then we can substitute vL=RLiv_L = R_L i. This is analogous to what would happen if a motor were driving some speed-dependent load TL=bLωT_L = b_L \omega such as a fan or a drill. The generator follows a similar causal chain of events as the motor (see Causal chain of events in a DC motor):

There is also a nice analogy between the motor and generator extreme use cases:

Motor (Electrical to Mechanical)Generator (Mechanical to Electrical)
No-load (TL=0T_L=0): min ii, max ω\omega, max vbv_bOpen circuit (i=0i=0, T=0T=0): max ω\omega, max vbv_b
Stall (ω=0\omega=0, vb=0v_b=0): max ii, max TTShort circuit (vL=0v_L=0): min ω\omega, max ii, max TT

Both extremes are inefficient and ideally we would want both machines to operate somewhere in between these two extremes. For more discussion on power and efficiency, see the appendix on motor performance. A similar analysis can be carried out for generators.


Test your knowledge

Solution to Exercise 1 #

The external forces acting on the plunger are the solenoid force FsF_s and the spring force Fk=kxF_k = - k x. Applying Newton’s second law gives

mx¨=Fs+Fk=Ksikxm \ddot x = F_s + F_k = K_s i - k x

The solenoid circuit equation the same as with a DC motor:

vin=Ldidt+Ri+vb=Ldidt+Ri+Kbx˙v_\text{in} = L \frac{\dd i}{\dd t} + R i + v_b = L \frac{\dd i}{\dd t} + R i + K_b \dot x

Therefore, our equations of motion are:

mx¨+kxKsi=0Ldidt+Ri+Kbx˙=vin\begin{aligned} m \ddot x + k x - K_s i &= 0 \\ L \frac{\dd i}{\dd t} + R i + K_b \dot x &= v_\text{in} \end{aligned}

We can eliminate ii by solving the first equation for ii and substituting into the second:

i=mx¨+kxKsLddt(mx¨+kxKs)+R(mx¨+kxKs)+Kbx˙=vin\begin{gathered} i = \frac{m \ddot x + k x}{K_s} \\ L \frac{\dd}{\dd t} \left( \frac{m \ddot x + k x}{K_s} \right) + R \left( \frac{m \ddot x + k x}{K_s} \right) + K_b \dot x = v_\text{in} \end{gathered}

Now expand and simplify to obtain the final ODE relating the input voltage vinv_\text{in} to the plunger displacement xx:

mLKsx¨˙+RmKsx¨+(kLKs+Kb)x˙+RkKsx=vin\boxed{ \frac{m L}{K_s} \dot{\ddot{x}} + \frac{R m}{K_s} \ddot x + \left( \frac{k L}{K_s} + K_b \right) \dot x + \frac{R k}{K_s} x = v_\text{in} }