Monitore e Registre Energia com Arduino – Guia Passo a Passo (Dr. Wattson)
Componentes e Materiais
- 1x Arduino UNO
- 1x Placa Dr. Wattson Energy Monitoring Board (baseada no MCP39F521)
- 1x Caixa acrílica para Dr. Wattson
- 1x Módulo MicroSD Adafruit (breakout)
- 1x LED genérico + resistor 220Ω
- 1x Botão tátil Adafruit
Sobre o Projeto
Monitor de energia AC preciso e registrador de dados em cartão SD (formato CSV). Usa a placa Dr. Wattson (MCP39F521) que mede tensão, corrente, potência ativa/reativa/aparente, fator de potência e frequência – isolada da rede por transformadores. Botão inicia/para log; LED indica gravação. Rotação de arquivos: DATA00.CSV a DATA99.CSV.
Configuração (Setup)
Dr. Wattson em caixa acrílica com conectores IEC e terminais spade para segurança. Corrente máxima 12A, calibrado para 4A (range dinâmico 4000:1 mede até 1mA – ideal para standby). Plugue na tomada, dispositivo na caixa.
Circuito
- MicroSD (SPI): CLK→13, MISO→12, MOSI→11, CS→10 (padrão)
- Botão: Pino 4, pull-up interno, lógica invertida (LOW=pressionado). Biblioteca
Buttonde Jack Christensen (debounce 20ms). - Dr. Wattson (I2C): SCL→A5, SDA→A4, VIN→5V, GND→GND, 3.3V→3.3V. Endereço I2C padrão 0x74 (configurável via jumpers).
- LED indicador: Pino 9 + resistor 220Ω.
Sketch Principal (Trechos Chave)
// Inicialização SD e Dr. Wattson
if (!SD.begin(CHIP_SELECT)) { /* erro */ }
wattson.begin(); // endereço 0x74 padrão
// Cria novo arquivo DATAxx.CSV
char filename[] = "DATA00.CSV";
for (uint8_t i=0; i<100; i++) {
filename[4] = i/10 + '0';
filename[5] = i%10 + '0';
if (!SD.exists(filename)) break;
}
// Loop principal
void loop() {
myBtn.read();
if (myBtn.wasReleased()) {
readData = !readData;
digitalWrite(LED, readData);
}
if (readData) {
UpbeatLabs_MCP39F521_Data data;
UpbeatLabs_MCP39F521_FormattedData fData;
int ret = wattson.read(&data, NULL);
unsigned long ms = millis();
if (ret == SUCCESS) {
wattson.convertRawData(&data, &fData);
// Grava CSV: timestamp, corrente, potência ativa, reativa, aparente
File f = SD.open(filename, FILE_WRITE);
if (f) {
f.print(ms); f.print(",");
f.print(fData.currentRMS); f.print(",");
f.print(fData.activePower); f.print(",");
f.print(fData.reactivePower); f.print(",");
f.println(fData.apparentPower);
f.close();
}
}
}
}
Análise no Excel
Arquivos CSV importam diretamente no Excel. Adicione cabeçalhos: timestamp, currentRMS, activePower, reactivePower, apparentPower. Gráficos mostram picos de partida (ex: lâmpada CFL 14W pico 17W/0.21A, estabiliza em 14.2W/0.18A).
Conclusão e Recursos Avançados
Dr. Wattson permite experimentos com dados reais de energia. Recursos avançados: rotinas de calibração, detecção de cruzamento por zero (ZCD), eventos (sobrecorrente, sobrepotência, sag/surge), customização de range (burden resistors, CT), múltiplos Dr. Wattson no mesmo barramento I2C.
- Biblioteca Dr. Wattson: GitHub upbeatlabs/drwattson
- Biblioteca Button: GitHub JChristensen/Button
- Manual do usuário e exemplos no GitHub.
Processo de manufatura
- A Revolução da Nuvem: Como a Computação em Nuvem Transforma TI, Segurança e Carreiras
- Dominando a Manutenção Preventiva: Construindo e Otimizando Cronogramas Fixos e Flutuantes
- Construindo um Autoencoder Variacional com TensorFlow: Guia Prático
- Registrador de Temperatura e Umidade com Arduino, DHT11 e Ethernet Shield
- Monitor de Temperatura e Relógio Tempo Real com Arduino Due e Display TFT 3.2"
- Leitura de Temperatura e Umidade com DHT11 no Blynk – Tutorial Arduino Passo a Passo
- Sistema Avançado de Monitoramento Residencial com Arduino Mega e Sensores IoT
- Monitor Inteligente de Energia Confiável com Arduino UNO – Guia Completo
- Registrador de Dados GPS Avançado: Rastreamento de Voo em Tempo Real, Monitoramento de Altitude e Velocidade Máximas
- Construa uma Bússola Digital em Tempo Real com Arduino e Processing