- Akku Tests und Balkonkraftwerk Speicher         
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 Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    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.

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    900
    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/da...33_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)
    Geändert von Holomino (03.10.2020 um 14:43 Uhr)

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    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.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    05.11.2007
    Beiträge
    1.076
    Anhang 35246
    Für mich ist es nicht das Gleiche und die Schaltungen verhalten sich nunmal völlig unterschiedlich....

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Hör auf, hier die Leute zu verwirren!
    Ich beziehe mich von Anfang an ausdrücklich auf deine Schaltung in #4 und deine Schaltung in #19 ist identisch, bis auf die Bezeichnung "Signal" statt "5 V".
    Alle anderen Zeichnungen sind unzutreffend!

    Zitat Zitat von Holomino Beitrag anzeigen
    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.

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    900
    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.
    Geändert von Holomino (03.10.2020 um 17:07 Uhr)

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    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 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 - - -

    Zitat Zitat von Moppi Beitrag anzeigen
    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, 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!

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    900
    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?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    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, 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).
    Geändert von Moppi (03.10.2020 um 17:27 Uhr)

Ä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