Störsignale auf GPIO Leitungen von Taster und LCD Display (Messergebnisse)

  • Hallo Zusammen,

    bei meinem Kaffeeprojekt habe ich wie schon im Projekt Thread immer wieder mal Schwierigkeiten mit dem LCD Display, zusätzlich stellte ich fest, das auch Tastendrücke erkannt worden sind, obwohl keine stattfanden. Durch Zufall stellten mir fest, dass solches Fehlverhalten sich recht leicht herbeiführen lässt, wenn in dem Raum die Beleuchtung (Leuchtstoffröhren) mit dem Schalter ausgeschaltet werden.


    Für genauere Betrachtung, wem die Screenshots nicht genug sind, kann dieses kostenlose Programm verwendet werden (mit diesem wurden auch die Aufzeichnungen erstellt):

    https://www.saleae.com/de


    Da wünschte man sich, man hätte Kondensatoren verbaut um diese Störungen abzufangen. :conf:

  • Hallo Hofei.


    Ich kämpfe auch mit solchen Problemen - trotz Kondensator - erkennt meine Schaltung Falnkenwechsel. 100% Nachstellbar wenn ich meine Lötstation in den Strom stecke und das Stromkabel in der Nähe des PI verlässt.


    Ich glaube schuld daran sind die Jumperkabel die da wohl wie Antennen wirken.

    Leider habe ich sowas wie geschirmte Jumperkabel noch nicht gefunden - wäre mal interessant.


    Ich hoffe das meine Probleme erledigt sind wenn ich das ganze auf einer Platine fest verlötet habe und den Raspi mit einem Gehäuse abschirme. Als Kabel nach aussen nehme ich dann ein CAT 5e.


    lg

    Peter

  • HI hofei


    Kann es nicht mehr genau sagen - habe es wieder anders gemacht. aber ich glaube mich zu erinnern das 100nF zu starken Verzögerungen geführt hat.

    Und ich meine der war zwischen Masse und dem GPIO sodass es sich auflädt sobald der GPIO ein HIGH bekommt.

    Müsste es nochmal testen. Fakt ist das vom Breadboard ein Jumperkabel zu meinem GPIO geht und wenn das ein Signal aus der Luft fängt hilft der Kondensator auf dem Breadboard leider nicht - Score scheint es zumindest. Gäbe es bloß diese Jumperkabel geschirmt würde viele Leute nicht so lange nach Fehlern suchen di nicht in er Schaltung liegen.


    Grüße

  • Ich glaube es ist einfacher den Versuchsaufbau komplett abzuschirmen.


    Müsste man eine Blechdose mit pappe auslegen und das dann darin verfrachten.

  • Hallo Hofei!


    Ich schalte immer einen 150 Ohm Serienwiderstand in die Datenleitungen, dadurch wird die "Antenne" gedämpft. Vor allem die Enable Leitung ist wichtig, damit keine unbeabsichtigte Übernahme von Daten erfolgt.

    Drauf gekommen bin ich, als bei einem Aufbau mit einer 7-Segmentanzeige schon das Schalten einer Glühbirne im gleichen Zimmer zur Anzeige von Hieroglyphen führte. Nach dem Zwischenschalten der Widerstände, war der Aufbau o.k.

    Eventuell kann man auch höhere Werte nehmen.

    Ich bin nur Hobby-Bastler aber habe damit gute Erfahrungen gemacht.


    Gruss

    raspi_9

  • Moin!


    Das mit den 150 Ohm in den Leitungen finde ich gut. Muss ich mir merken.


    Ich habe einen Klapp-Ferritkern um die kritischen Leitungen angebracht. War auch hilfreich.

    Fragt nun nicht nach den Werten. Hatte ich noch liegen. Kommen aus dem Telefoniebereich.


    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.

  • Hi,

    naja ... ich weiss nicht :conf:

    Da "dämpfst" Du halt das Signal auch gleich mit. Ob damit so viel gewonnen ist? Da würde ich eher einen C auf GND einschleifen, um evtl. Spitzen zu kappen.

    Sauberer wäre es imho einen Schwellwert-Schalter (Schmitt-Trigger) zu verwenden ...


    pling, :2cents:

    -ds-

  • Habt ihr es mal mit einer richtigen Hardwareentprellung versucht?

    Ich hab neulich ein kleines Board gelötet mit entprellten Tastern.

    RC-Glied + Schmitt-Trigger nach dieser Schaltung. Funktioniert prima.

    Ein zweiter Schmitt-Trigger dreht die Logik wieder richtigrum.
    R1 sollte deutlich (Fakor 5-10) größer sein als R2 (der nur als Pulldown

    dient). C dann so wählen, dass R * C als Entprellzeit passt.


    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Moin!

    dreamshader und Gnom : Ihr habt ja recht, aber wir reden hier von Direktbeschaltung der GPIO-Pins. Ohne erhöhten Aufwand.


    In meiner Schaltung liegt ein 22nF gegen Masse und ein 10K gegen +3,3V. Trotzdem werden manchmal Fremdinpule empfangen.


    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.

  • Servus Bernd,


    aber wir reden hier von Direktbeschaltung der GPIO-Pins. Ohne erhöhten Aufwand.


    das hab' ich schon verstanden ... ich bezweifle halt, dass man da weiterkommt, wenn man einfach nur einen Widerstand in die Leitung klemmt. Dann lieber einen C ... oder halt gleich was vernünftiges.


    cheers,

    -ds-

  • Sehe ich auch so. Ein 150 Ohm Widerstand alleine bringt gar nichts. 22 nF und 10 K gibt ne Zeitkonstante von 0,22 ms - das ist zu wenig. Und ohne Schmitt-Trigger bringt das letztlich wenig. Erhöhter Aufwand hin oder her... Wenns sauber funktionieren soll, wird man hier um ne anständige Entprellung nicht herum kommen.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo.


    also ich habe in meiner Schaltung in der ein GPIO auf HIGH wartet (Standrad ist LOW) teilweise den GPIO mit 47kohm gegen GND auf LOW gezogen.

    Trotzdem verursacht das schalten einer 230VAC-Leitung in unmittelbarer nähe einen Flankenwechsel.....aber nicht auf HIGH......sondern auf LOW. Nette Geschichte wenn der GPIO schon LOW ist *G*.


    Ich muss DG8BR recht geben........beim experimentieren geht es darum nicht so viel Aufwand treiben zu müssen. Und ich glaube das die Schaltung mit dem S-Trigger eine gute Idee ist ABER wenn das Störsignal in das Jumperkabel einstreut das vom Trigger zum GPIO geht......dann macht es keinen Unterschied.


    Ich verlass mich einfach darauf das diese "nachvollziehbaren" Störungen beseitigt sind wenn alles auf einer Platine verlötet ist.


    lg

    Peter

  • Mit 47k hast du ja noch Luft nach unten, wenns bei 10k wäre, würde ich mir Sorgen machen.

    Hallo Fred.


    Ich bin kein Elektrotechniker - ich denke je höher der Widerstand desto zuverlässiger zieht man den GPIO doch auf LOW - oder liege ich da falsch ?


    lg

    Peter

  • Andersrum. Je kleiner der Widerstand, desto stärker wird nach GND gezogen.

    Der Pulldown Widerstand hat aber auf das Prellverhalten gar keinen Einfluss. Wenn überhaupt, bringt ein großer Widerstand vor dem Eingang was, allerdings auch nur, wenn die Kapazität des GPIO-Eingangs nicht verschwindend gering ist, was aber nicht anzunehmen ist. Deshalb baut man ja in die Entprellerschaltung einen Kondensator. Wenn du den Kondensator groß genug wählst, ist das Prellen weg - aber die Flankensteilheit auch - was den Eingang wieder flattern lässt. Deshalb muss noch der Schmitt-Trigger dran.
    Bastelei hin oder her. Wenns nicht funktioniert, muss man es richtig machen. Natürlich gehört das RC-Glied eher in die Nähe des GPIO als an den meterweit entfernten Auslöser. Praktisch ist es aber eigentlich egal, an welchem Ende der Leitung die Spannungsspitzen gedämpft werden. Der Schmitt-Trigger allerdings wird nur was bringen, wenn er nah am Eingang ist.


    Ein Flankenwechsel von Low auf Low - das muss mir mal einer erklären...

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!