PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SD-Card für Datenlogger



kurzschluss
09.08.2007, 13:33
Hallo Leute

Ich habe einen Datenlogger auf Basis eines M128, der die Temperatur und Helligkeit im Messraum aufzeichnet.
Für die Systemzeit habe ich den DS1307 in Verwendung.

Zur Zeit speichere ich die Datensätze auf einen 24C512 EEprom per IIC-Bus.
Ich würde das Teil gern auf SDCard umrüsten und evtl. AVRDOS nutzen.

Kann da jemand helfen?
- wie el. Anschaltung evtl. Schaltplan
- Daten auf Karte legen

Ich denke da in Richtung eines ASCII-files mit folgendem Aufbau
....
Timestamp;Messungsnummer;Messwert1;Messwert2;usw.

und evtl. bei Dauermessungen jeden Tag eine neue Datei
auf der Karte erzeugen.

Grüße
Kurzschluss

Schokohoernl
09.08.2007, 23:51
Auch hier passt mal wieder:

Hast du ins Wiki geschaut? Hast du gegoogelt? Hast du die Forensuche benutzt?

aber ich will ja mal nicht so sein, drei tipps bekommt du:

Tipp 1 (https://www.roboternetz.de/phpBB2/search.php)
Tipp 2 (http://www.google.de)
Tipp 3 (http://members.aon.at/voegel/)

wenn du alle drei ausprobiert hast, bist du sicherlich schlauer und kannst qualifizierte fragen stellen, bei denen dir auch sicherlich gerne geholfen wird.

Picht
16.08.2007, 21:45
Vielleicht ist das was für Dich:

http://www.logview.info/joomla/

Wigbert

kolisson
16.08.2007, 23:56
mal ne frage:
ist der herr "kurzschluss" schon bekannt ... als abgreifer ?
wenn ja ... wo findet man die threads ?

wenn nein, warum wird er dann gemobbt ?

man könnte ihm doch helfen !

gruss kolison

1hdsquad
17.08.2007, 00:09
@ kolisson: Darum geht es nicht. Es geht darum, dass die Forenregeln nicht eingehalten werden bzw nicht gelsesen werden, dass das Niveau des Forums dadurch sinkt und dass solche Beiträge niemandem nützen. Und ich habe selber mal nach einer solchen Thematik gesucht und siehe da: Google hat mit geholfen! Es geht ja nich ums Mobbing ;-)

Eisbaeeer
17.08.2007, 06:22
Ich bin auch der Meinung, dass man etwas freundlicher antworten könnte. Ausserdem wollte er nicht wissen, wie er die Karte anspricht. AVRDOS will er eventuell benutzen. Also wird er sich schon schlau gemacht haben. Post richtig lesen, dann erst antworten.

Schaltplan, und welche Datenstruktur. Das waren hier die Fragen.
Hat jemand eine vernünftige Antwort?

Eisbaeeer

Picht
17.08.2007, 07:54
>Hat jemand eine vernünftige Antwort?

unter mein o.a. Link -Download wäre der Midilogger
Schaltplan mit SD-Card
Datenprotokoll mit ASCII Zeichen
Bascomcode eines M128

sind solche Anworten nicht vernünftig ?

Wigbert

Eisbaeeer
17.08.2007, 09:52
>Hat jemand eine vernünftige Antwort?

unter mein o.a. Link -Download wäre der Midilogger
Schaltplan mit SD-Card
Datenprotokoll mit ASCII Zeichen
Bascomcode eines M128

sind solche Anworten nicht vernünftig ?

Wigbert

Ich meinte auch nicht dein Post!
Es fühlen sich immer die falschen auf die Füße getreten. Sorry!

Ich denke nur, ein Forum ist genau dazu da. Der ein oder andere ist eben im Suchen nicht ganz so fit. Ich merke das bei meinen Azubis.
Ich suche ganz anders, werde meist fündig. Sie sind noch nicht so geübt im suchen und finden keine Lösungen.

Man kann ja gernde auf die Suche aufmerksam machen, aber
Tip1 und Tip2 waren in meinen Augen keine Hilfe.

Das ganze ist natürlich wieder ins OffTopic abgewandert.

Eisbaeeer

Picht
17.08.2007, 12:03
Hallo Leute

Eisbeeer,
jetzt übrrascht Du mich, ich dachte Du bist auch einer von den jungen
Leuten, die man evtl. auf die richtige Seite mit der Nase stupsen muss.
Wenigstens haben wir wohl die gleiche Lebenserfahrung.Sorry.
Deshalb wohl auch meine Geduld mit Anfängern.

"kann man alles googeln", ist nur die halbe Wahrheit.
Wenn ich als Anfänger nicht den Suchbegriff weiss, wird das schwierig.

und überhaupt, ich kann doch in meinen Augen "dumme Fragen"
überlesen, und nicht "dumme Antworten" schreiben.

Wigbert

Eisbaeeer
17.08.2007, 13:28
Die 2. Frage auf "dumme Fragen" im Post ist dann, "hat keiner eine Antwort".
Dann hat das mit dem überlesen geklappt und später kommt einem dann die Erkenntniss, warum keiner auf das Posting geantwortet hat. Das ist dann fast so, wie manche auf 2 Jahre alte Postings antworten.

So on. Jetzt haben wir unsere Posting Zähler wieder um 3 erhöht.
Ich hoffe nur, dass wir "kurzschluss" nicht vertrieben haben und die Tipps weiterhelfen. Ich schau jetzt noch auf vdr-portal.de vorbei.

Eisbaeeer

kurzschluss
17.08.2007, 13:36
Hallo an Alle

ich bin gerade am durchackern vom AVRDOS und
habe daher die Anfrage reingestellt
um mit einer 32MB SD-Card meinen Datenlogger umzurüsten
... wollte keinen Streit vom Zaun brechen O:)


hier meine Unterroutine zum Speichern für den EEPRom:


Makestamp:
Gosub Getdatetime 'hole aktuelle Uhrzeit
Ebuffer(01) = _day 'Zeitstempel
Ebuffer(02) = _month
Ebuffer(03) = _year
Ebuffer(04) = _hour
Ebuffer(05) = _min
Ebuffer(06) = _sec
Ebuffer(07) = Prog 'Programm Nr (1;2;3;4;5)
Ebuffer(08) = Job_counter 'Programm Jobzähler (1..255)
Ebuffer(09) = 0 'Messkanal1 z.Z. nur 3Byte benutzt
Ebuffer(10) = Ovka
Ebuffer(11) = High(mesw1)
Ebuffer(12) = Low(mesw1)
Ebuffer(13) = 0 'Messkanal2 z.Z. nur 3Byte benutzt
Ebuffer(14) = Ovkb
Ebuffer(15) = High(mesw2)
Ebuffer(16) = Low(mesw2)

Temp3 = Read_ds1307_ram(10) 'hole Speicheradresse aus RTC-RAM
Temp2 = Read_ds1307_ram(11)
Eepromadr = Makeint(temp2 , Temp3)
Call Schreibe_block(eepromadr) 'Schreibe Datenblock in EEprom
Eepromadr = Eepromadr + 16 'Berechne neue EEpromadresse
'bei 24c512 = 65536 'Rollover Speicher bei 24c512 --> 4096Pages
'IF eepromadr > 32768 then eepromadr = 0 'Rollover Speicher bei 24c256 --> 2048Pages
Temp3 = High(eepromadr)
Temp2 = Low(eepromadr)
Call Write_ds1307_ram(10 , Temp3)
Call Write_ds1307_ram(11 , Temp2)
Return


es werden 16Byte als Block pro Messwert weggeschrieben

Das selbe will ich halt auf eine SD-Card in ein Textfile machen.
Dazu würde ich die Rohdaten als String wandeln und
jeden Block auf eine neue Zeile in die Textdatei ablegen.
....so mein Plan

Wen da jemand ein Stück Quelltext bzw. Tips hätte wär halt schön....

je nach Messprogramm kommen neue Daten nach 1min oder 10min
-ist folgender Ablauf so OK? :

handel holen per freefile
- file open: FOI('Logdat',#)
- neue Zeile hinzu: WL(#,Datenstring)
- flush #
- close #

Oder ist es besser die Datei offnen zu lassen, nur neue Zeilen zu schreiben und erst bei Ende der Messreihe zu schliessen?

Danke für eure Hilfe
Kurzschluss

chr-mt
17.08.2007, 14:35
Hi,
hey, das ist das Roboternetz, nicht das Nachbarforum, bei dem jeder gleich niedergemacht wird, der was mit Bascom machen will.
@schokohoernl Ich finde es etwas daneben, wenn du jemanden anmachst, der eine Frage stellt, die gerade Du einfach beantworten könntest, wenn ich mir dein Datenloggerprojekt so ansehe.

Und nochmal was ganz grundsätzliches:
Es gibt bestimmt für alles eine Antwort im Netz, wenn man lange genug danach sucht.
Nur, worin besteht dann der Sinn eines Forums ?

Gerade hier, wo auch blutige Anfänger und sehr junge Leute sich beteiligen, sollte man sich so Antworten verkneifen.


dass das Niveau des Forums dadurch sinkt
Das Niveau dieses Forums hat nur zum Teil was mit der Technik zu tun.
Ein niveauvolles Forum erkennt man daran, daß Leute bei "dummen" Fragen nicht angemacht werden, sondern ihnen Hilfe angeboten wird.

Foren mit hohem technischen Nieveau aber ziemlich bescheidenem Umgangston findet man ja genug.


Gruß
Christopher

Eisbaeeer
17.08.2007, 14:50
Oder ist es besser die Datei offnen zu lassen, nur neue Zeilen zu schreiben und erst bei Ende der Messreihe zu schliessen?

Danke für eure Hilfe
Kurzschluss

Philosophiefrage.
Die Karte hält sehr viele Schreibvorgänge aus. Ich würde die Datei nach jedem schreiben schließen. Wenn dann mal ein Stromausfall ist, ist die wahrscheinlichkeit geringer, dass die Datei korrupt wird.
Du kannst das ja auch Meßprogrammabhängig machen. Bei 1 Minute lässt du die Datei offen, bei 10 Minuten schließst du die Datei immer.
Mal sehen was andere dazu meinen.

Eisbaeeer

1hdsquad
17.08.2007, 16:09
@ chr-mt: Es geht aber um die Intiative. Wenn ich eine Antwort will, google ich lieber einen halben Tag, als dass ich einen Thread eröffne. Aber Schluss jetzt, im Off gibts es schon einen Thread, der sich damit befasst.
Zur (jetzt guten) Frage: Ich würde jedesmal schliessen, denn a) ist die Wahrscheinlichkeit eines kaputten Files geringer, b) hast du ja offenbar genug Zeit, c) hält die Karte das und d) sieht es nachher ordentlicher aus und ist einfacher zu verwalten (auslesen etc...)

kolisson
17.08.2007, 18:26
nun ... man muss ja auch bedenken, dass man 512 byte blöcke schreibt in die sd-karte. wenn ich mich recht entsinne, werden weitere 512 byte für das inhaltsverzeichnis benötigt. je nach atmel kann man also nicht viele dateien gleichzeitig offen halten.

ich selbst befasse mich mit dem thgema schon lange rein theoretisch, würde aber abhängig davon, wie schnell ich 512 byte voll bekomme, entscheiden, ob ich für jeden neuen wert flushe oder warte bis die 512 voll sind.

evt. kann man ja auch testen, ob die notsicherung aus dem thread https://www.roboternetz.de/phpBB2/viewtopic.php?t=32680

nicht kombiniert werden kann.

also immer auf sd speichern, wenn 512 byte voll sind... bei stromausfall jedoch den angefangenen block ins eeram jagen, damit er nicht verloren geht.

ansonsten bin ich ja froh, dass alkle sich besonnen haben, hier zu dem thema doch hilfen zu geben. meine anfrage, ob der herr kurzschluss es denn verdient hat, so abgefertigt zu werden, hat ja was bewirkt.
danke euch allen.

gruss klaus

1hdsquad
17.08.2007, 18:37
Wo ist das Problem, wenn man die Dateien schliesst? Ich sehe keinen Nachteil, warum dann so umständlich über Stromausfallsensor etc?

kolisson
17.08.2007, 23:16
sd karte schreibt immer blockweise... also 512 bytes
wenn man für jedes neue byte auf die karte schreibt... ist die schnell kaputt


gruss

1hdsquad
17.08.2007, 23:27
Achso... Siehste, wieder was gelernt ;-)