Hallo Andreas,
Du misst aber die Spannung schon VOR dem Schaltregler?
MfG Peter(TOO)
Druckbare Version
Die neueren AVRs (z.B. Mega324 statt MEga32) benötigen für 16 MHz nur etwa 3,7 V als Mindestspannung, und außerdem auch schon so deutlich weniger (teils weniger als die Hälfte) Strom. Schon der Schritt von 5 V auf 4,5 V spart etwa 20% der Leistung (je ca. 10 % weniger Spannung und Strom).
Beim schreiben der Daten ins EEPROM wartet man vor allem auf das EEPROM - da kann man den Strom deutlich reduzieren, indem man Stromsparmodi nutzt, bzw. beim Mega324 ggf. auch zur Laufzeit den Takt reduziert.
Hallo,
@Peter: Natürlich wird (über einen Spannungsteiler) vor dem Schaltregler überwacht.
@Besserwessi: Mein AVR ist bewußt so gewählt und leider nicht austauschbar. Es werden nur 13 Byte in sein EEPROM geschrieben, und das wie gesagt direkt im IRQ der den Spannungsausfall detektiert. Der Hauptverbrauch des Stroms wird auf die Periphere-ICs fallen. Der Verbrauch wird deshalb vermutlich nicht merklich weniger, wenn ich am AVR Strom durch Idle-Modus oder runtertakten spare. Und bis ich der Periphere gesagt habe sich in den Standy-By zu versetzen sind die 13 Bytes vermutlich längst gesichert.
Ein Transistor vor VCC der Peripherie wäre noch eine Möglichkeit, aber das einfachste wäre ein passender Kondensator. ;-)
Viele Grüße
Andreas
Hallo Andreas,
Du weißt aber schon, dass es "ewig" dauert, bis so ein Byte in ein EEPROM geschrieben ist - in der Gegend von Millisekunden?! Mir war mal die Spannung vom Erkennen "low battery" bis die paar Bytes weggeschrieben waren von der Peripherie weggefressen worden. Fazit: da stimmte dann hinten raus nix mehr.
Hallo oberallgeier,
ich wollte noch eine abschließende Bemerkung zu diesem Thema abgeben. Dein letzter Beitrag hat mich zum grübeln angeregt. Ich habe mich also entschlossen die Daten in den Flash zu schreiben. Dieser hat zwar "nur" 10000 Schreibzyklen (das EEPROM im Vergleich 100000) aber bei 3x Ein/Aus pro Tag hält das Teil bei täglichem Betrieb immer noch über 10 Jahre, was mehr als genug sein sollte. Zur Not kann ich ja noch eine Rotation im Flash einbauen.
Das Ergebnis der Aktion ist:
Speichern im EEPROM 43,8ms (schreibt Byteweise ca. 13 Byte x 3,3ms)
Speichern im Flash: 8,3ms (schreibt Seitenweise --> Page löschen 3,3ms + Page schreiben 4,4ms, der Rest ist Handling overhead)
Gestoppt habe ich das mit dem integrierten Timer im AVR. Ich habe die 1000µF komplett ausgelötet und es funktioniert trotzdem in 99% der Fälle mit der Restenergie in den übrigen Stützkondensatoren. Mit einem "kleinen" 100µF sollte ich jetzt also locker hinkommen.
Vielen Dank an alle die mitgedacht und zur Lösung des Problems beigetragen haben!
Viele Grüße
Andreas