Better than PID

Need help with equipment usage or want to share your latest discovery?
User avatar
pizzaman383
Supporter ❤
Posts: 1730
Joined: 13 years ago

#1: Post by pizzaman383 »

It's really cool to see PID becoming more common in controlling espresso brew boiler temperature. PID brings substantially smaller variation in boiler temperature than simpler thermostat devices. In engineering terms, the "deadband" is smaller meaning the designed, allowed variation is reduced. So, you invest more money in parts to create more accurate temperature control.

PID is great. However, PID is really not suited to the job of controlling temperature during an espresso shot. Why is that? Because PID is designed to provide steady-state control (of the temperature in this case). Is the brew boiler in an espresso machine in a steady-state condition during an espresso shot? NO! During the shot, to get the nicely controlled temperature water out you have to put something into the boiler. The pump injects water into the boiler to do that. Because a PID-controlled heating element can only add heat AFTER the water has cooled down it means there must be a time lag before the temperature comes back to the control point.

Preheating the water that enters the brew boiler is one way to help with this because it reduces the temperature delta between the new water and the controlled-temperature water. Controlling the water flow within the boiler can help with this (see my other thread Water Flow within Brew Boiler and Temperature Stability). However, with the trend towards smaller brew boilers these have less impact. In general, I think that the move to small brew boilers helps because it reduces the thermal mass and makes the boiler more responsive to heat input.

So, we have a PID control system trying to control temperature while a pulse of cooler water is being injected into the boiler. What could be better? Just using PID ignores the fact that we KNOW that cooler water is going to be injected into the brew boiler. If we really want to provide the best temperature control, we'll measure the temperature of the incoming water, we'll plan for the amount of water being injected, and we'll adjust our controller to start providing heat to the boiler as soon the pump starts. This "modern control system" would reduce the lag of when the heat begins counteracting the addition of the cold water.

So, the best temperature control will come when we move beyond PID to begin using the other factors we know about an espresso brew boiler to best advantage. This will add more cost but will bring better temperature control.

I've been thinking about this for a while and today is the day it spewed forth.
Curtis
LMWDP #551
“Taste every shot before adding milk!”

Advertisement
duke-one
Posts: 499
Joined: 17 years ago

#2: Post by duke-one »

Curtis: I have also given this some thought (as, I'm sure many here have) and I came up with an idea for a brew boiler that would have a recirculation pump & some added valving and electronic control. In short form it would run the recirc pump to the point that the brew head and the boiler were at the preferred temperature for the shot. The shot would then be pulled and refill water would be held off till the shot was done. The next shot would be on hold till the temp re-stabilized. I feel that a system like this could supply the water for a shot at an unvarying temperature (the few ounces for the shot would certainly not lower the temp of a boiler and group head if all were at proper, even temp) but would be expensive and kind of slow, shot to shot.
Duke

User avatar
allon
Posts: 1639
Joined: 13 years ago

#3: Post by allon »

The injection of cold water into the boiler is why the water heading to the group is pulled from a separate part of the boiler; consider the amount of water in the pipe, the temperature of the water in the pipe, the time it takes for the water to mix.

In an HX machine, how the water is injected into the loop is part of the design.
LMWDP #331

User avatar
pizzaman383 (original poster)
Supporter ❤
Posts: 1730
Joined: 13 years ago

#4: Post by pizzaman383 (original poster) »

duke-one wrote:I came up with an idea for a brew boiler that would have a recirculation pump & some added valving and electronic control. In short form it would run the recirc pump to the point that the brew head and the boiler were at the preferred temperature for the shot.
Duke
That's an interesting idea.
Curtis
LMWDP #551
“Taste every shot before adding milk!”

User avatar
pizzaman383 (original poster)
Supporter ❤
Posts: 1730
Joined: 13 years ago

#5: Post by pizzaman383 (original poster) »

allon wrote:The injection of cold water into the boiler is why the water heading to the group is pulled from a separate part of the boiler; consider the amount of water in the pipe, the temperature of the water in the pipe, the time it takes for the water to mix.
Good point. I recently made a post on exactly that topic.
Water Flow within Brew Boiler and Temperature Stability
Curtis
LMWDP #551
“Taste every shot before adding milk!”

Glenn T
Posts: 12
Joined: 12 years ago

#6: Post by Glenn T »

The existing PID control scheme is a legacy of the control systems available in the 60's, very basic relay log.

The solution to your concern is easy to implement with a slightly-better-than-rudimentary control scheme. Simply put the heaters on an "OR" circuit. The sequence changes.
1. Hit brew switch
2. Turn on heater
3. Time delay: allow the heater to come up to temp but not long enough to significantly raise boiler temp
4. Start pump
5. Toggle brew switch
6. Stop pump
7. De-energize this side of the OR circuit, returning the heater to PID control to return the boiler to specified temperature.

If users do not like the time delay between hitting "brew start" and water pumping, make the time delay 0, starting the heater with the brew switch, not a temp drop.

JimG
Posts: 659
Joined: 18 years ago

#7: Post by JimG »

A cautionary note here: many single boiler machines intrinsically produce a slightly rising intrashot temperature profile with the heater off. On those machines, forcing the heater on may not result in an improved brew temperature profile, even though the indicated boiler temperature becomes more stable.

Jim

Advertisement
User avatar
barry
Posts: 637
Joined: 19 years ago

#8: Post by barry »

A long time ago I messed with this issue, back in the day of an 8-channel datalogger on a 4-group Marzocco... IIRC, I found about a 5 second lag between brew cycle initiation and PID control response to the impending boiler temperature drop. The easiest solution I came up with was to have the brew element switch on when the brew solenoid opened, and then let the PID resume control. Alas, I never got around to making it a permanent feature on the machine... probably because, while having an impact on boiler temps, it had negligible impact on actual brew temps.

TollFreeCaller
Posts: 3
Joined: 12 years ago

#9: Post by TollFreeCaller »

PID Control can compensate to detect a small variation of water being introduced to a boiler and start the heating element BEFORE the water would get cold. However, this is mostly a slippery slope of trying to introduce derivative (the D of PID). So, even though PID was thought up years ago does not mean it is ineffectual.

In the practical environment for boiler operation I would suggest avoiding the D and sticking with the P and I.

And, when setting up operation first setup your P parameters and then ease in the integral which is a time based adjustment. You can liken this PI control to ocean waves.

Think of Proportional as the top and bottom of the wave and Integral as the distance between wave peaks. You may even be able to set P to a point where you get mostly a flat response, but likely it is above or below set point (boiler conditions you want). So, you setup P to the smallest consistent wave and then dial this in with I (looking for a calm ocean). This is most likely as far as you need to go with most applications.

Now, commenting on a different method than PID for boilers because of the process of making shots? Well, this goes into a control method called Iterative. And, I think their would be some merit to a manufacturer implementing this control into a machine. But, this would require some processing and the appropriate response to temperature and condition. The fixed iterative response would prevent the problems sometimes faced in PID control and user error in setting up their PID loops.

TollFreeCaller
Posts: 3
Joined: 12 years ago

#10: Post by TollFreeCaller »

Also in another post on this website a person was using multiple PID loops. In the industry this is referred to as Cascade Control.

So, you could measure out the feed water fill rate (cold water coming in) against the steam output.
With the relatively small boiler size this control method could be helpful to provide output where you want it.
Somebody could fill me in on the acceptable range of the out temperature of the shot and this would be helpful.

But a predictive (iterative) control would still be better long term I think.

Post Reply