Hello everyone,
This project is phase 2 of my Rube-Goldbergesque coffee machine. Everything except this part is complete, and I'm stuck. I've got the grinder functioning and use that part daily. I've got a pump, solenoid valve, and silicone tubing all ready to go, I just need to hack this Hamilton Beach (part # 40996) kettle for control via Arduino and I'll be done. My goal is to do this while retaining the built-in safety features. I was inspired by this blog post, which seems similar to what I want to do, but is unfinished as well: PourBot - Hacking the Kettle · Kris Jordan
I will post up the finished product in all its joe-producing glory when it comes together to break my habit of mostly coming to this forum when I need help with something. That said...
The part I'm having trouble with is twofold. I'll break down what I know about the kettle so far, with pictures, and then maybe someone can steer me in the right direction, or at least a direction I haven't tried.
There are two boards - a control board with microcontroller, button inputs, and the display, and another that houses the relay for the heating element and the mains wiring/VRs.
There are 5 wires connecting the two as highlighted in the picture.
From Yellow to Red, when the kettle is plugged in, without the kettle on the stand, they measure:
- 5V
- 0V
- 0V
- 2.5V
- 0V
With the kettle on the stand, and without pushing the "ON" button, they measure:
- 5V
- 0V
- 0.3V
- 2.5V
- 0V
With the kettle on the stand, switched "ON", they measure:
- 3.6V (drops to ~3V by the time water is boiling)
- -1.4V (drops to ~-2V by the time water is boiling)
- 0.3V (increasing with temp, this is definitely the temperature signal)
- 1.3V (trends down as water boils)
- 3.7V
So, as near as I (and Kris, apparently) can tell, here is a pinout (I think):
- 5V power to microcontroller/control board
- Gnd
- Temperature Signal from probe in kettle
- No idea.
- Relay signal to heater element relay.
So here's what I've tried:
-
Replacing the #5 wire which I believed was driving the relay with a 5V digital output from the arduino. I verified 5V was going to the same pin on the power board as the one driven high by the kettle's on-board microcontroller (when the ON button is pressed), but it did not turn the relay on (or, therefore, the heating element). I'm not sure why this isn't working.
-
Hooking up the #5 wire (relay control) and the #3 wire (temp signal) to analog inputs on the arduino and monitoring them via serial. The #5 goes high when the ON button is pressed, and on the #3, sure enough, voltage increases with temperature. When the kettle reaches assigned temperature, the #5 is again driven low.
Does anyone have any recommendations for the best way to control the relay (and therefore the heating element) via Arduino? I'm not sure why, but replacing the 5V output from the kettle's control board with a 5V output from the Arduino doesn't seem to be working. Maybe I should find the ON/OFF button output and just use a digital output from the Arduino to simulate turning on the kettle, or replace the button entirely? Why isn't the direct replacement, i.e. the simplest solution, working?
Appreciate any help/ideas that are out there. Thanks, all.
-Jimmy


