samedi 17 octobre 2020

Balance à base de Raspberry Pi


Je vous ai récemment présenté ma balance constituée d'une cellule de charge et d'un module HX711. Après l'avoir testée avec succès avec une carte Arduino Uno, je me suis amusé, cette fois, à la brancher à un Raspberry Pi.

Assemblage de la balance

La cellule de charge est vissée à deux plaques de façon à former un profil qui rappelle la lettre "S".  Au besoin, vous trouverez quelques photos supplémentaires dans mon article précédent.


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 le Raspberry Pi (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+


Connexion du module HX711 au Raspberry Pi

J'ai branché le module HX711 au Raspberry Pi de cette façon:

  • GND du HX711: GND du Raspberry Pi
  • DT du HX711: broche GPIO 5 du Raspberry Pi
  • SCK du HX711: broche GPIO 6 du Raspberry Pi
  • VCC du HX711: sortie 3,3 V du Raspberry Pi

Installation de la bibliothèque de tatobari

Pour faciliter la programmation en Pyhton, j'ai téléchargé cette bibliothèque sur le github de Tatobari.

Un script minimaliste

Basé sur le script example.py, fourni avec la bibliothèque, le script ci-dessous accomplit le strict minimum, soit afficher la masse à chaque demi-seconde.


Pour calibrer ma balance, j'ai d'abord utilisé "1" comme paramètre à hx.set_reference_unit() (ligne 23 du script), puis j'ai placé une masse connue sur le plateau de la balance. J'ai ensuite divisé la mesure affichée par la masse, ce qui m'a donné 382,6, qui est devenu le nouveau paramètre de hx.set_reference_unit().

Par exemple: 
  • J'exécute le script avec hx.set_reference_unit(1).
  • Lorsque la balance est prête, je place une masse de 200 grammes sur le plateau.
  • Le programme affiche 76520.
  • Je calcule 76520/200, ce qui donne 382,6.
  • J'exécute à nouveau le script, mais avec hx.set_reference_unit(382.6).
  • La masse s'affiche correctement en grammes.
-

-

Une interface grahique avec Tkinter

Pour faire plus joli, j'ai aussi programmé cette deuxième version.



-

-

À lire également:


Yves Pelletier (TwitterFacebook

2 commentaires:

  1. Bonjour, je débute, j'i acheter un rapberry pi 3 et je voudrais faire une balance avec 2 ou 4 détecteur indépendants, est ce possible?
    Merci
    Fernando

    RépondreSupprimer
  2. Bonjour j'ai le même problème avec 4 capteurs indépendants
    mes compétences en électronique sont vraiment limitées donc si quelqu'un pouvais me donner un coup main ce serait bien venu

    RépondreSupprimer