Kleintierklappe Rev. 2

Hintergrund/Einleitung

Die Kleintierklappe 1.1 (früher „Hühnerklappe“) wurde von mir zur Arbeitserleichterung entwickelt. Die erste Version hieß noch Hühnerklappe aber da sich dieses Gerät nicht nur für Hühner sondern auch für Enten usw. eignet habe ich es in Kleintierklappe (KTK) umbenannt. Dieses Gerät öffnet eine Klappe bei helligkeit und schließt diese wieder bei dunkelheit. Da Hühner bei Dunkelheit blind sind (schlimmer als bei Menschen) begeben sie sich bei einbruch der Dämmerung an einen sicheren Platz. Bei uns ist das der Stall, in dem auch die Fütterung statt findet. Dort begeben sie sich auf ihre Stangen um zu schlafen. In der Nacht bzw. am frühen Morgen beginnen die Iltise und Füchse mit der jagd. Um die Hühner und die Eier nun vor der Bedrohung zu schützen muss der Stall abends geschlossen werden. Erst morgens wenn es hell ist, darf der Stall wieder geöffnet werden und die Hühner können frei laufen. Bei Tageslicht jagen Füchse und Iltisse meist nicht und selbst wenn, sollte eine Schar Hühner die Bedrohnung früh genug erkennen und sich zu verteidigen wissen. In einem guten Stall solle der Hahn die Beschützerfunktion durchaus erfüllen können.

Damit man nun nicht selber jeden Abend und Morgen extra raus zum Stall muss um die Hühner zu „befreien“ habe ich die Kleintierklappe entwickelt die diese Aufgabe für mich übernimmt.

Vorab: Dies wird nur eine Beschreibung des Projektes und das Vorgehen wird beschrieben! Ebenfalls wird es ein Video zur Demonstration geben. Jedoch gibt es keine Schaltpläne, Platinenlayouts oder das Programm für den Controller! Die Gründe dafür sind einfach: Es gibt noch ein paar Fehler in der Schaltung und ich möchte das Gerät später vielleicht verkaufen.

Ziele und Wünsche

Folgende Ziele habe ich mir gesetzt:

  • zuverlässig
  • bei dunkelheit schließen und bei helligkeit öffnen
  • Zeitgesteuertes öffnen
  • Werte sollen frei einstellbar sein
  • Betrieb soll über Batterie möglich sein.
  • Per Funk soll eine zentrale Steuereinheit über Zustand und Status benachrichtigt werden.
  • Automatische Fehlererkennung und ggf. korrektur
  • geringer Stromverbrauch
  • wenig externe Bauteile die beim Aufbau des Gerätes berücksichtigt werden müssen.

Die Farben zeigen, ob das jeweilige Ziel erreicht wurden. Grün steht dabei für erreicht, Rot für nicht erreicht und gelb für teilweise erreicht.

Die Zeitsteuerung und die zentrale Steuereinheit gehören teilweise zusammen. Eine Zeitsteuerung soll mit der zentralen Steuereinheit möglich gemacht werden. Da die zentrale Steuereinheit noch nicht existiert ist diese auch in dem Controller noch nicht implementiert und somit ist dieses Ziel rot gekennzeichnet. Ein Platz mit den passenden Pins ist jedoch vorgesehen und wartet auf die Inbetriebnahme 😉

Ebenfalls gehören geringer Stromverbrauch und der Batteriebetrieb zusammen. In der tat, ist der Stromverbrauch nicht sehr hoch aber leider zu hoch, um das Gerät dauerhaft mit Batterien zu betreiben. Ein oder zwei Tage, kann das Gerät im Notfall mit 4x AA oder 1x 9V betrieben werden. Aber leider ist der Standbyverbrauch zu hoch (26mA).

Mein Wunsch ist es, dass ich ein ganzes System aufbaue, dass miteinander arbeitet. Dazu kommen z.B. ein externes Sensorsystem die Kleintierklappe und eine Futtermaschine. Dazu aber später mehr.

Die Kleintierklappe (KTK)

Der externe Aufbau

Auf der Abbildung 1 sieht man die aktuelle Kleintierklappe. Das Gehäuse ist nur für innen gedacht und wirkt sehr billig (ist es auch). Da ich die KTK auch nur innen betreiben werde, brauch ich kein hochwertiges Gehäuse das Wasserdicht ist.

Abbildung 1 - Außenansicht

Abbildung 1 – Außenansicht

Auf der linken Seite dieser Einheit befindet sich als erstes eine Klinkenbuchse für ein Netzteil. Die Position dieser Buchse ist etwas doof gewählt da man nun den sich darunter befinden Schalter schlechter erreicht. Aber dies lässt sich mit einem neuen Gehäuse leicht ändern. Der Schalter hat mehere Funktionen die ich später ansprechen werde. Grundsätzlich fungiert er jedoch als Modusumschalter. Es gibt dabei die Modi „Immer Auf“, „Immer Zu“ und „Automatisch“. Unter dem Schaler befindet sich eine Cinchbuche (weiß) für den Lichtsensor. Dieser wird außen angebracht um die Lichtverhältnisse gut erfassen zu können.

Auf der oberen Seite befinden sich ebenfalls zwei Cinchbuchsen (rot und gelb) die für die Endschalter gedacht sind. Zunächst wollte ich keine Endschalter verwenden und alles intern über Schlater regeln die aufgrund der Belastung am Faden ausgelöst werden. Jedoch war mir dies zu unsicher da mit der Methode NIE wirklich eine geschlossene oder geöffnete Klappe festgestellt werden kann! Es musste also ein Kompromiss zwischen „zuverlässigkeit“ und „wenige externe Bauteile“ her. Ich habe mich dann für die zuverlässigkeit entschieden 😉

In der Frontblede sieht man eine grüne und eine rote LED. Die Grüne blinkt im Betrieb und signalisiert somit volle Funktionalität. Die Rote blinkt im falle eines Fehlers. Dabei wird über eine Art Morsecode der Fehlercode ausgegeben. Zum Beispiel bedeutet zweimal kurzes Blinken, dass ein Fehler beim öffnen der Klappe aufgetreten ist.

Interne Aufbau

In Abbildung 2 sieht man das innenleben der KTK.

Abbildung 2 - Innenansicht

Abbildung 2 – Innenansicht

Einer meiner größten Fehler dieser Platinenversion sind die fehlenden Bohrlöcher zur befestigung. Dazu kommen noch die falschen Stecker für die LEDs und ein fehlender Widerstand den ich nachträglich eingelötet habe. Im unteren Bereich sieht man den Motor. Im oberen Teil ist die Platine zur Steuerung zur sehen.

Der Motor

Es handelt sich um einen 12V Getriebemotor mit einer Übersetzung von 600:1. Mit der Hand ist das Getriebe nicht drehbar. So kann die Klappe hochgezogen werden und nach abschaltung des Motors bleibt die Klappe an der Position ohne dass Strom verbraucht wird. Durch die Übersetzung ist der Motor jedoch sehr langsam (ca. 24 Upm) kann nun aber wesentlich mehr kraft aufwenden. In einem Test konnte der Motor knapp 1 kg heben. Für den Betrieb mit dem Gehäuse habe ich jedoch max. 500 g vorgesehen. Der gesamte Stromverbrauch im Betrieb liegt bei <100mA.

Die Platine

Die Platine ist nicht sonderlich spektakulär. Sie besitzt einen Controller (PIC 18F25K20) in SO-28 Bauform. dazu kommen einige Stecker für die Schalter, LEDs, usw. sowie zwei Potis für die Einstellung der Schwellwerte zum öffnen bzw. schließen der Klappe. Ebenfalls ist ein 2A Motortreiber (TLE 2402B) verbaut. Dieser ist sehr kompackt, hat alle Dioden intern und kann außreichend Strom schalten. Jedoch verbraucht der Motortreiber sehr viel Strom was ich nicht bedacht habe und was somit auch meine Idee vom Akku zu nichte gemacht hat. Knapp 30mA gehen im Standby einfach so für den nicht verwendeten Motortreiber drauf und ich kann es leider nicht beeinflussen. Das hat mich sehr geärgert! In der nächsten Version werde ich dieses Problem jedoch beheben. Ansonsten gibt es nichts interessantes mehr. Ein paar Abblockkondensatoren sowie einen LM 2937 Spannungsregler der mir 3,3 V liefert, wenig Spannungsdrop und einen geringen Ruhestrom hat. So vermeide ich, dass zu viel Strom beim umwandeln im „Mülleimer“ landet.

Das Programm / Die Arbeitsweise

Hier liegt die eigentliche Schwierigkeit. Grundsätzlich funktioniert die KTK recht einfach: Sie misst die Helligkeit, vergleicht den Wert mit den Schwellwerten die über die Potis eingestellt werden und reagiert darauf indem sie den Motor hoch oder runter fahren lässt bis der jeweilige Endschalter gedrückt wurde. ABER was ist, wenn das Band gerissen ist und die Klappe somit nie den Endschalter erreicht? Oder wenn der Endschalter defekt ist und die Klappe bis zum Gehäuse und noch weiter gezogen wird? Das sind alles eventualitäten die berücksichtigt werden müssen. Diese eventualitäten kläre ich den unteren Abschnitten.

Kalibrierung

Da die Klappen nicht identisch sind und vom Benutzer individuell verwendet werden sollen kann ich keine Zeiten für das öffnen und schließen vorprogrammieren. Ebenfalls hängt die Motorgeschwindigkeit davon ab, wie hoch die Spannung ist. Da die Schaltung ebenfalls mit 6V betrieben werden kann, fällt eine statische Wertetabelle für das öffnen und schließen aus. Deswegen beginnt das Programm mit einer Kalibrierung wenn die Spannungsversorgung angeschlossen wird. Dabei wird die Klappe einmal von oben nach unten und einmal von unten nach oben gefahren. Die dafür benötigte Zeit wird gemessen und dient als referenz. Natürlich ist es erforderlich, dass sich die Klappe beim Start der Kalibrierung zwischen den Endschaltern befindet.

Fehlererkennung bei der Klappe

Wird die Klappe geöffnet oder geschlossen, fährt die Klappe so lange auf das Ziel zu bis es erreicht wurde oder die Referenzzeit +Tolleranz überschritten wird. Wenn die Referenzzeit überschritten wurde, ist dies ein Fehler welcher über die rote LED ausgegeben wird. Hat die Klappe ihre Position innerhalb der Referenzzeit eingenommen, wird die neue Zeit als Referenz verwendet. Denn durch verschleiß usw. kann sich die Zeit geringfügig ändern. Aber auch zu geringe Zeiten werden berücksichtigt. z.B. fährt die Klappe runter und währenddessen reißt das Band. Das Programm erkennt, dass die Klappe in einer unmöglich erreichbaren Zeit geschlossen wurde und gibt einen Fehler aus.

Befindet sich die Klappe in einer Position (z.B. geschlossen) und verlässt diese plötzlich, versucht das Programm dies zu korrigieren indem sie die Klappe mit leichten auf und ab bewegungen wieder ausrichtet. Sofern die Neuausrichtung funktioniert hat, arbeitet die KTK normal weiter. Ansonsten wird eine Fehlermeldung ausgegeben. Wenn man sich jedoch an die Anweisungen zum Bau einer Klappe hält und die Klappe passgenau gebaut ist, sollte dies nicht passieren. Jedoch habe ich mir zu testzwecken eine sehr grobe Klappe gebaut bei der die Klappe sehr viel spiel zu den Seiten hatte und teilweise auch kanten besaß, so dass sie beim runterfahren gern mal ein wenig stecken blieb. Zu sehen ist die Klappe in Abbildung 4.

Abbildung 4 - Klappe der KTK

Abbildung 4 – Klappe der KTK

Das erhöhte den Schwierigkeitsgrad der Fehlerbehebung aber auch mit sowas muss man rechnen. Denn durch Thermische veränderungen kann es sein, dass die Klappe nicht mehr genau so passt wie zu Anfang. Dann kommt ein Windstoß und rückt die Klappe aus der Position. Zusätzlich habe ich die Führungsschiene der Klappe per Augenmaß angebracht so dass eine Führungsschiene ein wenig nach außen geht. Oben ist also mehr spiel als unten. Ich gehe davon aus, wenn jemand von mir so eine Klappe erhält, er sich evtl. nicht unbedingt an die Anweisungen des Aufbaus der Klappe und der Klappenführung hält und genau solche Dinge passieren können. Um dort Problemen vorzubeugen wurden solche eventualitäten von mir berücksichtigt.

Weitere Fehlererkennung

Zusätzlich zu der Klappe kann natürlich auch der Schalter oder der Lichtsensor einen Defekt aufweisen. Dies ist teilweise schwer festzustellen. Bei dem Schalter werden physikalisch unmögliche Schaltstellungen abgefragt. Wird davon eine erreicht, ist der Schalter eindeutig defekt. Bei dem Lichtsensor ist es am problematischsten. Wenn im Automatikbetrieb innerhalb von 24 Std. keine Veränderung statt findet ist der Sensor defekt oder verdreckt. Aber warum nur im Automatikbetrieb? Es könnte sein, dass der Betreiber der KTK den Lichtsensor abbauen musste und für die Zeit die KTK per Hand bedient. Wenn dann jeden Tag eine Fehlermeldung erscheint, er die KTK neu starten muss und jedes mal auf die Kalibrierung warten muss wird er sehr verärgert sein. Außerdem ist im manuellen Betrieb der Lichtsensor nicht interessant.

Da man über zwei Potis die Schwellwerte einstellt, dürfen sich diese Werte nicht kreuzen. Sprich, der Wert für „Dunkel“ darf nicht vor dem für „Hell“ sein. Ansonsten, würde die Klappe in falscher Richtung arbeiten. Damit das nicht passiert, ist auch hierfür eine Fehlermeldung vorgesehen. Während des regulären Betriebs, kann dieser Fehler jedoch nur auftreten wenn währendessen an die Potis gedreht wurde oder diese defekt sind.

Nach 6 Monaten wird ein Fehler ausgegeben der zur Wartung aufruft. Dabei soll die Klappe, der Sensor und das Gerät auf Schäden geprüft werden. Wenn alles OK ist, zieht man einmal den Netzstecker und startet die KTK neu. Dann muss man noch die Kalibrierung abwarten und alles ist wieder beim alten. Man kann diese Meldung auch ignorieren und die Klappe einfach weiterlaufen lassen. Es beeinträchtigt den normalen Betrieb der KTK also nicht und ein neuer „echter“ Fehler wird den alten einfach überschreiben. Jedoch erkennt man nicht so schnell, dass es sich nun um einen anderen Fehler handelt 😉 Natürlich könnte ich den Wartungsfehler über die grüne LED anzeigen lassen um richtige Fehler besser sichtbar zu machen. Jedoch möchte ich, dass man alle 6 Monate eine Wartung vornimmt denn das gewährleistet die Zuverlässigkeit. Davon abgesehen, eine solche Wartung dauert ein paar Minuten und kostet wirklich nicht so viel Zeit!

Für den geplanten Akkubetrieb ist natürlich noch ein Fehlercode für zu geringe Batteriespannung vorhanden. Da der Akkubetrieb aber leider nicht funktioniert, ist diese Funktion fast überflüssig.

Der Testmodus

Der Testmodus ist für die Inbetriebnahme, zur Einstellung der Schwellwerte und zum wechseln des Fadens gedacht. Man gelangt dort hin, indem man vor dem einschalten den Funktionsumschalter nach oben oder runter stellt. Danach leuchten beide LEDs. Nun stellt man den Funktionsumschalter wieder auf Automatik (mittig). Die LEDs signalisieren nun die erreichten Schwellwerte. Die grüne LED steht für das öffnen und die rote für das schließen der Klappe. Am besten, nimmt man sich für das einstellen der Schwellwerte einen Tag zeit. Man steht morgens auf wenn die Helligkeit für das öffnen der Klappe erreicht ist. Nun dreht man an dem jeweiligen Poti so lange bis die grüne LED leuchtet. Es gibt im Testmodus jedoch keine erkennung von Messfehler da dies in Echtzeit ablaufen soll. Wenn also die LED flackert, bedeutet das, dass der Schwellwert exakt die aktuelle Helligkeit erreicht hat. Mit dem schließen der Klappen funktioniert das genauso nur abends und mit der roten LED 😉

Der Funktionsumschalter dienst im Testmodus nun als Schalter für den Motor. Da sich für die Kalibrierung die Klappe zwischen den Endschaltern befinden muss, kann man mit dem Testmodus die Klappe bei der Inbetriebnahme dort plazieren. Denn normalerweise, ist der Faden fast komplett eingefahren wenn man das Gerät erhält. Ebenfalls kann es sein, dass der Faden gerissen ist und man ihn tauschen muss. In dem Gehäuse den Faden um die Welle des Motors zu wickeln wird auf jeden Fall eine spannende Aufgabe. Erstrecht wenn man so Wurstfinger hat wie ich 😉 Damit man es nicht all zu schwer hat, benutzt man einfach den Testmodus. Den neuen Faden mit Klebeband auf der Welle fixieren und mit dem Motor den Faden reinziehen lassen. Wenn der Faden verstaut ist, die Klappe einhängen und plazieren. Dann den Stecker ziehen und das Gerät normal starten.

Zustandsdiagramm

In dem folgenden Bild seht ihr das Zustandsdiagramm. Einige werden erkennen, dass es sich nicht wirklich um einen echten NEA bzw. DEA handelt. Es ist jedoch bewusst so gezeichnet damit man es relativ einfach verstehen kann. Jeder Kreis steht für einen Zustand in dem sich die Klappe befindet. Mit einer jeweiligen Aktion kann dann in einen anderen Zustand gewechselt werden. Die Pfeile zeigen, durch welche Aktion von ein Zustand in einen anderen gewechselt werden kann. Die Farben der Kreise zeigen, was für ein Zustand es ist.

Blau – Entscheidung. In diesem Zustand wird nie verblieben. Es wird aufgrund einer Entscheidung in einen andern Zustand gewechselt. Dieser Zustand dient nur der Übersicht!

Grün – Aktiver zustand. Hier wird etwas gemacht dass man von außen erkennen kann. z. B. Motor drehen.

Orange – Passiver Zustand. In diesem Zustand wird nur auf eine Aktion gewartet.

Rot – Fehlerzustand. Hier kommt das System rein, wenn ein Fehler passiert ist.

Weiß mit dickem Rand – Totalausfall. Hier kommt das System rein wenn ein Fehler nicht korrigierbar ist und bei weiterarbeit das Gerät oder Tiere geschädigt werden können. Das Gerät kann dieses Zustand nicht verlassen und darf nicht weiterarbeiten!

Bei dem blauen Kreis mit „Start“ geht es los wenn der Stecker eingesteckt wird. Hier wird geprüft ob der Schalter oben, unten oder mittig steht. Steht er beispielweise unten, wird in die Testphase gesprungen. Dort wird gewartet, bis der Nutzer den Schalter in die mittlere Position gebracht hat um dann in die eigentliche Testphase zu wechseln. Dort wird aufgrund des Lichtwertes und der Schwellwerte die LED geschaltet und jedesmal wieder direkt zum Testzustand zurückgekehrt. Mit dem Schalter wird dann der Motor gesteuert. z.B. stellt man den „Schalter hoch“ geht man in den Zustand „Motor fährt hoch“. Wird danach der „Schalter in Mittelpos.“ gebracht geht man zurück in die Testphase in der der Motor ausgeschaltet wird.

Mit dem oberen Teil des Diagramms funktioniert es genauso. Das organge geschriebene sind immer Aktionen die automatisch von dem Gerät durchgeführt werden. z.B. bei „Motor fährt runter“ geht man in den Zustand „Fehler Stop“ durch „[Zeitfehler]“. Das ist der bereits erwähnte Fehler wenn die Klappe nicht in der Referenzzeit die neue Position erreicht.

Abbildung 3 - Zustandsdiagramm

Abbildung 3 – Zustandsdiagramm

Schlusswort

Ich hoffe, dass ich hier nichts vergessen habe und euch der Artikel gefallen hat. Später gibt es hier noch ein Video zur Version 1.1. Aber bis dahin belasse ich es bei dem Prototypen-Video 😉

Auch wenn ich hier keine Schaltpläne und Layouts zeige, habe ich vielleicht den ein oder anderen Bastler erreicht, der sich evtl. selber so eine Klappe bauen möchte. Wenn ihr also Fragen habt, meldet euch ruhig. Ich helfe trotzdem gerne! Ich berichte gern von Erfahrungen die ich gemacht habe und von Problemen die ich zu lösen hatte. Ich werde keinem böse sein, der sich lieber selber eine Klappe bauen will als sie von mir zu kaufen (auch wenn es sie noch nicht offizell gibt).

Version 1.0 (Prototyp)

Hier mal ein Video der ersten Version die bereits 1 Jahr durchält:

Die Steuerung ist sehr primitiv. Es gibt kaum eine Fehlererkennung und die Schließung der Klappe erfolgt per Zeit. Das sieht man daran, dass das Band einfach weiter abrollt. Nur das öffnen ist über einen Endschalter geregelt. Es gibt zwar einen Port für einen weiteren Endschalter jedoch ist aufgrund eines massiven Platinendefekts dieser Port nicht ansprechbar. Zu anfang dachte ich noch, dass das einzig wahre für den Motor ein Spindelgetriebe ist weil es selbsthalten ist. Für die neue Version habe ich mich nun mehr mit Motoren und Getrieben beschäftigt und bin zu einem neuen Schluss gekommen. Aber der dort zu sehende Motor ist der einzige Motor mit Spindelgetriebe der bezahlbar war. Also direkt gekauft. Er ist 1. viel zu groß und zweitens verbraucht der unmengen an Strom. Gut 3,5A Einschaltstrom (soweit ich Messen konnte) und 2A mit Belastung. Mein Netzteil liefert jedoch nur 2A bei 12V und somit bricht das direkt zusammen wenn der Motor anläuft. Also musste ich mit einem Widerstand den Strom des Motors auf 1A reduzieren. Trotzdem zieht das Teil noch gute 2kg! Also ein echt guter Motor der bestimmt noch einen Einsatzort bei mir findet ^^

Mein Traum

Zitat:

Mein Wunsch ist es, dass ich ein ganzes System aufbaue, dass miteinander arbeitet. Dazu kommen z.B. ein externes Sensorsystem die Kleintierklappe und eine Futtermaschine. Dazu aber später mehr.

Alle drei Geräte (Einheiten) sollen mit einer zentralen Einheit kommunizieren können (per Kabel oder Funk, lieber ist mir Funk), die dann einen TEIL der Steuerung übernimmt. Die zentrale Steuereinheit (Kleintiersystem Control) soll auf einem Display alle wichtigen Informationen ausgeben und Befehle an die Einheiten senden. Jede Einheit soll jedoch selbstständig arbeiten können und nicht abhänig von einer anderen Einheit sein. Ausgenommen ist dabei die Sensor Einheit. Diese kann z.B. einen Lichtsensor beinhalten und irgendwo draußen aufgebaut werden wo die Lichtverhältnisse klar und deutlich sind. Diese Einheit ersetzt dann den externen Lichtsensor der KTK (per Kabel). Sollte jedoch die Sensoreinheit ausfallen bleibt immernoch die Möglichkeit, den Lichtsensor anzuschließen oder (wenn dieser bereits angeschlossen ist) diesen als Notfall zu verwenden. Jede Einheit soll dann alle paar Minuten oder bei einem Ereignis eine Statusmeldung senden. Diese soll das KTS Controll auffangen und auswerten. Über das KTS Controll kann man dann auch die einzelnen Einheiten steuern. z.B. die Klappe schließen oder etwas Zusatzfutter geben. Dazu sendet die KTS Control einen Befehl an die jeweilige Einheit und diese arbeitet den Befehl ab. Danach kehrt die Einheit in den Automatikbetrieb zurück. Fällt nun die Steuereinheit aus, arbeiten alle Einheiten weiter als wäre nichts passiert.

Soviel zu meinen überlegungen. Die technische umsetzung wird jedoch ein wenig komplizierter 😉

Schreib einen Kommentar