Probleme mit HX711 und Wägezelle

  • Hallo,

    habe ine Problem mit meinem Pi Will eine Abfüllsteuerung bauen die über Gewicht arbeitet. Das Problem ist dass der Sensor oft mit den zahlen hin und her springt.



    Ich habe schon Probiert das ganze über den § Volt Pin zu betreiben aber keine Veränderung.



    Meine Anleitung war : https://tutorials-raspberrypi.…uen-gewichtssensor-hx711/


    • VCC an Raspberry Pi Pin 2 (5V)
    • GND an Raspberry Pi Pin 6 (GND)
    • DT an Raspberry Pi Pin 29 (GPIO 5)
    • SCK an Raspberry Pi Pin 31 (GPIO 6)



    hat jm eine Idee was ich Falsch gemacht habe?

    Hier mein Ergebnis:




    Hier das Programm

  • Hallo maximilian99


    wenn der Sprung in der Mitte des Messbereiches liegt, kann der Fehler durch folgenden Umstand verursacht werden:


    Der HX711 liefert einen 24-Bit-Messwert. Wenn der in einen 4-Byte-Integer (long) eingelesen wird, liefert der HX711

    für den Wert 1 das Bitmuster 0x00000001. Für den Wert -1 gibt der HX711 das Bitmuster 0x00FFFFFF aus.


    Enthält ein (long) Integer den Wert 0x00FFFFFF wird er als 16777215 interpretiert. Beim 24-Bit-Übergang von 0 nach -1 springt dann der 32-Bit-Wert von 0 nach 16777215 (statt wie erwartet von 0 nach -1).


    Um diesem "Fehler" zu begegnen, geht man wie folgt vor:

    Man prüft das höchste Bit des 24-Bit-Musters und übertragt dessen Zustand auf auf die höheren Bits.


    Nehmen wir an, das Bitmuster des HX711 sei in die Speicherstelle (long value) eingelesen also


    long value;


    In C sieht die Anpassung dann wie folgt aus:


    value = value & 0x800000L ? value | 0xFF000000L : value;


    Dann springt auch der Messwert wie gewünscht von 0 nach -1.


    Gruß Prittzl

    Edited 6 times, last by Prittzl ().