Hallo,
Ich habe einen Raspi Zero mit den GPIO pins. Ich möchte zwei Taster
enlöten. Der Raspi hängt an einer Powerbank und soll möglichst lange
laufen ohne Nachzuladen. Bei Pullup ist der Pin mit 50-40kOhm auf VCC
gezogen und damit dauerhigh. Wenn ich nun GND anlege ist der Pin Low.
Num müßte doch dabei wenn kein GND anliegt, also der Taster nicht
betätigt immer ein Strom fließen. zwar nur gering, aber vorhanden. Damit
wird der Akku schneller leer als mit PullDown.
Bei Pulldown ist der Pin mit 50-40kOhm auf GND gezogen und damit
dauerdown. Dabei wird doch Energie verbraucht.
Sehe ich das Richtig?
http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_GPIO_C.htmlhttp://pi4j.com/pins/model-zero-rev1.html
Ist soweit richtig. Der Nachteil von Pulldown ist halt,
dass du "weniger weit" von der "Schaltschwelle" weg bist,
sodass der Pullup prinzipiell hochohmiger ausfallen kann.
Hi
>Dabei wird doch !keine! Energie verbraucht.
Hast du ein Datenblatt des Controllers? Wenn ja, dann sieh dir mal deo
Werte für Input Leakage an.
Bei AVRs liegt der Wert bei 1µA, egal ob H oder L am Eingang anliegt.
MfG Spess
Hmmm... Das Input Leakage verstehe ich jetzt nicht. Die CPU ist ein
ARM1176JZF-S. Das ARM1176JZF-S Technical Reference Manual ist [da]. Wenn
ich da nach "Leakage" suche, worauf genau muß ich achten? Also mir geht
es um die Frage ob "Pullup oder Pulldown?" im Akkubetrieb.
[da]
http://infocenter.arm.com/help/index.jsp?Topic=/com.arm.doc.ddi0301h/Bhbbcgdi.html
Bei Pullup wäre der fließende Strom wenn ich richtig liege 3.3V/50kohm =
0.000000066 = 0.066uA. Im Grunde ist das ja auch fast nichts und zu
vernachlässigen im vergleich zum Raspi.
Loetbeginner schrieb:> Bei Pullup wäre der fließende Strom wenn ich richtig liege 3.3V/50kohm => 0.000000066 = 0.066uA. Im Grunde ist das ja auch fast nichts und zu> vernachlässigen im vergleich zum Raspi.
Im Vergleich zum Raspi in der Tat, aber gerade Mikrocontroller die im
Deep Sleep im nA Bereich landen darf man sowas nicht mehr
vernachlässigen.
Selbst wenn du dauerhaft von Vcc nach GND eine Verbindung von 10-50kOhm
hast ist das bei einem Raspberry eigentlich zu vernachlässigen.
Optimieren kann man es schon, dann würde ich mich aber eher um
LDO/LED/etc. kümmern.
> Bei Pullup wäre der fließende Strom wenn ich richtig liege 3.3V/50kohm
Das wäre nur richtig, wenn der Eingang in diesem Moment immer noch auf
0V liegen würde. Der Sinn des Pull-Up Widerstandes ist jedoch, den
Eingang hoch zu ziehen, und das tut er auch.
Wenn nun die Versorgungsspannung 3,3V ist und der Eingang erfolgreich
hoch auf 3,3V gezogen wurde, fällt am Widerstand keine Spannung mehr ab.
Also fließt auch kein Strom, und du hast eine Verlustleistung.
Heutzutage haben fast alle digitalen Mikrochips CMOS Eingänge. Die sind
so hochohmig, dass man sie (fast) ohne Strom ganz hoch bis auf VCC oder
ganz runter bis auf GND ziehen kann.
Im Idealfall fließt gar kein Strom. In der Realität fließt doch einer,
und den nennt man daher Leckstrom. Wir reden hier von wenigen µA.
Diese Seite erklärt die Eigenschaften der GPIO Pins:
http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electrical-specifications
Ich danke euch vielmals. Wieder etwas gelernt. Ich werde die Taster mit
Pullup einbauen.
Die Seite http://www.mosaic-industries.com/... ist sehr gut. Ich bin die
jetzt überflogen und schaue mir die morgen Nachmittag in Ruhe an.
Schade, dass für den BCM2835 keine IBIS Datei veröffentlicht wurde.
Damit könnte man den Verbrauch auch ausrechnen und besser abschätzen,
wieviel ein anderer Widerstand bringt.
Ich würde allerdings von Widerständen >10k Ohm abraten, weil jede so
hochohmig abgeschlossene Radiowellen einfängt, was leicht zu
Fehlfunktionen führt.
Nimm ruhig weniger Ohm.
Daniel schrieb:> Schade, dass für den BCM2835 keine IBIS Datei veröffentlicht wurde.> Damit könnte man den Verbrauch auch ausrechnen und besser abschätzen,> wieviel ein anderer Widerstand bringt.
Bei einem Raspi spielt es für den Energieverbrauch keine Rolle, ob da 10
kΩ oder 50 dran sind. Der Grundverbrauch des Raspi ist um etliche
Größenordnungen höher als der Leckstrom, der durch den Pull-Up läuft.
Alex G. schrieb:> Radiowellen
Natürlich sind die von Radio Peking nicht gefährlich, aber die durch
schlecht entstörte Motoren, Leuchtstofflampen, Dimmer oder einfach nur
das Schalten einer Glühlampe oder des Lötkolbens können schon mal was
auslösen.
Stefan Us hat durchaus recht!
Loetbeginner schrieb:> Bei Pullup wäre der fließende Strom wenn ich richtig liege 3.3V/50kohm => 0.000000066 = 0.066uA.
Nö, 66µA. Die fließen aber nur, solange der Taster gedrückt wird.
Wenn das stört, kann man z.B. einen 1M Pullup (= 3,3µA) außen
anschalten. Wird gedrückt erkannt, dann schaltet man den internen 50k
ab. Wird losgelassen erkannt, schaltet man ihn wieder zu, damit der
offene Pin nicht zu störempfindlich ist.
spess53 schrieb:> Hast du ein Datenblatt des Controllers? Wenn ja, dann sieh dir mal deo> Werte für Input Leakage an.>> Bei AVRs liegt der Wert bei 1µA, egal ob H oder L am Eingang anliegt.
Wenn das wahr wäre, dürfte z.B. ein AtMega1284P niemals unter 32µA
kommen können, weil er ja 32 GPIOs hat.
Er kommt aber definitiv sehr deutlich darunter. Nämlich im Powerdown
(alle Pins als Eingang mit internem Pullup konfiguriert, BOD inaktiv,
alle Features des Powermanagement genutzt) auf 6..10µA.
Test-Konfigurationen (alle Pins als Eingänge ohne internen Pullup
konfiguriert, miteinander verbunden und über einen gemeinsamen
47k-Widerstand mal auf GND, mal auf VCC gelegt, sonstige Randbedingungen
wie oben) ergeben (im Rahmen der Messgenauigkeit) bei jedem einzelnen
Exemplar exakt denselben Wert und zwar vollkommen unabhängig davon, ob
Pullup- oder Pulldown.
Sprich: du hast das "Max" in der Spaltenüberschrift übersehen. D.h.: das
ist der Grenzwert, den Atmel für einen einzelnen Pin zu garantieren
geneigt ist, der reale Wert ist typisch ganz erheblich niedriger. Und es
spielt keine Rolle, ob Pullup oder Pulldown. Und du hast versäumt, die
garantierte Maximalstromaufnahme zu berücksichten. Denn diese Angabe
widerspricht deiner Lesart des Pin-Leckstroms eklatant. Wenn deine
Lesart korrekt wäre, wäre diese Angabe ja schlicht nicht einzuhalten...
Die Angabe ist also so zu lesen: Atmel behält sich Ausreißer für
einzelne Pins bei einzelnen Exemplaren vor bzw. gibt ein Maximum dafür
vor. Mehr nicht.
c-hater schrieb:> Wenn das wahr wäre, dürfte z.B. ein AtMega1284P niemals unter 32µA> kommen können, weil er ja 32 GPIOs hat.
Der Reststrom steigt ja exponetiell mit der Temperatur und der AVR kann
bis max 125°C arbeiten. Heize ihn mal auf 125°C auf, was dann fleißt.