Since I last wrote about my Painbox project (part 1, part 2), progress has been very lumpy. Here’s a bunch of short updates on various aspects of the project.
Replacing the clunky “copper tubes through a 2×4″ test grill was high on my list of priorities, so I tackled that first. I considered a number of different options, but settled on making a custom one-piece grill out of a 1/2″ HDPE cutting board. Essentially, it’s like a two-sided PCB, except instead of copper traces and plated vias, I milled width-wise grooves into the top and length-wise grooves into the bottom with through-and-through holes connecting the two sides. The result is a sort of channel that snakes across the top, through to the bottom, over the neighboring groove, then back to the top. To make it capable of moving water, I capped the grooves with pieces of 0.025” aluminum sheet, also cut out on the Shapeoko 2. The first and last hole of each path are threaded to accept a hose barb.
Other than the capping and sealing process, which was awkward and imprecise, the whole thing turned out really good. If I was going to do it again, I would use a piece of virgin HDPE instead of a cutting board so it would have a better surface finish. I’d also probably go with thicker stock, since that would improve durability and flatness while increasing the margin for error during machining.
Temperature sensors and reservoir design
In the last post, I talked about my success with immersing the sensors directly in the water. To try and make that more permanent, I drilled a small hole in the top of my reservoir caps, threaded a thermistor through the hole, and then tried to seal the whole thing up with some silicone glue stuff I had lying around.
This did not work.
Problem 1 – the water in the reservoirs does not really reach the thermistor, since they are not hanging down that low, and the water is not that high. Result: bad readings.
Problem 2 – the silicone stuff is glue, not epoxy or sealant. While it appears to solidify into a rubbery plug, it turns out it really doesn’t like to cure solid when it’s in a big blob, and over time gravity will let it goop down and into the moving water, where it will ultimately foul your pump. I had to disassemble and clean out one of my aquarium pumps four times before I realized there was probably a loose blob trapped elsewhere in the system. Turned out it was hanging on to the fins inside the water block and would occasionally throw a clot or two after an hour of continuous running. After cleaning that out, problem solved.
Problem 3 – trying to keep things simple, the connection style is just a long wire pair soldered to the thermistor. When manipulating the reservoir cap, that long wire wants to twist up unless it’s disconnected from the microcontroller, and even once it’s disconnected, it flops all over the place while you’ve got a wrench on it, making it pretty unwieldy.
A related problem is that my reservoirs just don’t work that well. I’d previously decided to make them small so that there’d be less water volume in the system, but somehow at the same time I ended up with reservoirs that made it hard to fill or drain the whole system. Water just didn’t want to disseminate into the system when added to the tiny reservoir.
Combined with the temp sensor issues, this lead me to change my reservoir design. Instead of a 3-way corner elbow, I’m using a 4-way tee as the base and adding appropriate threaded connectors and hose barbs. The inlet and outlet will be oriented such that the water will flow downward from the inlet to the outlet. Across from the inlet, I’ve added a dedicated port for the thermistor, which will still be connected to a threaded cap. However, this time I’m going to try to drill individual holes for each of the thermistor’s leads and use a minimum amount of actual sealant to make it waterproof. Since the sensor will now be level with the inlet, I can just fill the reservoir until the inlet is covered and know the sensor will also be immersed. With the legs exposed on the outside, I’ll solder a tiny connector board on that allows for easy disconnection. The final branch of the 4-way tee will be the fill port, which will just have a plain cap in it. I might add a bleed valve of sorts to the top of the fill cap if I find the system needs help shedding bubbles.
TEC controller board
During earlier testing, I didn’t use any sort of closed-loop control scheme, which lead to, well, uncontrolled temperatures. To implement closed-loop control in this system, you need a sensor, a TEC controller, and the logic to control it. For the sensor, I’m using the aforementioned thermistors. The logic part is easy, and comes in the form of an Arduino PID library.
The TEC controller, though, is where things get difficult. Coming from an Arduino, PWM is easy, but TEC efficiency is greatly reduced when controlled in this fashion. To get analog control of TEC current, I designed a PWM-to-constant-current converter board. The basic principle of operation is to use an op-amp, MOSFET, and power resistor to form a feedback-controlled current sink. Then, rather than using a potentiometer to set target current, I’m using the PWM output of an Arduino plugged into an RC lowpass filter. The filter converts the PWM into an analog voltage, which is converted into the target current by the op-amp feedback network.
Simple enough scheme, but unfortunately I still had to go through a few revisions.
In rev 1, I made a
small order of magnitude math error and incorrectly sized my power resistor, thus dissipating about 10x my desired wattage in the resistor. (It’s hard to appreciate what it means when these things are rated as “fire proof” until your IR thermometer reads 300 degrees C.)
After correcting that math, it turned out that I had my feedback dividers set in the wrong direction – I actually need to step the input voltage down, not the feedback voltage – so I spun another version of the board. This worked much better, but to my dismay I couldn’t get both the hot and cold channels to reach as much of a temperature difference as I wanted. After some head scratching, I determined that my power supply wasn’t beefy enough to drive two 10A loads at once and must be sagging, so I Amazon’d up a much bigger one. When I plugged that in and let it rip, things looked good until my tragically undersized +12V trace heated up to red-hot and blew like a fuse. In retrospect, of course that trace was too small… but I think I had been telling myself I would solder-fill it or something to increase carrying capacity.
So we’re on to rev 3. This version solves all the problems I’ve come across so far: better connector strategy, better layout for the analog components around the opamp (fewer vias), smaller outline, and of course the fattest power traces I could pull off. I milled it out, riveted the vias, flooded the power traces with solder, and stuffed it full of components. I’m feeling pretty good about this one, but I won’t be able to test it until I get all my plumbing straightened out again.
I’m also tired of using zip ties to mount everything to my project board, so I started on the process of making permanent mounting brackets for the important parts.
The first thing up is the hot-side waterblock, TEC, and heatsink. The design is very simple – just a sort of pocket that holds all the parts in a stack and a retainer that slips over the top. There are holes in the corners to bolt it down. This was the first time I’ve ever tried milling such a thick piece of plastic, and I found it be a bit challenging due to the debris evacuation aspects. I used a 1/8″ upcut endmill, which worked fine for the main cavity, but in the continuous, thin, deep cut of the outline, chips accumulated, remelted, and ultimately bogged down the mill. I was able to rescue this part with some cowboy maneuvers, but overall the result wasn’t too great. I’ll be remaking this for sure with better tooling and/or process. I’ll make a similar version that mates with the giant CPU chiller I’m using on the cold side, too.
As soon as I have brackets for remounting the main components, I’m going to start on a new project board and try to mount everything closer to what I’ll want it to look like in the final enclosure. Then I’ll transfer all the control electronics to a more permanent breakout board, and start to design the final enclosure. Still lots to do, but definitely inching along!