Bonjour,
Je veux mesurer les grandeurs électriques de ma maison.
Urms, Irms, Puissance Active,apparente,cos phi.
Je me suis inspiré de l'exemple "Boredman". "ArduinoDue_3phase.ino"
Je précise que je ne suis qu'au tout début.
J'ai un circuit monophasé.
J'ai réalisé le montage d'après "OpenEnergiemonitor". + une carte Mega 2560 R3 (après avec la DUE)
Les charges sont des lampes à incandescence et une machine à café.
Le TI est un SCT01-000 la RBurden de 22ohms comme indiqué.
Lorsque je mesure avec une lampe mon cos phi n'est pas de 1 mais:
1 lampe: P=60W Urms=230V - Irms=0,27A - cos=0,75
La même lampe +1 lampe ecowatt Urms=230V - Irms=0,39A - cos=0,63 !
On voit que cos diminue =bon.
Donc ce ne peut-être dû qu'au programme (voir code). Mais là je ne vois pas.
Est-ce par ce que c'est du monophasé et que le progr.est tri ??
J'ai besoins des spécialistes.
Merci de votre aide.
Cdt
Georges
#include <EmonLib_3PH.h>
//==========================================================
#define NSENSORS 10
// Instance of EmonTX sensors
EnergyMonitor emon[NSENSORS];
// for each sensor we will print out real power and power factor
typedef struct
{
float realPower; // 4
float powerFactor; // 4
} sEmonSensor;
// Instance of measurement data structure
sEmonSensor EmonTx[NSENSORS];
//==========================================================
void setup()
{
Serial.begin(115200);
// Arduino Due can have up to 12 bits of ADC resolution
analogReadResolution(ADC_BITS);//SEULEMENT avec DUE!
//---------------------------------------------------------------------
// CALIBRATION
// Note: AC-AC voltage adapter must always be connected to phase 1
//---------------------------------------------------------------------
// Stove: brown (phase 2)
emon[0].voltage(11, 376, 2.0, 2); // Voltage: pin, calib=334, phasecal=2.0, line phase.
emon[0].current(0, 31.2); // Current: pin, calib=97.7.
/* // Stove: grey (phase 3)
emon[1].voltage(11, 334.0, 3.0, 3); // Voltage: pin, calib, phasecal, line phase.
emon[1].current(1, 96.2); // Current: pin, calib.
// Stove: black (phase 1)
emon[2].voltage(11, 334.0, 1.7, 1); // Voltage: pin, calib, phasecal, line phase.
emon[2].current(2, 95.8); // Current: pin, calib.
// Dishwasher (phase 2)
emon[3].voltage(11, 334.0, 2.0, 2); // Voltage: pin, calib, phasecal, line phase.
emon[3].current(3, 95.9); // Current: pin, calib.
// Kitchen (phase 3)
emon[4].voltage(11, 334.0, 3.0, 3); // Voltage: pin, calib, phasecal, line phase.
emon[4].current(4, 97.7); // Current: pin, calib.
// Living room (phase 1)
emon[5].voltage(11, 334.0, 1.7, 1); // Voltage: pin, calib, phasecal, line phase.
emon[5].current(5, 95.9); // Current: pin, calib.
// Common (phase 2)
emon[6].voltage(11, 334.0, 2.0, 2); // Voltage: pin, calib, phasecal, line phase.
emon[6].current(6, 96.4); // Current: pin, calib.
// Bath-Toilet (phase 3)
emon[7].voltage(11, 334.0, 3.0, 3); // Voltage: pin, calib, phasecal, line phase.
emon[7].current(7, 96.3); // Current: pin, calib.
// Washmachine (phase 1)
emon[8].voltage(11, 334.0, 1.7, 1); // Voltage: pin, calib, phasecal, line phase.
emon[8].current(8, 96.4); // Current: pin, calib.
// Floor light (phase 1)
emon[9].voltage(11, 334.0, 1.7, 1); // Voltage: pin, calib, phasecal, line phase.
emon[9].current(9, 95.7); // Current: pin, calib.
*/
}
void loop() {
for (int i=0; i<NSENSORS; i++)
{
// perform measurements
emon[i].calcVI(16,2000); // 2 h.c. for buffering + 14 h.c. for measuring
// convert and pack data
EmonTx[i].realPower = (float)emon[i].realPower;
EmonTx[i].powerFactor = (float)emon[i].powerFactor;
}
// Voltage sensor is connected to Washmachine line
float Voltage = (float)emon[0].Vrms;
float Current = (float)emon[0].Irms;
// Printing out
Serial.print("Voltage: "); Serial.print(Voltage); Serial.println(" V");
Serial.print("Current: "); Serial.print(Current);Serial.println(" A");
for(int i=0; i<1; i++) //i>NSENSORS;
{
Serial.print(i); Serial.print(": ");
Serial.print(" P Active=");
Serial.print(EmonTx[i].realPower);
Serial.print(" Cos phi=");
Serial.println(EmonTx[i].powerFactor);
}
}