www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega8: zu hoher Stromverbrauch mit Uhrenquarz


Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

laut Datenblatt sollte ein ATMega8 mit einem 32 kHz Uhrenquarz bei 3V
etwas über 60 uA verbrauchen (S. 249, "Active Supply Current vs. Vcc
32 kHz external Oszillator"). Allerdings komme ich bei meinen
Versuchen nicht unter ungefähr 0.2mA, was um den Faktor drei zu viel
ist.

Liegt das daran, dass es ein Quarz ist und kein Oszillator? Oder was
könnte sonst noch falsch sein?

Vielen Dank und beste Grüße,
Bartl

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, vielleicht muß man, um diesen Wert zu erreichen, noch ein paar
nicht benutzte Komponenten deaktivieren.

Ich habe z.B. festgestellt, das der Analog-Komparator ein kleiner
Stromfresser ist. Ansonsten gucken, was man noch so abschalten könnte.
Mir fallen da z.B. Watchdog-Timer, ADC, interne Referenzspannungquelle
und USART ein.

Gruß
Ingo

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, noch vergessen. Es gibt im Datenblatt dafür ein extra Kapitel
unter "Power Management and Sleep Modes" -> "Minimizing Power
Consumtion"

Autor: ,,,, (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt* S. 35/36 steht einiges dazu. Hast du das alles schon
beachtet?


*) Version 2486P–AVR–02/06

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interne Komponenten habe ich leider keine an und laut Diagramm sollte
der Stromverbrauch im aktiven Modus so sein, d.h. bei voller Power ohne
Sleepmodi.

Trotzdem vielen Dank für die Tipps.

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Interne Komponenten habe ich leider keine an"
Du hast sie also explizit beim Programmstart ausgeschaltet?
Die sind normalerweise fast alle nach einem Reset per default
aktiviert.

Oder schwingtr der Uhrenquarz eventuell auf einer Oberwelle, also gar
nicht mir 32 kHz?

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Explizit ausgeschaltet habe ich sie nicht, gleich mal probieren.

Die Frequenz vom Quarz kann ich nicht direkt nachmessen, aber so über
den Daumen gepeilt (Timer -> Teiler -> Blinkfrequenz), müsste es schon
passen.

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die sind normalerweise fast alle nach einem Reset per default
> aktiviert.

Ich direkt nach dem Start

WDTCR=0;
UCSRA=0;
UCSRB=0;
ADMUX=0;
ADCSRA=0;

eingefügt (sollte die von dir genannten Dinge ausschalten denke ich),
hat aber keine Veränderung gebracht.

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oha, das kann man mit C so einfach machen?

Naja, schon komisch, das da nichts passiert.
Ich habe bisher nur in Assembler programmiert, das Ausschalten des ADC
und besonders des Komparators (60 uA bei 3V) hat bei mir schon was
gebracht.
Der Komparator wird übrigens durch setzen von Bit 7 im ACSR auf 1
ausgeschaltet.

; Konfiguration
ldi  r16, 0b10000000
out  ACSR, temp        ; Analogkomparator auschalten
ldi  r16, 0b00000000
out  ADCSRA, temp      ; ADC auschalten

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> *) Version 2486P–AVR–02/06
Oops, hatte 10/04. Download ist unterwegs.

Ha, ein erster Erfolg. Der ADC hat 0.1 mA gebracht. Warum man der
allerdings ausgerechnet ein Disable- statt einem Enablebit hat, versteh
ich nicht so ganz.

Beste Grüße,
Bartl

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mist, ist so wie oben natürlich falsch :-)

.def temp = r16

; Konfiguration
ldi  r16, 0b10000000
out  ACSR, temp        ; Analogkomparator auschalten
ldi  r16, 0b00000000
out  ADCSRA, temp      ; ADC auschalten

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es wird immer schlimmer, ich gebs auf. Ist ja schließlich fast
Feierabend :-)
Letzter Versuch:

.def temp = r16

; Konfiguration
ldi  temp, 0b10000000
out  ACSR, temp        ; Analogkomparator auschalten
ldi  temp, 0b00000000
out  ADCSRA, temp      ; ADC auschalten

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der ADC hat 0.1 mA gebracht.
AC (Komparator) mein' ich natürlich.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abo

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun weiß ich zwar nicht, was Bartl eigentlich vor hat, aber
möglicherweise wäre ein ATMega48(88/168) eine brauchbare alternative,
da er noch etwas mehr Stromsparpotential bietet, ansonsten aber
weitestgehend zum Mega8 kompatible ist. Als Stichworte möchte ich nur
mal interner 128 kHz Low-Power-Oszillator, System-Clock-Prescaler und
Power-Reduction-Register in den Raum werfen.

Mein "Wissen" zu diesen Dingen schöpfe ich übrigens im wesentlichen
aus diesem Thread hier:
http://www.mikrocontroller.net/forum/read-1-87197.html

Gruß
Ingo

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor hatte ich was ich eine "Zeitkapsel" nenne: Ein uC mit Display und
Solarzelle der gaaanz langsam hochzählt und nach grob 10-20 Jahren eine
vorher programmierte Nachricht "aus der Vergangenheit" anzeigt.
Batterien fallen in diesem Zeitraum aus und Solarzelle hab' ich nur
eine ganz kleine :)

Beste Grüße,
Bartl

Autor: David W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unbenutzte IOs mal auf Output schalten.

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es hängt auch noch von den Fusebits ab, insbesondere von der Wakeup-time
des Taktoszillators. siehe Seite 2:
http://www.atmel.com/dyn/resources/prod_documents/...

Gruß
Roland

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bartholomäus: Hmm, wenn das Teil erst in 20 Jahren wach werden soll,
dann würde ich noch was warten.
Grund:
http://www.atmel.com/dyn/corporate/view_detail.asp...
Quote:""picoPower Technology Slashes Power Drain to 650 nA in
Power-save & 100 nA in Power-down""
Zum Hochzählen muss er ja nicht wach sein, per Timerinterrupt
aufwecken, zählen, wieder einschlafen lassen.
Eine Longlife-Lithium-Batterie dürfte seeeehr lange halten.

Gruss
Jadeclaw.

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Bartl
Ahja, klingt interessant und erinnert mich damit nun noch mehr an
"Chipkarte mit Textdisplay".
Dort hatten wir uns auch zu Solarzellen Gedanken gemacht, es aber dann
doch nicht weiter verfolgt.
Wie klein ist denn "ganz klein" (Deine Solarzelle)?
Das Problem bei Solarzellen ist ja irgendwie, das diese Licht
benötigen. Wo willst Du denn das Teil die 10 bis 20 Jahre aufbewahren?
Eventuell wäre so eine Isotopenbatterie (Herzschrittmacher) oder sowas
ja eine Möglichkeit :-)

Gruß
Ingo

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ahja, klingt interessant und erinnert mich damit nun noch mehr an
> "Chipkarte mit Textdisplay".
Ja mich auch. Hab' ich aber vorher nicht gekannt :) (Die Idee ist aus
Lost, nur dass die da eine Kiste vergraben hatten, was halt doch sehr
Lowtech ist ;) )

> Wie klein ist denn "ganz klein" (Deine Solarzelle)?
Ist aus nem alten Taschenrechner, 35x15mm und bringt maximal 0.2mA. Da
das ganze aber auch bei Dämmerlicht noch gehen sollte, ist es natürlich
schon ein wenig knapp.
Ich hatte es vorher mit dem internen Oszillator versucht und halt
"viel geschlafen", was vom mittleren Verbrauch auch ganz gut ging.
Allerdings hatte ich hierbei das Problem, das der uC nicht gestartet
hat, wenn der Speicherkondensator zur Versorgung langsam aufgeladen
worden ist.

> Eventuell wäre so eine Isotopenbatterie (Herzschrittmacher)
Kriegt man sowas verkauft? Und darf man die mit ein Flugzeug nehmen?
:)

Beste Grüße,
Bartl

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arg, schon wieder was vergessen:
http://www.mikrocontroller.net/forum/read-1-319981.html
(mein "Startproblem")

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, zumindest einen Teilerfolg habe ich nun zu verbuchen: Ich lege den
uC jetzt mit dem ADC Noise Reduction Modus schlafen. Damit läuft der
Aufbau aus einem 330 uF Kondensator von 3.3V auf 2.3V etwa 12.5s, was
etwa 26uA Verbrauch bedeutet, wenn ich mich nicht verrechnet habe:
Q=Q1-Q2=C*U1-C*U2=C*dU
I=Q/U=330E-6*(3.3-2.3)/12.5=26.4E-6

Allerdings läuft der uC an der Solarzelle immer noch nicht an.

Beste Grüße,
Bartl

Autor: Simon Küppers (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In den Fusebits gibts auch noch ein paar low-takt einstellungen. da
schonmal geschaut?
und wie schon in den raum gestellt: unbenutzte I/Os auf Ausgang setzen.

Autor: Ingo H. (putzlowitsch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetz hab ich den anderen Thread gelesen, also eigentlich liegt es an dem
hohen Strom im Startmoment.
Da würde sich dann wohl tatsächlich ein Mega48 anbieten, der kann mit
128 kHz internem Low-Power-Oszillator und auf 128 eingestelltem
System-Clock-Prescaler bei 1 kHz starten, dann dürfte er ziemlich wenig
verbrauchen. Naja, würde ich zumindest annehmen.
Oder bist Du auf den Mega8 bereits festgelegt?

Gruß
Ingo

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm einen MSP430 (700nA) und eine 3.6V Lithium Mignon-Zelle (2,4Ah).
Verwende nur Keramikkondensatoren und löte die Lithiumzelle ein! Das
sollte deutlich länger als 20 Jahre laufen.

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Oder bist Du auf den Mega8 bereits festgelegt?
Das nicht unbedingt, aber den hab ich grade schon mal da.

> Nimm einen MSP430 (700nA) und eine 3.6V Lithium Mignon-Zelle
(2,4Ah).
Mit der 2,4Ah Zelle würde auch mein jetziger Aufbau schon 11 Jahre
gehen und der hat noch viel Einsparpotential. Allerdings ist die Frage:
Hält die Batterie selbst so lange, also bezüglich Selbstentladung usw.?

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einer Entladung mit 20uA sind von den 2,4Ah noch 2Ah nutzbar.

http://www.tadiranbatteries.de/deu/downloads/LITHI...

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann nimm einfach 2-4 von den teilen, die sind doch super klein.

Autor: Marco S. (masterof)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohne selbstentladung läuft das System ca 11 Jahre.

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Batterien sehen durchaus interessant aus. Allerdings seh ich in dem
Datenblatt nichts zum Thema Selbstentladung, oder habe ich da was
übersehen?

Autor: andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du dir aus der Entladekurve oder der Verfügbaren Kapazität
ausrechnen. z.B. sind bei 25 Grad und einer Entladung mit 20uA noch 2Ah
von den 2,4Ah nutzbar. Also 0.4Ah Selbstentladung in einer Zeit von
2Ah/20uA. Das entspricht 17% in ca. 11 Jahren.

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, ok. Vielen Dank!

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt am Wochenende noch ein bisschen gebastelt und
Datenblätter gewälzt und ich glaube inzwischen das Problem ist der hohe
Resetstrom den die ATMegas ziehen (1-3.5 mA beim Mega8, 0.02-0.2 mA bei
Mega48). Ich vermute dass durch den PowerOn Reset gleich wieder die
Spannung zusammenbricht. Außerdem könnte man, wenn der Resetstrom
kleiner wäre, den BrownOut Detektor verwenden (der zieht nur 10-20
uA).

Am besten wäre wohl eine externe Schaltung, die den uC erst versorgt
wenn die Spannung einen bestimmten Pegel erreicht hat und beim
Zusammenbrechen nicht gleich wieder sperrt. Hat jemand eine Idee wie
man so etwas einfach bauen könnte?

Ansonsten bleibt wohl nur eine Batterie, die man ja evtl. auch mit der
Solarzelle laden könnte.

Zu guter Letzt sehen die Picopower Controller die Jadeclaw erwähnt hat
ziemlich cool aus, insbesondere der 169P, weil ich ja eh ein Display
treiben muss. Gibt's den bei uns eigentlich schon irgendwo zu kaufen?
Laut Atmel sollte er ja seit einem Monat verfügbar sein.

Vielen Dank und beste Grüße,
Bartl

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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