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
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
Achso, noch vergessen. Es gibt im Datenblatt dafür ein extra Kapitel unter "Power Management and Sleep Modes" -> "Minimizing Power Consumtion"
Datenblatt* S. 35/36 steht einiges dazu. Hast du das alles schon beachtet? *) Version 2486PAVR02/06
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.
"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?
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.
> 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.
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
> *) Version 2486PAVR02/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
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
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
> Der ADC hat 0.1 mA gebracht.
AC (Komparator) mein' ich natürlich.
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
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
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/doc1259.pdf Gruß Roland
@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.
@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
> 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
Arg, schon wieder was vergessen: http://www.mikrocontroller.net/forum/read-1-319981.html (mein "Startproblem")
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
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.
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
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.
> 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.?
Bei einer Entladung mit 20uA sind von den 2,4Ah noch 2Ah nutzbar. http://www.tadiranbatteries.de/deu/downloads/LITHIUM/pdc06deuSL-860.pdf
dann nimm einfach 2-4 von den teilen, die sind doch super klein.
ohne selbstentladung läuft das System ca 11 Jahre.
Die Batterien sehen durchaus interessant aus. Allerdings seh ich in dem Datenblatt nichts zum Thema Selbstentladung, oder habe ich da was übersehen?
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.