Forum: Mikrocontroller und Digitale Elektronik Atmega328p Power_Save


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stromsparer (Gast)


Angehängte Dateien:

Lesenswert?

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?

von S. Landolt (Gast)


Lesenswert?

Das komplette Programm?
  Es ist 1.0 uA erreichbar.

von S. Landolt (Gast)


Angehängte Dateien:

Lesenswert?

Das hier hatte mal funktioniert, vor dreieinhalb Jahren.

von S. Landolt (Gast)


Angehängte Dateien:

Lesenswert?

Und noch eine aktuelle Tabelle.

von Stromsparer (Gast)


Angehängte Dateien:

Lesenswert?

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.

von S. Landolt (Gast)


Lesenswert?

> ... 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.

von m.n. (Gast)


Lesenswert?

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 ;-)

von S. Landolt (Gast)


Lesenswert?

> 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.

von S. Landolt (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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?

von S. Landolt (Gast)


Lesenswert?

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 ...

von m.n. (Gast)


Lesenswert?

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.

von S. Landolt (Gast)


Lesenswert?

"Wassermaus"? Na, wenigstens keine "Kanalratte".

von m.n. (Gast)


Lesenswert?

"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.

von S. Landolt (Gast)


Lesenswert?

> "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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.