Figure 1 below represents a schematic of a DC motor. This device converts
electrical energy (when operating as a "motor") or it can convert mechanical
energy into electrical energy when operating as a "generator".
In motor operation it is controlled by input to its armature (through brushes
and a commutator). It also has a magnetic field, which is either supplied by a
separate voltage supply or is furnished by a strong permanent magnet. When the
armature is conducting current in the magnetic field, it produces a mechanical
torque on the shaft proportional to the current . As it rotates in the magnetic field
it also generates a voltage proportional to the speed of rotation
.
To model the motor, both the mechanical side including any added load and the
electrical circuit side must be modeled. On the circuit side, the inductor is
the energy storage element so that
where the generated voltage must be subtracted from the applied armature
voltage. On the mechanical side F=ma is applied in rotational form so that
These equations are then the basis of the state equations which describe the
motor behavior in compact form. Before combining, we recognize that the total
inertia of motor and added load is and that the generated
voltage
with the
torque produced by the motor proportional to current as
. The frictional torque
is generally related to
motor speed but represents any type of friction tending to slow down the motor.
The state equations finally become
Once appropriate parameter values have been obtained for the constants above,
the equations can be used to simulate motor transient behavior with MatLab. With
a linear representation for friction torque in the form , the routines lsim or
step can be used. With a nonlinear friction representation (or linear as
well), the ode23 or similar nonlinear solver can be used.