What is a PID controller in an espresso machine?
beanground.com
beanground.com
In most cases it's the brew temperature that's at fault and "burns" the coffee - you have to match all four parameters to the beans you use and, especially in areas with high calcium carbonate or other minerals in the water, also the water source (if mineral content is too intense, you have to use a dedicated filter, no way of tuning will make good coffee out of shit water!).
Another all too common issue is that no one is responsible for cleaning the machine... these things have to get cleaned daily, deep cleaned weekly and the water filter at least monthly. And for heavens sake: don't use these Brita-style "open" water filters, and put the milk containers into a dedicated fridge, yes, even if it's "pasteurized" milk. Both is a serious risk for pathogen contamination.
tl;dr: good coffee means investing more time than just placing the machine in the kitchen, it actually needs tuning on inputs (beans, water) and processing (brewing parameters) to achieve a high quality output.
[1] https://www.amazon.de/milchk%C3%BChlschrank/s?k=milchk%C3%BC...
Milk can be obtained in resealable plastic or glass bottles, which performs the same anti-contaminant task substantially more effectively, incidentally.
[1] - https://media.nisbets.com/asset/core/prodimage/largezoom/cy1...
Edit: the cooler is the metal box to the left of the coffee machine here: https://getraenkekuehlschrank-portal.de/milchkuehler/
I recommend to make espresso right to some glass with ice (not much) and drink that with oat milk, or oat+dairy milk; currently it's my goto coffee that I really enjoy on hot days.
Calling something that first year electrical engineering students were getting taught in an introduction class 20 years ago (well 18 years ago in my case but it had been on the syllabus for at least two years at that point) is a little laughable.
https://en.m.wikipedia.org/wiki/Proportional%E2%80%93integra...
I bet most EE graduates still couldn't provide a good interpretation of a transfer function or a Laplace transform.
In what way?
(I’ve never been convinced that a PID controller really makes sense for a heater where there may not be much natural cooling going on, but that’s a different story.)
Drone PIDs are hard, and a lot of that to do with the quickly moving targets which is not the case in many (most?) scenarios PIDs are used.
You can write a flyable PID in a few lines, and a full PID in a few more. Set the error term to the range-mapped input - angular rate measurement, for each axis. (Assuming you have the control inputs, gyro/acc inputs, and motor output IO setup)
As for them being hard for drones... PIDs are built into the software which is easy enough to write but the drone characteristic is specific to both the configuration of the drone and the flight preference of the pilot. It can be hard to find an optimal PID setting for both, which is where it seems that most people are finding PID settings to be difficult.
And, circling back to your point about where to use the PID: I think that perhaps we need to split things more finely: The fancy part of that video was WRT overall flight trajectory planning. (See also your obstacle avoidance descriptor). You might still use PID for the angular rate control (or not), while feeding those target rates from a higher-level algorithm that commands attitudes, flight paths etc. (Or flight path -> attitude -> angular rates etc)
I went down a rabbit whole of constant angular jerk and time-to-correct targets for a while, but wasn't able to get it working.
So, there are multiple layers involved for something like in the video. A properly-tuned PID works well for manual angular-rate controls, and autopilot commands that reduce down to angular-rate controls. But PID tuning can be tricky; and/or can be done automatically; or replaced with something more sophisticated.
Although, a lot of more basic controllers only handle binary states for input. I'd argue that a calibrated (bang-bang with thermistor/thermocouple) on an analog control would be much easier to tune and easier to implement. That way, the hysteresis could be dynamically tuned out of the system with a constant input to stabilize losses.
I did something similar to that with I experimented with a peltier heated 3d printing bed. I fried the first batch of peltiers since I wasn't aware they *HATED* binary states, and would die in a crack of the ceramic matrix. My next round was to implement "Using PWM to Generate an Analog Output" ( https://ww1.microchip.com/downloads/en/Appnotes/90003250A.pd... )
Most of the time people use PID, they use it as a black box which causes a lot of pain.
[1] https://www.tutorialspoint.com/control_systems/control_syste...
[2] https://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpe...
Bang-bang controllers with deadzones/hysteresis are really the simplest form of non-linear controllers, and so can do okay at something like an HVAC system, especially when precise tracking of target isn't needed. But you can strap all sorts of non-linear things (gain scheduling, hysteresis, etc) onto the form of PID to try to get decent macro scale behavior, while still having reasonable fine tracking performance. Though obviously, it becomes much much more complicated to tune.
But yes, adding one to a non-controlled machine that is already working well will probably harm its performance.
After many years of fixing things that aren't broken, I've come to appreciate the phrase "If it ain't broken, don't fix it!".
Although it’s designed for use with a Gaggia Classic a number of users on the Discord server have already successfully installed it on the Rancilio Silvia
Would have liked to see graphs of temperature variability at the brew head on a machine with and without a PID
Where PID controllers shine is in well built but small capacity machines. A Silvia has a tiny 300mL boiler. If you’re pulling a double shot (60mL), you’re losing 20% of the heat just from pumping fresh water into the boiler.
Add a PID controller to the mix, the static losses are accounted for by the integral controller, and it will instantly ramp up the heat when you pull a shot via the derivative and proportional action. This would keep the temperature significantly more consistent during a 30 second shot.
A PID controller in this instance is transformative in turning a comparatively cheap machine into a very capable piece of kit.
In a larger machine with a 1L boiler pulling a shot barely causes a ripple in temperature because of the larger boiler capacity and additional heat inertia. They might benefit from a PID controller but it’s difficult to justify over the simplicity of a thermostat, and coffee machines have been around longer than electronics have been cheap.
So basically a smart thermostat that accounts for ramp up and cool down times when adjusting the temperatures.
One of the better ways I’ve seen is that the water tank is directly above the group. It makes the group very stable but unfortunately makes the machine itself prone to tipping due to high cg.