Hallo,
ich hab ein kleines Problem mit dem Sleep mode des Atmega 644.
wenn ich den Sleepmode einschalte reduziert sich zwar der Stromverbrauch
jedoch nicht mal ansatzweise auf den Wert der im Datenblatt steht.
Ich komm im Powerdown modus gerade mal auf knapp unter 4 mA und das ist
für eine Batterie Anwendung deutlich zu hoch.
Ich habe als Anhang meine Schaltung gepostet.
Meine Code ist zum Testen sehr überschaubar:
1 | #include <avr/io.h>
|
2 | #include <avr/sleep.h>
|
3 | #include <avr/interrupt.h>
|
4 | #include <util/delay.h>
|
5 |
|
6 | int main(void)
|
7 | {
|
8 | // infinite main loop
|
9 | while (1)
|
10 | {
|
11 | // set sleep mode
|
12 | set_sleep_mode(SLEEP_MODE_PWR_DOWN);
|
13 |
|
14 | // sleep_mode() has a possible race condition
|
15 | sleep_enable();
|
16 | sleep_cpu();
|
17 |
|
18 | }
|
19 | }
|
Ich weis das ich so das Teil nicht mehr aufgeweckt bekomme aber das ist
ja nur als Test.
Folgende Fuses sind aktiv:
JTAGEN
CKDIV8
Interner Oszilator 6CK 65ms
Hat jemand eine Idee warum das Teil soviel säuft obwohl Power down?
Ich könnte mir vorstellen das es am JTAG enabled liegt aber wenn ich das
aus mache komm ich garnicht mehr an den Controller dran deswegen habe
ich das noch nicht ausprobiert.
Danke und Gruß
Daniel