Hallo meine LIEBEN, Ich habe eine RC5 Fernbedienung gebaut und wollte diese jezt mittels Akkus betreiben(Atmega8, IR-led+Transistor, 6 Taster, Spannungsversorgung:7805). Zur Stromersparniss wollte ich den Atmega in den Sleepmode(POWERDOWN) schicken solange nix zu tun ist. 1.)Allerdings ist mir aufgefallen das der 7805 ja selbst 5mA verbraucht, oder sehe ich das aus dem Datenblatt falsch???? wieviel verbraucht er??? 2.)Betreibe die Taster mit 10kOHM derzeitig als LOW activ, wie im Tutorial auf mikrocontroller.net. Wäre es nit klüger die Taster mit 1MOHM zu betreiben als LOW activ, oder noch besser als HIGH activ, um Strom zu sparen??? Sricht da irgendwas dagegen oder dafür??? Bisher wären das ja ansonsten 5V/10kOHM=0,5mA 0,5mAx6Taster=3mA, oder??? 3.)Möchte das ich mit allen Tastern den Atmega8 aus seinen Dornröschen schlaf erwecken kann, und zwar am PIND2, also mit INT0. Einfachste Möglichkeit die ich sehe(für HIGH activ) alle Pins über eine Diode an INT0, oder gibts ne einfachere Lösung??? 4.)Letzte Frage, was ist der Unterschied zwischen dem setzen von ISC01-ISC00 = 00 und 10, also "The low level of INT0 generates an interrupt request" und "The falling edge of INT0 generates an interrupt request"??? Vielen Dank im voraus für Eure Antworten und Hilfe, GASTRO.
gastro wrote: > Hallo meine LIEBEN, > Ich habe eine RC5 Fernbedienung gebaut und wollte diese jezt mittels > Akkus betreiben(Atmega8, IR-led+Transistor, 6 Taster, > Spannungsversorgung:7805). > Zur Stromersparniss wollte ich den Atmega in den Sleepmode(POWERDOWN) > schicken solange nix zu tun ist. > > 1.)Allerdings ist mir aufgefallen das der 7805 ja selbst 5mA verbraucht, > oder sehe ich das aus dem Datenblatt falsch???? wieviel verbraucht > er??? Der 7805 ist für sowas denkbar ungeeignet (Wegen dem hohen Eigenverbrauch). Schau mal z.B. bei TI, die haben Spannungsregler (Auch als Schaltregler), die mit Strömen im uA-Bereich auskommen. Die irgendwo zu bekommen dürfte dann halt wieder ein anderes Problem sein. Wenn es um Einzelstücke geht, liesse sich vielleicht mit den Samples etwas machen. Und 1A wirst du in der Fernsteuerung auch eher nicht brauchen, was allerdings erforderlich ist, ist ein Elko, damit die Spannung beim Senden nicht einbricht (Hoher Strom durch die IR-Diode). > 2.)Betreibe die Taster mit 10kOHM derzeitig als LOW activ, wie im > Tutorial auf mikrocontroller.net. Wäre es nit klüger die Taster mit > 1MOHM zu betreiben als LOW activ, oder noch besser als HIGH activ, > um Strom zu sparen??? Sricht da irgendwas dagegen oder dafür??? > Bisher wären das ja ansonsten 5V/10kOHM=0,5mA > 0,5mAx6Taster=3mA, oder??? Die externen Widerstände kannst du dir sparen, der ATmega8 hat auch interne. Da wird ja auch nur während dem Drücken Strom verbraucht, das ist vernachlässigbar. > 3.)Möchte das ich mit allen Tastern den Atmega8 aus seinen Dornröschen > schlaf erwecken kann, und zwar am PIND2, also mit INT0. Einfachste > Möglichkeit die ich sehe(für HIGH activ) alle Pins über eine Diode an > INT0, oder gibts ne einfachere Lösung??? Ein entsprechendes Logikgatter vielleicht. Ist aber alles nicht so toll. Besser wär's, du würdest gleich einen ATmega48/88/168 verwenden. Die sind Pinkompatibel, gehören aber zur neueren Sorte. Da gibt's bei jedem Pin einen Interrupt und der Stromverbrauch beim Schlafen ist erst noch niedriger. > 4.)Letzte Frage, was ist der Unterschied zwischen dem setzen von > ISC01-ISC00 = 00 und 10, also "The low level of INT0 generates an > interrupt request" und "The falling edge of INT0 generates an > interrupt > request"??? Bei ersterem werden dauernd Interrupts ausgelöst, während LOW anliegt, bei zweiterem eben nur bei der Flanke.
Mega8L verwenden und den Spannungsregler ganz rausschmeißen... Versorgen über 3 Batterie/Akku-Zellen
Wenn Du schon einen Mega8 hast, brauchst Du nicht auf Mega8-L umsteigen: (google-Cache Link, da Originalseite nicht ging) http://64.233.183.104/search?q=cache:9KWLU8rAzZYJ:www.robotgames.net/atmel/mega8_or_mega8l.htm+Mega8L&hl=de&ct=clnk&cd=6&gl=de Kurz: 8L ist einfach nur auf geringere Taktrate bei geringerer Spannung getestet
hallo, erstmal vielen dank für eure antworten! @Jörg B. : ja ich hab hier eine 9V blockbatterie. wie meinst du das mit nur 3 Akkuzellen den Spannungsregler ganz rausschmeißen??? einfach nur 3 akkus mit 1,2V in reihe mit nem 100uF elko und gut ist??? und nochmal zurück zum taster problem, verbraucht es wirklich keinen strom, wenn ständig 5V am atmega pin anliegen. denn wenn ich drücke zieht der tASTER den pin auf 0V, das meinte ich mit LOW activ, genau wie hier im Tutorial halt. ist HIGH activ nit stromsparender??? vielen dank im voraus und gruss GASTRO.
oder sind beim POWERDOWN modus die kompletten pins gesperrt und ziehen keinen strom mehr???? vielen dank und gruss nochmal,GASTRO.
Der ATMEGA 8L wurde vermutlich deshalb vorgeschlagen, weil der ab 2,7V arbeitet und Du deshalb bei dem die Spannung nicht stabilisieren brauchst. Aus dem Datenblatt: > Operating Voltages > 2.7 - 5.5V (ATmega8L) Alles zu den verschiedenen sleep modes im Datenblatt des ATMega8(L) ab Seite 33 ...
ATMEGA 8Ls sind einfach nur ATMEGA 8, die bei 16Mhz nicht stabil genug waren. ansonsten sind beide chips identisch. also gleicher spannungsbereich. allein das marketing hat sich einfallen lassen, die "schlechten" als die "guten" mit erweitertem spannungsbereich hinzustellen bzw. den ATMEGA8 diesen bereich zu nehmen.
siehe auch: http://www.siwawi.arubi.uni-kl.de/avr_projects/evertool --- Another non-offical information: The datasheets state that only L-type AVRs should be used for voltages below 4.5V. According to the information I've got from some "insiders" (who do not work for ATMEL) there is no selection for "low-voltage" operation. The selection is done for controllers which do not work reliably at 16MHz. Those are labeled as "L"-type. So there should be no problem using "normal" (non-"L") AVRs with Evertool at 3.3V operation voltage. I have tested "normal" AVRs with my prototypes and had no problems with Vcc=3.3V. Since XTAL-frequencies for both Evertool-controllers are below 8MHz you may just select the type you can get cheaper. ---
und hier noch die "save operating areas" fuer 16MHz/20MHz-typen. solang man da drin bleibt, ist alles in butter. ich habe allerdings einen mega8 auch problemlos mit 3V3@12MHz, was ausserhalb dieser area liegt und daher nur labor- aber nicht serientauglich ist.
Ich nutze immer den ZLDO500 ... der braucht fast keinen Strom und hat eine sensationelle Drop-out Spannung ....
Die Pins brauchen keinen bemerkenswerten Strom. Ein Problem wird's erst, wenn z.B. die internen Pull-Ups aktiviert sind, der Pin aber extern mit einem Pull-Down versehen ist (Das könnte eben bei High-Aktiven Tastern passieren). Oder wenn ein offener Pin als Eingang geschaltet ist. Der kann anfangen zu schwingen und der Schmitt-Trigger zieht mehr Strom. Steht alles im Datenblatt, schau mal bei den diversen Stromspar-Funktionen.
…eine andere Möglichkeit ist es, den 7805 erst zu versorgen, wenn er gebraucht wird (s. Anhang). Ein Tastendruck schaltet Q2 – dieser versorgt den 7805 und damit den Controller. Dieser wiederum aktiviert sofort Q1 und damit weiter Q2. Dann kann Abgefragt werden, welche Taste gedrückt ist (UC1 und UC2 über Spannungsteiler an den Controller.) Wenn der Controller fertig ist, lässt er Q1 los und nimmt sich selbst den Saft (solange keine Taste mehr gedrückt ist… Bei vielen Tastern allerdings recht aufwändig. Hab die Schaltung noch nicht getestet – wollte sie mal für ein ähnliches Projekt einsetzen… Gruß, Thomas
> 2.)Betreibe die Taster mit 10kOHM derzeitig als LOW activ, wie im > Tutorial auf mikrocontroller.net. Wäre es nit klüger die Taster mit > 1MOHM zu betreiben als LOW activ, oder noch besser als HIGH activ, > um Strom zu sparen??? Sricht da irgendwas dagegen oder dafür??? > Bisher wären das ja ansonsten 5V/10kOHM=0,5mA > 0,5mAx6Taster=3mA, oder??? Die Tasten sind kein Problem, solange keine gedrückt ist, fliesst kein Strom. Auch wenn 5V (bzw. Vcc) am AVR anliegen. Es ist aus Stromsparsicht völlig egal, ob Du low oder high aktiv benutzt. Low aktiv hat den Vorteil, dass Du die internen Pullups benutzen kannst. > 3.)Möchte das ich mit allen Tastern den Atmega8 aus seinen Dornröschen > schlaf erwecken kann, und zwar am PIND2, also mit INT0. Einfachste > Möglichkeit die ich sehe(für HIGH activ) alle Pins über eine Diode an > INT0, oder gibts ne einfachere Lösung??? Das ist die Methode der Wahl. GGf. ein Dioden-Array verwenden. Wenn Du auch den ATmega88 verwenden kannst: der hat einen Pin-on-Change-Interrupt: Sobald ein Pin den Pegel wechselt (-> Taste gedrückt), dann wacht er auf, ganz ohne Zusatzhardware. Generell ist der ATmega88 besser im Stromsparen. Noch ein paar Tipps, um den Stromverbrauch zu senken: * möglichst niedrige VCC benutzen * entweder keinen Regler (siehe andere Posts) oder einen mit "low-quiescent-current" benutzen. * Die Batteriespannung nur so hoch wie wirklich notwendig. Viel Spass, Stefan
@Thomas: Das geht noch etwas einfach mit einem Regler, der einen /EN Eingang hat. Dann spart man sich den T2. Habe ich schon oft benutzt (mit einem Torex-Regler, leider gibt es den nicht wirklich in Kleinmengen zu kaufen) und funktioniert super. Viele Grüße, Stefan
@Stefan: Ich hatte bisher nur den L4931 mit Enable-Eingang - und der verbraucht ausgeschaltet immernoch 50µA. Muss mich wohl mal noch nach anderen Reglern umsehen... Gruß, Thomas
hallo, werde die taster also so beibehalten. spannungsregler fliegt raus und 3x1,2V akkus. und das interrupt problem werde ich dann wohl mit einem logik gatter lösen müssen oder i bestell mir den ATmega88 wie vorgeschlagen! besten dank und gruss, GASTRO.
Bei einem Mega88 könntest Du auch auf 2 Zellen runtergehen, da der schon ab 1,8V läuft.
Und noch nen tip: falls du vor hast Flanken interrupts zu nutzen: die funktionieren nicht in den sleep modes in denen der Takt abgeschaltet wird, da um eine Flanke zu erkennen auch ein takt nötig ist.
hallo, vielen dank für die vielen tipps!!! allerletzte frage: will nen 74hc30 nehmen um den 6 tasten auf int0 zu legen. wieviel strom verbraucht der??? habe nix dazu in dem datenblatt gefunden! vielen dank an alle, habt mir sehr geholfen! gruss gastro
Wenn schon einen Linearegler dann einen Low Drop oder Ultra Low Drop Typen zB. Reichelt. LM2940-CT5 nehmen der braucht dann nicht eine so hohe Eingangsspannung und muss dann auch weniger verheizen. Statt des 9V Blocks der ja nur wenige hundert mA hat kann man dann so nen 4er Halter für 4 Micros oder Mignons nehmen die wesentlich mehr Kapazität als der 9V Block haben, da weder der AVR noch die IR-LED mehr wie 5V brauchen. Oder wie gesagt ganz auf den Spannungsregler verzichten, auch sollte auf die Verluste des Elkos geachtet werden nicht das diese zu hoch sind und auf Dauer die Akkus entladen. Denke mal als Transistor wird du eh nen spannungsgesteuerten Typen haben, dann spart man sich auch etwas Basisstrom ein. Um den AVR zu wecken würde ich jedem Taster eine Schottky-Diode=oder Arrey) schenken damit gleichzeitig auch der Ext. Interuppteingang angesteuert wird um den AVR zuwecken. Zum Mega88 1,8V wäre für die IR-Led warscheinlich zu wenig, wobei 2 Akkus ja bei 2,4V liegen. ich würde aber mit mind. 3 Zellen arbeiten damit die IR-Leds richtig gepowert werden. Ich würde die Eingänge mit mind. 10kOhm Pulldown runterziehen. So hat man keinen Verbrauch wenn die Taste nicht gedrückt ist. Nur wenn eine Taste betätigt wird gelangt Strom auf den entsprechenden Eingang und durch den Pulldown. Ich denke mal das der AVR bestimmt Leckverluste hat wenn man die Pullups einschaltet aber das läßt sich ja im Datenblatt nachlesen.
thomas o. wrote: Oder wie gesagt ganz auf den Spannungsregler verzichten, auch sollte auf die Verluste des Elkos geachtet werden nicht das diese zu hoch sind und auf Dauer die Akkus entladen. Was für Elkos würdest du denn dann vorschlagen, welche mit hohem wiedrstand?? oder wie??? gruss GASTRO
@ Thomas O.: > Oder wie gesagt ganz auf den Spannungsregler verzichten, auch sollte auf > die Verluste des Elkos geachtet werden nicht das diese zu hoch sind und > auf Dauer die Akkus entladen. Moderne Kondensatoren haben einen Isolationswiderstand, der wesentlich höher ist, als dass er relevant wäre. Bist Du sicher, dass Du hier nicht Reihen- und Isolationswiderstand (== Parallelwiderstand) durcheinanderwirfst? > Ich würde die Eingänge mit mind. 10kOhm Pulldown runterziehen. So hat > man keinen Verbrauch wenn die Taste nicht gedrückt ist. Nur wenn eine > Taste betätigt wird gelangt Strom auf den entsprechenden Eingang und > durch den Pulldown. Wenn die Tasten nicht gedrückt werden, fliesst kein nennenswerter Strom (ausser dem input leakage current, der worstcase sowohl in Richtung GND als auch VCC mit 1uA angegeben ist, in der Praxis aber um Größenordnungen darunter liegen dürfte). Insofern ist es egal, ob low- oder high-aktiv. Die internen Pullups sind vollkommen ausreichend und für genau diese Art von Anwendung vorgesehen. Externe Pullups/downs sind eigendlich nur dann notwendig, wenn ein definierter Widerstand bereits vor der Initialisierung der AVR-Ports notwendig ist. Gruß, Stefan
Das einfachste ist doch wenn Du 2 polige Taster nimmst. Über den ersten Pol schaltest Du die Versorgungsspannung (Ein/Aus) und mit den zweiten Pol belegst Du Deinen Port Pin. Dann fließt tatsächlich nur dann Strom wenn Du einen Taster drückst.
>Das einfachste ist doch wenn Du 2 polige Taster nimmst. >... >Dann fließt tatsächlich nur dann Strom wenn Du einen Taster drückst. Wenn Du die daraus resultierende Stromersparnis mal rechnerisch abgeschätzt hättest, wäre Dir klargeworden, dass sie völlig vernachlässigbar ist. Beispielkalkulation: Durch einen Pullup von 10 kOhm fließt bei VCC = 2.5 V (zwei Akkuzellen) ein Strom von 0.25 mA. Um einen 1000 mAh-Akku durch Dauerdrücken einer entsprechenden Taste leer zu bekommen, müsste man selbige also 1000 mAh/(0.24 mA) = 4000 h = 5.5 Monate lang ununterbrochen niedergedrückt halten.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.