Partage
  • Partager sur Facebook
  • Partager sur Twitter

Balance avec arduino et capteur de force

Sujet résolu
    19 décembre 2017 à 11:13:27

    Bonjour, 

    J'ai comme projet universitaire l'instrumentation d'une ruche et j'ai déjà tous les capteurs qui fonctionnent sauf celui pour la mesure du poids.

    Je cherche à faire une balance avec une carte Arduino et des capteurs de forces de ce type-là : https://www.gotronic.fr/art-capteur-de-force-50-kg-czl635-50-17601.htm (Ce type de capteur est-il bien monté en pont de Wheatstone ? On peut lire plein de choses différentes là dessus sur internet...)

    Il me faut donc un ampli pour pouvoir lire les valeurs de poids qui sont beaucoup trop faibles sinon. J'ai commencé avec un ampli diiférentiel grove ( https://www.gotronic.fr/art-ampli-differentiel-grove-103020016-20635.htm), pour la facilité des branchements, que je n'ai pas réussi à faire fonctionner (les bibliothèques semblent trop compliquées). 

    J'ai donc voulu essayé avec un module HX711 (https://www.gotronic.fr/art-amplificateur-pour-capteur-de-force-sen-13879-25334.htm) pour lequel il y a beaucoup d'exemples sur internet. Sauf que je n'ai pas réussi à le faire marcher et j'ai essayé plusieurs programmes et bibliothèques différents... J'ai vérifié avec un multimètre la résistance entre les fils vert et blanc (signal). Lorsque que l'on exerce une force sur le capteur, la résistance augmente ce qui est cohérent et qui veut dire que le problème ne vient pas du capteur en lui-même. 

    J'ai à ma disposition deux capteurs de force 50kg, deux modules HX711 et deux amplis GROVE basés sur des INA 132. 

    Est-ce que quelqu'un aurait une idée afin de faire fonctionner une potentielle balance ? Je ne comprends pas ce qui ne fonctionne pas dans ce que j'ai fait.

    Merci, 

    Bonne journée ! 

    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2017 à 8:24:27

      Ce serait bien que tu nous expliques comment tu as câblé ton montage (où as tu raccordé les fils du capteurs et comment à tu câblé ton module à l'arduino) et donnes nous le code que tu avais, ça pourrait être utile ;)
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2017 à 10:34:53

        En effet c'est mieux avec toutes les infos :lol:

        Du coup, pour commencer j'ai tout bêtement suivi ce tutoriel https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide?_ga=2.215244567.1294585227.1513587110-322668523.1511787421.

        J'ai fait les mêmes câblages et j'ai utilisé cette bibliothèque : https://github.com/bogde/HX711

        Pour le code, j'ai pris celui-ci qui sert à la calibration du capteur : 

        /*
         Example using the SparkFun HX711 breakout board with a scale
         By: Nathan Seidle
         SparkFun Electronics
         Date: November 19th, 2014
         License: This code is public domain but you buy me a beer if you use this and we meet someday (Beerware license).
        
         This is the calibration sketch. Use it to determine the calibration_factor that the main example uses. It also
         outputs the zero_factor useful for projects that have a permanent mass on the scale in between power cycles.
        
         Setup your scale and start the sketch WITHOUT a weight on the scale
         Once readings are displayed place the weight on the scale
         Press +/- or a/z to adjust the calibration_factor until the output readings match the known weight
         Use this calibration_factor on the example sketch
        
         This example assumes pounds (lbs). If you prefer kilograms, change the Serial.print(" lbs"); line to kg. The
         calibration factor will be significantly different but it will be linearly related to lbs (1 lbs = 0.453592 kg).
        
         Your calibration factor may be very positive or very negative. It all depends on the setup of your scale system
         and the direction the sensors deflect from zero state
         This example code uses bogde's excellent library: https://github.com/bogde/HX711
         bogde's library is released under a GNU GENERAL PUBLIC LICENSE
         Arduino pin 2 -> HX711 CLK
         3 -> DOUT
         5V -> VCC
         GND -> GND
        
         Most any pin on the Arduino Uno will be compatible with DOUT/CLK.
        
         The HX711 board can be powered from 2.7V to 5V so the Arduino 5V power should be fine.
        
        */
        
        #include "HX711.h"
        
        #define DOUT  3
        #define CLK  2
        
        HX711 scale(DOUT, CLK);
        
        float calibration_factor = -7050; //-7050 worked for my 440lb max scale setup
        
        void setup() {
          Serial.begin(9600);
          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.set_scale();
          scale.tare(); //Reset the scale to 0
        
          long zero_factor = scale.read_average(); //Get a baseline reading
          Serial.print("Zero factor: "); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
          Serial.println(zero_factor);
        }
        
        void loop() {
        
          scale.set_scale(calibration_factor); //Adjust to this calibration factor
        
          Serial.print("Reading: ");
          Serial.print(scale.get_units(), 1);
          Serial.print(" lbs"); //Change this to kg and re-adjust the calibration factor if you follow SI units like a sane person
          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;
          }
        }
        

        Donc normalement, lorsque l'on pose un poids sur la "balance", on est sensé voir un changement de valeur. Sauf que même avec 12kg, la valeur de poids mesurée reste à zéro... 

        Comme j'ai dis précédemment j'ai vérifié que les capteurs fonctionnent bien donc je ne pense pas que le porblème vienne de là. Peut-être que ça vient des amplis mais comment vérifier qu'ils fonctionnent ? 

        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2017 à 13:43:54

          Tu as essayé de faire une boucle d'affichage des valeur de read_average pour voir si il y avait un changement ???
          • Partager sur Facebook
          • Partager sur Twitter
            19 août 2019 à 17:38:30

            essayer de changer le pin 2 par 3  et  3 par 2 et vérifier le câblage 

            si vous avez 4 demi ponts:

            rouges sont des output vers hx711

            noir bas avec le noir haut

            blanc bas avec l'autre bas 

            • Partager sur Facebook
            • Partager sur Twitter

            Balance avec arduino et capteur de force

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown