beelogger

beelogger-Solar – SD

Komplett unabhängig vom Internet oder einem Webserver können Messdaten auch offline mit dem Arduino Datenlogger für Imker auf einer SD-Karte gespeichert werden. Der beelogger-Solar eignet sich hierfür besonders gut, da er zum einen durch den Solarbetrieb auch unabhängig von Stromnetz ist und zum anderen, dieser bereits eine Echtzeituhr integriert hat, um die Messwerte mit entsprechendem Zeitstempel zu speichern. Um nicht erst beim Auslesen der SD-Karte am PC feststellen zu müssen, dass keine Daten gespeichert wurden, wird eine zusätzliche Kontroll-LED eingesetzt, die beim Auftreten eines Fehlers leuchtet. 

Zum Auslesen der Daten ohne Kartentausch direkt am Bienenstand steht eine Erweiterung mit einem Bluetooth-Modul zur Verfügung. Die grafische Darstellung der Daten kann vor Ort über die Offline-Grafik  oder mit dem Smartphone erfolgen.

 

SD-Modul

Zum Speichern der Daten auf einer SD-Karte wird ein SD-Modul benötigt. Das Modul gibt es in unterschiedlichen Ausführungen für verschiedene Größen von SD-Karten, ausgelegt für einen Betrieb über 3,3V oder (zusätzlich) ausgestattet mit einem Spannungsregler für Betrieb über 5V. Für den beelogger-Solar ist eine Variante für 3,3V notwendig.

SD-Karte

An die SD-Karte werden keine besonderen Anforderungen, beispielsweise an Größe oder Geschwindigkeit, gestellt. Einzige Voraussetzung ist, dass die Karte mit FAT32 formatiert ist.   

Kontroll-LED

Im Gegensatz zur direkten Übertragung der Messdaten an einen Webserver, würde ein Fehler beim Speichern der Daten auf der SD-Karte, erst beim auslesen der Daten erkannt. Im ungünstigsten Fall sind damit die Daten von Wochen verloren. Als optische Funktionskontrolle wird daher eine LED eingesetzt. Prinzipiell kann jede Standard-LED verwendet werden, die mit maximal 3,3V betrieben werden kann. Der Pin des ATmega, über den die LED versorgt wird, sollte mit maximal 10mA (bei 3,3V) belastet werden. Wichtig hierbei ist, den passenden Vorwiderstand einzusetzten. Ein Online-Rechner, um den richtigen Vorwiderstand zu ermitteln, findet sich auf der Website www.elektronik-kompendium.de. Die Durchlassspannung sowie der Betriebsstrom der LED sind dem Datenblatt des ausgewählten Typs zu entnehmen. Die Betriebsspannung (des beelogger-Solar) beträgt 3,3V. Für die in dieser Anleitung unter ‘Bezug’ ausgewählte LED wurde ein besonders energiesparender Typ ausgewählt.

Lochrasterplatine

Für den einfachen Aufbau des SD-Shields für den beelogger-Solar ist eine Lochrasterplatine mit einem Rastermaß von 2,54 mm empfehlenswert. Um das Shield mit den inneren Buchsenleisten des beelogger-Solar verbinden zu können, sind mindestens 22 Löcher pro Reihe notwendig. Hierfür kann eine Standard-Lochrasterplatine entsprechend zugeschnitten werden. Um ein wenig Arbeit zu sparen, können auch bereits passende Platinen in unterschiedlichen Ausführungen und Qualitäten erworben werden. Für unsere Dokumentation verwenden wir eine doppelseitige Lochrasterplatinen mit den Abmessungen 5 cm x 7 cm. 

Um die Platine als Shield mit dem beelogger-Solar zu verbinden, werden Pin- oder Buchsenleisten eingesetzt. Für eine optimale Verbindung mit der Buchsenleiste sollte die Ausführung mit langen Pins verwendet werden.

Bezug

Bild Bezugsquelle Preis ab Suchbegriffe* Bemerkungen
  eBay 1,00€ SD Card Module   3,3V Version
beelogger Solar Shield Platine eBay 6,00€
(5 Stück)
Lochrasterplatine 5×7 doppelseitig Lochrasterplatine 5×7, Lötpads auf beiden Seiten
  eBay 1,10€
(10 Stück)
pin header long Lange Pinleiste

*Einkaufstipps

Werden die Bauteile für die Hauptplatine des beelogger-Solar, wie bereits unter ‘beelogger-Solar – Bauteile & Bezug‘ beschrieben, über Mouser bezogen, könnten einige Bauteile für das GSM-Shield gleich mitbestellt werden. Hierfür ist eine Teilenummer (Bestellnummer) von Mouser angegeben, die optional für eine einfache Bestellung der Bauteile verwendet werden kann. 

Bauteil Spezifikation Mouser-Teilenummer Anzahl pro Platine
LED max. 3.3V, max 10 mA  859-LTL2R3KRD-EM 1
Widerstand 560 (berechnet für angegebene LED – sonst mind. 100 Ohm) Widerstand, 560, Axial, max. 5%, min. 100mW 71-RN55D5600FTR

Beschaltung und Aufbau

Die LED wird über den entsprechenden Vorwiderstand mit Pin D7 gegen GND verbunden.

Die Kommunikation des beelogger mit dem SD-Modul erfolgt über SPI.

beelogger-Solar SD-Modul
3,3V 3.3 / VCC
GND GND
D10 CS
D11/ MOSI MOSI
D12/ MISO MISO
D13/ SCK SCK/ CLK

Um ohne Probleme trotz aufgestecktem SD-Shield den FTDI-Adapter verbinden zu können, sollten die Buchsen für ‘Reset’ und ‘D2’ (‘Taster’) des beelogger-Solar nicht durch das Shield belegt werden. Hierdurch bleibt der FTDI-Header zugänglich und wird nicht von der Lochrasterplatine verdeckt.

beelogger Solar GSM Pinleiste

Vor dem Verlöten der Pinleisten ist bei der Ausrichtung der Lochrasterplatine darauf zu achten, dass die Schraubklemmen möglichst auf beiden Seiten zugänglich bleiben. Dies erleichtert die Arbeiten am beelogger-Solar.

Auf einer doppelseitigen Platine können die Verbindungen sehr schnell mit Kupferdraht vorgenommen werden. Wichtig dabei ist, dass die Leitungen mit zusätzlichen Lötpunkten fixiert werden, damit es zu keinem Kurzschluss kommen kann. 

Beim Aufstecken des SD-Shields ist darauf zu achten, dass die Pins in die korrekten Buchsen gesteckt werden.

Libraries

<SPI.h> – in der Arduino-Software bereits enthalten
<SdFat.h> –  htembeddedtps://github.com/greiman/SdFat 
<Wire.h> - in der Arduino-Software bereits enthalten 
<Sodaq_DS3231.h> –  https://github.com/SodaqMoja/Sodaq_DS3231  

Test-Programmcode

Mit diesem Programmcode werden Test-Messwerte auf die SD-Karte gespeichert. Zudem werden die realen Messwerte der Akku- und Solarspannung ermittelt und ebenfalls dem Datensatz angefügt. Dabei erhält jeder Datensatz einen Zeitstempel, welcher über die integrierte Echtzeituhr (RTC) zur Verfügung gestellt wird. Hierfür übernimmt die RTC die Uhrzeit aus dem Programmcode, die automatisch während der Compilierung im Rahmen des Uploads auf den ATmega hinterlegt wird. Voraussetzung ist natürlich eine korrekt eingestellte Uhrzeit am PC.

Tritt ein Fehler auf, leuchtet die LED des SD-Shield für 2 Sekunden. Ein erfolgreicher Speichervorgang wird durch ein kurzes Blinken der LED signalisiert. Da diese optische Funktionsanzeige nur sinnvoll ist, wenn jemand vor Ort ist und andernfalls nur unnötig Strom verbraucht, ist die LED nur für den Speichervorgang des ersten Datensatzes nach dem Einschalten oder nach einem Reset aktiviert.

Zur Ermittlung der korrekten Akku- und Solarspannung, sowie zur Sicherstellerstellung der korrekten Funktion der RTC, ist zuvor die Kalibrierung drchzuführen. Die hierbei ermittelten Werte sind im Test-Programmcode zu hinterlegen:

 

Ausgabe des seriellen Monitors (9600 baud):

Programmcode downloaden:

Download

Es ist zu empfehlen,  auch den Test-Programmcode mit den Basisfunktionen des beelogger-Solar durchzuarbeiten, um sich mit weiteren wichtigen Funktionen und Variablen für den Haupt-Programmcode vertraut zu machen.

Live-Betrieb

Für den Live-Betrieb steht der beelogger-Solar-SD Sketch zur Verfügung.

Download

Neben dem Abspeichern der Daten auf der SD-Karte stehen konfigurierbar die serielle Schnittstelle und das Interface für ein Bluetooth-Modul zur Verfügung.

Über die Serielle Schnittstelle kann durch Senden eines Zeichens über den Monitor im beelogger eine Funktion ausgelöst werden. 
Folgende Zeichen sind möglich:
– “*” neuer Dateiname für die Messdaten
– “?” Daten von SD-Karte holen
– “#” aktuelle Messdaten anzeigen
So ist für Testzwecke ein Zugriff auf das Live-Systems über den FTDI-Anschluß möglich.
Achtung: Die Nutzung der seriellen Schnittstelle löst im System einen Reset aus. Für den Dauerbetrieb sollte diese Schnittstelle deaktiviert sein.

Empfohlen wird für Systeme ohne Bluetooth der im Praxistipp beschriebene Schalter am beelogger, damit beim Wechseln der SD-Karte nicht zufällig ein Schreibzugriff erfolgt

 

Der komplette Programmcode für den Arduino Datenlogger mit Stockwaage für Imker ist unter Programmcode zu finden.