Forum: Mikrocontroller und Digitale Elektronik Energieverbrauch: PullUp oder PullDown


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Loetbeginner (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.html
http://pi4j.com/pins/model-zero-rev1.html

von Loetbeginner (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Bei Pulldown ist der Pin mit 50-40kOhm auf GND gezogen und damit
dauerdown. Dabei wird doch !keine! Energie verbraucht.


Das meinte ich.

von Gerd (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von spess53 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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

von Loetbeginner (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Dieter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> 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

: Bearbeitet durch User
von Loetbeginner (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Daniel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Alex G. (dragongamer)


Bewertung
-1 lesenswert
nicht lesenswert
Radiowellen die auf ein paar cm, 1.66v induzieren?

: Bearbeitet durch User
von Rolf M. (rmagnus)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
> Radiowellen die auf ein paar cm, 1.66v induzieren?

Ja

von HildeK (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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!

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Timmy (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ist das jetzt euer Ernst? Der Raspi Zero verbraucht laut Google 80mA im 
Idle und ihr diskutiert über ein paar µA???

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Peter D. (peda)


Bewertung
1 lesenswert
nicht lesenswert
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.

von Paul B. (paul_baumann)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Heize ihn mal auf 125°C auf, was dann fleißt.

Das Gehäuse des Multimeters, mit dem gemessen wird...
:)
MfG Paul

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.