-
-
-
Erfahrener Benutzer
Roboter Experte

Zitat von
enterprise30
hehe, wusste ichs doch: Die Idee war nicht von mir, die hatte ich irgendwo schonmal gelesen 
Aber dürfte die einfachste sein... Und wenn man eh noch Pins frei hat... perfecto!
-
Hallo zusammen,
genau diese Problem mit der Stomversorgung habe ich bei einem Projekt wie folgt gelöst:
Vorgabe:
- Netzbetriebenes System mit Mega32.
- Bei Stromausfall müssen Betriebsdaten im EEPROM gesichert werden
Lösung:
- Wie schon an anderer Stelle beschrieben kommt ein Elko zur Pufferung der Prozessorspannung zum Einsatz.
- Eine Diode sorgt dafür, dass nur der Prozessor gepuffert wird.
Wenn das Main-Programm regelmäßig und immer durchlaufen wird, muss nicht unbedingt ein Interrupt verwendet werden. Dann kann jeder (Eingangs)-Pin verwendet werden.
Es ist nicht unbedingt ein Operationsverstärker notwendig, es reicht ein einfacher Transistor (mit Kollektorwiderstand), der die Spannung VOR der Diode (über einen Spannungsteiler) überwacht. Ein Kondensator zwischen Emitter und Basis macht die Schaltung unempfindlich gegen kurze Unterbrechungen und mögliches Netzbrummen.
Batterielösung
Bei dem Problem der absinkenden Batteriespannung könnte einer der internen AD-Eingang in regelmäßigen Abständen die Spannung der Batterie messen.
Wird ein bestimmter Wert unterschritten, wird ins EEPROM gesichert.
Bauteilaufwand: maximal 2 Widerstände
Test der richtigen EEPROMSpeicherung
Voraussetzung ist, dass die EEPROM-Sicherung vor dem "Abschalten" des Prozessors vollständig abgeschlossen ist.
Deshalb sollte am Ende der EEPROM-Sicherung z.B. eine Displayausgabe erfolgen oder eine LED aufleuchten.
Wenn diese klappt sind auch die EEPROMdaten richtig gesichert. Sicherheitshalber kann vor dieser letzten Ausgabe eine Pause gesetzt werden, dann hat man etwas mehr Sicherheit.
Kommt die letzte Ausgabe nicht muss der Kondensator vergrößert werden.
Außerdem sollten zu diesem Zeitpunkt alle anderen Ports bzw. Funktionen des Controllers soweit eingestellt sein, dass nicht unnötig Strom aus dem Kondensator gezogen wird.
Beste Grüße
-
Erfahrener Benutzer
Roboter Experte
danke Rugbywinne
genauso hätte ich mir das vorgestellt... bisher rein theoretisch.
aber du bestätigst das ja hier.
hier nun die masterfrage, die seit einem jahr mit mir rumtrage:
der atmel hat SRAM.
da sind nur die variablen drin während er läuft und die speichern solange er strom hat.
der atmel hat sogennates flash ... da kommen die programme rein, wenn ich das richtig sehe. das sind dann wohl auch die speicher, die man nur blockweise beschreiben kann.
dass eeprom... nun die frage: geht das da byteweise ?
gruss kolisson
-
Erfahrener Benutzer
Roboter Experte
Ja, in Bytes isses angelegt.
-
Erfahrener Benutzer
Roboter Experte
na dann verstehe ich endlich, warum der pucki auch eeprom hat.
ich danke euch stark... und werde jetzt über meine neue energiesparlampe schreiben...
auf meiner seite ... ihr wisst welche ?
die lampe für alle, die nicht 220volt brauchen, die, die auf 12 volt leben, und licht brauchen
ich werde berichten von der liason einer unbedeutenden leuchtdiode mit der unbedeutenden elektronischen schaltung von herrn Haug.
und wir werden grosses licht haben
-
Hallo kolisson
hier ein Vorschlag zur Programmierung
' Definition der EEPROMvariablen
$eeprom
Dim Epromvariable1 As Eram Word ' Word ist nur als Beispiel
Dim Epromvariable1 As Eram Word
$data
' definition der Ramvariablen
Dim Ramvariable1 as Word
Dim Ramvariable1 as Word
...
' Wird zur Datensicherung ausgeführt
Writetoeeprom:
Epromvariable1 = Ramvariable1
Epromvariable2 = Ramvariable2
Return
...
' Wird zum Programmstart ausgeführt
Readeeprom:
Ramvariable1 = Epromvariable1
Ramvariable2 = Epromvariable2
Return
Aber das hast Du bestimmt schon selbst rausgefunden.
Wenn Du Schaltungsfragen hast, melde Dich.
Welches ist denn Deine Seite ?
Gruß
Rugbywinne
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen