Hi, ich habe mal eine simple Frage. Ist es möglich einen Atmega8L an 2 Mignonakkus des NiMh Typs zu betreiben? Laut Datenblatt werkelt er ja erst ab 2,7V richtig zuverlässig. Ich habe vor mir einen Aussensensor zu bauen, der nur alle 3 Minuten mal ein Datenpaket sendet. Daher die Idee den Atmega8 auf intern 1Mhz zu setzen und an XTAL1 und 2 ein Uhrenquarz anzuschließen und den Atmega8 so lange schlafen zu legen bis er mal wieder senden muss. Eigentlich, so denke ich, sollte er ja bei dem geringen Takt gar mit den 2,4V und weniger, zweier in Reihe geschalteten NiMh-Mignon Akkus klar kommen. Der Attiny2313 zumindest, soll es laut Datenblatt schaffen. Nur hat der keinen ADC, den ich dank NTC/PTC zur Messwertbestimmung benötige.
Nimm einen Atmega88. Der geht schon ab 1,8V und ist auch besser im Stromsparen.
Ich hatte damals mit dem ATmega8(L) einen Test gemacht, der normale ATmega8 lief bei 1MHz ab 2.20V und die L-Version schon bei 2.05V. Hast du keinen Spannungsregler (LM317)? Wenn ja, dann schreibe doch einfach ein Programm auf den Chip und erhöhe langsam die Versorgungsspannung bis eine rote LED blinkt oder Daten über den UART gesendet werden. Das Problem dabei ist leider dass der ADC eine 2.56V Referenz hat und deine Messergebnisse so nichts taugen. Also wie mein Vorredner schon gesagt hat, nimm einen ATmega88, der hat eine 1.1V Referenzspannung an Bord und kommt auch mit einer geringeren Spannung (1.8V) aus. Du kannst aber auch einen LiIon-Akku nutzen, ist sowieso Stand der Technik, dann passt das wieder mit dem ATmega8.
Stefan S. schrieb: > ich habe mal eine simple Frage. Ist es möglich einen Atmega8L an 2 > Mignonakkus des NiMh Typs zu betreiben? Eine ist Zelle ist auch möglich. http://www.mikrocontroller.net/articles/Versorgung_aus_einer_Zelle
Moin, danke für die guten Vorschläge. Da es hier in der Gegend keinen brauchbaren Elektronikladen gibt und eine Bestellung auch gleich wieder wenigstens 4,95€ Versand + Artikelpreis kostet, nehme ich das, was ich hier habe. Das ist zum einen eine Lithiumzelle vom Typ CR2032, einen 3,3V Spannungsregler und zusammen mit der Stromsparverion (Timer2 asynchron mit Uhrenquarz, restlicher Controller schlafend bis es was zu messen gibt) sollte dies eigentlich eine machbare Version sein, die auch eine Weile mit einer Akkuladung auskommt. Achso, warum Lithiumzelle und Spannungsregler? Die Zelle soll bei Sonnenschein über ein Solarpanel geladen werden, so dass sich ein zukünftiger Batterientausch möglichst langfristig erstmal erledigt haben sollte. Timer2 wird mit Prescaler 128 und Vorladewert von 128 betrieben, da ich einen 0,5 Sekunden Takt benötige. Der Empfänger schaltet sein Empfangsmodul nur kurz ein, wenn er auch einen Sensor erwartet, daher ist das genaue Einhalten der Sendezeiten wichtig. Juti, ich wünsche Euch einen schönen Sonntag.
Hans Jelt schrieb: > Ich hatte damals mit dem ATmega8(L) einen Test gemacht, der normale > ATmega8 lief bei 1MHz ab 2.20V und die L-Version schon bei 2.05V. Und Atmel hat ein paar Tets gemacht und kann dir nich garantieten, dass er bei unter 2.7V fehlerfrei läuft. Beim Außensensot kommt noch dazu, dass er in einem Temperaturbereich von -10 bis 30°C stabiel laufen muss.
Stefan S. schrieb: > Achso, warum Lithiumzelle und > Spannungsregler? Die Zelle soll bei Sonnenschein über ein Solarpanel > geladen werden, so dass sich ein zukünftiger Batterientausch möglichst > langfristig erstmal erledigt haben sollte. Macht man das heutzutage so? Ich werfe eine leere CR2032 immer weg.
m.n. schrieb: > Stefan S. schrieb: >> Achso, warum Lithiumzelle und >> Spannungsregler? Die Zelle soll bei Sonnenschein über ein Solarpanel >> geladen werden, so dass sich ein zukünftiger Batterientausch möglichst >> langfristig erstmal erledigt haben sollte. > > Macht man das heutzutage so? > Ich werfe eine leere CR2032 immer weg. Es gibt auch Akkus in der 2032 Bauform.
Das war mir auch neu, aber bei Conrad gibts z.B. den Artikel 252238.
ELV hat sowas im Sortiment für 4,05€. http://www.elv.de/panasonic-vanadium-pentooxyd-li-zelle-vl2330.html Sind Vanadium-Pentooxyd-Li-Zellen mit 3,0V und 50mAh Kapazität. Die waren schon damals in meinen Original Wettersensoren verbaut und wurden über 3,3V Spannungsregler und Entladeschutzdiode per Solarmodul geladen. Entsprechend musste ich bei manchen Sensoren bis heute (2004 in Betrieb gegangen) noch nie den Akku wechseln.
Die heißen dann LR2032 http://www.batteryspace.com/Li-Ion-Rechargeable-2032-Button-Cells-LR2032-3.6V-40mAh-20d-x-3.2mm.aspx
D. V. schrieb: > Die heißen dann LR2032 Das ist aber ein normaler LiIon-Akku, der entsprechend auch 3,6V statt 3V hat.
Ich hab jetzt ein neues Problem. Entweder geht mein im async. laufender Timer2 bei Powersave (Bascom) gleich mit schlafen, oder es fehlt noch ein Interrupt, der noch zu aktivieren ist. Zumindest wacht mein Atmega8 nich auf, wenn Timer2 den Interrupt auslösen müsste. Aktuelle Konfiguration: Int. 1Mhz Quarz, extern angeschlossener Uhrenquarz Und hier der Bascom Code den ich aktuell am laufen habe:
1 | $regfile = "m8def.dat" |
2 | $crystal = 1000000 |
3 | $baud = 4800 |
4 | |
5 | Config Timer2 = Timer , Async = On , Prescale = 128 |
6 | On Timer2 Timer2_irq |
7 | Enable Interrupts |
8 | Enable Timer2 |
9 | |
10 | Declare Sub Ausgabe |
11 | Dim Count As Integer |
12 | |
13 | Do |
14 | |
15 | Loop |
16 | End |
17 | |
18 | |
19 | |
20 | Timer2_irq: |
21 | Timer2 = 128 |
22 | Incr Count |
23 | |
24 | If Count = 10 Then |
25 | Count = 1 |
26 | Gosub Ausgabe |
27 | End If |
28 | |
29 | Powersave |
30 | Return |
31 | |
32 | |
33 | |
34 | Ausgabe: |
35 | Print "Controller wieder wach" |
36 | Return |
Woran könnte es liegen das Timer2 den Atmega8 nicht wieder aus dem Schlaf reißt?
Habs inzwischen rausgefunden. Dank eines Bascom-Besispielcodes. Zu finden unter \Programme\MCS Electronics\BASCOM-AVR\SAMPLES\idle.bas In der Timerroutine selbst darf kein Idle, Powerdown, oder Powersave vorkommen. Diese Befehle müssen in der Hauptschleife ausgeführt werden. Dieser Code
1 | $regfile = "m8def.dat" |
2 | $crystal = 1000000 |
3 | $baud = 4800 |
4 | |
5 | Config Timer2 = Timer , Async = On , Prescale = 128 |
6 | On Timer2 Timer2_irq |
7 | Enable Interrupts |
8 | Enable Timer2 |
9 | |
10 | Dim Count As Integer |
11 | |
12 | Do |
13 | |
14 | If Count = 10 Then |
15 | Count = 1 |
16 | Print "Wieder wach" |
17 | Waitus 100 |
18 | End If |
19 | Powersave |
20 | |
21 | Loop |
22 | |
23 | End |
24 | |
25 | Timer2_irq: |
26 | Timer2 = 128 |
27 | Incr Count |
28 | Return |
funktioniert nun bestens. Alle 0,5 Sekunden wird "Count" um 1 erhöht. Entsprechend ist nach 5 Sekunden die if-then-Bedingung erfüllt und der Text wird ausgegeben. Ich habe es gleich auf meine Sensorschaltung angewendet und wenn nichts zu senden ist, läuft die Schaltung nun mit 7-10uA und hängt auch bereits an der Lithiumzelle, welche heute über 3,3V Regler und Solarmodul noch eben geladen wurde.
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.