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
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
>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.
wie wärs mit einem zeitverzögertem Relais als "Ausschalter", oder soll das ganze der Ausfallsicherung dienen
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
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.
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.
Nimm nen Supercap dann hast du das gemurkse mit Ladeschaltungen für Akkus nicht. Anschließen und fertig, entkopplung durch Diode nicht vergessen. Alexey :)
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.
54g fällt flach, da es noch Dauerbremse ist. Wie kann ich in Energiesparmodus wechseln? Geht das speichern dann auch langsamer oder wie?
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?
@ 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.