PID Control
Things I Wish I Knew When I Graduated
A digital course by Simone Bertoni
Who I am
● BSc degree in Computer Engineering
● MSc degree in Control Engineering
● 12 years work experience in Control Engineering
○ Autonomous vehicles (drones, vessels) guidance, navigation and control
○ Automated gearbox control design and implementation
○ Fuel cell power systems and electrolysers control design and
implementation
○ Management of ~10 control, software, electronics and electrical engineers
● Opinions are my own
Objective of the course
Use my 12-year experience in control engineering to:
● Gain confidence in designing and implementing control strategies based
on PID control
● Understand how PID control algorithms work in the real world and how to
troubleshoot them
● Boost your skills in tuning PID controllers
The course
Lessons
● Short videos
● Scilab / Xcos
● Resources provided
Suggestions
● Take notes
● Do it again from scratch
● Have fun
Chapter 1: The basics
The principle of feedback control
The principle of feedback control
Feedforward
control
Feedback
control
The system
The system
The model
Proportional (P) control
P control - model
P control - simulation
P control - steady state error
● P control is exposed to steady state error
P control + Feedforward - model
P control + Feedforward - simulation
P control + Feedforward - steady state error
● P control (also with feedforward) is exposed to steady state error
Proportional + Integral (PI) control
PI control - model
PI control - simulation - kp = 1
Proportional + Integral + Derivative
(PID) control
PID control - model
PID control - simulation - kp = 1, ki = 0.1
PID control - derivative of feedback - model
PID control - derivative of feedback - kp = 1, ki = 0.1, kd = 0.5
PID control - derivative of feedback - kp = 1, ki = 0.1, kd = 0.5
PID control - analysing the
components
PID - Continuous-time
Proportional Integral Derivative
component component component
PID control - components - model
PID control - components - kp = 1, ki = 0.1, kd = 0.5
PID control - components - kp = 2.3, ki = 0.1, kd = 0.5
PID control - components - kp = 1, ki = 0.5, kd = 0.5
PID control - components - kp = 1, ki = 0.1, kd = 2
Chapter 2: PID controller -
Discrete-time implementation
What is discrete-time and why is it
important?
Discrete-time vs continuous-time
Continuous-time → Real world systems (electrical, mechanical, thermal, etc)
Discrete-time → Digital systems (PCs, microcontrollers, etc)
Discrete-time PID -
Implementation
Discrete-time PID
Discrete-time PID - proportional
Discrete-time PID - integral - Backward Euler
Discrete-time PID - integral - Forward Euler
Discrete-time PID - derivative
Discrete-time PID - Model and
simulation
Discrete-time PID - model
Discrete-time PID - simulation
Discrete-time PID - Model and
simulation - more on sample time
Discrete-time PID - model - more on T
Discrete-time PID - simulation - more on T
Chapter 3: Anti-windup
The problem: Integrator windup
PID anti-windup - problem
Anti-windup strategies -
Back-calculation
Back-calculation - model
Back-calculation - simulation
Back-calculation - simulation - kaw = 0.25
Anti-windup strategies - Integral
clamping
Integral clamping - model
Integral clamping - simulation
Anti-windup strategies -
Comparison
Integral clamping vs back-calculation - simulation - 1
Integral clamping vs back-calculation - simulation - 2
Chapter 4: Tuning
Traditional methods -
Ziegler-Nichols - Principle
PID control - a different form
Ziegler-Nichols
Valid only for open loop stable plants
1. Use a P controller
2. Start with a very small gain
3. Increase the gain until the loop starts oscillating
4. Record the critical k = kc and the oscillation period Pc
Traditional methods -
Ziegler-Nichols - Practice
Ziegler-Nichols - Procedure
Pc = 4.2 s
Ziegler-Nichols - Gains
● kc = 3
● Pc = 4.2s
● k = 0.6*kc = 1.8
● Tr = 0.5*Pc = 2.1
● Td = 0.125*Pc = 0.53
● kp = k = 1.8
● ki = k/Tr = 0.86
● kd = k*Td = 0.95
Ziegler-Nichols - Simulation
Manual tuning
Find proportional gain
Find integral gain
Find derivative gain
Manual tuning - anti-windup
back-calculation gain
Anti-windup back-calculation gain
Anti-windup back-calculation gain
Thank you!