Comparison of Different DC Motor Positioning Control Algorithms
Comparison of Different DC Motor Positioning Control Algorithms
Comparison of Different DC Motor Positioning Control Algorithms
ekamenar@riteh.hr
Abstract – A comparison between different DC motor II. DC MOTOR POSITIONING CONTROL ALGORITHMS
positioning control algorithms is performed in this work.
Transient responses while employing a PID controller, a A. PID control
cascade controller and a state-space controller are
considered. LabVIEW programming environment with a One of the most common controllers in industrial
suitable acquisition card and a miniature DC motor with an applications and control systems is the Proportional-
integrated encoder are used for experimental assessment. Integral-Derivative (PID) controller. The transfer
Calculations and control system simulations are made using function of an ideal parallel PID structure can be
Matlab. The PID controller is implemented via the expressed as (refer to the list of symbols at the end of the
predefined PID block in LabVIEW. In turn, the state-space paper) [1]:
controller is modelled by using Matlab while the accuracy of
the results is confirmed experimentally using LabVIEW. ܷሺݏሻ ͳ
ܩோ ሺݏሻ ൌ ൌ ܭ ሺͳ ܶ ݏሻ (1)
The cascade controller is developed as a series of two ܧሺݏሻ ܶூ ݏ
Proportional-Integral (PI) controllers, one representing the
positioning and the other the velocity loop. The obtained The PID parameters are defined as:
results allow establishing that positioning control via the - KP proportional gain
state-space controller has the fastest response and the lowest - TI integral time
settling times. - TD derivative time
I. INTRODUCTION E(s) can be calculated as the difference between the
reference position Y0(s) and the actual position Y(s):
A widely used actuator in positioning systems is a
Direct Current (DC) motor. It finds application in many ܧሺݏሻ ൌ ܻ ሺݏሻ െ ܻሺݏሻ (2)
of today’s mechatronics systems such as robots, precision
positioning machines or industrial applications. In the time domain, the PID controller can be
Positioning control of mechatronic devices is also used in expressed as:
situations when there is a need for an accurate response in ͳ ௧ ݀݁ሺݐሻ
a predictable and repeatable manner. In a pick-and-place ݑሺݐሻ ൌ ܭ ή ቆ݁ሺݐሻ න ݁ሺ߬ሻ݀߬ ܶ ቇ (3)
ܶூ ݀ݐ
machine for production of Printed Circuit Boards (PCB),
for example, components must be placed precisely on the Using the finite time values:
board before the soldering process. Another example is a
ݐ՜ ݇ܶ௦ (4)
robot manipulator that uses several motors for 2D or 3D
positioning of the robotic arms. Although stepper motors a discretized form of PID controller can be obtained [1]:
are sometimes employed for these purposes, DC motors
can also be a viable solution. However, when DC motors ܶ௦
ݑሺ݇ܶ௦ ሻ ൌ ܭ ή ൭݁ሺ݇ܶ௦ ሻ ݁ሺ݅ܶ௦ ሻ
are used, a feedback sensor is needed in order to establish ܶூ
positioning control [1, 2]. ୀ (5)
ܶ
A DC motor with an embedded quadrature rotational ሾ݁ሺ݇ܶ௦ ሻ െ ݁ሺ݇ܶ௦ െ ܶ௦ ሻሿ൱
ܶ௦
incremental encoder as a feedback sensor is employed in
this work. Three different control algorithms are The PID controller is implemented in this work via
compared in the terms of simulations in Matlab and the predefined PID block in LabVIEW. The tuning of the
experimental results obtained by using the LabVIEW PID controller parameters is conducted in two steps. The
programming environment. Ziegler-Nichols method is used first to achieve a rough
estimate of the gains; in a second step, an experimental
method of fine-tuning of PID parameters is performed.
1654
Figure 1. Cascade control scheme Figure 2. z-transformation of the state-space model
1655
݀߱ ܭ TABLE I. FAULHABER 2342 DC MOTOR CHARACTERISTICS
ܬ ܾή߱ ൌ ሺ ݑെ ܭ ή ߱ሻ
݀ݐ ܴ Moment of inertia ܬ ͷǤ ή ͳͲି ή ଶ
1656
Figure 4. DC motor with gearbox and encoder
Figure 5. Reading and encoding signals from the encoder Figure 7. Cascade control VI: front panel (up), block diagram (down)
1657
Figure 9. State-space transient response
1658
TABLE II PARAMETERS FOR THE PID CONTROL METHOD be achieved by using real-time hardware (e.g. the NI
MATLAB Experiment FPGA module) or if direct measurement of velocity would
Proportional gain ܭ 0.576 0.6 be possible. PID control results in negligible steady-state
Integral time ܶூ [ms] 0.313 0.3 errors and acceptable rise and settling times.
Derivate time TD [ms] 0.021 0.02
LIST OF SYMBOLS
TABLE III PARAMETERS FOR THE CASCADE CONTROL METHOD A system matrix
B control matrix
MATLAB Experiment b friction coefficient [mNm/rpm]
Proportional gain ܭ 13.56 13.905 C output matrix
Positioning loop E(s), e(t) difference between the reference and the process
Integral time ܶூ [ms] ? 4
Proportional gain ܭ value
0.508 0.508
Velocity loop GR(s) PID transfer function
Integral time ܶூ [ms] 5 5
Ian nominal armature current [mA]
J motor inertia [kg.m2]
TABLE IV DYNAMIC RESULTS FOR THE STATE-SPACE CONTROL k finite time values factor (k=1, 2, 3, …)
METHOD Ke back EMF constant [V/rpm]
Km torque constant [Nm/A]
MATLAB Experiment KP proportional gain
Rise time ߬ [ms] 430 390 L state-space controller gain vector
Percent overshot ߪ [%] 0.35 0.5 P system matrix in discrete domain
Settling time ߬௦ [ms] 580 550 Q control matrix in discrete domain
Steady-state error [%] 0 0.04 Ra armature resistance []
s Laplace variable
t time variable
TABLE V COMPARISON OF DYNAMICS FOR DIFFERENT CONTROL T I , TD integral and derivative time constants
METHODS (EXPERIMENTS) Tm mechanical time constant
TS sample period
PID Cascade S.S. U(s), u(t) output from the controller
Rise time ߬ [ms] 425 1120 390 Un nominal voltage [V]
Percent overshot ߪ [%] 0 6.35 0.5 Y(s), y(t) process value
Settling time ߬௦ [ms] 800 3500 550 Y0(s) reference position
Steady-state error [%] 0 0.1 0.04 z discrete (z) domain variable
t time change [ms]
motor shaft angle change []
The comparison of transient responses obtained attenuation coefficient
experimentally for all three used controllers is given in percent overshot [%]
Fig. 10. Rise time, percent overshoot, settling time and r rise time [ms]
steady-state error for each control algorithm are in turn s settling time [ms]
given in Table V. It can be concluded that the fastest motor shaft position []
velocity of the motor shaft [rpm]
response is obtained by using the state-space control fundamental matrix
algorithm. The PID control algorithm results, however, in
the smallest steady-state error. REFERENCES
[1] E. Kamenar and S. Zelenika, “Micropositioning mechatronics
VI. CONCLUSIONS AND OUTLOOK system based on FPGA architecture,” Proc. 36th International
An overview of different DC motor control Convention on Information and Communication Technology,
approaches is given in this work. A conventional PID Electronics and Microelectronics MIPRO, pp. 138-143, 2013.
controller is employed first. The respective parameters are [2] G. F. Franklin, J. D. Powel and A. Emami-Naeini, “Feedback
control of dynamic systems – 2nd ed.,” Addison-Wesley, 1991.
obtained using the Zieger-Nichols method and fine tuning.
[3] URL: www.machsupport.com
A cascade controller is developed next. Finally, the state-
space controller with positioning and velocity loop is [4] D. Matika, “Sustavi digitalnog upravljanja (Digital control
systems),” University of Rijeka, 2005.
employed. A Matlab model of the used actuator is
[5] R. Cupec, “Diskretni sustavi upravljanja,” University of Osijek,
established in order to simulate different control 2008. URL: http://www.etfos.unios.hr/upload/OBAVIJESTI/
approaches. Controllers are then implemented in the obavijesti_diplomski/diskretni_sustavi_upravljanja_19-11-
LabVIEW environment and experiments are conducted. 2009.pdf
[6] K. J. Astrom and B. Wittenmark, “Computer controlled systems:
By comparing experimental results (Table V), it is theory and design – 3rd ed.,“ Prentice Hall, 1996.
concluded that positioning control via the state-space
[7] URL: www.faulhaber.com/uploadpk/EN_2342_CR_DFF.pdf
controller has the fastest response and the lowest settling
[8] URL: www.gurley.com/Encoders/Understanding_Quadrature.pdf
times. Cascade control can be efficiently used, although
[9] G. S. Gordon, "Square Waves And Pulses: A Clarification,"
the tuning of its parameters can often be cumbersome and Measurements & Control, 1988.
computationally more intensive due to the presence of two [10] URL: www.dynapar.com/uploadedFiles/Downloads/Encoder_
PI blocks and the needed velocity calculation. This all Glossary_of_Terminology.pdf
limits the execution time which directly affects system’s [11] URL: www.ni.com
dynamic response. Improvements of cascade control could
1659