Taster an GPIO schalten sebstständig

  • Hallo zusammen,
    ich habe mir ein Webradio gebaut, bei dem ich mit den GPIO Ports die Sender umschalte und laut und leise mache.
    Leider ist es so daß sich diese Ports teilweise selbstständig machen. Dann schalten die Sender ständig um oder es wird mal laut und mal leise.
    Ich habe das Gefühl daß es schlimmer ist wenn die Luftfeuchtigkeit in dem Raum höher ist.
    Kann das sein?

    So ist die Schaltung:

    von GIPO über einen 10kohm Wiederstand auf 3,3V und von GPIO über den Taster auf Ground.

    Schon mal Danke für die Hilfe!!

  • Könnte es sein dass du in deinem Programm vielleicht die falschen Pins ansprichst? Was für eine Programmiersprache verwendest du und nach welchem Pin Nummerierungs-Schema greifst du auf die Pins zu? Ich hatte ein ähnliches Problem und der Grund war dass ich in meinem Programm das BCM Nummerierungs-Schema anstatt dem wriringPi Schema verwendet habe, nach welchem ich meine Taster angeschlossen hatte.

    DON'T PANIC!

    Einmal editiert, zuletzt von joh.raspi (30. September 2014 um 20:19)

  • Hallo joh.raspi,
    eigentlich müssen die Pins stimmen, weil die Tasten ja ansonsten garnicht funktionieren würden. Das tun sie aber.
    Es funktioniert auch manchmal ein paar Tage ohne daß er rumspinnt.
    Aber wenn das losgeht ist es so schlimm daß man fast garnicht Radio hören kann.
    Das Programm das die GPIO´s ausliest heißt Pushp

  • Das selbe Problem hatte ich auch. Ich hab es über den internen Pull up/down Wiederstand hinbekommen. In Python würde das beim GPIO-Setup wie folgt aussehen:

    Rpi.GPIO.setup(pin, pull_up_down=GPIO.PUD_DOWN)

    pin ist der jeweilige GPIO-Pin

    also z.b. für GPIO11 bei setmode BCM:

    Rpi.GPIO.setup(11, pull_up_down=GPIO.PUD_DOWN)

  • Servus beinand,


    ...
    So ist die Schaltung:
    von GIPO über einen 10kohm Wiederstand auf 3,3V und von GPIO über den Taster auf Ground.
    ...


    Das selbe Problem hatte ich auch. Ich hab es über den internen Pull up/down Wiederstand hinbekommen. ...


    scheint er ja extern zu haben.
    Das ist halt das Problem, wenn man meint es reicht aus Schaltungen verbal zu beschreiben statt sich z.B. Fritzing zu schnappen und seine Schaltung schnell abzupinseln ...
    cu,
    -ds-

  • Ich habe in einem anderen Post was vom gleichen Problem gelesen.
    Der hat das mit Kondensatoren gelöst.
    Da ich die Lösung mit den internen Pullups nicht verstehe werde ich wohl auch das mit den Kondensatoren ausprobieren.
    So ist meine Schaltung, R2 fehlt bei mir.
    Schaltung%20GPIO.jpg?dl=0

    Ich würde den Kondensator zwischen GPIO und GND einbauen, was meint ihr dazu?


  • von GIPO über einen 10kohm Wiederstand auf 3,3V und von GPIO über den Taster auf Ground.

    ich würde auf 3,3k Ohm gehen, gibt 1mA Schalterstrom ist weniger empfindlich !
    Der Kondensator könnte zusätzlich helfen 100nF

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)


  • So, hab jetzt ca 3 Wochen getestet.
    Es ist viel besser, aber nicht ganz weg.

    oder die Widerstände auf 1k verkleinern, den 100nF würde ich zuletzt probieren.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallöchen,

    ich kann von ähnlichen Problemen an diversen "Experimentierplatinen" berichten, welche relativ hochohmige Pullupwiderstände besitzen und meistens ohne Kondensator bestückt sind (also kein Tiefpaß). Dann fängt man sich oft 50Hz Netzbrummen bei längeren Leitungen ein oder empfängt Störungen beim Schalten der Leuchtstoffröhre.
    Ein kleinerer Widerstand und ein Kondensator bewirken hier Wunder .

    Liebe Grüße

    Anja

  • ich würde ja mal versuchen den 1k an Stelle vom 10k der dann entfällt und den Kondensator weglassen, denn der kann auf Dauer den Taster killen.
    die software Entprellung nicht vergessen!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (29. Mai 2017 um 11:11)

  • Der Kondensator wird nur zur Entprellung/Glättung/Filterung gebraucht und müsste möglichst direkt am Taster angebracht werden - um so näher um so besser.
    Siehe dazu auch http://www.labbookpages.co.uk/electronics/debounce.html
    Mehr Infos über Google Suche nach: switch debounce capacitor

    Wieso sollte das den Taster killen?


    Bezgl. deiner Widerstände ließ dir mal das durch: GPIO mit Pullup- oder Pulldown-Widerstand beschalten?

  • Hi Jar,


    ...denn der kann auf Dauer den Taster killen.


    Danke! Mir kam intuitiv die rechte Schaltung mit Kondensator recht gefährlich vor. Kurz nachgedacht ... :s ... Hast Recht! I = U/R. U ist die Ladespannung (z.B. 3,3 V, R ist beliebig klein, I dann beliebig groß.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (29. Mai 2017 um 11:38)


  • Wieso sollte das den Taster killen?

    schon mal gesehen wie ein Kurzschluß am Kondensator Funken fliegen lässt?

    Denn I ist immer noch eine Folge von U / R und wenn R = ~0 Ohm ist wie bei einem Taster, den Rest darf sich jeder denken, eine Weile geht es ja gut, bis die Kontakte kleben oder weggebrannt sind.

    Wieso fragest du? (habe ich in den ganzen Jahren hier nichts erkären können was im Gedächnis blieb?)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (29. Mai 2017 um 11:35)

  • Danke, den Artikel auf http://www.elektronik-kompendium.de kannte ich schon. Die Dimensionierung der Widerstände scheint bei mir ja ok zu sein.
    Für 10k Ohm als untere Grenze spricht ja zusätzlich die Empfehlung auf elinux.org (http://elinux.org/RPi_GPIO_Interface_Circuits).

    Wenn ich es richtig verstanden habe, steigt mit größeren Widerständen auch die Störanflälligkeit aufgrund der niedrigen Ströme.

    Den Kondensator will ich nicht zum Entprellen sondern zum Entstören verwenden.
    Automatisch zusammengefügt:
    Das Problem scheinen auch andere zu haben:
    https://www.raspberrypi.org/forums/viewtop…53378&p=1166401
    https://www.raspberrypi.org/forums/viewtopic.php?t=53548

    Einmal editiert, zuletzt von spiderbaby (29. Mai 2017 um 11:47)

  • Hast du es mal andersrum probiert? Den GPIO mit einem Pulldown auf Ground und über HIGH Signal (mit Kondensator) schalten?

    Alternativ könntest du die Schalter über Optokoppler an den Pi führen. Direkte Durchleitung sehr kurzer aber hoher Spannungsspitzen ist dann ausgeschaltet.
    Zusätzlich ggf. die Tasterleitung mit höherer Spannung betreiben, was die Störeinflüsse mindern sollte.

    Allerdings finde ich so heftige Störungen, wie du sie hast, bei den kurzen Kabeln in einem Webradio eher ungewöhnlich. Bist du sicher, dass da nicht was anderes faul ist?

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

Jetzt mitmachen!

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