Arduino based PID control

The PID Tuner comes with everything you need for a succesfull Aduino based project, among which :
  • all C-code required for the Arduino (PID, filters, connectivity)
  • all communication software to connect with the Arduino
In this post, we present the result of an Arduino project, where the boiler temperature controller of an esspresso machine (a bimetal on/off controller) was replaced with an Arduino based PID controller.

Photo 1 shows the PID Tuner connected to an espresso machine.


Photo 1: Espresso machine with Arduino based temperature controller, connected to the PID Tuner

Hardware required

The hardware wiring scheme is shown in Figure 2 and is simple to make in less than half an hour. The hardware costs around 40 EUR. This is what you need to buy:
  • Arduino board
  • solid state relay (min 2000 Watt, so 10 Ampereop 220V
  • temperature sensor, we used an NTC thermistor, that you can stick to the boiler surface
wiring diagram

Figure 2: Wiring diagram


When you obtain the PID Tuner, you can download all Arduino software required to control the temperature (and any other variable you might like to control such as pressure) by PID loops. You can then immidiately use the PID Tuner to quickly tune the PID loop(s) and monitor and log data.

We went through the tuning steps and this resulted in optimised PID settings. Figure 3 shows the temperature during operation. Each time the temperature drops, we brew another espresso.
There are possibilities to improve temperature performance, by adding feedforward, but this would require some additional hardware and wiring. If you are interested though, please leave a comment, with your contact details.


Figure 3: Temperature during brewing coffee.