Neste post, você encontrará informações sobre como funciona o PT100 e como conectá-lo a um Arduino. Vamos explorar a conexão do sensor PT100 ao módulo MAX31865, que converte a resistência medida pelo sensor em uma leitura de temperatura precisa.
Além disso, você aprenderá a integrar o display LCD com o Arduino para mostrar a temperatura em tempo real.
O que é o PT100?
O PT100 é um tipo de sensor de temperatura conhecido como RTD (Resistance Temperature Detector), ou detector de temperatura por resistência. Ele é amplamente utilizado em aplicações industriais devido à sua precisão e confiabilidade. O “PT” no nome refere-se ao material do sensor, a platina (Pt), enquanto o “100” indica que ele possui uma resistência de 100 ohms a 0°C.
Este sensor funciona medindo a variação de resistência elétrica à medida que a temperatura muda. Devido às propriedades estáveis da platina, o PT100 oferece uma resposta linear e previsível à variação de temperatura, o que o torna ideal para medições precisas em uma grande faixa de temperaturas, geralmente de -200°C a 850°C.
Além disso, o sensor de temperatura PT100 é conhecido por sua durabilidade e capacidade de manter a precisão ao longo do tempo, mesmo em ambientes industriais rigorosos. Essa combinação de precisão, linearidade e durabilidade faz com que o PT100 seja um dos sensores de temperatura mais confiáveis e amplamente usados no mundo.
Como funciona o PT100?
O PT100 funciona com base no princípio de que a resistência elétrica de certos materiais varia de forma previsível com a temperatura. No caso do PT100, esse material é a platina, um metal precioso que possui uma relação linear muito estável entre temperatura e resistência.
Quando a temperatura ao redor do sensor aumenta, os átomos da platina vibram mais, o que dificulta a passagem dos elétrons, aumentando assim a resistência elétrica. Inversamente, quando a temperatura diminui, a resistência também diminui.
Especificamente, o PT100 tem uma resistência de 100 ohms a 0°C. A cada aumento de 1°C, a resistência do PT100 aumenta aproximadamente 0,385 ohms. Essa mudança precisa na resistência permite medir a temperatura com alta precisão. Para interpretar esses dados, um circuito eletrônico, como o de um Arduino, mede a resistência do sensor e a converte em uma leitura de temperatura.
A relação entre temperatura e resistência no PT100 é governada pela equação de Callendar-Van Dusen, que descreve essa variação com grande precisão.
Como conectar o PT100 ao Arduino?
Conectar um sensor PT100 ao Arduino requer a utilização de um circuito específico que permita a leitura precisa da resistência do sensor e sua conversão em uma medida de temperatura. Para isso, normalmente é utilizado um amplificador de sinal como o MAX31865, que é projetado para trabalhar com RTDs (como o PT100) e simplifica a interface com microcontroladores como o Arduino.
Para conectar o sensor PT100 ao Arduino, você irá precisar dos seguintes componentes:
- Arduino Uno R4 Minima
- Sensor de Temperatura PT100
- Módulo conversor MAX31865
- Display LCD 16×2 I2C
- Jumpers
- Protoboard
- Cabo USB tipo C
Para o sensor PT100 de 2 fios utilizado neste tutorial, é necessário soldar os pinos RTD no módulo MAX31865 para garantir a leitura correta da temperatura, conforme mostrado na imagem abaixo:
Em seguida, conecte o módulo MAX31865 ao Arduino utilizando os pinos de comunicação SPI (Serial Peripheral Interface). Os pinos que você vai conectar são:
- VIN do MAX31865 ao 5V do Arduino
- GND do MAX31865 ao GND do Arduino
- SCK do MAX31865 ao pino 13 do Arduino
- SDO do MAX31865 ao pino 12 do Arduino
- SDI do MAX31865 ao pino 11 do Arduino
- CS do MAX31865 ao pino 10 do Arduino
Também conecte os Display LCD 16×2 ao Arduino utilizando os os pinos de comunicação I2C. Todas as conexões realizadas entre os componentes estão demonstradas no esquemático abaixo:
Programação PT100 com Arduino
Após fazer as conexões físicas, o próximo passo é configurar o código no Arduino. Para que o código funcione corretamente, você precisará instalar duas bibliotecas: Adafruit MAX31865 e LiquidCrystal I2C.
Para instalar essas bibliotecas, abra a IDE Arduino, vá até o menu “Ferramentas”, selecione “Gerenciador de bibliotecas”. Na janela que se abre, use a barra de pesquisa para encontrar e instalar as bibliotecas mencionadas.
// Programa: Medição de temperatura com PT100 e MAX31865 // Autor: Rosana Guse #include <Adafruit_MAX31865.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> // Define o sensor RTD PT100 usando os pinos 10, 11, 12, e 13 Adafruit_MAX31865 sensorRTD = Adafruit_MAX31865(10, 11, 12, 13); // Constantes de referência #define RREF 430.0 // Resistência de referência #define RNOMINAL 100.0 // Resistência nominal do PT100 a 0ºC // Configura o endereço do display LCD 16x2 com I2C LiquidCrystal_I2C lcd(0x27, 16, 2); // Verifique se o endereço do seu display é 0x27; pode ser 0x3F também void setup() { // Inicializa a comunicação serial Serial.begin(115200); Serial.println("Teste do Sensor PT100 com MAX31865!"); // Inicializa o display LCD lcd.init(); // Inicializa o LCD lcd.backlight(); // Liga o backlight do LCD lcd.setCursor(0, 0); lcd.print("Temperatura:"); // Configura o sensor RTD para modo de 2 fios sensorRTD.begin(MAX31865_2WIRE); } void loop() { // Lê a temperatura do sensor float temperatura = sensorRTD.temperature(RNOMINAL, RREF); // Limpa a tela do display LCD e exibe a temperatura lcd.setCursor(0, 1); // Move o cursor para a segunda linha lcd.print(" "); // Limpa a linha lcd.setCursor(0, 1); // Move o cursor de volta para o início da linha lcd.print(temperatura); lcd.print(" C"); // Verifica por possíveis falhas e as exibe uint8_t falha = sensorRTD.readFault(); if (falha) { Serial.print("Falha 0x"); Serial.println(falha, HEX); // Verifica e relata os tipos de falhas possíveis if (falha & MAX31865_FAULT_HIGHTHRESH) Serial.println("RTD acima do limite máximo"); if (falha & MAX31865_FAULT_LOWTHRESH) Serial.println("RTD abaixo do limite mínimo"); if (falha & MAX31865_FAULT_REFINLOW) Serial.println("REFIN- > 0.85 x Bias"); if (falha & MAX31865_FAULT_REFINHIGH) Serial.println("REFIN- < 0.85 x Bias - Circuito aberto"); if (falha & MAX31865_FAULT_RTDINLOW) Serial.println("RTDIN- < 0.85 x Bias - Circuito aberto"); if (falha & MAX31865_FAULT_OVUV) Serial.println("Subtensão ou sobretensão detectada"); // Limpa o estado de falha sensorRTD.clearFault(); } // Aguarda 1 segundo antes de repetir o loop delay(1000); }
Como funciona um PT100 com Arduino?
O sensor PT100 é configurado para operar em modo de 2 fios através do módulo MAX31865, que é responsável por ler a resistência do sensor e convertê-la em uma medida de temperatura. No loop principal do código, o Arduino realiza leituras contínuas da temperatura a partir do PT100. A cada segundo, o valor da temperatura é atualizado no display LCD, exibindo a medida em graus Celsius na segunda linha do LCD. Isso proporciona uma visualização constante e direta da temperatura atual.
Além disso, o código monitora possíveis falhas no sensor ou no módulo MAX31865. Caso uma falha seja detectada, uma mensagem correspondente será impressa no monitor serial do Arduino, mas essas mensagens não aparecem no display LCD, que continua mostrando apenas a temperatura atual. Assim, o display LCD é atualizado a cada segundo para refletir a temperatura mais recente, garantindo uma leitura clara e fácil para o monitoramento contínuo.
Por que o PT100 tem 3 fios?
Na verdade, os sensores PT100 estão disponíveis em três configurações principais: 2 fios, 3 fios e 4 fios. Cada uma dessas configurações é projetada para diferentes níveis de precisão e complexidade na medição da temperatura.
- PT100 de 2 fios: Esta é a configuração mais simples e barata. O sensor tem dois fios conectados, e a resistência medida inclui tanto a resistência do sensor quanto a dos fios de conexão. Isso pode introduzir erros, especialmente se os fios forem longos ou se a aplicação exigir alta precisão. É mais adequado para aplicações onde a precisão não é crítica ou onde os fios de conexão são curtos.
- PT100 de 3 fios: A configuração de 3 fios é a mais comum e oferece um bom equilíbrio entre simplicidade e precisão. Nessa configuração, dois fios são conectados a um lado do sensor, enquanto o terceiro fio é conectado ao outro lado. Esse arranjo permite ao circuito de medição compensar a resistência dos fios, subtraindo o efeito da resistência adicional dos fios de conexão. Isso resulta em uma medição mais precisa do que a configuração de 2 fios, sem a complexidade adicional da configuração de 4 fios.
- PT100 de 4 fios: Essa é a configuração mais precisa e é usada em aplicações onde a precisão máxima é essencial. Nessa configuração, dois fios são usados para fornecer a corrente ao sensor, e os outros dois são usados exclusivamente para medir a tensão. Como a medição de tensão é feita separadamente, a resistência dos fios de conexão não afeta a leitura da resistência do sensor. Essa configuração elimina completamente o erro devido à resistência dos fios, mas é mais complexa e cara.
Qual a diferença entre PT100 e PT1000?
A principal diferença entre o PT100 e o PT1000 está na resistência elétrica que cada sensor apresenta a 0°C. Enquanto o PT100 tem uma resistência de 100 ohms a essa temperatura, o PT1000 tem uma resistência de 1000 ohms. Essa diferença na resistência básica traz algumas implicações importantes para o uso e as características de cada um desses sensores.
- Sensibilidade: O PT1000 é geralmente mais sensível a pequenas variações de temperatura do que o PT100. Como ele tem uma resistência mais alta, pequenas mudanças na temperatura resultam em mudanças de resistência mais significativas, o que pode ser mais fácil de detectar com equipamentos eletrônicos.
- Ruído e interferência: O PT1000 é menos suscetível a interferências e ruídos elétricos, especialmente em longas distâncias. Como a resistência de base é maior, o impacto do ruído relativo à resistência total do sensor é menor, o que resulta em medições mais estáveis em ambientes com muito ruído.
- Corrente de excitação: Para minimizar o aquecimento autogerado no sensor (que pode ocorrer quando uma corrente passa através dele), o PT1000 pode operar com correntes de excitação menores do que o PT100. Isso reduz o efeito de aquecimento, ajudando a manter a precisão da medição.
- Precisão e linearidade: Tanto o PT100 quanto o PT1000 possuem uma relação linear entre a temperatura e a resistência, o que garante precisão nas medições. No entanto, como o PT1000 é mais sensível, ele pode oferecer medições ligeiramente mais precisas em certas condições, especialmente em sistemas onde o ruído é uma preocupação.
Qual a diferença entre um termopar e o PT100?
O termopar e o PT100 são dois tipos distintos de sensores de temperatura, cada um com suas próprias características, princípios de funcionamento, e aplicações. A principal diferença entre eles reside no modo como medem a temperatura e nas situações para as quais são mais adequados.
- PT100: O PT100 é um tipo de RTD que mede a temperatura com base na variação da resistência elétrica de um fio de platina. À medida que a temperatura aumenta, a resistência da platina também aumenta de forma previsível. Essa relação linear entre resistência e temperatura permite medições precisas em uma ampla faixa de temperaturas, normalmente de -200°C a 850°C.
- Termopar: Um termopar, por outro lado, mede a temperatura com base no efeito Seebeck, que é a geração de uma tensão elétrica entre dois metais diferentes quando há uma diferença de temperatura entre as junções. Os termopares são designados por diferentes “tipos” (como Tipo K, Tipo J, etc.), dependendo dos metais usados. Eles são capazes de medir temperaturas em uma faixa muito ampla, desde -200°C até 2300°C, dependendo do tipo.
Se você tiver dúvidas de como funciona um PT100, sugestões ou experiências para compartilhar, fique a vontade para deixar um comentário abaixo. E para não perder nenhum conteúdo como este, não deixe de nos seguir no Instagram.
Simples e direto. Por mais conteúdos assim.
Olá.
Obrigado pelo feedback.
Att.
Vitor Mattos.
MakerHero.