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
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
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
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
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);
}
}
4 Comments
2 years ago
its fake and doesnt work
6 years ago
hi, if possible that tec-12706 generated water? and how you supply power to heatsink with 12v 4 ampere?
10 years ago on Introduction
Hi,
Thats true ATtiny85 would be cheaper and smaller. I'll buy on of them and make an update.
The problem with the USB coolers/Heaters they do a poor job keeping drinks cool or hot, which makes them more of a gimmick rather than useful thing.My design keeps the drink Cold.
I could use a smaller heatsink on the hot side, but the problem is it will require a fan to run constantly (noise issue).
10 years ago on Introduction
Neat. As small as your code and as few pins as you are using with your Arduino, have you looked to see if you could program an ATTiny chip to do the same thing in a much smaller package (would also free up your arduino for a different project)?
Outside of that it looks pretty neat, possibly miniaturize your components a bit more and make a nice project box for it. Also, I assume the USB powered beverage coolers use a similar TEC but with less logic, have you tried hacking one of those to make it more efficient/programmable?