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?
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?
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.
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
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.
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.
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. ;-)
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!
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.
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
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? >_>
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.
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.
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.
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.
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
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.
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.
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.
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.
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...