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
–
https://github.com/bogde/HX711 erfolgreich getestet mit dieser Version Kalibrierung und Test Programmcode
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. Der beelogger-Funk und beelogger-Universal in der einfachen Ausbaustufe sollte mit geladenem Kalibriersketch ca. 10 Minuten eingeschaltet sein, bevor mit der Kalibrierung begonnen wird.
Die Messungen beim beelogger-SMD und beelogger-Universal hingegen erfolgen im späteren Betrieb immer kurz nach dem Einschalten des HX711. Daher sind die Kalibriermessungen zügig durchzuführen, damit die Kalibrierwerte den realen Messungen entsprechen. Eine Wiederholung der Kalibrierung beim beelogger-SMD und beelogger-Universal (erweiterter Aufbau) sollte erst nach ca. einer halben Stunde Wartezeit erfolgen. Diese beelogger müssen während dieser Zeit stromlos sein.
Mit diesem Programmcode können bis zu drei HX711 mit bis zu sechs 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[3] = {A0, 10, 12}; // HX711 Nr.1: A/B, Nr.2: A/B uint8_t HX711_DT[3] = {A1, 11, A3}; // HX711 Nr.1: A/B, Nr.2: A/B // Achtung: Adresszuordnung des zweiten HX711 ist abhängig vom HX711-Modul
beelogger-SMD: (beim Multishield über Verdrahtung konfigurierbar)
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
beelogger-STM32F1…: (bei Verwendung eines Shield dort konfigurierbar)
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
beelogger-STM32F4x1: (bei Verwendung eines Shield dort konfigurierbar)
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
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. Voreingestellt ist 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'
Der beelogger muss für die Kalibrierung über den Akku-/Batterieanschluss versorgt werden.
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 EE-Prom des Nano 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 und im Programm die Kalibrierung bei “Waage ohne Gewicht – …” mit “x” überspringen.
Der Sketch führt dann 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.