Arduino Forum

International => Deutsch => Topic started by: -Jonas- on Mar 07, 2015, 09:42 pm

Title: Daten nach reset erhalten
Post by: -Jonas- on Mar 07, 2015, 09:42 pm
Hey leute!

Ich würde gerne Daten, die sich während meinem Programmdurchlauf verändern, nach einem reset des Arduinos noch erhalten haben.

ist das irgendwie möglich?

Grüsse

Jonas
Title: Re: Daten nach reset erhalten
Post by: Addi2438 on Mar 07, 2015, 10:02 pm
Mit Hilfe des internen EEPROMS des Arduinos würde das gehn.
Wie oft und wann wird den resettet?
Title: Re: Daten nach reset erhalten
Post by: -Jonas- on Mar 07, 2015, 10:31 pm
danke, das war schonmal sehr hilfreich! :-)

würdest du due  EEPROM - Library empfehlen?

eeem.

Der Arduino dient als Konsole auf der Einstellungen getroffen werden können. Wenn man ihn halt nicht braucht, dann stellt man ihn ab, um Batterien zu sparen.

"Wie oft und wann?" -> schwierig zu Antworten :D
Title: Re: Daten nach reset erhalten
Post by: uwefed on Mar 07, 2015, 10:34 pm
Wenn der Arduino als Konsole diehnt dann hat es selbst keine Daten sondern ist nur ein interface für die Eingabe und Ausgabe. Was soll er denn dann sich merken?
Die Daten müssen von der Anwendung kommen.
Grüße Uwe
Title: Re: Daten nach reset erhalten
Post by: agmue on Mar 07, 2015, 10:54 pm
Hallo, möglicherweise wäre ein externes EEPROM wie 24LC256 (http://tronixstuff.com/2010/10/29/tutorial-arduino-and-the-i2c-bus-part-two/) (Mitte der Seite) eine Überlegung wert.

Wenn die maximal möglichen Schreibzyklen erreicht sind, kann man ein externes EEPROM leicht ersetzen.
Title: Re: Daten nach reset erhalten
Post by: Chris72622 on Mar 08, 2015, 09:16 am
Ja, die EEPROM Library ist empfehlenswert, da zuverlässig und sehr einfach zu bedienen.

Gruß Chris
Title: Re: Daten nach reset erhalten
Post by: elektron_ on Mar 08, 2015, 03:10 pm
Wie oft und wann wird den resettet?
Hallo,

das ist völlig belanglos, da man das EEPROM beliebig oft lesen kann. Entscheidend ist die Frage wie oft sich die Daten ändern und wie bzw. wie oft die Schreibroutine gestartet wird. Wenn man das so löst daß die Daten mit einem speziellen "save" Kommando sozusagen manuell abgespeichert werden dann habe ich absolut keine Sorgen in Bezug auf das EEPROM. Man könnte das auch automatisieren in dem man z.B. die Daten jedesmal dann ins EEPROM sichert wenn sie sich eine bestimmte Zeit nicht verändern. Zyklisch mit kurzen Taktraten ins EEPROM zu schreiben wäre aber sehr schlechter Programmierstiel, egal ob extern oder intern.

Christian
Title: Re: Daten nach reset erhalten
Post by: Addi2438 on Mar 08, 2015, 05:03 pm
Moin,
ich bin davon ausgegangen, dass er die Daten jedesmal speichern will, bevor der Controller
resettet, desshalb auch die Frage, da sich daraus die Anzahl der Schreibvorgänge ergibt ;).
Title: Re: Daten nach reset erhalten
Post by: elektron_ on Mar 08, 2015, 06:43 pm
Hallo,

ein interessanter Ansatz, vor dem Reset noch schnell zu speichern. Nur nach meiner Vorstellung wird das mit der Arduino Hardware schwierig. Wenn man auf den Knopf drückt oder die Spannung abstellt dann ist es bereits zu spät. Einzig bei Reset Auslösung per Software (über den Watchdog) könnte das gehen indem man zuerst speichert und dann den WDT nicht mehr zurücksetzt bis er auslöst.

Um etwa bei Spannungsausfall noch schnell zu speichern benötigt man zusätzliche Hardware, z.B. großen Kondensator zur kurzfristigen Pufferung und zusätzliche Erkennung (per Diode o.ä. vom C entkoppelt)

Christian
Title: Re: Daten nach reset erhalten
Post by: agmue on Mar 08, 2015, 07:57 pm
Hallo Christian,
aufgrund Deiner Beschreibung ist mir nicht klar, welches Ereignis den Reset auslöst. Knopfdruck, Spannungsausfall ...

Darum zwei Ideen "ins Blaue" ohne Erfahrungen meinerseits:

1. Eine kleine USV mittels Batterie/Akku.
2. Speichern der Daten auf eine SD-Karte (ich höre gerade Musik von einer).
Title: Re: Daten nach reset erhalten
Post by: -Jonas- on Mar 10, 2015, 01:43 pm
ich habe zwei arduinos. das eine gilt als konsole, das andere ist in einem mobilen fahrzeug. nun möchte ich über die konsole regelparameter des mobilen fahrzeuges einstellen, die nicht verloren gehen dürfe, auch wenn ich beide Arduinos vom strom nehme.

meint ihr das geht, wenn ich einfach immer auf den EEPROM schreibe, wenn ich die parameter verändert habe? oder ist das dann schon viel zu viel?

die idee mit der SD-Karte hatte ich auch schon. nur dachte ich mir, das es da vielleicht eine schon integrierte lösung gibt.
Title: Re: Daten nach reset erhalten
Post by: sth77 on Mar 10, 2015, 02:27 pm
Wenn du deine Regelparameter vielleicht ein paar hundertmal anpasst, stellt das noch kein Problem dar. Du solltest eben bei der Programmierung darauf achten, dass du nicht permanent auf das interne Eeprom schreibend zugreifst.
Title: Re: Daten nach reset erhalten
Post by: -Jonas- on Mar 10, 2015, 05:49 pm
OK.

Danke euch!

"An EEPROM write takes 3.3 ms to complete. The EEPROM memory has a specified life of 100,000 write/erase cycles, so you may need to be careful about how often you write to it."

Dann ist wohl das das einzige worauf man achten muss.