Forum: Mikrocontroller und Digitale Elektronik Remanenter Speicher bei Raumtermostat-Steuerung


von soundmachine123 (Gast)


Lesenswert?

Hallo liebe Mikrocontroller-Gemeinde,

ich bin momentan dabei eine intelligente Raumthermostatsteuerung zu 
programmieren. An einem LCD Display kann man zu jedem Wochentag 
insgesamt 6 Zeiträume und die dazu passende Raumtemperatur eingeben. Der 
Mikrocontroller gibt alles per 1-Draht-Bus an die übergeordnete 
Steuerung (S7-315) die dann die Regelung übernimmt. Die Menüführung 
funktioniert soweit schon sehr gut, allerdings habe ich ein Problem:

Bei Spannungsausfall sind die eingegebenen Heizdaten natürlich weg. Mein 
Ziel ist es, die Daten zyklisch (z.B. jede Minute) in einen remanenten 
Speicher zu schieben. Bei einem Neustart des µC würde ich dann die Daten 
vor der while Schleife wieder aus diesem remanenten Speicher auslesen.
(Stelle mir das momentan leider so simpel vor, da ich keine Vorstellung 
habe wie so etwas zu raelisieren ist) Habe die Beiträge zu EEPROM etc. 
schon gelesen werde aber wenig fündig wie ich das konkret realisieren 
könnte.

Das Projek wird mit einem ATMEGA 8 realisiert. Zu mir: Bin Dipl. Ing. 
Elektrotechnik, berüflich aber eher in der Automatisierungstechnik zu 
Hause (Konzeperstellung, Berechnungen, S7 Programmierung, Projektierung 
etc.) und beschäftige mich in der Freizeit Laienhaft mit dem ATMEGA.

Für jeden TIP, jeder ernsdt gemeinte Antwort und jeden Beispielcode bin 
ich sehr dankbar.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

soundmachine123 schrieb:
> Mein Ziel ist es, die Daten zyklisch (z.B. jede Minute)
> in einen remanenten Speicher zu schieben.

Warum nicht nur bei Änderungen durch den Benutzer?

von Patrick (Gast)


Lesenswert?

Einstelldaten bei Änderung (und nur dann) ins EEPROM schreiben und nach 
einem Systemstart von dort auslesen.

von soundmachine123 (Gast)


Lesenswert?

ok habt ihr eigentlich mehr als recht, der EEPROM wird ja auch nicht 
1000000mal beschrieben werden können.
Wie kann ich mir das schreiben in einen EEPROM mittels Programmcode denn 
konkret vorstellen? Hat da jemand ein "Minibeispiel"?
Was ist denn mit dem Flashspeicher in dem das Programm abgelegt ist, 
gibt es nicht auch eine Möglichkeit die Daten dorthin zu speichern?

von Stefan P. (form)


Lesenswert?

soundmachine123 schrieb:
> Wie kann ich mir das schreiben in einen EEPROM mittels Programmcode denn
> konkret vorstellen? Hat da jemand ein "Minibeispiel"?

Hier ein Beispiel in C:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#EEPROM


> Was ist denn mit dem Flashspeicher in dem das Programm abgelegt ist,
> gibt es nicht auch eine Möglichkeit die Daten dorthin zu speichern?

Ja, ist aber viel viel komplizierter.

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.