Ceci est une ancienne révision du document !
Table des matières
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
- 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
- Que mesure réellement une jauge de contraintes ?
- Pourquoi la variation électrique est-elle très faible ?
- Quel est le rôle du module HX711 ?
- Pourquoi ne peut-on pas brancher directement la jauge sur une entrée analogique Arduino ?
Réponse attendue
La cellule de charge se déforme très légèrement sous l’effet d’une force. La jauge transforme cette déformation en variation de résistance. Le HX711 amplifie et convertit ce très faible signal en valeur numérique exploitable.
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
- La valeur est-elle parfaitement stable ?
- Que se passe-t-il lorsqu’on appuie légèrement sur la cellule ?
- La valeur augmente-t-elle ou diminue-t-elle ?
- 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
- Pourquoi faut-il faire une tare ?
- Que représente la valeur obtenue après tare ?
- Pourquoi ne faut-il rien poser sur la balance pendant la tare ?
PARTIE C — Étalonnage avec une masse connue
Objectif
Transformer une valeur numérique en masse exprimée en grammes.
C1 — Masse connue
Travail demandé
- Faire la tare à vide.
- Poser une masse connue.
- Relever la valeur corrigée.
- 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
- La relation entre masse et valeur corrigée semble-t-elle linéaire ?
- La sensibilité est-elle constante ?
- Que peut-on faire pour améliorer la précision ?
- 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
- Les valeurs sont-elles identiques ?
- Quelle est la valeur moyenne ?
- Quel est l’écart maximal observé ?
- 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
- Pourquoi faut-il éviter de rafraîchir l’écran trop rapidement ?
- Pourquoi peut-on moyenner plusieurs mesures ?
- Quel compromis existe-t-il entre rapidité et stabilité ?
D3 — Balance complète
Fonctionnement attendu
- Initialisation du HX711
- Initialisation OLED
- Tare à vide
- Lecture de la valeur brute
- Correction par la tare
- Conversion en grammes
- Affichage sur OLED
Algorithme
- Initialiser le HX711
- Initialiser l’écran OLED
- Attendre que la balance soit vide
- Faire la tare
- Lire plusieurs mesures
- Calculer la moyenne
- Convertir en masse
- Afficher la masse
- 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 newtons : P = m × g.
- Afficher le poids en livres
- 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.
