Mon cos phi n'est pas 1

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);
  }
}

c'est vraiment des lampe a incendécense ou de la lampe eco type fluocompact?

des lampes tungstène.=résistif. (anciennes)

ok c'etait pour etre sur.

a quoi corespond calib dans :

 emon[0].current(0, 31.2);             // Current: pin, calib=97.7.

le cos phi de dépar peut'etre?
ne t'attend normalement pas a avoir un cos phi de 1 car en general c'est plus vers 0.98.

as tu vu que la lib existé pour une phase seulment ?

hello
je ne suis un spécialiste, alors peut être que je me trompe.
mes recherches sur le net

me donnent:

cos phi = P/(U*I)

si j'applique avec tes chiffres: cos phi = (60/(220*0.27))= 0.96

Bonjour,

suis d'accord avec dfgh pour le calcul 60/(230*0,27)=0,96. :slight_smile:

Ta deuxième lampe "eco-watt" a quelle puissance ?

Je suis bien d'accord, mais la question est pourquoi la sortie sérielle ne l'affiche pas.
un cos phi de 0,96, je me répète n'est pas affiché!! mais cos=0,74 à la place est ça c'est faux!.
La lampe ecowatt fait 23W, elle n'est pas le problème.
Le problème avec ecowatt comme je l'ai écrit le programme fonctionne (baisse du cos phi).

Bon, je sais pas, mais cette librairie est optimisé pour du triphasé.

Peut-être faire un essai sans changer ton montage avec la lib "Emonlib.h" pour le monophasé.

Tu vas sur le github d'openenergy monitor tu trouveras toutes les librairies à jour. Si c'est du monophasé aucune raison de prendre une librairie pour du tri.
Ensuite il faut suivre la procédure de calibration.
Le site est très bien documenté. Normalement tu devrais trouver toutes les infos nécessaires.

Merci fdufnews !

Jean-Michel dans une autre discussion, (avec Manuol...)tu parlais que tu t'étais inspiré de "boredman" et que ton montage fonctionne.
As-tu mesuré le cos phi?
Mesures-tu, sur différents circuits, les grandeurs électriques?
quelle librairie prends-tu ?
Merci pour tes explications.

Bonjour,

Tout d'abord, j'utilise Emonlib pour laquelle je ne prends que Vrms et Irms. Le apparentPower est une multiplication des 2.

Ensuite, je mesure 5 circuits (Général, Froid, Cuissons, Lavages, Lumières). Je déduis le 6 ième avec Général - (Froid+Cuissons+Lavages+Lumières) = Prises.

Pour ce faire, j'ai donc 5 SCT013-030 (30A car n'ayant pas de chauffage électrique, c'est la "puissance" souscrite auprès Edf) et un transformateur AC-AC 220v-9v.

Après, il y eu la phase calibration. Pour ce faire, j'ai mesuré la tension (qui fluctue légèrement) avec un multimètre et pour l'intensité, pareil, j'ai pris un ampèremétre, mesurer les circuits et adapter les lignes de code :

  emon1.voltage(0, 235, 1.7);
  emon2.current(1, 29); //Groupe1
  emon3.current(2, 29); //G2
  emon4.current(3, 29); //G3
  emon5.current(4, 29); //G4
  emon6.current(5, 29); //G5

La différence entre la lecture directe et les valeurs de Irms sont de l'ordre de 0,01 à 0,03 A.

J'envoie toutes les X minutes, Irms1, Irms2, Irms3, Irms4, Irms5, Irms6 (calculé) et Vrms sur une base de données Sql. Dans cette base, j'ai une table avec CosPhi et une autre avec Cout Kwh facturé par Edf (mois par mois).

Après presque 3 mois de recul, j'ai mis 1 pour cos phi et je recalcule en dynamique les Kwh à chaque appel des pages Php.

Donc pour répondre à tes questions :

  • Non, je ne mesure pas le coef phi
  • Oui sur différents circuits 5 en l'occurrence avec Irms et Vrms
  • Emonlib.h adapté au monophasé.

Dans ce projet, ce qui m'importe le plus et d'avoir une répartition des diverses consommations par "circuits" et que les Kwh calculés correspondent aux relevés manuels mensuels du compteur Erdf.

A disposition si besoin.

Bonjour Jean Michel,

Merci pour ton explication très claire et étoffée. Bravo pour ton projet, je me permets -> tu devrais le publier
c'est intéressant. en plus sql n'est pas évident.
Finalement j'ai réussi. la librairie triphasée de boredman fonctionne en monophasé, ainsi tu peux mesurer le cos phi etc.
Mon erreur fut de m'obstiner sur une ligne d'écriture (la certitude et le défaut et le doute la vérité...).
Merci aux gens sympa de leur aide.
Cdt