Hallo Leute,
ich beschäftige mich relativ neu mit dem Thema µC und wollte nun mal ein
kleines Programm schreiben welches nach der Betätigung eines
Mikroschalters unter anderem eine LED für eine gewisse Zeit einschaltet.
Also eigentlich nix wildes.
Da das ganze über Batterie gespeist werden soll macht es natürlich Sinn
den µC (es handelt sich um einen ATtiny 85) wenn er nicht gebraucht wird
in den Sleep zu schicken. Auch dies ist wohl kein Problem.
Bei dem Eingang PB4 welchen ich dazu nutzen möchte muss ich ja den
internen PullUp einschalten (oder nicht ?)
Ich habe aber irgendwo gelesen dass die internen PullUps der Eingänge
schon recht viel Strom verbrauchen, daher sollte man im Sleep Betrieb
die auch so weit möglich abschalten. Dies kann ich für den Eingang
welchen ich als Interrupt nehmen will ja nicht machen. Daher meine Frage
wie viel Strom zieht denn der interne PullUp ?
Nach meinem Verständnis kann der ja so oder so nur Strom ziehen wenn der
Mikroschalter betätigt ist, also der Eingan auf Low liegt. Liegt der
Eingang auf High kann ja eigentlich annähernd kein Strom fließen, sonst
wäre der Eingang ja auf Grund des Spannungsabfalls am PullUp quasi nicht
mehr High.
Was also ist der richtige Weg das ganze möglichst Stromsparend mit nem
externen Interrupt über den Mikroschalter zu realisieren ?
Gruß
Christian
Christian schrieb:> Was also ist der richtige Weg das ganze möglichst Stromsparend mit nem> externen Interrupt über den Mikroschalter zu realisieren ?
Das mit dem Pullup siehst du genau richtig. Das, was du irgendwo gelesen
hast, ist Unsinn.
Was man nicht machen darf, ist die Eingänge einfach offen lassen.
mfg.
Hi,
Pull-Up macht auf jeden Fall Sinn. Laut Datenblatt haben die beim Attiny
mindestens 20kOhm, heißt bei 5V frisst der während du den Taster dann
drückst (Den musst du dann natürlich gegen GND schalten) I=U/R höchstens
0,25mA.. Aber halt nur während du eben den Taster drückst.
Außerdem Lässt sich der Attiny per Interrupt aufwecken; wie sich das mit
dem Pin-Level verhält weiß ich allerdings nicht. Evtl. brauchst du dann
nen externen Pull-down und schaltest gegen VCC.
Im Sleep Mode zieht der Chip unter einem uA. So würde ich die Sache
angehen. Datenblatt wälzen, Tutorials ansehen und dann findest du schon
raus wie das läuft. Learning by doing
Grüße
Chrissi
Christian schrieb:> Da das ganze über Batterie gespeist werden soll macht es natürlich Sinn> den µC (es handelt sich um einen ATtiny 85) wenn er nicht gebraucht wird> in den Sleep zu schicken. Auch dies ist wohl kein Problem.> Bei dem Eingang PB4 welchen ich dazu nutzen möchte muss ich ja den> internen PullUp einschalten (oder nicht ?)
Eine Schaltung mit ext. Pullup-Widerstand kann dann sinnvoll sein, falls
der Taster auch blockieren kann, bzw. im Schlafmodus aktiv bleibt.
Beitrag "Re: EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä."
>Eine Schaltung mit ext. Pullup-Widerstand kann dann sinnvoll sein [...]
Hm. Ich frag mich gerade, was denn ein externer Pullup-Widerstand
prinzipiell anders machen soll als ein interner? Oder begründet sich
Deine oben zitierte Aussage nur in der Tatsache, dass der Wert des
internen Pullups eine eher vage Größe ist, wohingegen jener eines
externen beliebig gewählt werden kann und diesen dann auch (z. B. als
Metallfilmwiderstand) mit hoher Genauigkeit besitzt?
Oder gibt es einen weiteren Grund, den ich nicht sehe?
LostInMusic schrieb:> Oder gibt es einen weiteren Grund, den ich nicht sehe?
Besonders hohe Genauigkeit benötigt ein Pullup nicht. Ob der 0,1% oder
10% abweicht, ist vollkommen egal. Entscheidend ist, dass man extern
einen wesentlich kleineren Widerstand auswählen kann, was die
Störempfindlichkeit herabsetzt. Ob das nun besonders hohe Qualität oder
Paranoia ist, mag jeder selbst entscheiden.
mfg.
>Entscheidend ist, dass man extern einen wesentlich kleineren Widerstand>auswählen kann, was die Störempfindlichkeit herabsetzt.
Also in der Schaltung, die in dem oben von "m.n." verlinkten Thread
"Re: EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä."
vorgestellt wird, benutzt der Autor einen 2M2-Widerstand als Pullup.
Oder besser gesagt zwei 2M2-Widerstände, die einen Spannungsteiler
bilden. Diese Widerstände sind also deutlich größer, also hochohmiger
als die internen Pullups beim AVR. Hat der Autor dieser Schaltung damit
dann die Störempfindlichkeit heraufgesetzt? Welchen Sinn ergibt das?
Wenn es Dich stört, daß durch den Pullup Strom fließt, wenn sich jemand
auf die Taste setzt, dann kannst Du bei Dauerdruck den Pullup abschalten
und per Watchdog-Interrupt z.B. alle 1s nachsehen, ob der immer noch
draufsitzt.
LostInMusic schrieb:> Hat der Autor dieser Schaltung damit> dann die Störempfindlichkeit heraufgesetzt? Welchen Sinn ergibt das?
Ja, der Eingang ist deutlich störempfindlicher. Ich kann mir die
Schaltung nur so erklären, das der Autor den ohnehin sehr geringen
Leckstrom des Eingangs ( typ. < 0,05µA, max. 1µA lt. Datenblatt) noch
weiter herabsetzen möchte.
Der Preis für den noch etwas geringeren Leckstrom würde ich nicht zahlen
wollen, denn der so beschaltete Eingang ist natürlich sehr
störempfindlich.
LostInMusic schrieb:> Oder besser gesagt zwei 2M2-Widerstände, die einen Spannungsteiler> bilden.
Es geht nicht um einen Spannungsteiler! Der eigentliche
Pullup-Widerstand ist R3; R2 und C1 bilden einen Tiefpass, der Störungen
sehr stark filtert.
> Diese Widerstände sind also deutlich größer, also hochohmiger> als die internen Pullups beim AVR. Hat der Autor dieser Schaltung damit> dann die Störempfindlichkeit heraufgesetzt?
Kleine Widerstände senken die Störempfindlichkeit, sofern die Störung
selbst recht hochohmig bleibt. Insofern sind kleine Widerstände im
Allgemeinen nicht verkehrt. Aber:
> Welchen Sinn ergibt das?
In der gezeigten Schaltung sorgt R2 mit seinen 2M2 dafür, daß die
Störung immer hochohmig eingekoppelt wird; der für Störimpulse recht
niederohmige C1 bildet hält diese in Verbindung mit R2 wirksam vom
µC-Eingang fern.
Die Stromaufnahme ist selbst bei geschlossenem Kontakt sehr gering.
Bei den anderen Schaltungen liegt vor dem Eingang ein Tiefpass mit 10k
und 100nF, der unabhängig vom verwendeten Pullup-Widerstand Störungen
sehr stark unterdrückt. Da ist der verwendete Widerstand zweitrangig
(einmal intern ca. 30-50k und einmal weiter unten extern 1M).
Matthias Sch. schrieb:> denn der so beschaltete Eingang ist natürlich sehr> störempfindlich.
Was ist denn daran 'natürlich'? Hast Du schon mal Schaltungen für
Batteriebetrieb gebaut?
LostInMusic schrieb:> Also in der Schaltung, die in dem oben von "m.n." verlinkten Thread> "Re: EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä."
Diese Schaltung weicht vom Mainstream ab und wurde hier schon äusserst
kontrovers diskutiert.
Ich hoffe, ich habe mich diplomatisch genug ausgedrückt. Ohne irgend
jemandem zu nahe zu treten.
mfg.
Thomas Eckmann schrieb:> LostInMusic schrieb:>> Also in der Schaltung, die in dem oben von "m.n." verlinkten Thread>> "Re: EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä.">> Diese Schaltung weicht vom Mainstream ab und wurde hier schon äusserst> kontrovers diskutiert.> Ich hoffe, ich habe mich diplomatisch genug ausgedrückt. Ohne irgend> jemandem zu nahe zu treten.
Das hast Du gut formuliert ;-)
Vor genau 30 Jahren hatte ich eine Schaltung veröffentlicht, bei der ein
µC neben einer reziproken Frequenzmessung auch noch das 7-Segment
LED-Display per Multiplex angesteuert hatte.
Prompt kam ein wüst schimpfender Leserbrief, dessen Autor meinte, die
7-Segmentansteuerung habe man gefälligst mit einem fertigen ICM7208
durchzuführen. Ich war eigentlich froh, diesen nicht mehr verwenden zu
müssen, da beim Einschalten immer Müll angezeigt wurde.
Ferner wäre es meine Pflicht gewesen, einen 8051 statt eines 6511 zu
verwenden. War das ein dummer Hund!
Ein anderer meckerte 'rum, daß man ja garkeine Torzeit einstellen könne
und wollte deshalb die Rechnung nicht bezahlen. Noch ein dummer Hund!
"War ich, kenn ich, weiß ich schon" ;-)
m.n. schrieb:> Was ist denn daran 'natürlich'? Hast Du schon mal Schaltungen für> Batteriebetrieb gebaut?
Oh ja, dutzende. Und es ist einfach Physik. Komm mit dem Finger in die
Nähe des 10nF und die Schaltung erkennt Blödsinn. Siehe auch die
Diskussion da im Thread. Da der Taster auch gleich daneben ist, passiert
das von ganz alleine, ebenso führt ein winziger Leckstrom an den
Tasterleitungen auch zur Fehlschaltung. Lass ein wenig Feuchtigkeit an
den 10nF, usw.
Und das Taster ohne Mindeststrom mit der Zeit unzuverlässig werden,
weisst du mittlerweile. Ich nehme mal an, das du der M.N. bist, der die
Schaltung da vorstellt. In den letzten anderthalb Jahren hast du
vermutlich gemerkt, das die Schaltung nicht der Weisheit letzer Schluss
ist.
Thomas Eckmann schrieb:> Diese Schaltung weicht vom Mainstream ab und wurde hier schon äusserst> kontrovers diskutiert.
Mit Recht. Das ist wirklich eine merkwürdige Schaltung. Und das wars.
Christian schrieb:> Was also ist der richtige Weg das ganze möglichst Stromsparend mit nem> externen Interrupt über den Mikroschalter zu realisieren ?
einen pulldown zu nehmen und den Taster nach + zu schalten optimal am
PINCHANGE Interrupt.
Thomas Eckmann schrieb:> Dem ist das vollkommen egal, in welche Richtung er wackelt.
weiss ich nur die /INT wollen nach unten und brauchen pullups, die PCINT
kann man wählen.
Joachim B. schrieb:> Thomas Eckmann schrieb:>> Dem ist das vollkommen egal, in welche Richtung er wackelt.>> weiss ich nur die /INT wollen nach unten und brauchen pullups, die PCINT> kann man wählen.
/INT-Eingänge brauchen in der Regel negative Pegel bzw. Flanken. AVRs
haben allerdings INT-Eingänge, die wie die PCINT-Eingänge beide Flanken
erkennen können und zudem noch einen statischen '0'-Pegel. Das wird im
Register MCUCR konfiguriert.
Daher ist es egal, ob pullup oder pulldown.
Christian schrieb:> Was also ist der richtige Weg das ganze möglichst Stromsparend mit nem> externen Interrupt über den Mikroschalter zu realisieren ?
Ich hoffe, Du hast die Schaltung mittlerweile fertig aufgebaut und
freust Dich, daß Alles wunschgemäß funktioniert.
Joachim B. schrieb:> einen pulldown zu nehmen und den Taster nach + zu schalten
Warum?
Ich schalte Kontakte immer gegen GND.
Störungen (elektrostatische Entladungen) gegen GND sind im allgemeinen
harmloser, als sie auf die VCC aufzumodulieren.
Und bei Montagefehlern wird nicht die VCC kurzgeschlossen.