Go Down

Topic: espresso PID (first steps) (Read 1 time) previous topic - next topic

linux-works

going to make a PID controller for my espresso machine (rancilio silvia).

at this point, I have an lm35 temp sensor inside the coffee machine, a SSR (solid state relay) to pulse the heating coils and a db9 serial cable cut in 2 to allow me to have the controller and lcd OUTSIDE the hot coffee machine ;)

here the arduino is reading from an analog pin (ref to 1.1v internal) and scaling the 0..1023 value to proper degrees C and F:

http://www.flickr.com/photos/linux-works/3672999093/



http://www.flickr.com/photos/linux-works/3673807440/in/photostream/



early stages, reading the voltage directly on my DMM (showing 77.7 deg C, funny enough)

http://www.flickr.com/photos/linux-works/3668191933/in/photostream/



and an inside shot of the espresso machine where I added the lm35 sensor:

http://www.flickr.com/photos/linux-works/3608274583/in/photostream/



http://www.flickr.com/photos/linux-works/3605988370/in/photostream/




more to come as the project progresses...

linux-works

#1
Jul 02, 2009, 06:57 am Last Edit: Jul 02, 2009, 07:00 am by linux-works Reason: 1
next next steps (and some code, too!)

http://www.flickr.com/photos/linux-works/3680926700/

and two shots; one of the temp going up and one going down ;)






link to my code (non-commercial DIY use only, please):

http://www.netstuff.org/espresso-master/firmware/arduino/

no PID logic, yet.  so far, mostly just temperature monitoring (trending and graphing, though!) and stopwatch timer.

the framework is there and what I've written so far, does work ;)

hope someone finds it useful.

Guci22

Are you going to make it start brewing at a certain time?

linux-works

it will have many clock-like features.

if the machine is idle 'too long' it will go into inhibit mode (won't keep pulsing the heating element, just let it go cold, then).

I might let it auto-warm up at 6am or turn on again at mid-day ;)

a shot timer is useful (25 secs).

also a cleaning function!  I just did a backflush of my rancilio and I could have used a feature that turns on the pump for 15 secs, waits 15 secs, turn it on again for 15 and repeat 5 or 6 times.  you'd have to supervise it but it could do all the timing and on/off for you.

it could also keep track of how long its been (days) since the last cleaning; sort of like some home a/c units have a 'time to clean the filter' memo feature ;)

linux-works

here's the solid state relay (SSR) that the arduino simply pulses on/off to make the heater go on/off:



http://www.flickr.com/photos/linux-works/3681507241/


Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy