PID-based Digital Control Engineering with Raspberry Pi and Arduino Uno
By Dogan Ibrahim
Published by Elektor
Introduction and Diagram Description
This document introduces PID (Proportional-Integral-Derivative) control engineering, focusing on digital implementations using popular platforms like Raspberry Pi and Arduino Uno. The book provides practical examples and theoretical background.
Diagram Description: The diagram illustrates a process control system. It shows a distillation column with a reboiler. Inputs include 'Cold Water In', and outputs include 'Cold Water Out'. Key components are the 'MEG Distillation Column' and 'Reboiler'. Various sensors are indicated: 'TA' (Temperature sensor), 'TI' (Temperature Indicator), 'TT' (Temperature Transmitter), and a 'C' (Controller). Other indicators include 'EK' (Encoder Count) and 'DEG + TEG' (likely indicating output stream composition). Process streams are labeled, such as 'Phase A'. The diagram also features representations of a Raspberry Pi and an Arduino Uno, highlighting their use as control platforms.
Chapter 1: Control Systems
Covers fundamental concepts of control systems, including open and closed-loop circuits, and the role of microcontrollers in control loops. It also discusses the design of control systems.
Chapter 2: Sensors
Details various sensors used in computer-based control, such as temperature sensors (including digital ones), position sensors, speed/acceleration sensors, force sensors, pressure sensors, fluid sensors, and flow sensors.
Chapter 3: Transfer Functions and Time Behavior
Explains the mathematical representation of systems using transfer functions and analyzes their time-domain behavior for first-order and second-order systems, including time delays.
Chapter 4: Discrete-Time (Digital) Systems
Focuses on digital control, introducing concepts like sampling processes and the Z-transform, which is essential for analyzing discrete-time systems. It covers the Z-transform of functions and inverse Z-transforms.
Chapter 5: The PID Controller in Continuous-Time Systems
Provides a comprehensive overview of the PID controller, detailing its proportional, integral, and derivative components. It discusses parameter tuning methods (Ziegler-Nichols, Cohen-Coon) and practical aspects like saturation effects and integral windup.
Chapter 6: Digital PID Controllers
Explores the implementation of PID controllers in digital systems, including selecting sampling times and integrating the PID algorithm into microcontroller systems.
Chapter 7: ON-OFF Temperature Control
This chapter presents practical projects for ON-OFF temperature control using Arduino Uno and Raspberry Pi 4. Projects include basic ON-OFF control, control with hysteresis, and control using buttons or rotary encoders.
- Project 1: ON-OFF Temperature Control with Arduino Uno
- Project 2: ON-OFF Temperature Control with Hysteresis and Arduino Uno
- Project 3: ON-OFF Temperature Control with Button Control – Arduino Uno
- Project 4: ON-OFF Temperature Control with Rotary Encoder and Arduino Uno
- Project 5: ON-OFF Temperature Control with Raspberry Pi 4
Chapter 8: PID Temperature Control with Raspberry Pi
Details practical projects for PID temperature control using the Raspberry Pi. Topics include determining temperature with a thermistor, analyzing system step response, PI control, and PID control implementation.
- Project 1: Temperature Determination with a Thermistor
- Project 2: Open-Loop Step Response for an Input Jump
- Project 3: PI Temperature Control
- Project 4: PID Temperature Control
- Using PID Control Loop Simulators
Chapter 9: PID Temperature Control with Arduino Uno
Focuses on PID temperature control projects using the Arduino Uno. This includes reading thermistor temperatures, implementing PID control, and utilizing the Arduino Uno PID library.
- Project 1: Reading Thermistor Temperature
- Project 2: PID Temperature Control
- Project 3: PID Temperature Control with Arduino Uno and Timer Interrupt
- Project 4: PID Temperature Control with the Arduino Uno PID Library
Chapter 10: Speed Control of DC Motors with Arduino and Raspberry Pi
Covers the control of DC motors, including different motor types (brushed, brushless, servo, stepper) and their characteristics. Practical projects involve motor speed and direction control using H-bridges, displaying RPM on LCDs, and implementing PID speed control.
- Overview of DC Motors
- Brushed DC Motors (Permanent Magnet, Series, Shunt, Compound, Externally Excited)
- Brushless DC Motors
- Servo Motors, Stepper Motors
- Project 1: Motor Speed and Direction Control using an Integrated H-Bridge
- Project 2: Displaying Motor Speed with Arduino Uno
- Project 3: Displaying Motor Speed on an LCD with Arduino Uno
- Project 4: Displaying Motor Speed with Raspberry Pi
- Project 5: Displaying Motor Speed on an LCD with Raspberry Pi
- Project 6: Characterizing DC Motors with Raspberry Pi
- Project 7: PID Motor Speed Control with Raspberry Pi
- Project 8: PID Motor Speed Control with Arduino Uno
Chapter 11: Water Level Control
This chapter explores water level control using ultrasonic sensors (HC-SR04) with Arduino Uno and Raspberry Pi. Projects include distance measurement and implementing PID-based water level regulation.
- Project 1: Distance Measurement with HC-SR04 and Arduino Uno
- Project 2: Distance Measurement with HC-SR04 and Raspberry Pi
- Project 3: Step Response of the System with Raspberry Pi
- Project 4: PID-based Water Level Control with Raspberry Pi
- Project 5: PID-based Water Level Control with Arduino Uno
Chapter 12: PID-based LED Brightness Control
Demonstrates PID control for adjusting LED brightness using Raspberry Pi and Arduino Uno. Projects cover step response analysis and PID implementation for precise brightness control.
- Project 1: Step Response of LED Brightness Control with Raspberry Pi
- Project 2: PID-based LED Brightness Control with Raspberry Pi
- Project 3: PID-based LED Brightness Control with Arduino Uno
- Project 4: PID-based LED Brightness Control with Arduino Uno Library
Publisher Information
Published by Elektor Verlag GmbH, Aachen. The book is based on the original title "PID-based Practical Digital Control" translated by Dr. Gunter Spanner. Elektor is a leading source for technical information and electronics products for engineers and developers.