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
3 Antworten
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.
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.
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.
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.
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
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
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.
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 ?
Also... um das nochmal mit den Widerständen zu erklären:
Ich habe dir unten mal ein Bild angehängt. In dem Falle ist es ein ESP8266, weil ich ihn aktuell benutze. Das Prinzip in dem Fallbeispiel ist aber so gut wie gleich.
Wir nehmen uns mal den linken Button.
Wenn ich ihn betätige, ist der Kreislauf geschlossen und am Pin "D0" liegt eine Spannung von 3,3V an. Wenn ich den Button jetzt jedoch loslasse, denkt D0 immer noch, dass da Spannung an dem Pin anliegt. Um das beim Loslassen des Pins zu verhindern, haben wir einen Widerstand eingebaut, der nur dann, wenn der Button nicht gedrückt ist, den Pin auf GND "zieht" (pull).
Wieso "zieht" er den Pin nicht auch auf GND, wenn der Button gedrückt ist? - Weil sich auch der Strom den einfachsten Weg nimmt, wo er nicht "auf Widerstand stößt".
Dafür nimmt man dann einen 1kOhm (Besser: 10kOhm)-Widerstand.
(Bild durch den Support entfernt)
Hallo.
https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Pullup_Pulldown_resistor.svg/406px-Pullup_Pulldown_resistor.svg.png
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