ATMega8: zu hoher Stromverbrauch mit Uhrenquarz

OP #319299
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
#319300
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
#319307
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
#319313
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
OP #319314
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
#319317
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?FileName=picoPower_3_20.html
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.
#319318
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
OP #319319
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
OP #319321
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
#319323
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
OP #319325
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.?
Gast #319330
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.
OP #319332
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren