DC Motor Model Identification Techniques
DC Motor Model Identification Techniques
Senne Bogaerts
Korneel Keldermans
Professor:
Jan Swevers
References 24
I
List of Figures
1 Model of a DC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Excitation signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Pole-zero map ZOH without eliminated pole-zero model of motor A and motor B . . . . . . . . 6
4 Pole-zero map ZOH with eliminated pole-zero model of motor A and motor B . . . . . . . . . . 8
5 Pole-zero map Tustin model of motor A and motor B . . . . . . . . . . . . . . . . . . . . . . . 9
6 Weight functions of different models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7 Bode plot of ZOH without eliminated pole-zero model and measured frequency spectrum . . . 11
8 Bode plot of ZOH with eliminated pole-zero model and measured frequency spectrum . . . . . 11
9 Bode plot of Tustin model and measured frequency spectrum . . . . . . . . . . . . . . . . . . . 12
10 Illustration of the cutoff frequency and the order of a filter . . . . . . . . . . . . . . . . . . . . . 13
11 Illustration of the cutoff frequency and the order of a filter . . . . . . . . . . . . . . . . . . . . . 14
12 Step responses of the models and the measured step response . . . . . . . . . . . . . . . . . . . 15
13 Zoom in of step responses of the models and the measured step response . . . . . . . . . . . . . 16
14 Error of ZOH without eliminated pole-zero model . . . . . . . . . . . . . . . . . . . . . . . . . . 17
15 Error of ZOH with eliminated pole-zero model . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
16 Error of Tustin model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
17 Step responses of the additivity principle experiment . . . . . . . . . . . . . . . . . . . . . . . . 18
18 Step responses of the homogeneity principle experiment . . . . . . . . . . . . . . . . . . . . . . 19
19 Step response of air model and the measured ground step response . . . . . . . . . . . . . . . . 20
20 Error between air model and ground measurements . . . . . . . . . . . . . . . . . . . . . . . . . 20
21 Pole-zero map of ground model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
22 Step responses of ground model and the measured ground step response . . . . . . . . . . . . . 22
23 Error between ground model and ground measurements . . . . . . . . . . . . . . . . . . . . . . 22
List of Tables
1 Poles and zeroes of ZOH without eliminated pole-zero model of motor A and motor B . . . . . 6
2 Poles and zeroes of ZOH with eliminated pole-zero model of motor A and motor B . . . . . . . 7
3 Poles and zeroes of Tustin model of motor A and motor B . . . . . . . . . . . . . . . . . . . . . 9
4 Poles and zeroes of ZOH without eliminated pole-zero model after filtering . . . . . . . . . . . . 13
5 Poles and zeroes of ZOH with eliminated pole-zero model after filtering . . . . . . . . . . . . . 14
6 Poles and zeroes of Tustin model after filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 Poles and zeroes of ground model of the DC motors . . . . . . . . . . . . . . . . . . . . . . . . 21
II
1 Introduction
This paper describes assignment 1 of the Control Theory assignments. The course slides Control Theory; J.
Swevers, G. Pipeleers [5] are used throughout as a reference work. Generative A.I. (ChatGPT) was used
in this paper to improve spelling and grammar.
Ω(s) Kt
= = H(s) (1)
V (s) s · (Jm · s + b) · (La · s + Ra ) + Kt · Ke
With Ωm the rotational wheel velocity, Va the voltage applied to the DC motor, Kt the motor torque constant,
Jm the moment of inertia of the rotor, b the viscous friction coefficient, La the inductance, Ra the electrical
resistance and Ke the electromotive force (emf) constant.
(a) Equivalent electrical schematic of a DC motor (b) Free body diagram of the rotor
The inductance of the motor is negligible compared to the mechanical motion. This simplifies the transfer
function to equation 2.
K
t
Ωm (s) Ra
H(s) = = Kt ·Ke
(2)
Va (s) Jm · s2 + (b + Ra )
By defining parameters K and τ as in equations 3 and 4, the transfer function can be formulated as in equation
5.
Kt
K= (3)
b · Ra + Kt · Ke
Ra · Jm
τ= (4)
b · Ra + Kt · Ke
1
Ωm (s) K
H(s) = = (5)
Va (s) s · (τ · s + 1)
To transform the transfer function from continuous time to discrete time, three different discretization methods
are used. These methods are compared to determine which method is best for this application.
b1 z + b2 1
H(z) = · (8)
z 2 + a1 z + a2 z
2
The coefficients are replaced by parameters a1 and b1 . A delay is once again added. This results in
equation 13. Because in this case there is not possible pole-zero elimination of the factor (z+1), only one
coefficient is used for both of them.
b1 (z + 1) 1
H(z) = · (13)
z + a1 z
3
3 Identification of DC motors in the air
The following sections of this paper will take measurements while the cart is held in the air. The identification
will be done using these measurements.
4
3.2.1 ZOH without eliminated pole-zero model estimation
The discrete transfer function for the ZOH without eliminated pole-zero model can be seen in equation 14.
This equation can be rewritten as in equation 15.
Ω(z) b1 · z + b2
H(z) = = 3 (14)
U (z) z + a1 · z 2 + a2 · z
A(q, θ) = 1 + a1 · q −1 + a2 · q −2 (18)
B(q, θ) = b1 + b2 · q −1 (19)
The result is an ARX model structure as can be seen in equation 20.
5
Subsequent substitution of these determined values in the transfer function of the ZOH without eliminated
pole-zero model results in the transfer functions of equations 22 and 23.
0.6886 · z + 0.7526
HA (z) = (22)
z 3 − 0.1511 · z 2 − 0.1642 · z
0.6947 · z + 0.636
HB (z) = (23)
z 3 − 0.2627 · z 2 − 0.1017 · z
The poles and zeroes of these transfer functions can be calculated, the corresponding frequencies can also be
determined. The results can be seen in table 1. The results are also visually represented in the pole-zero map
on figure 3
Table 1: Poles and zeroes of ZOH without eliminated pole-zero model of motor A and motor B
Motor A Motor B
Value Frequency [rad/s] Value Frequency [rad/s]
0 // 0 //
Poles 0.4877 71.8 0.4762 74.2
-0.3366 332 -0.2135 350
Zeroes -1.0929 314 -0.9155 314
Figure 3: Pole-zero map ZOH without eliminated pole-zero model of motor A and motor B
6
3.2.2 ZOH with eliminated pole-zero model estimation
The discrete transfer function for the ZOH with eliminated pole-zero model can be seen in equation 24. The
same derivation that was done in section 3.2.1 to prove it has an ARX model structure could be done here.
Ω(z) b1
H(z) = = 2 (24)
U (z) z + a1 · z
The resulting discrete time difference equation can be seen in equation 25. The parameter vector θ together
with the overdetermined system that needs to be solved for the linear least squares method are visible in
equation 26 and 27 respectively.
T
θ = a1 b1 (26)
ω[3] −ω[2] u[1]
ω[4] −ω[3] u[2]
.. = ·θ (27)
.. ..
. . .
ω[N ] −ω[N − 1] u[N − 2]]
The solution can now be substituted in equation 24 for motor A and motor B. This results in the transfer
functions of equations 28 and 29
0.8834
HA (z) = (28)
z 2 − 0.5806 · z
0.8742
HB (z) = (29)
z 2 − 0.5828 · z
The poles and zeroes again with their corresponding frequencies can be found in table 2 and on figure 4.
Table 2: Poles and zeroes of ZOH with eliminated pole-zero model of motor A and motor B
Motor A Motor B
Value Frequency [rad/s] Value Frequency [rad/s]
0 // 0 //
Poles
0.5806 54.4 0.5828 54
Zeroes // // // //
7
Figure 4: Pole-zero map ZOH with eliminated pole-zero model of motor A and motor B
Ω(z) b1 · (z + 1)
H(z) = = 2 (30)
U (z) z + a1 · z
The resulting discrete time difference equation can be seen in equation 31. The parameter vector θ together
with the overdetermined system that needs to be solved for the linear least squares method are visible in
equation 32 and 33 respectively.
T
θ = a1 b1 (32)
ω[3] −ω[2] u[2] + u[1]
ω[4] −ω[3] u[3] + u[2]
.. = ·θ (33)
.. ..
. . .
ω[N ] −ω[N − 1] u[N − 1] + u[N − 2]
8
The solution can now be substituted in equation 30 for motor A and motor B. This results in the transfer
functions of equations 34 and 35
0.3807 · (z + 1)
HA (z) = (34)
z 2 − 0.6392 · z
0.3773 · (z + 1)
HB (z) = (35)
z 2 − 0.6406 · z
The poles and zeroes together with their corresponding frequencies can be found in table 3 and on figure 5.
Motor A Motor B
Value Frequency [rad/s] Value Frequency [rad/s]
0 // 0 //
Poles
0.6392 44.7 0.6406 44.5
Zeroes -1 314 -1 314
9
3.3 Parameter estimation of filtered data
Filtering the data before fitting a model to it is preferable because it removes noise, reduces aliasing and calms
resonances [1]. High frequency noise is reduced by a low-pass data filter.
In the context of frequency domain analysis, the quadratic prediction error is understood as the weighted
mismatch between the model’s frequency response function and the empirical transfer function. This involves
comparing how the model predicts frequencies against the actual observed frequencies, with specific emphasis
or weights given to different frequencies in this comparison. This weight function is proportional to the inverse
of the system denominator characteristic. The system exhibits a low-pass characteristic, thus the weighting
function has a high-pass characteristic. These higher frequencies contain more noise, which has a negative
effect on the parameter estimation. A low-pass filter will eliminate the high frequency noise to make the
parameter estimation more reliable. The relation between the input and output must remain the same, this is
why both input and output are filtered.
A Butterworth filter is used. The optimal order and cutoff frequency have to be determined. The cutoff
frequency is chosen by looking at the weight functions, see figure 6. These determine how the noise is scaled.
A cutoff frequency of 25 Hz is chosen to avoid the high frequency noise. This is especially important for
the ZOH with pole elimination and the Tustin estimation because their weight functions increase at higher
frequencies. The cutoff frequency is the frequency at which the magnitude starts decreasing. This is shown
for a filter with a cutoff frequency equal to 25 Hz in figure 10a and 10c. A filter with a cutoff frequency of 10
Hz is illustrated in figure 10b.
(a) ZOH without pole-zero elimination (b) ZOH with pole-zero elimination
(c) Tustin
10
The Bode plots of the models and the measured frequency spectrum, as presented in Figures 7, 8, and 9,
all highlight a deviation between the measured frequency spectrum and the models around 20-25 Hz. This
deviation is attributed to the heightened noise present in the higher frequencies. This reinforces the decision
to select a cutoff frequency of 25 Hz.
Figure 7: Bode plot of ZOH without eliminated pole-zero model and measured frequency spectrum
Figure 8: Bode plot of ZOH with eliminated pole-zero model and measured frequency spectrum
11
Figure 9: Bode plot of Tustin model and measured frequency spectrum
The order of the filter is determined empirically by picking the order that best approximates the measured
response, but still has a low overshoot. The 4th -order filter is chosen because it approximates the measured
step response the best, while still having a relatively small overshoot. The order of the filter determines the
negative slope after the cutoff frequency. Figures 10a and 10c illustrate that the slope of a higher-order filter
is more negative.
12
(a) Filter of the 3th order and a cutoff frequency of 25 (b) Filter of the 4th order and a cutoff frequency of
Hz 10 Hz
Figure 10: Illustration of the cutoff frequency and the order of a filter
After filtering both the input and output signals with the Butterworth filter of order 4 and with a cutoff
frequency of 25 Hz the models can be re-identified. The transfer function of the ZOH without eliminated
pole-zero model is shown in equation 36, the transfer function of the ZOH with eliminated pole-zero model is
shown in equation 37 and lastly the Tustin transfer function is shown in equation 38. The poles and zeroes of
the ZOH without eliminated pole-zero model after filtering are found in table 4.
0.7289 · z + 0.3179
H(z) = (36)
z 3 − 0.5817 · z 2 + 0.0792 · z
0.9299
H(z) = (37)
z 2 − 0.5586 · z
0.3812 · (z + 1)
H(z) = (38)
z 2 − 0.6388 · z
Table 4: Poles and zeroes of ZOH without eliminated pole-zero model after filtering
13
The poles and zeroes of the ZOH with eliminated pole-zero model after filtering are found in table 5.
Table 5: Poles and zeroes of ZOH with eliminated pole-zero model after filtering
The poles and zeroes of the Tustin model after filtering are found table 6.
Tustin
Value Frequency [rad/s]
0 //
Poles
0.639 44.8
Zeroes -1 314
The pole-zero map with both the pole(s) and zero(s) of the first identified models without filtering and the
final identified model with filtering are shown in figure 11. It is noticeable that the poles and zeroes moved
closer to the origin.
(a) The poles of the filtered ZOH without elimination (b) The poles of the filtered ZOH with elimination
Figure 11: Illustration of the cutoff frequency and the order of a filter
14
3.4 Experimental validation of the models
3.4.1 Comparison of step responses
Figure 12 displays the step responses of the three identified models after filtering and also the measured step
response. Figure 13 is a zoom in, where the difference between the models is more clearly visible. From
these figures it is noticeable that the steady-state behaviour is similar but that the main difference lies in the
transient response.
Figure 12: Step responses of the models and the measured step response
15
Figure 13: Zoom in of step responses of the models and the measured step response
Figures 14, 15 and 16 show the differences between the model responses and the measured response for the
ZOH without eliminated pole-zero model, the ZOH with eliminated pole-zero model and the Tustin model
respectively. In each set of graphs, the left graph zooms in on the transient behavior, while the right graph
focuses on the steady-state behavior.
Comparing the left graphs for the different models, it is clear that the Tustin model makes the biggest error for
the transient behaviour, followed by the ZOH with eliminated pole-zero model and finally the ZOH without
eliminated pole-zero makes the smallest error. This discrepancy can be explained by examining the values of
the poles in the different systems. Closer proximity to the origin signifies faster reaction times in the time
domain. From tables 1, 2 and 3 it can be seen that indeed the ZOH without eliminated pole-zero model has
poles closest to the origin and the Tustin model furthest away.
Additionally the ZOH without eliminated pole-zero model is of third order while the other two are of second
order. The third order model incorporates values of ω from time steps k, k-1 and k-2, while the other models
only consider terms from time steps k and k-1. The higher order enables the ZOH without eliminated pole-zero
model to capture more complex dynamics. However the higher order also means that the computational load
to solve the overdetermined system is higher because of the extra term of ω. Therefor a careful trade-off has
to be made.
The steady-state error however has a similar magnitude in all three models. Given that the ZOH without
eliminated pole-zero is clearly better for the transient behaviour and the other models don’t outperform the
model somewhere else, it is concluded that the extra computational load is justified. Consequently the ZOH
without eliminated pole-zero model is chosen as the model for the DC motors. From now on this model will
be referred to as: the air model.
16
(a) Zoom in on transient error (b) Zoom in on steady-state error
17
3.4.2 Superposition principle
The superposition principle states that for linear systems, both the additivity principle and the homogeneity
principle are applicable. The additivity principle is expressed in equation 39 and the homogeneity in equation
40, in terms of the inputs and outputs of the DC motors.
In the second experiment step voltages 4V and 8V are applied. The response of 4V multiplied by two and the
response to 8V are depicted on figure 18. If the homogeneity principle holds, these two should be equal. The
difference between the two is approximately 0.8 rad/s. This means the homogeneity principle does not hold
either.
In conclusion, neither the additivity principle nor the homogeneity principle holds, indicating that the super-
position principle does not apply. The presence of a dead zone caused by nonlinear friction is one reason for
non-linearity. This means that even though input voltage is supplied, the DC motors will remain at zero speed.
Additionally, non-linearity caused by the moment of inertia [2] of the wheels and of the DC motors themselves
contributes to the observed behaviour.
18
Figure 18: Step responses of the homogeneity principle experiment
The difference in steady-state value is due to friction. Friction induces an opposing force on the wheels, gener-
ating a torque opposite of the driving torque. For a constant input voltage, rotational speed and load torque
of a DC motor are inversely proportional. Consequently, this additional load torque causes the output speed
of the ground measurements to be lower for the same applied voltage.
The notable difference during the transient phase arises from the faster reaction time of the air model, reaching
steady-state while the ground measurements are still in the transient phase. This effect is also due to the addi-
tional load torque from friction. The second law of Newton states that the sum of the torques is proportional
to the angular acceleration, equation 41. The presence of the additional load torque reduces the sum of the
torques, resulting in a smaller angular acceleration. This explains why the ground measurements react slower
than the air model, thus causing the notable difference.
Σ·T =I ·α (41)
19
Figure 19: Step response of air model and the measured ground step response
20
4.2 Identification of ground model
Since, the air model is not a good approximation for the ground measurements, the identification will be
redone. This is only done for the ZOH without eliminated pole-zero model. This identification is completely
analogues to the one of section 3.2, the measurements are first filtered again with the same filter determined
in section 3.3. The only difference are the measured values of ω. The same excitation signal from section 3.1
is used. After substitution of the solution of the linear least squares method, the result is equation 42.
0.7823 · z − 0.6752
H(z) = (42)
z 3 − 1.402 · z 2 + 0.4552 · z
The poles and zeroes of this transfer function can be calculated, the values and corresponding frequencies are
displayed in table 7. They are also visually represented in figure 21.
DC motor
Value Frequency [rad/s]
0 //
Poles 0.5104 67.3
0.8918 11.4
Zeroes 0.8632 14.7
Figure 22 displays the measured ground step response again but now with the ground model. By also looking
at figure 23, it is immediately clear that the transient response error as well as the steady-state error are less
large than when comparing the measured ground step response to the air model, section 4.1.
21
Figure 22: Step responses of ground model and the measured ground step response
22
The main difference between the cart in the air and on the ground is the effect of friction, leading to an increase
of the parameter b, first introduced in equation 2. Referring back to equations 3 and 4, if b increases this
implies a decrease of both K and τ . In order to find out what the effect is on the coefficients of the transfer
function, equation 2 and 8 are compared. The following relations can be deduced:
Ts
b1 = K · (1 − e− τ ) (43)
Ts
b2 = −K · (1 − e− τ ) (44)
Ts
a1 = −(1 + e− τ ) (45)
Ts
a 2 = e− τ (46)
In b1 , two opposing effects are at play, the reduction of K wants to decrease b1 , while the decrease of τ leads to
an increase of the term between brackets. After checking in Desmos graphing calculator [6], it was determined
that the first effect is more pronounced, resulting in a decrease of b1 . b2 is the opposite of b1 so it should
increase. Furthermore the decrease of τ causes an increase of a1 and a decrease of a2 .
To check whether or not these theoretical increases and decreases correspond to the identified models, equations
36 and 42 are repeated in equations 47 and 48 respectively. The comparison of these equations reveal that b1
increases slightly, a reduction of b2 and a1 decreases and an increase of a2 . All of these results deviate from the
anticipated theoretical increases and decreases. Possible explanations of the deviations include that filtering
of the signals, which potentially influenced the relations of the coefficients. Additionally, the non-linear effects
such as the moment of inertia and non linear-frictions may exert influence. Is is noteworthy that coefficient b2
should always be negative (according to relation 44), which is not the case for the air model.
0.7289 · z + 0.3179
HA (z) = (47)
z 3 − 0.5817 · z 2 + 0.0792 · z
0.7823 · z − 0.6752
H(z) = (48)
z 3 − 1.402 · z 2 + 0.4552 · z
23
References
[1] George Ellis. Filters in Control Systems. 2012. url: [Link]
301075694 _ Filters _ in _ Control _ Systems# : ~ : text = They % 20are % 20used % 20to % 20remove , to %
20reduce%20high%2Dfrequency%20noise..
[2] Dr. S.B. Deshpande Nayana P. Mahajan. “Study of Nonlinear Behavior of DC Motor Using Modeling and
Simulation”. In: Internationla Journal of Scientific and Research Publications, Volume 3, Issue3 (2013).
[3] Abbas Emami-Naeini Gene F. Franklin J. David Powell. Feedback Control of Dynamic Systems 8th edition.
Pearson Education Limited, 2019.
[4] Cairo University. Table of transformation of Laplace & Z-transforms. 2020. url: [Link]
net/66551122/table-of-transformation-of-laplace-z?fbclid=IwAR0JkHAYkwXwDoxxGNPtj8Ya6ZeC3Tab5CCCmrH
[5] J. Swevers G. Pipeleers. Control Theory - Handouts. VTK, 2023.
[6] Desmos. Desmos Graphing Calculator. url: [Link]
24