The inputs are the applied voltage vin and load torque TL, and the outputs are the motor current i and angular velocity ω. The parameters are the motor inductance L, resistance R, motor constant K, rotor inertia J, and viscous friction coefficient b.
We can eliminate i from Eq. (1) to obtain a single equation of motion in terms of ω. 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:
For motors that are well-designed and well-built, the inductance L and viscous friction b are often quite small compared to the other parameters. Therefore, we can make the approximations L≈0 and b≈0. We do not assume that the resistance R is small, since even an ideal motor contains a large length of copper wire and resistance cannot be neglected. Setting L=0 and b=0 in Eq. (4) gives
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.
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 vin and TL and setting ω˙=0 in our equations of motion (4). This produces
The stall torqueTstall is the load torque required to reduce the speed to zero (ω=0). This is the maximum torque the motor can provide. This is also when current is maximized, so there is a corresponding stall current. From Eq. (7), we have
These calculations confirm the motor design trade-off we discussed in the previous section: if bR≪K2, using a larger K will increase the max torque but decrease the max speed, while using a smaller K will increase the max speed but decrease the max torque.
Returning to the full governing equations (1), we can multiply the first equation by i and the second equation by ω to obtain power equations for the electrical and mechanical domains:
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:
Power delivered to the load: TLω
Power lost to electrical resistance: Ri2
Power lost to viscous friction: bω2
Rate of change of stored magnetic energy in the inductor: dtd(21Li2)
Rate of change of kinetic energy of the rotor: dtd(21Jω2)
In steady state operation, we can set the time derivatives to zero, and we obtain:
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.
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 vin to the current i, shaft angle θ1, and load angle θ3. We can assume our motor has parameters K,b,L,R.
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 F between the pinion and gear teeth.
We have 7 equations in 7 unknowns: i,vb,T,F,θ1,θ2,θ3. This is a complete set of equations of motion for the system. We start by eliminating vb and T using the second and third equations.
Of course, this could be simplified further by eliminating i as well (easier in the Laplace domain!), but we’ll stop here. We have derived a set of three ODEs relating the input voltage vin to the current i, shaft angle θ1, and load angle θ3.
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=−Tin, and the input voltage becomes a load voltage vin=−vL. 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:
If the generator is being used to drive some load RL, then we can substitute vL=RLi. This is analogous to what would happen if a motor were driving some speed-dependent load TL=bLω 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=0): min i, max ω, max vb
Open circuit (i=0, T=0): max ω, max vb
Stall (ω=0, vb=0): max i, max T
Short circuit (vL=0): min ω, max i, max T
The first row is the “no-load” case: nothing connected to the motor shaft, no load connected to the output terminals of the generator. These cases result in the largest speed (no load torque for the motor; no current for the generator) and therefore the largest back EMF vb.
The second row is the “stall/short-circuit” extreme-loading case: the motor shaft is locked (stall) and the generator terminals are short-circuited. These cases result in the largest current (stall current for the motor; short-circuit current for the generator) and therefore the largest motor torque T and the most heat dissipated in the windings.
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.