Forum: Mikrocontroller und Digitale Elektronik Active-HIGH/LOW-Taster bei Batteriebetrieb


von Johannes (menschenskind)


Lesenswert?

Hallo,

Bei einer Batterieanwendung mit 2 Tastern, welche Variante ist da 
hinsichtlich Stromverbrauch zu bevorzugen: Pull-Up oder Pull-Down mit 
Taster gegen Betriebsspannung bzw. Masse?

Beim Pullup, fließt da ein kleiner Strom in den µC rein?

Danke im Voraus.
Hannes

von aSma>> (Gast)


Lesenswert?

Servus,
wenn die Leitung kurz sind und du keine Störung drauf hast, dann lasse 
beides weg.

Dafür müssest du aber im Programm eine Tastenentprellung programmieren.

Oder du nimmst ein Pullup mit hochohmigen Widerstand + Kondensator als 
Tiefpass. Was fließt denn bei 100k und 5Volt fürn Strom?

von Joe F. (easylife)


Lesenswert?

Johannes H. schrieb:
> Pull-Up oder Pull-Down mit
> Taster gegen Betriebsspannung bzw. Masse?
>
> Beim Pullup, fließt da ein kleiner Strom in den µC rein?

In der Regel ja, wieviel es ist müsste man im Datenblatt des jeweiligen 
uC nachlesen.
Pull-down (47K) und Taster gegen VCC dürfte in den meisten Fällen besser 
sein.
Eventuell vorhandenen internen Pullup natürlich deaktivieren.

Bei sehr hochohmigen Pull-ups/downs (47K) empfiehlt sich zusätzlich 
parallel ein 100p..1n Keramikkondensator zur Vermeidung von 
Fehlauslösungen durch ESD Events.

aSma>> schrieb:
> wenn die Leitung kurz sind und du keine Störung drauf hast, dann lasse
> beides weg.

Das geht nur mit umschaltenden Tastern.
Ansonsten ist bei offenem Taster kein definierter Zustand vorhanden.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Johannes H. schrieb:
> Bei einer Batterieanwendung mit 2 Tastern, welche Variante ist da
> hinsichtlich Stromverbrauch zu bevorzugen: Pull-Up oder Pull-Down mit
> Taster gegen Betriebsspannung bzw. Masse?

Keine. Problem nicht verstanden.

von Peter D. (peda)


Lesenswert?

Johannes H. schrieb:
> Pull-Up oder Pull-Down mit
> Taster gegen Betriebsspannung bzw. Masse?

Vom Stromverbrauch her ist das schnurz, es gilt für beides das ohmsche 
Gesetz.
Ich bevorzuge Taster gegen GND.

von Marcus N. (marcus_n)


Lesenswert?

Hallo!

Welchen µC verwendest du denn? Bei den AVRs würde ich dir empfehlen, den 
internen Pull-Up zu verwenden. Dieser ist bei älternen Modellen (Mega8) 
mit 30-80kOhm angegeben und bei neueren mit 30-60kOhm. Für Hi-Speed 
Anwendungen ist das vielleicht zu groß aber wenn du einen Taster drückst 
ist es vollkommen egal ob der µC die Flanke beim ersten Takt erkennt 
oder erst 3 Takte später. Insbesondere bei niedrigen Frequenzen da ja 
der µC mehr Zeit zum Erkennen des Pegels hat. Was allerdings wichtig 
wäre ist eine Kapazität zwischen den beiden Tasterseiten zum Entprellen, 
ich verwende da immer 10nF.

Und wenn du dir Sorgen um den Strom machst: Wie lange/oft drückst du 
denn den Taster? Denn der Strom über den Pullup fließt natürlich nur 
wenn du den Taster gegen Masse ziehst. Wenn du nichts drückst fließt bei 
den AVRs ein maximaler Leckstrom von 1µA unabhängig ob GND oder VCC am 
Pin anliegt. Da ist der Leckstrom von Akkus eigentlich schon größer :D

LG Marcus

von m.n. (Gast)


Lesenswert?

Sofern die Taster bessere Qualität aufweisen (vergoldetet Kontakte), 
kann man die Widerstände recht hochohmig ausführen. Die zusätzliche 
Stromaufnahme bei 2M2 bleibt im µA-Bereich: 
Beitrag "Re: EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä."
Den Taster würde ich immer gegen GND schalten lassen.

von Johannes (menschenskind)


Lesenswert?

Marcus N. schrieb:
> Was allerdings wichtig
> wäre ist eine Kapazität zwischen den beiden Tasterseiten zum Entprellen,
> ich verwende da immer 10nF.

Entprellung wollte ich per Software machen, da ich nicht so viel Platz 
auf der Platine habe.
Wie zuverlässig ist denn Dein 10nF-Entprellen bzw. wieviele µs oder ms 
kann das Prellen damit überbrückt werden?
Einen AtTiny9 wahrscheinlich.

Ja ich bevorzuge auch Taster gegen Masse, und dank eurer Antworten kann 
ich das ja nun ohne Probleme so machen :)

: Bearbeitet durch User
von Marcus N. (marcus_n)


Lesenswert?

Johannes H. schrieb:
> Wie zuverlässig ist denn Dein 10nF-Entprellen bzw. wieviele µs oder ms
> kann das Prellen damit überbrückt werden?
Also wie "zuverlässig" so ein kondensator arbeitet ... naja es hat bis 
jetzt immer ohne Probleme alles funktioniert :D
Falls du es genau wissen willst habe ich schnell mal nachgerechnet ... 
bei 30kOhm verzögert der 10nF Kondensator um ca. 100µs damit sich die 
Spannung immernoch zwischen 0V und 0.3*Vcc bewegt (zulässig für 
LOW-Pegel) was bedeutet dass ein Prellimpuls nicht länger als 100µs 
dauern darf. Wie viel Zeit du per Software überbrücken musst hängt eben 
davon ab, wie viele Prellimpulse dein Taster erzeugt und das kann man 
nur schwer sagen weil das bei jedem Tastendruck anders ist ^^

Johannes H. schrieb:
> Entprellung wollte ich per Software machen, da ich nicht so viel Platz
> auf der Platine habe.
Wenn du das per Software verzögern willst würde ich auf alle Fälle 10ms 
verzögern, was dich aber einen Timer kostet und mehr Strom kostet, da du 
nicht in den Power-Down-Modus gehen kannst. Kannst du wirklich keinen 
0603 Kerko zwischen den Tasterpins löten? Das nimmt jetzt wirklich nicht 
sooo mega viel Platz weg ...

LG Marcus

: Bearbeitet durch User
von Johannes (menschenskind)


Lesenswert?

Ok, da ich mit dem Entprellen noch kaum Erfahrung habe (bisher über 
RC-Glied und Schmitt-Trigger) muss ich das erstmal auschecken inwieweit 
die Software- oder Hardwarevariante zu bevorzugen ist.

Kurze Info: der uC steuert so ne RGB-LED, die dann über die Taster im 
Leuchtverhalten gesteuert werden kann.
Die Taster werden aber nur selten benutzt werden. Deswegen wollte ich 
die Entprellung auch Interruptgesteuert starten und auch nur dann würde 
der Timer laufen.

von Marcus N. (marcus_n)


Lesenswert?

Na wenn du eine LED betreibst dann ist es vom Strombedarf her sowieso 
nicht so kritisch da die LED sowieso um ein Vielfaches mehr braucht als 
der µC selbst. Vom Aufwand her ist es garantiert am einfachsten einen 
Kondensator hin zu setzen :-)

Aber mal was anderes ... wie willst du denn eine RGB-LED und 2 Taster an 
3 I/Os betreiben?

von Johannes (menschenskind)


Lesenswert?

Das ist so ne WS2812, die hat ja den PWM-Treiber integriert und muss nur 
über eine Leitung mit Daten gefüttert werden.

Aber selbst dann wird es beim 6Pin-Tiny schwierig, weil ich für die LED 
noch ne Ladungspumpe verwende, die ich über das Enable-Pin steuern muss.
Man kann zwar dem Resetpin ne andere Funktion zuweisen, dann muss man 
das aber mit 12V beaufschlagen um den µC wieder programmieren zu können.

von Stefan F. (Gast)


Lesenswert?

> Bei sehr hochohmigen Pull-ups/downs (47K) empfiehlt sich zusätzlich
> parallel ein 100p..1n Keramikkondensator zur Vermeidung von
> Fehlauslösungen durch ESD Events.

Für fast die selbe Aussage musste ich vor wenigen Tagen einen üblich 
Shitstorm wegstecken. Schön zu sehen, dass ich nicht alleine da stehe.

von m.n. (Gast)


Lesenswert?

Stefan U. schrieb:
> Für fast die selbe Aussage musste ich vor wenigen Tagen einen üblich
> Shitstorm wegstecken. Schön zu sehen, dass ich nicht alleine da stehe.

Du Ärmster!
Kann es sein, daß Du den Unterschied zwischen 100 pF und 100 nF nicht 
kennst?

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.