neuerdings haben wir ein paar Hühner und ich würde gerne eine automatische Hühnerklappe montieren.
Ich weis das es da schon einige Bausätze und auch fertige Geräte gibt aber ich möchte es eigentlich etwas moderner verwenden.
Option auf Solar - damit es vielleicht autark betrieben werden könnte,
damit auch größere, schwerere Klappen verwendet werden können schlage ich einen kleinen Stepper (zB Nema17) Motor vor,
ein kleines Modul (zB Arduino, ESP32 oä) für die Steuerung,
Eine Anzeige für den aktuellen Status,
ein kleines GPS Modul damit automatisch die (Sommer & Winter)Zeit sich einstellt und auch die Jahreszeiten berücksichtig werden.
Außer das Solarequipment sollten die Bauteile günstig zu bekommen sein.
Ein schönes Beispiel habe ich hier gefunden nur ist es leider (mir) zu teuer:
Ist es möglich mit Eurem Know How so eine Klappensteuerung umzusetzten?
Meine Tests mit ESP32 und Solar waren bisher ernüchternd, dieses Setup war weit mehr „aus“ als „an“ trotz 2 Solarzellen, der ESP32 verbraucht halt schon durch Wlan und so relativ viel Strom
Braucht es bis zum Hühnerstall ein WLAN? Bei mir ist das leider zu weit vom Hausnetz entfernt.
Leider kenne ich mich mit Solar nicht so aus aber ich sehe das zB 600W Panels beim Ali schon für kleines Geld zu bekommen sind.
Vielleicht wäre Stat der 18650 eine Autobatterie eine Lösung.
Ich halte deinen Ansatz nicht für falsch. Nur so 2-3 Gedanken die ich hätte wenn ich das konstruieren müsste.
Antrieb
Vermutlich würde ich eher in den sauren Apfel eines Linearmotors beissen anstatt etwas mit Seilzug/Stepper/Motor zu machen. Sind dann vermutlich 75% der Kosten des ganzen - Aber ich hätte eher sorgen das sich das Seil und Rollen verheddern, da Laub rein fällt, kleine Äste, die Hühner das Seil durchpicken oder Mäuse das durchknabbern. Hätte da kein Bock auf die Maintenance Das ist das Thema mit der Biologischen komponente.
Ich hab so ein Thema in einem Bewässerungssystem. War alles total super gedacht - aber ich hab leider wegen durchsichtiger Silikonschläuche durchaus Probleme mit Algenbildung. Also hab ich mittlerweile Code in der Pumpensteuerung die die mindestens 2 Sekunden alle 2 Stunden anmacht damit das Wasser nicht zu lange in den Schläuchen steht. Normalerweise Steuerung über Bodenfeuchte. Und meine Vorratsbehälter neigen auch zu Algenbildung und das wird dann angesaugt und bleibt in Engstellen im Schlauch stecken. Also die Vorratsbehälter dunkel abdecken. So „Blutige Schnittstellen“ sind manchmal ziemlich unkalkulierbar.
Bei Hühnern die ja wirklich im Gehege über die Zeit alles kurz und klein picken wäre ich da vorsichtig.
Statusanbindung
Es scheint als hast du kein Wifi - Dann vielleicht LoRa Wan ? Gibts ja auch auf so TTGO Controllern gleich mit drauf. Dann kannst du jede Stunde mal Status absetzen - Also klappe auf/zu - Helligkeit - Akkustand.
Stromversorgung
Das mit Solarmodul und Akku sollte nicht so wild sein. Zur Not kann man ja immer das Solarmodul durch was größeres Tauschen wenn der Tagesertrag nicht reicht. Ich würde vermutlich drauf achten das der Akku Sonne abbekommt und Eingepackt ist - So das der im Winter nicht ständig bei -5° rumliegt. Aber das muss man mal experimentell ausprobieren. Vielleicht ist bei so Outdoor Geschichten bei denen es nicht so auf Platz und Gewicht ankommt eine Alte Motorrad Blei/Säure Akku auch ganz gut. Die schmerzt der Frost nicht so. (Vermutlich völlig overengineered und zu viele Sorgen).
Uhrzeit
Das mit dem GPS muss man sich gut überlegen. Das braucht relativ viel Strom. Und wenn du es nur ab und zu anmachst weil du mal wieder Uhrzeit synchronisieren willst dann braucht das halt minimum 45 bzw 90 Sekunden um den ersten Lock zu kriegen weil du keine GPS Assist Daten hast.
Ich würde da vermutlich einfach ein biliges Real Time Clock (RTC) Modul via i2c nehmen - Und wenn das dingen mal wlan bekommt kann es das via ntp syncen und da rein schreiben. Mehr als 2-3 Minuten im Monat wird das nicht verlieren. Sprich - wenn du da keinen WiFi Empfang hast konditionierst du deinen Controller auf ein HotSpot Wifi deines Handys und alle halbe Jahr machst du dem dingen mal nen Hotspot an. Oder sogar über die USB Serielle eben mal die Uhrzeit reinprügeln. So genau kommts ja nicht drauf an.
Dazu würde ich eher einen Helligkeitssensor nehmen - d.h. morgens auf wenn es Hell wird, und Zu wenn es wieder Dunkel wird. Hühner orientieren sich ja nicht an Uhrzeiten sondern an Helligkeit.
Konditionierung
Ich würde in jedem fall einen kleinen Piepser vorsehen. Der piepst 1 2 und 3 mal jeweils 1-2-3 Minuten bevor die klappe zu geht. Damit kann man die Hühner drauf konditionieren das die Klappe gleich zu geht. Wobei die typischerweise dann ja eh schon früher drinnen sind - So kenne ich das.
Und dann lässt man die einmal kurz anrucken so kurz vor knapp. Und dann 30 sekunden Später geht das zu. Muss man ausprobieren wie gut das so geht. D.h. wieviele lieber draussen übernachten.
Overengineerte Sensorik
Man kann natürlich noch was mit „Presence Detection“ machen - Also Infrarot oder Radar Bewegunssensorik um zu gucken ob sich draussen noch was bewegt (hat) in den letzten 5 Minuten. Aber ich glaube die sind so konditioniert das das kein Thema sein sollte.
Du überlebst das nicht wenn das Wifi permanent an ist.
Dein ESP32 bei 240MHz ist bei was? 150mA bei 5V ? Und dann kommt das Wifi oben drauf.
Beim scannen geht der ESP32 mal gerne auf 700mA kurzfristig - Sagen wir der ist fast nur auf receive und sendet kaum dann sinds nochmal 50mA ?
Dann sind das 200mA/5V - sind 1W - sind 24Wh/Tag … Die musst du im Akku haben (Oder die hälfte) und das muss über die Solarzellen auch wieder rein kommen im worst case.
Dein 16850 hat 3000mAh/3.3V ? Sind so 10Wh … Damit kommst du im Sommer vermutlich durch die Nacht. Aber nicht im Winter.
D.h. für Akku betriebene dinge würde ich sagen ist ESP-Home + Wifi ungeeignet oder man muss den Akku halt auf mind 30Wh nutzbare Kapazität dimensionieren, und die Solarzellen müssen vermutlich bei 30Wp liegen damit du auch im Streulicht über 6 Stunden den Akku wieder voll bekommst.
Das Solarexperiment war gar nicht wirklich für die Klappe, da wollte ich eher das Vogelhäuschen mit einer ESP32Cam ausstatten, und klar mit größerem Panel, etc. würde es funktionieren, aber da hab ich dann abgebrochen bei den tests.
Konditionierung ist definitiv Notwendig, da muss man am Anfang Abends immer hinter her gehen und alle rein treiben, die nicht selbst rein gegangen sind, das geht aber dann normalerweise relativ schnell, dass die sich da dran gewöhnen.
Klappt bei uns jetzt seit über einem Jahr Problemlos, hatten bisher ein einziges mal einen Hahn der draußen war, sonst sind alle brav vor dem schließen im Stall.
Akku Betrieb + Wifi + Aufwendige Peripherie sind immer schwierig. Die Solarmodule werden dann groß und die Akkus auch.
Deshalb eher dann auf sowas wie Zigbee, Bluetooth Low Energy, LoRa, Matter ausweichen und die Controller schön viel in den Deep Sleep schicken. Geht halt nicht mit sowas wie ESP-Home.
Und dann muss man auch mal zum Lötkolben greifen und die LEDs von den Controllern nehmen. Die haben gerne mal 3-5mA - Was dann das 1000 fache des Controller Deep Sleeps von 5µA ist. Und die LED ist IMMER an wenn das Board Strom hat.
Und auch mal Schaltbild nach Spannungsteilern absuchen die man vielleicht gar nicht braucht. Da stecken dann schnell mal 2x1kOhm für irgendeine Spannungshalbierung drauf. Ist dann nochmal schnell 1-2mA die man da alleine durch Bauteile entfernen sparen kann.
Und wenn auch externe Peripherie über Pin-Powered abfrühstücken - das die nicht dauerhaft läuft sondern nur eingeschaltet wird wenn man es braucht. Oder wenn es nicht direkt geht über Pin-Powered Mosfet oder so.
Und auch Boards nehmen die keinen FTDI232 oder CH340 haben sondern eine Software USB/Serielle - ESP32-C6 oder IIRC Atmega32U4 - die braucht halt auch keinen Strom wenn der im Deep Sleep ist.
ich glaube das ein Getriebemotor nicht so gut wie ein Stepper ist,
den Stepper kann man kraftvoll geregelt betreiben und es braucht (keinen anfälligen) Endschalter damit die Steuerung weis an welcher Endposition der Öffnungswinkel der Klappe gerade ist. So teuer sind kleine Nema Motoren und Driver eigentlich nicht, ich hab sie beim Ali schon für unter 10€ gesehen.
Die Idee das die Klappe mit Scharnieren öffnet statt einen Schieber finde ich gut, das ganze von Außen montiert sollte (hoffentlich) mit einem Seil einfach umzusetzten sein.
Der Stepper braucht mehr Strom, und du musst einen Stepper Controller verbauen. Bei dem Linearmotor reicht eine einfache MOSFET H Bridge.
Und GPS hat auch keine Sommer/Winterzeit - GPS ist was ganz Krudes - Im Modul wird das konvertiert und die dir dann UTC/UT0 raus - typischerweise als NMEA messages - was so halbwegs standardisiert sind. Die UBlox haben auch ein proprietäres Binary Format was du IIRC brauchst wenn du mehr als 5 oder 6 Hz update Frequency machst weil dann NMEA mit 4800 bit/s nicht mehr geht.
The data received from GPS are based on the instant „0“ just mentioned: in substance, the system transmits the number of weeks spent by January 6th, 1980 and the number of seconds since the beginning of the current week. The weeks are transmitted with a 10-bit encryption, which means that the number of weeks spent is reset every 1024 weeks (about 19.6 years) and the last reset (and for now the only one) has been on 21st August 1999. At this moment, therefore, the GPS system transmits the following values:
Für Winter/Sommerzeit muss dein Controller die Uhrzeit haben und die Info haben wann genau zwischen DST/NODST umgeschaltet wird.
Im esp-idf SDK ist das mit drin - Hier das SNTP example - Es wird eine TimeZone gesetzt - Das ist jetzt für NTP (Network Time Protocol) - Funktioniert aber genauso mit GPS oder RTC.
Ein gekapselter Linearantrieb ist gut aber sehr klobig und teuer, da wäre mir ein kleiner Motor lieber.
GPS sollte eigentlich das Datum und die Uhrzeit zum Abgleich senden, ich brauche halt nur diese Information und halt kein Kartenmaterial.
Das Web ist wie gesagt nicht an der Stelle empfangbar und DCF77 zu aufwendig.
Dadurch das das DCF Signal sehr oft gestört ist wird das Echtzeitmodul DS3231 ein mal am Tag synchronisiert, das reicht auf jedenfall für die Genauigkeit aus.
Für Datum/Uhrzeit im GPS brauchst du auch einen GPS Fix - den kriegst du im normalfall nach 45-90 Sekunden. Je nachdem wieviel informationen dein GPS Receiver hat. Deshalb geht das im Handy so das in dem moment wo das GPS angeschaltet wird der einen kleinen Binary Blob aus dem Netz holt über mobilfunk, das in den GPS Empfänger füttert und der dann einen Fix in 1-3 Sekunden bekommt.
Sobald du Mobile Daten/WIFI aus machst und DANN das GPS an dauert es 45-90 Sekunden. Das ist der Fall in deiner Anwendung weil du keine möglichkeit hast an die Assisted GPS Daten zu kommen.
DCF77 selber ist auch problematisch weil du mind. 1 Min brauchst um ein vollständiges Zeittelegram zu empfangen. Die Kodieren ja die 60 Bit mit Datum/Uhrzeit/Sommer/Winterzeit auf die Sekundenimpulse. D.h. statistisch brauchst du 90 Sekunden um einmal das vollständig zu empfangen.
Ich hab hier noch irgendwo einen Receiver rumfliegen den ich vor Jahren mal in einer Seriellen Maus eingebaut hatte.
Kostet halt Strom so lange „wach“ zu bleiben und nicht zu schlafen mit dem Microcontroller. Und je nach Microcontroller machst du das jedesmal weil die interne RTC des Microcontrollers den Deep Sleep nicht übersteht, bzw nicht weiterläuft oder total wegdrifted. Muss man vorher mal Datasheets wälzen. Grundsätzlich sind die ESP32 nicht so die helden was Power-Save angeht. Im Deep Sleep geht da so gut wie alles aus.
Hier hat Espressif alle dinge zur internal clock - ohne externe Beschaltung nur ein schätzeisen - Mit externem 32Khz Crystal vielleicht benutzbar ohne das man jedesmal den DCF77/GPS anwerfen muss.
Also das geplante ESP32 Board auf einen 32Khz Crystal überprüfen - Die Standard ESP32-WROOM-* scheinen das nicht drauf zu haben - müsste man dann halt nachrüsten. Schaltung ist ja im Datasheet.
Ich würde das alles lassen und so einen RTC für 3€ dran kleben - Muss man nochmal genau gucken welcher da so den besten software support hat.
Einmal Uhrzeit setzen über die console und gut. Der verliert vielleicht hier und da mal ne minute über das Jahr aber völlig egal. Der braucht keinen Strom wenn man im Deep Sleep ist. Aufwachen - i2c Zeit holen - im esp32 setzen und gucken wie das gerade so mit Sonnenauf/Untergang ist.
Wichtig ist das man VCC nicht an VCC sondern an einen GPIO Pin anschliesst sonst ist der die ganze Zeit mit Strom versorgt. Das sind ja die Pull-Ups der i2c Leitungen, und der Chip selber.
Also aus dem Deep Sleep kommen.
GPIO hochziehen
20ms warten (oder so ähnlich - Datasheet gucken)
Über i2c Uhrzeit holen.
GPIO ausmachen.
Klappe entsprechend des sollzustandes fahren
Einschlafen für 5 Min - kann auch länger oder sogar berechnen. Lohnt den Aufwand aber nicht.
Dann hast du ein Duty Cycle von vielleicht 100ms/5Min - 100ms mit 150mA und 5Min mit 0.5µA über den Tag und 2 mal am Tag halt die 2 Minuten für das Klappe fahren, dazu die Energie die der Motor zum Fahren braucht.
Dann noch das Gemüse vom Controller runterlöten - LEDs und Co - die machen sonst den signifikanten Stromverbrauch aus.
Dann kommst du ganz locker auch ne Woche mit einem 16850 aus.
Wenn du noch Buttons für Hoch/Runter haben willst müsste man die so bauen das die einen interrupt auslösen so das der aus dem deep sleep kommt. Aber IIRC geht das rein durch Software auf den GPIOs.
Das wäre so der Stromspar weg - der ist immer aufwendig. Dicker Bleiakku und tüchtig Solar wäre die alternative - Brechstange geht immer Dann ists auch egal - Wifi Antenne oben drauf …
Im Link von mir oben beschreibt Wolle wie man mit einem DCF Modul auch den die RTC (DS3231) stellen kann. Das Projekt muss ja nicht sekundengenau funktionieren und so könnte man das DCF Modul nur einmal im Monat anschmeißen lassen um die RTC bzw den Arduino (oder andere µC’s) zu stellen.
Auch wäre es gut falls es mal einen Stromausfall gibt und die Knopfzelle der RTC mal wieder alle ist, dann wird die Zeit und das Datum gleich wieder rebootet und richtig im Arduino gesetzt.
Für die Klappensteuerung würde ich dann pro Monat Öffnungs- und Schließzeiten fest mit einer Routine abfragen lassen um so unabhängig von einer Lichtsteuerung zu werden wenn mal wieder schlechtes Wetter am Tage kommt und es dunkel wird.
Ich habe hier noch einen Uno Testboard rausgekramt und hatte noch ein DCF Modul was ich früher nie zum laufen gebracht hatte. Dank Wolles Anleitung habe ich gerade das korrekte Datum und die Uhrzeit auf dem Serial-Monitor bekommen, das macht schonmal Mut.
Die Tage schaue ich mal nach einem Display und ob ich die Zeitdaten auch hier darstellen kann.
Bye-the-way… ich bin blutiger Anfänger und was das programmieren angeht, ich bekomme so gerade die Bibliotheken eingebunden.
Bzgl. Linear Motor oder Seilzug würde ich aus Erfahrung (von einem Bekannten) auf Seilzug gehen. Er hatte es auch mit einem Linear Motor umgesetzt. Das Problem an der Sache war das ein Huhn noch schnell rein wollte als die Klappe zu gefahren ist, den Rest kann man sich denken.
Du musst ja kein Linearantrieb mit 500Nm nehmen - Man will keine Hühner halbieren. Man sollte vorher schon eine kleine kalkulation über die Mechanik und notwendige Kräfte anstellen.
Und wenn du entsprechend das mit einer Wippe/Kontergewicht/Hebel machst brauchst du vielleicht 5Nm.
Ich gehe ja auch nicht mit einer 10kV Versorgung an einen Microcontroller mit 3.3V und wundere mich warum der Verdampft.
Je mehr Mechanik dort verwendet wird desto anfälliger ist die Klappe bei Verschmutzung also fallen zusätzliche Gegengewichte schonmal aus. Auch der Linearantrieb ist (mir) zu klobig.
Ein kleiner Nema17 schafft das denke ich schon und notfalls hänge ich die Scharnierklappe an einen Flaschenzug.
Der Schrittmotor zieht bestimmt auch mehr Strom aber eigentlich wird er ja nur 2x pro Tag ein paar Sekunden benötigt, das hält sich also auch in Grenzen.
Der kleine Nema hat jetzt unter 5€ gekostet, der kleine Treiber 1,50€. Bei einem Getriebemotor komm ich auf etwa die gleichen Kosten aber der Schrittmotor erspart mir mir die Mechanik der Endschalter dadurch das ich die Schritte zählen lassen kann.
Die Klappe soll etwa eine halbe Stunde vor Sonnenuntergang zu gehen, aus Erfahrung kann ich sagen das die Hühner um diese Jahreszeit schon gegen 20 Uhr alle schon im Stall chillen. In den Wintertagen sogar schon um 16 Uhr.
Was sagt eigentlich die erfahrung ob das reicht? Also die nummer mit der Klappe macht man ja damit dir nicht ein Marder mal den ganzen bestand über Nacht keult. Ich hätte jetzt vermutet das der sowas auch aufgedrückt bekommt?
kommt natürlich drauf an, in welche Richtung die Klappe aufgeht, wenn es nach außen ist wie in dem Ursprünglichen Beispiel oben, dann wäre es ja kein drücken sondern ziehen.
Meine persönliche Erfahrung ist natürlich nur begrenzt hilfreich, da ich eine Schiebeklappe und keine „aufklappende“ Tür verbaut habe, aber meine Schiebeklappe ist eine dünne Platte aus plastik und könnte leicht aufgehebelt werden, seit dem Einbau vor gut 1 1/2 Jahren sind keine Hühner mehr abhanden gekommen, davor sind uns in kurzer Zeit 3 Hühner geköpft worden.
Ich denke auch, dass ein Seilzug mit Stepper für so eine klappe die Pragmatische Lösung ist, die vor allem im Bezug auf Dreck, Witterung, etc. vielleicht sogar deutlich langlebiger sein könnte als ein Linearantrieb. Gerade im Sommer wird halt auch viel Staub aufgescharrt, die sich natürlich überall rein setzen kann