HX711 Ausreißer --> Spannungsversorgung ?

  • Hallo,


    ich habe eine Frage zum Thema HX711 und Spannungsversorgung.

    Ich betreibe aktuell den HX711 mit 3.3V (AVDD und DVDD) und lese einen Wert alle 15 Sekunden ein.

    Die Werte sind nicht sehr stabil, es kommt vor, dass -30 oder z.B. 1025 (Auslesevorgang #42) ausgelesen wird. (Es sollte konstant ca. 973 ankommen).

    Diese Ausreißer lösche ich in der nachfolgenden Auswertung, aber dennoch ist das Thema nicht sauber für mich.


    Ich möchte nun den HX mit 5V betreiben (vielleicht hilft das) , das Problem dabei, die Datenleitung vertragen am PI nur 3.3V. Im Internet hab ich schon Anwendungen gefunden die das trotzdem machen und keine Probleme haben. Kann das sein? Wenn am GPIO 5V ankommen sind die doch zerstört, oder?


    Habt ihr ähnliche Probleme mit dem HX711? Wie ist eure Beschaltung? Ich überlege auch den analog und digital Teil getrennt zu versorgen, habt ihr damit Erfahrungen?


    Danke,

    sG

    Martin

  • Schaltplan habe ich keinen, hab ein HX711 Board vom Chinesen, bei dem die analoge und digitale Spannungsversorgung zusammen geschalten ist.

    Levelshifter ist eine Idee.

    Kann das zu diesen fehlerhaften Werten führen? (ich weiß Glaskugel, aber vielleicht hat jemand schon ähnliche Erfahrungen gemacht) :)

  • Das Datenblatt habe ich mir schon vorher angeschaut, aber ohne den Schaltplan ist es ins Blaue raten...


    Was Du probieren könntest:

    noch einen 100nF zusammen mit einem Elko zwischen Vcc und GND (also am Eingang)


    Das Ding ist im Grunde ein ADC. Wenn ein ADC daneben liegt, liegt es meistens an den bescheidenen Referenzspannung. Wo kriegt das Ding die Spannung her?

  • Das Datenblatt habe ich mir schon vorher angeschaut, aber ohne den Schaltplan ist es ins Blaue raten

    hast Du Seite #6 Fig. 4 gesehen mit dem "Reference PCB Board Schematic"?

    Ist natürlich nicht der wirkliche Schaltplan sondern ein Vorschlag.

    EDIT: noch ein Link zu SparkFun HX711

    Einmal editiert, zuletzt von kle ()

  • hast Du Seite #6 Fig. 4 gesehen mit dem "Reference PCB Board Schematic"?

    Ist natürlich nicht der wirkliche Schaltplan sondern ein Vorschlag.

    EDIT: noch ein Link zu SparkFun HX711

    Ja, habe ich. Es muss aber nicht heißen, dass die Chinesen sie 1:1 übernommen haben...


    Zentris : naja, sehe ich anders, jede Messung sollte passen, Abweichungen sind zulässig, wenn sie innerhalb der Messtoleranz liegen.

  • Kurze info, ich hab den HX711 jetzt einfach mal mit +5V versorgt (Analog und Digitalversorgung). Der Pi verträgt das ohne Schäden, die Ausreißer sind aber nach wie vor vorhanden.

  • Zentris : naja, sehe ich anders, jede Messung sollte passen, Abweichungen sind zulässig, wenn sie innerhalb der Messtoleranz liegen.

    Kannst du gerne machen (anders sehen), aber selbst in der Industrie wird nicht jeder Messung geglaubt... und die Praxis schlägt die Theorie...


    Bei den preiswerten Sensoren, die im Amateurbereich eingesetzt werden, sind Aussetzer und Fehlmessungen nicht ungewöhnlich:


    Zum einen, weil die verwendeten Chips sicherlich nicht in jedem Fall die Chargen-besten sind, zum anderen, weil die Beschaltung oft nur minimalistisch ist.

    (Frequenzen werden intern erzeugt, ebenso Referenzspannungen, Spannungsstabilisierungen sind selten vorhanden, Temperaturdrift wird nicht kompensiert usw.)


    Es hat sich bei nicht zeitkritischen Messungen auf jeden Fall bewährt, mehrere Messungen in Folge zu machen und den Median zu verwenden (NICHT den MITTELWERT!!).

  • Kurze info, ich hab den HX711 jetzt einfach mal mit +5V versorgt (Analog und Digitalversorgung). Der Pi verträgt das ohne Schäden, die Ausreißer sind aber nach wie vor vorhanden.

    Ja, natürlich:

    Du hast vermutlich nicht die möglichen Ursache behoben:

    • Kabel zu den Messwertaufnehmern so kurz wie möglich
    • Ggf. mal geschirmte Kabel verwenden (Schirm einseitig auf Masse legen)
    • Spannungsversorgung puffern (Keramik-C unmittelbar am HX711).
    • Ggf. getrennte Analog/Digitalspannung
    • Auslesefehler? (Software-loop liest ungültige Daten vom Sensor, weil Sensor noch nicht gesendet oder die Übertragung noch nicht angeschlossen?)
    • ...

    BTW: Ich würde ja nicht mit einem Signalpegel >3.3V an die GPIOs des RPi gehen... hast du mal nachgemessen?

  • Kannst du gerne machen (anders sehen), aber selbst in der Industrie wird nicht jeder Messung geglaubt... und die Praxis schlägt die Theorie...

    Also ich weiß nicht, von welcher Industrie Du sprichst, aber die, die ich kenne und wo ich gearbeitet habe, wurde jeder Messung "geglaubt"... Ich rede von Automobilindustrie, speziell Body Control und Power Train.

    Bei den preiswerten Sensoren, die im Amateurbereich eingesetzt werden, sind Aussetzer und Fehlmessungen nicht ungewöhnlich

    Keine Ahnung, ich verwende nur Industriesensoren. Beispiel: wir haben eine Wasserzisterne für Regenwasser und da ist ein Sensor drin, der abhängig vom Druck die Wassermenge ermittelt. Wenn ich auf dem Klo die Spülung betätige, sehe ich, dass 4 Liter rausgeholt wurden...

    Es hat sich bei nicht zeitkritischen Messungen auf jeden Fall bewährt, mehrere Messungen in Folge zu machen und den Median zu verwenden (NICHT den MITTELWERT!!).

    Da ich meistens im Echtzeitbereich unterwegs bin und anständige Sensoren nehme, habe ich diese Probleme nicht...


    @Topic: Im Datenblatt auf der Seite 4 unter "Serial Interface" steht folgendes drin:

    When output data is not ready for retrieval, digital output pin DOUT is high. Serial clock input PD_SCK should be low. When DOUT goes to low, it indicates data is ready for retrieval. By applying 25~27 positive clock pulses at the PD_SCK pin, data is shifted out from the DOUT output pin. Each PD_SCK pulse shifts out one bit, starting with the MSB bit first, until all 24 bits are shifted out. The 25th pulse at PD_SCK input will pull DOUT pin back to high (Fig.2).

    Wird das Fettmarkierte berücksichtigt? Oder wird einfach nur drauflos gelesen. Ich schätze, genau das ist das Problem. Das Ding ist ein ADC, der im free-run Modus läuft und immer dann einen Interrupt (DOUT geht auf low), wenn eine Wandlung abgeschlossen ist. Ist sie noch nicht abgeschlossen und man taktet PD_SCK, kriegt man nur Schrott raus.

  • Also ich weiß nicht, von welcher Industrie Du sprichst, aber die, die ich kenne und wo ich gearbeitet habe, wurde jeder Messung "geglaubt"... Ich rede von Automobilindustrie, speziell Body Control und Power Train.

    ich kann aus meiner Industriezeit nur bestätigen das wir gültige Messwerte erst dann nutzten wenn sie innerhalb der Toleranz lagen, alle Ausreisser wurden als fehlerhafte Messwerte behandelt.

    Es war einfach nie möglich in einer verseuchten Industrieumgebung auf µV genau zu messen, JEDESMAL.

    Da aber die Ursachen der Fehlwerte nicht greifbar waren mussten wir Fehlwerte verwerfen!


    Auch heute im Laserlabor kam es unregelmäßig zu Fehltriggerungen, statt periodischer 10 Hz "Schüsse" war da immer wieder mal ein Fehlschuß dabei (war gut zu hören), den ich dann digital ausgefiltert hatte da niemand so lange das untersuchen wollte und ich nicht im Labor Phantome jagen wollte, es gibt auch ein Leben nach der Arbeit.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Da ich meistens im Echtzeitbereich unterwegs bin und anständige Sensoren nehme, habe ich diese Probleme nicht...


    @Topic: Im Datenblatt auf der Seite 4 unter "Serial Interface" steht folgendes drin:

    Wird das Fettmarkierte berücksichtigt? Oder wird einfach nur drauflos gelesen. Ich schätze, genau das ist das Problem. Das Ding ist ein ADC, der im free-run Modus läuft und immer dann einen Interrupt (DOUT geht auf low), wenn eine Wandlung abgeschlossen ist. Ist sie noch nicht abgeschlossen und man taktet PD_SCK, kriegt man nur Schrott raus.

    Toller Hecht. :fies:

    Die meisten Privatleute, welche basteln, können sich teure ("anständige") Sensoren nicht leisten (Du hast deine Industriesensoren sicherlich auch nicht selbst bezahlt...). :stumm:


    In meinem Beitrag #12 bin ich auf diese Thematik eingegangen...

    Und:

    Ich lese den HX711 per ESP aus, der Treiber wartet auf die Ready-Meldung und dennoch gibt es sporadisch Fehlmessungen.

    Könnte dennoch ein Treiberproblem sein, aber wie jar schon schrieb, das ignorieren von Fehlmessungen ist im Amateurbereich die einfachste Lösung.

  • was soll ich die Ursache suchen wenn ab und an ein DS18B20 in der Wohnung 85°C meldet.


    Ich kann mich irre machen und die 112 rufen oder mir sagen alles gut wenn danach wieder 20°C kommt :baeh2:

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Ein Profifußballer trifft immer das Tor!

    und es sind immer 20°C nur nicht überall, aber irgendwo auf der Welt stimmt die Temperatur 20°C schon :lol:

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr