Nun ist es endlich soweit: Ich möchte euch die wohl Kostengünstigste Lösung präsentieren die Ich bisher gefunden habe um Selbst größere LED Beleuchtungen gut zu steuern.

Den Auagrow Minimalistik Kontroller.

Angefangen hat alles mit der AquaGrow Platine, bzw AuaGrow Shield. Da ich aber die Möglichkeiten der eigenen Controller Entwicklung erkannt habe und den kauf von einem Arduino vermeiden wollte ging es dran eigene Platinen zu entwickeln.
Der erste versuch war daher ein ATMEGA328P-PU mit DIP Sockel der komplett selber aufgebaut wurde.
2013-05-31 22.47.45

Hierbei wurden direkt 2 Dinge getestet: Steuerung der KSQ die Ich entwickelt habe und Dimmung von Stripes die mit Konstant Strom betrieben werden. Die Platinen funktionierten zwar sehr gut, jedoch hat der eingesetzte TLC5940 zur LED Dimmung einige schwächen wie z.B. das er nur über SPI angesprochen werden kann und einen festen Strom nur senken kann. Zudem wird er beim großen Lasten sehr warm, was mir nicht 100% gefiel.

Aus diesem Grund ging die Suche weiter und das Layout wurde mehrfach überarbeitet. Die zuerst geplante Idee das auf einer Platine beide Dimmungen möglich sind wurde dabei genauso über den Haufen geworfen wie einige andere Zwischenzeitliche Ideen.
Geblieben ist aber eine 12bit, 16 Kanal Dimmung mit einer weit genaueren Uhr als diese mit den billig China DS1307 und externen Quartz möglich gewesen wäre. Da ich von anfang an aber plante den Controller für mich Privat noch zu erweitern wurden noch ein paar Anschlüsse bzw Ports nach außen geführt. und mit Lötstellen für Connectors versehen. Eine sehr gute Entscheidung wie sich später rausstellte.
2013-07-25 12.04.01

Mit 7,5 x 4,2 cmwar das Ziel erreicht: Ein wirklicher Controller der alles beinhaltet was man brauch um Tageslicht Simulationen in sein Becken zu bringen. Nun begann der Aufbau, testen und bugfixen des Codes.

Die eigentliche Steuerung war schnell geschrieben. Uhr lief beim ersten Anlauf, LED’s wurden sofort gedimmt und durch die Erfahrungen die Ich bei der Platine gesammelt habe auch schnell umgesetzt in einen Finalen Code. Doch dann kam die Herausforderung:
Für mein LED Testbecken und mein späteres AQ sollte der Controller Dosierpumpen steuern können und evt auch die LED’s vor einem Hitzetot in der Abdeckung schützen. Also wurde am Code rum gebastelt bis dieses umgesetzt war. Hierbei half mir besonders die Meinung und Ideen einiger Forenuser auf Flowgrow.de weiter.
Mit diesem Input ist der Umfang gestiegen und beträgt zur Zeit:

  • Dimmung von bis zu 16 KSQ
  • Auslesen von Temperatur-Sensor (Wasserdicht)
  • Regelung für Lüfter oder Heizung nach Temperatur
  • Dosieren von bis zu 4 Düngern, Täglich nach Uhrzeit oder x mal innerhalb 24 Stunden
  • Schalten von bis zu 2 Schaltrelays bis zu 6 mal am Tag ein/aus

Die größte Herausforderung beim Programmieren war es aber den doch sehr begrenzten Speicherplatz optimal zu nutzen. So kam es auch das ich immer wieder um jedes einzelne Byte (Ja byte, quasi 1/1000 von 1/1000 von 1/1000 von einem Gigabyte) kämpfen musste. Grade die Dimmung war dabei schwer um zu setzen. Man kennt ja evt den Effekt: eine Lampe ist an, man erkennt Helligkeit, wenn man aber 2, 3 oder 4 anmacht ist der Helligkeits unterschied nicht mehr so stark wie zuvor. Grund dafür ist wie wir das Licht war nehmen. Wenn man also die LED Linear dimmt wird es schnell hell und bleibt lange Hell. Ich wollte aber eine Langsam und gleichmäßige Dimmung, so wie sie für unser Auge angenehm ist. Alleine diese Umsetzung hat schon die hälfte meines Speichers verbraucht…

Zwischenzeitlich wurde dann auch noch an der möglichkeit des Einstellens gearbeitet. Auch hier sollten neue Wege eingeschlagen werden. Ein Display und Tasten kamen nicht in frage, es sollte eine eigenständige Software werden!
Also ging es los mit der Suche nach kommunikationsprotokollen, aufbau eines User Interfaces und Umsetzung aller einstellungs Möglichkeiten…
Grade die Logik hinter dem übertragen hat mir dabei mehr als einmal das Genick gebrochen und debuggen war auch nicht das leichteste. Dennoch ist es inzwischen geschafft wie man an diesen Beiden Bildern sieht:

LEDControl1 LEDControl2

 

So Simpel wie die Einstellung, so Simpel ist auch der Anschluss geworden:
Am Controller befinden sich 16 Schraubklemmen, jede für einen LED Kanal. An der Batterie angefangen kann man so die KSQ anschliessen (Gelbes Kabel). Wer möchte kann einen Reset button zum Neu starten anbringen und einen Jack Connector für die Stromversorgung. Ich selber benutze aber meist die Schraubklemmen dafür. An die Pins die eingelötet sind kann die Erweiterung für Dosierpumpen, Lüfter und Temperaturfühler angebracht werden. Hat man dies erledigt muss man nur noch Treiber von FTDI runter laden und per Mini-USB den Controller verbinden. Nach dem die Hardware im Gerätemanager auftaucht wird Sie auch von der Software erkannt und einstellungen können vorgenommen werden.
Die KSQ schliesst man dann noc han ein Netzteil mit maximal 30V an und alle LED (Maximal 1V unter Netzteilspannung) an die 2er Klemme auf der anderen Seite.
Nachdem man alle Einstellungen gespeichert hat, kann man den Controller über 12V betreiben.

 

2013-08-21 15.19.00 2013-08-21 15.19.17 2013-08-21 15.19.31

 

Die Erweiterung für Lüfter und Dosierpumpen ist leider erst im Laufe der Zeit entstanden weswegen hierfür noch keine Platine gefertigt wurde. Ihr könnt sie aber unter „Dosieren und Steuer Erweiterung des Mini Controllers“ finden.
Wenn man Sie nicht anschliesst, so ist dies immernoch ein sehr guter LED Controller, der die Dimmun gzuverlässig übernimmt und auch mit Geräten in der 150€ Klasse es aufnehmen kann.

Mein nächster schritt ist nun die Erweiterung mit auf die Platine zu packen und einen „Richtigen“ Minimalistik Aquarien Controller zu Entwickeln.

0 Kommentare auf “AquaGrow LED (eingestellt)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.