Hoje estudaremos sobre o Termopar tipo K com MAX6675, um conjunto que é capaz de fornecer leituras de temperatura de qualidade a nível industrial. Inclusive o termopar é um tipo de sensor predominantemente industrial, por ser robusto e bem conhecido.
Este artigo vem até vocês através de uma parceria minha com a empresa Ryndack, no fornecimento de componentes para o mesmo. Clique aqui para ir ao site deles e aproveite.
Agora vamos conhecer um pouco do termopar e sua forma de ligação ao Arduino. Termopar é um sensor de temperatura cuja constituição são dois materiais quimicamente diferentes. A variação da temperatura desta junção faz aparecer uma tensão variável bem pequena (efeito Seebeck), que pode ser amplificada e utilizada para medir dita variação.
O termopar é muito utilizado industrialmente por ser barato e abranger uma grande faixa de temperatura. Aquele que vamos estudar neste artigo, do tipo K, mede temperaturas entre -200ºC e +1350ºC, com uma sensibilidade de 41uV/ºC.
De acordo com a Wikipedia o circuito abaixo é necessário para medir um termopar. Observe os pontos Tref, são a chamada junção fria que deve ser levada em conta para se obter uma medição de qualidade.
O circuito integrado que vamos utilizar neste tutorial, MAX6675 já conta com a compensação da junção fria. Esta compensação nada mais é do que um sensor de temperatura dentro do chip.
O código do Arduino
Usaremos este artigo como base para nossos estudos. Ele também foi baseado na mesma biblioteca da Adafruit que vamos utilizar. Inicialmente abra a IDE do Arduino e instale a biblioteca MAX6675, em “Rascunho > Incluir biblioteca > Gerenciar bibliotecas”. Procure por aquela da Adafruit e instale.
Monte o circuito conforme abaixo, são apenas cinco fios.
Abaixo está na íntegra o código do exemplo “serialthermocouple.ino” disponível na IDE do Arduino em “Arquivo > Exemplos > Max6675library”.
// this example is public domain. enjoy!
// https://learn.adafruit.com/thermocouple/
#include "max6675.h"
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
void setup() {
Serial.begin(9600);
Serial.println("MAX6675 test");
// wait for MAX chip to stabilize
delay(500);
}
void loop() {
// basic readout test, just print the current temp
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
// For the MAX6675 to update, you must delay AT LEAST 250ms between reads!
delay(1000);
}
Veja que são lidas as temperaturas em Celsius e Fahrenheit a cada um segundo. É um código bem simples, a biblioteca faz tudo por nós. Um exemplo de leitura no monitor serial do Arduino está abaixo.
Conclusão
O termopar gera uma diferença de potencial na casa de micro volts, bem difícil de ler. Porém com a utilização de algum circuito integrado específico (como o MAX6675) e as bibliotecas certas, fica fácil fazer leituras de temperatura.
Quer continuar estudando sobre sensores? veja este artigo sobre termistor NTC. E lembre-se de que se quiser adquirir os materiais deste experimento, entre no site da Ryndack, aqui.
Deixe um comentário