Introduction: Cup Cooler
This is my first Instructable, so please judge harshly so that I can learn :)
Its a simple project minimal skills needed.
Drawings are made using: Fritzing
Code Written using Codebender
The cold plate got to -20c
Watter in the cup measured @ 5.5c compared to icecube @2.5c
Its a simple project minimal skills needed.
Drawings are made using: Fritzing
Code Written using Codebender
The cold plate got to -20c
Watter in the cup measured @ 5.5c compared to icecube @2.5c
Step 1: Things to Find
list of items i have used:
Arduino uno
Breadboard
220ohm resistor (i have used 3 x750 in parallel as couldn't find anything smaller) anything from 100 to 220 will do.
12v dc fan 3 wire but 2wire will do the same job.
TEC1-12704 TEC Thermoelectric Cooler
12volt DC adaptor 2.5 amp
Optocoupler 4N33
jumper wires
LM355Z Temperature Sensor
Thermal Past
Glue Gun
Arduino uno
Breadboard
220ohm resistor (i have used 3 x750 in parallel as couldn't find anything smaller) anything from 100 to 220 will do.
12v dc fan 3 wire but 2wire will do the same job.
TEC1-12704 TEC Thermoelectric Cooler
12volt DC adaptor 2.5 amp
Optocoupler 4N33
jumper wires
LM355Z Temperature Sensor
Thermal Past
Glue Gun
Step 2: Wiring Everything
Optocoupler 4N33
Pin1 - Digital I/O 9 via 220Ohm resistor
Pin2 - Ground
Pin4 - DC fan Positive
Pin5 - 12V positive
DC Fan
Ground - to 12v Ground
LM335 Temp sensor
Vin - 5V arudino
Grn - Ground arduino
Vout - Analog 0
TEC1-12704 TEC
Positive to 12v DC positive
Negative to 12v DC negative
Better would to add a switch or another Optocoupler to turn ON/OFF
Pin1 - Digital I/O 9 via 220Ohm resistor
Pin2 - Ground
Pin4 - DC fan Positive
Pin5 - 12V positive
DC Fan
Ground - to 12v Ground
LM335 Temp sensor
Vin - 5V arudino
Grn - Ground arduino
Vout - Analog 0
TEC1-12704 TEC
Positive to 12v DC positive
Negative to 12v DC negative
Better would to add a switch or another Optocoupler to turn ON/OFF
Step 3: Building
The cool side of Thermoelectric Cooler goes up, I have placed small heat-sink (used thermal paste for better cool transfer). Heat-sink needs to be bin enough to hold a cup.
The hot side is facing down another layer of thermal paste and a massive heat-sink to absorb all the heat (you don't want it to effect cooling).
Glue gun to glue Thermoelectric Cooler to the heat-sinks.
And a fan attached to the heat-sink which is activated when temp reaches 34 degrees Celsius, then runs for 20 seconds and start monitoring temperature again.
If heat-sink gets too hot it will kill the cooling power...
The code is http://codebender.cc/sketch:8769
I have used LM335 Library which help with measuring temp: you can find it @ https://code.google.com/p/alm335/downloads/list
If you dont know how to install it here is great tutorial @ http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries
The hot side is facing down another layer of thermal paste and a massive heat-sink to absorb all the heat (you don't want it to effect cooling).
Glue gun to glue Thermoelectric Cooler to the heat-sinks.
And a fan attached to the heat-sink which is activated when temp reaches 34 degrees Celsius, then runs for 20 seconds and start monitoring temperature again.
If heat-sink gets too hot it will kill the cooling power...
The code is http://codebender.cc/sketch:8769
I have used LM335 Library which help with measuring temp: you can find it @ https://code.google.com/p/alm335/downloads/list
If you dont know how to install it here is great tutorial @ http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries
Step 4: The Code
#include <aLM335.h>
/* Taken from http://codebender.cc/sketch:8769
*/
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT); //to control fan
}
void loop() {
// We're using the two variable form of initialization, which defines both
// the pin and the reference voltage.
aLM335 tempsensor (0, 5);
Serial.println(tempsensor.getCelsius()); //geting temp reading just to make sure its working can be delleted latter
if ( tempsensor.getCelsius() > 34 ){ // if temp is more than 34 start a fann for 20 seconds
digitalWrite(9, HIGH) ;
delay(20000);
}
else
{digitalWrite(9, LOW) ;//if temp is lower than 34 turn off the fan, and keep measuring temp every 5 seconds
delay(5000);
}
}
/* Taken from http://codebender.cc/sketch:8769
*/
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT); //to control fan
}
void loop() {
// We're using the two variable form of initialization, which defines both
// the pin and the reference voltage.
aLM335 tempsensor (0, 5);
Serial.println(tempsensor.getCelsius()); //geting temp reading just to make sure its working can be delleted latter
if ( tempsensor.getCelsius() > 34 ){ // if temp is more than 34 start a fann for 20 seconds
digitalWrite(9, HIGH) ;
delay(20000);
}
else
{digitalWrite(9, LOW) ;//if temp is lower than 34 turn off the fan, and keep measuring temp every 5 seconds
delay(5000);
}
}