Pi3 vs Pi-Zero Stabilitätsproblem

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich habe ein Python Programm, welches die Daten eines DHT22, DS1B20 und HX711 auswertet und auf einem LCD anzeigt. Weiters werden die Daten in eine Txt Datei gespeichert.

    Das ganze wird alle 5 Sekunden aktualisiert.

    Soweit so gut, auf einen Pi3 funktioniert das alles sehr stabil, die Werte sind alle plausibel, wenn ich das Programm über Nacht laufen lasse sind vielleicht 3 DHT Auslesungen nicht erfolgreich, DS und HX sind stabil.

    Wenn ich das gleiche Programm auf einem Pi-zero laufen lasse, dann sieht die Sache katastrophal aus. Der DS ist sehr stabil, keine einziger Ausreißer.

    DHT22 ist ca. jeder 3 Auslesevorgang nicht erfolgreich. Ich verwende die ADAfruit Libary zum Auslesen.

    Beim HX711 sieht es auch nicht viel besser aus, sehr viele unterschiedliche Werte, obwohl sich am GEwicht nichts ändert?

    Irgend eine Idee warum der Zero damit nicht zurecht kommt? Ich verstehs nicht :wallbash:

  • Moin zmaier,

    hast du mal deine Anfrage angeschaut? Und kannst du dir vorstellen was man darauf antworten soll?

    !

    ich übersetze mal Dreamshader's Antwort mit meinen Worten.

    "Ein Kumpel sagt, ich habe so ein geiles Programm, das rennt auf meinem Desktop mit dem I7 echt gt, aber auf meinem Laptp mit dem I3 nicht so gut"

    Nun denk mal nach, welche Fragen du deinem Kumpel stellen würdest.

    Was benötigt wird:

    - den Link zu der Seite mit dem Code

    - oder, falls es dein Code ist, den Code

    Gruss Bernd

    // Sri, das ich mich eingemischt habe

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Da hast du, da habt ihr natürlich recht :) Shame on me.

    Ich werde am WE den Zero neu installieren, vielleicht stimmt ja mit der Installation irgendetwas nicht.

    Hier der Code, schon mal sorry für das schlechte programmieren, aber ich bin da kein Profi :)

  • Ich bin ja kein Python Experte, aber die try/except Blöcke sind ja schon riesig. Und es wird auch nicht abgefragt "was" in einem dieser Blöcke schief lief. Was das Debuggen erheblich erschwert!

    Ich pers. würde "mehr" debug (print) info rein und auf alle try und except Blöcke verzichten.

    Wenn doch try/except dann nicht globalgalaktisch für riesige Abschnitte sondern: Speziell für kleine Bereiche:

    Code
     while True:
    ...     try:
    ...         x = int(input("Please enter a number: "))
    ...         break
    ...     except ValueError:
    ...         print("Oops!  That was no valid number.  Try again...")

    Bsp. Aus Python.org.

  • Moin zmaier,

    das schnellste wird sein, Manul *s Vorschlag zu folgen.

    Ansonsten sind nun die Pythonkenner dran. Da bin ich raus. Ich kann es zwar lesen und ev. auch verstehen, aber helfen kann ich nicht.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Danke für die Tips, ich bin am WE leider nicht dazugekommen, hoffentlich schaff ich es diese Woche mal.

    Kann man die SD Karte einfach tauschen? Sind die Installationen vom 3er und vom Zero gleich? Interessant.

    Ich geb euch auf alle Fälle Bescheid was dabei rausgekommen ist.

    Zu den try, except Blöcken, werd mir da noch was besseres überlegen :)

    sg

    Martin

  • Hallo zusammen,

    ich habe jetzt die SD Karte vom Pi3 in den Z gesteckt und es sieht ebenfalls nicht sonderlich gut aus, alles sehr instabil.

    Ich lese den HX711 alle 15 Sekunden jeweils 3 mal aus und speicher den Mittelwert daraus ab (Bild Rohdaten).

    Ich mittle dann alle diese Messwerte über 10 Minuten, jedoch verwende ich nur Werte die sich vom Vorgängerwert um max. 5% ändern.

    Damit verbessert sich das ganze schon sehr gut, aber dennoch nicht zufriedenstellend (Wenn 2 mal hintereinander -30 kommt, wird der 2te Wert für die Mittelung verwendet, was nicht stimmt) .

    Ich werde deshalb im nächsten Schritt die Rodaten die unter einer plausiblen Schwelle sind nicht in der 10min. Auswertung berücksichtigen. Wird dann sicher besser aber an dem ursprünglichem Problem ändert das leider nichts.

    Ich werde die nächsten Tag auch alles neu verdrahten und nicht mehr stecken, sondern fix verlöten, vielleicht hilft das.

    Ausgabe von top habe ich auch angehängt.

    Für weitere Tips bin ich sehr dankbar.

    Schöne Grüße

    Martin

    PS: Ich habe das Script ebenfalls mit auskommentiertem LCD und die Temperatursensoren probiert, also nur den HX711. Bringt keine Verbesserung.

  • Mittelung verwendet

    Neben dem Überarbeiten der Hardware könntest Du statt eines arithmetischen Mittelwertes weniger aufwändig den Median bestimmen, der Ausreißer eliminiert. Am zu Grunde liegenden Problem ändert das aber erst mal nichts.

  • Mit der Datenauswertung lassen sich solche Ausreißer leicht herausfiltern, dennoch ist das für mich nicht befriedigend.

    Ich habe jeztzt eine neue Wägezelle (Bosch H40A), und alles neu verlötet, es sieht besser aus aber noch immer nicht sauber.

    Ich denke der Pi hat daran nicht schuld, eher die Beschaltung des HX711?

    Ich werde deshalb einen neuen Threat im Elektronik-Unterforum öffnen.

    Es bleibt spannend :)

    Danke,

    Martin

  • ps915 29. Januar 2024 um 19:01

    Hat das Label Zero hinzugefügt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!