Kalibrierung der Waage

Aus Technische Beeinflussbarkeit der Geschmacksache Kaffee
Zur Navigation springen Zur Suche springen

Breites Logoband.png


Patricia Viebke, 01.05.2023

Erste Kennlinie der JoeFrex Waage

Mit der Vorgehensweise vom 17.12.2022 ist es gelungen eine erste Kennlinie der Waage zu ermitteln.

Für die Erstellung der Kennlinie wurde nicht die finale Elektronikplatine des Messsystems verwendet. Mit der Kalibrierung über den Baustein HX711 musste sichergestellt werden, dass diese funktioniert.

Die Waage weist einen Messbereich von 0 bis 800 auf. In 50 Schritten wurde eine 20 Sekunden Messung durchgeführt. Über das Raspberry Pi wird die Messung in einem Python Skript konfiguriert und ausgeführt. Die Messdaten werden in einer csv Datei gespeichert.

Die Waage misst mit Dehnungsmessstreifen. Über den Baustein HX711 findet eine Umwandlung in 24 Bit Werte statt. Das Raspberry Pi misst somit die 24 Bit Werte. Durch den Einsatz von Eichgewichten ist eine Gegenüberstellung der gemessenen Bit Werte zum Gewicht möglich.

Statistische Auswertung JoeFrex Waage

Die Kennlinie erstreckt sich von 0 bis 800 mit den Bit Werten auf der Abszisse und dem Gewicht in Gramm auf der Ordinate.

Ein weiteres Ziel der ersten Kalibrierung war die Ermittlung der Messgenauigkeit über den gesamten Messbereich der Waage. Hierfür wurden die gemessenen Werte statistisch ausgewertet.

Durch Betrachtung der Messabweichungen ergibt sich die Gaußsche Normalverteilung der aufgenommenen Messwerte während des Kalibriervorgangs. Als relevant wird der Bereich innerhalb bis definiert. Innerhalb dieses Bereichs gilt die Aussage, dass 95,45 % der Messwerte eine Abweichung von 0.05 haben.

Damit ist die Waage präzise genug, um in das Messsystem implementiert zu werden.

Die Vorgehensweise muss nach Fertigstellung der Elektronik wiederholt werden.

Patricia Viebke, 17.12.2022

Für die Kalibrierung der Waage wurde ein Python Skript auf dem Raspberry Pi geschrieben. Es befindet sich auf dem Raspberry Pi in folgendem Verzeichnis "/home/pi/hx711/hx711_test.py".

In dem Skript wird zuerst eine Initialisierung durchgeführt. Dort werden die Pins GPIO Pins 5 und 6 des Raspberrys definiert für die Datenkommunikation mit dem HX711. Der GPIO Pin 5 gibt die 224 Werte an das Raspberry weiter. Das Skript ist so ausgebaut, dass beim Aufrufen dieses eine Zahl mitgegeben wird, die die Messdauer definiert. Die Werte werden zu einem Array data hinzugefügt. Der Array wird aufbereitet, so dass Sonderzeichen wie Klammern eliminiert werden. Nach abgeschlossener Aufbereitung werden die Elemente des Arrays in eine csv-Datei geschrieben. Die Werte sind dort zeilenweise angeordnet. Es wird eine csv-Datei "csv_data.csv" in dem gleichen Verzeichnis erstellt.

Für die Kalibrierung werden Eichgewichte von 0 bis 800 Gramm verwendet. In 50 g Schritten wird jeweils eine Messung von 20 Sekunden in MATLAB mit der Anweisung "system(rpi, '/home/pi/hx711py/hx711_test.py 20')" gestartet. Anschließend wird das csv-File von dem Raspberry Pi in MATLAB übertragen und vom Raspberry Pi gelöscht. Die Daten müssen in ein MATLAB Array transferiert werden und abgespeichert werden. Ziel ist es, bei jedem Messpunkt (Gewichtsstufe) eine Messung von 20 Sekunden zu erzeugen. Dadurch soll ein eventueller Messwertdrift über die Zeit von 20 Sekunden untersucht werden.

Anschließend werden die Daten dazu verwendet eine Kennlinie zu erzeugen.

Patricia Viebke, 28.11.2022

Für die Aufnahme von Messwerten mit der Waage von JoeFrex wurde ein neuer Messaufbau definiert. Die Ausgänge der Wägezelle werden an eine Aufbereitungsplatine mit dem Baustein HX711 angeschlossen.

Anschluss der Waage am Mikrofonkabel
Kabel Bezeichnung
gelb E -
weiß A-
grün A+
rot E+
Zuordnung Raspberry Pi PIN
Bezeichnung Beschreibung Pin-Nr. Raspi
VCC 3,3 V 01
DAT GPIO5 29
CLK GPIO6 31
GND GND 39

Die Ausgänge der HX711-Platine sind mit 3,3 V, GND, GPIO5 und GPIO6 Pin verbunden.

Durch eine SSH-Verbindung des Raspberry Pis über das Terminal kann ein passendes Skript für die Messung geschrieben werden. Es wurde ein Python Skript "hx711_test.py" programmiert, welches die Werte vom DAT (GPIO5) aufnimmt. Dort werden Werte im Bereich von 0 bis 224 gemessen. Beim Starten des Skriptes gibt es eine Verzögerung von etwa 4 s bis die Messung tatsächlich startet. Die Verzögerung lässt sich auf den Initialisierungsprozess des HX711 zurückführen. Im nächsten Schritt wird der Wertebereich ohne Gewicht und mit einem 800 g Eichgewicht überprüft. Weiter muss das Python Skript weiter programmiert werden, so dass die Problematik mit der Verzögerung umgangen wird. Auch in MATLAB bedarf es ein Skript, welches den Kalibrierprozess definiert und die Kennlinie erstellt.

Es muss festgelegt werden wie der Kalibrierprozess abläuft:

  • Messdauer pro Messung
  • Anzahl an Messungen pro Eichgewicht
  • Auswertungsweg der Daten