Skip to main content
Engineering LibreTexts

1.7: DC Motor Model

  • Page ID
    17747
  • A DC motor (Figure 1.11) represents an an electro-mechanical system that draws electrical energy and converts it into mechanical energy. In an armature-controlled DC motor, the input is the armature voltage, \(V_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[1]/span[1]/span, line 1, column 1
    
    (t)\), and the output is motor speed, \(\omega (t)\), or the shaft angular position \(\theta (t)\).

    In order to develop a model of the DC motor, let \(i_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[1]/span, line 1, column 1
    
    (t)\) denote the armature current, and \(L\) and \(R\) denote the electrical side inductance and the coil resistance. The mechanical side inertia and friction are denoted as \(J\) and \(b\), respectively. Let \(k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[6]/span, line 1, column 1
    
    \)
    denote the torque constant and \(k_{b}\) the motor constant; then, the dynamic equations of the DC motor for the electrical and mechanical sides are given as: \[L\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[8]/span[1], line 1, column 1
    
    \omega (t)=V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[8]/span[2], line 1, column 1
    
    (t)\]
    \[J\frac
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[9]/span[1], line 1, column 1
    
    i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[9]/span[2], line 1, column 1
    
    (t)=0\]
    Using the Laplace transform, these equations are transformed into algebraic equations as: \[(Ls+R)i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[10]/span[1], line 1, column 1
    
    (s)+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[10]/span[2], line 1, column 1
    
    \omega (s)=V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[10]/span[3], line 1, column 1
    
    (s)\]
    \[(Js+b)\omega (s)-k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[11]/span[1], line 1, column 1
    
    i_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[2]/span[11]/span[2], line 1, column 1
    
    (s)=0\]
    image

    Figure 12: An armature-controlled DC motor.

    In order to obtain a single input-output relation for the DC motor, we may solve the first euqation for \(i_a(s)\) and substitute in the second equation. Alternatively, we multiply the first equation by \(k_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[2]/span, line 1, column 1
    
    \), the second equation by \((Ls+R)\), and add them together to obtain: \[(Ls+R)(Js+b)\omega (s)+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[4]/span[1], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[4]/span[2], line 1, column 1
    
    \omega (s)=k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[4]/span[3], line 1, column 1
    
    V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[4]/span[4], line 1, column 1
    
    (s)\]
    From the above equation, the transfer function of the DC motor with voltage input and angular velocity output is derived as: \[\frac{\omega (s)}{V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[5]/span[1], line 1, column 1
    
    (s)} =\frac{k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[5]/span[2], line 1, column 1
    
    }{(Ls+R)(Js+b)+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[5]/span[3], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[5]/span[4], line 1, column 1
    
    }\]
    The angular position \(\theta \left(s\right)\) is obtained by integrating the angular velocity \(\omega (s)\); hence, the transfer function from \(V_a(s)\) to the angular displacement \(\theta \left(s\right)\) is given as: \[\frac{\theta (s)}{V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[10]/span[1], line 1, column 1
    
    (s)} =\frac{k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[10]/span[2], line 1, column 1
    
    }{s\left[(Ls+R)(Js+b)+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[10]/span[3], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[10]/span[4], line 1, column 1
    
    \right]}\]
    The denominator polynomial in the motor transfer function typically has real and distinct roots, which are reciprocal of the time constants contributed by the electrical and the mechanical sides of the motor \((\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[11]/span[1], line 1, column 1
    
    ,\; \tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[11]/span[2], line 1, column 1
    
    )\)
    . In terms of the time constants, the DC motor model is alternatively described as: \[\frac{\omega (s)}{V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[12]/span[1], line 1, column 1
    
    (s)} =\frac{k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[12]/span[2], line 1, column 1
    
    /JL}{(s+1/\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[12]/span[3], line 1, column 1
    
    )(s+1/\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[4]/span[12]/span[4], line 1, column 1
    
    )}\]
    Of the two time constants, the electrical constant that represents the rate of build up of electrical current is relatively small compared to the mechanical constat that represents the build up of motor speed. Hence, the slower mechanical time constant dominates the overall motor response to a change in armature voltage, as shown in the following example.

    Example 1.11: A DC motor model

    We assume that the parameter values for a small DC motor are given as: \(R=1\Omega ,\; L=0.01H,\; J=0.01\; kgm^{2} ,\; b=0.1\; \frac{N-s}{rad} ,\; {\rm a}nd\; k_{t} =k_{b} =0.05\); then, the transfer function of the DC motor is obtained as: \[\frac{\omega (s)}{V_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[6]/span[2]/span, line 1, column 1
    
    (s)} =\frac{500}{(s+100)(s+10)+25} =\frac{500}{(s+10.28)(s+99.72)}\] The two time constants of the DC motor are given as: \(\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[6]/span[3]/span[1], line 1, column 1
    
    \cong 1\; 0{\rm m}s,\; \tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[6]/span[3]/span[2], line 1, column 1
    
    \cong 100\; {\rm m}s\)
    . We may note that \({\tau }_e\) matches the time constant of an RL circuit (\({\tau }_e=L/R\)) and \({\tau }_m\) matches the time constant of inertial mass in the presence of friction (\({\tau }_m=J/b\)).

    Assuming a unit-step input, the output of the DC motor is given as: \[\omega \left(s\right)=\frac{500}{s\left(s+10.28\right)\left(s+99.72\right)}=\frac{0.488}{s}-\frac{0.544}{s+10.28}+\frac{0.056}{s+99.72}\] By applying the inverse Laplace transform, the time-domain output is given as (Figure 13a): \[\omega \left(t\right)=\left[0.488-0.544e^{-10.28t}+0.056e^{-99.72t}\right]u\left(t\right)\]

    Simplified DC motor Model. The DC motor model developed above is a second-order ODE model with two unequal (electrical and mechanical) time constants, where \(\tau _

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[8]/span[1]/span[1], line 1, column 1
    
    <<\; \tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[8]/span[1]/span[2], line 1, column 1
    
    \). Further, we observe that the motor response is dominated by the slower time constat \(\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[8]/span[2]/span, line 1, column 1
    
    \)
    . Hence, we explore the possibility of describing the DC motor in terms of a first-order model with a single time constant.

    A simplified model of the DC motor is obtained by ignoring the coil inductance (\(L\to 0\)), i.e., effectively ignoring the electrical time constant. The motor speed equation is modified as: \[R(Js+b)\omega (s)+k_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[2]/span[1], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[2]/span[2], line 1, column 1
    
    \omega (s)=k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[2]/span[3], line 1, column 1
    
    V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[2]/span[4], line 1, column 1
    
    (s)\] The resulting first-order dc motor transfer funciton is given as: \[\frac{\omega (s)}{V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[3]/span[1], line 1, column 1
    
    (s)} =\frac{k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[3]/span[2], line 1, column 1
    
    /R}{Js+b+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[3]/span[3], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[3]/span[4], line 1, column 1
    
    /R}\]
    The simplified model of a DC motor includes a single motor time constant \(\left(\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[4]/span[1], line 1, column 1
    
    =\frac{JR}{bR+k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[4]/span[2], line 1, column 1
    
    k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[4]/span[3], line 1, column 1
    
    } \right)\)
    , and is given as: \[\frac{\omega (s)}{V_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[5]/span[1], line 1, column 1
    
    (s)} =\frac{k_
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[5]/span[2], line 1, column 1
    
    /JR}{s+1/\tau _
    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[9]/span[5]/span[3], line 1, column 1
    
    }\]

    Example 1.12: A DC motor model (simplified)

    Using the parameter values for a small DC motor (Example 1.11), its simplified transfer function model is obtained as: \[\frac{\omega (s)}{V_

    ParseError: invalid DekiScript (click for details)
    Callstack:
        at (Courses/University_of_Arkansas_Little_Rock/Introduction_to_Control_Systems_(Iqbal)/01:_Mathematical_Models_of_Physical_Systems/1.07:_DC_Motor_Model), /content/body/p[11]/span[1]/span, line 1, column 1
    
    (s)} =\frac{5}{s+10.25}\] The resulting motor time constant is: \(\tau _{m} \cong 97.6\; {\rm m}s\), which approximates the slower time constant in the second-order model. Assuming a unit-step input, the motor response is given as: \[\omega \left(s\right)=\frac{5}{s\left(s+10.25\right)}=\frac{0.488}{s}-\frac{0.488}{s+10.25}\] By applying the inverse Laplace transform, the time-domain output is given as (Figure 13b): \[\omega \left(t\right)=\left[0.488-0.488e^{-10.25t}\right]u\left(t\right)\] The motor response to unit-step input using the regular and simplified model is plotted and compared in Figure 13.

    image

    Figure 13: DC motor response to unit-step input: second-order motor model (left); first-order motor model (right).