www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Daten aus dem Ram retten


Autor: Sven (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Ich bin grade dabei ein Steuermodul mit AVR zu bauen.
Das Steuermodul hat eine automatische Kalibrierungsfunktion die von Zeit 
zu Zeit ausgeführt wird. Ich möchte den Kalibrierungswert aber nicht 
mehr ständig in den eeprom schreiben, da er sich sonst zu viel abnutzt.
Der Wert soll jetzt nur noch im RAM gespeichert werden, und erst beim 
abschalten der Versorgungsspannung im eeprom gesichert werden.
Das bedeutet, der Mikrocontroller muss den Wegfall der 
Versorgungsspannung erkennen und "in den letzten Atemzügen" den Wert 
sichern.

Wie macht man sowas üblicherweise? Ich habe mir mal eine Schaltung 
überlegt, mit der ich das machen könnte.
Aber reicht diese Schaltung aus?

Autor: Bertram S. (bschall)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach Brown-Out Detection

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie macht man sowas üblicherweise?
Du nimmst den AD-Wandler oder den Komparator und ermittelst, wann deine 
Spannung unter z.B. 4,5V fällt. Dann hurtig speichern, denn bei 2,7V 
kommt der BrownOut.
Der Komparator ist hier von Vorteil, weil er einen Interrupt auslösen 
kann. Aber sowohl beim Komparator wie beim ADC solltest du eine 
geeignete Referenzspannung verwenden.


> Such mal nach Brown-Out Detection
Lies mal die Aufgabenstellung... :-o

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das Steuermodul hat eine automatische Kalibrierungsfunktion die
> von Zeit zu Zeit ausgeführt wird.

Von welchen Zeitspannen reden wir?

Autor: Sven Stefan (stepp64) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab das so ähnlich in einer Schaltung gelößt. Allerdings würde ich 
den C vor dem Festspannungsregler noch etwas größer machen. Je größer 
der ist und je weniger Last dran hängt, um so länger hält der µC durch.

Die Dedektion habe ich nur über einen Spannungsteiler am µC 
angeschlossen. Sofern die 12V haöbwegs stabil sind, reicht das ja.

Das Programm bekommt den Spannungsabfall über einen Interrupt eines 
Komparatoreinganges mit. In der ISR schalte ich als erstes alle 
Verbraucher ab (LED, LCD, Relais etc). Dann schreibe ich die Daten (bei 
mir sogar in einen I2C-EEPROM). Die 5V liegen noch ca. 1 Sekunde an, 
bevor der µC seinen Geist aufgibt.

Brown-Out geht in diesem Falle nicht, da diese Funktion erst anspringt, 
wenn es schon zu spät ist...

Gruß
Sven

Autor: James (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl Heinz hat Recht, das EEPROM kann min. 100.000 mal umprogrammiert
werden. Multipliziere das mal der dem Zeitabstand der Kalibrierungen....

Weitere Möglichkeit das EEPROM zu "schonen":
Vor dem Schreiben prüfen, ob nicht bereits der Wert "drinsteht"-
oder
prüfen ob das Schreiben erfolgreich war, und im Fehlerfall
auf Ersatzzellen umschalten. (Funktioniert bestens!)


Gruß

James

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder doch besser vor dem Uregler:
Die hier würde z.B. bei 10V einen Interrupt auslösen
   12V------o------o--------[Ureg]---- 5V
            |      | 
            |      |
            -      -
      7,5k | |    | | 
           | |    | |
            -      -         
            |      |    Vref
            |      o--------------|\ 
            |      |              | >--
            o------)--------------|/
            |      |    Vpowerfail
            -     ,--
      2,5k | |     ^ 2,5V
           | |     |
            -      |
            |      |
   GND------o------o-------

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir reden von 10 Minuten
Im Moment führe ich die Kalibrierungsfunktion alle 10 Minuten aus. 
Natürlich könnte ich auch alles viel genauer aufbauen und mit weniger 
Toleranz arbeiten, was aber mit Mehraufwand verbunden ist.
Ich könnte auch hingehen und Kalibrierungswert nicht speichern und mit 
einen fest vorgegebenen Wert starten. Und wenn dann nach ein paar 
Minuten genug Daten da sind, den exakten Wert berechnen. Ich wäre am 
Anfang dann halt etwas ungenauer.

Wenn ich mir den letzten Wert speicher bin ich gleich wieder relativ 
genau.
Im Moment schreibe ich sofort in den eeprom, deswegen mache ich mir 
Sorgen, ob ich ihn nicht zu stark beanspruche.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du den EEPROM alle 10 minuten beschreibst, wird er ca 19 Jahre 
durchhalten.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uhu Uhuhu schrieb:
> Wenn du den EEPROM alle 10 minuten beschreibst, wird er ca 19 /Jahre/
> durchhalten.

(Hast du das 24/7/52 gerechnet?)

Wobei das die vom Hersteller garantierte Mindestbetriebsdauer ist.
Meist halten die Dinger länger.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> Uhu Uhuhu schrieb:
>> Wenn du den EEPROM alle 10 minuten beschreibst, wird er ca 19 /Jahre/
>> durchhalten.
>
> (Hast du das 24/7/52 gerechnet?)

Sorry, hab mich um einen Faktor 10 verpeilt. Es sind nur 1,9 Jahre :-(

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.