Benutzer-Werkzeuge

Webseiten-Werkzeuge


iot:vollautomatische_katzenwaage

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
iot:vollautomatische_katzenwaage [12.07.2019 11:52] – [Internetseite] Frickelpietiot:vollautomatische_katzenwaage [08.09.2019 08:14] – [Elektrischer Aufbau] Frickelpiet
Zeile 14: Zeile 14:
  
 ===== Mechanischer Aufbau ===== ===== Mechanischer Aufbau =====
-{{:arduino:katzenwaage:img_1135.jpeg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1166.jpg?100 |}}{{:iot:vollautomatische_katzenwaage:img_1167.jpg?100 |}} Das Kernstück der vollautomatischen Katzenwaage ist eine Plattform Wägezelle: Die Entscheidung für eine Wägezelle der Firma Bosche fiel relativ leicht, da diese Wägezellen bei recht vielen der im Internet dokumentierten Waagenprojekten Verwendung finden. Aber welches der vielen Module ist geeignet? Grundsätzlich kommen Wägezellen aus den Baureihen H30A und H40A infrage. Bei der Auswahl ist zunächst die maximal zu erwartende Nennlast zu berücksichtigen. Die Katzentoilette wiegt mit Streu 15 bis 18 Kilogramm, mein Kater gute 5 Kilogramm und die Wägeplattform habe ich mit 2 Kilogramm kalkuliert. Bosche stellt eine [[https://www.bosche.eu/media/pdf/03/f0/32/Hilfe-bei-der-Auswahl-von-Wa-gezellen-TIPP.pdf|Handreichung]] zur Verfügung, die bei der Auswahl der richtigen Wägezelle helfen soll. Demnach sollte die maximale Nennlast der Wägezelle so gewählt werden, dass auch Lastspitzen, die bspw. beim Aufsetzen der Last entstehen können, die Wägezelle nicht beschädigen können. Außerdem sollte auch ein Eckenlastzuschlag für eine mögliche Ungleichmäßigkeit der Lastverteilung berücksichtigt werden. In der Regel, heißt es in dem Dokument, sollte die Wägezelle so gewählt werden, dass deren maximale Nennlast um den Faktor zwei bis drei über der zu erwartenden Nennlast liegt. Für meine Katzentoilette sollte die maximale Nennlast also zwischen 50 und 75 Kilogramm liegen. Meine Wahl fiel letztendlich auf eine Wägezelle der Baureihe H40A, mit einer maximalen Nennlast von 100 Kilogramm. Diese ist im Unterschied zu den Wägezellen der Baureihe H30A für Plattformgrößen von 500 mal 500 Quadratmillimeter ausgelegt. Da die Grundfläche der Katzentoilette ungefähr 400 mal 500 Quadratmillimeter misst, fiel die Entscheidung nicht schwer.+{{:arduino:katzenwaage:img_1135.jpeg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1166.jpg?100 |}}{{:iot:vollautomatische_katzenwaage:img_1167.jpg?100 |}} Das Kernstück der vollautomatischen Katzenwaage ist eine Plattform-Wägezelle: Die Entscheidung für eine Wägezelle der Firma Bosche fiel relativ leicht, da diese Wägezellen bei recht vielen der im Internet dokumentierten Waagenprojekten Verwendung finden. Aber welches der vielen Module ist geeignet? Grundsätzlich kommen Wägezellen aus den Baureihen H30A und H40A infrage. Bei der Auswahl ist zunächst die maximal zu erwartende Nennlast zu berücksichtigen. Die Katzentoilette wiegt mit Streu 15 bis 18 Kilogramm, mein Kater gute 5 Kilogramm und die Wägeplattform habe ich mit 2 Kilogramm kalkuliert. Bosche stellt eine [[https://www.bosche.eu/media/pdf/03/f0/32/Hilfe-bei-der-Auswahl-von-Wa-gezellen-TIPP.pdf|Handreichung]] zur Verfügung, die bei der Auswahl der richtigen Wägezelle helfen soll. Demnach sollte die maximale Nennlast der Wägezelle so gewählt werden, dass auch Lastspitzen, die bspw. beim Aufsetzen der Last entstehen können, die Wägezelle nicht beschädigen können. Außerdem sollte auch ein Eckenlastzuschlag für eine mögliche Ungleichmäßigkeit der Lastverteilung berücksichtigt werden. In der Regel, heißt es in dem Dokument, sollte die Wägezelle so gewählt werden, dass deren maximale Nennlast um den Faktor zwei bis drei über der zu erwartenden Nennlast liegt. Für meine Katzentoilette sollte die maximale Nennlast also zwischen 50 und 75 Kilogramm liegen. Meine Wahl fiel letztendlich auf eine Wägezelle der Baureihe H40A, mit einer maximalen Nennlast von 100 Kilogramm. Diese ist im Unterschied zu den Wägezellen der Baureihe H30A für Plattformgrößen von 500 mal 500 Quadratmillimeter ausgelegt. Da die Grundfläche der Katzentoilette ungefähr 400 mal 500 Quadratmillimeter misst, fiel die Entscheidung nicht schwer.
  
 {{:iot:vollautomatische_katzenwaage:img_1170.jpg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1172.jpg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1173.jpg?100 |}} Der mechanische Aufbau ist denkbar einfach: Die Plattformwägezelle wird mittig zwischen zwei sechs Millimeter starke Aluminiumplatten mit einer Kantenlänge von 342 mal 445 Quadratmillimetern verschraubt. Insgesamt hat die Konstruktion also eine Höhe von 52 Millimetern: Flacher bekommt man es nicht hin. Damit der Sensor sich zwischen den Aluplatten frei bewegen kann, haben die beiden Aluminiumplatten entsprechende Löcher. Alternativ hätten Taschen gefräst werden können, aus Kostengründen habe ich die Platten jedoch lasern lassen. Die Plattformwägezelle wird durch einen gedruckten Anschlag vor Überlast geschützt. {{:iot:vollautomatische_katzenwaage:img_1170.jpg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1172.jpg?100 |}} {{:iot:vollautomatische_katzenwaage:img_1173.jpg?100 |}} Der mechanische Aufbau ist denkbar einfach: Die Plattformwägezelle wird mittig zwischen zwei sechs Millimeter starke Aluminiumplatten mit einer Kantenlänge von 342 mal 445 Quadratmillimetern verschraubt. Insgesamt hat die Konstruktion also eine Höhe von 52 Millimetern: Flacher bekommt man es nicht hin. Damit der Sensor sich zwischen den Aluplatten frei bewegen kann, haben die beiden Aluminiumplatten entsprechende Löcher. Alternativ hätten Taschen gefräst werden können, aus Kostengründen habe ich die Platten jedoch lasern lassen. Die Plattformwägezelle wird durch einen gedruckten Anschlag vor Überlast geschützt.
  
 ===== Elektrischer Aufbau ===== ===== Elektrischer Aufbau =====
-Das Kernstück der automatischen Katzenwaage ist die Plattform Wägezelle H40A von Bosche. Diese wird mit dem SparkFun Load Cell Amplifier verbunden, der wiederum mit einem Lolin D32 verbunden wird. Vor allem für des Debugging bekommt die Kontrolleinheit ein LC-Display von SparkFun spendiert.+Das Kernstück der automatischen Katzenwaage ist die Plattform-Wägezelle H40A von Bosche. Diese wird mit dem SparkFun Load Cell Amplifier verbunden, der wiederum mit einem Lolin D32 verbunden wird. Vor allem für des Debugging bekommt die Kontrolleinheit ein LC-Display von SparkFun spendiert.
  
 ==== H40A und SparkFun Load Cell Amplifier ==== ==== H40A und SparkFun Load Cell Amplifier ====
Zeile 32: Zeile 32:
   * VDD: 3,3 Volt vom ESP32   * VDD: 3,3 Volt vom ESP32
   * VCC: 5 Volt vom Spannungsregler   * VCC: 5 Volt vom Spannungsregler
-  * DAT +  * DAT: GPIO 4 
-  * CLK +  * CLK: GPIO 2 
-  * GND+  * GND: GND
  
 Die Brücke auf der Rückseite des Boards muss geschlossen bleiben für 10 SPS (samples per second), um das Rauschen zu minimieren. Die Brücke auf der Rückseite des Boards muss geschlossen bleiben für 10 SPS (samples per second), um das Rauschen zu minimieren.
Zeile 52: Zeile 52:
 https://www.youtube.com/watch?v=wopmEyZKnYo https://www.youtube.com/watch?v=wopmEyZKnYo
 ===== Genauigkeit ===== ===== Genauigkeit =====
 +Die Waage tariert sich automatisch, wenn eine Abweichung von +/- 1 Gramm von Null über- bzw. unterschritten wird. Wenn eine Katze die Waage (bzw. das Klo) betritt, hat sie drei Minuten Zeit, ihr Geschäft zu erledigen. Die Sensordaten driften über einen längeren Zeitraum, über die Zeit von drei Minuten aber nur minimal. Daraus ergibt sich eine Genauigkeit von ca. +/- 1,25 Gramm. Problematisch ist allerdings, dass die Katzen nicht absolut still sitzen. Um die besten Messwerte zu finden, werden aus bis zu etwa 1650 Einzelmessungen die zwanzig aufeinanderfolgenden Messwerte mit der geringsten Standardabweichungen bestimmt. Deren Mittelwert wird als Gewicht der Katze gespeichert. Bei diesem Verfahren ergeben sich zwischen zwei Messungen allerdings Abweichungen von bis zu 20 Gramm, die nicht erklärt werden können.
 +
 Der Nennkennwert der Wägezelle wird mit 2 mV/V angegeben. Bei einer Betriebsspannung von 5 Volt ist die Spannungsänderung über den gesamten Messbereich also gerade einmal 10 mV. Der HX711 verstärkt dieses Signal um den Faktor 128, also auf 1,28 Volt. Der Nennkennwert der Wägezelle wird mit 2 mV/V angegeben. Bei einer Betriebsspannung von 5 Volt ist die Spannungsänderung über den gesamten Messbereich also gerade einmal 10 mV. Der HX711 verstärkt dieses Signal um den Faktor 128, also auf 1,28 Volt.
  
 Dazu: http://www.loosweb.de/scale/doc/de/index.html Dazu: http://www.loosweb.de/scale/doc/de/index.html
- 
-Empirisch zeichnet sich eine Genauigkeit von +/- 2 Gramm ab, was für die Dokumentation des Gewichts meiner Katzen völlig ausreichend ist. 
 ===== Datenbankstruktur ===== ===== Datenbankstruktur =====
   * ID: automatisch vergebene, fortlaufende Nummer   * ID: automatisch vergebene, fortlaufende Nummer
   * scale_id: 0 für die Waage im Badezimmer, 1 für die im Flur   * scale_id: 0 für die Waage im Badezimmer, 1 für die im Flur
   * cat_id: 0 für Leonie, 1 für Leslie   * cat_id: 0 für Leonie, 1 für Leslie
-  * weight_cat: das Gewicht der Katze +  * cat_weight: das Gewicht der Katze 
-  * weight_sd: die Standardabweichung vom Mittelwert der einbezogenen Messwerte +  * cat_weight_sd: die Standardabweichung vom Mittelwert der einbezogenen Messwerte 
-  * weight_excrement: das Gewicht des erledigten Geschäfts+  * excretion_weight: das Gewicht der Ausscheidung 
 +  * excretion_weight_sd: die Standardabweichung vom Mittelwert der einbezogenen Messwerte
   * created_at: automatisch vergebener Zeitstempel   * created_at: automatisch vergebener Zeitstempel
  
Zeile 69: Zeile 70:
 Eine erste grafische Auswertung der Daten steht bereits: https://dashboard.frickelpiet.de/pages/catscale_overview.php Eine erste grafische Auswertung der Daten steht bereits: https://dashboard.frickelpiet.de/pages/catscale_overview.php
  
-Erläuterungen zur Übersicht: Die Messung des durchschnittlichen Gewichts ist sehr genau (+/- 1,25 Gramm, wenn eine mögliche die Summierung von Messfehlern außer Acht gelassen wird). Die Zählung der Häufigkeit der Toilettengänge hat zwei Fehlerquellen: Erstens werden Toilettengänge, die kürzer als 30 Sekunden und länger als 150 Sekunden dauern, nicht gezählt. Außerdem machen sowohl Leonie als auch Leslie nicht immer ein Geschäft, wenn sie auf dem Klo sind. Diese beiden Probleme wirken sich freilich auch auf die Abbildung der Zeiten der Toilettengänge aus. Die Messung der Summe des Gewichts der Ausscheidungen ist von dem ersten Problem betroffen.+Erläuterungen zur Übersicht: Die Messung des durchschnittlichen Gewichts ist sehr genau. Theoretisch ist eine Genauigkeit von +/- 1,25 Gramm bei jeder Messung möglich. Da die Katzen nicht einhundertprozentig ruhig sitzen, wenn sie ihr Geschäft machen, können praktisch Abweichungen von +/- 15 Gramm zwischen den Toilettengängen beobachtet werden, die nicht erklärt werden können (z.B. durch Futteraufnahme). Im Mittel sollten sich diese Messfehler gegenseitig auslöschen.  
 + 
 +Die Zählung der Häufigkeit der Toilettengänge hat zwei Fehlerquellen: Erstens werden Toilettengänge, die kürzer als 25 Sekunden und länger als 180 Sekunden dauern, nicht gezählt. Außerdem machen sowohl Leonie als auch Leslie nicht immer ein Geschäft, wenn sie auf dem Klo sind. Diese beiden Probleme wirken sich freilich auch auf die Abbildung der Zeiten der Toilettengänge aus. Die Messung der Summe des Gewichts der Ausscheidungen ist ebenfalls von dem ersten Problem betroffen. Darüber hinaus muss berücksichtigt werden, dass die Katzen beim Verlassen des Klos Streu "mitnehmen". Die Messungen unterschätzen also das Gewicht der Ausscheidungen. Davon abgesehen ist die Messung des Gewichts der Ausscheidungen sehr genau (+/- 1,25 Gramm / Messung). Messfehler summieren sich aber ggf.
 ===== Programmierung ===== ===== Programmierung =====
 Wie bei den meisten meiner Projekte dokumentiere ich in diesem Bereich den Fortschritt der Programmierung der Katzenwaage. Die Links führen zu signifikanten Programmversionen. Wie bei den meisten meiner Projekte dokumentiere ich in diesem Bereich den Fortschritt der Programmierung der Katzenwaage. Die Links führen zu signifikanten Programmversionen.
Zeile 77: Zeile 80:
 Programmversionen: Programmversionen:
   * [[iot:vollautomatische_katzenwaage:programmversion_0.1|Programmversion 0.1]]: Implementierung der Grundfunktionen   * [[iot:vollautomatische_katzenwaage:programmversion_0.1|Programmversion 0.1]]: Implementierung der Grundfunktionen
 +  * [[iot:vollautomatische_katzenwaage:programmversion_0.2|Programmversion 0.2]]: Allgemeine Verbesserungen
  
  
iot/vollautomatische_katzenwaage.txt · Zuletzt geändert: 02.06.2023 08:22 von Frickelpiet