Bonjour à tous,
Nouveau sur le forum, en domotique et électronique, informaticien de base. Je ne suis pas sur d'être au bonne endroit dans le forum.
Mon projet est simple, je veux remonter la valeur de consommation d'une pompe sur domoticz. je suis parti sur cette assemblage, à voir ci-dessous.
Mon problème est que je n'arrive pas à le déclarer dans EspEasy:
je l'ai mis en "Analog input - internal " et GPIO35
Mais il me retourne toujours les mêmes valeurs, environ 1200.
j'ai mis les deux résistances 1K pour limité la tension car l'ACS712 peut monter jusqu'a 5v et que ESP32 ne tolère que 3.3v .
Si quelqu'un peu me donner des pistes, j'ai cherché sur le forum, sans rien trouver.
Merci d'avance.
Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
- Pièces jointes
-
- plan cablage ACS712 ESP 32_bb.jpg (707.5 Kio) Consulté 6445 fois
-
Antori91
Re: Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Schéma du montage que j'utilise entre un ACS712 et un ESP8266. Le fil vert data arrive sur l'entrée ADC (convertisseur analogique digital) de l'ESP8266 qui fonctionne entre 0 et 1V (pas 3.3V !):
https://github.com/Antori91/Home_Automa ... P8266).JPG
Mais effectivement, pour l'ESP32 ESP32 ADC, c'est à priori 3.3V
Analog Inputs (ADC)
Reading an analog value with the ESP32 means you can measure varying voltage levels between 0 V and 3.3 V. The voltage measured is then assigned to a value between 0 and 4095, in which 0 V corresponds to 0, and 3.3 V corresponds to 4095.
https://github.com/Antori91/Home_Automa ... P8266).JPG
Mais effectivement, pour l'ESP32 ESP32 ADC, c'est à priori 3.3V
Analog Inputs (ADC)
Reading an analog value with the ESP32 means you can measure varying voltage levels between 0 V and 3.3 V. The voltage measured is then assigned to a value between 0 and 4095, in which 0 V corresponds to 0, and 3.3 V corresponds to 4095.
-
Antori91
Re: Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Je n'utilise pas l'ESP32. Mais sur la base du site ci-dessous en copie d'écran, j'ai l'impression que la numérotation des GPIO n'est pas celle que vous utilisez. Il y aurait un décalage d'une pin.
Re: Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Merci Antori91,
ESP32 va bien de 0 à 3.3v, et je suis bien sur le bon GPIO car quand je déconnecte l'ACS712 la valeur repasse à 0.
Ce que je ne comprend pas c'est comment utiliser la valeur donnée et pourquoi elle ne change pas quand je connecte une phase sur l'ACS712.
Pour le test j'ai pris une lampe, connecté la phase sur ACS712, allumé ou éteint je n'ai pas de changement de valeur.
Oribu
ESP32 va bien de 0 à 3.3v, et je suis bien sur le bon GPIO car quand je déconnecte l'ACS712 la valeur repasse à 0.
Ce que je ne comprend pas c'est comment utiliser la valeur donnée et pourquoi elle ne change pas quand je connecte une phase sur l'ACS712.
Pour le test j'ai pris une lampe, connecté la phase sur ACS712, allumé ou éteint je n'ai pas de changement de valeur.
Oribu
-
Antori91
Re: Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Commencez par tester avec une source de tension continue (sans ACS712) et en faisant varier les valeurs du pont diviseur pour vérifier que cela fonctionne . Car mesurer une intensité avec une source de tension alternative, c'est beaucoup plus compliquée, car tension et intensité mesurée variant en permanence, la tension retournée par Data de l'ACS712 varie en permanence en conséquence AUTOUR DU POINT ZERO, soit 2.5 VOLT, ceci au rythme de 50 hz. Un algorithme d’échantillonnage et d'analyse de la tension retournée par data de l'ACS712 est nécessaire pour calculer l'intensité efficace. Divers algorithmes existent dont min/max (pas très fiable de mon expérience) ou RMS (fiable celui là mais plus compliqué, fait référence au calcul intégral). Cf. https://learn.openenergymonitor.org/ele ... troduction
Littérature aussi ici autour de la mesure d'intensité alternative avec un algorithme min/max (je mets ce lien car la problématique est plus facile à comprendre avec l'algorithme min/max même s'il n'est pas fiable de mon expérience) : https://www.electrodragon.com/w/ACS712
Si vous comprenez le code Arduino, le code suivant implémente l’algorithme RMS:
https://github.com/Antori91/Home_Automa ... ACS712.ino
[EDIT] En complément, suit le calcul de la valeur digitale que vous devez lire pour une intensité continue ou alternative nulle:
((2.5/2)/3.3)*4095=1551
1551 est aussi la valeur médiane digitale autour de laquelle les valeurs lues varieront pour une intensité alternative non nulle.
Explication:
2.5V est valeur data de l'ACS712 pour une intensité nulle,
/2 car votre pont diviseur est de 2,
3.3V et 4095 sont les valeurs max de l'ADC de l'ESP32
Littérature aussi ici autour de la mesure d'intensité alternative avec un algorithme min/max (je mets ce lien car la problématique est plus facile à comprendre avec l'algorithme min/max même s'il n'est pas fiable de mon expérience) : https://www.electrodragon.com/w/ACS712
Si vous comprenez le code Arduino, le code suivant implémente l’algorithme RMS:
https://github.com/Antori91/Home_Automa ... ACS712.ino
[EDIT] En complément, suit le calcul de la valeur digitale que vous devez lire pour une intensité continue ou alternative nulle:
((2.5/2)/3.3)*4095=1551
1551 est aussi la valeur médiane digitale autour de laquelle les valeurs lues varieront pour une intensité alternative non nulle.
Explication:
2.5V est valeur data de l'ACS712 pour une intensité nulle,
/2 car votre pont diviseur est de 2,
3.3V et 4095 sont les valeurs max de l'ADC de l'ESP32
Re: Capteur courant ACS712 + ESP-WROOM-32 avec esp easy mega pour ESP 32
Merci pour toute ces infos, je vais regarder tout ça, et je reviens vers vous si je bloque toujours 