Gast
#423380
Moin moin,
Ich habe mit einem Mega16 ein kleines Gerät zum Betrieb am KFZ-Netz
gebastelt. Funktioniert soweit - nur mit dem Stromverbrauch im
sleep-Mode habe ich noch meine Probleme...
Mit dem folgenden Code komme ich auf ca. 4mA Power-Down-Stromverbrauch
(delay_ms ist eine selbstgeschriebene delay-Funktion, um über die
Grenzen aus avr-libc zu kommen)
wdt_enable(WDTO_2S);
while(1)
{
delay_ms(1000);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_mode();
// reset the watchdog timer
wdt_reset();
}
Diese 4mA braucht hauptsächlich der 7805*, das LCD hat auch noch ein
paar uA Ruhestrom, also OK.
Wenn ich das jetzt in mein mehr oder weniger "fertiges" Programm
einbaue, Wakeup über INT2, ADC, alle drei Timer... braucht die gleiche
Schaltung ca. 12mA (ohne Sleep-Mode 30mA - also wird der definitiv
aktiviert)
Nun suche ich die MCU-Teile, die diese 8mA verbrauchen - folgendes habe
ich schon getan:
- BOD deaktiviert (muss ich aber wieder aktivieren, sonst geht mein
EEPROM-Inhalt flöten)
- Watchdog ist deaktiviert (will/muss ja über INT2 aufwachen)
- Alle Ports auf Tri-State (DDRx = 0, PORTx = 0)
- ADC aus (mittels ADEN = 0 in ADCSRA)
- LCD abgesteckt (falls es sich nicht wieder 100% ausschalten lässt)
Hilft alles nicht nennenswert. Im Datenblatt habe ich keine genaueren
Infos dazu gefunden, was im Power-Down-Mode alles noch Strom verbraucht
- alles was Takt braucht sollte ja aus sein...
Würde einer von euch seine Erfahrung diesbezüglich mit mir teilen und
mich davon befreien, jeden einzelnen Funktionsblock noch zu
deaktivieren?
Mein Dank und ein virtuelles Bier wären ihm sicher :) MfG, Heiko
*den ich nebenbei bemerkt genau deswegen gerne ersetzen würde - hab nur
noch nichts gefunden, was tatsächlich weniger Strom zieht UND ca. 150mA
für LCD-Hintergrundbeleuchtung liefern kann, OHNE aufwändige Kühlung