beelogger

beelogger – SD (SecureDigital) / Bluetooth

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 und beelogger-Universal, erweiterte Ausbaustufe eignen sich hierfür besonders gut, da diese zum einen durch den Solarbetrieb auch unabhängig von Stromnetz sind und zum anderen, diese eine Echtzeituhr (DS3231) integriert haben, um die Messwerte mit entsprechendem Zeitstempel zu speichern.
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.

beelogger-Universal mit SD-Karte und Bluetooth-Modul

beelogger-Universal (erweiterte Ausbaustufe) mit SD-Karte und Steckplatz für ein Bluetooth-Modul

SD-Karte

An die Micro-SD-Karte werden keine besonderen Anforderungen, beispielsweise an Größe oder Geschwindigkeit, gestellt. Voraussetzung ist, dass die SD-Karte mit FAT bzw. FAT16 formatiert ist.
Die Micro-SD-Karte sollte eine Speicherkapazität von max. 4GByte haben.

beelogger-Universal:

Der beelogger-Universal benötigt ein SD-Modul als 5V-Variante mit integriertem Pegelwandler.
Achtung: Das hier verwendete SD-Karten-Modul unterscheidet sich vom Modul, dass für das Shield des beelogger-Solar vorgesehen ist. Das SD-Karten-Modul für den beelogger-Universal muss über einen Spannungsregler und Pegelwandlung für die Signalleitungen verfügen.
Der NANO und das DS3231-Modul müssen wie im erweiterten Aufbau beschrieben, modifiziert werden.
Betriebsspannung des beelogger-Universal mit SD-Karte ist minimal 5,5Volt.

Einbau SD-Karten-Modul:
Das SD-Karten-Modul kann direkt an der vorgesehenen Position in die Platine eingelötet werden. Die Verwendung einer Buchsenleiste ist optional möglich. Beim Einbau die Anschlussbelegung beachten.

Verdrahtung Bluetooth-Modul: Bei der Universal-Platine muss das Bluetooth-Modul HC-05 auf der Lochrasterfläche montiert werden. GND und geschaltete +5V (5Vsw) stehen dort zur Verfügung. Die Signale RX / TX können 3,3V-kompatibel an der Anschlüssen des ESP8266 Moduls abgegriffen werden. Das Ein-/Ausschalten des Bluetooth-Moduls sowie die Interrupt-Auslösung erfolgt in gleicher Weise wie hier beschrieben.

beelogger-Universal Anwender finden das Testprogramm unten auf dieser Seite.

 

Shield für den beelogger-Solar

SD-Modul

Das SD-Karten-Modul für den beelogger-Solar 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.
Als Shield kann ein Multishield oder der Aufbau auf Lochrasterplatine verwendet werden.
Um nicht erst beim Auslesen der SD-Karte am PC feststellen zu müssen, dass keine Daten gespeichert wurden, kann eine zusätzliche Kontroll-LED eingesetzt werden, die beim Auftreten eines Fehlers leuchtet.

SD-Shield mit Lochrasterplatine für den beelogger-Solar

SD-Shield mit Lochrasterplatine für den beelogger-Solar

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.

Beim beelogger-Universal zeigt die LED “L” auf dem NANO die Schreibaktivtät auf die SD-Karte an.

Lochrasterplatine (nur beelogger-Solar)

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.

 

Test-Programmcode

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  

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 Sicherstellung 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

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.