Forum: Mikrocontroller und Digitale Elektronik Atmega8L mit 2 NiMh Akkus betreiben?


von Stefan S. (engi)


Lesenswert?

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.

von T.roll (Gast)


Lesenswert?

Nimm einen Atmega88. Der geht schon ab 1,8V und ist auch besser im 
Stromsparen.

von Hans J. (step_up_mosfet)


Lesenswert?

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.

von One Cell Power (Gast)


Lesenswert?

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

von Stefan S. (engi)


Lesenswert?

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.

von Max H. (hartl192)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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.

von L. P. (lpg)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

Das war mir auch neu, aber bei Conrad gibts z.B. den Artikel 252238.

von Stefan S. (engi)


Lesenswert?

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.

von D. V. (mazze69)


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?

D. V. schrieb:
> Die heißen dann LR2032

Das ist aber ein normaler LiIon-Akku, der entsprechend auch 3,6V statt 
3V hat.

von Stefan S. (engi)


Lesenswert?

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?

von Stefan S. (engi)


Lesenswert?

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
Noch kein Account? Hier anmelden.