Bonjour,
Pour récupérer un poids avec une jauge de contrainte j'utilise un convertisseur HX711.
Cependant la valeur brut que celui ci me renvoi n'est pas clair, c'est à dire que j'observe une valeur entre 400 et 500, même quand je monte sur le capteur (la charge nominal du peson est de 200Kg).
Je m'aide de la librairie : GitHub - bogde/HX711: An Arduino library to interface the Avia Semiconductor HX711 24-Bit Analog-to-Digital Converter (ADC) for Weight Scales.
Voici le code :
#include "HX711.h"
// HX711.DOUT - pin #A1
// HX711.PD_SCK - pin #A0
/*
How to Calibrate Your Scale
1 - Call set_scale() with no parameter.
2 - Call tare() with no parameter.
3 - Place a known weight on the scale and call get_units(10).
4 - Divide the result in step 3 to your known weight. You should get about the parameter you need to pass to set_scale.
5 - Adjust the parameter in step 4 until you get an accurate reading.
*/
HX711 poids(A1, A0); // parameter "gain" is ommited; the default value 128 is used by the library
void setup()
{
Serial.begin(38400);
Serial.println("HX711 Demo");
float a=0.00, b=0.00;
poids.set_scale(); //Etape 1
poids.tare(); //Etape 2
delay(3000); //Etape 3 - Ici je met mon poids etalon de 20Kg
a=poids.get_units(10);
Serial.println (a);
b=a/20.000; //Etape 4 - Diviser le resultat par le poids etalon
poids.set_scale(b); //Definir l'echelle
}
void loop()
{
Serial.print("valeur brut :\t");
Serial.println(poids.read()); //lire la valeur brut
poids.power_down();
delay(100); //actualise la valeur toute les 100ms
poids.power_up();
}
J'obtiens :
valeur brut : HX711 Demo
-1744.00
valeur brut : 433
valeur brut : 426
valeur brut : 424
valeur brut : 441
valeur brut : 427
valeur brut : 433
valeur brut : 433
valeur brut : 444
valeur brut : 442
valeur brut : 458
valeur brut : 436
valeur brut : 435
valeur brut : 438
valeur brut : 438
valeur brut : 466
valeur brut : 445
valeur brut : 432
valeur brut : 413
valeur brut : 472
valeur brut : 451
valeur brut : 437
Merci de votre aide !
bonsoir
avant de vouloir calibrer ta jauge , est tu sur et certain qu'elle soit bien connectée sur ton HX711 ?
cela arrive souvent que les points d'excitation et les point de sortie soient mal cablés.
si tu ne voit pas de differences lorsque tu charge ta jauge, c'est tres probable que cela vienne de là.
tu ne risque rien à faire des essais d'inversions de "fils"
Oui quasiment certain, j'ai raccordé comme ceci :
ARDUINO HX711 JAUGE DE CONTRAINTE
5V -------------- VCC E+ --------------- ALIM + (ROUGE)
A0 -------------- SCK E- --------------- ALIM - (BLEU)
A1 -------------- DT A- --------------- SIGNAL - (JAUNE)
GND -------------- GND A+ --------------- SIGNAL + (BLANC)
et le blindage de ma jauge de contrainte je l'ai mis sur le GND de l'Arduino.
complement :
perso pour les jauges inconnues (connection) je test avec ça
tu vois tout de suite si il y a de "la grosse activité"
#include "HX711.h"
// HX711.DOUT - pin #A1
// HX711.PD_SCK - pin #A0
HX711 scale(A1, A0);
void setup() {
Serial.begin(115200);
Serial.println("HX711 Demo");
scale.power_up();
}
void loop() {
Serial.println(scale.read());
delay(250);
}
J'ai testé avec ce code mais j'obtiens toujours une valeur moyenne sur 100 de environ 480,
y compris quand je pose un poids étalon de 20KG.
Pourtant quand j'alimente mon peson en 5V, la variation de quelques mV est flagrante,
c'est donc que ma jauge de contrainte fonctionne correctement..
sebastien_halle:
J'ai testé avec ce code mais j'obtiens toujours une valeur moyenne sur 100 de environ 480,
y compris quand je pose un poids étalon de 20KG.
Pourtant quand j'alimente mon peson en 5V, la variation de quelques mV est flagrante,
c'est donc que ma jauge de contrainte fonctionne correctement..
bonjour
ça signifie simplement que tu recupere une valeur de qq mv sur l'entrée du HX711
a tu fais l'essai de swapper les connections entre excitation et sortie ?
inverse déjà un fil excitation avec un fil sortie , ca ne risque rien
Artouste:
bonjour
ça signifie simplement que tu recupere une valeur de qq mv sur l'entrée du HX711
a tu fais l'essai de swapper les connections entre excitation et sortie ?
inverse déjà un fil excitation avec un fil sortie , ca ne risque rien
J'ai fait toutes les inversions possibles, E+ avec A+, E- avec A-, E+ avec E-, A+ avec A-, E- avec A.. et toujours pas de changement. Damn
Si je comprends bien, le module envoie 5V quand il veut une mesure. Donc pour observer les quelques mV qui rentre dans le hx711 il me faudrait un oscillo ?
Bon ok
le petit programme ne fais qu'une conversion toutes les 250 ms , l'excitation de la jauge est permanente
instruction :
scale.power_up();
dans le setup
exemple de ce que cela sort simplement en "tripotant" une jauge : on voit bien l'activité
C'est avec une seule jauge ou un montage différentiel en pont ?
tu peux aussi déjà tester avec ce meme programme la reaction du HX711
tu mets une simple led dans la branche A+ A- (pour l'utiliser en capteur de luminosité)
et tu verra selon l'eclairement de la led (par une lumiere externe) de l’activité sur le serial monitor
Artouste:
tu peux aussi déjà tester avec ce meme programme la reaction du HX711
tu mets une simple led dans la branche A+ A- (pour l'utiliser en capteur de luminosité)
et tu verra selon l'eclairement de la led (par une lumiere externe) de l’activité sur le serial monitor
Bonjour,
L'erreur venait tout simplement d'un mauvais contact entre le module et la breadboard sur laquelle est câblé ma jauge de contrainte, je suis confus..
Merci ton aide Artouste !
Oui il vaut mieux souder les fils quand on traite des millivolts, la moindre résistance parasite peut vite mettre le cirque.