Boa Noite a todos!
estou realizando a leitura criando três instâncias do objeto EnergyMonitor. Estranhamente ele só realiza a leitura de “A” e replica os valores de A para as outras saídas.
As leitura de corrente estão funcionando.
code:
#include "EmonLib.h" // Para leitura do valor de corrente com o ACS712
EnergyMonitor voltAmp_A;
EnergyMonitor voltAmp_B;
EnergyMonitor voltAmp_S;
#define i_VA 7 // Tensão entrada A
#define i_IA 4 // Corrente entrada A
#define i_VB 6 // Tensão entrada B
#define i_IB 3 // Corrente entrada B
#define i_VS 5 // Tensão saída
#define i_IS 2 // Corrente saída
int VA, VB, VS;
double IA, IB, IS;
long tempoAnterior = 0; // tempo anterior
unsigned long tempoCorrente;
//==========================================================================================
// SETUP
//==========================================================================================
void setup() {
Serial.begin(9600);
voltAmp_A.current(i_IA, 5.3);
voltAmp_B.current(i_IB, 5.37);
voltAmp_S.current(i_IS, 5.377);
voltAmp_A.voltage(i_VA, 200.26, 1.7);
voltAmp_B.voltage(i_VB, 200.26, 1.7);
voltAmp_S.voltage(i_VS, 200.26, 1.7);
tempoAnterior = millis();
}
//==========================================================================================
// LOOP
//==========================================================================================
void loop() {
leituraGrandezas();
tempoCorrente = millis(); //tempo do processador
if ((tempoCorrente - tempoAnterior) > 500) { //se tempoCorrente - anterior for superior ao tempo de delay
tempoAnterior = tempoCorrente;
printDados();
}
}
void leituraGrandezas() {
voltAmp_A.calcVI(20, 200);
VA = voltAmp_A.Vrms;
IA = voltAmp_A.Irms;
delay(10);
voltAmp_B.calcVI(20, 200);
VB = voltAmp_A.Vrms;
IB = voltAmp_B.Irms;
delay(10);
voltAmp_S.calcVI(20, 200);
IS = voltAmp_S.Irms;
VS = voltAmp_A.Vrms;
delay(10);
}
void printDados() {
Serial.print("VA"); Serial.println(VA);
delay(10);
Serial.print("VB"); Serial.println(VB);
delay(10);
Serial.print("VS"); Serial.println(VS);
delay(10);
Serial.print("IA"); Serial.println(IA);
delay(10);
Serial.print("IB"); Serial.println(IB);
delay(10);
Seri
}
Alguma sugestão?