====== 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 ==== - 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 ? ===== 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 ? ---- 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é ==== - 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 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.