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
Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
27.11.2019, 17:29
Beitrag #1
Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
Hallo zusammen ich habe folgendes Problem: Bei einem Projekt sollen Daten von einer HX711 Wagezelle mit einer Frequenz von 80 hertz auf eine SD Karte geschrieben werden. Die Datei wird erstellt aber nur die erste Zeile der Daten wird auf der SD Karte gespeichert. Hier ist mein Code:
Code:
File dataFile = SD.open("datalog.txt", FILE_WRITE);

if (dataFile) {
  for (int i=0; i <= 500; i++){ //800 samples at 80sa/sec = 10 seconds theoretical
    scale.set_scale(calibration_factor); //Adjust to the calibration factor
        dataFile.println(scale.get_units(), 1);
        dataFile.close();
  }
}
Wenn ich die Daten an den Serialmonitor ausgebe funktioniert es. An die SD Karte nur mit einem Bruchteil der Frequenz oder gar nicht. Mir geht es hierbei vor allem um eine möglichst hohe Frequenz.
Danke im Voraus!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 17:45
Beitrag #2
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
Hallo,

naja, Du öffnest das File mit
File dataFile = SD.open("datalog.txt", FILE_WRITE);
damit wird die Datei jedesmal neu angelegt.
Versuch es mal mit
File dataFile = SD.open("datalog.txt", FILE_APPEND);

Allerdings denke ich, daß das in dieser Art nicht klappen wird. Es wird ja jedesmal der Inhalt eines SD-Card Sektors geholt, geöscht und neu geschrieben.
Also erstmal intern Daten sammeln und dann jeweils nach xx Sekunden schreiben. Wird aber auch da Pausen geben, SD-Cards sind nur bei großen Dateien relativ schnell, solche kleinen Krümel schreiben reduziert die Geschwindigkeit extrem.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 17:58
Beitrag #3
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
Welche SD-Lib verwendest Du?
In dieser hier beinhaltet WRITE das APPEND:
Code:
#define FILE_WRITE (O_READ | O_WRITE | O_CREAT | O_APPEND)

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 18:06
Beitrag #4
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
(27.11.2019 17:58)Tommy56 schrieb:  Welche SD-Lib verwendest Du?
In dieser hier beinhaltet WRITE das APPEND:
Code:
#define FILE_WRITE (O_READ | O_WRITE | O_CREAT | O_APPEND)

Gruß Tommy

Ja ich verwende diese Lib und es ist mir gelungen, Daten fortlaufend mit
Code:
#define FILE_WRITE
auf die SD zu schreiben nur eben mit sehr viel niedrigerer Frequenz als gewünscht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 18:16 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2019 18:17 von Tommy56.)
Beitrag #5
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
Der Arduino Nano ist kein Rennpferd und wenn Du laufend open und close machst, bremst das auch die SD aus.
Das wurde Dir aber schon geschrieben.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 18:19 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2019 18:20 von Tommy56.)
Beitrag #6
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
Sorry doppelt gesendet.

Wenn Du Angst vor Dartenverlusten beim Sammeln hast, dass sammle in einem FRAM und schreibe dann in einem Rutsch auf SD.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 18:32
Beitrag #7
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
(27.11.2019 18:16)Tommy56 schrieb:  Der Arduino Nano ist kein Rennpferd und wenn Du laufend open und close machst, bremst das auch die SD aus.
Das wurde Dir aber schon geschrieben.

Gruß Tommy

Würde ein UNO da besser abschneiden?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.11.2019, 18:35
Beitrag #8
RE: Schreiben von Arduino Nano auf SD Karte mit 80 Hertz
(27.11.2019 18:19)Tommy56 schrieb:  Sorry doppelt gesendet.

Wenn Du Angst vor Dartenverlusten beim Sammeln hast, dass sammle in einem FRAM und schreibe dann in einem Rutsch auf SD.

Gruß Tommy

Ich hatte auch überlegt auf dem verbauten EEPROM temporär zu Speichern wäre das eine Option?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  SD-Karte Ersten und Letzten wert anzeigen Luis90 1 181 12.11.2019 12:23
Letzter Beitrag: Tommy56
  Wert von einem Arduino zu einem zweiten Arduino senden Thorsten_S 9 767 14.10.2019 14:48
Letzter Beitrag: Thorsten_S
Question Mega2560 / Nano mit nRF24L01 verbinden R_M 1 282 08.10.2019 18:47
Letzter Beitrag: Tommy56
Sad Sonderbares Verhalten von Relais Arduino Nano Sarkermann 7 412 20.09.2019 12:26
Letzter Beitrag: Bitklopfer
  Scatch schreiben. lucibad 5 572 12.09.2019 12:10
Letzter Beitrag: Chopp
  SD Karte sicher entfernen Peter05 6 824 28.06.2019 22:42
Letzter Beitrag: GuaAck
  Gelöst ==> Arduino Nano, Kommunikation mit PC bringt nicht korrekten ASCII moehrle 4 969 02.03.2019 22:04
Letzter Beitrag: hotsystems
  neue NANO + Arduino IDE whn 11 1.457 09.02.2019 09:45
Letzter Beitrag: MiKo
  SD-Karte immer 1. Datensatz in Datei überschreiben FritzHelmut 9 1.308 25.01.2019 14:04
Letzter Beitrag: Tommy56
  Elektronischer Würfel (2W6) auf Arduino Nano - Warum Resets? Arduinero 7 745 20.01.2019 12:49
Letzter Beitrag: Arduinero

Gehe zu:


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