Sunday, December 11, 2011
Canon 1000D/XS/Kiss F DSLR cooling modification - images and overview
Designing and building a DSLR cooling system was a way to satisfy my technical curiosity. There is room for improvement in several areas. This should get you started.
Note: It’s advisable to check back here from time-to-time, because I am always thinking of something to add; such as
“don’t upload code to the Arduino while the cooling system is operating - testing for instance - it breaks the MOSFET”; and
Make sure to GND the camera chassis.
Warning: Electrical shock - this design utilizes high ampere electrical current to power the Thermoelectric module (8A 12v). Please do not attempt this project without appropriate knowledge and precautions.
The idea of cooling a DSLR was too interesting to pass up. Of the Canon DSLR’s, the 1000D/XS/KissF is one of the easiest to adapt and is relatively inexpensive. I found it to be a robust little camera, particularly in view of the punishment it endured through several modifications.
Note: Upgrade to the latest firmware
There is little point to cooling without replacing the factory fitted infrared blocking filter, with an astronomical filter, or removing it completely.
Astrodon Inside filter purchased from Hap Griffin. Gary Honis’ modification instructions
Note: the low-pass/antialiasing filter is sometimes touted as a substitute astronomical filter, but also softens focus. All the filters can be removed if using reflecting optics. Refractors, including cameras lenses, need a replacement for the infrared blocking filter, to achieve focus.
Consistent with the above, good focus and proper image calibration and dithering, which is not compulsory, improves signal to noise ratio significantly. The most favourable treatment of DSLR data is adequate dithering.
Very little processing should be required to produce a good looking image with good quality data - taking care of the detail before getting out at night.
These images were captured with this setup - Canon 200mm prime lens f5.6 and f6.3.
The cooling system
Please feel free to change any or all of this.
UPDATE: The circuit below is an improved version of the MOSFET current control. It incorporates two snubbers - voltage clamps - and one inductor. The 17.9R resistor represents the TEC (resistance). I will update the PCB, but for now;
1. Connect a 100uH inductor in series with the MOSFET drain to TEC negative lead.
3. Make two RCD (resistance capacitor diode) snubber networks and place one before the 100uH inductor on the MOSFET drain side to GND; and
4. Connect the second snubber to the 12v supply to positive TEC lead and (as shown) behind the first snubber diode; and
5. Replace the 750ohm pull down resistor with 100kohm 1/4 watt. Caution: depending on the MOSFET, the value of the pull down resistor may differ - in which case, experiment. The R value should permit the gate to go low/off, otherwise the MOSFET will remain on running at full pelt, irrespective of PWM cycles.
Please note: a second inductor 1nH may be placed between the 12v supply and snubber, if needed - EMI will decide this, depending on equipment etc (refer to sketch).
Low footprint arrangement - the smaller inductor may be omitted or use a low value if needed.
UPDATE: I have modified the cooling circuit, replacing a temperature sensor with a humidity/temperature sensor, while retaining the cold finger temperature sensor. The code has been modified also.
PLEASE NOTE: The code is set to default; that is, cold finger temperature will modulate automatically at dewpoint +2C. If you want to use push button control, go to the “void tempCont() {” section and comment out the line setPointT = Td +2; with // (that is, //setPointT = Td + 2;) - please read the code.
The main components of the cooling system are; the cold finger, sealant, thermoelectric cooling module (TEC), heat sink and cooling fan and electronics package and a power supply (PSU 12V 12.5A).
Note: The sensor electronic components, mounted on the PCB attached to the sensor assembly, are sealed with a layer of Blutak (green in this case) pressed on, excluding air from the region. This is overlaid and held in place by the metal cover. Note the top left and bottom right corners, the green, protruding from under the cover. Unfortunately, I didn’t take an image of this stage. It seems self evident from the image below.
Note: Switching power supplies are quite noisy and require a very large value capacitor and a low value capacitor across the supply leads to smooth the output.
Electronics
Please note: the component values listed in the BOM are in some cases Fritzing defaults. To avoid confusing readers, I have silk screened the values of each component where appropriate and these are included in the BOM under ‘Label’.
The main components of the electronics package are; temperature sensors, microprocessor board and software, logic level N channel MOSFET low rds(on), LED indicators and control buttons and an Arduino shield to accommodate components and wiring.
Note: the digital signals and analog signals have separate GND to avoid ground loops.
Temperature readings of the cold finger sensor, are erratic because of EMI. Capacitor values across the TMP36 Vs and Gnd pins is nominal 100nf -100uf.Experiment with values to smooth out wild fluctuations.
Arduino code - if using < Arduino 1.0 change extension to .pde and in the Bounce.cpp file, change Arduino.h to WProgram.h
Etching mirror pdf - Silk Screen (not essential)
NOTE: Solder 8 amp wires between J1 and J2 +ve terminals and Q1 Gate and GND - PSU TEC connections. Alternatively increase the width of the trace in these areas. Or move the terminal off the Arduino shield.
Cooling is controlled by pulse width modulation (PWM) supplied by the microprocessor to the gate of a logic level N channel MOSFET (Low Rds on). Since modifying the circuit, PWM is now scheduled as a function of dewpoint, +2C. The circuit still retains the ability to register cold finger temperature to ambient temperature and set temperature as desired. Energy extracted from the cold-finger and that produced by TEC operation is dissapated by the heat sink, assisted by a cooling fan.
Note: EMI shielding, installed as shown and earthed, shrouds the black and red TEC wires. The braid was harvested from a length of 5mm coaxial cable removing the insulated wire core and outer insulation for greater flexibility.
Set-point temperature in the range ambient to ambient -30C, may be set by two push buttons, or just let the dew point calculation modulate temperature. B1 increments set-point by -2C; B2, -1C. Pressing B1 and B2 simultaneously, registers set point to ambient temperature, resetting the system. Note: irrespective of button pushing, maximum differential never exceeds ambient -30C. LED’s indicate set-point temperature and maximum differential.
Notes
Temperature is maintained by dithering either side of set-point , +/- 0.33C, indicated by a flickering LED. At start-up there is a little hysteresis, indicated by temperature overshooting then undershooting set-point. However, the system is statically stable. If power is removed from the TEC and cooling fan, cold finger temperature response is very slow - the system does not respond rapidly to sensor fluctuations.
Maximum temperature differential is 34C. 30C is a practical working range. Cooling time increases exponentially with increasing differential. All the same, cooling is very rapid, a few minutes at most.
The electronics package may not be optimal, and while based on careful research, I’m not an EE. The same can be said of my heatsink calculations - over-engineered. EMI was a significant problem that was resolved expediently, by grounding the camera chassis, tying a capacitor from the MOSFET gate to GND and shielding the TEC wires.
The switchmode power supply and switching of the TEC, generating EMI through its wiring, were probably the major source of noise. Ground looping was resolved by separating the analog sensor GND from the digital/control channel.
At the heart of the system, an Arduino board provides all the computing power necessary. The analog and digital GND’s must converge at the board. There are 3 GND pins on the standard board.
Essential Reading
The most informative resource for TEC science is the TellurexFAQ. The Peltier (TEC) device is 12v 8a sealed with a QMax of 68.5C.ambient and cold finger temperature
![]()
![]()
Notes
Completing the imaging set up, remote control of the camera and control of the equatorial mount axii, RA and DEC, is scheduled by a separate microprocessor. Note: two Arduino’s provide the electronics control package separately, for cooling and imaging, which simplified writing the software. This is discussed in another post to come.
The shortcomings of the system are; the heat sink should be located in-line with the optical axis, to improve balance on the equatorial mount; there is no dew protection, except for the heatsink mounting plate, which collects dew and ice, preventing formation on the camera electronics (which are sealed where required). Dew forms on the face of the modified Ha filter without some form of prevention - electronic or dessicant.
There are other precautions that should be taken with this modification, such as; drying the modified sensor assembly in a sealed bag with dessicant, to prevent dew forming inside the assembly; following sealing with silicon; placing the MOSFET in the heatsink cooling fan airflow - a very/ultra-low rds(on) logic level MOSFET should not require a heatsink.
![]()
ambient and cold finger temperature
Other Projects
Stargazers Lounge. Without a TEC device.This one too.
Acknowledgements