Datenlogger mit SD Karte

Gast #3582258
Lesenswert?

Hallo,

Bin grad dabei mir nen Datenlogger mit Display zu basteln.

Es werden alle 8 ADC des Atmega32 ausgelesen, umgerechnet und dann auf 
einem Display ausgegeben.
Also zb. Tmperatur, Druck etc. sind halt mehrere Sensoren.
Nun wollte ich, wenn man auf einen Taster drückt, eine aufnahme starten, 
welche ein .csv Dokument auf eine SD Karte schreibt.

Eine Samplerate von 5 Sample/sekunde wäre erwünscht, kann auch mehr 
sein, nur weniger wäre schlecht.

Ich bin bei meiner recherche auf das hier gestoßen: 
http://elm-chan.org/fsw/ff/00index_p.html

Wie stelle ich es am besten an, dass mein vorhaben klappt?

Die aufnahme soll mit dem taster gestartet und auch gestoppt werden. 
Wenn bereits eine aufnahme existiert, dann sehe ich nun zwei 
Möglichkeiten:
1. immer in einer Datei weiterschreiben.
2. eine neue Datei mit anderem Namen zu erstellen und dort zu schreiben.

Was ist leichter umzusetzen?

Brauche ich zwingend eine Systemuhr oder so? weil Uhrzeit und Datum 
werden doch auch immer bei Dateien hinterlegt?

Bin für jede Hilfe dankbar :)

Mit freundlichem Gruß Sascha
#3582262
Lesenswert?

Das ist einfach, ich habe auch die Bibliothek von ElmChan genutzt.

Einfach den ADC im Freerun Modus betreiben (wenn du nicht verpflichtet 
bist Strom zu sparen) und alle 146 Timer-Interrupts einen Wert 
schreiben.

Ich gehe davon aus dass du einen 12MHz Quarz nutzt, einen 8 Bit Timer 
nimmst und den Vorteiler auf 64 gestellt hast, dann sind es ca. 732 
Interrupts pro Sekunde du du bekommst und in der ISR auswerten kannst.
Du kannst auch in der Timer-ISR einfach eine Variable hochzählen und in 
der Hauptschleife prüfen ob die Zahl erreicht wurde.

Sascha712 schrieb:
> Was ist leichter umzusetzen?
1.

Die 2. Möglichkeit ist aber schöner.
Wenn du eine 2. Datei erstellen möchtest musst du erst mal suchen ob der 
Dateiname nicht schon belegt ist.
Du probierst Log001.csv , wenn die schon belegt ist schaust du ob 
Log002.csv schon existiert usw.
Gast #3582313
Lesenswert?

Hey, sowas ähnliches habe ich auch gerade vor. :-)
Sensoren, Display, SD-Karte.

Ich habe da einen Mega644PA@3,3V/12MHz drauf, mein Display ist ein 
DogMXL.
Als dritten SPI Teilnehmer habe ich eine RV-2123-C2 Echtzeituhr.
Und zur Bedienung werde ich einen Drehimpulsgeber mit Taster einsetzen.

Wird nur eine ganze Weile dauern bis ich mich überhaupt mit dem 
Dateisystem beschäftigen werde, das Projekt läuft nur so nebenbei mit 
und erstmal sind das Display und die Uhr interessanter.
#3582682
Lesenswert?

Rudolph schrieb:
> Wird nur eine ganze Weile dauern bis ich mich überhaupt mit dem
> Dateisystem beschäftigen werde
Das musst du gar nicht.

Es ist alles schon drin (incl. Initialisierung und Dateihandling), du 
musst nur den String kennen den du auf die SD-Karte schreiben möchtest 
und die SD-Karte richtig angeschlossen haben.

Ich musste das ganz schnell machen (1 Tag), die SD-Karte anzulöten und 
zu verkabeln hat länger gedauert als die Software von Elm-Chan auf einem 
ATmega644PV (12MHz, 3.3V) zum laufen zu bekommen.

Du gibst ja am Anfang nur den Dateinamen an, dann wird versucht auf die 
Datei zuzugreifen (die Datei wird gesucht usw. aber das machtst du 
nicht) und dann wird die Datei geöffnet und alle z.B. 200ms ein String 
reingeschrieben.

Vorsicht: Der Zwischenspeicher ist 512 Byte groß, das bedeutet dass die 
Daten erst dann auf der SD-Karte geschrieben werden wenn dieser voll ist 
oder die Datei wieder geschlossen wird.

Ich habe da nur einen Taster, wenn der gedrückt wird dann wird versucht 
die SD-Karte zu initialisieren (ist alles in dem Beispiel drin) und wenn 
das erfolgreich war wird die Datei geöffnet und eine Variable auf 1 
gesetzt damit ich in der Mainschleife sehe dass jetzt die Daten auf die 
SD-Karte geschrieben werden können.

Bei mir gehörte noch ein Funkmodul, ein GPS-Empfänger und ein kleines 
TFT-Display dazu.
An dem GPS-Zeug saß ich länger da ich die Daten nicht nur als String 
abgespeichert habe, sondern die Daten rausgefischt und 
verarbeitet/dargestellt werden.
Gast #3582818
Lesenswert?

Mike J. schrieb:
>> Wird nur eine ganze Weile dauern bis ich mich überhaupt mit dem
>> Dateisystem beschäftigen werde
> Das musst du gar nicht.

Oh, ganz bestimmt sogar, selbst wenn ich das FS von Elm-Chan benutzen 
möchte, muss ich das ja immer noch in meine Software integriert 
bekommen.

Ich kann zum Beispiel nichts gebrauchen was erstmal für xxx ms den 
Controller blockiert weil mit delay() auf was gewartet wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren