INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Datenlogger bei "Spannungsausfall"
15.04.2015, 20:06
Beitrag #1
Datenlogger bei "Spannungsausfall"
Hallo,

ich möchte einen Datenlogger programmieren, der in der ersten Variante "nur" auf eine SD-Karte schreiben soll wann der Arduino gestartet wurde und wie lange dieser angeschaltet war. Ersteres ist ja kein Problem (RTC existiert) aber der Zeitpunkt des ausschaltens dadurch, dass die Versorgungsspannung abgeschaltet wird ist ja problematischer.
Das Thema "USV" hatte ich auch schon überlegt, der Aufwand und der ggf. notwendige Hardwareumbau erscheint mir aber zu gross.

Jetzt habe ich mir folgendes überlegt:
Ich schreibe den Startzeitpunkt in Datei A, und dann nach jeder Minute einen Zeitstempel in Datei B. Beim Start (bevor ich o. g. Startzeitstempel schreibe) schaue ich nach, welcher Zeitstempel in Datei B als letztes eingetragen wurde, lese diesen aus und schreibe ihn als Endzeitpunkt des letzten Laufzyklus in Datei A, dann lösche ich Datei B und beginne wieder im Minutentakt die Zeitstempel während der Laufzeit zu speichern.

Hat jemand eine bessere Idee um die Anforderung Zeitstempel vom ein- und ausschalten zu speichern?

Hat mir jemand einen Tipp, wie ich die letzte Zeile des Eintrages in Datei B auslesen kann?

Viele Grüsse
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.04.2015, 20:09
Beitrag #2
RE: Datenlogger bei "Spannungsausfall"
(15.04.2015 20:06)Foto-Ralf schrieb:  Hallo,

ich möchte einen Datenlogger programmieren, der in der ersten Variante "nur" auf eine SD-Karte schreiben soll wann der Arduino gestartet wurde und wie lange dieser angeschaltet war. Ersteres ist ja kein Problem (RTC existiert) aber der Zeitpunkt des ausschaltens dadurch, dass die Versorgungsspannung abgeschaltet wird ist ja problematischer.
Das Thema "USV" hatte ich auch schon überlegt, der Aufwand und der ggf. notwendige Hardwareumbau erscheint mir aber zu gross.

Jetzt habe ich mir folgendes überlegt:
Ich schreibe den Startzeitpunkt in Datei A, und dann nach jeder Minute einen Zeitstempel in Datei B. Beim Start (bevor ich o. g. Startzeitstempel schreibe) schaue ich nach, welcher Zeitstempel in Datei B als letztes eingetragen wurde, lese diesen aus und schreibe ihn als Endzeitpunkt des letzten Laufzyklus in Datei A, dann lösche ich Datei B und beginne wieder im Minutentakt die Zeitstempel während der Laufzeit zu speichern.

Hat jemand eine bessere Idee um die Anforderung Zeitstempel vom ein- und ausschalten zu speichern?

Hat mir jemand einen Tipp, wie ich die letzte Zeile des Eintrages in Datei B auslesen kann?

Viele Grüsse
Ralf

hmm....wenn ich so überlege könnte man das mit meiner Azu-Duino Platine machen und als Backup Power einen dicken Kondensator dranhängen...Stromausfall wird dedektiert...die Daten auf die SD geschrieben und dann sich selber abgeschaltet....bis auf den dicken C ist auf der Platine schon alles drauf...nur die RTC und die SD fehlt.
lg
bk

1+1 = 10 Angel ...und ich bin hier nicht der Suchmaschinen-Ersatz Dodgy...nur mal so als genereller Tipp..
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.04.2015, 21:38 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2015 21:42 von itsy.)
Beitrag #3
RE: Datenlogger bei "Spannungsausfall"
Hallo Ralf,

ich würde im Setup von Deinem Sketch eine Variable = 0 setzen;

Loop:
Ist Variable == 0, schreibe aus Eeprom auf Speicherkarte die Zeit aus Adresse x des Eeproms als Startzeit auf SD und die Zeit aus Eeprom aus Adresse y als Endzeit auf SD. Dann schreibe aktuelle Zeit in Adresse x des Eeproms (nur wenn Variable == 0!).

Und egal ob Variable == 0, wird auf Speicherplatz y regelmäßig die aktuelle Zeit geschrieben - fertig :-)

Die Lösung von BK ist allerdings auch sehr interessant!

Viele Grüße
itsy

Ach ja, nachdem das erste mal im Loop bei Variable == 0 die Zeit ins Eeprom auf x gesetzt wurde, musst Du natürlich die variable auf 1 setzen, damit die Startzeit nicht überschrieben wird bzw. die Zeiten auf SD nur ein mal geschrieben werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 10:56 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2015 13:05 von alpenpower.)
Beitrag #4
RE: Datenlogger bei "Spannungsausfall"
Hallo,

das mit dem Aus- oder Abschalten ist ein zeitkritisches Problem.
Ich habe für meine Heizungssteuerung eine ähnliche Funktion angedacht, aber noch nicht realisiert.

Idee:
Messe die Versorgungsspannung mit, stelle eine Schwelle für die "Unterspannung" ein und entscheide dann, was du speichern willst.
Mit Zeitkritisch meine ich die Zeit vom Detektieren an bis der Arduino dann zwecks fehlender Spannung nicht mehr richtig u. sicher arbeitet.
War nur so eine erste Idee. Eine USV hab ich nicht geplant.

Andere Idee:
Versorgung über ein Netzteil z.B. +12V und als „USV“ eine Stützbatterie, welche nach meiner Zeichnung umgeschaltet wird.
Beide Spannungen werden über einen Spannungsteiler einem Analogeingang zugeführt. Die beiden gemessenen Spannungen kann man dann leicht auswerten und gegeneinander vergleichen.
Evtl. noch am Arduinoeingang einen kleinen Stütz-Elko einbauen.

Die Stützbatterie könnte man natürlich durch einen Akku ersetzen und diesen automatisch über das Netzteil laden, somit ist die „USV“ immer mit max. Spannung vorhanden.
Laderegel-IC’s gibt’s ja genügend.
(Zeichnung kann ich momentan nicht hochladen).


Grüße Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 13:06
Beitrag #5
RE: Datenlogger bei "Spannungsausfall"
(15.04.2015 21:38)itsy schrieb:  Und egal ob Variable == 0, wird auf Speicherplatz y regelmäßig die aktuelle Zeit geschrieben - fertig :-)
...und nach zwei Wochen wirft man den Arduino weg weil das EEPROM platt ist.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 16:58
Beitrag #6
RE: Datenlogger bei "Spannungsausfall"
(16.04.2015 13:06)Thorsten Pferdekämper schrieb:  
(15.04.2015 21:38)itsy schrieb:  Und egal ob Variable == 0, wird auf Speicherplatz y regelmäßig die aktuelle Zeit geschrieben - fertig :-)
...und nach zwei Wochen wirft man den Arduino weg weil das EEPROM platt ist.

SD-Karte oder Arduino dürften sich preislich nicht viel tun ;-) Aber das stimmt schon!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 17:55
Beitrag #7
RE: Datenlogger bei "Spannungsausfall"
Die SD-Karte kann einfacher ausgetauscht werden. Außerdem schreiben gescheite SD-Karten nicht immer an die selbe Stelle.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 20:13
Beitrag #8
RE: Datenlogger bei "Spannungsausfall"
Das mit der "Unterspannung" habe ich auch schon durchgedacht, das finde ich aber alles nicht so prickelnd...

Daher eben der Gedanke, jede Minute einen Zeitstempel auf die SD-Karte zu schreiben. Wie Thorsten schon geschrieben hat managt das die SD-Karte normalerweise selbst, dass die Daten nicht immer an dieselbe Stelle geschrieben werden.

Die Idee von Itsy mit der Variablen im Setup die auf 0 gesetzt wird, dann dafür sorgt, dass die letzte Zeile ausgelesen und der Wert dann in einer anderen Datei als Ausschaltzeitpunkt dazugeschrieben wird ist auch gut.


Jetzt stellt sich mir aber die nächste Frage: Wie kann ich in dem Textfile die letzte Zeile identifizieren und auslesen?

Danke schon mal für Tipps
Gruss Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Datenlogger schreibt nicht auf SD Karte kirchstefan 15 2.341 02.07.2015 08:03
Letzter Beitrag: HaWe

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste