beelogger

Stockwaage – Kalibrierung & Test

Nach erfolgreichem Aufbau der Wägekonstruktion der Stockwaage, kann diese nun kalibriert werden. Bei der Kalibrierung werden zwei Werte ermittelt:

  • Taragewicht
  • Skalierung

Mit dem Taragewicht wird das Anzeigegewicht auf Null gesetzt, um beispielsweise das Gewicht der Waagenkonstruktion, bei Bedarf auch der Beute, unberücksichtigt zu lassen. Durch die Skalierung werden die Messwerte des HX711 in Einheiten umgerechnet. Im Fall des Arduino Datenloggers mit Stockwaage für Imker in Kilogramm mit einer Auflösung von 10 Gramm. Die mit dem Programmcode zur Kalibrierung ermittelten Werte, werden später im Programmcode für den Messbetrieb des beelogger unter Programmcode eingetragen.

Download Waage Kalibriersketch hier.

Libraries

HX711.h, Version 0.7.4  https://github.com/bogde/HX711  erfolgreich getestet mit dieser Version, ist in den Bibliotheken enthalten

 

Kalibrierung und Test Programmcode

Mit diesem Programmcode können bis mehrere HX711 mit Waagen kalibriert werden. Es ist Kalibrierung und Testmessung möglich.
Die notwendigen Variablen sind für einen einfachen Aufruf der Funktionen des HX711 in Arrays organisiert worden.
Die Belegungen der PIN des ATmega / STM32… sind je nach beelogger-System verschieden.

beelogger-Universal:

uint8_t HX711_SCK[2] = {A0, 10}; // HX711 Nr.1: A/B, Nr.2: A/B
uint8_t HX711_DT[2] = {A1, 11}; // HX711 Nr.1: A/B, Nr.2: A/B
// Achtung: Adresszuordnung des zweiten HX711 kann vom HX711-Modul abhängen

beelogger-SMD:

uint8_t HX711_SCK[2] = {A0, 6}; // HX711 Nr.1: A/B, Nr.2: A/B 
uint8_t HX711_DT[2] = {A1, 7}; // HX711 Nr.1: A/B, Nr.2: A/B
// Hinweis: Adressen 2.HX711 beim Multishield über Verdrahtung konfigurierbar

beelogger-STM32F103:

uint8_t HX711_DT[2] = {PB8, PB10}; // HX711 Nr.1: A,B; HX711 Nr.2: A,B Data
uint8_t HX711_SCK[2] = {PB9, PB11}; // HX711 Nr.1: A,B; HX711 Nr.2: A,B S-Clock
// Hinweis: Adressen 2.HX711 beim Multishield über Verdrahtung konfigurierbar

beelogger-STM32F4x1:

uint8_t HX711_DT[2] = {PB8, PB2}; // HX711 Nr.1: A,B; HX711 Nr.2: A,B Data
uint8_t HX711_SCK[2] = {PB9, PB10}; // HX711 Nr.1: A,B; HX711 Nr.2: A,B S-Clock
// Hinweis: Adressen 2.HX711 beim Multishield über Verdrahtung konfigurierbar

Die Reihenfolge der Waagen ist:
Waage 1 : HX711 Nr. 1 Kanal A
Waage 2 : HX711 Nr. 1 Kanal B

Waage 3 : HX711 Nr. 2 Kanal A
Waage 4 : HX711 Nr. 2 Kanal B

 

Vor dem Laden des Sketch in den jeweiligen beelogger ist das Kalibriergewicht und die Anzahl der zu messenden Waagen im Sketch einzutragen.
Hier gezeigt ist die Einstellung der Kalibrierung einer Waage und ein Kalibriergewicht von 10000 gr.

// hier kann das Kalibriergewicht in Gramm eingetragen werden 
long KalibrierGewicht = 10000; // 10000 = 10kG Referenzgewicht

//Sensorkonfiguration
#define Anzahl_Sensoren_Gewicht  1  // Mögliche Werte: '0','1','2','3','4'

 

Kalibrierung

Der beelogger muss für die Kalibrierung über Netzteil (nur einfacher Aufbau) oder geladenen Akku-/Batterie versorgt werden.

Vor der Kalibrierung sollte die Wägekonstruktion mehrmals stark belastet und wieder entlastet werden (z.B. kurz mittig auf die Wägeplattform stellen), damit sich die gesamte Konstruktion setzen kann. Bei vielen Wägezellen gibt es eine gewisse Trägheit bei hohen Gewichtsdifferenzen in kurzer Zeit. In der Praxis sind diese für die Stockwaage nicht relevant, weshalb hierdurch keine Fehlmessungen entstehen. Es sollte in jedem Fall eine ausreichende Zeit gewartet werden, bevor mit der Kalibrierung begonnen wird. Im Praxistest konnte zudem festgestellt werden, dass die gemessenen Werte kurz nach Inbetriebnahme von denen im Dauerbetrieb abweichen.

beelogger in der einfachen Ausbaustufe sollte mit geladenem Kalibriersketch ca. 10 Minuten eingeschaltet sein, bevor mit der Kalibrierung begonnen wird.
Bei den solarbetriebenen beeloggern erfolgen die Messungen im regulären Messbetrieb immer kurz nach dem Einschalten des HX711. Daher sind die Kalibriermessungen bei solarbetrieben beeloggern zügig durchzuführen, damit die Kalibrierwerte den realen Messungen entsprechen.
Eine Wiederholung der Kalibrierung bei solarbetriebenen beeloggern sollte erst nach ca. einer halben Stunde Wartezeit erfolgen. Diese beelogger müssen während dieser Zeit stromlos sein.

Der Programmcode zur Kalibrierung ist interaktiv und erfordert manuelle Eingaben über den seriellen Monitor, welcher schließlich auch die erforderlichen Werte ausgibt. Der Sketch ist mit allen beeloggerTypen kompatibel (Einzelwaage, Duo-,Triple- Waagen). Waagen mit Double-Aufbau werden wie eine Einzelwaage gemessen.

  • “Waage ohne Gewicht – Kalibrierung mit ‘1’ und ‘Enter’ starten!” – Hiermit wird das Taragewicht ermittelt. Soll die Beute selbst bei den Messungen keine Berücksichtigung finden, muss diese vor diesem Schritt auf der Wägekonstruktion platziert werden.
  • “Waage mit genau xxx Gramm beschweren – Kalibrierung mit ‘2’ und ‘Enter’ starten!” – Mit diesem Schritt wird die Skalierung ermittelt. “xxx” zeigt das konfigurierte Kalibriergewicht an.
  • “Pruefe Gewicht:” – Hiermit wird geprüft, ob die Kalibrierung erfolgreich war. Der angezeigte Wert ist das Gewicht des eingewogenen Referenzgewichtes und sollte dem Kalibriergewicht entsprechen. Sollte dies nicht der Fall sein, muss die Prozedur erneut, durch einen Reset des Arduinos, durchgeführt werden.
  • Zum Schluss werden Taragewicht und Skalierung ausgegeben. Diese Werte sind im Test-Programmcode bzw. dem Programmcode für den Messbetrieb entsprechend einzusetzen.
  • Nun kann man nach Belieben weitere Gewichte (mit bekanntem Gewicht) zur Überprüfung auflegen.
  • Der aktuelle Sketch gibt zwei Zeilen mit den Kalibrierwerten aus, die in die Sketch-Konfiguration übernommen werden können.

Testwiegen:

Der Arduino(Atmega)- Sketch kann zum Testwiegen ohne erneute Kalibrierung verwendet werden.
Nach erfolgter Kalibrierung werden die Kalibrierdaten im ATmega328 internen EE-Prom abgelegt.
Der Sketch fragt die Verwendung dieser Kalibrierdaten ab und zeigt diese zur Bestätigung an.
Nach Bestätigung erfolgt das Testwiegen.
Anmerkung: Die Daten aus dem Nano-internen EE-Prom werden nicht im Multi-/Betriebssketch der beelogger verwendet, weil dies erhöhten Programmspeicherbedarf erfordert.

Alternativ:

Die Kalibrierwerte in die Konfigurationszeilen (Skalierung, Taragewicht) eintragen
Beispiel:

const long Taragewicht[4] = { 81225, 10, 10, 10}; // Hier ist der Wert aus der Kalibrierung einzutragen
const float Skalierung[4] = { 21926.0, 1.0, 1.0, 1.0}; // Hier ist der Wert aus der Kalibrierung einzutragen

und im Programm die Kalibrierung bei “Waage ohne Gewicht – …” mit “x” überspringen.
Der Sketch führt im weiteren Verlauf des Sketch das Testwiegen durch.

 

Ausgabe des seriellen Monitors (9600 baud):

Testwiegen:

Waage Kalibrierung

Wiegen mit abgespeicherten Kalibrierwerten? j/n

const long Taragewicht[4] = { 81225, 10, 10, 10}; // Hier ist der Wert aus der Kalibrierung einzutragen 
const float Skalierung[4] = { 21926.0, 1.0, 1.0, 1.0}; // Hier ist der Wert aus der Kalibrierung einzutragen 

Starte Testwiegen.

Waage 1

Waage 1 Gewicht: 1.001 kg Skalierung: 21926.00 Taragewicht: 81225

 

Kalibrierung:
Bei der ersten Abfrage “n” eingeben.

Waage Kalibrierung

Wiegen mit abgespeicherten Kalibrierwerten? j/n

Zur Kalibrierung der Stockwaagen bitte den Anweisungen folgen!
Fehlerhafte und nicht angeschlossene Waagen werden auch angezeigt!
Eine Waage, die nicht kalibriert werden soll, kann ausgelassen werden.

  Alle Waagen ohne Gewicht!

HX711 o.k.
Waage Nummer: 1
 Kalibrierung mit '1' und 'Enter' starten!
 Eingabe von 'x': Waage wird nicht gemessen.

Nullage ...   ...    ...

Waage Nummer: 1
mit genau  1000  Gramm beschweren - Kalibrierung mit '2' und 'Enter' starten!

Kalibriere Waage: 1  ...    ...
Pruefe Gewicht: 1.000
Taragewicht 1: 81225
Skalierung  1: 21926.00

Kalibriervorgang abgeschlossen. 

Die Zeile für die Konfiguration:

const long Taragewicht[4] = { 81225,  10,  10,  10}; // Hier ist der Wert aus der Kalibrierung einzutragen
const float Skalierung[4] = { 21926.0, 1.0, 1.0, 1.0}; // Hier ist der Wert aus der Kalibrierung einzutragen

Weiter mit w

Starte Testwiegen. 
x = Kalibrierung wiederholen. 

Waage 1 
Waage  1  Gewicht: 1.001 kg   Skalierung: 21926.00   Taragewicht: 81225

Typische Kalibrierwerte sind:
Skalierung: zu erwartende Werte, ca. +/- 10%, bei den üblichen Wägezellen mit 2mV/V Ausgangspannung

Wägezelle(n) HX711  
  Kanal A Kanal B
 1x 200kg 22000 5500
 1x 100kg 44000 11000
Double 2x 100kg 22000 5500
     
 1x 120kg 36000 9000
Double 2 x 120kg 18000 4500
     
 4x50kg (Halbbrücken) 20000 4000
     
 5kg 380.000  
 1kg 1.100.000  

Der Tarawert ist abhängig vom HX711, der/den Wägezelle(n) und vom Aufbau der Waage.

Nach der Kalibrierung kann der Multi-Sketch  für den Messbetrieb konfiguriert und geladen werden.
Mit den entstehenden Daten kann mit der Temperaturkompensation begonnen werden.

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

Hinweis: Nach dem Test den System-Check Sketch mit Sleep-Mode und Power-Off  oder den Multi-Sketch laden oder den Akku vom beelogger trennen um Entladen des Akku zu minimieren.