Welche Spannung verträgt der GPIO als Eingang?

  • Hallo alle!


    Ich hab auch mit langem Googlen die Frage nicht beantworten können, wie man einen GPIO-Eingang (EINGANG!) des Pi beschalten muss oder kann.


    Nach allem, was ich gefunden habe, versteht der Eingang alles unter 0,8 V als Low- und alles über 1,3 V als High-Signal.
    Man darf nicht mehr als 3,3 V auf die GPIOs geben.
    Die Eingänge sollten nicht mit mehr als 16 mA (manchmal liest man auch 50 mA) belastet werden. (Diese Angaben finde ich recht fragwürdig.)
    Die GPIOS schalten bei 2-8 mA durch.


    So, nun liest man immer wieder, man soll einen Widerstand vor die Eingänge schalten. Das verstehe ich nicht... denn:


    1) Der Eingang muss einen inneren Widerstand >0 haben (sonst wär's ja keine Schaltung).


    (Achtung: Es geht hier NICHT um die Pullup/Pulldown-Widerstände!!!)


    2) Dieser Widerstand müsste, wenn bei mehr als 3,3 V / 16 mA eine Gefahr für den Pi besteht geringer als 206 Ohm sein (3,3 V / 0,016 A = 206 Ohm), weil sonst die 16 mA gar nicht erreicht werden.


    Irgendwo hab ich einen Wert von 32 Ohm für den inneren Widerstand gelesen. Nehmen wir mal an, der wäre richtig.


    Um auf einen Strom von 2 mA zu kommen, müsste bei 3,3 V der Widerstand 1650 Ohm betragen (3,3 V / 0,002 A = 1650 Ohm).
    Dieser teilt sich auf in 32 Ohm internen Widerstand und einen vorzuschaltenden Widerstand von 1618 Ohm.
    Vorwiderstand und GPIO bilden dann einen Spannungsteiler. U1 beträgt 3,24 V (1618 Ohm * 0,002 A = 3,24 V). U2 beträgt 0,06 V (32 Ohm * 0,002A = 0,06 V).
    Am Eingang des Pi liegen also nur 0,06 V an.


    Das widerspricht aber der Angabe, dass die GPIOs bei 0,8 V durchschalten. Und es widerspricht auch der Angabe, dass die GPIOs mit maximal 3,3 V belastet werden dürfen, denn so würden ja noch viel weniger als 3,3 V gefordert sein.


    An anderer Stelle habe ich gelesen, dass die GPIOs hochohmig sind, wenn sie auf Input programmiert sind. Das würde Sinn machen, denn dann könnte der innere Widerstand tatsächlich so groß sein, dass bei 3,3 V nicht mehr als 16 mA fließen. Die Grenze von 3,3 V wäre dann entweder durch die Höhe des Widerstandes oder durch irgendwelche Durchbruchspannungen im Inneren der Schaltung gegeben.


    Mal als Rechenspiel:
    Der GPIO schaltet bei 2 mA und 0,8 V - das entspräche (ohne Vorwiderstand) einem inneren Widerstand des Eingangs von 400 Ohm (0,8 V / 0,002 A = 400 Ohm).
    Ob man das als hochohmig bezeichnen kann ist wohl relativ.
    Geben wir 3,3 V ohne Vorwiderstand auf diesen Eingang hätten wir 8,25 mA (3,3 V / 400 Ohm = 0,00825 A = 8,25 mA).


    Das entspricht genau den 2-8 mA, die für den Eingang angegeben sind und würde auch bedeuten, dass man 3,3 V ohne Vorwiderstand auf den GPIO geben kann.


    Der interne 3,3 V-Schaltregler des Pi liefert bis zu 50 mA (dann macht er wohl schlapp ;-). Irgendwo hab ich auch 100 mA für neuere Modelle gelesen.
    Speist man alle 26 Pins als Eingänge mit den 3,3 V vom internen Schaltregler, so hätte man knapp 2 mA pro Eingang - das würde gerade so reichen. Bei 100 mA wären es knapp 4 - für die neueren Modelle mit mehr GPIOs erscheint das sinnvoll.
    Speist man nur einen Eingang mit den 3,3 V, so bleibt es bei 8,25 mA (wegen des inneren Widerstandes von 400 Ohm).



    Ist die Annahme, dass der innere Widerstand eines GPIO-Ports ca. 400 Ohm ist, plausibel? Oder hab ich da einen Denkfehler drin?
    Kann ich also ungehemmt 3,3 V (von Pin 1 oder 17 oder aus einer anderen Quelle) auf einen GPIO legen?
    Kann ich mit den 3,3 V beliebig viele Eingänge (also alle 26) parallel beschalten?



    Hintergrund:
    Ich möchte mehrere GPIO-Eingänge über 2 oder 3 Acht-Kanal-Optokoppler ansprechen. Die Acht-Kanal-Optokoppler haben jeweils einen gemeinsamen Spannungsanschluss (an den ich 3,3 V klemmen würde) und liefern an den Ausgängen ggf. ein High-Signal. (Nebenbei: Pulldown-Widerstände sind im Optokoppler verbaut. Ich könnte aber auch die internen Pulldowns im Pi verwenden.)
    (Und: Ja, ich könnte auch mit inverser Logik gegen Ground schalten und Pullups benutzen, dann hätte ich das Problem nicht. Aber erstens interessiert es mich trotzdem und zweitens sind die High-Trigger-Optokoppler vorgegeben.)



    Freu mich auf eine angeregte Diskussion.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo Gnom,


    GPIO als Eingang verträgt max. 3,3 V


    GPIO als Ausgang sollte nicht mehr als 2 mA belastet werden. Alle GPIO zusammen können nur bis 50 mA belastet werden. Dies ist die Summe aller über GPIO-Ausgänge und GND sowie über 3V3 und GPIO-Eingänge fließende Ströme. Teilst Du die 50 mA durch die Anzahl der GPIOs, dann kommst Du auf diese 2 mA.


    Wenn Du einen größeren Strom benötigst, dann geht das nur mit einer externen Spannungsversorgung, die über Transistoren oder Relais geschaltet werden.


    Alles, was Du über Widerstände schreibst: Gehe von diesen 2 mA aus, dann liegst Du auf der sicheren Seite.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Gnom:
    Irgendwie hab ich den Eindruck, dass du das Thema GPIO INPUT und OUTPUT miteinander verwebst...


    Die angegebenen Stromempfehlungen (max.) sind gegeben wenn der GPIO als AUSGANG betrieben wird.


    Aber: Warum nimmst du nicht einfach ein Messgerät und misst den Eingangswiderstand eines auf INPUT geschalteten GPIOs ?
    (Sicherheitshalber per Vorwiderstand, den man rausrechnen kann und auch mal ohne... und über den gesamten Spannungsbereich 0...3,3V).


  • 1) Der Eingang muss einen inneren Widerstand >0 haben (sonst wär's ja keine Schaltung).
    2) Dieser Widerstand müsste, wenn bei mehr als 3,3 V / 16 mA eine Gefahr für den Pi besteht geringer als 206 Ohm sein (3,3 V / 0,016 A = 206 Ohm), weil sonst die 16 mA gar nicht erreicht werden.


    Freu mich auf eine angeregte Diskussion.


    da braucht man nicht diskutieren, ist alles schon x-mal gesagt worden, nur noch nicht von jeden.


    Input R etliche kOhm
    Output R variabel


    Es kann immer ein Kernel, Modul oder Programmfehler von In auf Out umschalten.
    Deswegen sollte man nicht mehr als 2-3mA als Ausgang saugen und auch dafür sorgen das nie mehr ungebremst reinfliessen kann, sollte ein gewünschter Eingang mal auf Ausgang und low umschalten.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Hi.


    Gnom:
    Irgendwie hab ich den Eindruck, dass du das Thema GPIO INPUT und OUTPUT miteinander verwebst...


    ...das hab ich auch...
    Nochmal zum mitdenken.:
    Ein GPIO als Eingang definiert ist extrem hochohmig, Ri so bei einigen MegOhm.
    D.h.: Selbst ein am Eingang angelegtest Netzteil mit 3,3V/100A (ohne) Vorwiderstant sind ihm wurscht... Er misst Pegel, und keinen Strom!!!



    Aber: Warum nimmst du nicht einfach ein Messgerät und misst den Eingangswiderstand eines auf INPUT geschalteten GPIOs ?
    (Sicherheitshalber per Vorwiderstand, den man rausrechnen kann und auch mal ohne... und über den gesamten Spannungsbereich 0...3,3V).


    Das dürfte ihm mit nem 0815 Multimeter schwerfallen, da was zu messen...
    Siehe Schematic im Anhang.


    gruß root


    //Edit Da war einer schneller ... wer wohl?... jar :D

  • Danke schon mal für die konstruktiven Antworten.


    Den Fachmännern sei gesagt: Ich kann schon Aus- und Eingang unterscheiden. Aber genau beim Thema Eingang haben mich diverse widersprüchliche Aussagen im Web verwirrt.
    Möglicherweise meinten die aber auch eben nicht den (planmäßigen) Eingang, sondern die Absicherung gegen versehentlich als Ausgang programmierte Eingänge. Insofern: 3,3 V - ja, aber trotzdem mit Vorwiderstand zur Strombegrenzung.


    Ich bin halt kein Elektroniker... aber das Stichwort "Pegel" leuchtet mir ein. Spannungsteiler ist dann natürlich Quatsch und meine ganze Überlegung falsch. ( Wie peinlich! :blush: )


    Hochohmiger Eingang.... es fließt kein Strom (ab), folglich stellen sich unabhängig vom Vorwiderstand recht schnell die 3,3 V Pegel am Eingang ein. Vorwiderstand für 2 mA Strom und gleichzeitig 3,3 V Spannung am Eingang - das wäre im Stromkreis ein Widerspruch. Hier aber nicht. Wieder was gelernt!
    :danke_ATDE:
    Damit ist der Vorwiderstand für die Eingangsfunktion eigentlich bedeutungslos und dient nur der Absicherung bei Fehlprogrammierung der GPIOs als Ausgang.


    Der Optokoppler sollte also an 3,3 V mit einem Widerstand abgesichert sein, falls mal ein Eingang auf output programmiert ist. Um bei 3,3 V den Strom in diesem Fall auf 2,2 mA zu begrenzen, genügt ein 1500 Ohm-Widerstand (etwas mehr schadet sicher auch nicht).
    Gegen Ground wäre der Ausgang durch den Pulldown-Widerstand (im Optokoppler-Modul verbaut - der dürfte im KOhm-Bereich liegen) ja sowieso gegen zu hohen Strom gesichert.


    Sehe ich das richtig?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!


  • Gegen Ground wäre der Ausgang durch den Pulldown-Widerstand (im Optokoppler-Modul verbaut - der dürfte im KOhm-Bereich liegen) ja sowieso gegen zu hohen Strom gesichert.
    Sehe ich das richtig?


    ...nochmal, zum letzten mal... wenn der GPIO (Eingang) über nen Optokoppler angesteuert wird, ist ihm auch der im Optokoppler eingebaute Pull-down wurscht.
    Eingang liest den Pegel...Rv nicht nötig
    Ausgang liefert etwas. Rv nötig, um den Strom der vom GPIO gezogen/geliefert wird zu begrenzen


    ...warum schmeißt du immer alles durcheinander... mal Eingang, mal Ausgang... entscheide dich mal.

    Edited once, last by root ().

  • Nach meiner Messung haben die GPIO-Eingaenge (beim Pi B+) ca 60kOhm Eingangswiderstand. Das ist zwar nicht hochohmig, aber es braucht kein Strombegrenzungswiderstand bei normalen Spannungen. Offizielle Informationen hierzu habe ich nirgends gefunden. Ich kann aber >100kOhm ausschliessen. Es ist definitiv weniger. Und ich finde das zumindest ungewöhnlich niedrig, rechnet man bei hochohmig doch eher mit einigen MegOhms.


  • .... aber es braucht kein Strombegrenzungswiderstand bei normalen Spannungen.....


    was ist normal?


    liest du überhaupt was geschrieben wurde?
    Warum musst du alles wieder umkehren mit deinem Posting?


    Ehrlich das frustriert mich etwas:


    Einer kümmt vorbei liest deinen Text und dann raucht der PI evtl. ab!


    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Ich habe nochmal eine Frage zu dem angehaengten Bild von root: Dort gibt es ja den 50kOhm Widerstand, welcher als Pullup oder Pulldown geschaltet werden kann. Kann der auch ganz abgeschaltet werden, also weder Pullup, noch Pulldown? Ich habe ja den Verdacht, dass der immer an ist. (Jedenfalls im Default-Zustand, wenn man nichts explizit aendert).


    Dann sehe ich die beiden Dioden am GPIO, ich nehme an, das ist der Verpolungs- bz. Überspannungsschutz.


    Nun zu den Milliamper-Angaben, wenn der GPIO auf Ausgang geschaltet ist. Intern können 2mA, 4mA, 8mA und 16mA per Setting gesetzt werden, so dass diese sich summieren, also kann man per Setting in 2mA Schritten bis 16mA alles seztzen. Diese Angaben heissen, dann, dass bei diesen Ausgangsströmen, die Spannung noch im spezifizierten Bereich ist, um als LOW und HIGH auf einem Eingang detektiert zu werden. Es ist keine Strombegrenzung. Wenn der Ausgang mit 0V oder 3.3V verbunden ist, können tatsaechlich höhere Ströme fliessen, aber die Spannungslevel werden nicht mehr erreicht. Ob der GPIO das auf Dauer aushaelt ist fraglich, hierzu hab ich noch keine Experimente gefunden. Wahrscheinlich wird irgendwas auf dauer heiss und brennt durch. Das kann auch schon ab >2mA passieren, wenn der Ausgangs-Strom-Treiber nur auf 2mA steht. Jedenfalls besteht die Befürchtung.


    Die default-Einstellung soll angeblich bei 8mA stehen.


    Ich habe ein wenig gegooglet und dort hat jemand 35mA aus einem GPIO gezogen, allerdings ist die Spannung dann ziemlich runtergegangen. Bei mehr Strom hat er den ganzen Raspberry zum rebooten gebracht, wel sogar die Systemspannung zusammengebrochen ist.


    Es heisst ausserdem, dass man maximal 50mA aus einem einzelnen 3.3V Pin ziehen darf (die 5V Pins koennen bis zu 1A). Ausserdem finde ich Grüchte, dass die Stromquellen von einer ganzen Gruppe von GPIOs gemeinsam genutzt werden, d.hiesse dann, dann der Strom von allen GPIOs in der Summe den Wert nicht übersteigen darf (da sonst die Gesamtspannung des Raspis zusammenbricht oder irgendwas bei den Stromtreibern durchbrennen könnte (hierzu gibts keine Infos)).

    Edited once, last by wend ().

  • Hallo wend,


    ja, den Pullup- und den Pulldown kannst Du beliebig einschalten, ausschalten, kombinieren. Es gibt Tools wie raspi-gpio, mit denen kannst Du direkt in die Register des Broadcom-Chips schreiben, durch die entsprechende Features bereitgestellt werden.


    Deswegen ist hier auch Vorsicht geboten. Nicht alles, was geht, macht auch Sinn und ist gut.


    Und beim individuellen Programmieren passieren nun mal Fehler, weil man nicht immer gleichzeitig an Alles denken kann - und so manches Mal überwiegt die Neugier festzustellen, was der Code jetzt schon kann. Und wenn dann keine Hardware dran ist, die solche Pannen ausgleicht, dann haucht Elektronik Phlogiston aus. Und dann ist das Geplärre groß.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich finde die Informationslage hierzu katastrophal. Alle schreiben nur irgendwelche Geruechte ab, aber genaues weiss man nicht. Ich dachte immer, die Pullups seien per default deaktiviert, aber trotzdem messe ich einen Eingangswiderstand (in der Größenordnung 50kOhm, als waeren die Pullups doch eingeschaltet). Nirgendwo finde ich ein Kommando, mit dem man den Zustand der Pullup/Pulldowns anzeigen kann.
    Genausowenig wie Informationen, bei welchem Strom die GPIO-Ausgaenge tatsaechlich kaputt gehen.

  • Alles wesentliche wurde doch schon geschrieben.
    Als erstes musst du unterscheiden zw. Eingang bzw. Ausgang, als Ausgang solltest du nicht mehr als 2mA nutzen, dafür gibt es ext. Widerstände, da, wie Andreas geschrieben hat, sonst zuviel Strom fliessen könnte, wenn ein z.B. ein Programm den GPIO umschalten würde. Der Pi weiss ja nicht welche Hardware du an den GPIO anschliesst. Als Eingang spielt das keine Rolle, da, wie root schrieb, der Pegel wichtig ist, nicht der Strom.
    Ext. Widerstände werden genommen, damit nie mehr als 2 mA Strom fliessen.
    Das Phlogiston, welches aus der terra pinguis entweicht, woraus der Pi ja besteht, ist scherzhaft gemeint. :D

  • Ja, so geht man auf Nummer sicher, aber es gibt ja Faelle, wo der genaue EIngangswiderstand wichtig ist (siehe Kapazitaetsmessung mit Raspberry Pi). Manchmal moechte man auch was parasitaer mit einem GPIO-Ausgang mit STrom versorgen. Dann kommt es auf die Details an, und es geht ja auch mehr als 2mA. Keiner weiss was genaues. Alles nur Gerüchte...

  • Wieso Gerüchte, root hat oben ein Bild von der internen Verschaltung der GPIOs gepostet.
    Insgesamt kann man mehr als 2 mA aus einem GPIO rausholen, aber warum sollte man das tun ?
    Dafür gibt es Treiber, Transistoren, MOSFETs, Relais.
    Schaltpläne der einzelnen Pis findest du hier:
    https://www.raspberrypi.org/do…rypi/schematics/README.md

  • Jetzt driftet die Diskussion aber ganz schön ab...


    @root: Ich hab dich schon verstanden. Was ich zuletzt schrieb (bezüglich der schützenden Widerstände) war nur für den Fall gedacht, dass die GPIOs versehentlich auf output programmiert werden - da darfst du dann schon auch genau lesen, was ich und andere schreiben.


    Also, ein bisschen Konsistenz in der Diskussion wäre schon nett.
    - Für Ausgänge braucht man Widerstände.
    - Für Eingänge braucht man (eigentlich) keine Widerstände... ok.
    - Falls sie versehentlich auf Ausgang programmiert werden, braucht man doch welche.
    - Also, braucht man auch bei Eingängen welche, weil sowas ja mal passieren kann.


    Dann wärs nett, wenn man nicht im nächsten Posting genau diese Erkenntnis wieder kritisiert.
    Ich schmeiße nicht alles durcheinander, sondern ich trage den anderen Beiträgen Rechnung, die eben besagen, dass man aus einem Eingang schnell mal versehentlich einen Ausgang macht - und dass man seinen Pi vor genau diesem Fehler schützen soll.


    Wie jar schon schreibt: "lasst die PIs am Leben !" Tatsächlich ist es ja nicht so schwierig. Teilaussagen und Halbwahrheiten führen aber dann im Zweifel wirklich zum Abrauchen des pi.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Wird vllt. auch ein bissl offtopic, aber zum Vergleich:
    Ein Mensch kann, je nach Untergrundbeschaffenheit, einen Sturz aus 30 Metern Höhe überleben, in den meisten Fällen wird er jedoch tot sein.
    Andersrum sind schon Leute gestolpert und waren tot, also kann man nicht sagen, ab x Metern Höhe bist du tot.
    So verhält sich das auch mit dem Pi, aber genug offtopic, ich geh jetzt in den Garten, Blumen giessen :P

  • Hallo Wend,



    Ich finde die Informationslage hierzu katastrophal. Alle schreiben nur irgendwelche Geruechte ab, aber genaues weiss man nicht. Ich dachte immer, die Pullups seien per default deaktiviert, aber trotzdem messe ich einen Eingangswiderstand (in der Größenordnung 50kOhm, als waeren die Pullups doch eingeschaltet). Nirgendwo finde ich ein Kommando, mit dem man den Zustand der Pullup/Pulldowns anzeigen kann.
    Genausowenig wie Informationen, bei welchem Strom die GPIO-Ausgaenge tatsaechlich kaputt gehen.


    Was bei Dir "default" ist - braucht es bei mir nicht zu sein.


    Solange es nur Raspbian als Betriebssystem war, konnte man sich halbwegs darauf verlassen, dass s ziemlich jeder andere mit dem gleichen Betriebssystem auch GPIO-mäßig während und nach dem Booten eine vergleichbare Umgebung hat.


    Dann kam die Möglichkeit dazu, Module beliebig zu laden. Dann kamen DeviceTrees dazu, mit denen prinzipiell alles "verbogen" werden kann.


    Sehr schnell kamen individuelle Betriebssysteme. Deswegen ist es nicht mehr mehr möglich, aussagen darüber zu treffen, was "Default" ist.



    Die eine GPIO-Library schaltet ebenso per "default" Widerstände an oder aus, wenn die Richtung geändert wird. Andere machen das (vielleicht) nicht, um den Anwender bzw. Progrmmierer nicht mit Automatismen einzuschränken. Was in Deinem Fall gerade passiert, erlaubt Dir nur ein tiefer Einblick in den Quellcode der von Dir benutzten Anwendungen und Libraries.


    Du kannst einen GPIO-Ausgang auch mit mehr als 2 mA belasten. 4 mA geht, 8 mA geht, 16 mA gehen auch. Vielleicht auch mehr. Aber 4x16 = 64 ist deutlich größer als 50 mA. Irgendwann brennt im Broadcom-Chip was durch.


    Deswegen plane ich meine Schaltungen immer nur mit 2 mA, weil ich weiß, dass ich das auf allen GPIO-Pins gleichermaßen machen kann. Brauche ich mehr, dann über Treiberschaltungen etc.


    Bei mir persönlich sieht die ganze Sache noch mal um Größenordnungen anders aus, weil ich keine der Standard-GPIO-Libraries sondern eine 2013 selbst geschriebene GPIO-Library und seitdem nur mit dem ergänzt, was ich gerade benötigt habe. Mittlerweile läuft eine in ARM-Assembler geschriebene Version für die Fälle, wenn es doch mal schneller gehen soll.


    Von dem Verhalten, den meine GPIO-Library an den Tag legt, kann ich nicht erwarten, dass diese irgend einen Standard setzen könnte. DAs Teil macht, was ich möchte und orientiert sich ansonsten an gar nichts.




    Nirgendwo finde ich ein Kommando, mit dem man den Zustand der Pullup/Pulldowns anzeigen kann.
    Genausowenig wie Informationen, bei welchem Strom die GPIO-Ausgaenge tatsaechlich kaputt gehen.


    [font="Courier New"]raspi-gpio[/font] findest Du nicht? Das habe ich doch vorhin ins Spiel gebracht? Das macht genau das, was Du zu suichen scheinst. Und es macht viel mehr: Es erlaubt weitestgehend das individuelle Schalten und Walten von Pullup- / Pulldown-Widerständen, Aktivieren der Alternativfunktionen, GPIO-Input, GPIO-Output - wobei nur sinnvolle Kombinationen vorgenommen werden. Was aber ist sinnvoll?


    Wird die nach irgendwelchen Kriterien als Unsinn eingestufte Vorgabe des Anwenders / Programmierers nicht geschaltet? Werden nur sinnvolle Kombinationen weitergereicht? Erkennt man Unsinn nur am stupiden Austesten ALLER Kombinationsmöglichkeiten?



    Mein allererster Raspberry Pi (2012), der so ziemlich jede Hardware- und Software-Entwicklung mitgemacht hat, läuft immer noch. Von daher kann ich mit meiner Ansicht, die hier von einigen anderen "Angsthasen" geteilt wird, nicht so ganz verkehrt sein. Denn andere mit anderen Ansichten haben schon so manches Expemplar in die Ewigen Jagdgründe gebracht.



    Du fährst ja auch nicht mit Tempo 250 km/h gegen eine dicke Betonwand, weil mit einer Wahrscheinlichkeit von 33 % der Airbag Dich beschützen wird. Du wirst immer so unterwegs sein, dass nicht mal ein Kratzer zu befürchten ist.



    Beste Grüße


    Andreas
    Automatisch zusammengefügt:[hr]
    Hallo Fred0815,



    Ein Mensch kann, je nach Untergrundbeschaffenheit, einen Sturz aus 30 Metern Höhe überleben, in den meisten Fällen wird er jedoch tot sein.


    Es soll schon Menschen gegeben haben, die von einer brennenden Ölplattforum ins Wasser gesprungen sind - und aus rund 100 m überlebt haben sollen. Ich möchte das trotzdem nicht machen. Ich möchte auch nicht von 10 m ins Wasser springen müssen.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().


  • Ich finde die Informationslage hierzu katastrophal. Alle schreiben nur irgendwelche Geruechte ab,


    du ja auch, aber hier haben schon einige schmerzhafte Erfahrungen machen müssen und etliche PIs wurden beerdigt, das gilt es für Nachbauer zu vermeiden (auch im Sinne von Elektroschrott und nicht für "ewiges Wachstum")



    aber genaues weiss man nicht. Ich dachte immer, die Pullups seien per default deaktiviert,


    was ist schon default bei etlichen Kernel Versionen und verschiedenen OS die auch gerne mal ein (nicht unbedingt fehlerfreies) Update bekommen.



    aber trotzdem messe ich einen Eingangswiderstand (in der Größenordnung 50kOhm, als waeren die Pullups doch eingeschaltet). Nirgendwo finde ich ein Kommando, mit dem man den Zustand der Pullup/Pulldowns anzeigen kann.


    und ich finde kein Kommando bis jetzt wieviel der Ausgangstreiber eingeschaltet sind ob 2mA 4mA und 8mA so das in Summe aus einem einzelnen Pin sicher die 16mA fliessen dürfen!
    Deswegen beharre ich immer auf sichere 2-3mA



    Genausowenig wie Informationen, bei welchem Strom die GPIO-Ausgaenge tatsaechlich kaputt gehen.


    definitiv früher als beim Arduino wo der einzelne PIN bis zu 40mA kann (in Summe 200mA über GND und VCC) und die Schutzdioden nach VCC und GND falsches ableiten, alle Schaltungen mit parasitärer Pinspeisung betreiben sogar den Atmel, der PI raucht ab.


    Deswegen glaube ich nicht an die eingezeichneten Schutzdioden von der Skizze, auf jeden Fall fehlt dem PI jede Strombegrenzung an den GPIO Pins.



    Es heisst ausserdem, dass man maximal 50mA aus einem einzelnen 3.3V Pin ziehen darf


    auch diese Info ist ohne Nachweis!
    Diese 50mA sind als Summenstrom maximal über GPIO nach VCC oder GND für alle GPIO Ströme zusätzlich im SoC verkraftbar zu seinem Eigenverbrauch!
    Siehe DC max. current im Broadcom SoC Chip.


    Das die 3,3V VCC Quelle am GPIO mehr liefern kann ist unbestritten, aber das mehr darf nicht zurück in Summe über die Ports!



    Ich habe ein wenig gegooglet und dort hat jemand 35mA aus einem GPIO gezogen,


    Ich habe auch bei ROT über die Strasse als Autofahrer und Fussgänger überlebt, eine Empfehlung ist das trotzdem nicht.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().