- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 50

Thema: GPIO-Schutz mit simplen Dioden oder LEDs?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459

    GPIO-Schutz mit simplen Dioden oder LEDs?

    Anzeige

    Powerstation Test
    Mich treibt eine Frage um, die mir vielleicht jemand beantworten kann...:

    Folgende Annahme: 5 V Spannung werden über einen 1000-Ohm-Widerstand und eine ganz normale (grüne/gelbe) LED an einen 3,3-V-Ein-/Ausgang geschaltet. Der Eingang sei nicht 5-V-tolerant (z. B. Raspberry Pi GPIO).
    Was passiert?

    Eingang (mit Pulldown-Widerstand >= 10K):
    - Es fließt ein geringer Strom (<< 1 mA) und an der LED fallen ca. 1,7 Volt ab. Am GPIO kommen 3,3 Volt an. Das wäre ungefährlich.

    Ausgang:
    - ist der GPIO auf LOW geschaltet, so fließt ein Strom von ca. 3 mA. An der LED fallen ca. 2 Volt ab. Am GPIO liegen 3 Volt an. Die LED leuchtet. Das wäre ungefährlich.
    - ist der GPIO auf HIGH geschaltet, So fließt ein Strom, der resultiert aus der Spannungsdifferenz (5 -3,3), dem Spannungsabfall der Diode (bei der geringen Spannungsdifferenz vermutlich eher bei ca. 1m7 V) und dem Widerstand.
    (5 - 3,3 - 1,7) / 1000 = quasi null. Die LED ist aus. Auch das wäre für den Eingang ungefährlich.

    Fragliche Schlussfolgerung: Kann ich einen 3,3-V-Ein-/Ausgang (GPIO) mit einer LED (alternativ einer bzw. mehreren Dioden) risikolos an 5 V anschließen?

    Wo ist da der Denkfehler?

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    900
    Hmm.
    Was passiert, wenn die am Ausgang angeschlossene Komponente gar kein Potential bietet, aber für seine Funktion Eines erwartet (z.B. FET)?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Vielleicht fehlen mir die Grundlagen, um deine Frage richtig einzuordnen... aber ich sehe weder dein Problem noch einen Zusammenhang mit meiner Frage.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Hallo Gnom67,

    wenn ich das richtig verstanden habe, meinst Du folgende Beschaltung.
    Anhang 35238
    Das stellt "eigentlich" kein Problem dar, dachte ich auch mal....

    aber:
    ich hab das auch schon so gemacht und musste dann feststellen, das meine LEDs nie richtig ausgegangen sind.
    Wenn der GPIO auf High geht sind das ja nur 3,3 Volt und dann fliesst ein Strom von +5Volt über die LED und den Vorwiderstand nach +3,3 Volt
    und damit bekam ich die LED nie ganz ausgeschaltet, bei Low Current LEDs war das optisch nicht unerheblich.

    Aber ich hatte dadurch bei meinem Controller ein noch völlig anderes Problem:
    Intern gibt es Schutzdioden, welche dann leitend werden können und das hat tatsächlich dafür gesorgt, dass mein ADU nicht mehr richtig lief.
    Ich habe dann doch wieder einen extra Transistor spendiert und alles war gut.

    Kaputt gehen wird daurch sicher nichts, da der Strom ja begrenzt wird, aber Nebeneffekte sind halt nicht ausgeschlossen.

    Siro

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Wenn die Vorwärtsspannung der Diode hoch genug ist, sollte sie irgendwann aus gehen. Aber darum geht es mir auch gar nicht - ich will nicht in erster Linie LEDs schalten, sondern die Spannung am Eingang begrenzen, weil die GPIOs ja nicht 5-V-tolerant sind. Ob man eine Standard-LED dran hängt, um einen Spannungsabfall von 1,7-2 V zu bekommen oder drei normale Dioden (je 0,6 Volt) in Reihe ist mir da erstmal egal - es geht um die grundsätzliche Wirkung.

    Der von dir beschriebene Nebeneffekt ist für mich nicht nachvollziehbar, denn genau dafür sind die Schutzdioden doch da. Natürlich mit begrenzten Strömen... Wenn 5 Volt mit 1000 Ohm anliegen, dann müssten die Schutzdioden 1,7 Volt ableiten bei einem Strom von 1,7 mA - das soll ja angeblich den Pi zerstören (schon daran hab ich gewisse Zweifel). Durch den Spannungsabfall an der LED/Diode liegen aber eben (das ist meine Annahme und der Hintergrund meiner Frage) nicht 5 Volt an, sondern eben nur ca. 3,3 oder vielleicht 3,4 Volt.

    Zur Verdeutlichung, was an einem Eingang passieren würde, vergleiche mal
    - 5 V nur mit einem Widerstand (würde den Strom begrenzen): Offenes Ende gegen GND gemessen: 5 V natürlich (der 5-V-Pegel liegt an Ende des Widerstandes)
    - 5v über einen Widerstand und eine LED. Offenes Ende gegen GND gemessen: 3,4 Volt.

    Das Messgerät hat einen hohen internen Widerstand (> 10 MOhm), der den Strom auf fast null begrenzt und wie ein Vorwiderstand wirkt. (5-1,6) / 10 MOhm = fast null. Im Vergleich zum Stromfluss durch den Pulldown (bei einem Eingang) ist das vernachlässigbar. Auch an einem als Eingang geschalteten GPIO liegen also nur maximal 3,4 Volt an.

    Das Gleiche gilt bei einem Ausgang. Der GPIO (low) liegt auf 0 Volt, die Spannung hinter der LED bei 5-1,6 = 3,4 Volt. Der Strom bei 3,4 / 1000 = 3,4 mA. Was soll dem GPIO da passieren?

    Liegt der GPIO auf 3,3 V (high), dann liegt die LED zwischen 5 V und 3,3 V. Wenn man davon noch die Durchlassspannung abzieht, bleiben ca. 0,1 Volt und die ergeben mit dem 1-K-Widerstand 0,1 mA. Auch gefahrlos für den Pi.

    Ohne Dioden sieht das alles ganz anders aus, weil dann der Spannungsabfall der Diode nicht da ist und überall die magischen und gefährlichen 5 V anliegen. Aber mit Diode und Widerstand... Besteht da nun noch eine Gefahr für die empfindlichen 3,3-V-GPIOS oder nicht?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Achso, jetzt glaube ich zu verstehen.
    Du hast die "gelbe" Led genommen um die 5 Volt um die Flusspannung zu verringern.
    Sozusagen als Zenerdiode.

    Hmmmm, geht das so.....? bin ich mir unsicher... ich würde da evtl. anders vorgehen:
    Anhang 35239

    Dann spielt das Eingangssignal kaum eine Rolle ob 3 Volt oder 5 Volt oder 10 Volt......
    Der Widerstand zieht den Eingang nach High und zwar auf das High vom Controller.
    Durchgelassen wird jetzt nur nach das LOW über der Diode.
    Eine Shottkydidoe wäre da angebraucht weil da nur so 0,3 Volt abfallen.

    Ist nur ein Vorschlag...

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Es geht mir nicht um alternative Lösungen - die kenne ich zur Genüge.

    Meine Frage ist, ob eine LED/Diode (Spannungsabfall >= ~1,6 V) den Eingang eben durch diesen Spannungsabfall hinreichend Schützt, wenn ich 5 V dran hänge. (5 V minus 1,6 Volt = 3,4 Volt = ungefährlich???)

    Vor allem geht es mir um Fälle, wo "Geräte" mit 5 V laufen, aber an 3,3-V-GPIOs angeschlossen werden. Manche dieser Geräte haben bereits eine LED (z. B. eine Status-LED), die genau so wie von mir beschrieben im Signalkreis liegen. Meine Frage ist schlicht: Ist diese Art Signal für einen 3,3-V-GPIO wirklich ungefährlich? Ich sehe nicht, was für den GPIO hier gefährlich sein sollte. Aber ich bin auch kein Spezialist in Elektronik und frage mich, ob der Teufel irgendwo im Detail steckt.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Ich habe deine Beschaltung augenscheinlich nicht verstanden. Manchmal hilft ja ein Schaltbild...
    sieht das so aus ?

    Anhang 35242

    Siro
    Geändert von Siro (02.10.2020 um 17:38 Uhr)

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Doch, du hast sie völlig richtig verstanden, so wie du sie in #4 aufgezeichnet hast.

    Bild hier  

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Es könnte ein Problem geben beim Einschalten.
    Wenn die 3,3 Volt eher anstehen als die 5 Volt, dann kann die LED noch nicht leitend werden und damit nicht begrenzen.
    Sollte dann schon ein erhöhtes Signal am GPIO liegen gibt es keine Spannungsbegrenzung.
    Meist werden die 3,3 Volt jedoch abgeleitet von den 5 Volt, also dahinter ein extra Spannungsregler,
    aber das sollte man sich wirklich nochmal genau anschauen.

    Wenn der Controller startet, dann sind die Eingänge meist auf Input geschaltet
    und wenn dann kein Pullup oder Pulldown aktiv ist, dann "schwebt der Eingang"
    Dann liegt an deinem GPIO auch eine erhöhte Spannung. Gemessen

    Ist ein internen Pullup aktiviert (10K) dann begrenzt die LED auf 3 Volt, wie mein Testbrett grade zeigt.
    Bei 50K Pullup auf 3,33 Volt
    Bei Pulldown zeigt sich gleiches Verhalten.

    Schliesse ich eine "niederohmige Quelle an den GPIO an, dann ist jeglicher Schutz verloren.
    Ich habe mal ein 5 Volt Signal über 1 K eingespeist, nun steigt die Spannung am GPIO auf 4,9 Volt.
    Geändert von Siro (02.10.2020 um 19:19 Uhr)

Seite 1 von 5 123 ... LetzteLetzte

Ähnliche Themen

  1. [C, C++] GPIO lib: pigpio oder WiringPi?
    Von HaWe im Forum Raspberry Pi
    Antworten: 0
    Letzter Beitrag: 15.10.2015, 18:19
  2. Antworten: 11
    Letzter Beitrag: 01.10.2014, 07:25
  3. 20 RGB-LEDs - Do/Loop oder Timer
    Von Monday im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 26.04.2009, 22:43
  4. Schaltplan für nen simplen Roboter
    Von Lauda im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 4
    Letzter Beitrag: 31.01.2009, 08:45
  5. Welcher ARM für simplen FrameGrabber?
    Von toemchen im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 16
    Letzter Beitrag: 20.09.2006, 16:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen