Dans cet article, nous mesurons la masse d'un objet au moyen d'une balance branchée à un module HX711 et à un Arduino Uno.
Matériel
Je me suis procuré un kit constitué d'une cellule de charge, d'un module HX711 (convertisseur analogique/numérique à 24 bits spécialement conçu pour traiter le signal d'une cellule de charge), de deux plaques circulaires en acrylique et de la quincaillerie nécessaire pour assembler le tout.
Si vous préférez, il est facile d'acheter uniquement la cellule de charge et le module HX711.
Principe de fonctionnement
La cellule de charge (load cell), ou capteur de force, est un morceau de métal sur lequel on a collé quatre jauges de contrainte (ou jauges de déformations): il s'agit de résistances qui varient lorsque la cellule de charge se déforme. Ces quatre jauges sont branchées de façon à former un pont de Wheatstone. Le module HX711 amplifie la très faible variation de signal engendrée par la très subtile déformation de la cellule de charge, et la convertit en un signal numérique qui pourra ensuite être traité par un microcontrôleur.
Assemblage
Chacun des disques en acrylique est fixé à un côté de la cellule de charge, de façon à former un profil qui ressemble un peu à un "S":
Sur la cellule de charge, une flèche indique le sens de la déflexion: cette flèche pointera vers le bas pendant l'utilisation de la balance.
Une fois l'assemblage terminé, un des disques en acrylique forme la base de la balance, alors que l'autre constitue son plateau.
Connexion de la cellule de charge au module HX711
Le module HX711 comporte 6 connecteurs servant à brancher la cellule de charge (E+, E-, A-, A+, B-, B+), et quatre connecteurs servant à l'alimentation et à la communication avec un microcontrôleur (GND, DT, SCK, VCC).
La cellule de charge est branchée au module HX711 de la façon suivante:
- Fil rouge: E+
- Fil noir: E-
- Fil blanc: A-
- Fil vert: A+
E+ et E- sont des sorties (signal d'excitation du pont de Wheatstone), alors que A+ et A- sont des entrées.
Connexion du module HX711 à l'Arduino
Le module HX711 est branché à l'Arduino Uno de cette façon:
- GND du HX711: GND de l'Arduino
- DT du HX711: broche 2 de l'Arduino (données numériques)
- SCK du HX711: broche 3 de l'Arduino (signal d'horloge)
- VCC du HX711: sortie 5 V de l'Arduino
Installation de la bibliothèque HX711
Le gestionnaire de bibliothèques présente plusieurs bibliothèques spécialement conçues pour faciliter l'utilisation du HX711. J'ai choisi celle qui a été mise au point par Bogdgan Necula, qui est également compatible avec l'ESP8266, l'ESP32 et le STM32.
-
-
Pour calibrer la balance, il faut modifier la ligne 34 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 34):balance.set_scale(382);
Voici les résultats obtenus après calibration, lorsque le plateau est vide, puis lorsque j'y place 200 grammes, 400 grammes et 600 grammes:
Bonjour,
RépondreSupprimerDans le cadre d'un projet universitaire, je dois concevoir une balance pour suivre la masse d'une ruche. Je dispose pour l'instant d'une Carte Arduino MKR 1200 Fox. Est-ce que ce programme est le même que pour un capteur allant jusqu'à 80kg ?
Merci d'avance.
Bonjour,
RépondreSupprimerJe suis sur un projet similaire, avec un envoie de la Masse de façon journalière via Lora (pour au final passer par TTN). J'ai trouvé des jauges de 50kg.En en mettant 4 cela fait 200kg largement suffisant pour une ruche voir 2. Mon but final est une batterie et un petit panneau solaire. Bonne chance
MERCI
RépondreSupprimermerci mon ami
RépondreSupprimerPour le branchement de la cellule de charge sur le module, le texte ne semble pas correspondre à l'image. Le fil rouge est il branché sur E+ ?
RépondreSupprimerMerci de préciser les bons branchements.