Datenlogger

Hallo,

für mein aktuelles Projekt möchte ich mit dem Arduino verschiedene analoge Sensoren auslesen und die Daten in festen Zeitintervallen auf eine SD-Karte speichern, so dass sie später wieder ausgelesen werden können.
Also z.B. ein Thermometer, so dass über einen längeren Zeitraum Temperaturwerte erfasst werden, die ich später auswerten kann ohne dass ich jeden Tag anwesend sein muss um den Wert abzulesen.
Dazu meine erste Frage:
Ich glaube mich zu erinnern, dass es mal eine Arduino-Version gegeben hat, bei der ein SD-Kartenslot integriert ist.
Alternativ habe ich bei ebay Kartenslots zum aufstecken zu sehr günstigen Preisen gefunden. Allerdings nur von Anbietern aus China, Hongkong etc.
Ist es sinnvoll so etwas zu bestellen? Kann ich damit mit meinem Arduino Uno den oben beschriebenen Messaufbau realisieren? Sind die kompatibel bzw. gibt es bessere Alternativen?

Viele Grüße,
Andreas

Der Arduino Ethernet hat einen SD-Slot, ansonsten auch das Ethernet- oder WiFi-Shield, siehe auf der Hauptseite http://arduino.cc/en/Main/Products

Mit den Nachbauten kenne ich mich nicht aus, würde aber lieber ein Original bevorzugen. Gibt meistens weniger Probleme damit :slight_smile:

Andreas_R:
Ist es sinnvoll so etwas zu bestellen? Kann ich damit mit meinem Arduino Uno den oben beschriebenen Messaufbau realisieren? Sind die kompatibel bzw. gibt es bessere Alternativen?

Kommt drauf an, wieviel Du basteln möchtest.

Im einfachsten Fall steckst Du irgendein ordentliches “Shield mit SD-Kartenschacht” auf, z.B. ein “Ethernet-Shield” auf und bekommst

  • Netzwerkanbindung
  • Micro-SD Kartenschacht
  • und einen erhöhten Stromverbrauch
    ohne jegliche Bastelarbeit. Dafür kannst Du gleich einen IP-Kartenlogger realisieren, bei dem die Daten über Netzwerk abrufbar sind. Kosten für Ethernet-Shields von China-Versendern teils unter 10 EUR. Nachteil: Kein Batteriebetrieb wg. Stromverbrauch des Ethernet-Moduls.

Die von Dir angesprochenen SD-Kartenmodule ohne Pegelwandler (im “LC Studio” Design) für ca. 2 EUR vom Chinesen (oder teils auch 12 EUR von deutschen Versendern) funktionieren auch. Allerdings kommt es drauf an. Manche schließen diese Module “einfach so” mit ihren Arduinos zusammen und powern die Daten-Leitungen mit 5 Volt weit außerhalb der Spezifikation. Das machen die wenigstens SD-Karten mit. Die Karten gehen zwar nicht kaputt, denn die Betriebsspannung wird von diesen Modulen von 5V einwandfrei auf 3.3V gewandelt, aber sie funktionieren vielfach einfach nicht wegen falscher Pegel auf den Datenleitungen. Du kannst dann per Selektion SD-Karten suchen, die auf diese Art trotzdem funktionieren. Solche SD-Karten gibt es durchaus, insbesondere bei älteren Karten bis 2 GB Speicherkapazität. Funktion trotz Schaltungspfusch, das finden viele Hobbybastler durchaus ausreichend.

Oder Du mußt für eine einwandfreie Schaltung zwischen diese einfachen SD-Kartenmodule und den Arduino bei einigen Leitungen zusätzliche Spannungsteiler-Schaltungen mit Widerständen einbauen. Korrekt beschaltet für 5V-Arduinos würde das so aussehen wie auf dem Bild, das ich dranhänge. Diese Widerstände würdest Du zusätzlich zum SD-Kartenmodul benötigen. Auf diese Bastelei haben hier viele der Arduino-Bastler null Bock, wenn ich das vielfache Jammern hier im Forum über das Nichtfunktionieren dieser chinesischen SD-Kartenmodule richtig interpretiere.

Anmerkung: Die Pin-Nummern im Schaltbild sind für UNO, für andere Boards die SPI-Pins entsprechend anpassen.

P.S.: Außer den deutschen Versendern, die chinesische 2-Euro-SD-Module ohne Pegelwandler für teils knapp über 12 Euro verkaufen gibt es aber für praktisch denselben Preis einen Anbieter, der ein SD-Kartenmodul mit Pegelwandler anbietet (falls Du nicht mit den extra Widerständen zur Pegelwandlung herumbasteln möchtest und Du Dir das was kosten lassen möchtest ein direkt am Arduino anschließbares Modul zu bekommen, das mit korrekten Pegeln arbeitet):
http://www.watterott.com/de/MicroSD-card-breakout-board-v1
Für dieses Watterott-SD-Modul gilt das von mir gezeigte Anschlussbild NICHT, das wird direkt angeschlossen.

Das Anschlußbild ist nur für die chinesischen “LC Studio” Kartenmodule gültig.

Hallo jurs,

vielen Dank für deine Antwort.
Wenn sich die Bastelei auf das bisschen Widerstände zusammenlöten wie in deinem Schaltplan beschränkt, dann bekomme ich das schon hin. Aber für den Fall dass es dann doch nicht funktioniert würde ich mir auch gerne die Option mit dem Ethernet-Shield offen halten.
Wie viel Strom braucht der denn zusätzlich?
Es ist so, dass der ganze Aufbau dann in der Natur stehen soll und man höchstens einmal pro Woche vorbeischauen müssen soll. Ein Batteriebetrieb ist also unbedingt notwendig, allerdings könnten auch mehrere Batterien/Akkus parallel geschaltet werden. Nur zu viele sollten es dann doch nicht werden, wegen Größe und Gewicht. Ich sag jetzt mal so 4-5 Blockbatterien (9V), die dann mindestens 8 Tage halten sollten.
Könnte man vielleicht das Ethernet Modul irgendwie abklemmen (Leiterbahnen durchtrennen), um Strom zu sparen, das brauche ich ja überhaupt nicht? Also ich meine so, dass nur das SD-Kartenmodul versorgt wird.

Viele Grüße,
Andy

Hallo,

wenn Du das Ethernet-Modul nicht brauchst, musst Du es ja nicht nehmen. Ich habe mir z.B. vor ein paar Tagen bei Amazon ein einzelnes kleines Board mit SD-Kartenleser, den Widerständen für die Spannungsteiler und einem 3,3V-Spannungsregulator bestellt. Hat um die drei Euro gekostet und funktioniert bestens. Und es muss nichts mit Strom versorgt werden, was doch nicht benutzt wird.

Gruß,
Ralf

Andreas_R:
Wenn sich die Bastelei auf das bisschen Widerstände zusammenlöten wie in deinem Schaltplan beschränkt, dann bekomme ich das schon hin.

Dann hole Dir ein 2-Euro China Modul und die entsprechenden Widerstände!

Andreas_R:
Aber für den Fall dass es dann doch nicht funktioniert würde ich mir auch gerne die Option mit dem Ethernet-Shield offen halten.
Wie viel Strom braucht der denn zusätzlich?

Das ist völlig uninteressant, weil es in jedem Fall viel zu viel Stromverbrauch ist.
Sogar jedes stinknormale Arduino-Board im Normalbetrieb zieht schon viel zuviel Strom für einen längerfristigen Batteriebetrieb.
Ein 9V-Block mit einem UNO-Board läuft ca. 10 Stunden, dann ist die Batterie leer.

Andreas_R:
Es ist so, dass der ganze Aufbau dann in der Natur stehen soll und man höchstens einmal pro Woche vorbeischauen müssen soll. Ein Batteriebetrieb ist also unbedingt notwendig, allerdings könnten auch mehrere Batterien/Akkus parallel geschaltet werden. Nur zu viele sollten es dann doch nicht werden, wegen Größe und Gewicht. Ich sag jetzt mal so 4-5 Blockbatterien (9V)

DAS ist Dein Problem und nicht die popelige SD-Karte anzusteuern.

Andreas_R:
die dann mindestens 8 Tage halten sollten.

8 Tage = 8*24 = 192 Stunden.

Eine 9V-Blockbatterie hat ca. 500 mAh, 4 Stk. also 2000 mAh.

Wenn (nur mal angenommen) ein Arduino nur aus der auf dem Board ständig leuchtenden "Power On" LED bestehen würde, die Strom verbraucht, dann braucht alleine nur die Power-On-LED in 192 Stunden:
192 Stunden * 10 mA = 1920 mAh

D.h. Dir würde nur alleine die Power-On LED schon vier komplette 9V-Blöcke in 8 Tagen leerlutschen.
Da in realen Arduino-Boards aber immer auch USB-Seriell Schnittstelle und der Controller und ein Spannungswandler und ggf. weitere Bauteile aktiv sind, reicht wie gesagt im Normalbetrieb 1 9V Block nur 10 Stunden, entsprechend 4 Stk. ca. 40 Stunden.

Für ein längerfristig auf Batteriebetrieb laufenden Controller mußt Du viel mehr basteln, und zwar müßtest Du Dir Deine eigene Schaltung aus einem "nackten" Atmega328 aufbauen,

  • ohne bzw. mit optimiertem Spannungswandler
  • ohne "On-LED"
  • ohne USB-Schnittstelle
  • mit hohem Programmieraufwand zur Nutzung der Stromsparmaßnahmen des Controllers ("Sleep" Modus zwischen den Aktionen)

Programmieren der Schaltung dann entweder über einen "Programmer" oder falls ein Bootloader auf dem Baustein ist mit einem zeitweise (nur zum Programmieren) angeschlossenen USB-TTL-Adapter.

Mit Standard-Boards dürftest Du bei Deinen geringen Batteriekapazitäten nie für eine Woche mit einem Mini-Batteriepack hinkommen.

Mit einem 6V / 8 Ah Motorrad-Akku oder einem Bleigelakku dieser Größe dürftest Du mit Standard-Boards für 8 Tage gut hinkommen. Ginge das noch oder ist das für den Akku zu groß?

jurs, das Teil ist dann wohl die perfekte Lösung, das hab ich bei Watterott vorher nicht gefunden.

Schachmann, kannst du mir den Link zu dem Teil bei amazon schicken? Das scheint ja quasi das Gleiche zu sein wie jurs bei Watterott gefunden hat nur viel billiger.

Sorry, hab' Ebay und Amazon durcheinander gewürfelt. Dieses Teil http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=400557656421&ssPageName=ADME:L:OU:DE:3160 hatte ich bestellt und wie gesagt, funktioniert einwandfrei.

Gruß,
Ralf

Da man zum Datenloggen nicht nur eine SD Card, sondern üblicherweise auch eine Uhr braucht, gibt es diese Kombination, incl. dem sehr empfehlenswerten Levelshifter für die SD-Card, als Bausatz z.B. von Adafruit auch in D (hier) erhältlich:

Scheint wohl nicht mehr up to date zu sein, da das msd Shield (etwas günstiger) als Ersatz angeboten wird.

In China gibt es natürlich nicht nur SD Card Module, sondern auch Uhrenmodule, so dass man das ganze auch deutlich billiger hinkriegt.
Geschmacks- und Erfahrungssache. (Die Chinesen leben davon, dass Arduino , Adafruit, Watterott, usw. die Informationen gratis zur Verfügung stellen. )

9V Blockbatterien sind übrigens Käse, wenn es auf einigermassen hohe Kapazität ankommt.

Zum Stromsparen wäre eine Selbstbau-Lösung, die die meiste Zeit ziemlich schläft, keinen 5V Linearregler hat, und nur bei Bedarf den 3.3V Spannungsregler einschaltet, deutlich besser. Aber da nutzen dir fertige Shields nicht soviel...

Nick Gammon hat mal sehr lehrreich übers Stromsparen geschrieben : Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors

Hallo,

also erst Mal vielen Dank an alle die mir bis jetzt geholfen haben.
Das ist ein ganz tolles Forum hier und es ist echt unglaublich wie schnell und umfangreich man bei euch Hilfe bekommt.
Fragen die bestimmt schon unzählige Male gestellt wurden werden freundlich und kompetent beantwortet.
Das ist nicht selbstverständlich und funktioniert in manchen Foren überhaupt nicht, in den meisten bei Weitem nicht so gut.

Das mit der Uhr ist ein guter Hinweis, die schadet beim Datenloggen sicher nicht. Das Teil wäre sicher die bessere Lösung gewesen, leider hatte ich das andere schon bestellt. Jetzt muss es erst Mal ohne Uhr gehen, dann muss man halt die Uhrzeit aufschreiben zu der man den Logger einschaltet.

Eine Selbstbau-Lösung glaube ich nicht dass ich hinbekomme. Das wäre mir dann auch zu kompliziert. Also arbeite ich mit dem was ich habe und mache das Beste draus.
Wenn die Akkus nicht eine Woche halten muss man sie halt öfters wechseln, das ist dann nicht ganz so bequem aber wird schon gehen.

Das was Herr Gammon übers Stromsparen schreibt ist sehr interessant. Bei ihm verbraucht ein Arduino im Testbetrieb 55mA.
Ich habe hier Akkus vom Typ AA mit 1900 mAh (haben die auch wirklich). Wenn ich davon 6 Stück hintereinander schalte habe ich 7,2 V
für den Arduino und bei 1900 mAh sollte er knapp 35 Stunden laufen, also sagen wir einen Tag + Reserve. Wenn ich zwei oder drei von diesen Packs verwende sind es schon zwei oder drei Tage, das sollte reichen.

Wäre es evtl. möglich die grüne "ON"-LED einfach herauszuzwicken, damit die keinen Strom verbraucht?

Noch eine Frage: Der Logger braucht ja kein Display, aber hier im Labor wäre das nützlich um erstmal die Sensoren testen zu können.
Könnt ihr mir ein LCD-Display empfehlen (eine Zeile, vielleicht drei oder vier Ziffern), das günstig ist und das ich schnell und unkompliziert an den Arduino anschließen kann bzw. das auch von der Programmierung her leicht anzusprechen ist?

Wäre es evtl. möglich die grüne "ON"-LED einfach herauszuzwicken, damit die keinen Strom verbraucht?

Wäre schade drum. Und bringt nur wenig ( schätze mal max 10% )...

Eher sehen, ob du nicht mit 4 Batterien am 5V Pin auch zurecht kommst.
Da sparst du im Vergleich zur 6 Batterien-Version gleich 33%. Der Strom ist nämlich der gleiche, die 2.4 V mehr heizen nur den 5V Regler. Aber täglich wechseln musst du den Pack dann auch :frowning:

Schade dass der USB - Chip nicht abgeschaltet wird, wenn am USB - Anschluss gar nichts dran ist. Das ist der größte unnütze Verbraucher. Da ist das einfachste, sich einen standalone - Arduino zusammenzustecken.

USB bzw. Serial ist übrigens auch das Stichwort bei

Noch eine Frage: Der Logger braucht ja kein Display, aber hier im Labor wäre das nützlich um erstmal die Sensoren testen zu können.
Könnt ihr mir ein LCD-Display empfehlen (eine Zeile, vielleicht drei oder vier Ziffern), das günstig ist und das ich schnell und unkompliziert an den Arduino anschließen kann bzw. das auch von der Programmierung her leicht anzusprechen ist?

Zum Testen gibt es nichts komfortableres, als das Ding am PC zu betreiben und Testausgaben mit dem SerialMonitor oder ähnlichen Tools anzuzeigen.

michael_x:
Zum Testen gibt es nichts komfortableres, als das Ding am PC zu betreiben und Testausgaben mit dem SerialMonitor oder ähnlichen Tools anzuzeigen.

Das hört sich interessant an, aber ein reales Display will ich trotzdem. Vielleicht will man ja auch Mal im Freiland einfach nur Messen und den Wert direkt ablesen ohne zu loggen.

Das einfachste wäre wahrscheinlich das normale 1602 mit I²C. z.B.:
http://www.ebay.de/itm/Arduino-Compatible-IIC-I2C-TWI-Serial-LCD-1602-Module-/111055375863?pt=UK_Computing_Other_Computing_Networking&hash=item19db6a8df7

Klar gibt es auch kleinere, aber die haben dann i.d.R. parallele Interfaces.

Nick Gammon hat zwar alles sehr schön theoretisch breitgetreten, aber hier: http://interface.khm.de/index.php/lab/experiments/sleep_watchdog_battery/ findet sich Code wie man sowas dann tatäschlich macht.

Ich würde das mit dem Display wie folgt lösen: Das Display wird eingebaut aber normalerweise nicht mit Spannung versorgt. Erst auf Knopfdruck wird es aktiviert. Dann braucht die ganze Geschichte (wenn man das richtig macht) nur solange Strom wie auch jemand da ist der es ablesen will. Der Knopfdruck kann auch ein per Magnet aktivierter Reedkontakt sein, dann braucht man keine Löcher im Gehäuse dafür.

0

usman199349:
ich habe mir auch ein SD Karten Slot geholt und habe Beispielprogramme aus dem Netzt runtergeladen aber keins funktioniert richtig.
Könnte mir jemand ein Rat geben wie ich vorgehen soll.
ICh habe eine Standard SD Karte geholt.

Mein Tipp wäre eine ordentliche Fehlerbeschreibung in Deinem eigenen Thread.

Gruß,
Ralf