Werte Speichern beim Abschalten der Versorgungsspannung

Gast #1048922
Lesenswert?

Hallo,

ich würde gerne einige Werte (ca 64 Integer) beim Wegfall der 
Betriebsspannung vom ATMEGA (vermutlich wird es der atmega644) im eeprom 
sichern.  Wie kann ich möglichst einfach dafür sorgen, dass diese Werte 
noch sicher gespeichert werden. Brauche ich eine externe Bufferung der 
Versorgung vom µC? Kann ich irgend eine interne Schaltung (z.B sowas wie 
BrownOut oder so) nutzen um den externen Aufwand zu vermeiden. Oder hat 
jemand ne simple Schaltung im Kopf. Z.B. nen C an der Versorgung mit ner 
Diode davor und dann an einen Port.

Wäre für jeden Hinweis dankbar.

Gruss Micha
Gast #1048929
Lesenswert?

64 Interger sind ziemlich viel, dh. es dauert eine ganze Weile, diese
zu speichern. Ich denke, da wirst Du um eine Batteriepufferung nicht
rumkommen. Oder Du mußt mit seeehr großen Lade Cs arbeiten müssen.

Markus
Gast #1048931
Lesenswert?

>Brauche ich eine externe Bufferung der Versorgung vom µC?

Ja.

>Oder hat jemand ne simple Schaltung im Kopf. Z.B. nen C an der Versorgung >mit 
ner Diode davor und dann an einen Port.

Man sollte die Versorgungsspannung des Controllers durch eine Diode vom 
Rest der Schaltung entkoppeln und ihm einen entsprechenden Kondensator 
verpassen, der ein paar Millisekunden lang die Stromversorgung des 
Controllers übernehmen kann, wenn die äussere Versorgung abgeschaltet 
wurde.
Die äussere Versorgungsspannung muß man dann nur noch mit dem ADC (oder 
dem Komparator) überwachen, um bei Unterschreiten eines bestimten 
Sammungspegels die Sicherungssequenz einzuleiten.
Gast #1048936
Lesenswert?

Soll nicht nur der Ausfallsicherung dienen, sondern auch im normalen 
Betrieb. Es handelt sich um einen Hektarzähler am Düngerstreuer mit 
Waage. D.h. wärend des Betriebes (Streuvorgang) ändern sich die Werte, 
die ich beim nächsten mal wieder brauche. Immer jede sekunde kann ich 
nicht speichern wegen der Speicherzyklen des eeproms. Die Abschaltung 
erfolgt in der Regel durch drehen des Zündschlüssels. Es wird keiner 
vorher auf Off drücken. Also im übertragenen Sinne Ausfallsicherung!

Danke schon mal.

Gruss
Gast #1048937
Lesenswert?

tja, du musst einerseits:
-Stromreserve haben für die Zeit, die das Schreiben benötigt (bei der 
üblichen Schreibzeit für 1 Byte (10ms) macht das immerhin 1,2s - das ist 
ne Menge.
-andererseits auch rechtzeitig erkennen, das die Versorgung flöten geht.

Das wirklich betriebssicher zu gestalten, wird nicht ganz einfach. Gibt 
ja auch mal wirklich kurze Einbrüche, dann soll das ja eher nicht 
auslösen.

Ich würde direkt einen FRAM vorsehen und die kritischen Variablen direkt 
dort halten. Damit bist du zumindest das Problem los, noch hastig rel. 
viel machen zu müssen, wenn das Licht ausgeht.
Bleibt nur zu prüfen, ob die Daten konsistent sind, also doppelte 
Variablensätze anlegen.
Gast #1048950
Lesenswert?

Ich würde die Werte einfach im RAM belassen und beim Abschalten in einen 
Stromsparmodus gehen. Die Stromaufnahme läßt sich auf wenige µA absenken 
oder auch darunter, wenn ein 644P verwendet wird. Je nach Dauer der 
Spannungsunterbrechung reicht ein kleiner Kondensator, ein großer 
Kondensator oder eine CR12xx-Zelle.
Gast #1048955
Lesenswert?

wenn dein Gerät an eine Anhängerdose angeschlossen wird, könntest du
54g Dauerplus verwenden, sonst einen Goldko nur für den µC (z. B. 1F 
über eine Schottkydiode laden) mit einem µC Eingang beobachtest du die 
Versorgung.
Beim AVR einen "L" Typ nehmen, der läuft bis 2,7V.
Damit gewinnst du ein paar Sekunden.
Gast #1049047
Lesenswert?

Hab noch ne Frage,

einen externen Interrupt werde ich fürs Tachosingal verwenden müssen. 
Ich möchte ja einen möglichst breiten bereich dür das Tachosignal nutzen 
können. Beim einen hab ich nur ca. 200-300 Pulse für 100m Wegstrecke bei 
10-15 km/h (ca. 3-4m/s-> 25Hz) und beim andern 10Khz. Wie bekomme ich da 
am Besten die richtige Geschwindigkeit bzw. eine exakte Wegstecke. Die 
ist wichtiger für die Flächenberechnung?

Timer? Interrupt-Eingang?

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