1. DESIGN OF DIGITAL CONTROLLER FOR DC
MOTOR POSITION CONTROL SYSTEM AND
THEIR COMPARSION
Submitted in partial fulfillment of the requirement of the degree of
Bachelor of Technology
In
INSTRUMENTATION AND CONTROL ENGINEERING
By
DEBARGHA CHAKRABORTY
16504012011
Under the Supervision of
Asst. Prof. Binanda Kishore Mondal
DEPARTMENT OF ELECTRICAL ENGINEERING
CALCUTTA INSTITUTE OF ENGINEERING AND MANAGEMENT
PRASANTA SUR CAMPUS KOLKATA-700040, INDIA
MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY
2016
2. ~ ii ~
APPROVAL SHEET
This project report entitled Design of Digital Controller for DC Motor Position
Control System and their comparsion by Debargha Chakraborty is approved for
the degree of Bachelor of Technology in Instrumentation and Control Engineering.
Supervisor Board of Examiners
_______________________ ________________________ (External)
Head of the Department ________________________
_______________________ ________________________
Principal ________________________
_______________________ ________________________
Date: _________________
Place: _________________
3. ~ iii ~
DECLARATION
I declare that this written submission represents my ideas in my own words and where
others' ideas or words have been included, I have adequately cited and referenced the
original sources. I also declare that I have adhered to all principles of academic
honesty and integrity and have not misrepresented or fabricated or falsified any
idea/data/fact/source in my submission. I understand that any violation of the above
will be cause for disciplinary action by the Institute and can also evoke penal action
from the sources which have thus not been properly cited or from whom proper
permission has not been taken when needed.
_________________________________
(Signature)
_________________________________
(Name of the Student)
_________________________________
(Roll No.)
Date: ____________________________
4. ~ iv ~
CERTIFICATE
It is certified that the work contained in the project Design of Digital Controller for
DC Motor Position Control System and their comparsion by Debargha
Chakraborty has been carried out under my/our supervision and that this work has
not been submitted elsewhere for a degree in Instrumentation and Control
Engineering.
_______________________________
Signature of Supervisor
Asst. Prof. Binanda Kishore Mondal
Department of Instrumentation and Control Engineering
Calcutta Institute of Engineering and Management
2016
5. ~ v ~
ACKNOWLEDGEMENT
I have taken efforts in this project. However, it would not have been possible without
the kind support and help of many individuals and organizations. I would lace to
extend my sincere thanks to all of them.
I am highly indebted to Asst. Prof. Binanda Kishore Mondal for his guidance and
constant supervision as well as for providing necessary information regarding the
project and also support in completing the project.
My thanks and appreciations also go to my friends and classmates in developing the
project and people who have willingly helped me out with their abilities.
6. ~ vi ~
CONTENTS
Abstract………………………………………………………………………………01
Chapter 01 Introduction……………………………………………………………02
1.1 Choice of system…………………………………………………..02
1.2 Choice of controller………………………………………………..02
1.3 Choice of control techniques………………………………………03
1.4 Computing Platform……………………………………………….03
Chapter 02 Literature Review……………………………………………………...05
Chapter 03 System Modelling……………………………………………………...07
3.1 Physical Model…………………………………………………….07
3.2 Transfer function Model…………………………………………..08
3.3 Modelling in MATLAB…………………………………………...08
3.4 Sensor Transfer function…………………………………………..11
Chapter 04 Direct Synthesis of Digital Controller by root locus…………………..12
4.1 Root locus technique………………………………………………12
4.2 Design Requirements……………………………………………...12
4.3 Controller Configuration…………………………………………..12
4.4 Design Steps……………………………………………………….13
Chapter 05 Pole placement Design of Digital Controller…………………………..21
5.1 Design Requirements……………………………………………...21
5.2 Design Steps………………………………………………………21
Chapter 06 Design of Dead-Beat and Dahlin Controller………………………….26
6.1 Dead-Beat Controller……………………………………………..26
6.2 Dahlin Controller………………………………………………….27
7. ~ vii ~
Chapter 07 Self-Tuning PD Type Fuzzy Controller……………………………….29
7.1 Membership Functions……………………………………………29
7.2 Scaling Factors……………………………………………………29
7.3 Self Tuning Mechanism…………………………………………...31
Chapter 08 Block Diagram and Simulation………………………………………..32
Chapter 09 Results and Discussion………………………………………………...35
Chapter 10 Conclusion and future scope of the work……………………………...42
Appendices…………………………………………………………………………...44
Bibliography………………………………………………………………………....47
8. ~ viii ~
LIST OF FIGURES
Figure 3.1: Model of an armature controlled DC Motor……………………………..07
Figure 4.1: General Feedback Control System………………………………………13
Figure 4.2: Uncompensated Root Locus Diagram…………………………………...14
Figure 4.3: Root Locus after adding an integrator…………………………………...15
Figure 4.4 Cancellation of zero at z = -1 by placing a pole at z = -0.999……………16
Figure 4.5: Pulling the root locus branches inside stable region……………………..17
Figure 4.6: Making the controller causal by adding a pole at z = 0.6………………..18
Figure 4.7: Real Time plot of the system with gain 1………………………………..19
Figure 4.8: The gain adjusted to 100 by the pink boxes……………………………..20
Figure 5.1: Root Locus of the total system with gain edited to place the poles……..24
Figure 6.1: Basic Digital system block diagram……………………………………..26
Figure 7.1: Structure of PD type Fuzzy Controller…………………………………..29
Figure 7.2: Membership functions for e, Δe and u…………………………………..30
Figure 7.3: Membership function for output scaling factor α………………………..30
Figure 8.1: Block diagram of Dahlin Control System for DC servo motor………….32
Figure 8.2: Block diagram of Dead-Beat Control System for DC servo motor……..32
Figure 8.3: Block diagram of Digital Control System for DC servo motor………….33
Figure 8.4: Block diagram Pole Placement Control System for DC servo motor……33
Figure 8.5: Block diagram of Fuzzy PD Controller for DC servo motor…………….33
Figure 8.6: Block diagram PD type Fuzzy Control System for DC servo motor….....34
Figure 9.1: Disturbance rejection of Digital Controller using Root Locus…………..37
Figure 9.2: Servo Control of Digital Controller using Root Locus………………….37
Figure 9.3: Disturbance rejection of Dead-Beat Controller…………………………38
9. ~ ix ~
Figure 9.4: Servo control of Dead-Beat Controller…………………………………..38
Figure 9.5: Disturbance rejection of Dahlin Controller……………………………...39
Figure 9.6: Servo control of Dahlin Controller………………………………………39
Figure 9.7: Disturbance rejection of Pole Placement Controller……………………..40
Figure 9.8: Servo Control of Pole Placement Controller…………………………….40
Figure 9.9: Disturbance rejection of Fuzzy Logic Controller………………………..41
Figure 9.10: Servo Control of Fuzzy Logic Controller………………………………41
Figure A: The ‘sisotool’ design window of MATLAB………………………………45
Figure B: Analysis window to show the real time plot of the system………………..45
10. ~ x ~
LIST OF TABLES
Table 7.1 Fuzzy rule base for computation of u……………………………………30
Table 7.2 Fuzzy rule base for computation of α……………………………………31
Table 9.1 Comparison of time domain indices of system subject to disturbance….35
Table 9.2 Comparison of time domain indices of system subject to tracking….….35
Table 9.3 Comparison of performance indices of system subject to disturbance….36
Table 9.4 Comparison of performance indices of system subject to tracking….….36
11. ABSTRACT
This paper proposes the design and development of digital controller. The paper starts
with introduction followed by literature review which briefly classifies and highlights
the resources used to complete the report. The system i.e. DC motor position control
system is then modelled using physical principles to mathematical s-domain transfer
function. The transfer function is then discretized using zero-order hold and
minimized or simplified by approximation, and the resultant z-domain plant is finally
used for simulation and controller design. For pole placement approach however, the
continuous s-domain plant is first approximated and then the controller is designed in
s-domain only, after that both of these system are discretized. Fuzzy logic controller is
not designed but directly implemented from [10]. The simulation part denotes the
block diagram and simulation parameters used. Results and discussion gives a
detailed quantitative analysis of the work carried out in this paper and their
comparison based on optimal performance. Conclusion and future scope of the work
mainly focus on the drawback of the methods discussed and the issues to encounter
during practical implementation.
1
12. INTRODUCTION CHAPTER 1
CHAPTER 1
INTRODUCTION
1.1 Choice of System
A DC motor position control finds wide applications in servo systems, especially in
aerospace, automotive, mechatronics applications (robotic manipulator) because of
their high reliabilities, flexibilities and low costs. The position of a DC motor can be
controlled by controlling the Armature Voltage or Field Voltage.
Two main problems encountered in motor control are the time-varying nature of
motor parameters under operating conditions and existence of noise in system loop.
Moreover the transfer function of the plant derived in Chapter 3 shows that the
position control system is a Type-I transfer function i.e. it has a pole at origin. Now
this pole at origin makes the system limiting stable, therefore needs better strategies to
make the plant stable.
1.2 Choice of Controller
The controller chosen to control the DC motor position is chosen to be a digital one,
since it has certain advantages over the analog ones. They are cited below.
Firstly as it is already mentioned that the existence of noise in the system loop is a
major hindrance in motor control, digital control system is an obvious choice,
since the digital system provides better noise immunity compared to analog ones,
without losing the precision of control.
Digital control systems have improved sensitivity over analog ones, hence set-
point tracking is done efficiently which is required for robotic manipulators.
Easy implementation in microcontrollers or FPGA’s is possible if the controller
itself is designed in digital domain and simulated, this is useful to choose the
sampling time and the method of discretization, i.e. s-plane to z-plane mapping
when used in hardware purposes.
Digital controllers are algorithm based, hence change is control methodology or
control algorithms are as easy as changing a few lines of program and this
modularity is one of the most beneficial features of digital controllers ruling out
analog controllers in near future.
2
13. INTRODUCTION CHAPTER 1
1.3 Choice of Control Techniques
The first digital controller design is based on the digital root locus and direct
synthesis. The root locus plot is observed and modified to make the root locus
branches pass through the desired region. Then the gain is varied to place the
closed loop poles of the system to desired region and the controller gain is
obtained.
Depending on the performance specification of the total system, the damping ratio
and natural un-damped frequency of the system is calculated, and then the desired
complex poles are computed. Now using the angle criteria for root locus in s-plane
a first order compensator is designed with one zero and one pole. After that the
zero location is arbitrarily chosen and the pole location is evaluated. Then the total
system root locus is observed and by changing the gain of the system the poles are
brought to the desired location. This way the total system configuration is
observed and the controller is designed.
Dead-Beat and Dahlin controllers are digital only controllers, and exclusively
applicable to design digital systems only. In dead-beat controller the output
follows input strictly after a definite number of samples which is pre-determined.
However a large control effort is needed. Dahlin controller is actually a modified
version of Dead-Beat controller where the output reaches the input exponentially,
and the steepness is varied with the choice of a tunable parameter. The most
important part is designing this controller is model based and the exponent of z
must be chosen so that the controller must be causal.
Fuzzy control system is now gaining popularity due to its highly non-linear nature
and vagueness of its input. The absence of crisp boundaries is actually very
natural and controlling a system using this criterion definitely stands out among
others. The fuzzy system is not designed but rather incorporated directly from [x].
However three parameters are tuned to get the optimal response.
1.4 Computing Platform
The algorithms used to design the controllers were not tested on physical models, but
simulated. The rigorous mathematics involved was actually carried out using
MATLAB from Mathworks.
3
14. INTRODUCTION CHAPTER 1
The simulation was done in SIMULINK with the method of solution of ordinary
differential equations numerically chosen to be stiff/NDF (ode15s) and a variable step
since the sampling time is very small and using default solution technique with a fixed
step might result in loss of accuracy of the solution.
The performance indices were calculated using MATLAB after exporting the error
generated from SIMULINK to MATLAB Workspace. The Integral Absolute Error
(IAE), Integral Time Absolute Error (ITAE), Integral Square Error (ISE) and Integral
Time Square Error (ITSE) are calculated using Trapezoidal method for integration.
The performance of the controllers are tabulated and compared based on disturbance
rejection and set-point tracking. In both the cases both time-domain performance
measures and minimal error based criteria’s are compared.
The project report is concluded with the future scope and modifications made to make
the controller practically realizable. Along with a sample microcontroller code for
developing the algorithm in an Arduino.
4
15. LITERATURE REVIEW CHAPTER 2
CHAPTER 2
LITERATURE REVIEW
To begin with the analysis and synthesis of a digital control system Ibrahim [2]
provides a lucrative practical and straightforward aspect of the design methodology.
Simplified to a certain extent the book keeps the flow from basic understanding to
complex systems very smooth. Starting with system modelling of various systems, the
book directly introduces the readers with microcontrollers and its programming in C
language with the sensors discussed in the introduction itself. The book then jumps to
the discrete domain design with z-transform, and is pretty clear and well-written.
Landou and Zito [1] starts the book with continuous time system and their time
domain and frequency domain response. In the later chapter the book develops robust
digital control methodology with one general structure modified to various specialized
model based control algorithms that works even on the presence of random
disturbance. The book also provides practical and theoretical tool for system
identification and practical aspects of digital control along with reduction of the
controller complexity. Later on the appendices provides the most interesting parts of
the book, where examples are properly cited and further modified to form specialised
controllers based on adaptation, optimality and predictive control. The same feedback
structure is further modified to develop state space control algorithm such as linear
quadratic regulator and U-D factorization.
A wide variety of examples has been solved and demonstrated meticulously by
Bishop & Dorf [3]. This book follows the conventional organization of control books
similar to that of Nise [4]. Both the book dwells on common mathematical models,
frequency and time domain response, but Chapter 11, 12 and 13 based on state
variable approach, robust controllers and digital controller are unique and deepens the
advanced concept of control systems in detail.
For the entire guidance and proper usage of the computing platform these web pages
[5][6] are extremely helpful. Especially the use of sisotool in MATLAB has been
entirely guided by this website that has made the design less complicated. Even the
system reduction in both s-domain and z-domain has been automated with MATLAB
instead of manual re-modelling.
5
16. LITERATURE REVIEW CHAPTER 2
The book by Fadali & Visioli [8] is based entirely on digital control system. It starts
with the use of digital system along with the selection of discretization and it’s
subsequent effects. The state space and optimal control based on digital control
algorithm has been discussed along with the model of Analog to Digital Controller
(ADC), Digital to Analog Controller (DAC) and Zero-Order Hold (ZOH). Stability,
practical issues and non-linear control has also been discussed in subsequent chapters
with attention to every minute detail.
The series of web lectures [7] complements the resources accumulated from the above
mentioned sources. These lectures cover a wide area of the digital control domain
with stress on examples based on power system in abundance. However these are
pretty advanced lectures and demand the basic digital control understanding as
prerequisite.
This book by Starr [9] is mainly based on analog control but chapters 3, 4, 5 and
especially 7 continues the discussion of discretization and the drawbacks associated
with it. The chapters are well organised and discusses the algorithms used by the
computation platform i.e. MATLAB. Chapter 7 is entirely dedicated and vast to cover
the total state-space design methods using digital control algorithm.
Mudi and Pal [10] discuss the fuzzy type PD & PI controller developed to control any
type of process using inherently unstable and even non-linear processes. This
controller however has three tuning parameters to be tuned based on operator
experience.
6
17. SYSTEM MODELLING CHAPTER 3
CHAPTER 3
SYSTEM MODELLING
3.1 Physical Model
Figure 3.1: Model of an armature controlled DC Motor
The system chosen for control is a DC motor. We stick to the armature-controlled DC
motor circuit here, with the following properties given below:
= Moment of inertia of rotor (kg-m2
)
= Motor viscous friction constant (N-m-sec)
� = Armature resistance (Ω)
= Armature inductance (H)
� = Motor torque constant (N-m-Amp-1
)
� = Electro-motive force constant (V-rad-1
-sec-1
)
� = Angular Displacement of motor shaft (radians)
Here we have the input to the system voltage applied v and the output of the system as
the angular position θ with respect to the initial position.
We will model the system using two approaches, first one is the transfer function
model and the second one is the state-space model. A state space model is more
versatile than the transfer function model, hence can be used for later extensions.
7
18. SYSTEM MODELLING CHAPTER 3
In general, the torque generated by a DC motor is proportional to the armature current
and the strength of the magnetic field. But since the field is constant, it varies only
due to the armature current.
� ∝ � 3.1
� = �� 3.2
The back electromotive force, e, is proportional to the angular velocity of the shaft
∝ � 3.3
� , = �� 3.4
Applying Newton’s 2nd
Law of motion, we get,
� = � + � = �� 3.5
Applying Kirchhoff’s Voltage Law, around the loop, we get,
� − =
�
+ �� = � − ��
3.6
3.2 Transfer Function Model
Now performing Laplace Transform of equation 3.5 and 3.6 respectively, we get
+ � = 3.7
+ � = � − � 3.8
Eliminating I(s) from equations 3.7 and 3.8, we get
�
�
=
�
{ + + � + � �}
3.9
3.3 Modelling in MATLAB
= 1.524 x 10-6
kg-m2
= 3.874 x 10-6
N-m-sec
� = 6 Ω
= 3.500 x 10-6
H
� = 0.0187 N-m-Amp-1
8
19. SYSTEM MODELLING CHAPTER 3
� = 0.0191 V-rad-1
-sec-1
The data taken into consideration for modelling in MATLAB is taken from the data
sheet of real motor [11]. The part number is C23-133 and winding code is 10. All the
units mentioned are in S.I. units.
Kb = 0.0191;
Kt = 0.0187;
R = 6;
L = 3.5e-006;
J = 1.524e-006;
f = 3.874e-006;
P_motor =tf(Kt,[L*J (f*L+R*J) (f*R+Kt*Kb) 0])
zpk(P_motor)
Zero/pole/gain:
3505811773.5283
------------------------
s (s+1.714e006) (s+41.6)
�_�� � =
.
+ . + . � 6
3.10
To use the model in pole placement controller design, we need to reduce the motor
transfer function by ignoring the effect of the pole in extreme left half of the s-plane.
s = tf('s');
poles = pole(P_motor);
rP_motor = minreal(P_motor*(s/max(abs(poles)) + 1));
zpk(rP_motor)
Zero/pole/gain:
2045.1035
----------
s (s+41.6)
�_�� � =
.
+ .
3.11
9
20. SYSTEM MODELLING CHAPTER 3
To generate a sampled data model of the plant it is necessary to choose a frequency
with which the continuous-time plant is sampled. In choosing a sampling period, it is
desired that the sampling frequency be fast compared to the dynamics of the system in
order that the sampled output of the system captures the system's full behaviour, that
is, so that significant inter-sample behaviour isn't missed.
[Gm,Pm,Pw,Gw] = margin(P_motor);
Pw
Pw
36.9856
The gain crossover frequency of the plant is approximately 37 radians/second or 5.8
Hz. Therefore, choosing a sampling period of 0.001 seconds (frequency of 1000 Hz)
is significantly faster than the dynamics of the plant.
Ts = 0.001;
We will convert the given transfer function from the continuous Laplace domain to
the discrete z-domain. MATLAB can be used to achieve this conversion through the
use of the c2d command. The c2d command requires three arguments: a system
model, the sampling time (Ts), and the type of transformation. In this example, we
will assume a zero-order hold (zoh) circuit.
dP_motor = c2d(P_motor, Ts, 'zoh');
zpk(dP_motor)
Zero/pole/gain:
0.0010073 (z+0.9885) (z+6.704e-007)
-----------------------------------
z (z-1) (z-0.9593)
Sampling time: 0.001
10
21. SYSTEM MODELLING CHAPTER 3
Since the model was not reduced earlier we find that the z-transfer function of the
system has a zero at 6.704x10-7
which is very close to zero and hence cancels the pole
at zero. Therefore we tend to reduce it by cancelling them.
dP_motor = minreal(dP_motor,0.001);
zpk(dP_motor)
Zero/pole/gain:
0.0010073 (z+0.9885)
--------------------
(z-1) (z-0.9593)
Sampling time: 0.001
�_�� � � =
. � + .
� − � − .
3.12
The discretization of the reduced plant in s-domain results is equation 3.12 directly.
dP_motor = c2d(rP_motor, 0.001, 'zoh');
zpk(dP_motor)
Zero/pole/gain:
0.0010085 (z+0.9862)
--------------------
(z-1) (z-0.9593)
Sampling time: 0.001
�_�� � � =
. � + .
� − � − .
3.13
3.4 Sensor Transfer Function
In the opening window, the control loop architecture is shown. We would like to
consider single turn rotary potentiometer to use as a sensor to sense the position of the
potentiometer shaft. Hence a 270 degrees or 1.5π radians is sensed by an output of 5
volts. Since a potentiometer is a zero order instrument. The transfer function of a
potentiometer is (5/1.5π) or 1.061 volts/radian. The set point is also set by a
potentiometer therefore a voltage of 5 volts is applied as input and a shaft position of
270 degrees or 1.5π radians as output.
11
22. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
CHAPTER 4
DIRECT SYNTHESIS OF DIGITAL
CONTROLLER BY ROOT LOCUS
4.1 Root Locus Technique
The root locus technique in control system was first introduced in the year 1948 by
Evans. Any physical system is represented by a transfer function in the form of
� � = �
� �
�
4.1
We can find poles and zeros from G(s). The location of poles and zeros are crucial
keeping view stability, relative stability, transient response and error analysis. In root
locus technique in control system we will evaluate the position of the roots, their
locus of movement and associated information. This information will be used to
comment upon the system performance.
In addition to determining the stability of the system, the root locus can be used to
design the damping ratio (ζ) and natural frequency (ωn) of a feedback system. Lines of
constant damping ratio can be drawn radially from the origin and lines of constant
natural frequency can be drawn as arcs whose centre points coincide with the origin.
By selecting a point along the root locus that coincides with a desired damping ratio
and natural frequency, a gain K can be calculated and implemented in the controller.
4.2 Design Requirements
Settling time less than 100 milliseconds
Overshoot less than 20%
No steady-state error, even in the presence of a step disturbance input.
4.3 Controller Configuration
Here the controller configuration is chosen to be in series with the plant model,
therefore in a cascade configuration. This helps the easy implementation of the
compensator.
12
23. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
Figure 4.1: General Feedback Control System
4.4 Design Steps
We will now employ a root locus design methodology to generate a digital controller
for our system. The main idea of a root locus approach to design is to modify the
closed-loop response by placing the closed-loop poles of the system at desired
locations. Adding poles and zeros to the original open-loop transfer function via the
controller allows us to reshape the root locus in order to place the closed-loop poles at
the desired locations. This approach can also be used for discrete-time models. We
will use the SISO Design Tool graphical user interface (GUI) for designing our
controller. Adding the command sisotool(‘rlocus’,dP_motor) to your m-
file will open the SISO Design Tool when run at the command line.
Two windows will open initially with the SISO Design for SISO Design Task window
having the form shown in the figure below. This figure shows the root locus of the
transfer function dP_motor passed through the sisotool function. This figure
appears initially due to the addition of the string ‘rlocus’ to the function call. If the
string ‘rlocus’ is omitted, the default initial window includes the open-loop Bode
plot in addition to the root locus plot.
The root locus plot opens in SISO Design for SISO Design Task and another window
opens named Control and Estimation Tools Manager. From Control and Estimation
Tools Manager we can select the transfer function of the blocks, configuration of the
control system, view real time analysis plot subjected to various input, and view the
13
24. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
controller transfer function in time constant form, natural frequency form and zero-
pole-gain form. In SISO Design for SISO Design Task we can place real or complex
pole/zero and change the gain of the system.
Figure 4.2: Uncompensated Root Locus Diagram
The inner part of the dotted unit circle centred at origin denotes the stable region, and
as we can see from root locus the system is not stable at any gain.
We have to add an integrator to our compensator in order to reject the effect of a
constant disturbance in steady state.
Integral control in the continuous-time domain is 1/s. The SISO tool uses a forward
difference approximation for mapping from the s-plane to the z-plane as s = (z – 1) /
Ts, where Ts is the sample time being employed. Therefore, the addition of the
integrator will add an additional pole at 1 on the root locus plot. See below for the
resulting root locus plot where the red ‘x’ denotes the location of the compensator
pole at z = 1.
14
25. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
We can add integral control through the SISO Design Tool interface under
the Compensator Editor tab of the Control and Estimation Tools Manager window.
Specifically, an integrator is added to our controller by right-clicking on
the Dynamics section of the window and selecting Add Pole/Zero > Integrator from
the resulting menu.
Figure 4.3: Root Locus after adding an integrator
By default, the root locus plot includes the unit circle shown in figure 4.3 by the
dashed line. For a discrete-time system, closed-loop poles located within the unit
circle indicate a stable closed-loop system. From the above, we can see that the after
adding the extra pole at 1 (i.e. the integrator), the root locus is having three poles near
1. Due to this the root locus moves out of the unit circle making the system more
unstable.
Therefore, we will add a zero near 1, inside the unit circle, to cancel one of the poles
and pull the root locus in. In general, we must add at least as many poles as zeros for
the controller to be causal.
15
26. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
The addition of the integrator has helped with the requirement on disturbance
rejection; however, the above root locus indicates that the closed-loop system cannot
be made robustly stable through further tuning of the loop gain.
Now our design requirements can be added to our root locus by choosing Design
Requirements from the right-click menu. Then choosing new and set the overshoot to
be less than 20%. This process can then be repeated to add the settling time
requirement of less than 0.1 seconds.
Figure 4.4 Cancellation of zero at z = -1 by placing a pole at z = -0.999
The design requirements limit the area of the root locus to pass through the white
region only. From the above figure, we can see that the two dominant branches of our
root locus do not pass through the required region. Therefore, we need to add poles
and/or zeros to our compensator to bend the root locus into the desired region.
Let’s first try cancelling the zero at approximately -0.999 by adding a pole nearby. It
is desirable to cancel this zero since it will add overshoot to the step response. The
16
27. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
addition of this pole will result in two of the branches of the root locus going off to
the right and outside of the unit circle.
We will attempt to pull these branches in by placing two additional zeros near the
desired closed-loop pole locations.
These zeros can be added via the Compensator Editor tab as done above. In this case,
however, we place the zeros using a graphical tuning approach. Specifically, select a
single ‘o’ from the tool bar at the top of the SISO Design for SISO Design
Task window. Then click the resulting “pointer” on the real axis to place the zero
Figure 4.5: Pulling the root locus branches inside stable region
We placed both the zeros at z = 0.8 by trial and error. The effects of this will be
discussed later.
In order to make the controller causal, we need to add an additional pole, we have
added at the pole at z = 0.6.
17
28. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
Next we must choose a loop gain in order to move the closed-loop pole locations
along the root locus to the desired location.
Figure 4.6: Making the controller causal by adding a pole at z = 0.6
The default format for compensators in the SISO Design Tool is Time constant form.
For the remainder of this problem, we will design the compensator in Zero/pole/gain
form. This change can be made by choosing SISO Tool > Preferences from
the Edit menu of the Control and Estimation Tools Manager window. The
compensator parameterization can then be changed under the Options tab.
Since our closed-loop system is not canonical second order, we will have to employ
some trial and error to identify the exact pole locations. In order to assist us in this
regard, we can open a plot for the closed-loop step response so that we can observe
the effect of the gain changes on the actual step response, without having to rely on a
second-order idealization.
The resulting step response plot with loop gain of 1 appears to meet the settling time
requirement, but not the overshoot requirement. In order to be certain, we can define
18
29. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
the allowed step response shape by choosing Design Requirements from the right-
click menu of the step response plot and choosing the overshoot to be 20% and the
settling time to be 0.1 seconds. Note that you will need to choose a rise time of less
than 0.1 seconds, even though we have no such requirement.
Figure 4.7: Real Time plot of the system with gain 1
We will now modify the loop gain to meet the overshoot requirement. Using a
graphical tuning approach, grabing one of the pink boxes on the root locus plot by
clicking on it, then drag the box along the locus. Each box represents the location of a
closed-loop pole and dragging the box along the locus changes the loop gain to the
value that places that closed-loop pole at that specified location. Through trial and
error, a loop gain of 100 reduces the overshoot of the associated step response.
Now we have obtained the controller transfer function as
� =
� − .999 � − .6 2
� + .999 � − .6 � − 4.2
19
30. DIRECT SYNTHESIS OF DIGITAL CONTROLLER BY ROOT LOCUS CHAPTER 4
We must export the compensator we have designed in the SISO Design Tool to the
workspace. This is accomplished by selecting Export from the File menu of
the Control and Estimation Tools Manager window. You then select Compensator
C and click on the Export to Workspace button.
Figure 4.8: The gain adjusted to 100 by the pink boxes
20
31. POLE PLACEMENT DESIGN OF DIGITAL CONTROLLER CHAPTER 5
CHAPTER 5
POLE PLACEMENT DESIGN OF DIGITAL
CONTROLLER
5.1 Design Requirements
Settling time less than 100 milliseconds
Overshoot less than 20%
No steady-state error, even in the presence of a step disturbance input.
5.2 Design Steps
Step I: From the settling time and percentage overshoot we calculate the natural un-
damped frequency of the system and the damping factor based on equation 5.3 and
5.4.
� =
− ln ��� ℎ
√� + ln ��� ℎ
5.3
�� =
− ln . √ − �
���
5.4
OS = 0.2;
ts = 0.1;
zeta = -log(OS)/sqrt(pi*pi + log(OS)*log(OS))
zeta =
0.4559
omega = -log(0.2*sqrt(1- zeta*zeta))/(zeta*ts)
omega =
37.8543
21
32. POLE PLACEMENT DESIGN OF DIGITAL CONTROLLER CHAPTER 5
Now we need to calculate the desired pole location based on the value of damping
factor ζ and un-damped natural frequency ωn on equation 5.5
, = −��� ± ��√ − � 5.5
s1 = -omega*zeta + j*omega*sqrt(1 -zeta*zeta)
s1 =
-17.2597 + 33.6905i
s2 = -omega*zeta - j*omega*sqrt(1 -zeta*zeta)
s2 =
-17.2597 - 33.6905i
Step II: Now let us consider the root locus of the system. The angle of the system root
locus at pole s1 is calculated as:
� =
.
− . + . − . + . + .
5.6
∠� = −tan−
.
− .
− tan−
.
.
5.7
angle = -atand(33.6905/-17.2597)-atand(33.6905/24.3403)
angle =
8.7208
The angle criterion of the root locus is such that the angle should be ± ° +
Hence it is clear that simply changing the gain of the system it is impossible to pass
the root locus through the system of the desired pole location. Therefore we need to
add a compensator. We choose a cascade compensator of the form
� =
� − �
−
5.8
22
33. POLE PLACEMENT DESIGN OF DIGITAL CONTROLLER CHAPTER 5
Now since the angle of the system is 8.7208o
the compensator must have an angle of
171.2792o
. Now let us choose the zero of the compensator arbitrarily, be it -20.
Therefore the compensator reduces to the form
� =
� +
−
5.9
� =
� − . + . . +
− . + . −
5.10
∠� = tan−
.
.
− tan−
.
− . −
5.11
z = -20;
Since the angle criterion to be satisfied, equation 5.11 must be equal to 171.2792o
.
tan−
.
.
− tan−
.
− . −
= .
5.12
= − . −
.
tan tan− . 9
− . 9 −�
− .
5.13
p = -17.2597 - 33.6905/tand(atand(33.6905/(-17.2597 - z)) -
(180 - angle))
p =
-14.8620
Now we know the controller transfer function, therefore the whole system is known.
� =
� +
+ .
5.14
Now to find the gain at that point we will open the root locus in sisotool.
sisotool('rlocus',C*rP_motor)
23
34. POLE PLACEMENT DESIGN OF DIGITAL CONTROLLER CHAPTER 5
Figure 5.1: Root Locus of the total system with gain edited to place the poles
Here we see the root locus gain has been edited and set to K = 0.75339 to place the
poles at the desired position. So the total controller transfer function reduces to
� = .
+
+ .
5.15
Now to make this controller a digital controller we will transform it using Zero-Order
Hold and sampling time of 1 millisecond, i.e.
� = ���
; � = . 5.16
K = 0.75339;
C = tf([1 -z],[1 -p]);
C = K*C;
dC = c2d(C, 0.001, 'zoh');
zpk(dC)
24
35. POLE PLACEMENT DESIGN OF DIGITAL CONTROLLER CHAPTER 5
Zero/pole/gain:
0.75339 (z-0.9801)
------------------
(z-0.9852)
Sampling time: 0.001
Therefore the controller transfer function in z-domain is
� � = .
� − .
� − .
5.17
25
36. DESIGN OF DEAD-BEAT AND DAHLIN CONTROLLER CHAPTER 6
CHAPTER 6
DESIGN OF DEAD-BEAT AND DAHLIN
CONTROLLER
In general, we can make use of the block diagram shown in figure when designing a
digital controller. In this figure, R(z) is the reference input, E(z) is the error signal,
U(z) is the output of the controller, and Y(z) is the output of the system. G(z)
represents the digitized plant transfer function together with the zero-order hold. The
closed-loop transfer function of the system in Figure 6.1 can be written as
Figure 6.1: Basic Digital system block diagram
� � =
� �
� �
=
� � � �
+ � � � �
6.1
Re-arranging equation 6.1 we get the controller transfer function as
� � =
� �
� �
− � �
6.2
Equation (9.3) states that the required controller D(z) can be designed if we know the
model of the process. The controller D(z) must be chosen so that it is stable and can
be realized. One of the restrictions affecting realizability is that D(z) must not have a
numerator whose order exceeds that of the denominator.
6.1 Dead-Beat Controller
The dead-beat controller is one in which a step input is followed by the system but
delayed by one or more sampling periods, i.e. the system response is required to be
equal to unity at every sampling instant after the application of a unit step input. The
required closed-loop transfer function is then
R(z)
C(z) G(z)
E(z)
U(z) Y(z)
26
37. DESIGN OF DEAD-BEAT AND DAHLIN CONTROLLER CHAPTER 6
� � = �−� 6.2
� � =
� �
�−�
− �−�
6.3
Now we have the discrete time z-transfer function of the system as a second order
system in z, hence the value of k is 2; otherwise the controller structure wouldn’t be
realizable, because the controller would be non-causal otherwise.
z = tf('z');
T = z^-2;
C = (1/dP_motor)*(T/(1 - T));
zpk(C)
Zero/pole/gain:
992.7041 (z-0.9593)
-------------------
(z+1) (z+0.9885)
Sampling time: 0.001
Therefore the dead beat controller for the target control system is
� � =
. � − .
� + � + .
6.4
6.2 Dahlin Controller
The Dahlin controller is a modification of the dead-beat controller and produces an
exponential response which is smoother than that of the dead-beat controller. The
required response of the system in the s-plane can be shown to be
� � =
�
�−��
+ ��
6.5
where a and q are chosen to give the required response. If we let a = kT , then the z-
transform of the output is
� � =
�−�−1
− �−�/�
− �−1 − �−�/��−1
6.6
and the required transfer function for step input and controller structure is
27
38. DESIGN OF DEAD-BEAT AND DAHLIN CONTROLLER CHAPTER 6
� � =
� �
� �
=
�−�−1
( − �−�/�
)
− �−1 − �−�/��−1
− �−1
6.7
� � =
� �
�−�−1
( − �−�/�
)
− �−�/��−1 − �−�−1 − �−�/�
6.8
Here k is chosen to be 1 to make the controller causal.
z = tf('z');
k = 1; q = 0.01;
T = ((1 - exp(-Ts/q))*z^-(k+1))/(1 - exp(-Ts/q)*z^-1);
C = (1/dP_motor)*(T/(1/-T));
zpk(C)
Zero/pole/gain:
94.4683 (z-0.9593)
----------------------
(z+0.9885) (z+0.09516)
Sampling time: 0.001
Hence the Dahlin controller is designed as
� � =
. � − .
� + . � + .
6.9
28
39. SELF TUNING PD TYPE FUZZY CONTROLLER CHAPTER 7
CHAPTER 7
SELF-TUNING PD TYPE FUZZY CONTROLLER
Here, we consider PD-type FLC’s designed in [10] without any modification by only
tuning the values of Ge, GΔe and Gu. The gain of these controllers are adjusted on-line
according to the current states of the controlled processes, thereby making them self-
tuning FLC’s.
Figure 7.1: Structure of PD type Fuzzy Controller
7.1 Membership Functions
All membership functions (MF’s) for: 1) controller inputs, i.e., error and change of
error and 2) incremental change in controller output for PI-type FLC or controller
output for PD-type FLC, are defined on the common interval [-1, 1]; whereas the
MF’s for the gain updating factor is defined on [0, 1]. We use symmetric triangles
(except the two membership functions at the extreme ends) with equal base and 50%
overlap with neighbouring MF’s as shown in Fig. 7.2. This is the most natural and
unbiased choice for MF’s.
7.2 Scaling Factors
The MF’s for both scaled inputs and and output or of the controller have been defined
on the common interval [-1, 1]. The values of the actual inputs and are mapped onto
[-1, 1] by the input scaling functions. The actual output of the self-tuning FLC is
obtained by using the effective SF as shown in Fig. 7.1. Selection of suitable values
29
40. SELF TUNING PD TYPE FUZZY CONTROLLER CHAPTER 7
for and are made based on the knowledge about the process to be controlled and
sometimes through trial and error to achieve the best possible control performance.
Figure 7.2: Membership functions for e, Δe and u
Figure 7.3: Membership function for output scaling factor α
The output of the fuzzy controller is computed as below:
Δee NB NM NS ZE PS PM PB
NB NB NB NB NM NS NS ZE
NM NB NM NM NM NS ZE PS
NS NB NM NS NS ZE PS PM
ZE NM NM NS ZE PS PM PB
PS NM NS ZE PS PS PM PB
PM NS ZE PS PM PM PM PB
PB ZE PS PS PM PB PB PB
Table 7.1: Fuzzy rule base for computation of u
30
41. SELF TUNING PD TYPE FUZZY CONTROLLER CHAPTER 7
7.3 Self Tuning Mechanism
The effective gain of the self-tuning controller is αGu, not simply Gu. The value of Gu
is constant for a particular type of conventional FLC. But the gain of our self-tuning
FLC does not remain fixed while the controller is in operation, rather it is modified in
each sampling time by the gain updating factor α, depending on the trend of the
controlled process output. The reason behind this on-line gain variation is to make the
controller respond according to the desired performance specifications. The desired
variation in α can be achieved using the rule base in Table 7.2 Thus, the proposed
controller is basically an adaptive feedback loop controller. The functional
relationship of α can be viewed as
� = { � , ∆ � } 7.1
where is α a nonlinear function (computational algorithm) of e(k) and Δe(k), which is
described by the rule base shown in Table 7.2
Δee NB NM NS ZE PS PM PB
NB VB VB VB B SB S ZE
NM VB VB B B MB S VS
NS VB MB B VB VS S VS
ZE S SB MB ZE MB SB S
PS VS S VS VB B MB VB
PM VS S MB B B VB VB
PB ZE S SB B VB VB VB
Table 7.2: Fuzzy rule base for computing α
31
42. BLOCK DIAGRAM AND SIMULATION CHAPTER 8
CHAPTER 8
BLOCK DIAGRAM AND SIMULATION
SIMULINK, developed by MathWorks, is a graphical programming environment for
modeling, simulating and analyzing multidomain dynamic systems. Its primary
interface is a graphical block diagramming tool and a customizable set of
block libraries. It offers tight integration with the rest of the MATLAB environment
and can either drive MATLAB or be scripted from it. Simulink is widely used
in automatic control and digital signal processing for multidomain simulation.
Figure 8.1: Block diagram of Dahlin Control System for DC servo motor
Figure 8.2: Block diagram of Dead-Beat Control System for DC servo motor
32
43. BLOCK DIAGRAM AND SIMULATION CHAPTER 8
Figure 8.3:Block diagram of Digital Control System by root locus for DC servo motor
Figure 8.4: Block diagram Pole Placement Control System for DC servo motor
Figure 8.5: Block diagram of Fuzzy PD Controller for DC servo motor
33
44. BLOCK DIAGRAM AND SIMULATION CHAPTER 8
Figure 8.6: Block diagram PD type Fuzzy Control System for DC servo motor
The default numerical solution ode45 i.e. Dormand Prince method may lack accuracy
for such small time intervals as 0.001 seconds, therefore the automatic solver is
changed to ode15s i.e. stiff/NDF for better accuracy in result.
The simulation start time is taken to be 0 second and the stop time to be 1 second. The
error is imported to workspace as one dimensional vector for error analysis to
calculate the performance indices. The output to the scope is another parameter that is
imported to workspace, that helps the plotting of output response, however the array
contains two simultaneous vectors.
The two sets of block diagram in every control system serve the purpose of
disturbance rejection and set-point tracking. The controller design specification had
the criteria that there should be no steady state disturbance subjected to continuous
disturbance, and that is verified using the first block diagram, where the disturbance is
added in the output itself.
The second block diagram serves the purpose of set point tracking. The set point is
changed after a certain time, when the output settles down for a considerable period.
34
45. RESULTS & DISCUSSION CHAPTER 9
CHAPTER 9
RESULTS & DISCUSSION
The results of simulation both time domain and performance criterion are tabulated
below for comparison. This is done for both set-point tracking and disturbance
rejection.
Before Disturbance After Disturbance
Rise
Time tr
(seconds)
Percentage
Overshoot
(Percent)
Setlling
Time ts
(Seconds)
Rise
Time tr
(seconds)
Percentage
Undershoot
(Percent)
Setlling
Time ts
(Seconds)
Digital
Controller
0.016 18.32 0.07 0.514 3.454 0.54
Dead beat
Controller
0.002 6.1 0.004 0.502 1.285 0.502
Dahlin
Controller
0.038 0 0.038 0.523 0 0.523
Pole
Placement
0.054 25.74 0.217 0.549 5.22 0.627
Fuzzy
Controller
0.06 16.77 0.162 0.527 7.517 0.582
Table 9.1: Comparison of time domain indices of system subjected to disturbance
Before set-point change After set point change
Rise
Time tr
(seconds)
Percentage
Overshoot
(Percent)
Setlling
Time ts
(Seconds)
Rise
Time tr
(seconds)
Percentage
Overshoot
(Percent)
Setlling
Time ts
(Seconds)
Digital
Controller
0.016 18.32 0.07 0.513 3.23 0.54
Dead beat
Controller
0.002 6.1 0.004 0.502 0.0975 0.502
Dahlin
Controller
0.038 0 0.038 0.521 0 0.521
35
46. RESULTS & DISCUSSION CHAPTER 9
Pole
Placement
0.054 25.74 0.217 0.549 4.3 0.624
Fuzzy
Controller
0.033 35.61 0.195 0.521 7.93 0.608
Table 9.2: Comparison of time domain indices of system subjected to servo control
IAE ITAE ISE ITSE
Digital
Controller
0.0158 0.0022 0.0054 1.5352x10-4
Dead beat
Controller
0.0022 2.2824x10-4
0.0018 4.6442x10-5
Dahlin
Controller
0.0133 0.0013 0.0067 1.71x10-4
Pole
Placement
0.0620 0.0086 0.0303 0.0013
Fuzzy
Controller
0.0542 0.0061 0.0315 9.8471x10-4
Table 9.3: Comparison of performance indices of system subjected to disturbance
IAE ITAE ISE ITSE
Digital
Controller
0.0164 0.0026 0.0054 1.5149x10-4
Dead beat
Controller
0.0022 2.2812x10-4
0.0018 4.6393x10-4
Dahlin
Controller
0.0133 0.0013 0.0067 1.71x10-4
Pole
Placement
0.0620 0.0086 0.0304 0.0013
Fuzzy
Controller
0.0480 0.0064 0.0223 8.0126x10-4
Table 9.4: Comparison of performance indices of system subjected to servo control
36
47. RESULTS & DISCUSSION CHAPTER 9
Figure 9.1: Disturbance rejection of Digital Controller using Root Locus
Figure 9.2: Servo Control of Digital Controller using Root Locus
37
48. RESULTS & DISCUSSION CHAPTER 9
Figure 9.3: Disturbance rejection of Dead-Beat Controller
Figure 9.4: Servo control of Dead-Beat Controller
38
49. RESULTS & DISCUSSION CHAPTER 9
Figure 9.5: Disturbance rejection of Dahlin Controller
Figure 9.6: Servo control of Dahlin Controller
39
50. RESULTS & DISCUSSION CHAPTER 9
Figure 9.7: Disturbance rejection of Pole Placement Controller
Figure 9.8: Servo Control of Pole Placement Controller
40
51. RESULTS & DISCUSSION CHAPTER 9
Figure 9.9: Disturbance rejection of Fuzzy Logic Controller
Figure 9.10: Servo Control of Fuzzy Logic Controller
41
52. CONCLUSION & FUTURE SCOPE OF THE WORK CHAPTER 10
CHAPTER 10
CONCLUSION AND FUTURE SCOPE OF THE
WORK
There are few very important conclusions be drawn from the report which are
discussed in the following paragraphs.
Dead-Beat controller as seen from both the time domain specification subjected to
disturbance rejection and servo control and performance indices provides the best
control solution of the system. But the gain of the controller is very high makes the
control input, in term of voltage practically unrealizable. The case is same for the
Dahlin controller and the cascade compensator designed using root locus. This shall
be discussed later when dealing with the practical implementation of the system.
Controller specifications were defined to have a tolerable overshoot and a realizable
settling time. But the fuzzy controller was devoid of such specification and that results
in high overshoot, making it not optimal and obvious choice for the control. Though
the pre-compensator eliminates the offset of the PD-type fuzzy controller, it is
responsible for the overshoot.
Pole placement controller gives desired performance except in the case of percentage
overshoot. This is due to the reason that the controller was originally designed in s-
plane but implemented in z-plane after transformation. The transformation has left a
slight mark on the controller.
The digital compensator and Dahlin controller gives the smooth output as desired,
hence chosen to be the best for control and puts the actuator under very less stress.
But the remarkable part is the absence of ringing in digital controller, even if there are
poles and zeros on the negative real axis between 0 and -1, they are close to -1 hence
doesn’t contribute in ringing.
For practical implementation, the controller is simply a microcontroller, and it was the
target when the idea of this project was conceived. The choice of sensor is varied and
most popular are rotary potentiometer, optical encoder and shaft encoder.
Potentiometer is continuous device and has been discussed and simulated in
42
53. CONCLUSION & FUTURE SCOPE OF THE WORK CHAPTER 10
MATLAB. Optical encoder gives a few discrete states in exponents of two; hence the
steps available are limited. Shaft encoder is pre-built with the motor and gives
information in continuous form; this is most precise and lack mechanical part hence
robust.
Now the high gain can be dealt with gears. The output must be connected to the
output gear, with an amplified gear ratio. That might step down the torque generated
by the motor but the displacement is amplified. This amplification keeps the total loop
gain of the system as desired however needing a fraction of the total controller effort
that is realizable and can be given input to a motor.
The second problem is the bi-polarity of the control signal. This is solved by
controller generating the signal of similar shape but unipolar in nature. Now the
control signal is clamped down to the desired value eliminating the offset using an
electronic clamper circuit.
The z-domain to difference equation has been explained in detail in appendices. The
controller is generalized and then simplified it can be simplified and implemented in
microcontroller code.
43
54. APPENDICES
Appendix I
Consider a causal controller defined by the transfer function in z-domain
� � =
�
� �
=
+ �−
+ �−
+ �−
+ �− + �− + �−
� + �−
+ �−
+ �−
= � � + �−
+ �−
+ �−
Taking inverse z-transform on both sides we get
� + � − + � − + � −
= � � + � � − + � � − + � � −
Now from the difference equation we can clearly see that the present control action is
dependent on past control action and past and present error signal.
The lower the order of the system, the less complicated the code will be. This
difference equation can be easily implemented. However there is a problem when
there is no ADC available, since most microcontrollers do not come with in-built
ADC. The solution is using PWM. The pulse width modulated output can be passed
through a low-pass filter and be effectively used to control the signal. ADC however
offers a wider range, hence better accuracy.
Appendix II
The ‘sisotool’ is interactive platform based on MATLAB extremely useful to design
controller or control systems. Figure A shows the default window and it has four
primary options.
Control Architecture: Six different control architectures available to choose from,
the simplest closed loop feedback system being default.
Loop Configuration: This option actually fine tunes the loop architecture and adds
to or deletes the unnecessary loops or blocks in a complicated system.
44
55. System Data: Apart from the controller C and process G every other block as
assumed to be zero. But it can be replaced with required transfer function.
Sample-Time Conversion: Changes the sample time and modifies the response,
used only for sampled data models.
Figure A: The ‘sisotool’ design window of MATLAB
Figure B: Analysis window to show the real time plot of the system
45
56. Appendix III
While discretizing a continuous time s-domain transfer function into a sampled time
z-domain transfer function using ‘zoh’ method in MATLAB, the Zero-Order Hold
transfer function is incorporated implicitly. Let us manually try to verify the fact.
From the system modelling, we know that the approximate transfer function of the
model is of the form
�� =
′
+
= �
+
The transfer function of the zero order hold is
� =
− �− �
The total transfer function is therefore a cascade arrangement of the two
� = � − �− �
+
Now the gain remains unchanged since the transformation is linear. The term
− �− �
represents delay and equivalent to − �−
in z-domain. Therefore we
are concerned with the rest part.
�′ � =
+
= − +
+
�′ = − + �−�
�′ � = � − + �−���
�′ � = (
�
� −
−
�
� −
+
�
� − �−��
)
�′ � =
�{ + �−��
− � + − �−��
− �−�� }
� − � − �−��
Now when the rest part is added it becomes
�′ � =
� { + �−��
− � + − �−��
− �−�� }
� − � − �−��
46
57. Bibliography
1. Landau Ioan D. and Gianluca Zito, “Digital Control Systems Design,
Identification and Implementation” Springer-Verlag London Limited 2006.
ISBN-10:1846280559
2. Ibrahim Dogan “Microcontroller Based Applied Digital Control” John Wiley &
Sons Ltd. ISBN 0-470-86335-8
3. Dorf Richard & Robert Bishop July 2014 “Modern Control Systems” 12th Edition
Pearson New International. ISBN: 9781292037127
4. Nise Norman S. December 2010 “Control Systems Engineering”, 6th Edition John
Wiley & Sons Ltd. ISBN : 978-0-470-54756-4
5. Control Tutorials for MATLAB and Simulink - DC Motor Position: System
Modeling. Retrived on April 17, 2016 from
“http://ctms.engin.umich.edu/CTMS/index.php?example=MotorPosition§ion
=SystemModeling” Carnegie Mellon University, University of Michigan and
University of Detroit Mercy.
6. Control Tutorials for MATLAB and Simulink - DC Motor Position: Digital
Controller Design. Retrived on April 17, 2016 from
“http://ctms.engin.umich.edu/CTMS/index.php?example=MotorPosition§ion
=ControlDigital” Carnegie Mellon University, University of Michigan and
University of Detroit Mercy.
7. National Programme on Technology Enhanced Learning (NPTEL) – Digital
Control System. Retrieved on April 17, 2016 from
“http://nptel.ac.in/courses/108103008” June 27, 2012 by Indrani Kar, Somnath
Majhi, Department of Electrical & Electronics Engineering Indian Institute of
Technology Guwahati
8. Fadali M. Sami & Antonio Visioli September 2012 “Digital Control Engineering
Analysis and Design” 2nd Edition Academic Press. ISBN-13: 978-0123943910
9. Starr Gregory P. November 2006 “Introduction to Applied Digital Control” 2nd
Edition, Department of Mechanical Engineering, The University of New Mexico
10. Mudi Rajani K., Nikhil R. Pal, “A Robust Self-Tuning Scheme for PI and PD Type
Fuzzy Controllers” IEEE Transactions On Fuzzy Systems, Vol. 7, No. 1, February
1999.
11. http://www.moog.com/literature/MCG/moc23series.pdf
47