SD Karte im Akkubetrieb

Hallo liebe Arduino Community,
ich möchte meinen Sensordaten auf eine SD Karte schreiben und den Logger mit einer 9V Batterie betreiben.
Nun habe ich zwei Fragen an euch:
Weiß jemand ob das Schreiben auf eine SD Karte sehr empfindlich gegenüber Spannungsabfall ist oder ob die Spannungsregelung auf dem Arduino den Abfall in der 9V Batterie sowieso 100%ig abfängt?
Ich hatte zwei Logdatei, die abgebrochen war.
Zweitens, wie kann ich den Verbrauch der SD Karte gut abschätzen?
Ich wundere mich, wie schnell meine 9V Batterien leer gehen. Obwohl mein erster Überschlag einem recht geringen Stromfluss ergab. In den Datenblättern sind oft nur Ströme im µA Bereich angegeben und das stromintensive Schreiben auf die SD dauert nur wenige ms.

Ich freue mich über jede Hilfe oder Gedankenanstöße :slight_smile:

Welcher Arduino?

Wie lange läuft es ohne SD? Ist die SD ursächlich?

Hi

Sofern das Schreiben ein Arduino erledigt, ist auf Dem eine Power-LED drauf.
Die leuchtet IMMER.
Von den 9V der Block-Batterie wirfst Du fast die Hälfte weg, da der Spannungsregler auf dem Arduino ALLES oberhalb von 5V VERHEIZT (wortwörtlich!).
Ein DC-DC-Wandler sollte hier die bessere Wahl sein, Der braucht selber aber auch etwas Strom, außerdem wird Der Dir den Akku (sofern ein Akku benutzt wird) gnadenlos leer saugen - also hier dann besser wirklich Batterien benutzen oder eine Abschaltung vorsehen, daß der Akku nicht in die Knie geht.
Für nur 1x Laden ist so ein Akku rausgeworfenes Geld/Material.

Wenn Du über einen DC-DC-Wandler gehst, dann direkt auf 5V/3,3V, Das was µC und SD-Karte haben wollen - dann aber nicht mehr über Vin, sondern über den 5V bzw. 3.3V-Pin.

Soviel vorerst von mir

MfG

Hallo,

du willst den Arduino auch an die 9V Batterie anschliessen denke ich mal. Was ist das für ein Arduino UNO ?
Wie oft sollen Daten gemessen und auf die SD Karte geschrieben werden. Ich habe jetzt die Stromaufnahme eines UNO noch nicht gemessen, schätze aber mal er braucht 20-50mA Die 9V Batterie hat als Zink Kohle 190-330mAh. Damit wäre die theoretisch nach 5-10 Stunden leer.

9V Block

Heinz

Danke für eure Antworten!
Ich nutze einen Arduino Mega R3 und schließe die 9V Batterie direkt am Stromanschluss an. Der Logger läuft die ganze Zeit da er 5-mal pro Sekunde einen Satz Daten schreiben soll.
Ohne SD Karte hab ich es bisher noch nicht laufen lassen.

zu meinem Überschlag des Verbrauchs:
Ich habe im Datenblatt leider nur den Verbrauch des Chips nicht des ganzen Arduino gefunden. Aber in andern Forenbeträgen wurde der Verbrauch eines gesamten Arduinoboards bei 5V mit ca. 26mA gemessen.
Wenn ich beim Schreibprozess von 80mA ausgehe der etwa 25/1000 einer Sekunde stattfindet komme ich samt Sensoren auf 54mA Verbrauch. Ich habe eine Alkali-Mangan Batterie die ca. 500mAh liefern sollte. Damit komme ich auf 9h mögliche Laufzeit. Die Batterie ist aber eher nach 3h leer.
Kann das alles am Spannungswandler 9V auf 5V liegen?
Also wird hier wirklich 4/9 der Energie ungenutzt verheitzt?
Und mich wundern immernoch die beiden Abgebrochen Logfiles.

Nun überlege ich alternativ eine kleine Powerbank mit 5V anzuschließen.

Smido:
Nun überlege ich alternativ eine kleine Powerbank mit 5V anzuschließen.

Achtung! Viele Powerbanken schalten unterhalb eines Mindeststromes ab. Du musst also entweder eine finden, die das nicht tut oder in (durch Experiment ermittelt) in bestimmten Abständen zusätzlich einen entsprechenden Strom ziehen.

Gruß Tommy

Kann das alles am Spannungswandler 9V auf 5V liegen?
Also wird hier wirklich 4/9 der Energie ungenutzt verheizt?

Ja. Wenn du 54 mA bei 5V brauchst, brauchst du auch 54mA bei 9V (sogar ein wenig mehr)
Das gilt auch für den 3.3V Wandler, der die SD-Karte versorgt.
Die (9V - 5V)* 54 mA > 200 mW werden verheizt.

Ich tippe übrigens auf einen höheren Verbrauch als deine geschätzten 54mA.
Nick Gammon geht von ca 50 mA für einen nackten Arduino UNO Rev 3 aus. Ohne SD Modul.

Hi,

ich habe vor geraumer Zeit folgende Werte für den Normalbetrieb gefunden und mir abgelegt:

Nano 25mA
Uno 48mA
Mega R3 70mA

Gruß André

Hallo,

in wie weit muss das Ding denn mobil sein, Wenn Du statt des 9V Blockes Baby oder Mono Akus verwendest. 4X 1,2V und dann auf dem 5V Pin anschliesst sollte das auch gehen. Ich würde das mal versuchen.

Mal ganz was anderes, 5 Daten/s ergibt in 10 Stunden 180.000 Datenzätze. Bei einem Messwert ergit das etwa 1MB an Daten , hab ich das richtig verstanden. ? Was willst Du denn da messen ?

Heinz

Hallo,
das wird ein Haufen an Daten mit der 5Hz Semplingrate, das ist wahr. Es geht um Fahrdynamik im Auto. Daher brauche ich vermutlich diese hohe zeitliche Auflösung.
Ich zeichen GPS Daten, Beschleunigungen, Winkelgeschwindigkeiten und Temperatur auf.
Ich habe meine Überschlagsrechnung korrigiert und das mit der Abschaltung in der Power Bank ist ein guter Hinweis!
Könnte ich hier nicht einfach einen/mehrere Pin alle x Sekunden für einige ms auf 5V schalten und über einen kleinen Widerstand mit Ground verbinden um die Abschaltung zu verhindern?

Die 4x1,2V sind auch eine gute Idee. Allerdings machen mir hier die Abgebrochen Files noch sorgen. Ich habe den Eindruck, die SD Karte ist sehr empfindlich gegenüber Spannungsänderungen. Hat da jemand Erfahrung? Die beiden Abgebrochenen Logdateien erkläre ich mir hiermit. Allerdings ist das eine Vermutung und alles andere als Wissen.
Die Aufzeichnungen mit Adapter in der Steckdose oder im Peugeot über den Zigarettenanzünder liefen fehlerfrei. Versorgt über eine 9V Batterie oder über den Zigarettenanzünder im Golf wurden die Aufzeichnung irgendwann abgebrochen.
Ich öffne ein Textfile im Setup und speichere es nach jedem Datensatz (also alle 200ms) mit flush().

Grüße und danke für die Hilfe :slight_smile:

Hi

naja - wenn ich schon ein Auto mitschleppen muß, kann ich auch Dessen Batterie anzapfen.
Habe ja Nichts gegen einen eigenen Akku, Der muß aber jetzt keine zwölf Stunden mehr halten - der Weg vom Auto zum Schreibtisch + Pinkelpause, sollte hier als Stützzeit ausreichend sein.

KFZ-USB-Ladestöpsel -> PowerBank_als_USV -> Arduino
Die Powerbank muß dann gleichzeitig laden und entladen können - teilweise geht Das schon nicht, weil die Stecker zu nahe aneinander sind (könnte aber auch einen Grund haben).

Haltbarkeit des SD-Karte:
Meiner hier aber auch nur aufgeschnappter Information nach speichert eine SD-Karte immer 512-Byte-Happen.
Ein flush() macht's auch vorher.
Blöd ist, wenn einer Deiner Datensätze keine 512 Byte komplett ausfüllt, wird dieser Bereich zig Mal beschrieben, bis Du Da endlich fertig bist - und die Schreibzyklen sind begrenzt.
Wenn die Daten wirklich sooo wichtig sind, daß Dir davon kein Datensatz verloren gehen darf, gehe den Umweg über FRam, die Kleinen kosten quasi kein Geld, die größeren sind in SMD (und auch sehr günstig).
Gibt's ab 512B (=4kb <-- kleines B !!), selber habe ich bis 32kB (256kb ... kleines B steht für Bit, also K-Bit statt K-Byte, dort wäre das B groß).
Wenn im FRam ein entsprechend großer Bereich beschrieben ist, ab damit auf die SD-Karte.
Der FRam behält die Daten bei Spannungsverlust, ist sauschnell beschreib/lesbar, einfach nur geiles Zeug.

Soweit meine Gedanken hierzu

MfG

zig Mal beschrieben, bis Du Da endlich fertig bist - und die Schreibzyklen sind begrenzt.

Wenn du die Daten als Textzeilen mit 50 Buchstaben schreibst, wird jeder Sektor 10 mal beschrieben. Und hält nur 100000 Schreibzyklen aus.

--> Mach dir mal nicht ins Hemd :wink:

Wie selten jeder Sektor einer 2GB SD Karte beschrieben wird, kannst du dir gar nicht vorstellen.
Karten gehen kaputt beim mechanischen Rein- und Rausstecken. Ist meine Erfahrung.