Outils pour utilisateurs

Outils du site


4d_balance

TP : Mesure d’une masse avec jauge de contraintes, HX711 et écran OLED

Problématique

Comment concevoir une balance électronique capable de :

  • mesurer une masse ;
  • afficher la valeur sur un écran OLED ;
  • être étalonnée avec une masse connue ;
  • évaluer sa sensibilité et sa précision.

Organisation du TP

Le TP est composé de 4 parties progressives :

  • A — Découvrir : jauge de contraintes et HX711
  • B — Mesurer : valeurs brutes et tare
  • C — Étalonner : masse connue et coefficient de conversion
  • D — Intégrer : balance complète avec affichage OLED

Matériel

  • Arduino Uno / Uno R4
  • Module HX711 (librairie HX711 à installer - voir exemples)
  • Jauge de contrainte / cellule de charge
  • Écran OLED SSD1306 I2C 128×64
  • Breadboard + fils
  • Masse connue : 100 g, 200 g, 500 g ou 1 kg
  • Support mécanique pour la cellule de charge

PARTIE A — Découverte du capteur

Objectif

Comprendre le rôle de la jauge de contraintes et du module HX711.

A1 — Observation

Questions

  1. Que mesure réellement une jauge de contraintes ?
  2. Pourquoi la variation électrique est-elle très faible ?
  3. Quel est le rôle du module HX711 ?
  4. Pourquoi ne peut-on pas brancher directement la jauge sur une entrée analogique Arduino ?

A2 — Câblage

Travail demandé

Réaliser le câblage :

HX711 Arduino
VCC 5 V
GND GND
DT / DOUT D3
SCK D2

Pour l’écran OLED :

OLED SSD1306 Arduino
VCC 5 V
GND GND
SDA A4
SCL A5

Question

Pourquoi l’écran OLED utilise-t-il seulement deux fils de communication ?


PARTIE B — Lecture des valeurs brutes

Objectif

Lire les valeurs fournies par le HX711 sans chercher encore à afficher une masse.

B1 — Valeur brute

Travail demandé

Afficher dans le moniteur série la valeur brute fournie par le HX711.

Questions

  1. La valeur est-elle parfaitement stable ?
  2. Que se passe-t-il lorsqu’on appuie légèrement sur la cellule ?
  3. La valeur augmente-t-elle ou diminue-t-elle ?
  4. Pourquoi le signe peut-il dépendre du sens de montage ?

Notion importante

À ce stade, l’Arduino ne mesure pas encore une masse. Il mesure une valeur numérique proportionnelle à la déformation.


B2 — Tare

Travail demandé

Créer une fonction de tare :

  • mesurer la valeur à vide ;
  • la mémoriser ;
  • soustraire cette valeur aux mesures suivantes.

Formule

valeur_corrigee = valeur_brute - valeur_tare

Questions

  1. Pourquoi faut-il faire une tare ?
  2. Que représente la valeur obtenue après tare ?
  3. Pourquoi ne faut-il rien poser sur la balance pendant la tare ?

Prévoir une tare sur l'appui d'un bouton pouissoir.

PARTIE C — Étalonnage avec une masse connue

Objectif

Transformer une valeur numérique en masse exprimée en grammes.

C1 — Masse connue

Travail demandé

  1. Faire la tare à vide.
  2. Poser une masse connue.
  3. Relever la valeur corrigée.
  4. Calculer le coefficient d’étalonnage.

Formule

coefficient = valeur_corrigee / masse_connue

Donc :

masse = valeur_corrigee / coefficient

Cette logique correspond au principe classique d’étalonnage du HX711 : on fait une tare, on place une masse connue, puis on détermine le facteur de calibration à partir de la lecture obtenue. :contentReference[oaicite:1]{index=1}

Exemple

Si une masse de 200 g donne une valeur corrigée de 84500 :

coefficient = 84500 / 200 = 422,5 points par gramme

Donc si la valeur corrigée vaut ensuite 126750 :

masse = 126750 / 422,5 = 300 g

C2 — Sensibilité

Définition

La sensibilité indique la variation de la mesure pour une variation de masse.

sensibilité = variation de valeur brute / variation de masse

Travail demandé

Faire plusieurs mesures :

Masse connue Valeur brute Valeur corrigée
0 g
100 g
200 g
300 g
500 g

Questions

  1. La relation entre masse et valeur corrigée semble-t-elle linéaire ?
  2. La sensibilité est-elle constante ?
  3. Que peut-on faire pour améliorer la précision ?
  4. Pourquoi est-il préférable d’utiliser plusieurs masses connues ?

C3 — Incertitude et répétabilité

Travail demandé

Pour une même masse, faire 5 mesures successives.

Essai Masse affichée
1
2
3
4
5

Questions

  1. Les valeurs sont-elles identiques ?
  2. Quelle est la valeur moyenne ?
  3. Quel est l’écart maximal observé ?
  4. La mesure est-elle suffisamment stable pour l’application visée ?

PARTIE D — Affichage OLED

Objectif

Afficher la masse mesurée sur un écran OLED SSD1306.

D1 — Message simple

Travail demandé

Afficher :

Balance prete

D2 — Affichage de la masse

Travail demandé

Afficher sur l’écran :

Masse :
xxx g

Questions

  1. Pourquoi faut-il éviter de rafraîchir l’écran trop rapidement ?
  2. Pourquoi peut-on moyenner plusieurs mesures ?
  3. Quel compromis existe-t-il entre rapidité et stabilité ?

D3 — Balance complète

Fonctionnement attendu

  1. Initialisation du HX711
  2. Initialisation OLED
  3. Tare à vide
  4. Lecture de la valeur brute
  5. Correction par la tare
  6. Conversion en grammes
  7. Affichage sur OLED

Algorithme

  1. Initialiser le HX711
  2. Initialiser l’écran OLED
  3. Attendre que la balance soit vide
  4. Faire la tare
  5. Lire plusieurs mesures
  6. Calculer la moyenne
  7. Convertir en masse
  8. Afficher la masse
  9. Recommencer

Critères de réussite

  • Le HX711 fournit une valeur brute exploitable.
  • La tare ramène la mesure proche de zéro.
  • Une masse connue permet de calculer un coefficient d’étalonnage.
  • La masse affichée est cohérente.
  • L’écran OLED affiche clairement la mesure.
  • L’élève sait expliquer la différence entre valeur brute, tare, coefficient et masse.

Pour aller plus loin

  • Ajouter un bouton de tare.
  • Afficher “Surcharge” si la masse dépasse une limite.
  • Afficher la masse en livres
  • Afficher le poids en newtons : P = m × g.
  • Transmettre la donnée par Bluetooth vers le téléphone (installer Serial BluEtooth Terminal pour contrôler)
  • Faire une appli AppInvntor
  • Tracer la courbe valeur corrigée = f(masse).
  • Comparer étalonnage à un point et étalonnage multipoints.
  • Réaliser une régression linéaire dans un tableur.
  • Étudier la dérive de la mesure dans le temps.
4d_balance.txt · Dernière modification : de mistert2