Or “Yet another project that took far longer than it should have”
My girlfriend makes homebrew wines and spirits, mostly in the autumn from locally picked fruit.
I don’t know much about the details of the process, except that it’s a lot faster if the fermenting mixture is heated a bit.
To that end, we started work on a heater mat that would keep the demijohns a bit warmer than room temperature.
Since the geometry and form of the actual hot bit of the heater would dictate the electronic design, we started with that. The concept quickly turned into a metal plate, in good thermal contact with (and electrically insulated from) a heater underneath. Everything would be in a simple enclosure made from wood.
We spend a while discussing ideas, and eventually came up with the design that I have tried to visualise in the following awful drawing:
The heater is circular . The base and sides are laser-cut plywood. Extra piece of ply form a lip to which a metal disc is glued. The final build was modified to have a single piece for the side, with a lip laser-etched into it.
This design leant itself to using nichrome wire as the heater element. A 5m length was coiled onto the base and stuck down with Kapton tape. A thermal fuse was placed in-line to protect against overheating. A thermistor was also added for temperature sensing. The void between the base and the metal disc was filled with thermal pads.
The basic circuit elements and their relationship is shown here:
I had an old HP mini-PC supply that provided both 15 and 30V DC outputs, so this was used for power. The 30V is switched to the coil via a D2PAK FET, and the 15V provides the MCU supply (via a 7805).
The microcontroller is an ATTINY84.
In hindsight, I think I was overly paranoid about overheating protection on this project. The electronics includes the following features designed to stop the heater catching fire:
- Voltage sensing for the 30V power supply
- The microcontroller can switch 5V to the heater via a 56R resistor. As the heater wire is about 50R, this should provide ~2.5V at the coil. 5V would mean an open-circuit, 0V would mean something had shorted.
- The microcontroller senses the heater current via a 1R resistor. Any deviation from expected current range is interpreted as a fault.
- A thermal fuse in the heater and “normal” fuse on the PCB for the heater current path.
- A temperature-based cutout in the software.
Due to the heater and thermistor supply being 30V, limiting diodes are used extensively to avoid killing the microcontroller.
Simple on-off control is used, with a bit of hysteresis. I didn’t bother to convert ADC readings to real voltages, currents or temperatures, I just tweaked numbers until the heater seemed to heat up to the “right amount” (tested by placing my hand on it and saying “that seems about right”).
The heater has yet to be tested with an actual brew (it’s the wrong time of year for blackberries), but it does get toasty warm!
I have another two PCBs, so I suspect one might get turned into a warming plate for tea/coffee.