PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPIO-Schutz mit simplen Dioden oder LEDs?



Gnom67
01.10.2020, 20:12
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?

Holomino
02.10.2020, 10:24
Hmm.
Was passiert, wenn die am Ausgang angeschlossene Komponente gar kein Potential bietet, aber für seine Funktion Eines erwartet (z.B. FET)?

Gnom67
02.10.2020, 11:17
Vielleicht fehlen mir die Grundlagen, um deine Frage richtig einzuordnen... aber ich sehe weder dein Problem noch einen Zusammenhang mit meiner Frage.

Siro
02.10.2020, 11:40
Hallo Gnom67,

wenn ich das richtig verstanden habe, meinst Du folgende Beschaltung.
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

Gnom67
02.10.2020, 12:40
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?

Siro
02.10.2020, 13:14
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:
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...

Gnom67
02.10.2020, 13:49
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.

Siro
02.10.2020, 16:30
Ich habe deine Beschaltung augenscheinlich nicht verstanden. Manchmal hilft ja ein Schaltbild...
sieht das so aus ?

35242

Siro

Gnom67
02.10.2020, 17:09
Doch, du hast sie völlig richtig verstanden, so wie du sie in #4 (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs?p=661761&viewfull=1#post661761) aufgezeichnet hast.

https://www.roboternetz.de/community/attachment.php?attachmentid=35238&d=1601635200&thumb=1 (https://www.roboternetz.de/community/attachment.php?attachmentid=35238&d=1601635200)

Siro
02.10.2020, 17:33
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.

Gnom67
02.10.2020, 18:51
Ich kann deinen Ausführungen leider in weiten Teilen gar nicht wirklich folgen.

Was das damit zu tun hat, wann wo 3,3 oder 5 Volt anliegen, kann ich nicht nachvollziehen. Wenn die 5 V nicht anliegen, kann dem Pi doch sowieso nichts passieren. Und beide Fälle (0 Volt oder 3,3 Volt am Ausgang sind doch abgedeckt, ebenso wie die Schaltung als Eingang mit Pulldown.

Wenn der Eingang beim Einschalten "schwebt" tut er das halt. Wieso dann "eine erhöhte Spannung" anliegt, versteh ich nicht. Meine Frage ist schlicht: Gibt es einen schlüssigen Grund, warum der Eingang Schaden nehmen sollte? Wenn ein Pulldown da ist, auf keinen Fall. Ohne Pulldown...? Keine Ahnung. Das müsstest du mir dann aber genauer erklären, was genau da passieren soll.

Die Ausführungen zum Pullup sind nicht sinnvoll - warum sollte man ein active high Signal an einen Eingang mit Pullup legen? Höchstens versehentlich.
Beim Pulldown ist die Sache klar - 5 v - Diodenspannung = Eingangsspannung. Den 1-K-Widerstand muss man natürlich auch noch berücksichtigen (Spannungsteiler).

Das mit der niederohmigen Quelle versteh ich nicht. Selbstverständlich haut es mir den Eingang kaputt, wenn ich 5 V ohne Strombegrenzung an einen nicht 5-V-toleranten Eingang gebe.
Was angeschlossen wird, habe ich aber doch eindeutig vorgegeben: 5 V über 1000 Ohm und eine LED. Sonst nichts.

Die Frage ist also nach wie vor: Kann am Eingang (nicht 5-V-toleranter 3,3-V-Eingang) irgendwas kaputtgehen, wenn ich diese Anordnung aufbaue. Dabei geibt es maximal 5 Konfigurationen:
- Ausgang low (hier sehe ich keine Gefahr)
- Ausgang high (hier sehe ich keine Gefahr)
- Eingang mit Pulldown (intern oder extern - spielt meiner Meinung nach kaum eine Rolle; hier sehe ich keine Gefahr)
- Eingang mit Pullup (sinnlos - aber könnte natürlich passieren; hier sehe ich keine Gefahr)
- Eingang ohne Pullup/Pulldown (dazu hab ich noch keine wirklich feste Vorstellung)

- Zum letzten Fall sehe ich es aber so: Wenn der Widerstand des Eingangs endlich ist, müsste auch ein (extrem kleiner) Strom fließen, dann hätten wir wieder einen Spannungsteiler und den Diodenabfall, also kein Problem. Wenn der Widerstand des Einganges unendlich groß ist, fließt auch kein Strom - insofern keine Gefahr. Das Einzige, was mir da noch einfallen würde, ist, dass die 5 V sich vielleicht durch Leckströme der Diode am Eingang aufbauen können und dort eine Art kapazitive Spannung aufbauen, die irgendwie gefährlich sein kann. Aber damit kenn ich mich nun wirklich nicht aus. Letztlich ist der Eingang doch wahrscheinlich nichts anderes als das Gate eines Mosfet. Wenn der auf 3,3 V ausgelegt ist und man 5 V anlegen würde (bei extremer Spannungsbegrenzung durch die LED-Kennlinie und den Vorwiderstand), kann dann was passieren? Wie tolerant ist ein solcher Mosfet-Eingang bei extrem geringen Strömen?
Nur wie gesagt - ich bin kein Elektroniker. Deshalb die Frage: Schlummert da doch eine Gefahr?

Moppi
02.10.2020, 19:36
Dort hatte jemand ein Schaltbild zum GPIO (https://forum-raspberrypi.de/forum/thread/33467-welche-spannung-vertraegt-der-gpio-als-eingang/?postID=274939#post274939).

Gnom67
02.10.2020, 19:43
Das Schaltbild kenn ich natürlich. Dem ist aber auch nicht viel zu entnehmen. Außer vielleicht
- Der Eingang ist ein OPV, also hochohmig.
- es gibt die bereits genannten Schutzdioden, die bei Überspannung ableiten. Jede Spannung über 3,3 V führt also zu einem Stromfluss, der wiederum den Spannungsabfall der LED zur Geltung kommen ließe, welcher wiederum die Spannung so weit drückt, dass die Schutzdioden gar nicht wirksam werden müssten... ein Kreislauf, der sich bei 3,3 V und extrem geringem Strom durch die Schutzdioden stabilisieren müsste.

Siro
02.10.2020, 20:11
Hallo Gnom67,
wenn ich nicht möchte, dass an einem Pin eine unzulässige Spannung anliegt oder Strom fliesst, dann gibt es sicher viele Möglichkeiten dies zu verhindern.
Deine gezeigte Möglichkeit klang zunächst plausibel, hat sich aber in der Praxis "bei mir auf dem Steckbrett" nicht bewährt.
So bleibt mir nur die Feststellung diese Schaltung als "kritisch" zu bewerten.
Das ist ja weder bös noch negativ gemeint. Das kann ja auch funktionieren.
Da ich aus der Medinzintechnik komme, wird jede noch so kleine Abweichung/Unzulänglichkeit als nicht akzeptabel bewertet.
Das heisst aber nicht, dass es nicht funktionieren wird.
Es gibt ja andere Lösungen die Eingänge zu schützen. Man könnte auch Pegelkonverter benutzen.
Es muss nicht zwingend etwas Neues erfunden werden.
Ich halte die Vorgehensweise für ungeeignet, für Bastelzwecke ist das vermutlich okay, warum nicht....

Siro

Gnom67
02.10.2020, 20:26
Ich bin nun leider jemand, den ein "bei mir hat es nicht geklappt" nicht zufriedenstellt. Ich möchte gerne genau wissen, was da passiert.

Und es geht mir nicht darum, den Eingang zu schützen - dafür kenne ich Dutzende Lösungen.
Mir geht es NUR darum, ob DIE VORGELEGTE ANORDNUNG eine Gefahr für den Eingang ist oder nicht.

Ob und für was das am Ende geeignet ist, kann man meiner Meinung nach erst beurteilen, wenn man erklären kann, was da passiert. Es geht mir um die physikalische Erklärung der Spannungen und Stromflüsse und den Einfluss auf einen (3,3-V) Eingang.

Wobei sich im Zweifel gleich die nächste Frage anschließt. Kann man 5 V an so einen 3,3 V Eingang legen, wenn nur der Strom hinreichend begrenzt ist? Ein Widerstand von 25 K am Eingang bildet mit dem Pulldown einen Spannungsteiler 2/3 - bleiben 3,33 Volt bei einem Strom von 0,067 mA. Gefahrlos? Und was ist bei den anderen Konfigurationen (Pullup/down, Ausgang)?
Und wenn es mit 5 geht... was ist mit 7, 9, 12 oder 200 ???

Und natülich bedient man sich, wenn man lebenswichtige Geräte baut, der bekannten und bewähten Mittel. Aber darum geht es mir wie gesagt nicht.

HaWe
02.10.2020, 22:29
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?

Gnom67
02.10.2020, 22:55
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?

Moppi
03.10.2020, 06:56
Für solche Zwecke, wo LEDs angesteuert werden sollen, könnte auch ein ULN2803 eingesetzt werden, s. Beschreibung (https://www.conrad.de/de/ratgeber/handwerk-industrie-wiki/elektronik-bauteile/uln2803.html). 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?

Siro
03.10.2020, 06:59
Ich glaube wir sprechen noch immer von einer anderen Schaltung, daher nochmal die Nachfrage:
Meinst Du das so ?

35245

Moppi
03.10.2020, 07:08
@Siro

Die Frage war wohl nicht nach einem "GPIO-Schutz mit simplen Dioden oder LEDs (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs/page2)" gestellt, sondern, ob für die Beschaltung einer LED zwischen 5V und einem 3.3V-RasPi-Ausgang ein Schutz notwendig ist und wenn, was für einer. Oder ob man einfach die LED an 5V hängt, mit einem Widerstand natürlich, und dann an den Ausgang dran, der 3.3V hat. Wobei die LED vermutlich leuchten sollte, wenn der Ausgang auf 0V ist und aus sein sollte, wenn der Ausgang 3.3V hat.

Siro
03.10.2020, 07:14
Mir ist einfach noch nicht klar wo seine Led und wo sein Signal dranhängt. Da gibts es ja so einige Möglichkeiten.
Daher wäre eine exaktes Schaltbild sinnvoll. Wenn es so ist wie mein letztes Bild, dann kann ich nur sagen, es gibt kein Problem....
Dann muss er aber den Pulldown einschalten, oder extern einen dran machen.

Moppi
03.10.2020, 08:40
Ich denke, die Idee ist:

5V -> LED (-1.7V) -> 3.3V -> 3.3V Output, kein Stromfluß
5V -> LED (-1.7V) -> 3.3V -> 0V Input, Strom durch Vorwiderstand begrenzt

Für ersten Fall wäre vielleicht ein Spannungsteiler vor der LED sinnvoll, um auf jeden Fall danach weniger als 3.3V zu bekommen (bspw. 3.0V), die am Ausgang anliegen, damit wirklich kein Strom zum Ausgang hin fließt.

Holomino
03.10.2020, 11:04
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?

Gnom67
03.10.2020, 11:54
Für solche Zwecke, wo LEDs angesteuert werden sollen, könnte auch ein ULN2803 eingesetzt werden...

Ich wiederhole mich ja ungern, aber ICH SUCHE KEINE ALTERNATIVEN, UM DEN EINGANG ZU SCHÜTZEN. Die kenne ich alle!

Ich möchte wissen, ob der GPIO bei der von mir vorgelegten Beschaltung Schaden nehmen kann.

- - - Aktualisiert - - -


Ich glaube wir sprechen noch immer von einer anderen Schaltung, daher nochmal die Nachfrage:
Meinst Du das so ?

35245

Ich glaube, ich habe in #9 (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs?p=661771&viewfull=1#post661771) hinreichend deutlichgesag: JA, GENAU SO! Du kannst das Bild noch dreimal in verschiedenen Drehungen und Wendungen zeichnen... JA, genau so ist es gemeint.

- - - Aktualisiert - - -


@Siro

Die Frage war wohl nicht nach einem "GPIO-Schutz mit simplen Dioden oder LEDs (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs/page2)" gestellt, sondern, ob für die Beschaltung einer LED zwischen 5V und einem 3.3V-RasPi-Ausgang ein Schutz notwendig ist und wenn, was für einer. Oder ob man einfach die LED an 5V hängt, mit einem Widerstand natürlich, und dann an den Ausgang dran, der 3.3V hat. Wobei die LED vermutlich leuchten sollte, wenn der Ausgang auf 0V ist und aus sein sollte, wenn der Ausgang 3.3V hat.

Letztlich läuft es mehr oder minder darauf raus. ja.
Bei low würde die LED leuchten, bei high wäre die Spannungsdifferenz zwischen 5 und 3,3 Volt gerade so groß wie der Spannungsabfall in der LED und sie sollte nicht oder kaum leuchten.

Es geht mir aber weniger darum, ob oder wie sie leuchtet, sondern darum, ob der GPIO bei dieser Beschaltung mit 5 V in Kontakt kommt oder ob der Spannungsabfall der LED JEDERZEIT dafür sorgt, dass die Spannung am GPIO nicht kritisch wird.

- - - Aktualisiert - - -


Mir ist einfach noch nicht klar wo seine Led und wo sein Signal dranhängt.

Ich hoffe, es ist inzwischen klar.

- - - Aktualisiert - - -


Für ersten Fall wäre vielleicht ein Spannungsteiler...

Nein, die Schaltung soll NICHT verändert werden. Wie oft soll ich das noch sagen?

- - - Aktualisiert - - -


Ob Dir Grundlagen fehlen, ...

Ich weiß ja schon, dass hier einige dazu neigen, ihre Artgenossen für unerfahren zu halten... Du musst dir weder anmaßen, meine Fähigkeiten zu testen, noch irelevante Dinge wie Impedanzen, Innenwiderstände von Stromquellen und Kapazitäten anzubringen. Es geht hier schlicht um eine hgw LED in einem Gleichstromkreis. Wenn du dich im Glanz deiner Fachkenntnisse sonnen willst, bist du bei mir falsch.

Ich will weder Signale anlegen, noch Mosfets einbauen!!!

Ich will für die vorgelegte Schaltung einfach nur wissen, ob sie in IRGENDEINEM ZUSTAND DES GPIO (Eingang/Ausgang, mit oder ohne Pullups/Pulldowns) einen nicht 5-V-toleranten GPIO beschädigen kann.

Leider kann dazu offenbar niemand eine klare und begründete Aussage machen.

Holomino
03.10.2020, 12:24
Ok,
da Du meine Bereitschaft zur Hilfe scheinbar in den völlig falschen Hals bekommen hast und Deine bisherigen Ausführungen für mich einfach nur wirr scheinen, muss ich Dir sagen: Wenn Du jetzt noch ein zwischenmenschliches Problem hier aufbaust, kann ich Dir fachlich nicht helfen.

Nichtsdestotrotz, ich hab's so gelernt: Der bisher Deinen Vorstellungen scheinbar am nächsten kommende hier gepostete Schaltplan ist unvollständig, solange Innenwiderstand und Frequenz der Quelle nicht geklärt sind. Neben dem Wunsch, Deinen GPIO nicht zu zerstören sollte doch zumindest auch noch der Wunsch bestehen, den Pegel richtig zu erkennen, oder?

Gnom67
03.10.2020, 12:51
Betrachte einfach den statischen Zustand (f = 0 Hz) und wenn dir das zu abstrakt ist, nimm 0 < f < 1 Hz.
Und für die Stromquelle darfst du annehmen, dass der Innenwiderstand gering genug ist, um nicht relevant zu sein.

Siro
03.10.2020, 13:18
ich habe meine Schaltung nicht gedreht sondern das ist ein andere Variante.
Einmal liegt die LED fest an +5 Volt und einmal ist die LED der Porteingang.
Ich bin es aber auch Leid, da Du anscheinend nicht in der Lage bist ein Schaltbild zu liefern.

Holomino
03.10.2020, 13:36
SO kommen wir weiter:
OK, Dein GPIO ist als Input konfiguriert, der Widerstand des GPIO mit 1M angenommen. Der Vorwiderstand ist 10k, die Diode bricht bei 1,7V durch, 5V sind angelegt. Von der Quelle (0R) alleine über Vorwiderstand und GPIO-Widerstand wird der Strom auf maximal 4,95µA (5V/1,01M ohne den Spannungsabfall an der Diode) begrenzt.

Das ist ziemlich mickrig und man müsste schauen, ob der Spannungsabfall an der Diode bei so geringen Strömen noch 1,7V erreicht.
Das Diagramm "Forward Current vs. Forward Voltage" z.B. unter https://cdn-reichelt.de/documents/datenblatt/C500/RND%20135-00133_ENG_TDS.pdf lässt da nichts gutes erahnen. Die Kurve ist zwar nur bis ca. 1mA gezeichnet, wird aber tatsächlich zu 0 hin immer flacher.

Fazit: Es liegen mehr als 3,3V am GPIO. Wenn das trotzdem gut geht, liegt es alleine an der Schutzdiode im GPIO. Die überbrückt quasi den Innenwiderstand des GPIO, indem sie bei einem Pegel von > 3,3V anfängt zu leiten. Dann wirkt nur noch der Vorwiderstand mit 10k als Strombegrenzer, der Strom und damit auch der Spannungsabfall an der Diode werden größer. Das pegelt sich dann schätzungsweise auf 3,7..4V am GPIO ein, da auch die Schutzdiode einen Spannungsabfall bewirkt.

Also, die Sache schwimmt irgendwo zwischen kann gutgehen oder auch nicht (eigentlich liegts an der Schutzschaltung). Diese Unsicherheit wäre mit einem stinknormalen Spannungsteiler beseitigt.

(Leuchten wird die LED so auch nicht)

Gnom67
03.10.2020, 13:44
Ich hab schon in 9 gesagt, dass die Zeichnung stimmt. Und wenn du später statt 5 V "Signal" schreibst, ist das das gleiche. Ein 5 V Signal, statsiche 5 V oder von mir aus auch ein neiderfrequentes Signal mit einem Pegel von 5 V und sucht euch eine Frequenz raus... Es geht mir um die 5 V und die Kette Widerstand-LED und die Wirkung auf den Eingang. Ob das "Signal" oder "5 V" heißt, spielt doch gar keine Rolle - es sind 5 Volt! Erklär mir mal den Unterschied zwischen "Signal" und "5 V". Und NEIN, es geht nicht um hochfrequente Signale.

Siro
03.10.2020, 14:30
35246
Für mich ist es nicht das Gleiche und die Schaltungen verhalten sich nunmal völlig unterschiedlich....

Gnom67
03.10.2020, 15:24
Hör auf, hier die Leute zu verwirren!
Ich beziehe mich von Anfang an ausdrücklich auf deine Schaltung in #4 (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs?p=661761&viewfull=1#post661761) und deine Schaltung in #19 (https://www.roboternetz.de/community/threads/75306-GPIO-Schutz-mit-simplen-Dioden-oder-LEDs?p=661784&viewfull=1#post661784) ist identisch, bis auf die Bezeichnung "Signal" statt "5 V".
Alle anderen Zeichnungen sind unzutreffend!


Dein GPIO ist als Input konfiguriert, der Widerstand des GPIO mit 1M angenommen... indem sie bei einem Pegel von > 3,3V anfängt zu leiten. Dann wirkt nur noch der Vorwiderstand mit 10k als Strombegrenzer ....

Sinnvollerweise wäre hier ein Pulldown zu schalten - womit dann 10-50 KOhm gelten und nicht die 1 MOhm. Trotzdem geht es mir tatsächlich auch darum, die vielleicht ungeplanten aber eben doch (versehentlich) möglichen Konstellationen mit PullUP oder ganz ohne Pull-Widerstand zu betrachten.
Die Schutzdiode wird erst bei 3,3 V + Spannungsabfall der Diode, also bei ca. 3,7 V leiten. Bis dahin dürfte der GPIO also sicher sein. Sofern der GPIO selbst bei 1 MOhm und 3,3 V also 3,3 µA verkraftet, sollten 3,7 µA nun auch nicht das größte Problem sein.
Mein Widerstand ist 1 K, nicht 10 K.

Also für den Input sieht es so aus:
- Eingangsspannung am GPIO < 3,3 V - unproblematisch.
- Eingangsspannung am GPIO 3,3 - 3,7 Volt: Es bildet sich ein Gleichgewicht zwischen Spannungsabfall an der LED (1,7 bis 1,4 Volt) und dem Strom (bei 50 k Pulldown oder ggf. auch 10 MOhm Widerstand des GPIO). Dieses Gleichgewicht läge unter Beachtung der Kennlinie eher im unteren Bereich des Spannungsabfalls, also bei sehr geringem Strom und eher höherer Spannung am GPIO. Bis 3,7 V dürfte das aber unproblematisch sein.
- Eingangsspannung am GPIO > 3,7 Volt: Die Schutzdiode leitet, es bildet sich ein Gleichgewicht aus Spannungsabfall an der LED (< 1,3 Volt) und dem Strom (der laut Kennlinie bei unter 1,3 Volt extrem gering sein dürfte). Dieses Gleichgewicht dürfte es nicht geben, da bei durchgeschalteter Schutzdiode der Spannungsabfall und somit der Strom an der LED steigen müsste, bis die Schutzdiode wieder abschaltet.

Für den Ausgang gilt
- Ausgang low: Spannungsabfall an der LED > ca. 1,7 (je nach LED) Volt, Strom ca. (5-1,7) / 1000 = 3,3 mA. Spannung am GPIO < 3,3 V - kein Problem.

- Ausgang high: Spannungsabfall an der LED gering, angenommen 1,2 Volt, Strom sehr gering (5 - 3,3 - 1,2) / 1000 = 0,1 mA. Es müsste sich auch hier ein Gleichgewicht einstellen, das vermutlich bei sehr geringem Strom liegt. Für den GPIO dürfte das ungefährlich sein, da die wenigen mA-Bruchteile für den Treiber vernachlässigbar sein dürften. Sollte die LED trotzdem noch leuchten, könnte man mit einer weiteren Diode in Reihe die Schwellenspannung weiter erhöhen, bis kein Strom mehr fließt. Die Rückwirkung auf die obigen Fälle müsste man dann noch mal bedenken - aber eine Gefahr für den GPIO ergibt sich jedenfalls dadurch ebenfalls nicht.

Bleibt die Fragem ob es doch noch Faktoren gibt, die den GPIO bei der genannten Beschaltung gefährden.

Holomino
03.10.2020, 16:01
Es mag sein, dass ich hier an der völlig falschen Stelle jetzt zum wiederholten mal stolpere.
Trotzdem: GPIO als Ausgang, dann Widerstand und LED an "Verbraucher". Dir ist bewusst, dass die LED in Sperrrichtung zwischen Pin und "Verbraucher" liegt?

Auch noch mal: Wenn Du mithilfe des PullDowns einen Spannungsteiler baust (tatsächlich sind Pulldown und Vorwiderstand gemeinsam nichts anderes), warum brauchst Du dann noch die Diode?

Ganz zum Schluss: Ich mag mich hier irren. Meiner Meinung nach sind die Schutzdioden zum Ableiten von Transientenspitzen (unvermeidbar bei steilflankigen Schaltsignalen), nicht jedoch zum Ableiten einer statischen Überspannung. Letztlich wird der Überstrom auf Ub umgeleitet. Bekannt sind mir z.B. Phänomene, dass ein AVR sich dank großzügig dimensionierter Schutzdioden tatsächlich über einen GPIO betreiben lässt (AVR-Board abgeschaltet, externe Schaltung zieht nen Pegel auf High, das reicht ohne Vorwiderstand, um den AVR zu betreiben). Mit einem hochohmigen Spannungsteiler oder Vorwiderstand geht das Ding in die Knie. Mit einer Diode (und dem entsprechend kleineren Vorwiderstand) reicht diese Strombegrenzung unter Umständen nicht.

Moppi
03.10.2020, 16:02
Mal eine andere Frage: warum willst Du unbedingt eine invertierendes Signal an der LED haben? Andere Leute schalten mit einem Ausgang ganz normal eine LED (https://thepihut.com/blogs/raspberry-pi-tutorials/27968772-turning-on-an-led-with-your-raspberry-pis-gpio-pins), in Reihe mit einem Widerstand. Die Logik ließe sich per Software umkehren.

Wenn dort Schutzdioden verbaut sind, muss nur der Strom begrenzt werden, durch einen Widerstand (der beeinflusst aber das Signal), zwischen 5V-Pin und 3.3V-Pin. Ich habe da schon gelesen, dass manche Leute ~10K nehmen. Zwischen seriellen Schnittstellen (UART) funktioniert das mit dem Reihenwiderstand aber u.U. nicht, auch nicht mit Spannungsteiler (Einflußnahme auf das Signal). Eine Diode könnte auch außerhalb angebracht werden. Verbindung der 5V über den Widerstand zum 3.3V-Eingang und am 3.3V-Eingang eine Diode in Flußrichtung an die Versorgungsspannung (also 3.3V).

Gnom67
03.10.2020, 16:21
Was verstehst du denn unter "Verbraucher", wenn der GPIO 3,3 V liefert und an der anderen Seite 5 V anliegen? Wo ist denn da die LED in Sperrrichtung?
Ist denn die Beschreibgung bzw. die mehrfach bezogene Zeichnung aus #4 (https://www.roboternetz.de/community/attachment.php?attachmentid=35238&d=1601635200) so missverständlich?

DC 5 Volt permanent anliegend. GPIO wahlweise
- Input mit Pullup
- Input mit Pulldown
- Input ohne Pull-R
- Output low
- Output high

Betrachtung aller 5 Zustände der Vollständigkeit halber, um in jedem Fall eine Beschädigung des GPIO auszuschließen.


ICH WILL KEINEN SPANNUNGSTEILER BAUEN! ICH KENNE ALLE DIESE SCHALTUNGEN!!!
ICH WILL EINFACH NUR WISSEN, OB DER OBEN GENANNTE AUFGAU DEN GPIO SCHÄDIGEN KANN!!!!
DIE DIODE IST EINFACH DA - NIMM DAS DOCH MAL SO HIN!!!

Deinen weiteren Ausfürhungen kann ich nur mit Mühe folgen. Klar stellt sich die Frage, wie viel Energie eine Schutzdiode ableiten kann. Angesichts der geringen Ströme und der Überlegungen oben ist aber erstens fraglich, ob die Schutzdioden überhaupt wirksam werden und zweitens ist fraglich, ob sie angesichts der geringen Ströme überlastet werden können.
Wenn du sagen möchtest, dass man die paar mA, die ein AVR braucht statt über Vcc auch über einen GPIO einfüttern kann, dann ist das natürlich etwas gewagt - und entspricht auch in keiner Weise dem, was ich beschreibe.

- - - Aktualisiert - - -


Mal eine andere Frage: warum willst Du unbedingt eine invertierendes Signal an der LED haben? Andere Leute schalten mit einem Ausgang ganz normal eine LED (https://thepihut.com/blogs/raspberry-pi-tutorials/27968772-turning-on-an-led-with-your-raspberry-pis-gpio-pins), in Reihe mit einem Widerstand. Die Logik ließe sich per Software umkehren.

Nimm es doch einfach mal so hin!!! ICH WILL WISSEN, OB DIESE SCHALTUNG EINE GEFAHR FÜR DEN GPIO IST. ICH SUCHE KEINE ALTERNATIVEN!

Holomino
03.10.2020, 16:41
Wo liegen denn da 5V an? Wenn Du einen GPIO als Ausgang konfigurierst, tust Du dies doch, um ihn an eine Gegenstelle, also einen Eingang anzuschließen. Wieso sollte der 5V liefern?

Gnom67
03.10.2020, 16:45
Da liegen 5 Volt an, weil ich 5 V anlege. Punkt!

(Wenn da keine 5 Volt anliegen, ist die LED in Sperrichtung - das hast du völlig richtig erfasst - und dann ist das alles ziemlich unsinnig.)

Erspart mir bitte weitere Diskussionen darum, warum das so ist - es ist so und ich suche dazu auch keine Alternativen.

Holomino
03.10.2020, 17:00
5V an einen Eingang zu legen und dann mit einer LED, einem Vorwiderstand und einem GPIO schalten zu wollen...
...das ist eine sehr eingeschränkte Sicht auf Elektronik.

Gnom67
03.10.2020, 17:05
Keinesfalls! Nur weil du das nicht akzeptieren willst, muss ich kein Blödmann sein. Du kannst deine Beleidigungen auch gerne offener aussprechen - ich steh da drüber.
Diese Schaltung ist weit weniger abwegig, als es deiner Wahrnehmung offenbar zugänglich ist.

Wenn du keinen sachlichen Beitrag zu meiner Frage leisten kannst, steht es dir frei, dich auch gerne gänzlich enthalten.

Die Frage ist nach wie vor: Besteht eine Gefahr für einen nicht 5-V-toleranten GPIO (Ein-/Ausgang), wenn man diese Schaltung so anschließt. Wenn ja, warum, wenn nein, warum nicht. Ich sehe keine und habe meine Überlegungen dargelegt. Vielleicht hat aber irgendjemand hier Kenntnisse, die zu anderen Schlüssen führen.

Holomino
03.10.2020, 17:41
Nein, mach doch. Selber Schuld, wenn Dir der Raspi abbrennt.
Wenn Du Dich offenbar lieber damit beschäftigst, die persönliche Seite Deines Problems zu beleuchten, statt uns zu helfen, Dir zu helfen, kann Dir hier keiner helfen.

Kennst Du doch: Dem ist nicht mehr zu helfen...

Gnom67
03.10.2020, 18:01
Tjy, allwissend Holomino...
Genau darum geht es mir... ob diese Schaltung für einen 3,3-VGPIO (wie z. B. beim Pi) gefährlich ist oder nicht.
Deine Reaktion ist unverständlich. Wenn du mir sagen kannst WARUM der Pi bei dieser Beschaltung kaputt gehen soll, dann bin ich ganz Ohr.
Offenbar kannst du aber nicht mehr, als nur diffuse Warnungen geben, ohne diese begründen zu können.

Wenn du mir helfen möchtest, dann beantworte meine Frage und begründe deine Antwort.
Kannst du nicht? Schade. Dann nutze deine kostbare Zeit doch einfach anderweitig.

Holomino
03.10.2020, 18:52
Wenn du mir helfen möchtest, dann beantworte meine Frage und begründe deine Antwort.
Kannst du nicht? Schade. Dann nutze deine kostbare Zeit doch einfach anderweitig.
Kann ich wirklich nicht. Für Sonderpädagogik bin ich zu alt.

Siro
03.10.2020, 21:48
Herr Von und Zu Gnom67,
Du hast es es bis jetzt nicht geschaft eine Schaltung zu beschreiben oder mal aufzuzeichnen.
Du scheinst auch völlig Beratungsresistent zu sein.
Auf welchem Stern lebst Du eigentlich.....
Ich kann nur hoffen, dass durch diesen, meinen negativen Kommentar ich hier endlich aus diesem Forum ausgesperrt werde.
Ist das ein Verarschungsforum, oder wa soll das hier....

Siro

Ich bin raus. keinen Bock auf diesen MÜLLL......

Gnom67
03.10.2020, 22:56
Ich wüsste nicht, wie oft ich noch auf die Richtigkeit DEINER ZEICHNUNG aus Beitrag #4 verweisen müsste, bis du es begreifst. Und auch beschrieben ist mein Anliegen hinreichend.

Du kannst dich gerne abmelden, wenn es dir nicht passt, dass jemand hier klare Antworten und Begründungen erwartet, statt sich auf die gebetsmühlenartigen Wiederholungen irgendwelcher Halbwahrheiten zu berufen. Offenbar besteht ein gefestigter Glaube darein, dass der GPIO Schaden nimmt... aber begründen kann es keiner hier. Es gilt die alte Regel, dass nicht sein kann, was nicht sein darf. Allerdings überzeugt mich diese Haltung wenig.

Da hilft übrigens auch geballte Polemik nicht. Sie offenbart nur eine bemitleidenswerte Melange von Eitelkeit und Unwissenheit.

Moppi
04.10.2020, 06:23
Offenbar besteht ein gefestigter Glaube darein, dass der GPIO Schaden nimmt... aber begründen kann es keiner hier.

Ich hatte in meinem Beitrag #33 dazu etwas ergänzt. Wiederholung: Wenn Schutzdioden verbaut sind, sollte dort kein Schaden entstehen, Du brauchst nur einen Widerstand, um den Strom durch diese Dioden zu begrenzen. Falls keine vorhanden wären und also das Bild von 2017 falsch wäre, könntest Du außen am GPIO-Pin eine Schutzdiode ergänzen. Holomino hat in #32 auch auf die Schutzdioden hingewiesen. Siro hatte auch schon geschrieben, dass er denkt, dass dem GPIO nichts passiert.

Gnom67
04.10.2020, 11:56
Leider bewegt sich trotzem alles im Bereich von relativ oberflächlichen Mutmaßungen. Auf meine Beschreibung möglicher Mechanismen ist bisher niemand eingegangen. Stattdessen blafft man mich an, ich hätte eine "eingeschränke Sicht auf Elektronik" sei "beratungsresistent", "selber Schuld, wenn [...] der Raspi abbrennt" und ein Fall für die "Sonderpädagogik". (Der eine oder andere hier sollte vielleicht mal über sein Menschenbild reflektieren.)

Dass die Schutzdioden gewisse Grenzen haben, ist klar. Sie können Spannungsspitzen von mehreren Hundert Volt über sehr kurze Zeiträume ableiten. Prinzipiell muss es aber auch eine Belastungsgrenze für einen dauerhaften Strom durch diese Dioden geben. In welcher Größenordnung die liegen könnte, wäre interessant. Für den Broadcom-Chip des Pi gibt es keine öffentlich bekannten Spezifikationen. Aber vielleicht hat ja jemand grundlegende Kenntnisse, wie solche Schutzdioden in Prozessoren dimensioniert sind.
Ich habe die Aussage gefunden, dass in Prozessoren die Gate-Transistoren größer gebaut werden als die Strukturen im inneren des Chips, um sie robuster zu machen. NXP beschreibt das in einem Dokument von 2017 (https://www.nxp.com/docs/en/application-note/AN4731.pdf), das Strukturbreiten von 350-55 nm auflistet - der Chip auf dem Pi3B+ hat 40 nm, der auf dem Pi4B hat 28 nm. Einerseits werden die immer kleineren Strukturen immer empfindlicher andererseits ist es naheliegend, die IO-Komponenten bei neuren Chips nicht weniger robust auszulegen als bisher.
Für einen 328P ist ein Injection Current von +/-1 mA bei Vcc=5V und +/-5 mA bei Vcc=0V angegeben. Nach dem, was ich über Injection Current gelesen habe, würde das für diesen Chip bedeuten, dass man 1 mA durch die Schutzdioden leiten kann. Betreibt man den 328P an 5 Volt und legt 6 Volt an einen Eingang, dann müsste man den Strom auf 1 mA begrenzen. Dazu wäre ein Widerstand nötig mit (6 - 5 - 0,4) / 0,001 = 600 Ohm.
Überschreitungen des Injunction Current Limits kann zu Fehlfunktionen führen (wie vielleicht die von Siro bemerkten Fehlfunktionen des ADC). Ich habe auch gelesen, dass es für schnelle transiente Spannungsspitzen (ESD) zusätzliche Schaltkreise (neben den Schutzdioden) gibt. Das deutet darauf hin, dass die Schutzdioden "langsamere" Spannungsspitzen oder auch dauerhafte Ströme bewältigen können. Innerhalb der Schwelle, die von den Dioden abgedeckt wird, ist keine Strombegrenzung nötig (Vcc - 0,5 V bis Vcc +0,5 V beim 328P).
Das Dokument von NXP beschreibt, dass das Injection Current Limit für den Worst Case (nämlich den ausgeschalteten Prozessor - Vcc = 0 V) ausgelegt sein sollte. Demnach müsste ein 6 V Signal mindestens mit einem 6-K Widerstand abgesichert sein. Im eingeschalteten Zustand (Vcc = 5 V) könnte man dann sogar 11 V anlegen. Das gleiche Dokument sagt übrigens auch, dass 1 mA für das Current Injection Limit eine allgemein annehmbare Größe ist. (Beim 328p ist das Injection Current Limit für Vcc = 0 Volt größer als für Vcc = 5 V, nämlich 5 mA gegen 1 mA. Mit einem 1-K-Widerstand wäre man also im ausgeschalteten Zustand gegen 5 V abgesichert, im eingeschalteten sogar gegen 6 Volt. NXP hat hier alledings die Diodenspannung außer Acht gelassen, die meine Meinung nach noch dazu kommen müsste - also wären 5,4 bzw. 6,4 Volt sicher.)
Stromspitzen über diesem Wert werden in Datenblättern offenbar auch in Form zulässiger akkumulierter Überschreitungen als Zeit (z. B. 60 h) spezifiziert. Injectio Current Spitzen über 1 mA mit bekannter Länge können also über diese Zeit in eine erlaubte maximale Anzahl derartiger Spitzen über die Lebenszeit des Gerätes umgerechnet werden. Das gilt demnach auch für Over- und Undershoots auf Datenleitungen - so dass eine maximale Datenübertragungsmenge berechnet werden kann. Jedes Bit erzeugt eine Spitze im ns-Bereich... da läppern sich dann über die Terabytes auch einige Stunden Overcurrent zusammen.
In dem Dokument wird auch explizt auf Fehlfunktionen von ADCs hingewiesen. Auch können Überschreitungen des Current Injection Limit an einem Pin die benachbarten Pins beeinträchtigen.

Die Messkurve eines NXP-Chips zeigt die Spannungen und Ströme. Bei einem Stromlimit von hier 2,5 mA bleibt die Spannung unter dem absoluten Maximum von 6 Volt. Würde man hingegen 6 Volt ohne Strombegrenzung anlegen, würde der Strom auf 3,75 mA steigen, was die Grenzen überschreitet.

35247

Vergleichbare 1 mA angenommen, könnte man also einen Raspberrypi GPIO an 5 V anschließen. bei Vcc = 0 V (aus) wäre ein Widerstand von 5000 Ohm ausreichend. Bei Vcc = 3,3 V (ein), würde sogar ein Widerstand von (5 - 3,3 - 0,3) / 0,001 = 1400 Ohm genügen. Der zusätzliche Spannungsabfall durch eine LED/Diode kann hier nur zu einer weiteren Senkung des Stroms führen. Wobei dann schon beim geringst denkbaren Spannungsabfall einer normalen Diode (0,4 V) der Strom mit einem 1000 Ohm Widerstand unter 1 mA liegt. Das entspricht dem Widerstand, der in der Schaltung angenommen ist. Um den Pin auch bei ausgeschaltetem Gerät zu schützen, müsste man 5600 Ohm haben. Bereits der Anschluss von 3,3 V an einen ausgeschalteten 3,3-V-Chip müsste nach dem NXP-Dokument die Limits überschreiten, da die Schutzdiode dann auf 0 V liegt und folglich ein Strom fließt. Die Begrenzung auf 1 mA wäre nur eingehalten, wenn der Widerstand mindestens (3,3 - 0,4) /0,001 = 2900 Ohm beträgt. (Das alles bezogen auf einen Input-Pin ohne Pullup/-down, was die Rechnung noch etwas ausweiten würde. Output-Pins mit ihrem Source-/Sink-Vermögen sehen noch mal ganz anders aus.) Erstaunlicherweise wurde sowas noch nie gefordert. Während eine Spannung von 1,7 V über Vcc = 3,3 V als Tabu gehandelt wird, spricht niemand über eine Spannung von 3,3 V über Vcc = 0 Volt.

Gibt das vielleicht Anlass, sich mit dem Thema etwas tiefer auseinanderzusetzen als es sich in den obigen Schmähungen mir gegenüber manifestiert?

Moppi
04.10.2020, 13:26
Das ist wie mit den nodeMCU ESP-12E, die ich verwende und den ATmega328P-PU.
Hier begehe ich gleich mehrere Todsünden. Nicht nur dass ich die 328P mit
3.3V und bei 16MHz betreibe, wenn ich das für richtig und besser halte.
Sondern ich verbinde auch die Ein-und Ausgänge von einem mit 5V gespeisten
328P-PU mit dem nodeMCU ohne einen Pegelumsetzer oder Widerstände dazwischen.
Sowohl bei I2C, als auch bei UART-Verbindungen. Aber hier habe ich
inzwischen eine gewisse Erfahrung und viel drüber gelesen, wie andere damit
umgehen.
Manchmal muss man auch was riskieren und einfach ausprobieren, mit etwas Pech
geht das kaputt. Kann mir auch noch passieren, ist es aber bis jetzt nicht.

Gnom67
04.10.2020, 13:33
Das ist aber nun wirklich außerhalb der Spezifikationen, wenn du ihn mit 3,3 V betreibst und 5 V an die Eingänge hängst - ohne Widerstände. Ein 1,5-€-AVR-Chip wäre kein großer Verlust - aber wenn das funktioniert, sind die Schaltkreise wohl noch um einiges belastbarer als das Datenblatt angibt.
Dass du da keinerlei Probleme hast, erstaunt mich. Jedenfalls würde wohl die große Mehrheit in jedem themenbezogenen Forum entsetzt aufschreien, wenn sie das liest.

Moppi
04.10.2020, 13:44
Umgekehrt, das nodeMCU ist 3.3V, 328P-PU entweder 3.3V oder 5V. Ein 328P bekommt nur 3.3V, aber das nodeMCU schon 5V am Eingang ab.
Wobei es gut war, drüber gesprochen zu haben. Weil ich einen Widerstand zwischen Ausgang eines 5V-betriebenen 328P und Eingang eines mit
3.3V betriebenen 328P vergessen habe. Liegt dran, dass ich noch nicht wusste, mit welcher Spannung ich bei dem 4ten 328P arbeiten will. Tja,
nun sind es 5V und kein Widerstand. Werde ich sehen, ob die Schutzdioden das wegpacken, mit der Hoffnung, dass zwischen den 328P-PU kein
besonders hoher Strom zwischen Ausgang und Eingang fließt. Die Eingänge sind ja doch hochohmiger(?). Wenn es schief geht, habe ich mir wieder
was Brauchbares eingeprägt :)

Holomino
04.10.2020, 14:11
Gibt das vielleicht Anlass, sich mit dem Thema etwas tiefer auseinanderzusetzen als es sich in den obigen Schmähungen mir gegenüber manifestiert?

Nein. Vollständiger Schaltplan her, statt seitenweise Prosa.
Liefer endlich!

Gnom67
04.10.2020, 14:14
Naja, das sind keine Vergleichbaren Fälle, denn I2C und UART arbeiten beide mit Leitungen, die Standardmäßig von einem Pullup auf ihren Pegel gezogen werden. Das Signal zieht die nur auf GND runter. Die Push-Pull-Driver eines Ausgangs dürften hier nicht aktiviert werden. Die Ströme sind hier gering.

Wenn du einen Arduino Pin mit 5 V als Ausgang (max 40 mA) auf einen 3,3 V Eingang des MCU legst, müsste es eigentlich zum Schaden führen. Das Datenblatt des ESP8266 gibt aber dazu nicht viel her.

Hochohmig ist nett, wenn die Spannungsgenzen eingehalten werden - dann wird auch der Strom begrenzt. 3,3 V kannst du an den ESP (als Eingang) ohne Widerstand anschließen. Wenn du aber 5 V anschließt, werden die Schutzdioden leiten und ggf. höhere Ströme zulassen. Wenn allderdings dein 328P nur den Pullup aktiviert hat und nicht den Push-Treiber, dann ist der Strom schon dadurch begrenzt. Wenn du I2C benutzt, stellt sich die Frage, welcher der beiden die Leitung mit einem Pullup hoch zieht (oder vieleicht auch beide) und wie die Treiber das Signal handhaben. Ein Push-Treiber auf I2C-Datenleitungen erscheint mir wenig sinnvoll. Bei UART hast du zwei Leitungen. Der als Input geschaltete Empfänger (Rx) kann einen Pullup setzen. Der Sender ist als output konfiguriert und wird ggf. mit dem Push-Pull-Driver 40 mA Source/Sink bei 5 V auf die Leitung hauen. Wenn der MCU das überlebt, hast du Glück. Das würd ich mich nicht trauen. Eigentlich müsste aber der Sender zwischen Output Low und hochohmig umschalten. Der Strom auf der Datenleitung dürfte durch den Sender nicht mit 40 mA gespeist werden. Ob sich die UART-Einheit des 328P daran hält, ist ne andere Frage. Aber ein GPIO ist kein UART und kein I2C - in beiden Fällen wird ja meist eine sogenannte Alternative Function auf den Port geschaltet - wie die Hardware dahinter aussieht, darüber kann man nur spekulieren, wenn die Datenblätter nichts dazu sagen.