Lab 7 Pid Control
Lab 7 Pid Control
PID CONTROL
1. LAB OBJECTIVE
The objective of this lab is to design and implement a PID (Proportional-Integral- Derivative)
controller and to study the effect of integral and derivative control actions on the system. We
will also learn about the importance of the bandwidth of a controller.
2. BACKGROUND
The frequency range of input signals that a closed-loop system can track successfully
without significant attenuation is called the closed-loop bandwidth of the system. It is
defined as the frequency at which output amplitude becomes 1 / 2 (or -3 dB)
Example:
Consider the proportional control system shown below. Let Km = 5.5, T m = 0.13, K p = 10.
B B B B B B
Figure 1: Block diagram of closed-loop proportional control system that controls the shaft
position of a DC servomotor.
The bode plot of the above transfer function is shown in Figure 2. We can see from the Bode
plot that the –3dB point occurs around 30 rad/s. This is considered to be the bandwidth
of the closed-loop system. In other words, this controller can track signals that vary with
frequencies up to 30 rad/s (4.7Hz) without significant attenuation.
2.2 Experimental determination of bandwidth
We can determine the bandwidth experimentally by observing how well the plant tracks
sinusoidal input signals of different frequencies.
Figure 2: Bode plot of the closed loop transfer function of the control system shown in
Figure 1
position. We have already seen proportional (P) control. In this section we will consider three
other types of control that use not only the error of the shaft position, but also the integral
and/or the derivative of this error. The three additional types of control to be considered
include PI, PD, and PID control.
2.4 PI controller
Ki
Gc ( s) K p (2)
s
Proportional-integral (PI) control considers both the magnitude of the system error and the
integral of this error. For the DC servomotor, by integrating the error of the shaft position
over time, scaling the integral, and adding this term to the control voltage, steady-state
errors in position can be eliminated that P control alone may not be able to cancel. This is the
primary reason to add integral control action, to eliminate steady state error. The drawback of
adding integral action is that it may have a destabilizing influence on the system response if K i is
B B
Implementation
The integrated_error term is calculated by summing the error at each time instant. In C the
statement
integrated_error += error*Ts;
does this. It is necessary to initialize integrated_error to zero before the start of the
integration process.
2.5 PD controller
Gc (s) K p Kd s (3)
Proportional-derivative (PD) control considers both the magnitude of the system error and
the derivative of this error. Derivative control has the effect of adding damping to a system,
and, thus, has a stabilizing influence on the system response.
Implementation
Ki
Gc ( s) K p Kd s (4)
s
Implementation
The Ziegler-Nichols tuning rule is widely used to tune PID controller gains in process control
systems. For a PID controller of the form
1
Gc ( s) K p 1 Td s (4)
Ti s
The parameters K p , Ti and Td are calculated using the following design criteria.
Type of controller Kp Ti Td
P s
0.5 x K cr - -
PI s
0.45 x K cr Pcrs /1.2 -
PID s
0.6 x K cr 0.5 x Pcrs 0.125 x Pcrs
s
K cr and Pcrs are obtained by experiment. s
K cr is the critical gain where the shaft exhibits sustained
oscillations (marginal stability). Pcrs designates the period of these oscillations.
For the PID control law given in Section 8.2.3.3, K p = K p , K i = K p /T i , and K d = K p T d .
B B B B B B B B B B B B B B B B
3. PRELAB
b) Determine the gain values for a PI controller and a PID controller using the Ziegler-Nichols
s
tuning rules. Use the values for K cr and Pcrs that you experimentally determined in the previous
lab.
c) Write a program to implement PI position control. Use gain values obtained from Question
2. Use a step input of 500 counts.
d) Write a program to implement PID position control. Use gain values obtained from
Question 2. Use a step input of 500 counts.
4. LAB PROCEDURE
Exercise 1
Implement Prelab Question 1. Vary the reference signal frequency according to the
following table. Plot the experimental response using print_into_matlab48. Determine the
value of the output magnitude from the plots obtained. You already know the input
amplitude.
4
8
10
12
14
16
20
Exercise 2
Implement PI position controller (Prelab Question 3). Plot the experimental step response.
Exercise 3
Implement PID position controller (Prelab Question 4). Plot the experimental step response.
a) Use MATLAB to obtain the bode plot of the closed loop transfer function that you
determined in Postlab Question 1 of Lab 7 for Kp = 0.004. Estimate the bandwidth of
the controller from the bode plot. Show your results on the bode plot and include the
plot in your postlab.
b) Create a bode plot from your experimental data. What is the bandwidth of the
controller based on the experimental data? How well does your experimental value
match the theoretical prediction in question 1? Turn the experimental bode plot in with
your postlab.
c) Compare the experimental step response curve that you obtained for position control
experiments with P, PI and PID controllers. Comment on the steady state error value,
oscillatory behavior (stability), and speed of response (rise time). If necessary show your
reasoning on the plots.
All experimental plots obtained during the lab with appropriate titles, except for the
sinusoidal response plots for each frequency for Exercise 1.