HaniMandl, halbautomatischer Honig-Abfüll-Roboter

Einleitung

Bin gerade dabei einen halbautomatischen Honig-Abfüllbehälter zu bauen, angeregt durch ein paar Postings in der Facebook-Gruppe Imkerei und Technik. Eigenbau. Mit den Waagen kennen wir uns ja zu genüge aus. ;-) Dann bauen wir noch einen kleinen Servo dran, der den Quetschhahn bedient, wenn das Glas voll ist und fertig ist der Roboter, so die Theorie. Noch was vergessen? Ach ja, bisserl Elektronik und ein paar Zeilen Code, nicht der Rede wert.

Problem

Honig abfüllen ist manchmal langweilig. Wenn der Honig schon kandiert und zäh ist, sitzt man vor dem Loch des Quetschhahns wie die Katze vor dem Mauseloch und wartet ewig bis der letzte Tropfen für genau 350 g im Glas ist. Oder man träumt etwas und es sind 370 g drin. Die 20 g mehr gönne ich jedem, der ein Glas Honig von mir möchte, nur soll der oder die sich nicht ärgern wenn das Glas das erste mal aufgemacht wird und da gleich süßer Seim aussen am Glas runterläuft. Also mit dem Kaffeelöffel wieder etwas Honig raus, Glas auf die Waage und schauen, dass man nun nicht wieder unter 350 g ist. Genauer und vielleicht auch schneller ist da eine kleine, intelligente, never sleeping Maschine.

Als geübter Imker macht man das natürlich im Halbschlaf, manchmal aber unter Schlafmangel und wenn man ganz aufgeweckt ist, ist es dennoch als Maker cooler so was robotermäßig machen zu lassen als selbst zu machen.

Konzept und Anforderungen

Funktionieren soll das Ganze mit einer Waage, die kontinuierlich das Gewicht misst, während in das Honigglas auf der Waage Honig abgefüllt wird. Die Waage soll möglichst flach sein, damit das Honigglas (ich habe leider sehr hohe) plus Waage unter den Hahn des Honigbehälters passen.

Die Waage gibt das Gewicht an einen Arduino / Microcontroller weiter - irgend einer mit 5 V (damit man mit der gleichen Spannung den Servo betreiben kann) und steuert mit Soll- und Ist-Gewicht den Servo. Wenn noch viel im Glas fehlt soll der Quetschhahn weit geöffnet sein, wenn wenig fehlt, eine kleinere Öffnung haben und kurz befür das Zielgewicht erreicht ist, schließen.

Für die Kontrolle und zum Tarieren, Einstellen des Zielgewichts brauchen wir ein Display und zwei, drei Taster.

Mechanisch soll ein kleiner Modellbau-Servo die Arbeit machen und den Quetschhahn bedienen.

Waage

  • Was flaches
  • Vielleicht baue ich eine kleine, sehr flache Küchenwaage von Ikea oder Saturn / …um
  • Momentan habe ich noch eine Bosche H10 mit 10 kg max. hier liegen und werde diese für Tests nutzen. Produktiv ist die aber zu hoch.

Mechanik

  • Most challenging part würde ich sagen
  • Habe gestern einmal mit einer Waage meinen Quetschhahn “bedient”, der ist sehr fest eingestellt, was man aber mit einem Schraubenschlüssel schnell ändern kann, Jedenfalls zeigte die Waage beim Schließen und Öffnen (noch ohne Honig) etwas unter 1 kg an, d.h. ein Servo mit 5 kg “Kraft” sollte reichen.
  • Der Servo muss irgendwo befestigt werden. Eine Idee ist den Quetschhahn als Widerlager zu nutzen, dann wäre der Kübel frei bewegbar, oder die Unterläche auf dem der Behälter steht, gefällt mir aber nicht so gut.

Elektronik

  • 5 V Arduino, zu ersten Tests einen Uno, dann einen Pro Mini, allerdings die 5 V-Version, die ist kompakter und passt besser in ein kleines Gehäuse als der Uno
  • HX711 als Wägezellen-IC
  • 16x2 LCD-Display mit I2C-Anschluss oder was kleineres anderes als OLED
  • 3 bis 4 Taster
  • Gehäuse mit Klarsichtdeckel, alles abwaschbar
  • kein Batteriebetrieb, sondern 5 V vom Netzteil

Software

Arduino plus die üblichen Bibliotheken.

3 Likes

Teileliste

oder

Code

2 Likes

Software installieren
Alternative 1: Fertig kompilierte Firmware installieren

Die fertig kompilierte Firmware hani-mandl.bin kann mit dem Programm Espressif Flash Download Tools (ESP8266 & ESP32 & ESP32-S2) v3.8.5 for Windows PC aufgespielt werden. Eine Anleitung zum Flashen der Binär-Datei gibt es unter Wie bekomme ich am einfachsten die HaniMandl-Software aufs Board? oder binary-Datei mit Espressif-Tool flashen.

Sie verwendet die folgenden Parameter für das Board Heltec ESP32 Arduino > Wifi Kit 32:

Parameter der oben verlinkten Datei "hani-mandl.bin"
#define HARDWARE_LEVEL 2        // 1 = originales Layout mit Schalter auf Pin 19/22/21
                                // 2 = Layout für V2 mit Schalter auf Pin 23/19/22
#define SERVO_ERWEITERT         // definieren, falls die Hardware mit dem alten Programmcode mit Poti aufgebaut wurde oder der Servo zu wenig fährt
                                // Sonst bleibt der Servo in Stop-Position einige Grad offen! Nach dem Update erst prüfen!
#define ROTARY_SCALE 2          // in welchen Schritten springt unser Rotary Encoder. 
                                // Beispiele: KY-040 = 2, HW-040 = 1, für Poti-Betrieb auf 1 setzen
#define USE_ROTARY              // Rotary benutzen
#define USE_ROTARY_SW           // Taster des Rotary benutzen

Alternative 2: Firmware selber bauen

Arduino-IDE und Komponenten installieren

Bibliotheken installieren

Nun fehlen noch die Bibliotheken (“Libs”). Gehe zuerst unter Werkzeuge auf Bibliotheken verwalten

… und installiere dann diese drei:

U8g2

:warning: Wichtig
Bitte nach U8g2 suchen und nicht U8g2lib. Bei der Suche nach U8g2lib wird die LCDMenuLib2 angezeigt, die wir nicht benötigen, sondern nur die Bibliothek U8g2 !

HX711

ESP32Servo

:warning: Wichtig

Wenn du den aktuellen Code, GIT-Stand ab 8. Januar 2021 verwendest, bitte die ESP32Servo-Bibliothek aus dem Arduino-Bibliotheksverwalter installieren! Wir haben das für eine einfachere Inbetriebnahme geänder!

Wer noch älteren Code hat, bitte so wie nachfolgend beschrieben verfahren:

Ältere ESP32Servo-Bibliothek einbinden

Die Datei ESP32Servo-master.zip über diesen link bei github herunterladen und lokal abspeichern:

Dann in der Arduino-IDE diese ZIP-Datei über
Sketch > Bibliothek einbinden > ZIP-Bibliothek hinzufügen

installieren

wiring-Diagramme für den Heltec, Version 1 oder 2

Externe 5V-Stromquelle

USB als Stromquelle (nur bedingt zu empfehlen)

2 Likes

Verkabelung in the wild :-)

So schaut der erste Gehäuse-Prototyp aus. Habe ich schon mal gesagt, dass ich Stufenbohrer liebe!

3 Likes

Gehäuse

Man findet das Gehäuse als electronic box with clear top bei ebay oder diversen anderen Anbietern. Wichtig: Die Version mit durchsichtigem Deckel bestellen. Maße: 100 x 68 x 50 mm (l x b x h).

Linke 12 mm-Bohrung grüner Taster, daneben roter Taster, 7 mm Bohrung für Rotary, darunter Platine des Rotarys zur Größenabschätzung, genauso wie Display hinter dem Deckel um benötigten Raum zu beurteilen.

Linke Seite für das Kabel der Stromversorgung:

2021-02-07 14_09_35-enclosure_v0.2.skp - SketchUp Make 2017

Rechte Seite der Box, linke Bohrung Waage, rechte Servo:

2021-02-07 14_13_44-enclosure_v0.2.skp - SketchUp Make 2017

Längsseite mit 3-fach-Schalter:

Einfache Servohalterung

  • Rohrschelle
  • Maschinenschraube, Sechskant, M8 x 50
  • 1x Muttern M8 dazu
  • 2x 8er Beilagscheiben dazu

Seitenansicht


Sicht von oben


Maximaler Öffnungswinkel

Wenn man für die M8er Schraube das rechte Loch verwendet kann man den Öffungswinkel noch vergrößern:

Holz für die Befestigung

Zum Beispiel

[todo cg, Sketchup-Datei zu Zeichnung oben]

Alu-Leiste mit Bohrungen

Hier sind es links 4er Löcher im Abstand der Löcher auf dem Servoarm und rechts 2,5er-Löcher für die Befestigung der Spurstange.

Schrauben für die Befestigung am Servoarm:

  • 2x Schrauben Linsenkopf, M4 x 10
  • 2x Beilagscheiben M4
  • 2x selbstsichernde Muttern M4 (auf den Fotos sind noch andere drauf)

Schrauben für die Befestigung der Spurstange

  • 2x Schrauben Zylinderkopf, M2,5 x16 (auf den Fotos ist am Quetschhahn noch eine längere (20) zu sehen)
  • 2x selbstsichernde Muttern M2,5

Spurstange ist die

1 Like

A post was merged into an existing topic: HaniMandl im (Bewegt-)Bild

Ersteinrichtung des Servos

  1. Falls noch nicht geschehen: Servohalter mit Servo am Abfülleimer befestigen. Dabei Servoarm / Spurstange noch nicht mit dem Servo verbinden bzw. falls das schon eingerichtet ist, den Servoarm wieder von Servo abnehmen!
  2. Servokabel mit Platine verbinden, dann HaniMandl einschalten, der Servo fährt jetzt automatisch in die Nullstellung.
  3. Wo es möglich ist Feststellschraube (“Anschlag”) des Quetschhahns komplett rausschrauben! Nun den Servoarm mit der Spurstang und dem Quetschhahn verbinden und zwar so, dass dieser in der Nullstellung oder darunter ist, d.h. der Hahn geschlossen ist.
    Hinweis: Der Servoarm rastet nur in bestimten Winkeln ein. Falls der Servoarm nur unter der Nullstellung einrastet muss die Feststellschraube des Quetschhahn komplett rausgeschraubt werden! Sie dient als Anschlag und würde sonst den Servo blockieren.
  4. Jetzt kann mit den Einstellmöglichkeiten der Spurstange der Quetschhahn exakt in Nullstellung ausgerichtet werden.
  5. Nun über den 3-fach-Schalter in den Einstellungs-Modus wechseln, dort den Menüpunkt “Servowinkel” auswählen und hier “Livesetup an” aktivieren. Damit fährt der Servo während des Setups in die ausgewählten Positionen, d.h. es ist hier sehr zu empfehlen, dass im Kübel kein Honig ist! :-)
  6. Wer keine Spurstange verwendet, sondern ein Teil mit fester Länge einsetzt kann jetzt Minimum ausgewählt werden. Das ist die Nullstellung des Servos. Der Wert kann nur erhöht werden, nicht reduziert werden. Daher sollte der Servo vor der Einstellung genau in Null-Position oder etwas darunter sein! Falls der Quetschhahn nicht genau in der Nullstellung ist, sondern darunter, den Wert bei Minimum genau so weit erhöhren bis der Quetschhahn in Nullstellung ist.
  7. Nun den maximalen Wert, d.h. den maximalen Öffnungswinkel einstellen. Dabei sollte der Servo so weit wie möglich geöffnet werden ohne dass er irgendwo anstößt oder blockiert wird.
  8. Der Feindosierungswert kann später angepasst werden und muss ggf. auch für sehr flüssigen Honig (warm, hoher Wassergehalt) anders eingestellt werden als für kristallisierten, zähen Honig.

Achtung: Der Servo darf weder beim Maximal-Wert noch beim Minimal-Wert durch einen mechanischen Widerstand blockiert werden, so dass er nie die jeweils eingestellte Position erreicht. Ansonsten besteht die Gefahr, dass bei Dauerbetrieb der Servo “durchbrennt”.