Ereigniszähler im EEPROM speichern?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Ereigniszähler im EEPROM speichern?

      Hallo,

      für ein Projekt möchte ich gern die Laufdauer im EEPROM abspeichern.
      Genaugenommen nicht die Laufdauer, sondern die Anzahl der Hübe, die zwei Pneumatikzylinder
      machen. Die angestrebte Lebensdauer ist mindestens eine Million Hübe.
      Ich hatte mir überlegt, jede Minute (die Zylinder machen pro Sekunde ca ein Hub) den Zählerstand
      aus dem EEPROM zu laden, die Differenz dazu zu addieren und ihn wieder zu speichern.
      Ich komme da ungefähr auf 17000 Schreibvorgänge.
      Macht man das so, oder geht das Eleganter?

      Gruß Ralf
    • Die Zylinder arbeiten zusammen aber mit unterschiedlichen Winkelgeschwindigkeiten,
      ca, 1 x pro Sekunde.
      Das Projekt steht in einer Ausstellung läuft aber nur an, wenn Besucher da sind.
      dafür habe ich einen Bewegungsmelder und einen Distanzsensor eingebaut.
      Es geht also nur um die reine Anzahl der Hübe.
    • Warum zählst du nicht einfach in einer Variable die Anzahl der Hübe und speicherst sie nur wenn das Schauspiel vorbei ist.
      Also am Anfang die bisherigen Hübe aus dem EEProm holen, dann kommt der Ablauf deines Projektes (Hübe zählen) und danach aufaddieren und speichern.
      Ist das Ganze permanent mit Strom versorgt?
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • djmsc schrieb:

      Warum zählst du nicht einfach in einer Variable die Anzahl der Hübe und speicherst sie nur wenn das Schauspiel vorbei ist.
      Also am Anfang die bisherigen Hübe aus dem EEProm holen, dann kommt der Ablauf deines Projektes (Hübe zählen) und danach aufaddieren und speichern.
      Das geht auf keinen Fall. Da wird ja nichts beendet, da dreht irgendwann jemand einfach den Saft ab.
      Da ist auch ein Rasberry verbaut, da habe ich einen Taster zu Runterfahren vorgesehen, ob das
      Jemand jemals macht?
      Ich war mal Abends da, da ist alles stromlos, da kannst du nur mit der Taschenlampe rein.
    • So was ähnliches hab ich mal als Verbrauchszähler für eine Heizung gemacht.


      Ich habe einen Großteil der Zellen für die Impulse benutzt und einen kleinen für die Zähler der Überläufe.

      Eine Zelle ist leer, man kann das Byte jedesmal herunterzählen bis es null ist und hat 255 mal gezählt.
      bei 2 Zellen kann man 2*255 zählen usw.

      Beispiel 128 Byte EEprom:
      126 Byte für die Zählbytes als Array
      1 Byte für den Zähler der Zählbytes
      1 Byte übrig für Status (Komplettüberlauf oder 1. Einschalten)

      macht bei 1 Sekunde Takt etwa 8,2 Mio bis zum Überlauf oder 94 Tage.

      Beim Start wird per For-Schleife festgestellt, welches Byte im Array > 0 ist, das ist das aktuelle Zählbyte
      Die Anzahl der leeren Bytes im Array mal 255 plus 255 minus den Inhalt des aktuellen Bytes plus (255-Zähler) * 32130 ergibt den aktuellen Zählerstand

      Das Speichern geht jede Sekunde genauso, bloß eben andersherum.

      jede Zählzelle wird dabei 255*255 mal beschrieben, also etrwa 65000 mal, was noch innerhalb des erlaubten liegt
    • djmsc schrieb:

      Ralf schrieb:

      Das geht auf keinen Fall.
      Doch das geht schon - schau mal hier Variable speichern bei Spannungsausfall
      Auf jeden Fall interessant, aber hardwaremäßig möchte ich da erst mal nichts ändern.



      Michael schrieb:

      Beispiel 128 Byte EEprom:
      126 Byte für die Zählbytes als Array
      1 Byte für den Zähler der Zählbytes
      1 Byte übrig für Status (Komplettüberlauf oder 1. Einschalten)
      So richtig verstanden habe ich es nicht, muß ich mir mal in Ruhe durchlesen.

      Ich habs erst mal so gemacht, das ich alle 100 Hübe die EEProm Variable incrementiere.
      Das wären dann 10000 Schreibzyklen und die Genauigkeit reicht bei Weitem. Hatte auch schon daran gedacht einfach
      10 Variablen zu nehmen und jede nur bis 2000 hochzuzählen um den Speicher zu schonen.
      Werde das erst mal so lassen, ich muß in einer Woche fertig sein und kämpfe noch mit einem mechanischen Problem.
      Danach habe ich alle Zeit der Welt, das zu verfeinern.

      Vielen Dank für die Antworten! :)

      Gruß Ralf