Cooler com Arduino e pastilha termoelétrica TEC1-12706

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:

Pastilha Termoelétrica TEC1-12706

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:

Imagem : Wikipedia

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!

5/5 - (2 votos)

Related posts

Dicas iniciais Arduino e Cia

by Arduino e Cia
12 anos ago

Como usar o módulo SD Card com Arduino

by Arduino e Cia
10 anos ago

Comunicação Arduino e Raspberry Pi usando I2C

by Arduino e Cia
7 anos ago
Sair da versão mobile