Hallo interessierte SD-Karten-Gemeinde,
wie im Thread Sensordaten in TXT.Datei auf SD Karte speichern - Deutsch - Arduino Forum angekündigt, werde ich hier in einem neuen Thread, je nach Fortschritt oder Rückschlag von meinen Tests mit SD-Karten und -Modulen berichten.
Aufsetzpunkt aus o.a. Thread (05.01.2017):
Bin gerade auch dabei, mich mit dem Thema SD Speicher anzufreunden.
Meine Tests und Recherchen haben bislang ein diffuses Bild zu diesem Thema ergeben; die Arduino-Entwickler sammeln momentan viele Negativ-Feedbacks und versuchen, das Problem asap zu lösen.Meine Erkenntnisse bisher:
Die Ergebnisse, ob man mit SDCards Erfolg hat oder nicht, sind abhängig von:
- IDE version (angeblich Probleme ab Version "1.6.8")
- SD Bibliotheks-Version (aktueller Vorschlag der Arduino-Entwickler: downgrade auf SD library 1.09, wenn man schon 1.10 drauf hat)
- Betriebssystem bzw. Formatier-Programm: Es wird davon abgeraten, eine SD-Karte mit Windows oder Mac und deren Bordmitteln oder Zusatzsoftware zu formatieren; vielmehr soll "SDFormatter" genommen werden (SDFormatter gibt es in Version 4.0 von der SD-Association, d.h. die Organisation, die die Standards von SD-Karten herausgibt).
- SD-Karten selbst, je nach Hersteller und verwendetem Standard (SD/SDHC/SDXC)
Testkonstellationen:
- Test-Sketch: CardInfo (aus IDE-Beispielen) bzw. SdInfo (aus SdFat library)
- angepasst bzgl. CS-Pin (Nano: 4; UNO mit Ethernet-Shield: 10)
- pinMode(10, OUTPUT); digitalWrite (10, HIGH);
- unterschiedliche Karten SD, SDHC 1GB, 4GB, 8GB von unterschiedlichen Herstellern
- UNO mit Ethernet-Shield und integriertem SD-Karten-Modul
- Nano mit SD-Card Board (Adafruit-Clone mit logic level shifter)
Meine Ergebnisse bislang
a) Unter IDE 1.8 / SD library 1.10 und 1.09 (jeweils für FatSD und SD getestet) wurden alle normal, d.h. mit meinem Mac oder Windows formatierten Karten NICHT initialisiert
b) Gleiches Ergebnis für mit SDFormatter formatierten Karten (kein Quickformat benutzt)
c) Gleiche Negativ-Erlebnisse für UNO/Ethernet-Shield bzw. Nano mit externem SDCard-ModulPer Zufall habe ich dann noch einmal eine Karte mit dem SDFormatter neu formatiert und diesmal die Option "Interoperability" ausgewählt.
Resultat: BINGO !!!Habe dann alle anderen SDKarten ebenso mit dieser Option formatiert und getestet (bislang nur auf dem Ethernet-Shield und mit SDInfo): Alles funktioniert!
Werde die Tests jetzt erweitern und berichten, wenn ich neue Erkenntnisse habe.
Fortsetzung am 06.01.2017:
Heute kam eine neue Test-Karte an: Transcend, 2GB (SD)
Testparameter: IDE 1.8.0; SD library v1.09; SdFat library Version vom 15.08.2016 (link)
-> Folgende Tests mit den Beispiel-Sketches durchgeführt, die mit der SdFat Bibliothek kommen:
0. Karte mit SDFormatter (Mac version 4.0) formatiert; Option: Interoperability ON (bei Windows: (vermutlich) "Format Size Adjustment ON"); Hardware: Nano Clone mit SD-Card-Modul (Clone mit logic level shifter)
- SdInfo: ok, d.h. alle SD-Karten-Infos detailliert angezeigt (siehe nachfolgendes Bild1)
- SdFormatter (Beispiel-Sketch! aus der Bibliothek): ok (einzelne Werte haben sich verändert ggü. Test 1; siehe Bild2)
- TimeStamp: ok
- directoryFunctions: ok
- ReadCSVArray: ok
Sieht also alles gut aus; danach wurde die gleiche Sequenz mit der gleichen Karte auf einem Uno mit Ethernet-Shield und SD-Card Modul onboard getestet; Karte zunächst mit dem SDFormatter-Programm und der o.a. Option "ON" neu formatiert (kein Quick-Format)
Ergebnis: Alle Tests von 1. - 5. sind fehlerfrei durchgelaufen
Jetzt werde ich einen Data-Logger mit BME280 aufbauen und folgende Werte auf die SD-Karte schreiben:
- Temperatur
- Luftdruck
- Rel. Luftfeuchtigkeit
- Taupunkt
Werde noch einen Zeitstempel generieren und mit fortlfd. Nummer alle 30sec CSV - Logdaten schreiben und diese dann in Calc (LibreOffice) einlesen.
Testbericht folgt.