A few days ago I posted about my library for the DS18B20 temperature sensor. I wrote that as part of a larger project to make a Sous Vide cooker. I needed a way to control the temperature of a water bath to a fairly accurate degree (pun intended).
So, With an Arduino, the temperature sensor and the LCD Shield Kit (from Adafruit), a hot plate and a DIY solid-state relay I have got a system working.
Since the LCD shield uses polling for the buttons (not interrupts) I had to be careful with the loop to not miss button presses while reading the temperature and updating the display. That now works quite well.
But the real problem, as I anticipated, is that the hysteresis of the system is really big. My prototype is now simply turning on the hot-plate when the temperature of the water falls below the goal temperature and turning it off when the temperature is reached. What I intend to do is to adjust the duty-cycle of the hot-plate based on the temperature delta.
I know I can dial that in but if anyone has had to solve this or a similar problem I would really like your input.
Thanks to Adafruit and Arduino and the community for inspiration and the bits and knowledge needed to build this. I'm sure something like this has been made many times by others but I have had a great time pulling myself up by the bootstraps and getting this running!
- Totoro (aka Michael)
And if there is any interest in the code, let me know and I'll get it somewhere for download. But be warned, it's pretty rough!