Envie de participer ?
Bandeau

Ce tutoriel vous guidera à travers les étapes nécessaires pour calibrer une jauge de contrainte avec une carte Arduino, en utilisant un amplificateur HX711. Vous apprendrez à câbler correctement les composants, à installer les bibliothèques nécessaires et à écrire le code pour obtenir des mesures précises.

Introduction aux Jauges de Contrainte et à l'Amplificateur HX711

Une jauge de contrainte est un capteur électrique qui mesure la force ou la contrainte exercée sur un objet. La résistance de la jauge varie lorsqu'une force externe est appliquée, entraînant une déformation de l'objet. Les jauges de contrainte sont souvent utilisées dans les cellules de charge, qui convertissent une force en un signal électrique mesurable.

Étant donné que les changements de contrainte lors de la pesée d'objets sont faibles, un amplificateur est nécessaire. L'amplificateur HX711 est une carte de dérivation qui facilite la lecture des cellules de charge pour mesurer le poids. Il communique avec le microcontrôleur via une interface à deux fils.

Matériel Requis

  • Carte Arduino (par exemple, Arduino Nano)
  • Cellule de charge à jauge de contrainte
  • Amplificateur HX711
  • Fils de connexion
  • Résistances (par exemple, 10 kOhm)
  • Bouton-poussoir (optionnel)
  • Écran OLED (optionnel)

Câblage de la Cellule de Charge et de l'Amplificateur HX711 à l'Arduino

La première étape consiste à câbler la cellule de charge à l'amplificateur HX711. Connectez les fils de la cellule de charge aux broches E+, E-, A- et A+ de l'amplificateur. Ensuite, connectez l'amplificateur à la carte Arduino en utilisant les broches suivantes :

  • GND (HX711) à GND (Arduino)
  • DT (HX711) à une broche numérique (Arduino) (ex: Broche 3)
  • SCK (HX711) à une broche numérique (Arduino) (ex: Broche 2)
  • VCC (HX711) à 5V (Arduino)

Si vous utilisez un bouton-poussoir, connectez-le via une résistance pull-down de 10 kOhm à une broche numérique de l'Arduino. L'autre fil du bouton-poussoir doit être connecté à 5V.

Lire aussi: Pourquoi la calibration est essentielle

Installation des Bibliothèques Nécessaires

Pour faciliter la lecture des données de la cellule de charge, vous devez installer la bibliothèque HX711 par bodge. Vous pouvez l'installer via le gestionnaire de bibliothèques Arduino :

  1. Ouvrez l'IDE Arduino.
  2. Allez dans Croquis > Inclure une bibliothèque > Gérer les bibliothèques...
  3. Recherchez "HX711" et installez la bibliothèque par bodge.

Si vous utilisez un écran OLED, installez également les bibliothèques Adafruit SSD1306 et Adafruit GFX.

Calibration de la Cellule de Charge

Avant d'utiliser la cellule de charge pour peser des objets, vous devez la calibrer pour obtenir un facteur d'étalonnage précis. Suivez ces étapes :

  1. Préparez un objet avec un poids connu.
  2. Téléchargez le code d'étalonnage suivant sur votre carte Arduino :
#include "HX711.h"#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = 1.0; // Ce facteur devra être calibrévoid setup() { Serial.begin(115200); Serial.println("HX711 calibration sketch"); Serial.println("Remove all weight from scale"); Serial.println("After readings begin, place known weight on scale"); Serial.println("Press + or a to increase calibration factor"); Serial.println("Press - or z to decrease calibration factor"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(); scale.tare(); // Reset the scale to 0 long zero_factor = scale.read_average(); // Obtenir une lecture de base Serial.print("Zero factor: "); Serial.println(zero_factor);}void loop() { scale.set_scale(calibration_factor); // Ajuster le facteur d'étalonnage Serial.print("Reading: "); Serial.print(scale.get_units(), 1); Serial.print(" g"); Serial.print(" calibration_factor: "); Serial.println(calibration_factor); if(Serial.available()) { char key = Serial.read(); if (key == '+' || key == 'a') { calibration_factor += 1; } if (key == '-' || key == 'z') { calibration_factor -= 1; } }}
  1. Ouvrez le moniteur série à un débit en bauds de 115200.
  2. Suivez les instructions sur le moniteur série : retirez tous les poids de la balance et attendez que la tare soit effectuée.
  3. Placez l'objet de poids connu sur la balance.
  4. Ajustez le facteur d'étalonnage en utilisant les touches + ou - (ou a et z) jusqu'à ce que la lecture corresponde au poids connu.
  5. Notez le facteur d'étalonnage final.

Utilisation de la Cellule de Charge pour Mesurer le Poids

Maintenant que vous avez calibré la cellule de charge, vous pouvez l'utiliser pour peser des objets. Téléchargez le code suivant sur votre carte Arduino, en remplaçant YOUR_CALIBRATION_FACTOR par le facteur d'étalonnage que vous avez obtenu lors de la calibration :

#include "HX711.h"#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = YOUR_CALIBRATION_FACTOR;void setup() { Serial.begin(115200); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); scale.tare(); // Reset the scale to 0}void loop() { scale.set_scale(calibration_factor); Serial.print("Reading: "); Serial.print(scale.get_units(), 1); Serial.println(" g"); scale.power_down(); // Mettre l'ADC en veille delay(5000); scale.power_up();}

Ouvrez le moniteur série pour voir les lectures de poids en grammes.

Lire aussi: Sonde de calibration : location

Création d'une Balance Numérique avec Écran OLED (Optionnel)

Pour une interface utilisateur plus conviviale, vous pouvez connecter un écran OLED à votre Arduino et afficher les lectures de poids. Voici un exemple de code :

#include #include #include #include #include #include "HX711.h"#define SCREEN_WIDTH 128#define SCREEN_HEIGHT 64#define OLED_RESET -1Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);#define BUTTON_PIN 4Button button(BUTTON_PIN, PULLUP);#define LOADCELL_DOUT_PIN 3#define LOADCELL_SCK_PIN 2HX711 scale;float calibration_factor = YOUR_CALIBRATION_FACTOR;int currentWeight = 0;int lastWeight = 0;void setup() { Serial.begin(115200); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Weight (g)"); display.display(); button.begin(); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); scale.tare(); // Reset the scale to 0}void loop() { scale.set_scale(calibration_factor); currentWeight = scale.get_units(); if (currentWeight != lastWeight) { display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0,0); display.println("Weight (g)"); display.setTextSize(3); display.setCursor(0,20); display.print(currentWeight); display.display(); lastWeight = currentWeight; } if (button.wasPressed()) { scale.tare(); }}

Ce code affiche le poids sur l'écran OLED et permet de tarer la balance en appuyant sur le bouton-poussoir.

Applications Possibles

En plus de mesurer le poids d'objets, une jauge de contrainte calibrée avec Arduino peut être utilisée dans de nombreuses applications, telles que :

  • Détection de la présence d'un objet
  • Estimation du niveau de liquide dans un réservoir
  • Calcul du taux d'évaporation de l'eau
  • Vérification de la présence de nourriture dans la gamelle d'un animal
  • Création d'une balance IoT avec serveur Web ou base de données Firebase

Tableau Récapitulatif des Connexions

Composant Broche Arduino
HX711 GND GND
HX711 DT Broche numérique (ex: 3)
HX711 SCK Broche numérique (ex: 2)
HX711 VCC 5V
Bouton-poussoir Fil 1 Broche numérique (ex: 4) via résistance pull-down
Bouton-poussoir Fil 2 5V

Ce tutoriel vous a fourni les bases nécessaires pour calibrer et utiliser une jauge de contrainte avec Arduino. N'hésitez pas à expérimenter et à adapter ces informations à vos propres projets.

Lire aussi: Guide Complet sur l'Analyseur d'Humidité

tags: #calibration #jauge #de #contrainte #arduino #tutoriel

Post popolari: