Lately, I’ve been working on a wine storage unit. This is the first post in a series detailing what I’m doing.
When Chris Hayward left town for Heidelberg, he bequeathed his (non-functional) wine refrigerator to me. It didn’t work, but I figured it would probably be something simple that could be fixed. Kathy and I had talked about needing a solution for storing wine, since in the summer our apartment easily gets to +30C. The basement is better, but it instead gets down quite close to freezing in the middle of winter. It would be nice to have a temperature-controlled environment.
The wine refrigerator, made by “Wine Enthusiast”, shown above. The problem turned out to be a blown fuse, hidden under heat shrink tubing and soldered-in on the board. Clearly they want this to be user-replaceable… After replacing this, it started up fine. However, what a piece of junk…
The first thing I noticed as I was replacing the fuse was the extremely shoddy soldering job. The board looked like it had been soldered by an summer intern. The board also had clear signs of overheating around where the wires to the thermoelectric element attached (which is where the blown fuse is). Apart from those concerns, maybe I’m just nitpicking. However, it can’t even control the temperature.
Before going into this, let me explain how the thing works. (I’ll add some pictures soon.) It’s a thermoelectric cooler, so the core is a Peltier element. The hot side, on the outside, attaches to a large heat sink that is cooled by two 12cm computer fans. Inside the cabinet is a smaller radial fan that blows air across a smaller heat sink attached to the cold side and circulates it around the cabinet. Both fans and the thermoelectric element is attached to the same circuit, so there’s only one control loop. There are two temperature sensors. Embedded in the hot-side heatsink is a NTC thermistor which is connected to the power supply. I think this is just a safety to turn everything off if the fans should fail to avoid overheating the Peltier element. If this thermistor is unplugged, the output regulator is off. There is also a temperature sensor near the cold-side heatsink which is connected to the microcontroller that runs the unit. I’m pretty sure this is the one that feeds the control loop.
So what’s the problem? Say you turn the unit on. It’s obviously too warm, so the cooler turns on. The inside gets cooler, and eventually the control loop starts lowering the speed of the fans. What now happens is that, since the temperature sensor basically is sitting on the cold side heatsink, it gets even cooler due to the thermal inertia of the heat sink. Now the unit thinks the inside is too cold, and shuts off. The inside fan is not running, so the coldest part is obviously the cold sink. By the time it has heated up to the temperature set point, the general inside of the unit is now quite above the set point. So when the control loop turns on the fans just a bit, it starts blowing warm air across the temperature sensor. It now realizes the temperature is way too warm, so it turns full on, and the cycle repeats. Even though the controller really seems to be a PWM controller, because of this it essentially works like a bang-bang controller with something like a 10F hysteresis. So while it’s supposed to keep a constant temperature, it actually constantly cycles the temperature up and down by 10F. Brilliant. The point was to have a constant temperature for the wine, but instead we’re subjecting it to constant temperature cycles. (It’s true that the thermal inertia of the wine if the unit is fully loaded probably makes this less bad than it could be, but it definitely seems like a poor design.) To my perfectionist self, this clearly is an unacceptable solution. A redesign was in order.
What are the requirements on the upgraded “high-performance” wine storage system?
- It should keep the inside temperature constant. +-0.5C should be easily attainable.
- It should be able to use heating as well as cooling to accomplish this even if the outside temperature were to drop below the setpoint (as it would in our basement in the winter).
- It should monitor the temperature as well as the humidity inside the cabinet.
Since the unit uses a thermoelectric element, heating is easily done by switching the current direction. Temperature monitoring should be done at several points inside the cabinet, not on the cold sink. To minimize the temperature variations inside the unit, the inside fan should always run at a low speed even if the Peltier element is essentially off. The 2-digit LED front display should be augmented to give better feedback.
As in my projects have tended to be lately, this is a nice application for an Arduino, some Dallas 1-wire DS18B20 temperature probes, and a few PID control loops. The next article will describe the front panel redesign.