Vamos montar um pequeno cooler para manter a água gelada utilizando Arduino? Isso é possível com o uso da pastilha termoelétrica TEC1-12706, que vamos utilizar nesse post:
Essa pastilha usa o Efeito Peltier para gerar temperaturas muito baixas (muitas vezes abaixo de 0), em um lado da pastilha, e temperaturas muito altas do outro lado.
Ela é usada frequentemente em bebedouros , mini coolers ou então pode ser utilizada para refrigeração de CPU´s, ideal para quem gosta de um overclock. 😉
Como funciona a pastilha TEC1-12706
A imagem abaixo ilustra o funcionamento da pastilha, com os seus pares de elementos semicondutores tipo P e N. Na pastilha TEC1-12706 temos 127 pares de elementos, responsáveis por gerar a diferença de temperatura entre os dois lados do componente:
Uma das características dessa pastilha é esquentar de maneira muito rápida. Em poucos segundos um dos lados fica bem quente, e nesse lado é necessário um dissipador de calor para que as temperaturas não entrem em equilíbrio e anulem o efeito da pastilha. A ausência do dissipador pode até mesmo danificá-la.
Nos meus testes eu utilizei um dissipador de calor retirado de uma CPU, e uma fonte de computador para alimentação, já que a pastilha apresentou melhores resultados quando alimentada com 12v.
Não recomendo ligar a pastilha diretamente no Arduino, pois ele não vai fornecer a corrente necessária para esquentar/esfriar a pastilha.
Verifique o datasheet da TEC1-12706 para se certificar dos níveis de tensão e corrente suportados. Nos meus testes a pastilha começou a esfriar a partir de 1A (mais um motivo para não utilizar diretamente os 5v do Arduino). Opte por uma fonte de alimentação externa, de no mínimo 12V e 2 A.
Ok, e o que podemos fazer se a pastilha não funciona diretamente com o Arduino?
Circuito cooler com Arduino
Podemos utilizar o Arduino como um auxiliar para ligar e desligar a alimentação da pastilha, adaptando um sensor de temperatura que vai acionar a pastilha quando a temperatura chegar à um valor X, e desligar a alimentação quando a temperatura diminuir e chegar à um valor Y, formando assim um “cooler”.
Para isso, utilizei um circuito composto pelo Arduino Uno, sensor de temperatura LM35 e relé de 2 canais (utilizando apenas um dos relés):
Fixei o LM35 em um recipiente com água e montei o meu cooler conforme a imagem abaixo.
Não gostei muito do resultado com o LM35, já que o tipo de encapsulamento do sensor não ajuda na hora de monitorar a temperatura. Talvez o circuito fique melhor com um DS18B20, o DHT11 ou algum outro sensor de temperatura.
O programa abaixo monitora a temperatura do sensor (porta analógica A0) e aciona o Relé 1 (ligado à porta digital 4) caso a temperatura esteja abaixo daquela determinada na variável TEMP_MAX. Caso a temperatura chegue ao mesmo valor da variável TEMP_MIN, o relé é desligado. Os resultados também são enviados para o serial monitor, mostrando a temperatura atual, e o estado do relé:
// Programa: Cooler com pastilha termoeletrica TEC1-12706 // Autor: Arduino e Cia int pin = A0; // Pino analogico para ligacao do LM35 int pinorele = 4; //Pino digital ligado ao rele (IN1) int TEMP_MAX = 20; // Temperatura maxima - liga a pastilha int TEMP_MIN = 10; // Temperatura minima - desliga a pastilha String estadopastilha; // Variavel que armazenam a temperatura em Celsius int tempc = 0; int samples[8]; // Array para precisão na medição int i; void setup() { Serial.begin(9600); pinMode(pinorele, OUTPUT); } void loop() { // Loop que faz a leitura da temperatura 8 vezes for(i = 0;i<=7;i++) { samples[i] = ( 5.0 * analogRead(pin) * 100.0) / 1024.0; // A cada leitura, incrementa o valor da variavel tempc tempc = tempc + samples[i]; delay(100); } // Divide a variavel tempc por 8, para obter precisão na medição tempc = tempc/8.0; // Se a temperatura estiver acima de TEMP_MAX, aciona a pastilha if(tempc >= TEMP_MAX) { digitalWrite(pinorele, LOW); estadopastilha = "Acionada"; } // Se a temperatura estiver abaixo de TEMP_MIN, desliga a pastilha if(tempc <= TEMP_MIN) { digitalWrite(pinorele, HIGH); estadopastilha = "Desligada"; } Serial.print("Temperatura : "); Serial.print(tempc,DEC); Serial.print(" Cels. - Pastilha : "); Serial.println(estadopastilha); tempc = 0; delay(1000); // Aguarda 1 segundo e reinicia o processo }
Obviamente esse circuito não pode ser considerado um cooler “profissional”, ainda precisa de muitos ajustes e algumas adaptações (um potenciômetro para regular a faixa de temperatura seria uma boa idéia), mas pode servir como base para o seu projeto utilizando a pastilha termoelétrica.
Gostou? Confira outros posts usando arduino aqui mesmo no Arduino e Cia!