Hey All, I've been working slowly on my kegbot. All the subsystems work and have been breadboarded. I finally designed a PCB and ordered it from batch-PCB. Check it out and feel free to comment or suggest anything:
http://vachementcool.com/MooSpace/Blog/Entries/2009/11/1_I_built_a_Kegbot.html
Very nice, moo! How are those pressure sensors working our for you?
I'm also curious about how your batch PCB order went (turnaround time, cost, other observations) -- never ordered from them though have been considering turning a kegboard arduino shield as well..
cheers, mike
The pressure sensors work OK, but aren't super accurate.
Check out the full report at:
http://vachementcool.com/MooSpace/Blog/Entries/2009/11/1_I_built_a_Kegbot.html
Nice writeup! Interesting to learn how sensitive the FSRs are to noise and temperature (and liquid!)
What do you plan on doing with the door-open sensor (beyond sensing it)? Just an alarm, or are you going to tie that into your compressor relay control for some reason..?
The thermocouple is stuck to the inside of the fridge (low thermal mass). So it responds quickly to the door opening. I control the compressor based on this TC reading. I'd like to add a door opening delay, the compressor doesn't turn on right after the door opens, it should wait until the tc recovers.
Congrats on making it to Hackaday BTW. ;-)
The thermocouple is stuck to the inside of the fridge (low thermal mass). So it responds quickly to the door opening. I control the compressor based on this TC reading. I'd like to add a door opening delay, the compressor doesn't turn on right after the door opens, it should wait until the tc recovers.
You might consider sampling temperatures over time, and controlling the compressor based on the moving average of the samples (eg of the last minute or two of samples, or whatever..)
Yay. That hackaday thing made my day. 
I'm doing 25 point averaging right now to get rid to noise. Maybe I need some logic change to avoid turning it on too soon. Like less frequent sampling. THat's something I'm new to with microcontrollers.
I could just put a longer delay in the main loop. But its really just the checkFridgeONOFF() function that I wish we less responsive.
So your kegboard is setup for two taps? I noticed that you call for 2 vision 2000 flow meters...
Yay. That hackaday thing made my day.
![]()
Pretty cool, congrats!
I'm doing 25 point averaging right now to get rid to noise. Maybe I need some logic change to avoid turning it on too soon. Like less frequent sampling. THat's something I'm new to with microcontrollers.
The Arduino's base library sets up one of the timer units in the AVR to act as a millisecond uptime ticker, which you can access with the millis() function.
I uses this in kegboard.pde to trigger the selftest pulse less frequently than every loop iteration. You could probably adopt a similar technique for collecting temperature samples.
Relevant excerpts:
unsigned long gLastTestPulseMilis = 0;
// [ ... ]
void doTestPulse()
{
unsigned long now = millis();
if ((now - gLastTestPulseMillis) >= KB_SELFTEST_INTERVAL_MS) {
gLastTestPulseMillis = now;
// [..do periodic stuff..]
}
}