Der beelogger wird über die Arduino-Software mit den Programmen vorsorgt.
Eine kurze Einführung dazu ist hier beschrieben.
Zum Test der Sensoren bzw. der Sensorkonfiguration sowie der Sleep-Funktionen beim beelogger und zur Kalibrierung der Spannungsüberwachung stehen mehrere Sketche zur Verfügung.
- beelogger Universal / ATmega Test- und Kalibrierung
Die Haupt-Programmcodes für den Arduino Datenlogger mit Stockwaage für Imker basieren auf den bereits vorgestellten Test-Programmcodes. Die Konfiguration der Programmcodes ist sehr einfach und kann über wenige Anpassungen von Parametern vorgenommen werden.
Bei Verwendung der Platinen beelogger-Universal oder beelogger-SMD sind neben der individuellen Konfiguration keine weiteren Anpassungen mehr notwendig.
Die Programmcode für die beelogger-Varianten finden sich unter
- für beelogger Universal (Solar) 1.x / 2.x
– beelogger Programmcode-Multi (bis zu vier Waagen)
– beelogger SD (bis zu zwei Waagen)
- für beelogger Universal (einfache Ausbaustufe) 1.x / 2.x, mit und ohne Option Bienenzähler
–
beelogger-LAN / WLAN (bis zu zwei Waagen), LAN nur Universal 1.x
Der Programmcode Universal (Solar) kann auch für den beelogger-SMD verwendet werden.
Die hier bereitgestellten Sketche arbeiten mit den beelogger Webserver-Skripten.
Der Programmcode der Multi-(Mess-/Betriebs-)Sketche enthält zwei Funktionen, die speziell für den Akku- bzw. Solarbetrieb entwickelt wurden:
- Um den Akku zu schonen und ihm somit eine lange Lebensdauer zu ermöglichen, kann über die Variable ‘VMinimum’ die Spannung eingestellt werden, bei deren Unterschreitung keine Messung und auch kein Versand von Daten erfolgt. ‚VMinimum‘ dient insbesonders dazu den korrekten Betrieb des ATmega328 sicherzustellen, welche eine minimale Spannung (3,8V) benötigt.
- Damit der beelogger auch während einer längeren Zeitspanne ohne Aufladung (beispielsweise im Winter mit zugeschneiten Solarzellen) Sensordaten ermittelt und versendet werden, kann über die Variable ‚VAlternativ‘ die Spannung eingestellt werden, bei deren Unterschreiten der Mess- und Sendezyklus verlängert wird. Die Länge dieses Zyklus wird über ‚AlternativIntervallMinuten‘ eingestellt. Vorgabe ist 120 Minuten.
Diese Funktionen ersetzen keine im Akku integrierte Schutzschaltung vor Tiefenentladung
Beispiel:
beelogger-SMD Li-Ion-Akku |
beelogger-Universal 6V Blei-Akku |
2x LiIon-Akku | 12V Blei-Akku | |
VMinimum = | 3.75 V | 5.7 V | 7.5 V | 11.5 |
VAlternativ = | 3.8 V | 5.9 V | 7.6 V | 11.9 |
WeckIntervallMinuten = 15
AlternativIntervallMinuten = 120
Bei einer Spannung die höher ist als VAlternativ, werden die Messwerte wie in den Intervallen (im Sketch oder bei aktiver Fernsteuerung über den Webserver) konfiguriert abgefragt und versendet. Ab einer Spannung von VAlternativ und geringer, werden Messungen und Versand der Daten nur noch alle 2 Stunden (120min) durchgeführt. Dieser Wert ist nicht über den Server konfigurierbar.
Bei einer Spannung die kleiner oder gleich VMinimum ist, werden weder Messungen vorgenommen, noch Daten versendet. Sobald der Akku durch die Solarzelle aufgeladen ist und die Akkuspannung die eingestellten Werte erreicht bzw. überschreitet, nimmt der beelogger seinen Betrieb wieder auf.
Die Bezeichnungen für die Sensoren, den Buttons und Standorte/Namen in der Grafik können über das Webserver-Skript online für die Darstellung konfiguriert werden.
Für eine optimale Konfiguration, Kalibrierung und den Download der notwendigen Libraries wird empfohlen, die separaten Seiten zu Sensoren, Modulen und Kalibrierung vorab durchzuarbeiten. Zu beachten ist, dass auch für deaktivierte Sensoren und Module die notwendigen Libraries installiert sein müssen. Hierzu findet sich eine Lib-Sammlung unten auf dieser Seite.
- Der Programmcode ist in Funktionen organisiert.
- Beim beelogger im Akkubetrieb werden alle Sensoren nach dem ‚Aufwachen‘ neu initialisiert.
- Serielle Ausgaben zum Ablauf sind über Konfiguration verfügbar.
- Die Multi-(Mess-/Betriebs-) Sketche wurden in mehrere „ino“-Dateien aufgeteilt.
- Konfigurationseinstellungen in „…_config.h“ Dateien.
- Temperaturkompensation der Wägezellen erfolgt nur über die Konfiguration im Webserver-Skript.
- Waagen mit zwei Wägezellen (Double-Aufbau) werden bei Parallelschaltung der Wägezellen auf einen HX711 Kanal unterstützt.
Vielen Dank an Marc Wetzel für die Anregungen zur Neugestaltung der Sketche.
Dazu die Sammlung der verwendeten Arduino-Bibliotheken für die beelogger-Sketche.