SlideShare a Scribd company logo
1 of 57
Download to read offline
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
~ 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: _________________
~ 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: ____________________________
~ 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
~ 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.
~ 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
~ 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
~ 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
~ 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
~ 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
RESULTS & DISCUSSION CHAPTER 9
Figure 9.3: Disturbance rejection of Dead-Beat Controller
Figure 9.4: Servo control of Dead-Beat Controller
38
RESULTS & DISCUSSION CHAPTER 9
Figure 9.5: Disturbance rejection of Dahlin Controller
Figure 9.6: Servo control of Dahlin Controller
39
RESULTS & DISCUSSION CHAPTER 9
Figure 9.7: Disturbance rejection of Pole Placement Controller
Figure 9.8: Servo Control of Pole Placement Controller
40
RESULTS & DISCUSSION CHAPTER 9
Figure 9.9: Disturbance rejection of Fuzzy Logic Controller
Figure 9.10: Servo Control of Fuzzy Logic Controller
41
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
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
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
 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
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
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&section
=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&section
=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

More Related Content

What's hot

UIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedUIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedMichael Bailey
 
2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland
2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland
2012 Chevrolet Equinox Owner's Manual Baltimore, MarylandJerry's Chevrolet
 
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...IRJET Journal
 
2012 Chevy Traverse Owners Manual
2012 Chevy Traverse Owners Manual2012 Chevy Traverse Owners Manual
2012 Chevy Traverse Owners ManualJerry's Chevrolet
 
2012 Chevrolet Silverado Owner's Manual
2012 Chevrolet Silverado Owner's Manual2012 Chevrolet Silverado Owner's Manual
2012 Chevrolet Silverado Owner's ManualJerry's Chevrolet
 
2012 Chevy Express Owner's Manual Baltimore, Maryland
2012 Chevy Express Owner's Manual Baltimore, Maryland2012 Chevy Express Owner's Manual Baltimore, Maryland
2012 Chevy Express Owner's Manual Baltimore, MarylandJerry's Chevrolet
 
Truyen thong
Truyen thongTruyen thong
Truyen thongTan Ngoc
 

What's hot (8)

Abb technical guide no.09 revb
Abb technical guide no.09 revbAbb technical guide no.09 revb
Abb technical guide no.09 revb
 
UIC Systems Engineering Report-signed
UIC Systems Engineering Report-signedUIC Systems Engineering Report-signed
UIC Systems Engineering Report-signed
 
2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland
2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland
2012 Chevrolet Equinox Owner's Manual Baltimore, Maryland
 
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...
A Comparative Study of PID and Fuzzy Controller for Speed Control of Brushles...
 
2012 Chevy Traverse Owners Manual
2012 Chevy Traverse Owners Manual2012 Chevy Traverse Owners Manual
2012 Chevy Traverse Owners Manual
 
2012 Chevrolet Silverado Owner's Manual
2012 Chevrolet Silverado Owner's Manual2012 Chevrolet Silverado Owner's Manual
2012 Chevrolet Silverado Owner's Manual
 
2012 Chevy Express Owner's Manual Baltimore, Maryland
2012 Chevy Express Owner's Manual Baltimore, Maryland2012 Chevy Express Owner's Manual Baltimore, Maryland
2012 Chevy Express Owner's Manual Baltimore, Maryland
 
Truyen thong
Truyen thongTruyen thong
Truyen thong
 

Similar to Debargha

Minor_Project_Report
Minor_Project_ReportMinor_Project_Report
Minor_Project_ReportVansh Kumar
 
Plc and scada report
Plc and scada reportPlc and scada report
Plc and scada reportIndira Kundu
 
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...Thesis report on eye tracking based driver fatigue hardeep singh pec universi...
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...HardeepSingh Dhillon
 
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...Final thesis report on eye tracking based driver fatigue hardeep singh pec un...
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...HardeepSingh Dhillon
 
Thesis-MitchellColgan_LongTerm_PowerSystem_Planning
Thesis-MitchellColgan_LongTerm_PowerSystem_PlanningThesis-MitchellColgan_LongTerm_PowerSystem_Planning
Thesis-MitchellColgan_LongTerm_PowerSystem_PlanningElliott Mitchell-Colgan
 
Project Report-Design of a PLC System for health monitoring of DC drive throu...
Project Report-Design of a PLC System for health monitoring of DC drive throu...Project Report-Design of a PLC System for health monitoring of DC drive throu...
Project Report-Design of a PLC System for health monitoring of DC drive throu...Abhishek Sharma
 
Plc report with project
Plc report with projectPlc report with project
Plc report with projectPriya Hada
 
mechatronics lecture notes.pdf
mechatronics lecture notes.pdfmechatronics lecture notes.pdf
mechatronics lecture notes.pdfTsegaye Getachew
 
mechatronics lecture notes.pdf
mechatronics lecture notes.pdfmechatronics lecture notes.pdf
mechatronics lecture notes.pdfLaggo Anelka
 
Comparison of Different Control Strategies for Rotary Flexible Arm Joint
Comparison of Different Control Strategies for Rotary Flexible Arm JointComparison of Different Control Strategies for Rotary Flexible Arm Joint
Comparison of Different Control Strategies for Rotary Flexible Arm Jointomkarharshe
 
final-year-project-latest
final-year-project-latestfinal-year-project-latest
final-year-project-latestLasitha Konara
 
Project Report Distance measurement system
Project Report Distance measurement systemProject Report Distance measurement system
Project Report Distance measurement systemkurkute1994
 
Fuzzy logic control of brushless dc motor
Fuzzy logic control of brushless dc motorFuzzy logic control of brushless dc motor
Fuzzy logic control of brushless dc motorSourav Chowdhury
 
Thesis report 16 bit RISC processor
Thesis report 16 bit RISC processorThesis report 16 bit RISC processor
Thesis report 16 bit RISC processoranuruddhsharma1
 

Similar to Debargha (20)

Fuzzy imp in part
Fuzzy imp in partFuzzy imp in part
Fuzzy imp in part
 
Plc report
Plc report Plc report
Plc report
 
Minor_Project_Report
Minor_Project_ReportMinor_Project_Report
Minor_Project_Report
 
Aviation Control Unit
Aviation Control UnitAviation Control Unit
Aviation Control Unit
 
Plc and scada report
Plc and scada reportPlc and scada report
Plc and scada report
 
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...Thesis report on eye tracking based driver fatigue hardeep singh pec universi...
Thesis report on eye tracking based driver fatigue hardeep singh pec universi...
 
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...Final thesis report on eye tracking based driver fatigue hardeep singh pec un...
Final thesis report on eye tracking based driver fatigue hardeep singh pec un...
 
Thesis-MitchellColgan_LongTerm_PowerSystem_Planning
Thesis-MitchellColgan_LongTerm_PowerSystem_PlanningThesis-MitchellColgan_LongTerm_PowerSystem_Planning
Thesis-MitchellColgan_LongTerm_PowerSystem_Planning
 
Project Report-Design of a PLC System for health monitoring of DC drive throu...
Project Report-Design of a PLC System for health monitoring of DC drive throu...Project Report-Design of a PLC System for health monitoring of DC drive throu...
Project Report-Design of a PLC System for health monitoring of DC drive throu...
 
Plc report
Plc reportPlc report
Plc report
 
Plc report with project
Plc report with projectPlc report with project
Plc report with project
 
mechatronics report
mechatronics reportmechatronics report
mechatronics report
 
mechatronics lecture notes.pdf
mechatronics lecture notes.pdfmechatronics lecture notes.pdf
mechatronics lecture notes.pdf
 
mechatronics lecture notes.pdf
mechatronics lecture notes.pdfmechatronics lecture notes.pdf
mechatronics lecture notes.pdf
 
Comparison of Different Control Strategies for Rotary Flexible Arm Joint
Comparison of Different Control Strategies for Rotary Flexible Arm JointComparison of Different Control Strategies for Rotary Flexible Arm Joint
Comparison of Different Control Strategies for Rotary Flexible Arm Joint
 
final-year-project-latest
final-year-project-latestfinal-year-project-latest
final-year-project-latest
 
Project Report Distance measurement system
Project Report Distance measurement systemProject Report Distance measurement system
Project Report Distance measurement system
 
Fuzzy logic control of brushless dc motor
Fuzzy logic control of brushless dc motorFuzzy logic control of brushless dc motor
Fuzzy logic control of brushless dc motor
 
PLC & SCADA
PLC & SCADA PLC & SCADA
PLC & SCADA
 
Thesis report 16 bit RISC processor
Thesis report 16 bit RISC processorThesis report 16 bit RISC processor
Thesis report 16 bit RISC processor
 

Debargha

  • 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&section =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&section =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