Industrial and commercial process control are very important fields of automatic control engineering. Basically, two types of control algorithms are used in process control: ON/OFF control and proportional integral derivative (PID) control. Both control algorithms use feedback where the output response of the plant is compared to the desired value and an action is taken to minimize the error between the two.

In simple ON/OFF control applications full power is applied to the plant if the error is positive, otherwise, power is removed. ON/OFF control has many disadvantages. Firstly, the error is never zero and as a result precision control of the plant is not possible. For example, in an ON/OFF temperature control the measured temperature shows an oscillatory behaviour and can be several degrees above or below the desired value. ON/OFF control. Secondly, it is very difficult to control plants with time delays using ON/OFF type control. Thirdly ON/OFF control is usually based on using a relay and the relay has to switch many times thus shortening its lifetime. 
PID based practical digital control

What Are PID Controllers?

PID control is the most commonly used control algorithm, used extensively in industrial, process, and commercial applications and has been universally accepted as the easiest and perhaps the best control algorithm, resulting in precision control of a plant. The popularity and wide use of PID controllers can be attributed partly to their robust performance in a wide range of process control applications and partly to their simplicity to use, which allows engineers to operate and tune them in a simple, straightforward manner. As the name suggests, the PID algorithm consists of three basic coefficients; proportional, integral and derivative which are varied to get an optimal response.

New Book Release 

The new book, PID-Based Practical Digital Control with Raspberry Pi and Arduino Uno, is about using the Raspberry Pi 4 and Arduino Uno in PID-based automatic control applications. The book starts with the basic theory of both the continuous and discrete time feedback control systems. The time responses of first-order and second-order systems are given in detail. Working and fully tested projects are given for controlling real systems using PID controller algorithms. The open-loop step time response, various methods of tuning the PID parameters, and the closed-loop time response of the developed systems are given in the book together with the block diagrams, circuit diagrams, PID controller algorithms, and full program listings and program descriptions for both the Raspberry Pi and Arduino Uno.

A PID Controller Example

A project from the book is shown below. It is used to control the level of water in a tank using a Raspberry Pi 4, ultrasonic sensor, reservoir, tank, submersible pump, MOSFET switch and power supply. The output step time response of the system with the PID controller is shown in the diagram, where it was required to set the water level at 10 centimetres.
 
         
Project overview PID Controller
    
 

 
Elements of the project with PID Controller

 
The output step time response of the system with PID Contorllers
The output step time response of the system with the PID controller.
The projects given in the book should teach the basic theory and applications of PID controllers and these projects can be modified easily by the readers for other control applications. Interested readers can enhance their knowledge by searching the internet, where there are many tutorials, application notes, projects, and papers on PID controllers.

The book covers the following topics:
 
  • Open-loop and closed-loop control systems
  • Analogue and digital sensors
  • Transfer functions and continuous-time systems
  • First-order and second-order system time responses
  • Discrete-time digital systems
  • Continuous-time PID controllers
  • Discrete-time PID controllers
  • ON-OFF temperature control with Raspberry Pi and Arduino Uno
  • PID temperature control with Raspberry Pi and Arduino Uno
  • PID DC motor control with Raspberry Pi and Arduino Uno
  • PID water level control with Raspberry Pi and Arduino