[RESOLU]Convertisseur HX711 et calibration

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 : https://github.com/bogde/HX711

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é |342x500

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.