Forum: Mikrocontroller und Digitale Elektronik Schalter ohne Pull-Up oder Pull-Down?


von Thomas (Gast)


Lesenswert?

Hey Leute,
was passiert, wenn man einen Schalter im Allgemeinen ohne Pull-Up/Down 
benutzt? Ich weiss, dass es zu undefinierten Zuständen kommen kann, aber 
ich kann ja auch nicht dauernd Widerstände an meinen Raspberry Pi 
schließen?

von Rolf M. (rmagnus)


Lesenswert?

Thomas schrieb:
> Hey Leute,
> was passiert, wenn man einen Schalter im Allgemeinen ohne Pull-Up/Down
> benutzt? Ich weiss, dass es zu undefinierten Zuständen kommen kann,

Du beantwortest deine Frage ja schon selber.

> aber ich kann ja auch nicht dauernd Widerstände an meinen Raspberry Pi
> schließen?

Warum nicht?

von Peter S. (Gast)


Lesenswert?

Wenn undefinierte Zustände kein Problem sind, kannst du natürlich die 
Pull-Widerstände weglassen!

von Thomas (Gast)


Lesenswert?

Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben meinem 
Raspberry Pi stehen haben? Das sieht doch nicht schön aus?

von Thomas (Gast)


Lesenswert?

Also Steckbrett mit Widerstand dran.

von Dirk B. (dirkb2)


Lesenswert?

du kannst den Widerstand auch an den Schalter oder die Kabel löten.

von Teddy (Gast)


Lesenswert?

Thomas schrieb:
> ich kann ja auch nicht dauernd Widerstände an meinen Raspberry Pi
> schließen?

Vielleicht ein blöder Vergleich aber, ich kann doch bei meinem Auto 
nicht jedes mal zur Tanke fahren, wenn der Tank leer ist.
Nur, ohne Tank läuft die Karre nicht richtig.

So ist das mit den Widerständen und dem Schalter. Ohne hast du keinen 
definierten Zustand bzw. Arbeitspunkt, sodass es vernünftig arbeiten 
kann.

von Michael B. (laberkopp)


Lesenswert?

Thomas schrieb:
> ich kann ja auch nicht dauernd Widerstände an meinen Raspberry Pi
> schließen?

Ach, warum ? Zu faul, zu arm, zu dumm ?

Man kann, wenn man Strom sparen will, einen Umschalter verwenden, der 
einen Eingang entweder direkt an Masse oder direkt an plus legt
1
+3.3V --o\
2
          \o-- gpio Eingang
3
GND   --o

Aber nur zwischen "offen" und "an plus" schaltend nützt nichts, der 
ehemals an plus liegende und nun offene Eingang wird nicht auf Masse 
gehen, nicht schnell, nicht in absehbarer Zeit, nicht deterministisch.

Ansonsten gehen auch interne pull ups / pull downs

http://www.gtkdb.de/index_36_2679.html

von Heiko L. (zer0)


Lesenswert?

Hallo!

Wenn ein Leiter einfach so in der Luft hängt, ist der auf einem 
undefinierten Spannungslevel. Da kann es dann sein, dass man das letzte 
Spannungslevel ausliest, das dort anlag o.Ä. Ist also auf gut Deutsch 
nicht zu gebrauchen. Su kannst mal nachschauen, ob das Ding interne 
Pullups hat.

von Peter D. (peda)


Lesenswert?

Thomas schrieb:
> ich kann ja auch nicht dauernd Widerstände an meinen Raspberry Pi
> schließen?

Es würde mich stark wundern, wenn der RPi keine internen PU/PDs hat, die 
man enablen kann. Einfach mal ins Datenblatt schauen.

von Rolf M. (rmagnus)


Lesenswert?

Thomas schrieb:
> Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben meinem
> Raspberry Pi stehen haben? Das sieht doch nicht schön aus?

Ja, das mit dem Steckbrett ist ein Problem. Das ist ja auch der Grund, 
warum Smartphones heute so groß sind. Die Steckbretter wurden zwar auch 
miniaturisiert, aber trotzdem muss in jedem Handy wegen der mechanischen 
Tasten ein kleines Steckbrett verbaut werden für die 
Pull-Up-Widerstände. ;-)

: Bearbeitet durch User
von Thomas (Gast)


Lesenswert?

Warte mal, meinst du das ernst? Also ich kenne mich mit dem Innenleben 
von Handys nicht so aus ;)

von Axel S. (a-za-z0-9)


Lesenswert?

Peter S. schrieb:
> Wenn undefinierte Zustände kein Problem sind, kannst du natürlich die
> Pull-Widerstände weglassen!

Und den Schalter gleich auch. Tolle Wurst!

von Pull-over (Gast)


Lesenswert?

Thomas schrieb:
> Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben
> meinem
> Raspberry Pi stehen haben? Das sieht doch nicht schön aus?

Du kannst die internen Pullups/Pulldowns des Raspberry PI einschalten. 
Die sind physikalisch tatsächlich vorhanden, nur halt innen im Prozessor 
drin. Du musst sie nur einschalten.
Dann brauchst du keine "hässlichen" Widerstände zu verwenden.

Wie du das tun musst? Keine Ahnung, da kann Google aber weiterhelfen.

Problem:
Generell vergisst man immer, das Mistding einzuschalten, oder man 
schaltet den falschen ein. Und dann sucht man das Problem. Im Normalfall 
erst einmal woanders.

Murphy sagt:
Beim Testen gehts ohne Pullup, im Realbtrieb machts dann Probleme.

Darum: Software ist toll, aber nur Hardware funktioniert richtig.

von Michael B. (hardwarepunktbas)


Lesenswert?

Im Zweifelsfall, wenn man nicht weiss, was für ein
Prozessor implementiert ist, oder keinen vernünftigen
hatdwarenahen Programmierzugriff auf Diesen vorhanden ist,
sollte man mit Pullups arbeiten, die gemeinsame Masseleitung
wäre im System immer auffindbar. Ich personlich nehme 4,7 kOhm,
das bedeutet während eines Tastendrucks etwas über 1 mA nach
5V, jedoch nutze ich nur selten mechanische Tasten.
Natürlich gehen auch 20kOhm oder mehr, die Störsicherheit leidet
jedoch dann irgendwann bei langen Leitungen.
Bei mechanischen Tasten sollte dann jedoch auch ein Entprellen
der Taste nicht vergessen werden, geht hardwaremässig oder per
Programm (zB debounce). Fahre zur Zeit ganz gut mit Eingaben
per IR-Fernbedienung.
VG Micha

von Alex G. (dragongamer)


Lesenswert?

Die Raspis haben in der Tat Pull-Up und auch Pull-Down Widerstände 
integriert. Das ist sogar schön dokumentiert: 
http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications

Die Widerstandswerte liegen bei etwa 40 – 65 KΩ für Pull-Up und 100 KΩ 
für Pull Down.
Das ist relativ groß weshalb man unter Extrembedingungen (halt 
elektromagnetische Störungen wie wenn Motoren oder Relais in der Nähe 
liegen) und bei langen Leitungen, Fehlauslösungen hervorrufen kann.
Kommt daher ein wenig aufs Projekt und die Einsatzumgebung an, wann man 
auf die externen Widerstände verzichten kann.
Und darauf wie gravierend die Auswirkung einer Fehlauslösung wären.

Btw. in jedem Tutorial für Inputs in der betreffenden Sprache (egal ob 
C, Java oder Python) wirst du finden wie man die pulls einschaltet. Also 
hast du dir noch kein einziges angeschaut? >_>

: Bearbeitet durch User
von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Alex G. schrieb:
> Die Raspis haben in der Tat Pull-Up und auch Pull-Down Widerstädne
> integriert.

15 Beiräge, bis endlich ein dragongamer kommt, um eine vernünftige 
Antwort zu geben.

: Bearbeitet durch User
von derjaeger (Gast)


Lesenswert?

>Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben meinem Raspberry 
Pi stehen haben? Das sieht doch nicht schön aus?

Danke für den Lacher! Es gibt Vorgänge die nennen sich "Löten" wo man 
mit einem Lötkolben über Lötzinn dauerhaft die Bauteile mit dem 
Raspberry Pi verbinden kann.


Hier findest du welche:

https://www.reichelt.de/Loetkolben/2/index.html?ACTION=2&LA=2&GROUPID=547


Kauf noch Lötzinn dazu und dann:
https://www.mikrocontroller.net/articles/L%C3%B6ten

von Alex G. (dragongamer)


Lesenswert?

Torsten C. schrieb:
> Alex G. schrieb:
>> Die Raspis haben in der Tat Pull-Up und auch Pull-Down Widerstädne
>> integriert.
>
> 15 Beiräge, bis endlich ein dragongamer kommt, um eine vernünftige
> Antwort zu geben.
Haha :)


@hardwarepunktbas
Deine 4.7k sind jetzt allerdings ein wenig im Bereich der Paranoia 
einzustufen, wenn ich das so sagen darf ;)
Aber nungut, bei Raspberry Projekten muss man meist nicht stark auf 
Stromsparsamkeit bei den Pins achten weil das nicht ins Gewicht fällt.

von MaWin (Gast)


Lesenswert?

Torsten C. schrieb:
> 15 Beiräge, bis endlich ein dragongamer kommt, um eine vernünftige
> Antwort zu geben

Das stand zwar auch schon im 8. Beitrag, aber das überforderte wohl dein 
Aufmerksamkeitsdefizit.

von Johnny B. (johnnyb)


Lesenswert?

derjaeger schrieb:
>>Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben meinem Raspberry
> Pi stehen haben? Das sieht doch nicht schön aus?
>
> Danke für den Lacher! Es gibt Vorgänge die nennen sich "Löten" wo man
> mit einem Lötkolben über Lötzinn dauerhaft die Bauteile mit dem
> Raspberry Pi verbinden kann.

Das ist aber völlig überflüssig wenn die internen PullUp/PullDown 
Widerstände benutzt.

von Michael B. (hardwarepunktbas)


Lesenswert?

Der Vorschlag mit den 4,7 kOhm hat nix mit
Paranoia zu tun, sondern ist ein auch praktischer
Vorschlag, wenn nicht klar ist, ob ein PD oder PU
eingeschaltet ist. Dass das funktioniert ist nicht
nur praktisch bewiesen, sondern auch mit Kenntnissen
des Ohmschen Gesetzes nachvollziebar
VG Micha

von Cyblord -. (cyblord)


Lesenswert?

Thomas schrieb:
> Blöde Frage, aber muss ich dann jedes mal ein Steckbrett neben meinem
> Raspberry Pi stehen haben? Das sieht doch nicht schön aus?

Du unterliegst dem Irrtum der Pi, und vorallem seine GPIO Stiftleiste, 
wären ein fertiges System ala SPS, an das man nur noch Sensoren und 
Aktoren anstöpseln müsste. Das ist aber eben nicht so. Der PI kann als 
Zentrale eines größeren System aufgebaut werden, dieses größere System 
muss aber eben oft noch Zusatzbeschaltung für seine Peripherie 
vorhalten.

Eine Stiftleiste mit reinen GPIOs ist eben keine USB Buchse wo man 
fertige Geräte anstöpselt.

von HildeK (Gast)


Lesenswert?

Michael B. schrieb:
> Der Vorschlag mit den 4,7 kOhm hat nix mit
> Paranoia zu tun,

Da stimme ich dir zu, ich kann die (imho etwas spitze) Aussage von Alex 
G. nicht nachvollziehen - auch wenn er ein Smiley verwendet hatte.
1mA auf dem Taster, die nur fließen, wenn er tatsächlich gedrückt ist, 
tun auch dem Kontakt gut und seltenst bei Batterieversorgung weh, 
solange es kein NC-Kontakt ist.

von Alex G. (dragongamer)


Lesenswert?

Mit der Paranoia meinte ich natürlich nicht überhaupt Widerstände zu 
verwenden, sondern solch einen kleinen Widerstand.
Was ich meist als Empfehlung gelesen habe lag zwischen 10k und 50k. Das 
ist bereits klein genug gegen Störungen. Zum Vergleich, bei i2c 
Kommunikation werden meist standardmässig 10k eingesetzt und das ist ein 
Datenbus der ohne Entprellung auskommen muss und daher als relativ 
empfindlich bezeichnet werden kann.

Klar, am Ende wählt jeder was er will. Ich nehm meist 20k.

von HildeK (Gast)


Lesenswert?

Alex G. schrieb:
> Mit der Paranoia meinte ich natürlich nicht überhaupt Widerstände zu
> verwenden, sondern solch einen kleinen Widerstand.

Schon klar. Ich und wohl auch Michel B. ziehen die kleineren Werte vor.
Je kritischer das Signal das System beeinflusst, desto niederohmiger 
gehe ich, auf mal auf 1k.
- Kontaktstrom durch den Taster (Selbstreinigung)
- Einfluss von Störungen, meist sind etwas längere Leitungen zu Tastern 
gelegt
- Stromverbrauch ist bei einem gelegentlich bedienten Taster 
vernachlässigbar
- bei ev. zusätzlichen kapazitiven Lasten (längere Leitung z.B.) sollte 
die Anstiegszeit auch noch den Eingangsanforderungen entsprechen.

Aber da gebe ich dir auch recht:

Alex G. schrieb:
> Klar, am Ende wählt jeder was er will.

von NicoPlus (Gast)


Lesenswert?

Alex G. schrieb:
> Zum Vergleich, bei i2c
> Kommunikation werden meist standardmässig 10k eingesetzt

Soweit ich mich erinnern kann, stehen in der Spec vom I2C Pull-Ups von 
2k2. Kommt aber natürlich drauf an, mit welcher Geschwindigkeit der Bus 
laufen soll. Hatte in der Vergangenheit schon den Fall, dass ein IC erst 
bei Widerständen unter 3k fehlerfrei lief...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.