Jump to content

Banner.jpg.b83b14cd4142fe10848741bb2a14c66b.jpg

Air cooled TEC with cold finger DSLR cooling


Gina

Recommended Posts

  • Replies 548
  • Created
  • Last Reply

:D

Done some more to the camera box - connectors and wiring. A twin terminal block (green) provides 12v power for the TEC fed via a power MOSFET, the fan and power via a resistor and zener diode for the DHT22 humidity and temperature sensor for the air inside the box and surrounding the camera. Then moving anti-clockwise round the box as seen here, next is the data connector (black) followed by fan connector (4 pin white) and round the next corner, connector for the heatsink temperature sensor (2 pin white). The final photo shows polystyrene foam fitted into the box to take up the spare space to reduce the air volume and hence the amount of moisture. This shows how a smaller box could be used if the right size were available. But I can't find one.

post-13131-0-20228900-1344280116_thumb.jpost-13131-0-09831200-1344280120_thumb.jpost-13131-0-88059700-1344280124_thumb.j

Link to comment
Share on other sites

This is interesting - from the DHT22 Data Sheet :-

Technical Specification:

Model ................... AM2303

Power supply ........ 3.3-6V DC

Output signal ........ digital signal via single-bus

Sensing element .. Polymer humidity capacitor & DS18B20 for detecting temperature

Measuring range .. humidity 0-100%RH; temperature -40~125Celsius

Link to comment
Share on other sites

No, I don't think so. I think the DHT22 includes a microprocessor that combines the data into one stream.

Description:

AM2303 output calibrated digital signal. It utilizes exclusive digital-signal-collecting-technique and humidity

sensing technology, assuring its reliability and stability.Its sensing elements is connected with 8-bit single-chip

computer.

Link to comment
Share on other sites

I'm running a test sketch on the Arduino with the DHT22 but not having any success yet. Updated the dht.h library file for v1.0 and got it to compile but the test sketch just outputs rubbish. The experimenting continues...

Link to comment
Share on other sites

But can you pull that temperature separately from the humidity?

What exactly do you mean by that? Temperature and humidity come as 2 separate values from the sensor. They do however come as a single data stream. You tell the sensor "give me all your data" and it sends temperature and humidity back. You cannot request one *or* the other. But I don't see how this could be a limiting factor.

Link to comment
Share on other sites

I shall be using the DHT22 for reading both the humidity and the temperature in the air around the camera. The DHT22 is the same accuracy for temperature as a DS18B20 and now the reason is clear - it actually uses a DS18B20 to read the temperature. The readings from the DHT22 will be used to calculate the dew point so that (like Chris) I can arrange that the cooling doesn't take the sensor temperature below the dew point and produce condensation. The other temperatures I'm reading are the cold finger (near enough equal to the sensor temperature) - the whole point of the exercise, and the heatsink. The latter not because it comes into the calculation but as a safety feature to ensure that the TEC doesn't overheat if the fan fails. I may (or may not) use it with the PWM fan control to run the fan slower than full speed.

Link to comment
Share on other sites

Soldered a DHT22 on a small piece of stripboard together with 2K7 resistor and 4V7 Zener diode and 100nF capacitor for the power and a 4K7 data pull-up resistor. Then soldered the wires on and inserted the DHT22 into the opening in the camera top that connects with the light path (where the penta-mirror and viewfinder used to be). That will read the temperature and humidity of the air close to the IR/UV filter in front of the sensor.

Link to comment
Share on other sites

I think I've just about finished the box - now ready to add desiccant (silica gel bags). Have the data cable connected up and reading the internal temperature and humidity of the box with the Arduino and displaying the data on LCD display and computer.

Link to comment
Share on other sites

Cheers :)

Now running a test of the drying effect of the silica gel bags. Put two 10g silical gel bags into the space round the camera and then sealed the box with hot melt glue. This may seem extreme but in fact it's a quick fix and can be undone quite easily without too much force. The photo shows the data cable from the camera box connected to a header on some stripboard with connections to the Arduino. The LCD is showing the temperature and humidity inside the camera box near the sensor.

Humidity started at 68% RH and has gone down to 44% in half an hour or so.

post-13131-0-57352400-1344450030_thumb.j

Link to comment
Share on other sites

Camera inside Temperature = 24C ... Humidity = 40% Dew point = 10C

Got to get it lower than that. But the humidity is still going down.

Link to comment
Share on other sites

Gina's Camera Cooling Test

Time(s) . Temp R.H.(%) ... Dew .. TEC(%) . CF .. HS ... Amb

0 .......... 23.4 . 37.3 ...... 8.0 ... 25 ....... 11.8 .. 24.0 . 22.7

10 ........ 23.4 . 37.4 ...... 8.0 ... 25 ....... 11.5 .. 24.0 .. 22.7

Link to comment
Share on other sites

Arduino sketch :-


//
// FILE: cooling_test.ino
//
#define PWM_TEC 64
#define PWM_TEC_PIN 6
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into pin 8 on the Arduino
#define ONE_WIRE_BUS 8
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#include <dht.h>
dht DHT;
#define DHT22_PIN 7
DeviceAddress heatsinkThermometer = { 0x28, 0x8C, 0xA4, 0xE0, 0x02, 0x00, 0x00, 0xA3 };
DeviceAddress ambientThermometer = { 0x28, 0x96, 0x59, 0xC4, 0x03, 0x00, 0x00, 0xA8 };
DeviceAddress coldFingerThermometer = { 0x28, 0xFA, 0x43, 0xC4, 0x03, 0x00, 0x00, 0xD7 };

double dewPointFast(double celsius, double humidity)
{
double a = 17.271;
double b = 237.7;
double temp = (a * celsius) / (b + celsius) + log(humidity/100);
double Td = (b * temp) / (a - temp);
return Td;
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
Serial.print("Error getting temperature");
} else {
Serial.print("\t");
Serial.print(tempC, 1);
}
}
void setup()
{
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(heatsinkThermometer, 10);
sensors.setResolution(ambientThermometer, 10);
sensors.setResolution(coldFingerThermometer, 10);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Temp Hum(%) =");
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("DewPt T");
analogWrite(10, 128); // Turn on the backlight
analogWrite(PWM_TEC_PIN, PWM_TEC); // Set cooling amount

Serial.begin(9600);
Serial.println("Gina's Camera Cooling Test");
Serial.println();
Serial.println("Time(m)\tTemp(C)\tR.H.(%)\tDew(C)\tTEC(%)\tCF(C)\tHS(C)\tAmb(C)");
}
void loop()
{
// READ DATA
int chk = DHT.read22(DHT22_PIN);
switch (chk)
{
case DHTLIB_OK:
//Serial.print("OK\t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,\t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,\t");
break;
default:
Serial.print("Unknown error,\t");
break;
}
// set the cursor to column 11, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(12, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
lcd.setCursor(4, 0);
// print the camera box internal temperature
lcd.print(DHT.temperature,1);
lcd.setCursor(12, 0);
// print the camera box internal humidity
lcd.print(DHT.humidity,1);

lcd.setCursor(5, 1);
lcd.print(dewPointFast(DHT.temperature, DHT.humidity),1);

// DISPLAY DATA
Serial.print(millis()/60000);
Serial.print("\t");
Serial.print(DHT.temperature, 1);
Serial.print("\t");
Serial.print(DHT.humidity, 1);
Serial.print("\t");
Serial.print(dewPointFast(DHT.temperature, DHT.humidity), 1);
Serial.print("\t");
Serial.print(PWM_TEC/256.0 * 100, 0);

sensors.requestTemperatures();
printTemperature(coldFingerThermometer);
printTemperature(heatsinkThermometer);
printTemperature(ambientThermometer);
Serial.print("\n\r");

delay(60000);
}
//
// END OF FILE
//
Link to comment
Share on other sites

16 22.7 37.4 7.4 25 10.0 24.5 22.7

17 22.7 37.5 7.4 25 9.8 24.2 22.7

18 22.7 37.5 7.4 25 9.8 24.2 22.7

19 22.7 37.5 7.4 25 9.8 24.2 22.7

20 22.7 37.5 7.4 25 9.8 24.2 22.7

21 22.6 37.4 7.3 25 9.8 24.5 22.7

22 22.6 37.4 7.3 25 10.0 24.5 22.7

23 22.6 37.4 7.3 25 9.8 24.2 22.7

24 22.6 37.4 7.3 25 9.8 24.2 22.7

25 22.6 37.4 7.3 25 9.8 24.5 22.7

26 22.6 37.5 7.4 25 9.8 24.5 22.7

27 22.6 37.5 7.4 25 9.8 24.5 22.7

28 22.6 37.5 7.4 25 9.8 24.2 22.7

29 22.6 37.5 7.4 25 9.8 24.5 22.7

30 22.6 37.5 7.4 25 9.8 24.5 22.7

31 22.5 37.5 7.3 25 9.8 24.5 22.7

32 22.5 37.5 7.3 25 9.8 24.2 22.7

33 22.5 37.5 7.3 25 9.8 24.5 22.7

34 22.5 37.5 7.3 25 9.8 24.5 22.7

35 22.5 37.5 7.3 25 10.0 24.5 22.7

36 22.5 37.5 7.3 25 9.8 24.5 22.7

37 22.5 37.5 7.3 25 9.8 24.5 22.7

38 22.5 37.6 7.3 25 9.8 24.5 22.7

39 22.5 37.6 7.3 25 9.8 24.5 22.7

40 22.5 37.6 7.3 25 9.8 24.5 22.7

Link to comment
Share on other sites

That looks pretty consistent.

I take it that in lower ambients your dew point temperature is also likely to fall? Bung the kit in the fridge and see what you get?

Those sachets...? I've got desiccating crystals that are normally used for flower drying. They change colour when they are saturated and you simply bung them in a low oven to dry them out and use them again. Might be better for this job?

Link to comment
Share on other sites

That looks pretty consistent.

Yes, working as it was with manual control with a 555 timer chip, on the scope with water cooling.
I take it that in lower ambients your dew point temperature is also likely to fall? Bung the kit in the fridge and see what you get?.
Yes, it certainly should do. The fridge is a bit too full ATM :D It's quite a big unit with that huge cooler on top!
Those sachets...? I've got desiccating crystals that are normally used for flower drying. They change colour when they are saturated and you simply bung them in a low oven to dry them out and use them again. Might be better for this job?
I've got the colour changing crystals in the bags. Loose crystals would get into the works of the camera :(
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. By using this site, you agree to our Terms of Use.