samedi 14 novembre 2020

Balance connectée à base d'ESP32/ESP8266

Dans ce troisième projet impliquant une balance constituée d'une cellule de charge et d'un module HX711, j'ai fabriqué une balance connectée qui affiche la masse mesurée dans une page web. Le microcontrôleur, programmé au moyen de l'IDE Arduino peut être un ESP32 ou un ESP8266. La même balance a précédemment été utilisée avec un Arduino Uno ainsi qu'avec un Raspberry Pi.


Assemblage de la balance

La cellule de charge se trouve entre deux plateaux qui sont vissés à deux côtés opposés de la cellule: le profil de l'assemblage rappelle la lettre "S".  



Il faut aussi tenir compte de la flèche qui indique le sens de la déflexion: elle doit pointer vers le bas quand vous utilisez la balance.



Connexion de la cellule de charge au module HX711


D'un côté du module HX711, on trouve les connecteurs E+, E-, A- et A+ qui servent au branchement de la cellule de charge (nous n'utilisons pas B- et B+).

Le fil rouge se branche à E+, le fil noir à E-, le fil blanc à A- et le fil vert à A+. (Ces deux derniers fils peuvent être inversés sur certaines cellules de charge).



Connexions du module HX711 à l'ESP32 ou à l'ESP8266

De l'autre côté du module HX711, on retrouve les connecteurs qui permettent de brancher le module à un microcontrleur.:
  • GND du HX711: GND de l'ESP32 ou de l'ESP8266
  • DT du HX711: broche GPIO5 de l'ESP32 ou de l'ESP8266 (données numériques)
  • SCK du HX711: broche GPIO4 de l'ESP32 ou de l'ESP8266 (signal d'horloge)
  • VCC du HX711: sortie 3,3 V de l'ESP32 ou de l'ESP8266
Puisque les broches DT et SCK sont définies à l'intérieur de notre programme, vous pouvez les brancher différemment si vous désirez.




Installation de la bibliothèque HX711

Il existe plusieurs bibliothèques conçues pour l'utilisation du HX711; j'ai choisi la bibliothèque HX711 de Bogdan Necula.


Exemple de sketch

Voici un sketch qui affiche la masse mesurée dans une page web.


Au démarrage, le moniteur série affiche, entre autres informations, l'adresse de la page web (ici, c'est 192.168.0.116):

Il s'agit d'accéder à cette adresse au moyen d'un navigateur web:

Calibration de la balance

Pour calibrer la balance, il faut modifier la ligne 87 pour que set_scale soit utilisé sans paramètres:

balance.set_scale();

On exécute le sketch pendant que le plateau de la balance est vide et, une fois la balance en fonction, on place sur le plateau une masse dont on connaît la valeur.

Dans mon cas, la valeur 76486 s'affichait lorsqu'une masse de 200 g était placée sur le plateau. 

76486 divisé par 200 donne 382, et j'ai donc ajouté le paramètre "382" à la méthode set_scale (ligne 87):

balance.set_scale(382);

À lire également

La même balance a été utilisée avec un Arduino Uno ainsi qu'avec un Raspberry Pi. Je vous invite également à jeter un oeil sur mes autres projets impliquant l'ESP32 et l'ESP8266.

Yves Pelletier (TwitterFacebook

3 commentaires:

  1. Bonjour! ça serait bien pour peser les bouteilles de gaz, histoire de connaître la masse de gaz restante pour ne pas tomber en panne.

    RépondreSupprimer
  2. Bonjour Je n 'arrive pas à me connecter. Le moniteur série répond que par des points. J'ai deja essayé d'autre petit programme comme faire clignoter une laide qui fonctionne mais jamais d'acces sur le moniteur serie ? mon ESP viens de chine y a t'il une manip à réaliser pour le débloquer; merci d'avance

    RépondreSupprimer