Table des matières:

Balance Arduino avec cellule de charge de 5 kg et amplificateur HX711 : 4 étapes (avec photos)
Balance Arduino avec cellule de charge de 5 kg et amplificateur HX711 : 4 étapes (avec photos)

Vidéo: Balance Arduino avec cellule de charge de 5 kg et amplificateur HX711 : 4 étapes (avec photos)

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

Ce Instructable décrit comment faire une petite 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. Cellule de charge de 5 kg - 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 à la fois le HX711 et la cellule de charge ici:

Si vous achetez le kit, veuillez laisser un avis ! C'est vraiment utile pour les futurs acheteurs.

4. Surface de montage plate et robuste (x2) - 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 la cellule de charge

Monter la cellule de charge
Monter la cellule de charge

Nous allons d'abord monter la cellule de charge. Votre monture sera unique, mais voici les directives que vous devez suivre:

1. Le capteur de force en aluminium doit avoir 4 trous taraudés et une étiquette indiquant la direction de la force. Montez le côté sans étiquette sur la surface fixe et montez le côté avec l'étiquette sur la surface mobile. La flèche sur le côté étiqueté doit pointer vers le bas dans la direction dans laquelle la plate-forme se déplacera lorsqu'une charge est appliquée.

2. La plaque de montage et la plaque mobile doivent être aussi rigides que possible

3. Assurez-vous de placer des entretoises rigides entre les plaques de montage et la cellule de charge. Les entretoises ou les rondelles fonctionnent bien. L'objectif est que toute force appliquée à la plaque mobile provoque la flexion et la torsion de la cellule de charge. Sans entretoises, la charge serait transférée directement de la plaque mobile à la plaque fixe sans affecter la cellule de charge.

Étape 2: 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

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

Sur les cellules de charge en aluminium, plusieurs jauges de contrainte sont déjà câblées ensemble pour former un pont de Wheatstone. Tout ce que vous avez à faire est de connecter les fils à la carte HX711 dans le bon sens.

Étape 3: 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 4: Calibrez et pesez

Calibrez et pesez !
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é: