- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: SD-Card für Datenlogger

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    04.07.2005
    Beiträge
    12
    Anzeige

    LiFePo4 Akku selber bauen - Video
    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


    hier meine Unterroutine zum Speichern für den EEPRom:
    Code:
    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

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    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

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    27.05.2007
    Beiträge
    67
    Zitat Zitat von kurzschluss
    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

  4. #14
    1hdsquad
    Gast
    @ 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...)

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.11.2006
    Ort
    olargues
    Beiträge
    776
    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

  6. #16
    1hdsquad
    Gast
    Wo ist das Problem, wenn man die Dateien schliesst? Ich sehe keinen Nachteil, warum dann so umständlich über Stromausfallsensor etc?

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.11.2006
    Ort
    olargues
    Beiträge
    776
    sd karte schreibt immer blockweise... also 512 bytes
    wenn man für jedes neue byte auf die karte schreibt... ist die schnell kaputt


    gruss

  8. #18
    1hdsquad
    Gast
    Achso... Siehste, wieder was gelernt

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress