Forum: Mikrocontroller und Digitale Elektronik Werte Speichern beim Abschalten der Versorgungsspannung


von micha (Gast)


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

von Markus (Gast)


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

von Falk B. (falk)


Lesenswert?


von STK500-Besitzer (Gast)


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.

von gast (Gast)


Lesenswert?

wie wärs mit einem zeitverzögertem Relais als "Ausschalter", oder soll 
das ganze der Ausfallsicherung dienen

von micha (Gast)


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

von crazy horse (Gast)


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.

von Gast (Gast)


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.

von Alexey (Gast)


Lesenswert?

Nimm nen Supercap dann hast du das gemurkse mit Ladeschaltungen für 
Akkus nicht. Anschließen und fertig, entkopplung durch Diode nicht 
vergessen.

Alexey :)

von PeterL (Gast)


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.

von Gast (Gast)


Lesenswert?

>Beim AVR einen "L" Typ nehmen, der läuft bis 2,7V.

Bis 1.8 V.

von Micha (Gast)


Lesenswert?

54g fällt flach, da es noch Dauerbremse ist.

Wie kann ich in Energiesparmodus wechseln?
Geht das speichern dann auch langsamer oder wie?

von Micha (Gast)


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?

von Falk B. (falk)


Lesenswert?

@  Micha (Gast)

>Wie kann ich in Energiesparmodus wechseln?

Siehe Sleep Mode.

>Geht das speichern dann auch langsamer oder wie?

Nein, es wird gar nicht gesichert, der uC merkt sich das im RAM, da er 
nicht wirklich ausgeschaltet wird, sondern nur schläft.

MFg
Falk

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
Noch kein Account? Hier anmelden.