ACS715 AC ?

Bonjour tous

Voilà je me suis lancé dans une petite réalisation avec un ACS715 pour mesurer la consommation et aussi me permettre sa savoir si il y a quelque chose d'allumer ou non..
J'ai beau chercher sur internet je ne trouve rien de véritablement clair alors j'espère que quelqu'un pourra m'assister un peu sur mes interrogations...

  1. A quel intervalle récupérer les données sur l'entrée analogique... Pour le moment je le fait sans faire de tempo particulier..

  2. J'ai vu des schémas où il y avait des composants en plus : le module ACS715 ne se suffit pas à lui même pour calculer une consommation?

  3. Lorsque je prend les calculs que je trouve ici et là sur la toile ils se ressemblent mais je n'arrive pas à les comprendre j'espère que vous pourrez "m'éclairer" :
    Colonne 1 - valeur capteur
    Colonne 2 - ((long)capteur * 5000 / 1024) (j'ai lu que c'était la conversion en millivolts mais je ne vois pas à quoi ça correspond... j'imagine que c'est sur le capteur..)
    Colonne 3 - (((long)capteur) * 2500.0 / 2443.0) - 2500 // correction diviseur tension sortie capteur Vo théorique à vide / Vo réel à vide >> Je ne comprends pas mais par contre j'ai des valeurs négatives lorsqu'il y a quelque chose qui tourne... (je m'en sert aujourd'hui pour détecter que c'est allumé)
    Colonne 4 - ((Colonne 2 - 500) * 1000 / 133) / 1000; > valeur en mA idem je ne vois pas à quoi ça correspond

- Rien d'allumé :
511 - 2495mV - 53,21mV2 - 15mA
506 - 2470mV - 27,63mV2 - 14,81mA
509 - 2485mV - 42,98mV2 - 14,92mA
508 - 2480mV - 37,86mV2 - 14,89mA
509 - 2485mV - 42,98mV2 - 14,92mA
510 - 2490mV - 48,1mV2 - 14,96mA
509 - 2485mV - 42,98mV2 - 14,92mA
511 - 2495mV - 53,21mV2 - 15mA
508 - 2480mV - 37,86mV2 - 14,89mA
507 - 2475mV - 32,75mV2 - 14,85mA

- Lumière de branchée :
483 - 2358mV - -86,98mV2 - 13,97mA
455 - 2221mV - -227,18mV2 - 12,94mA
496 - 2421mV - -22,51mV2 - 14,44mA
563 - 2749mV - 313,14mV2 - 16,91mA
540 - 2636mV - 197,5mV2 - 16,06mA
477 - 2329mV - -116,66mV2 - 13,75mA
454 - 2216mV - -232,3mV2 - 12,9mA
510 - 2490mV - 48,1mV2 - 14,96mA
565 - 2758mV - 322,35mV2 - 16,98mA
541 - 2641mV - 202,62mV2 - 16,1mA

Par avance un grand merci!

Hello,

D'après ce que j'ai cru comprendre ( en lisant rapidement ) ton module ne mesure qu'un courant ( pas de différence de potentiel).
Si ton but est de connaitre la puissance d'une machine ou d'une charge, il faut que tu aies aussi sa tension à ses bornes. Dès lors tu connaîtras celle-ci par
P = UI.

Quelques petites questions :
-Tu utilises bien ton composant en DC et pas en AC ( je pense par exemple si tu veux mesurer une lampe justement)
-Quel est ton composant ? Sur la datasheet, (https://www.pololu.com/file/download/ACS715.pdf?file_id=0J197) si c'est un 20A ou un 30A ça change :).

Si tu veux savoir si ta lampe est allumée ou non, il suffit en effet de regarder le courant passant dans le câble.

Pour ta première question, ça dépend. Si tu veux une précision correct je te conseil d'utiliser un code de ce style :

void update()
{
    for(int i=0; i<10; i++)     //Get 10 sample value from the sensor for smooth the value
    {
        buf[i]=analogRead(analogPin);
        delay(10);
    }
    for(int i=0; i<9; i++)      //sort the analog from small to large
    {
        for(int j=i+1; j<10; j++)
        {
            if(buf[i]>buf[j])
            {
                temp=buf[i];
                buf[i]=buf[j];
                buf[j]=temp;
            }
        }
    }
    avgValue=0;
    for(int i=2; i<8; i++)                    //take the average value of 6 center sample
        avgValue+=buf[i];
    avgValue = avgValue/6.0; // because we have take 6 sample

}

Je ne l'ai pas corrigé ( j'ai changé deux trois trucs, donc faut voir si c'est correct ;)).

La première valeur correspond à une valeur "analogique" mesurée sur la pin comprise entre 0 et 1023
(voir https://www.arduino.cc/en/Reference/AnalogRead)

En suivant ce lien, tu devrais comprendre comment passer de cette "valeur" à la valeur en mA.

En gros :
Colonne 1 = valeurs mesurées par analogRead()
Colonne 2 = conversion de la valeur en mV ( voir le lien précédent )
Colonne 3 = ? miliVolt carré ? par compris ....
Colonne 4 = Conversion de la valeur en mV en A

Exemple, si ton capteur possède 185mV/A,
Pour 1 A tu as 185 mV
Pour 2 A tu as 185mV*2
...

En gros Valeurs/0.185 = A

Fais attention cependant ( comme je l'ai dit auparavant ) à ton capteur.
Sur la datasheet, il est marqué que tu as soit 185mV/A ou 133mV/A

Il est évident qu'entre tes deux tableaux "branché-non branché", il y a un soucis quelque part ;). Non branché théoriquement c'est 0A...

Merci beaucoup renaudyes déjà c'est un peu plus clair!

Oui c'est bien de l'alternatif.

Oui je pense qu'il y a un problème car je m'attendais aussi à trouver un Zero mA en étant débranché..

Sur la datasheet.. comment dire...j'ai acheté ce module il y a 1 an et je l'ai laissé dans un tiroir et du coup après ton message je regarde sur le revers du module et déjà ça commence mal c'est écrit ACS712... Bon ok moi j'étais persuadé avoir acheté un ACS715 30A mais comme c'était il y a 1an.. :S
Alors j'ai trouvé la datasheet et donc c'est 185ma d'après la référence 05B de ma puce MERCI!

Le truc que je ne vois pas comment faire pour la puissance c'est mesurer les Volts sur de l'alternatif 220V?..

Je reteste déjà grâce à tes éclaircissement et merci car tu m'as fait vraiment fait avancer dans ma compréhension!

Bonjour,
Va voir sur le site :
openenergymonitor.org
Tu y trouveras les infos que tu cherches.
Jacques

@renaudyve

  1. Alors après avoir remplacé 133 par 185 j'ai pas eu beaucoup de différence...

  2. Si je fait une moyenne ça lisse encore plus mes valeurs en état allumé et je n'arrive donc plus à distinguer les 2 état...

En sachant que la seule déduction On/Off que j'arrive à faire c'est en ayant pris cet exemple sur internet :
double mVolts2 = ((double)mvolts) * 2500.0 / 2443.0; // correction diviseur tension sortie capteur Vo théorique àvide / Vo réel à vide
mVolts2 -= 2500;

Là je boucle sur mes 10 valeurs et si j'en est une ou plusieurs négative je sais qu'il y a du courant qui passe

Peut être qu'il y a un quiproquo sur l'alternatif/continue.. Peut être que l'ACS 712 fonctionne différemment...

@JMe87
Merci pour ton lien j'ai fouillé et j'ai trouvé un post où ça parlais du ACS 712 en alternatif et j'ai récupéré ça :
float Voltage0 = (float)((n / 1023.0d) * 5000);
float Amps = ((Voltage0 - 2500) / sensibilite); >> ici sensibilité = 185 pour mon ACS 712

Alors ça vraiment comprendre les chiffres ça donne des choses bien plus intéressantes car la valeur ampère obtenue oscille entre -2,15 et +2 ce qui me parait logique pour les 3 ampoules qu'il y a derrière...

Et lorsque je n'ai rien de branché je suis entre -0.12 et 0.09.... donc proche de zero.. un peu bizarre quand même d'obtenir des -0,12 mais je suppose que c'est lié à la précision de la puce?

Me restera à finaliser le protocole pour calculer les Watts si les données sont bonnes (je dois avoir un multimètre je verrai si je peux vérifier ça demain...)

Merci encore à vous!

Je rajoute un truc : tout ceci n'est valable que sur des charges résistives. Le "vrai" calcul de puissance inclus le déphasage courant/tension (le cos phi)

Oui alors j'ai un amis qui m'a expliqué comment faire simplement en utilisant la transformation de Fourier et en l'appliquant au réseau EDF

Si j'applique ça à mon exemple en partant du principe qu'on est à 2A lorsque j'allume mes ampoules... J'obtiens donc 325W...

Mouai bof... il faut que je vérifie ce que c'est les ampoules (c'est dans ma cave) mais ça m'étonnerai beaucoup que j'atteigne 300W > il doit y en avoir 3 ça doit plus faire 3X60W ou 3X75W.....

Je ne vois pas bien ce que vient faire ici la transformation de Fourier, la représentation vectorielle de Fresnel par contre oui.

Ce qu'il faut savoir c'est que tu ne payes à EDF que la partie réelle de la puissance.

Par contre pour le dimensionnement des conducteurs c'est le courant apparent et donc la puissance apparente qu'il faut prendre en compte.

D'où les coups de gueule d'ERDF si le cos(phi) est trop faible.

Désolé 68tjs mais je ne suis pas du tout expert dans tout ça donc peux-tu être un peu plus clair? Le cod(phi) aurait tendance à être variable sur le réseau EDF? Je pensais qu'il équivalait à la racine carrée de 2 systématiquement?

Pourrais tu m'aider à corriger mon erreur de calcul? : ((230 * 2) / 2) * RacineC 2... J'ai pris 230 mais avec 220 j'ai approximativement la même chose..

Le cos (phi) dépend de se que tu branches sur le réseau.
Par exemple les gros moteurs industriels introduisent une forte composante "réactive" qui détériore le cos (phi) .
Pour savoir exactement où tu en es il faudrait étre capable de mesurer le déphasage entre la tension et le courant. Je ne pense pas que ce soit aisément réalisable.
Dans ton appli domestique il me semble que l'on peut assimiler cos (phi) à 1.
Tu peut toujours faire une comparaison avec l'indication que te donne le compteur ERDF.

Quant aux racines de 2 elles proviennent de la définition de la valeur efficace d'un signal sinusoïdal.

Un signal sinusoïdal à une amplitude max : v= VM sinus (2PIF*t)
On a défini une notion de valeur efficace : c'est la valeur qu'aurait un signal continu qui fournirait la même puissance.
Tu cherches le calcul et tu verra apparaître les racines de 2.
VM = racine (2) * Veff.

NB : La tension 230V distribuée par EDF est une valeur efficace.

Comme Batto l'a précisé, ça ne fonctionne que pour du résistif ( tes lampes )

Si tu fais un tour ici, tu devrais tout comprendre : http://blog.electrodragon.com/acs712-current-sensor-read/
(premier lien google :stuck_out_tongue: )

Le -2500 est donc simple, c'est la référence à 0A.

Si tu veux calculer ta puissance tu auras donc :
P = Veff * I = V_peak_to_peak/sqrt(2) * I

Après, si tu veux essayer pour des charges ayant une certaines impédances, oui il faut déduire le cos(phi).

  • Le moyen le plus simple c'est avec un capteur de puissance ( mais d'après ce que je comprends c'est ce que tu veux faire ... )

  • Avec un oscilloscope si tu en possède un ?

  • Après tu peux le faire avec des tests sur ton réseau mais je pense pas que tu sois en mesure de savoir les réalisé :wink:

Merci beaucoup à vous!
Désolé pour Google (je suis du métier pourtant) et non je n'avais rien trouvé d'explicite sinon je n'aurai naturellement pas posté.

Je vais essayer de récupérer un oscilloscope et je ferais quelques tests le plus rapidement possible. Je reviendrai poster mes observations pour ceux que ça intéressera :slight_smile:

Merci!