- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 50

Thema: GPIO-Schutz mit simplen Dioden oder LEDs?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459

    GPIO-Schutz mit simplen Dioden oder LEDs?

    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
    899
    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 Genie
    Registriert seit
    07.04.2015
    Beiträge
    899
    Zitat Zitat von Gnom67 Beitrag anzeigen
    Vielleicht fehlen mir die Grundlagen, um deine Frage richtig einzuordnen... aber ich sehe weder dein Problem noch einen Zusammenhang mit meiner Frage.
    Ich habe Deine Anfrage so verstanden, dass Deine geplante Diodenpegelkonvertierung sowohl für Ein- als auch für Ausgänge verwendbar ist.
    Wenn Du z.B. an den GPIO einen BS170 hängst (einen FET, der erst bei ca. 4..5V sauber durchzuschalten beginnt), wie genau soll die erforderliche Pegelwandlung aussehen?
    Bitte Schaltbild malen, Zustände des GPIO einzeichnen inklusive der daraus folgenden Spannungen/Strome (für alle beteiligten Komponenten, also bis hin zum Transistor).

    Ob Dir Grundlagen fehlen, kann ich aus der Ferne nicht sagen. Aber mal so als Test:
    Dass an einer Diode nur Spannung abfällt, wenn Strom fließt, ist Dir bewusst? Eine Diodenkennlinie hast Du auch schon mal intensiver betrachtet und einen Arbeitspunkt darin ermittelt? Impedanz oder Innenwiderstand einer Quelle sagt Dir auch etwas? Auch nicht unerheblich bei so Schaltgeschichten sind vielleicht noch Kenntnisse über das kapazitive Verhalten von Bauteilen?
    Geändert von Holomino (03.10.2020 um 12:13 Uhr)

  8. #8
    HaWe
    Gast
    Zitat Zitat von Gnom67 Beitrag anzeigen
    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?
    beim Nachrechnen sehe ich keinen Fehler, der Spannungsabfall an der Diode zusammen mit dem Vorwiderstand begrenzen Spannung und Strom.
    Die einzige Frage, die mir unklar bleibt, ist:
    wozu?
    wenn man mit 3v3 signal levels arbeitet, verwendet man 3v3 voltage levels, warum also mit 5V verbinden?

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Es gibt nun mal Konfigurationen, wo es einfach so ist und wo ein Level Shifter auch einen völlig falschen Effekt auf die Schaltung hätte. Es ist so gegeben und ließe sich natürlich mit passenden Schaltung an die 3,3 V anpassen. Aber meine Frage zielt darauf ab, ob so eine Anpassung überhaupt nötig ist. Die gegebene Wiederstand-LED-Kombination kann man natürlich über einen Transistor schalten.
    Die einzige Frage, die mich dabei antreibt, ist:
    wozu?
    Wenn diese Schaltung für den 3,3-V-GPIO ungefährlich ist, warum sollte man dann einen Level Shifter, Transistor oder anderes benutzen?

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Für solche Zwecke, wo LEDs angesteuert werden sollen, könnte auch ein ULN2803 eingesetzt werden, s. Beschreibung. Das ist ein 8Pin-DIP.
    Wozu? - Ausgänge sind als Ausgänge konzipiert und gewährleisten so einen dauerhaften Betrieb, wenn die Rahmenbedingungen eingehalten werden (wie max. zulässiger Strom).
    Wenn Du an einen Ausgang eine höhere Spannung anlegst, als der Ausgang selber hat, fließt der Strom zum Ausgang hin. Wohin fließt der dann und was ist die Folge?

Seite 1 von 2 12 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
  •  

Solar Speicher und Akkus Tests