Table des matières:

Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : 5 étapes (avec photos)
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : 5 étapes (avec photos)

Vidéo: Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : 5 étapes (avec photos)

Vidéo: Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711 : 5 étapes (avec photos)
Vidéo: Весы Arduino с датчиками веса HX711 и весами для ванной комнаты на 50 кг | Пошаговое руководство. 2024, Juillet
Anonim
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711
Balance de salle de bain Arduino avec cellules de charge de 50 kg et amplificateur HX711

Ce Instructable décrit comment faire une balance à l'aide de pièces facilement disponibles sur étagère.

Les matériaux nécessaires:

  1. Arduino - (cette conception utilise un Arduino Uno standard, d'autres versions ou clones d'Arduino devraient également fonctionner)
  2. HX711 sur carte de dérivation - Cette micropuce est spécialement conçue pour amplifier les signaux des cellules de charge et les rapporter à un autre microcontrôleur. Les cellules de charge se branchent sur cette carte, et cette carte indique à l'Arduino ce que les cellules de charge mesurent.
  3. Cellules de charge de 50 kg (x4) - Les cellules de charge sont des pièces métalliques de forme spéciale sur lesquelles des jauges de contrainte sont collées. Les jauges de contrainte sont des résistances qui changent de résistance lorsqu'elles sont pliées. Lorsque la pièce métallique se plie, la résistance de la cellule de charge change (le HX711 mesure avec précision ce petit changement de résistance). Vous pouvez acheter les cellules de charge et le HX711 en kit ici: https://www.amazon.com/Degraw-amplifier-weight-Arduino-Bathroom/dp/B075Y5R7T7/ Si vous achetez le kit, veuillez laisser un avis ! C'est vraiment utile pour les futurs acheteurs.
  4. Surface de montage plate et robuste - un morceau de bois dur ou de métal rigide est idéal
  5. Fils de différentes couleurs pour connecter toutes les pièces
  6. Alimentation pour Arduino

Étape 1: Montez les cellules de charge

Monter les cellules de charge
Monter les cellules de charge
Monter les cellules de charge
Monter les cellules de charge

Montez les 4 capteurs de pesage au bas de la balance dans les quatre coins. L'époxy fonctionne bien pour les maintenir en place. Voir le schéma de montage, il montre quelle surface doit être montée sur la base et quelle surface doit toucher le sol.

Étape 2: Vérifiez le câblage de la cellule de charge

Vérifiez le câblage de la cellule de charge
Vérifiez le câblage de la cellule de charge

Le schéma de câblage est fait en supposant que la cellule de charge est construite comme cette image.

Pour vous assurer de bien faire les choses, assurez-vous de déterminer quelles sont les deux bornes des cellules de charge qui ont la résistance la plus élevée entre elles (par exemple, noir et blanc, pour correspondre au schéma), câblez-les dans une grande boucle de correspondance des couleurs, comme BB WW BB WW puis exciter (E+/E-) deux prises centrales opposées (R) et détecter (A+/A-) sur l'autre paire de prises centrales.

Cette page sur Sackexchange contient des informations encore meilleures:

Étape 3: câbler les cellules de charge et le HX711

Câblez les cellules de charge et le HX711
Câblez les cellules de charge et le HX711
Câblez les cellules de charge et le HX711
Câblez les cellules de charge et le HX711
Câblez les cellules de charge et le HX711
Câblez les cellules de charge et le HX711

Voir le schéma de câblage pour savoir comment connecter les cellules de charge, HX711 et Arduino.

Certains des fils de la cellule de charge sont connectés ensemble pour former ce qu'on appelle un arrangement en pont de Wheatstone. Cela peut devenir un peu déroutant. Une bonne option pour connecter toutes les cellules de charge d'une manière propre et facile à comprendre est la carte combinatrice de cellules de charge SparkFun -

Cet agencement permet de combiner et de mesurer simultanément les charges sur tous les différents capteurs de cellule de charge.

Étape 4: Ajoutez la bibliothèque HX711 à votre IDE Arduino

La bibliothèque HX711 est disponible ici:

Voir ce lien sur le site Web d'Arduino pour savoir comment ajouter la bibliothèque à votre IDE Arduino:

Étape 5: Calibrez et pesez

Sparkfun a d'excellents programmes Arduino pour faire fonctionner la balance. Les versions les plus récentes sont disponibles sur GitHub et réimprimées ci-dessous:

La première étape du logiciel consiste à déterminer les facteurs d'étalonnage de la balance. Pour ce faire, exécutez ce code:

/*

Exemple d'utilisation de la carte de dérivation SparkFun HX711 avec une balance Par: Nathan Seidle SparkFun Electronics Date: 19 novembre 2014 Licence: Ce code est du domaine public mais vous m'achetez une bière si vous l'utilisez et nous nous rencontrons un jour (licence Beerware). C'est le croquis d'étalonnage. Utilisez-le pour déterminer le calibration_factor utilisé par l'exemple principal. Il génère également le zero_factor utile pour les projets qui ont une masse permanente sur la balance entre les cycles d'alimentation. Configurez votre balance et démarrez le croquis SANS poids sur la balance Une fois les lectures affichées, placez le poids sur la balance Appuyez sur +/- ou a/z pour ajuster le calibration_factor jusqu'à ce que les lectures de sortie correspondent au poids connu Utilisez ce calibration_factor sur l'exemple de croquis Cet exemple suppose des livres (lbs). Si vous préférez les kilogrammes, modifiez Serial.print(" lbs"); ligne en kg. Le facteur d'étalonnage sera significativement différent mais il sera linéairement lié aux livres (1 lb = 0,453592 kg). Votre facteur d'étalonnage peut être très positif ou très négatif. Tout dépend de la configuration de votre système de balance et de la direction dans laquelle les capteurs s'écartent de l'état zéro. Cet exemple de code utilise l'excellente bibliothèque de bogde: « https://github.com/bogde/HX711 » Broche Arduino 2 -> HX711 CLK 3 -> DOUT 5V -> VCC GND -> GND La plupart des broches de l'Arduino Uno seront compatibles avec DOUT/CLK. La carte HX711 peut être alimentée de 2,7 V à 5 V, donc l'alimentation Arduino 5 V devrait être bonne. */ #include "HX711.h" #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 Échelle HX711; float calibration_factor = -7050; //-7050 a fonctionné pour ma configuration d'échelle max 440lb void setup() { Serial.begin (9600); Serial.println("Esquisse d'étalonnage HX711"); Serial.println("Supprimer tout le poids de la balance"); Serial.println("Après le début des lectures, placez le poids connu sur la balance"); Serial.println("Appuyez sur + ou a pour augmenter le facteur d'étalonnage"); Serial.println("Appuyez sur - ou z pour diminuer le facteur d'étalonnage"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(); échelle.tare(); //Réinitialiser l'échelle à 0 long zero_factor = scale.read_average(); //Obtenir une lecture de base Serial.print("Zero factor: "); //Cela peut être utilisé pour supprimer le besoin de tarer la balance. Utile dans les projets à l'échelle permanente. Serial.println(zero_factor); } boucle vide() { scale.set_scale(calibration_factor); //Ajustez ce facteur d'étalonnage Serial.print("Reading: "); Serial.print(scale.get_units(), 1); Serial.print("lbs"); // Changez-le en kg et réajustez le facteur d'étalonnage si vous suivez les unités SI comme une personne sensée Serial.print(" calibration_factor: "); Serial.print(calibration_factor); Serial.println(); if(Serial.available()) { char temp = Serial.read(); if(temp == '+' || temp == 'a') calibration_factor += 10; else if(temp == '-' || temp == 'z') calibration_factor -= 10; } }

Après avoir étalonné la balance, vous pouvez exécuter cet exemple de programme, puis le pirater à vos propres fins:

/*

Exemple d'utilisation de la carte de dérivation SparkFun HX711 avec une balance Par: Nathan Seidle SparkFun Electronics Date: 19 novembre 2014 Licence: Ce code est du domaine public mais vous m'achetez une bière si vous l'utilisez et nous nous rencontrons un jour (licence Beerware). Cet exemple illustre la sortie de base de l'échelle. Consultez le croquis d'étalonnage pour obtenir le facteur_étalonnage pour votre configuration de cellule de charge spécifique. Cet exemple de code utilise l'excellente bibliothèque de bogde: "https://github.com/bogde/HX711" La bibliothèque de bogde est publiée sous une LICENCE PUBLIQUE GÉNÉRALE GNU Le HX711 fait bien une chose: lire les cellules de charge. Le panneau de dérivation est compatible avec n'importe quelle cellule de charge basée sur un pont en pierre de blé, ce qui devrait permettre à un utilisateur de tout mesurer, de quelques grammes à des dizaines de tonnes. Broche Arduino 2 -> HX711 CLK 3 -> DAT 5V -> VCC GND -> GND La carte HX711 peut être alimentée de 2,7V à 5V, donc l'alimentation Arduino 5V devrait être bonne. */ #include "HX711.h" #define calibration_factor -7050.0 //Cette valeur est obtenue à l'aide du croquis SparkFun_HX711_Calibration #define LOADCELL_DOUT_PIN 3 #define LOADCELL_SCK_PIN 2 échelle HX711; void setup() { Serial.begin(9600); Serial.println("Démo à l'échelle HX711"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(calibration_factor); //Cette valeur est obtenue en utilisant l'esquisse SparkFun_HX711_Calibration scale.tare(); //En supposant qu'il n'y ait pas de poids sur la balance au démarrage, réinitialisez la balance à 0 Serial.println("Readings:"); } boucle vide() { Serial.print("Lecture: "); Serial.print(scale.get_units(), 1); //scale.get_units() renvoie un flottant Serial.print("lbs"); //Vous pouvez changer cela en kg mais vous devrez refactoriser le calibration_factor Serial.println(); }

Conseillé: