Hallo Zusammen,
ich versuche gerade einen Atmega328P für den Batteriebetrieb zu
konfigurieren, allerdings erscheint mir der Stromverbrauch zu hoch.
Hab ich irgendwas übersehen?
Hardware ist momentan nur der AVR, zwei Kerkos an den Versorgungspins,
und ein Uhrenquarz, Testweise eine LED an PB5. Spannnung sind 3.3V.
LFuse steht auf 0xC2, also IntOsc 8MHz ohne SUT.
Initialisierung:
1
set_sleep_mode(SLEEP_MODE_PWR_SAVE);
2
3
TIMSK2=0;
4
ASSR=_BV(AS2);
5
// Prescaler 128
6
TCCR2B=_BV(CS22)|_BV(CS20);
7
TCCR2A=0;
8
// Wait until Timer is setup
9
while(ASSR!=_BV(AS2)){
10
}
11
// clear interrupt flags
12
TIFR2=(1<<TOV2);
13
// Enable only Overflow
14
TIMSK2=_BV(TOIE2);
Funktioniert auch so weit, eine Schleife
1
while(true){
2
sleep_mode();
3
PINB|=_BV(PB5);
4
}
zeigt, dass er immer schön eine Sekunde schläft.
Aber: Der AVR zieht dabei ca. 105µA, auch ohne LED. Das kommt mir zu
hoch vor.
WDT ist aus, laut Datenblatt sollte der POWER_DOWN mode den
Stromverbrauch auf ca 1% davon bringen, für den von mir verwendeten
POWER_SAVE gibt's leider kein Diagramm.
Unterschied zwischen den beiden Modi ist eigentlich nur der laufende
Timer2 mit seinem asynchronen Oszillator. Kann mir aber nicht
vorstellen, dass der 100µA schluckt.
Wo liegt mein Fehler?
Das Forum wollte mich nicht früher antworten lassen, hier gesammelt:
Nachtrag:
Hab noch zwei Versuche gemacht:
Wenn ich Reset fix auf GND ziehe, zeigt mein Messgerät einen Strom von
0.
Wenn ich SLEEP_MODE_PWR_DOWN verwende, läuft der Timer nicht mehr, aber
der Strombedarf sinkt nur unwesentlich auf ~103µA.
Nachtrag2:
S. Landolt schrieb:> Das komplette Programm?
Danke. Hab deswegen mal meinen Code auf ein vorzeigbares Minimum
geschrumpft, und Bingo, knapp über 1µA.
Grund war eine Funktion zum Messen der Batteriespannung, hab den ADC
nicht wieder abgestellt...
Danke auch für deine Tabelle, da komme ich jetzt ungefähr auch hin.
> ... für den Batteriebetrieb ...
Es sei noch daran erinnert, die Eingänge auf definierte Pegel zu setzen
- während der Power-Save-Zeit sind die Eingangsstufen deaktiviert, in
der aktiven Zeit aber können das einige hundert uA werden, erratisch
schwankend.
S. Landolt schrieb:> Und noch eine aktuelle Tabelle.
Was ist denn ein "32 KiHz-Quarz"?
Ich würde 32,768 kHz bevorzugen, wenn es genau und einfacher beschaffbar
sein sollte.
Deine Raumheizung darfst Du aber noch ein wenig höher stellen ;-)
> Was ist denn ein "32 KiHz-Quarz"?https://de.wiktionary.org/wiki/KiB> Deine Raumheizung darfst Du aber noch ein wenig höher stellen
Ungeheizt, es ist erst Herbst; im Winter habe ich um die 13 °C.
So, das hier hatte ich eigentlich gesucht:
https://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fix
Und ja, es wäre bei meiner ersten Arbeitsstelle fast einmal zu einem
Zivilprozess gekommen, lang ist's her: da kaufte ein Kunde ein 64 MB
[sic!] Plattenlaufwerk, damals noch halb so groß wie eine Waschmaschine
und dreimal so laut, und bestand dann darauf, er hätte 64 * 1024 *1024,
also rund 67 MB, zur Verfügung haben müssen.
S. Landolt schrieb:> So, das hier hatte ich eigentlich gesucht:> https://de.wikipedia.org/wiki/Bin%C3%A4rpr%C3%A4fix
Was in der Auflistung noch fehlt ist "pipi". Das ist der Oberbegriff für
das ganze Rumgewürge.
Oder sollte ich die Anzeigen meiner Frequenzzähler jetzt auf "KiHz" oder
"MiHz" umrüsten und als Referenzfrequenz 9,536743164 MiHz fordern?
Macht das Unterschied, bin ich dann bei Dir?
Oder ergibt das doch alles keinen Sinn?
Ich halte diese Präfixe für sinnvoll und verwende sie folglich.
Wenn Sie das anders sehen, so sei Ihnen das unbenommen. Und wenn Sie
sich darüber echauffieren - je nun ...
Sieht man sich die Autorenliste dieses "wiki"-Eintrages an, kommen 39%
von einer "Wassermaus".
Eine Wassermaus ist für mich keine Referenz.
Da bleibe ich doch lieber beim Dezimalsystem oder verwende 2er-Potenzen,
die technisch eindeutig sind und keiner Kunstsprache bedürfen. Wenn die
Generation Smartphone damit überfordert ist, tut es mir nicht Leid.
"kleine Kanalratte" wurde gesagt. Ich vermute, da haben sich zwei
unterirdisch getroffen und genetische Übereinstimmung gefunden ;-)
Ich liebe Ratten, es sind kluge Tiere. Und wenn ich eine Maus im Keller
finde, wird sie (wie auch die Frösche im Kellerschacht) sorgsam gefangen
und ins Freie entlassen. Somit sind diese Bezeichnungen keine
Beleidigungen.
Zum Thema:
Danke für die Vergleichswerte zu WDT bzw. 32,768 kHz Quarz. Bislang habe
ich am ATtiny45 immer WDT genutzt, weil dadurch zwei Pins frei blieben.
Jetzt werde ich dann doch einmal einen Uhrenquarz anschließen und sehen,
wielange die Laufzeit mit Speicherkondensator (0,1 F) ist.
Überdies wäre auch das Timing deutlich genauer, was für genaue, fest
einprogrammierte 24h Zyklen vorteilhaft wäre, um zum Beispiel die
veraltete Heizungssteuerung etwas fexibler (energieeffizienter) zu
bekommen.
Die 2 x 1 mm² Teile passen gut zwischen die Pins und liegen ja schon in
der Schublade. Mal sehen, welche zusätzlichen Kondensatoren passend
sind.
> "kleine Kanalratte"
Das wäre Politik, und dann müsste ich jetzt über "Doppelwumms" und
"Operation am offenen Herzen" herziehen, aber Politik ist hier im Forum
verboten.
> ... ATtiny45 ...
Da sieht es wohl nicht so gut aus, aus dem Archiv:
1
ATtiny85-20PU (1351):
2
3
U 32768 32768/32 32768/128
4
5
5.0 17.8 8.4 8.1
6
3.3 13.3 8.1 7.9
7
3.0 12.7 8.0 7.8
Aber ob ich mir das wirklich ganz genau angeschaut habe, damals vor vier
Jahren? Weiß nicht mehr. Vielleicht kommen Sie auf bessere Werte.