Der Servo-Prototyp hat sein Soll erfüllt, aber für Dauerbetrieb im Gehege taugt eine kleine Plastikklappe nicht. Was es brauchte, war ein Automat, der zuverlässig eine Portion abgibt, auch bei Feuchtigkeit, Staub und hundert Fütterungen am Tag.
Die Hardware
Der neue Automat basiert auf einem Gerät von Weimer Engineering: ein Vorratsbehälter, darunter eine Förderschnecke, angetrieben von einem Schrittmotor mit 2 Ampere Phasenstrom an einem Mikroschritt-Treiber. Gesteuert wird das Ganze von einem ESP32, also demselben Chip, mit dem alles angefangen hat. Ein Dankeschön an Thomas Weimer, der beim Automaten und beim 3D-Druck geholfen hat.
Eine Fütterung ist eine kleine Choreografie: Die Schnecke dreht erst ein Zehntel Umdrehung zurück, damit nichts klemmt, dann genau eine halbe Umdrehung vor, mit zehn Umdrehungen pro Minute. Das ergibt eine Portion, die die sechs Hennen in gut einer Minute weggepickt haben. Die Werte lassen sich später im Admin der Webseite nachstellen.
Eigene Firmware
Die Original-Software des Geräts öffnet ein eigenes WLAN, an dem man sich anmelden muss. Für ein Gerät im Hühnerhaus, das von einem Server im Internet gesteuert wird, taugt das nicht. Also habe ich die Firmware neu geschrieben, mit der gleichen Motorsteuerung, aber:
- Der ESP32 bucht sich ins Heim-WLAN ein. Das eigene WLAN öffnet er nur noch als Notfall, wenn 20 Sekunden lang kein bekanntes Netz da ist.
- Die Verbindung zur Webseite läuft wie beim Prototyp verschlüsselt über MQTT, ausgehend, ohne offenen Port.
- Updates kommen per WLAN. Das war nötig, weil der USB-Anschluss des Geräts tagelang vom Rechner verschwand und von selbst wiederkam.
- Eine Rettungsfunktion, falls die Schnecke einmal klemmt.
Stolpersteine
- Die DIP-Schalter am Treiber standen auf 8 Mikroschritten, die alte Firmware rechnete mit 16. Der Motor hätte doppelt so weit und doppelt so schnell gedreht wie eingestellt. Wer an den Schaltern dreht, muss die Firmware mitziehen.
- Das WLAN des Boards ist schwach. An manchen Tagen reicht es kaum zwei Meter bis zum Router, an anderen problemlos. Im Hühnerhaus hängt deshalb ein eigener Access Point direkt daneben.
- Eine Fütterung dauert rund sechs Sekunden. Der Server wartete anfangs nur acht und meldete gelegentlich Fehler, obwohl das Korn längst gefallen war. Jetzt wartet er 20.
- Der alte Prototyp darf nicht gleichzeitig online sein. Beide hören auf dieselben Nachrichten, und dann füttern beide.
Der Automat ist noch nicht die Endfassung. Ich bin beim Feinjustieren von Portion, Geschwindigkeit und Vorlauf, und bald kommt der finale Automat, der aus all dem gelernt hat.