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