HoneyPi.

Einführung

HoneyPi ist eine smarte Bienenstockwaage zum Selbstbauen, basierend auf dem Einplatinencomputer „Raspberry Pi“.

 

Über Sensoren werden das Gewicht des Bienenstocks sowie weitere Größen wie Temperaturen, Luftfeuchtigkeit und Luftdruck gemessen und können über Internet live z.B. auf dem Smartphone visualisiert werden. Bei definierten Ereignissen, z.B. einem Schwarmabgang, wird eine Nachricht auf das Smartphone gesendet.

 

Bei diesem IoT ("Internet of Things") Device handelt es sich um ein Open-Source Projekt, so dass das System bei Bedarf flexibel z.B. um eine Webcam erweitert werden kann.

 


Stockgewicht online live verfolgen und den Bienen beim Nektar sammeln zusehen

Hier können die Messdaten der Stockwaage live verfolgt werden.


Mechanik

Während sich die elektronischen Einzelteile auf dem Postweg von China nach Deutschland befinden, nimmt der Prototyp der Mechanik rund um die Wägezelle langsam Gestalt an.

 

 

Die Waage ruht über 4 Metallwinkel auf den beiden Balken des Beutenbocks (im Bild außen zur Veranschaulichung). Da das Messelement und ein Großteil des "Unterbaus" im Beutenbock verschwinden, baut nur die Platte auf.

 

 

Das Gewicht lagert auf dem Messelement aus Aluminium, das als Biegebalken funkgiert und an der Oberseite ein Dehnungsmesselement besitzt, welches seinen elektrischen Widerstand mit der Durchbiegung verändert.

 

Die Konstruktion erscheint stabil, es wackelt nichts.

 


Inbetriebnahme am 07. April

Stockwaage Testaufbau
Stockwaage Testaufbau

Inzwischen sind alle wesentlichen Komponenten aus China eingetroffen, und im Labor (am Schreibtisch) funktioniert der Testaufbau.

 

Gestern, pünktlich zur Kirschblüte, erfolgte die Inbetriebnahme am Bienenstand: Die Mechanik der Stockwaage ist kaum wahrnehmbar unter der Beute angebracht. Die Stromversorgung erfolgt über eine alte Autobatterie, deren Ladung von einem Solarmodul über einen Laderegler hoffentlich auch während Schlechtwetterphasen erhalten wird.

 

Solarmodul
Solarmodul

Die Elektronik ist unter Verwendung eines „Breadboards“ provisorisch aufgebaut, d.h. die Bauteile sind größtenteils über Steckkabel „fliegend“ angeschlossen und in einer alten Plastikdose halbwegs wetterfest untergebracht.

 

Die Messdaten (derzeit Gewicht, Temperatur Honigraum, Temperatur und Luftfeuchte außen) werden über Mobilfunk in die Cloud hochgeladen.

 

Der gemessene Gewichtsverlauf erscheint dem Gartenimker noch unplausibel. Hier ist wohl noch eine Fehlersuche erforderlich.

Kalibrierung der Wägezelle am 8. April

Der Verlauf von Gewicht und Außentemperatur legt die Vermutung nahe, dass die Wägezelle eine deutliche Temperaturdrift aufweist, d.h. der Messwert wird durch einen unerwünschten Temperatureinfluss verfälscht. Bei einem Messbereich von 200kg scheint die Temperaturdrift ca. 3kg oder 1,5% pro 8°C zu betragen. Für den Einsatz als Stockwaage ist dieser deutlich zu hoch.

 

Die neue Firmware V0.1.0 sieht eine Temperaturkompensation vor. Zur Kalibrierung der Linearisierung der Messzelle und der Temperaturkompensation wurden zwei 15kg Hantelgewichte auf die Waage gelegt und einen Tag lang gemessen. Dabei wurde ein Temperaturbereich von 3°C bis 21°C erfasst. Zu zwei Zeitpunkten wurden Messungen mit 15kg und mit 0kg durchgeführt. Anschließend wurden die Parameter Offset, Steigung und Temperaturkoeffizient mithilfe des EXCEL Solvers angepasst.

 

Erste Messergebnisse am 19. April

Typischer Gewichtsverlauf einer Stockwaage an einem sonnigen Frühlingstag
Typischer Gewichtsverlauf einer Stockwaage an einem sonnigen Frühlingstag

Der prototypische Aufbau der Stockwaage liefert erste plausible Messergebnisse und damit interessante Einblicke in die Honigproduktion:

  1. Während der Nacht dicken die Bienen den am Vortag eingetragenen Nektar ein, Wasser verlässt den Bienenstock indem die feuchte Luft aus dem Inneren gegen trockene Außenluft ausgetauscht wird. Dabei nimmt das Gewicht um 250g ab.

  2. Zwischen 8:00 und 10:30 vormittags verlassen zahlreiche Bienen den Stock um auf Sammelflug zu gehen. Dabei nimmt das Gewicht um 1,25kg ab.

  3. Ab dem späten Vormittag bis zur Abenddämmerung ist die Hauptflugzeit. Es verlassen permanent Bienen den Stock und kehren auch wieder zurück. Durch den Nektareintrag nimmt das Stockgewicht stetig zu.

  4. Am Abend zwischen 17:00 und 19:00 beginnt das Gewicht noch stärker anzusteigen, da nun zahlreiche Bienen in den Stock zurückkehren und nur noch wenige ihn verlassen. Die Gewichtszunahme beträgt etwas mehr als 2kg pro Tag.   

 

 

Aufbau der Elektronik am 28. April

Der Prototyp mit seiner „fliegenden Verkabelung“ lädt bereits spannende Messergebnisse in die Cloud. Der Aufbau ist allerdings anfällig gegenüber Wackelkontakten.

 

Temperatur und Luftfeuchtigkeit in der Plastikbox haben mit Temperatur und Luftfeuchtigkeit außen nichts zu tun. Interessanterweise steigt die Innentemperatur gegenüber der Außentemperatur bei Helligkeit deutlich an, selbst wenn das Kästchen vollständig im Schatten steht. Die Lüftungsbohrungen ändern daran nichts, ermöglichen es aber Insekten die Box zu besiedeln und diese als Nistkasten zu missbrauchen.

 

Die aktuelle Firmware V0.1.0 beinhaltet einige Erweiterungen gegenüber der V0.0.4, allerdings liefert das zum Einlesen der Wägezelle verwendete Programmmodul unbrauchbare Ergebnisse. Nachdem das entsprechende Modul aus V0.0.4 in den Programmcode implementiert wurde, sind die Messwerte plausibel. Der Gartenimker hofft dass dieser Softwarefehler mit der nächsten Version der Firmware behoben sein wird.

 

 

Währenddessen entsteht in des Gartenimkers Spielzimmer der endgültige Aufbau der Messelektronik: Sie soll in einer alten Medikamentendose Platz finden.

 

Zum Anschluss der Sensoren werden wasserdichte Steckverbindungen verwendet. Zum Aktivieren des Wartungsmodus wird ein Drucktaster verwendet, der allerdings über einen Schlüsselschalter „freigeschaltet“ werden muss. Bei aktiviertem Wartungsmodus baut der Pi einen eigenen WLAN Accesspoint auf und die automatischen Messungen werden so lange ausgesetzt bis der Wartungsmodus wieder verlassen wird.

 

Zur Fertigstellung der Box fehlen allerdings noch einige Kleinteile. Der Weg von China nach HeilbronX ist weit...

 

 

Gehäuse

Eine alte Medikamentendose wird als Gehäuse verwendet.

 

Im Wartungsmodus baut der Pi einen WLAN Access Point auf, über welchen man sich mit dem Smartphone verbinden kann um die Konfiguration zu editieren. Der Schlüsselschalter aktiviert die Möglichkeit den Pi in den Wartungsmodus zu versetzen. Der Wartungsmodus wird über einen Taster aktiviert. Eine LED zeigt den aktiven Wartungsmodus an.

 

Die Sensoren werden über wasserdichte Steckverbindungen mit dem Pi verbunden.

 

Sensor Honigraum

Der DHT22 Sensor misst Temperatur und relative Luftfeuchtigkeit. Der Sensor wird in einem Königinnen-Zusetzkäfig im Honigraum platziert.

Ein Array von Temperatursensoren für den Brutraum

Der von der HoneyPi Firmware unterstützte Temperatursensor DS18B20 unterstützt 1-wire. Damit kann eine Vielzahl (>100) Sensoren an nur einer einzigen Signalleitung betrieben werden. Der Sensor selber ist ein Cent-Artikel.

 

Der Temperatursensor besitzt 3 Anschlüsse. Mehrere dieser Sensoren können parallel angeschlossen werden, so dass alle Sensoren dieselbe Spannungsversorgung und Datenleitung verwenden.

 

Die Steckverbindung wurde aus 2.54 mm Standard Stiftleisten hergestellt, indem die Pins jeder der 3 12er-Reihen miteinander verbunden wurden. So kann jeder einzelne Sensor wartungsfreundlich gesteckt werden. Der Anschluss des Sensor-Arrays an den Raspberry Pi erfolgt ebenfalls über einen solchen Strecker mit nur 3 Leitungen.

 

Leider kann man mit dem kostenlosen ThingSpeak Account maximal 8 Kanäle einlesen. Für dieses Array von Temperatursensoren reicht das nicht aus. Wenn die HoneyPi Firmware mehrere ThingSpeak Kanäle unterstützen würde, wäre das allerdings möglich. Der Gartenimker wartet gespannt auf die entsprechende Erweiterung der Firmware.

 

Einzelner Temperatursensor

Solange der Upload in mehrere ThingSpeak Kanäle noch nicht unterstützt wird, kann das Array von Tempertatursensoren nicht genutzt werden. Aus diesem Grund wird ein einzelner DS18B20 Sensor an den Eingang angeschlossen.

 

Kabelführung an der Beute

Die Kabel werden seitlich außen an der Beute von unten nach oben geführt. Sie werden von selbstklebenden Clipsen gehalten. Jeweils an der Oberseite der Brutraum- und der Honigraumzarge werden die Kabel über eine Kerbe ins Innere der Beute geführt. Beim Abnehmen der Zargen müssen die Clipse geöffnet werden.

Visualisierung von Messdaten mit ThingSpeak

ThingSpeak bietet eine sehr einfache Möglichkeit, Visualisierungen in deine eigene Homepage zu integrieren. Dies erfolgt mithilfe von sogenannten Widgets, die mit einer Codezeile aufgerufen werden.

 

Das Ergebnis ist auf unserer Site unter dem Menüpunkt Stockwaage zu sehen.

 

Eine detaillierte Beschreibung der Vorgehensweise zur Erstellung dieser Grafiken hat der Gartenimker auf der HoneyPi Seite veröffentlicht.

Linearisierung der Wägezelle mithilfe des EXCEL Solvers

Auf der HoneyPi Homepage ist ein einfaches Vorgehen für die Ermittlung der Linearisierung der Wägezelle hinterlegt. Dabei werden zwei verschiedene bekannte Gewichte aufgelegt und daraus Offset und Steigung ermittelt. Zusätzlich kann eine Temperaturkompensation aktiviert werden.

 

Unter Berücksichtigung der Tatsache dass der Messwert der Wägezelle u.U. beträchtlich schwankt, ist eine Identifikation der Parameter Offset, Skalierungswert und ein Temperatur-Korrekturwert auf Basis einer größeren Anzahl von Messungen wünschenswert.

 

 

Die Parameter sollen so ermittelt werden, dass die linearisierten Werte möglichst nahe bei den wahren Werten liegen. Idealerweise deckt der Wertebereich der Messwerte den gesamten Arbeitsbereich der Stockwaage ab, wie in der folgenden Abbildung angedeutet.

Geeignete Kalibriergewichte zu beschaffen sollte in der Regel kein Problem darstellen: Der Gartenimker borgte sich hierzu Hantelgewichte aus. Anders verhält es sich mit dem Einstellen der Temperaturen, hierfür wäre eine Klimazelle erforderlich, worüber die für die meisten Imker vermutlich nicht verfügen. So bleibt als praktikable Alternative, die sich natürlicherweise im Freien einstellenden Temperaturen zu nutzen, indem man an einem kalten Tag im Winter und einem heißen Tag im Sommer und ggf. noch an einigen moderaten Tagen in der Übergangszeit jeweils die Kalibriergewichte auf die Waage legt und dabei jeweils einige Messungen durchführt, und dabei idealerweise jeweils einen Tag-Nacht-Zyklus pro Gewichtsstufe durchläuft.

 

Es wird offensichtlich, dass bei diesem Vorgehen eine hohe Anzahl von Einzelmessungen anfällt, und dass dieser Vorgang mehrere Monate dauert. Hieraus ergeben sich bestimmte Anforderungen an das Excel-Kalibrierblatt.

 

In dem Excel-Blatt wird jede einzelne Messung in eine Zeile eingetragen, bzw. über den Datenimport von ThingSpeak importiert.

  • Spalte A enthält die an der Wägezelle gemessene Temperatur.
  • Spalte B enthält das im Wartungsmodus angezeigte bzw. zu ThingSpeak oder in die CSV-Datei übertragene Gewicht. Wenn im HoneyPi noch keine Werte für Offset, Skalierungswert, Temperatur-Korrekturfaktor und Temperatur bei Kalibrierung hinterlegt sind (Offset = 0, Skalierungswert = 1, Temperatur-Korrekturwert = 0), dann steht hier der Rohwert.
  • In Spalte C wird das tatsächliche Gewicht eingetragen.
  • Spalten D bis G enthalten die während der Messung aktiven Werte Offset, Skalierungswert, Temperatur-Korrekturfaktor und Temperatur bei Kalibrierung.

Die folgenden Spalten enthalten berechnete Werte:

  • Spalte H enthält den zurückgerechneten Rohwert der Wägezelle.
  • Spalten I und J enthalten das linearisierte Gewicht ohne und mit Temperaturkompensation, das sich auf Basis der optimierten Parameter errechnet, die im Bereich O2 bis R2 eingetragen sind. Die Formel lautet:
  • Spalte K enthält die Abweichung, also die Differenz zwischen dem linearisierten und dem wahren Gewicht.
  • Spalte L schließlich enthält den sogenannten quadratischen Fehler, der aufsummiert in Zelle O4 steht.

Die 4 Parameter sind dann optimal, wenn der quadratische Fehler minimal ist. Wer viel Geduld mitbringt kann diese Werte so lange modifizieren, bis er meint der quadratische Fehler lässt sich nicht weiter minimieren.

 

Des Excel Solver nimmt einem diese Arbeit ab. Es handelt sich dabei um ein Add-In, das mit Excel mitgeliefert wird, aber ggf. zuerst über Datei -> Optionen -> Add-Ins -> Verwalten aktiviert werden muss. Nach der Aktivierung kann er über das Menüband im Abschnitt „Daten“ -> Analyse aufgerufen werden.

 

Zunächst werden die Startwerte für die Parameter im Tabellenblatt eingetragen:

  • Offset: positiver Wert (z.B. 100)
  • Skalierungswert: z.B. 1
  • Korrekturwert: positiver Wert (z.B. 100)
  • T0: beliebig, z.B. 20°C

Nun wird das Ziel festgelegt, in unserem Fall ist das die Zelle O4. Dann werden die anzupassenden Variablenzellen spezifiziert, wobei dies in der Regel die Zellen O2 bis Q2 sind.

 

Die Referenztemperatur in Zelle R2 kann beliebig gewählt werden und muss nicht vom Solver bestimmt werden.

 

Schließlich wird die Lösungsmethode ausgewählt, wobei sich „GRG-Nichtlinear“ bewährt, und auf den Button „Lösen“ geklickt.

 

Es hat sich gezeigt, dass dieser Algorithmus nicht zuverlässig die beste Lösung findet. Daher empfiehlt es sich, diesen Vorgang mehrmals und ggf. mit unterschiedlichen Startwerten zu wiederholen. In nachfolgender Tabelle ist ein Beispiel für eine „vernünftige“ Lösung zu sehen.

 

 

Durch die Rückrechnung über die während der Messungen aktiven Parameter kann die Waage zunächst grob kalibriert werden, und diese Kalibrierung dann nach und nach jeweils bei Vorliegen neuer Messungen verfeinert werden.

 

Fortsetzung folgt...

Kommentar schreiben

Kommentare: 1
  • #1

    Javan (Mittwoch, 05 Juni 2019 18:35)

    Hallo Johannes,

    klasse Beitrag! Dein Gehäuse macht richtig was her.

    Viele Grüße
    Javan