Frage von Burn91, 78

Raspberry PI Pushbutton mit oder ohne Widerstand?

Hallo!

Wenn ich von 3.3 Volt über einen Pushbutton zu einen GPIO-Pin gehe (pin ist auf input geschaltet) muss ich auch einen Widerstand dazwischen schalten oder ? Im Internet habe ich einige beispiele nur mit einem Pullup/Pulldown-Widerstand gesehen, diese sind ja aber nicht für die eigentliche Strombegrenzung zuständig oder ?

Wenn ich jetzt davon ausgehe das die Verkabelung usw. 1 Ohm hat würde ja nach dem Ohmschen Gesetz 3.3 Ampere fließen und es sollten maximal 16 mA pro Pin fließen soweit ich weiß ? Muss man da nicht mindestens einen 206 Ohm Widerstand dazwischen schalten ?

lg

Expertenantwort
von Peppie85, Community-Experte für Elektronik, 41

die pul up bzw. pull down widerstände sind dafür zuständig, klare fakten zu schaffen. die steuerströme beim PI sind so gering, dass, besonders bei längeren leitungen an den sensoren induktive ströme etc. schon zu einer fehlinformation führen können...

du solltest die schalter übrigens auch entprellen. lies dir dazu mal das hier durch:

http://www.mikrocontroller.net/articles/Entprellung

lg, Anna

Kommentar von Burn91 ,

Hallo

Was ein Pull up/down Widerstand macht ist mir glaub ich schon klar.

Es geht mir eher darum, warum manche Leute in Tutorials von +3.3 über Schalter zum GPIO-Pin keinen zusätzlichen Widerstand verwendet haben. Somit habe ich ja einen Kurzschluss ähnliche Schaltung oder ?

lg

Kommentar von Peppie85 ,

das GIPO hat einen eigenenen innenwiderstand. von daher entsteht hier auch ohne vorwiderstand kein kurzschluss....

lg, Anna

Kommentar von Burn91 ,

ok das versteh ich jetzt nicht ganz, ich darf auch keine Lasten an den GPIO-Pins hängen die mehr als 16mA ziehen sonst wird er anscheinend kaputt. Wieso funktioniert das dann mit der "Button-Schaltung"

lg

Kommentar von Gehilfling ,

Richtig, keine "Lasten", das heißt "Output" ist maximal 16mA. Möchtest du größere Lasten schalten, müsstest du über Transistoren gehen.

Der Input ist strommäßig schon durch den Innenwiderstand begrenzt, allerdings kann es zu falschen Zuständen kommen.

Kommentar von Burn91 ,

Ja aber der 3.3Volt Pin ist ja generell ein Output, er liefert immer 3.3 Volt. Und über diesem Pin darf ja auch nicht mehr als 16mA fließen oder ?

Antwort
von Gehilfling, 60

Sieh dir die Beschaltung eines Pullup-Widerstands an. Sobald der Stromkreis geschlossen wird, fließt Strom durch den Pullup-Widerstand durch den Kreis auf Masse und es liegt Log. 0 am GPIO an.

Die Größe des Stroms wird durch den PU-Widerstand begrenzt. Hier sind Größenordnungen von etwa 10kOhm gängig.

Kommentar von Burn91 ,

Hallo.

https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Pullup_Pulldown_resist...

Bei Bild 4 verstehe ich es, da muss der Strom zwingend druch den Widerstand.

Aber bei Bild 3 fließt ja der Strom sofort in den GPIO-Pin und vielleicht ein geringer Teil über den Widerstand auf Masse (Strom fließt immer den Weg des geringsten Widerstands)

Oder verstehe ich da etwas Falsch ?

lg

Kommentar von Gehilfling ,

Kurze Info bezüglich dem Beitrag über dem hier: Verwechsle die 16mA nicht mit dem max. Output-Strom. Ports bei Mikrocontrollern können als sehr Hochohmig angenommen werden, wenn du dort direkt eine Spannungsquelle anschließt wird der Strom schon sehr gering gehalten.

Zu deiner Frage:
Bei Bild 3 fließt der Strom trotzdem zu großem Anteil durch R ab, da dieser (wenn richtig gewählt) noch kleiner ist als der Innenwiderstand des Controllers.

Kaputt wirst du auch ohne Widerstand nichts machen, da es dem Inport-Pin nur um den Spannungspegel geht, nicht um den eingehenden Storm. Aber wie oben richtig genannt, kann es ohne PU/PD Widerstände zu falschen Zuständen kommen.

Kommentar von Burn91 ,

Okay aber ist jetzt der GND-Pin nicht hochohmig? Weil wenn beide Pins gleich hochohmig sind, ist ja der weg mit den zusätzlichen Widerstand trotzdem noch hochohmiger als der ohne.

Kommentar von Gehilfling ,

Der GND-Pin ist im idealfall 0-Ohmig (bin mir hier allerdings nicht 100%ig sicher!).

Dachte, du gehst von einer externen 3.3V Quelle an den GPIO. Wenn du den 3.3V - Pin verwenden möchtest, liefert er maximal nur 16mA, das ist richtig. Mit deiner Beschaltung musst du dafür sorgen, dass der Strom das auch nicht überschreitet. Der Strom ist für dein Signal am GPIO auch nicht entscheident, sondern die anliegende Spannung. Also schau, dass der Strom unten bleibt und wenn dann wenig Strom fließt, kommt es deinem Verbrauch zugute.

Keine passende Antwort gefunden?

Fragen Sie die Community