Registre e Gráfico Eventos de Termostato 24‑V com Optoacoplador e Raspberry Pi
Muitos projetos de automação residencial envolvem construir um termostato do zero, mas e se você já possui um termostato programável e apenas quer registrar quando ele liga ou desliga? Este guia explica como usar um optoacoplador para isolar com segurança o sistema HVAC 24‑V AC de um Raspberry Pi, capturar sinais de nível lógico, registrar eventos e plotar dados de temperatura em tempo real.
⚠️ Trabalhar com tensão de rede pode ser perigoso. Prossiga apenas se você entende segurança elétrica e possui as habilidades necessárias. O autor não pode ser responsabilizado por danos a equipamentos, animais ou propriedade.
Passo 1: Reunir Peças e Ferramentas
Componentes necessários:
- Optoacoplador HCPL3700 (inclui retificador)
- 2 × resistores 3.3 kΩ, ½ W ou superior
- Capacitor eletrolítico 10 µF, ≥10 V
- Capacitor cerâmico 0.1 µF
- Resistor pull‑up 8 kΩ (ou 3.3 kΩ + 4.7 kΩ em série)
- Raspberry Pi (qualquer modelo com GPIO 3.3 V)
- Fio isolado de dois condutores, preferencialmente conector quick‑disconnect
- Suprimentos básicos de eletrônica: breadboard, fios jumper, etc.
Adicional de sensor de temperatura opcional:
- Sensor de temperatura digital ADT7410
- Breakout board SOIC
- Capacitor 0.1 µF adicional
- 4 × resistores 10 kΩ
Ferramentas opcionais de design PCB:
- Bloco de parafuso dois terminais
- Pinos header fêmea para board SOIC
- Pinos header macho ou fêmea para conectividade Pi/Arduino
- Versões SMD dos resistores para reduzir tamanho da placa
Ferramentas:
- Multímetro (modo tensão AC)
Requisitos:
- Sistema HVAC 24 VAC
- Python e bibliotecas relacionadas (ex.:
hipi-i2c) - Opcional: conta Plotly para gráficos online
- Opcional: Eagle (versão gratuita) para design PCB
Passo 2: Identificar Fios do Relé do Termostato
A maioria dos sistemas HVAC residenciais opera a 24 VAC. Um termostato programável tipicamente se auto‑alimenta de um circuito "power‑stealing" e comuta um relé para energizar o forno ou air‑handler. Para monitorar o estado do relé, localize o par de fios que levam a alimentação 24 VAC para a unidade HVAC.
Com multímetro em modo tensão AC, teste cada par de fios enquanto o HVAC está ligado e desligado. Registre a leitura de tensão; o par correto deve mostrar ~24 VAC (frequentemente um pouco mais alto, ex.: 28–30 VAC) quando o sistema está ativo e 0 VAC quando ocioso.
Passo 3: Adicionar Leads de Monitoramento
Desligue a energia do HVAC e confirme com multímetro que nenhuma tensão está presente. Remova cuidadosamente o termostato de sua base de montagem para expor a fiação. Anexe dois fios adicionais ao par escolhido de condutores do relé. Use conectores quick‑disconnect na extremidade do Pi para fácil manutenção.
Passo 4: Construir Circuito de Isolamento
Conectar diretamente 24 VAC a um Raspberry Pi é impossível. Um optoacoplador como o HCPL3700 fornece isolamento elétrico enquanto retifica automaticamente a tensão de entrada.
Pontos chave no esquema:
- Dois resistores 3.3 kΩ (classificados ≥½ W) nos pinos de entrada AC definem o threshold de trigger. Consulte datasheet HCPL3700 para cálculos exatos.
- Capacitor eletrolítico 10 µF, ≥10 V na saída DC do retificador suaviza o sinal e previne flickering do GPIO do Pi na frequência da linha.
- Capacitor cerâmico 0.1 µF nos pinos de alimentação do optoacoplador reduz ruído de alta frequência.
- Como o HCPL3700 usa saída open‑collector, um resistor pull‑up é necessário. Resistor 8 kΩ (ou série 3.3 kΩ + 4.7 kΩ) puxa a linha high para lógica 3.3 V do Pi.
Conecte a saída do optoacoplador a um pino GPIO do Pi (ex.: GPIO23). Use o rail 3.3 V do Pi para alimentar os pinos de supply do optoacoplador. Aterre o Pi e o optoacoplador juntos.
Uma vez conectado, o Pi detecta logic low sempre que o relé HVAC está energizado e logic high quando desenergizado.
Para esquemáticos completos e cálculos de componentes, consulte a application note do HCPL3700.
Passo 5: Instalar Software e Registrar Dados
Use Python para ler o pino GPIO, timestamp cada mudança de estado e escrever dados em arquivo CSV ou banco de dados. Um script simples pode parecer com isto:
import RPi.GPIO as GPIO import time import csv GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) with open('thermostat_log.csv', 'a') as f: writer = csv.writer(f) while True: state = GPIO.input(23) timestamp = time.time() writer.writerow([timestamp, state]) time.sleep(0.5) Para gráficos em tempo real, faça upload do CSV para Plotly ou use biblioteca leve como Matplotlib para gerar gráficos locais.
Passo 6: Expandir com Sensor de Temperatura (Opcional)
Integre o ADT7410 via I²C para registrar temperatura ambiente junto ao status do relé. Conecte o sensor aos pinos SDA/SCL do Pi, defina endereço (0x48 por padrão) e leia o registrador de temperatura 16‑bit. Armazene as leituras no mesmo arquivo de log com coluna separada.
Quando você tiver os dados de temperatura, use Plotly para criar gráfico dual‑axis: HVAC no eixo primário e temperatura no secundário, permitindo correlacionar atividade do termostato com mudanças ambientais.
Seguindo estes passos, você pode monitorar e registrar com segurança o comportamento do seu termostato existente sem modificar o dispositivo em si.
Processo de manufatura
- Integração MQTT Perfeita: Sensores NodeMCU DHT22 com Raspberry Pi 3 B+ como Broker
- Perfilamento de Temperatura Preciso no Raspberry Pi com Python, SQLite e LabVIEW
- Registre e Gráfico Eventos de Termostato 24‑V com Optoacoplador e Raspberry Pi
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Monitoramento Contínuo de Temperatura e Umidade no Raspberry Pi com EzTemp
- Monitoramento Remoto do Tempo com Raspberry Pi 3 e PubNub
- Integre TI SensorTag ao Blynk via Node‑RED no Raspberry Pi Zero
- Sistema de Registro e Alerta de Fotocélula com Raspberry Pi – Construa um Sensor de Luz de Baixa Potência com Python
- Controle um LED com Sensor de Movimento PIR no Raspberry Pi
- Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20