Komisches Verhalten (Spannung) bei GPIO als Eingang

  • Erstmal hallo zusammen.


    Ich verzweifel langsam.


    Ich nutze meinen Raspberry Pi 4 um durch einen Tastendruck in einem Python-Skript was auszulösen.


    Ich nutze jetzt z.B. GPIO 16 den habe ich per externen 10kOhm Pull-Up Widerstand an 3,3V verbunden. (Internen hatte ich auch schon genutzt, gleiches Verhalten)

    Der interne ist natürlich abgeschaltet.


    Habe auch schon mehrere GPIOs durch 21,20,26 und jetzt 16


    Nur nach einer bestimmten Zeit Fällt die Spannung am GPIO 16 auf 2.0V ab.

    Bis dahin wurde auch kein Tastendruck ausgelöst.

    Dies löst dann ein Low Event aus und meine "Funktion" fängt an zu laufen.

    Der GPIO bleibt dann dauerhaft bei 2V.


    Habe auch schon bei:

    /sys/class/gpio nach geschaut.

    Dort steht Direction auf "IN" also richtig.


    Bis die Spannung abfällt dauert es manchmal 1 Tag bis 1 Woche.


    Habe schon mehrere Arten versucht die GPIOs in Python zu handeln, aber überall das selbe Verhalten:

    PRi.GPIO , gpiozero, pigpio



    Hier ist mein Quelltext von RPi.GPIO


    GPIOZero:


    Python
    from gpiozero import Button, LED
    
    Gpio = Button(16,bounce_time=0.2,pull_up=False)
    Green_LED = LED(19)
    
    Gpio.when_pressed = Funktion


    PiGPIO

    Code
    import pigpio
    Gpio = pigpio.pi()
    
    Gpio.set_mode(16, pigpio.INPUT)
    Gpio.set_mode(19, pigpio.OUTPUT)
    Gpio.set_glitch_filter(16, 300000)
    Gpio.set_noise_filter(16, 100000, 0)
    Gpio.callback(16, pigpio.RISING_EDGE, Funktion)  <-- Da reagiert er nur auf die fallende Flanke 


    Das schlimme ist, das ganze System ist vorher 3 Jahre mit einem Raspberry Pi 2 ohne Probleme gelaufen mit der selben Konfiguration.

    Habe ein Update gemacht, da mir dort der RAM immer ausgegangen ist.


    Habt ihr eine Idee was das sein könnte?


    Ist der Pi vielleicht kaputt?

  • Schaltplan habe ich gerade keinen. Wo kann man einen Quick and Dirty erstellen?



    Also die Verbindung zum Taster ist da gerade getrennt.

    Trotzdem liegen da nur 2,0V an.


    Habe es gemessen.

    Links vom Widerstand sind es 3,3V

    Rechts sind 2,0V


    Irgendwo her muss der GPIO ja auf 2,0V herunterregeln.


    Den Pi benutze ich mit dem Original Raspberry Pi Netzteil.


    Sieht ein bisschen wild aus, da ich anfangs keinen externen Pull-Up Widerstand genutzt habe war es so am einfachsten.

  • Pull down im GPIO angeschaltet? Das würde gegen den arbeiten. Oder GPIO kaputt. Mal einen anderen probieren.

  • Wenn ich den Widerstand den Farben zu ordne, Sw,Br,Sw,Sw, komme ich auf 10 Ohm und nicht auf 100 oder 1000 Ohm., bei wahrscheinlich 1% Toleranz.

    Soll heißen, Multimeter nehmen und den Widerstand mal ausmessen.

  • Pull Down ist natürlich ausgeschaltet.

    Oben im Code ist ja nix.

    Nur weil im Code kein pullup/pulldown verwendet wird, heisst das nicht, dass einer geschaltet ist.


    Beim Booten werden GPIO 0-8 (pullup) und GPIO 9-27 (pulldown) voreingestellt und bleiben solange in diesem Zustand bis nicht explizit eine Änderung veranlasst wird.

    Der interne Widerstand beträgt dabei min/max 50/56 kOhm.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Wenn ich den Widerstand den Farben zu ordne, Sw,Br,Sw,Sw, komme ich auf 10 Ohm und nicht auf 100 oder 1000 Ohm., bei wahrscheinlich 1% Toleranz.

    Soll heißen, Multimeter nehmen und den Widerstand mal ausmessen.

    Also mein Schätzeisen sagt genau 10kOhm

    Ja aber wenn ich den internen Pull-Up Wiederstand aktiviere, dann ist das Verhalten ja genau so. Habe bis vor kurzem mit internen Pull-Ups gearbeitet und erst letzte Woche mal einen externen Pullup dran gehangen.

    Weil ich gedacht habe die internen haben vll. ne Macke.

  • Ich verwende das Originale Pi Netzteil für den Pi4

    Was sonst noch dran hängt.


    USB-Reciever für Wetterstation

    Homatic HM-MOD-RPI-PCB


    Wie gesagt das lief auch alles schon auf dem alten 2er. Und der hatte nur ein 2A Netzteil.

    • Official Post

    Ich verwende das Originale Pi Netzteil für den Pi4

    Zeig mal bitte zur Sicherheit einen Link zum Netzteil.


    USB-Reciever für Wetterstation

    Hast Du evtl. einen aktiven USB-Hub, den Du testweise zwischen RPi und den USB-Reciever hängen könntest?

  • Zeig mal bitte zur Sicherheit einen Link zum Netzteil.

    https://www.berrybase.de/raspb…teil-5-1v/3-0a-eu-schwarz

    Zeig mal bitte zur Sicherheit einen Link zum Netzteil.


    Hast Du evtl. einen aktiven USB-Hub, den Du testweise zwischen RPi und den USB-Reciever hängen könntest?

    Leider nicht.


    Habe jetzt die ganze Schaltung umgekehrt. Also Pull-Down gemacht. Und jetzt ist die Spannung Differenz auch 3,3V


    Habe jetzt wieder GPIOZero aktiviert.


    Mal gucken wie lange es jetzt läuft.


    Trotzdem ist das irgendwie komisch.

  • Mit dem HM-MOD-RPI-PCB könntest etwas Empfangsprobleme bekommen, denn der PI 4 stört sehr.

    Das gilt auch für das Neu Funkmodul, das aber beim PI 4 eh nicht passt.

  • Mit dem HM-MOD-RPI-PCB könntest etwas Empfangsprobleme bekommen, denn der PI 4 stört sehr.

    Ich habe da eine externe Antenne dran.

    Bis jetzt läuft alles 1A.


    Sogar der IO-Broker läuft mal geschmeidig, was bei Pi2 leider nicht immer der fall war.


    Es scheint, dass ich nicht der einzige bin mit dem Verhalten:


    https://sourceforge.net/p/raspberry-gpio-python/tickets/168/


    Ganz unten beschreibt jemand was ähnliches.


    Am liebsten wäre mir ein Pi2 mit 2GB gewesen. Das Ding war noch schön kühl. Rechenleistung brauch ich eh keine. Nur der RAM war immer das Problem.