This project has taken a new direction, after some false starts. One of the issues has been finding a suitable housing for the electronics. Recently, I bought a cheap used battery grip off ebay - a ready made solution, with the added advantage of integrating supply for the camera.
The PCB follows the battery cradle form to fit in the cradle cavity. But it will be necessary to drill a few holes for the DC power connector and push buttons - nothing that renders the battery grip unusable.
This iteration has a number of new features - the ability to calibrate and configure the controller based on the host configuration, and make fine adjustments to the cold finger temperature on the run. It also supports dew heaters and camera power.
The cooling controller should easily adapt to any DIY cooling mod, and for cold finger set ups within 0.5C of setpoint, if not less. Sensor resolution is ~0.3C, using TMP36 linear temperature sensors.
A few more tweaks and it will be ready for production then, its first try out on my 1000D cold finger mod.
EDIT: Tidy up the top board.
EDIT: Added battery grip image
EDIT: Added schematic - spaghetti
Last edited by rcheshire; 06-03-2015 at 11:32 PM.
Reason: spelling, typos and clarity
Boards arrived today, but had to do some of the cutouts myself. Here is the board shaped to fit the battery grip housing, with the camera power contacts PCB slotted in place, just for show. Lots of soldering to do!
Hey this looks like an awesome little project. Did you attempt to get OSHPark to do the cutouts for you? For cutouts that big it should have been supported at fab according to their support pages.
The messy soldering is noted - it looks worse in the images. 3x glasses were a big help. More practice? Thankfully, it all works.
Unfortunately, the first board turned out to be faulty and some parts were unrecoverable - lesson learned - check all the routing with a multimeter. Most of the little coils didn't survive removal and rather than wait weeks for delivery, I made my own.
The decision to use catalytic capacitors made for very little room in the battery holder and I will use ceramic in future. The variable resistor was another casualty and out of familiarity and convenience decided to use the 25 turn through hole variety. All the low power stuff <1A is plugged through pico-ezmate's, which were a nightmare to solder - the rest through Lite-Trap connectors.
Very little to do now. Yet to decide on soldering or compression fitting the Teensy pins to allow removal. A little remodelling of the battery holder to access the power socket and push buttons and the air temp sensor and a frame to mount the OLED at the battery holder opening. Waiting on the last few components to arrive after Easter. The fuse is now pluggable.
Well... finally! I've managed to come up with an Arduino algorithm that reliably maintains setpoint temperature within +/- 0.5C without using PWM. It was simpler than supposed. For reasons that escape me and leave me utterly frustrated, the prototype does just that (+/- 0.5C) using PWM.
Can I get the battery grip setup to do the same, using the same program? No! The silly thing is, not using PWM was raised on this forum by one of the guys a while back - guess I wasn't listening. Rather than running at ~500 - 3800hz PWM, I am pulsing the output at 10hz, which has the desired effect I guess the reduced noise provides for more reliable reading of the analog temperature reference.
It all works... Tested the board under load for about an hour this morning with everything running and replaced the coil connecting digital and analog ground with a bigger version because the little one fried. Now to fit it to the case and test the camera power.
A couple more changes to the board. The TEC needs multiple pathways for the supply to keep the board temperature down. Added a couple of wires to split the current. The air temp sensor is heating through its legs because the board is getting warm and will be located away from any heat sources.
At some stage I will update the board and build a new version with changes.
This is the working prototype minus the shroud. The four buttons are off the back of a 1000D I use for parts. Other than locating the buttons on the base of the battery grip the bottom corner is the only unobstructed and convenient location. Not by design, two are flush, while the runtime buttons are protruding - easier to find in the dark.
The OLED is happily printing out all kinds of useful data to convince me everything is working just fine. Can't be seen in the image, its located at the battery grip opening.
There are few things that will need redesign. I will never use pico-ezmate connectors for this type of work again, and will revert to surface mounting molex pin connectors top and bottom to save space. The board needs to be 2oz and not the 1oz OHS Park proto board.
The logic board needs to be more accessible, a USB cable will do for now until the board is given a layout overhaul.
Aside from all that, it works very well. Now to rewrite the TEC control code and make it a little smarter. If anything, the new code is the most satifying outcome.
As you can see the camera didn't get a clean before its photo debut
The grip cover got in the way and has been removed.
A little more progress. Managed to fry a mosfet while experimenting with various snippets of code. The digital pin needs to be declared OUTPUT to drive the gate, otherwise, it floats around in no particular on/off state.
The chart shows the performance of the system using a basic time-on time-off milliseconds along the bottom of the chart. The values shown are the analog readings of the temperature sensors. Air temp was about 18.5C the lowest cooling -8.7C. Both temperature sensors were checked against another source for accuracy, within 0.5C. Very quiet, stable method, unlike PWM.
The curve is not unlike that posted elsewhere in the myriad of DSLR cooling threads, and idles down at about 1 - 1.5 amps. To get more cooling I halved the time-off. The limit is about 4 - 5 amps at which point a sharp rise in temperature is indicated. At 4.5a x 13.5v The heat sink/fan combo is somewhere around the 120 watt mark, which is the TEC rating x 2. The system is limited to 6 amps, nominally 12v.
Maxed out at 27.5C differential. Time to get Glen's Argon bag going.
Now to write the code around the curve. It really is walking pace. The mosfet gate is off for a long while so cooling is not an issue.
EDIT: Heat sink 120w - changed in post. 2x the TEC rating to accomodate the power driving the TEC on top of its cooling power.
With fine tuning; changing the time-off to 95ms system holds target temperature within 0.2 of a degree, -5.2 to -4.89C, which is the resolution of the sensor at 2.8v aref.
Impressive control accuracy, well done.
Can this control system be adopted to fit into something other than the battery grip? I need to minimise weight on my focuser and would need to put it on the pier.
I'm calling this complete. There are some cosmetic fixes intertwined with sealing the camera, as a whole. Not sure how big this task will be, as it involves making an airtight cover molded to the camera yet providing access to all controls. For the time being the electric sensor defogger is doing its job.
The features of the system are as follows;
Tidy integrated installation
Thermoelectric cooling control
Camera power - no batteries
Switchable dew heat controllers x2
OLED display of all the necessary and nice to watch parameters
Cooling differential 27.5C below air temperature.
On the control side of things
Automatic preset of cooling set points (10, 5, 0, -5C and -10 with Argon - must seal the camera)
Manual setting of set point (15C to maximum differential)
Dew heater manual ON/OFF
Dew heater auto protection (if desired)
On the setting side of things (EEPROM for the Arduino officiando's)
Programmable maximum differential (cooling control based on this value)
Programmable temperature control fine tuning
Programmable temperature sensor calibration
Temperature sensor supply voltage continually updated to improve sensor accuracy
Redundancy
Dew heater output can be adapted for cooling in the event of cooling component failure.
LED indicating of set point and home temperature settings - just in case the OLED fails.
Auto requires no indicating at all - but it's nice to see the internal LED illuminated at set point temperature
I've made some changes to the circuit to better manage the current demands of the TEC to avoid overheating the 12V traces - this is a design fault and will be fixed in the new version of the board.
The circuit is mixed signal and very quiet. I see no evidence of interference with the camera, even with 2x pwm outputs driving the heaters at different rates.
As mentioned cooling control is modified and very stable. A little slower to cool down to set point, but steady as a rock when it gets there.
Interesting and educational exercise. Photos to follow, once the sealing is complete.
EDIT: Metro timer came to the rescue to schedule the pulses to the TEC - no delay(); - just like blinking an LED.
Well! So so! By and large the system works very well aside from operator error and a design flaw.
MOSFET current throughput is dependent on the load and is less effective applied to small resistance heaters. Power transistors are probably a better choice for switching a linear supply on and off rather than pwm through a MOSFET. The effect was more dramatic than expected rendering an otherwise serviceable heater ineffective.
An alternative is the Murata switching voltage regulator, but I am not sure how resilent these are to frequent switching.
I posted an update in the cold finger thread but it has a life of its own and is swallowed up in the ongiing development discussion. I'll post here just in case there is interest in the system.
Posting a major revision to this project, which has been migrated from Eagle CAD to KiCad.
Library and footprint creation and management is fairly easy in KiCad, and many parts have been created from the datasheet footprints. The Teensy footprint was something of a challenge.
The dew heaters are now controlled by two Murata mini 1.5A variable SMPS regulators. These 5 pin devices can be switched on and off at will and utilise a trim resistor to set the output voltage from 0.6 - 6V.
TEC control has not changed.
Tactile switch pads accept, top or bottom, several types of push button. The footprint is a hybrid.
I have also added 4 mounting holes to mount the board in other than a battery compartment. In which case camera power is provided by the addition of a 2 pin Molex connector to the CAMPWR pads. The plug part of an external supply can be connected to supply a regulated linear 8V - the 450D and 1000D accept 7.4 - 8.1V.
The board could also be adapted to include an intervlaometer using the SENSHT out pins controlled by the Teensy microprocessor and the pushbuttons for setting exposure time number of exposures, mirror lock up and delay between exposures with some fairly straight forward programming.
I have ironed out all known bugs and hardware issues - I think - and learned some things about revision control. It is frustrating looking for hardware problems generated by the wrong software revision - oh well... a learning experience on many levels for an amateur.
Welcome thoughts on the layout of the board - now attached