Aquariumbeleuchtung Mit welchem Arduino soll ich anfangen?

Hallo Zusammen

Ich bin hier absolut neu und platze einmal direkt mit meinen Fragen in Euer Forum :smiley:

Eingelesen habe ich mich schon, bin aber alleine mit der Vielfalt an Hardware, Sets usw derzeit noch total überfordert, daher wende ich mich direkt an Euch. :confused:

Ich habe bisher nur mbed Cortex (z.B. LPC1768) programmiert, in allen möglichen Lebenslagen und mit Hardware für relativ viel Geld im Büro. Bin also bezüglich Arduino absoluter Anfänger! :o

Ich möchte aber nun für mein Privatprojekt eine möglichst billige Lösung finden, so billig als auch irgend möglich, damit es auch andere Aquarianer nutzen können ohne viel Geld ausgeben zu müssen.

Es geht um die Steuerung einer LED Tageslichtlampe für Aquarien.

Anwendung ist die Ausgabe zweier Signale die eine LED Leuchte mit 2x 0-10V Kanälen für blau&weißes Licht ansteuern soll.

0-10V = 0-100% Helligkeit (für Blau/Weiß getrennt)

Was ich gerne machen würde:
Aktuelle Uhrzeit über ein LCD anzeigen (und auch Stromausfälle überstehen) damit sind vermutlich folgende Komponenten interessant:

  • RTC Modul
  • LCD Anzeige

Danach möchte ich eine Kurve (eigentlich 2, für jede Lichtfarbe eine) hinterlegen die die Helligkeit über den Tag wiederspiegelt. (ich bin noch unschlüssig welches Format Sinn macht, z.B. ASCII Text [Uhrzeit,Prozent])

Siehe:

Diese Kurve soll dann einmal als die besagten 0-10V für Blau auf Kanal 1 und einmal 0-10V für Weiß auf Kanal 2 ausgegeben werden können und dank ASCII-File beliebig modifiziert werden können.

Grund ist ganz einfach, ich habe mir um 80€ den Controller für die Lampe vom Hersteller gekauft, diese kann aber nur 5 Schaltpunkte und es ist nicht möglich z.B. von Schaltpunkt 1 um 08:00 (Licht ein bei 20% Helligkeit) zu Schaltpunkt 2 um z.B. 13:00 (Tageslicht, 100%) kontinuierlich hochzufahren/zu rampen (z.B. wenigstens in 5% Schritten alle X Minuten).

Dieser schaltet einfach Stur um 8 Uhr das Licht mir 20% ein und von einer Sekunde auf die andere um 13:00 plötzlich von diesen 20% auf 100%, kann nur 5 Schaltpunkte und ist damit für eine schöne Tageslicht-Simulation unbrauchbar.

Wie man die Uhrzeit einstellt bin ich derzeit noch ratlos.

Was für Hardware würdet Ihr mir empfehlen?

  • Das Teil soll nicht weiter verwendet werden sondern wirklich rein eine schöne Tageslicht-Steuerung ermöglichen.
  • So billig wie möglich
  • Uhrzeit soll angezeigt werden und einstellbar sein (welches Tastenfeld, möglichst wenige Knöpfe)
  • 2 Kanäle mit 0-10V als Ausgang

Vielen Dank im Voraus!

Lg Martin

Gerade wenn so ein Gerät nachgebaut werden soll, gibt es wohl keine beste oder billigste Lösung. Dafür hängt zu viel von den Fertigkeiten der Nachbauer ab.

Für einfachen Aufbau würde ich einen Uno und ein LCD-Keypad-Shield vorschlagen, eventuell dazwischen noch ein Prototype Shield für die RTC etc.

Bei den LED gibt es viele Möglichkeiten. Angefangen von Netz- oder Niederspannung, Strip oder Array, und dazu passend MOSFET oder andere Ansteuerung zum Dimmen. Bei Deinen Leuchten wäre für die Ansteuerung ein Transistor oder Opamp notwendig, für die Umsetzung 5V auf 10V, und ein RC Filter für die PWM Glättung. Bei 5V Strips können die LED auf beliebige Farben programmiert werden, dann reicht 1 Strip der sich direkt (digital) ansteuern läßt, und es kann ein einziges 5V Netzteil benutzt werden. Sonst wäre ein Netzteil für 10V notwendig, und ggf. ein weiterer Regler für 10V auf 5V. Die 3,3V für die RTC können immer vom Uno bereitgestellt werden.

Sorry, das alles ist nicht sehr hilfreich, es sollte einfach mal ein Denkanstoß sein, welche Möglichkeiten berücksichtigt werden können.

Was Du machen möchtest, ist problemlos möglich. Gestolpert bin ich nur über das „so billig wie möglich“, denn das billigste Zeug hält selten lange. Wenn Du etwas bauen möchtest, das viele Jahre lang problemlos läuft, wirst Du mit dem billigsten Zeug nur eins: unglücklich.

Rechne vor allen Dingen damit, dass Du das nicht von heute auf morgen hinbekommst und einige Zeit mit lernen verbringen wirst.

Gruß

Gregor

Ich habe schon mal vor ein paar Jahren über Aquariumlicht und Wärme nachgedacht. Mein damaliger Schwiegersohn hat sich ein Terrarium für Schlangen gebaut. Zur Durchführung kam es nicht mehr, weil vorher die Scheidung angestanden ist und er somit weg ist.

Aber mal zu meinen Gedanken dazu. Wegen des Lichtes wollte ich einen Lichtsensor draussen montieren, wo das Tageslicht gut hinkommt. Und nach den Messwerten des Sensors dann das Licht im Terrarium steuern. So hat das Terrarium dann auch Jahreszeiten. Für nen Lichtsensor gibt man weniger als 10 Euro aus.

Für 4x 0-10 Volt Ausgang zum Steuern des Lichtes kann ich das hier empfehlen. http://www.horter.de/blog/i2c-analog-output-4-kanaele-10-bit/ Kostet so um die 25,- Euro.

Marty102:
... so billig als auch irgend möglich ...

Du Glückspils, unsere chinesischen Freunde feiern diese Woche mit Schnäppchenpreisen :slight_smile:

Nano alternativ ProMini mit CP2102 oder alleine ProMini (CP2102 brauchst Du nur einmal)

RTC DS3231

LCD mit I2C (ich finde Grafikdisplays flexibler, kosten aber mehr)

Lieferzeiten und Zoll (pro Bestellung unter 22€) beachten!

Der Laden um die Ecke bietet Beratung und Gewährleistung, die Geld kostet. Deine Entscheidung!

Stimmungsvolles Licht, mit einem Arduino über zwei Pins leicht anzusteuern, bieten APA102 LED-Lichtstreifen. Mir gefällt's, ob die sich für Deine Anwendung eignen, weiß ich nicht.

Vielen Dank für die vielen Replies in so kurzer Zeit, ich werde mir die Antworten Heute im Laufe des Tages zu Gemüte führen.

Ich habe aber den Eindruck manche denken ich brauche eine Lampe :smiley: dem ist nicht so, die gibt es schon:
http://www.aqua-medic.de/index.php?r=catalog/product&id=390

Diese hat einen dual 0-10V Eingang um ihr Weiß und Blau anzusteuern.

Ich möchte rein die Ansteuerung dazu machen.

Bis nachher!

Danke!

Lg Martin

Marty102:
Ich habe aber den Eindruck manche denken ich brauche eine Lampe....

Aber nur, damit uns allen ein Licht aufgeht. :wink: :wink:

Da die Analog - Signale ( 0 - 10V ) sich ja nur sehr langsam ändern müssen, kannst du Tiefpässe um aus PWM Analog machen, relativ leicht selbst bauen.

Aber das ist ein Punkt, der bisher in den Tips gefehlt hat.

michael_x:
Da die Analog - Signale ( 0 - 10V ) sich ja nur sehr langsam ändern müssen, kannst du Tiefpässe um aus PWM Analog machen, relativ leicht selbst bauen.

Aber das ist ein Punkt, der bisher in den Tips gefehlt hat.

Grummel, wozu habe ich das schon in #1 geschrieben??? :-]

Auch der Hinweis auf die China-Sonderangebote ist nicht wirklich hilfreich, wenn das Projekt später von anderen Aquarianern nachgebaut werden soll.

ich würde die 0-10V mit digitalen Potis machen, z.B. mcp4251. 255 Stufen, 2 Kanäle, i2c, und mit Vorwiderstand kannst du direkt mit 12V dran und es kommen 0-10 raus.
Ist ja im Prinzip wie ein DAC, aber eben als Spannungsteiler, somit kein OP oder ähnliches mehr nötig.

Wenn du in China bei Ali kaufst, ist zwischen Normalpreis und Sonderangebot kein großer Unterschied. Wenn doch, war es sowieso zu schön um wahr zu sein und du bekommst dein Geld zurück :wink:

Grummel, wozu habe ich das schon in #1 geschrieben??? :-]

Reicht ein "Entschuldigung, hab ich überlesen" ?

Da stehts klar und deutlich:

Bei Deinen Leuchten wäre für die Ansteuerung ein Transistor oder Opamp notwendig, für die Umsetzung 5V auf 10V, und ein RC Filter für die PWM Glättung.

Das ging in deinem Abschnitt "Bei den LED gibt es viele Möglichkeiten" etwas unter. Siehe auch

Martin:
Ich habe aber den Eindruck manche denken ich brauche eine Lampe :smiley:

Also nochmal: zurecht gegrummelt, sorry.

ElEspanol:
ich würde die 0-10V mit digitalen Potis machen, z.B. mcp4251. 255 Stufen, 2 Kanäle, i2c, und mit Vorwiderstand kannst du direkt mit 12V dran und es kommen 0-10 raus.

Einspruch.

Der MCP4251 ist 12V tollerant nur an den digitalen Eingängen aber nicht an den Potentiometeranschlüssen. Da darf nur ca die Versorgungsspannung ran und die geht bis 7V.

http://ww1.microchip.com/downloads/en/DeviceDoc/22060a.pdf:
Voltage on VDD with respect to VSS.................................... -0.6V to +7.0V
Voltage on CS, SCK, SDI, SDI/SDO, and SHDN with respect to VSS...............-0.6V to 12.5V
Voltage on all other pins (PxA, PxW, PxB, and SDO) with respect to VSS.....................-0.3V to VDD + 0.3V

Ciao Uwe

michael_x:
Also nochmal: zurecht gegrummelt, sorry.

Akzeptiert. Oder wie Guido zu seinem Hund sagt:"fein gemacht" :wink:

Marty102:
Ich habe aber den Eindruck manche denken ich brauche eine Lampe :smiley: dem ist nicht so, die gibt es schon:
http://www.aqua-medic.de/index.php?r=catalog/product&id=390

Erwischt, hatte ich tatsächlich so nicht verstanden.

Etwas Sorge bereitet mir dieser Satz aus der Bedienungsanleitung der bereits vorhandenen Lampe: "Der 0 - 10 V Anschluss erlaubt es, den Qube über geeignete Geräte sowohl hinsichtlich der Lichtfarbe als auch in der Helligkeit extern anzusteuern". Wie das für zwei Parameter mit einer Spannung möglich sein soll, entzieht sich derzeit meinem Verständnis. Wenn Du es noch nicht gemacht hast, lege mal eine Spannung 0 bis 10 V mittels Poti an den Eingang, ob die Lampe dann das von Dir Erwartete tut.

DrDiettrich:
Auch der Hinweis auf die China-Sonderangebote ist nicht wirklich hilfreich, wenn das Projekt später von anderen Aquarianern nachgebaut werden soll.

Du meinst, die hätten nicht genug davon? ;D

Die China-Angebote sind immer die billigsten, die ich kenne, auch ohne Sonderangebot. Wer so oft das Wort "billig" in einer Frage verwendet, bekommt daher diese Antwort, ohne Erwähnung des Wortes "preiswert". Und wer schon einen Schwiegersohn hatte, kann selbst einschätzen, wo er kaufen möchte, oder stellt Fragen dazu. Aus meiner Sicht sind die Links hauptsächlich Illustrationen meiner Vorschläge.

Wichtig ist, die ganggenaue RTC zu erwischen. Und ich möchte eine Alternative zu #1 mit dem Nano erwähnen. Bei LCD kommt es mir auf 20x4 an, weil mehr drauf paßt.

Ich bin gespannt, was draus wird :slight_smile:

agmue:
Etwas Sorge bereitet mir dieser Satz aus der Bedienungsanleitung der bereits vorhandenen Lampe: "Der 0 - 10 V Anschluss erlaubt es, den Qube über geeignete Geräte sowohl hinsichtlich der Lichtfarbe als auch in der Helligkeit extern anzusteuern". Wie das für zwei Parameter mit einer Spannung möglich sein soll, entzieht sich derzeit meinem Verständnis. Wenn Du es noch nicht gemacht hast, lege mal eine Spannung 0 bis 10 V mittels Poti an den Eingang, ob die Lampe dann das von Dir Erwartete tut.

Hallo,

das scheint nicht wirklich das Problem zu sein, denn wenn ich mir den Aufbau der Lampe mal so anschaue, dann sind da einfach 2 Led Cluster verbaut, wovon der eine die weißen Led mit 2 oder 3 blauen Leds enthält, während ein 2 Cluster die farbigen Leds beherbergt. Wir reden also nicht von einer vollumfänglichen Farbsteuerung wie wir es von RGBs gewohnt sind.

Bei dem einen Steuerungseingang scheint es sich um eine Art Klinkenstecker wie bei einem Stereokopfhörer zu handeln, da werden also 2 Kanäle gegen eine gemeinsame Masseleitung übermittelt.

Da sich Leds ja nicht über die Spannung dimmen lassen, muss in der Lampe entweder eine dimmbare Konstantstromquelle verbaut sein, oder es ist ein A/D-Wandler am Start, der aus der Steuerspannung ein PWM-Signal für die Cluster erzeugt.

Eigentlich ziemlich strange, erst aus einem PWM-Signal des Arduino eine analoge Spannung zu machen, damit die Lampe sie wieder rückübersetzt.

Rein von der Verlaufskurve würde ich nicht versuchen Schwankungen nachbilden zu wollen.
Um dem Auge mit dem Seheindruck entgegen zu kommen, würde ich eine Sinuskurve für die Helligkeitsveränderungen zu Grunde zu legen.

Grundsätzlich würde es da Sinn machen, die Werte einmal auszurechnen und in ein Array zu packen, welches dann abgefragt wird.

Für den Anfang würde ich außerdem auf allen Schnickschack verzichten. D.h. ich würde erstmal nicht versuchen eine komplette Steuerung der Uhrzeit, sowie die Programmierung der Steuerkurve über ein Keypad und ein Display umzusetzen. Das wäre eine spätere Evolutionsstufe für mich.

Mein Vorgehen, und ich bin auch noch auf dem Weg ein ausgefuchster Arduino-User zu werden, wäre folgender:

  1. Hardwareseite kläre: Wie entlocke ich Arduino die 0-10V
  2. Dimmkurve entwerfen
  3. Dimmkurve mittels RTC auslösen

Mit meinen bescheidenen Kenntnissen stellt sich mir gerade die Frage, ob es nicht möglich wäre, für das Dimmen jeweils den Start und Endpunkt der Helligkeiten zu definieren, und dann die dazwischenliegenden Schritte, die ja Elementen des Arrays entsprechen würden, mit der map-Funktion automatisch auf die gewählte Zeitspanne für das Dimmen zu verteilen.

Ist jetzt nur so eine Idee, aber vielleicht können die ergfahreneren User hier da was zu sagen.

VG
ConfusedElectron

Die Dämmerungsphasen sind am Äquator sehr kurz, an den Polen fast 1/2 Jahr lang. Tatsächlich hängen sie auch in unseren Breiten von der Jahreszeit ab, man müßte sich also auf eine Breite einigen, aus der die Fische stammen, und die Dauer von Tag und Nacht sowie die Dauer der Dämmerung aus dem Datum berechnen.

Im ersten Ansatz könnte man einen (fast) linearen Verlauf über eine wählbare lange Tages- und Dämmerungsdauer annehmen, und die Helligkeit in konstanten Zeitintervallen erhöhen bzw. erniedrigen. Falls dieser lineare Verlauf nicht befriedigt, könnte der Arduino die Zeit bis zur nächsten Änderung berechnen; dafür hat er Zeit im Überfluß, eine Tabelle ist nicht notwendig.

Genaugenommen sollten die beiden LED Streifen unterschiedlich schnell hoch- bzw. runtergefahren werden, damit der Sonnenaufgang möglichst rot wird. Wie das mit blauen und weißen LED realistisch funktionieren soll, wäre noch auszuprobieren. Möglicherweise nimmt der Hersteller an, daß der Rot-Anteil schon nach wenigen Metern im Wasser verschwindet, und hat ihn deshalb einfach ganz weggelassen. Dann könnte man auch noch eine Wassertiefe vorgeben, und den Verlauf der Farbtemperatur und die maximale Helligkeit entsprechend variieren.

Und wer einen See in der Nähe hat, der kann darin zwei Sensoren für weiß und blau versenken, und die Farbanteile über die Jahreszeit, Tageszeit, Wassertiefe und Wetterlage aufzeichnen. Es gibt also noch viel Raum für die Perfektionierung der Steuerung...

Confusedelectron:
Bei dem einen Steuerungseingang scheint es sich um eine Art Klinkenstecker wie bei einem Stereokopfhörer zu handeln, da werden also 2 Kanäle gegen eine gemeinsame Masseleitung übermittelt.

Dann wären also zweimal 0-10V notwendig.

Weils weiter oben angesprochen wurde: eine Aussenlichterfassung um damit die Helligkeit zu steuern funktioniert nicht. Jedenfalls nicht, wenn man nur einen Helligkeitssensor verwendet. Man muss die Uhrzeit mit einbringen, um starke Abdunkelungen tagsüber nicht zu dauernden Hell/Dunkel im Aquarium weden zu lassen. Man hat einen Wertebereich von 100-50.000 Lumen an der Sonne. Und man bekommt völlig andere Helligkeitswerte wie die Tiere gewohnt sind. Tropische Fische (die wenigstens züchten Karpen oder Forellen zuhause) haben 12Std am Tag Licht mit nahezu senkrechter Sonne ohne viel Schwankungen im Jahresverlauf. Wir haben Sommer/Winter eine Halbierung der Sonennstunden, bekommen die Sonne selbst im Sommer nur bis zu 63° hoch. Sonnenwendekreis ist bei 23°, wir leben bei 50°, ausser die Weisswurst, die lebt unter 50°

Man müsste also viele Korrekturwerte einbringen und im Winter eigentlich schätzen, wie hell es ist, wenns bei uns schon Stockdunkel draussen ist. Das kann man machen, wenn man einen Raspi benutzt, nicht beim Arduino. Der würde einen forellentauglichen Lichtverlauf erzeugen, keinen Tropischen. Und wenn die monatelang ihre 12Std nicht bekommen, sind die nicht wirklich glücklich.

Ihr seid der absolute Wahnsinn :slight_smile:

Ich habe mir schon einige Gimmiks die ich evtl. irgendwann einbauen möchte überlegt, aber manche Ideen/Beitrage und deren Wissensgehalt hier sind deutlich höher angesetzt als ich mir für die "Beta" Version Gedanken gemacht habe und zugegeben für nötig halte.

Wie schon oben beschrieben hat die Lampe tatsächlich nur die Lichtfarben Weiß und Blau, wobei bei dem blauen Spektrum noch UV-LEDs enthalten sind. Rot wird garnicht dargestellt bzw. ist bis zu einem gewissen Grad von den Weißen LED`s abgedeckt.

Die Einstellung der Lichtfarbe hängt somit rein an der Mischung Blau & Weiß.


Bild von aquaristik-zentrum.at

und wird in der Aquaristik wie schon vermutet größtenteils ignoriert, da der Rot-Anteil sich innerhalb weniger Meter auf 0 geht.

Bedienungsanleitungen:
Controller: http://www.aqua-medic.de/manuals/Qube%20Control%20D%20ENG%20F%20NL%20ES%20RUS%20v1_14798294800.pdf

Lampe: http://www.aqua-medic.de/manuals/Qube%2050%20D%20ENG%20F%20NL%20ES%20IT%20RUS-v4_14654753880.pdf

Die Lampe, als auch der Controller, werden direkt über 24V versorgt und der Controller generiert ausschliesslich das 0-10V Steuersignal (Leistungslos 4-20mA) über den Klinkenstecker. Ich habe es mir gestern mittels Oszilloskop angesehen, es ist wirklich ein Analog-Out, kein PWM.


Bild von shop-meeresaquaristik.de

Außenlichtsensor habe ich nicht vor zu nutzen, da gerade Korallen emfpindlich sind und ihren "geregelten Tagesablauf" brauchen. Somit werde ich es rein Uhrzeit-basiert ansetzen. Abgesehen davon ist eine Dunkelphase von 8-10h einzuhalten. (absolutes Minimum sind 6h)

Dabei habe ich mir über zwei Ideen/Optionen die auch schon genannt wurden Gedanken gemacht.

- Sinus
Die typische Kurve entspricht, da Riffe ja primär am Äquator verbreitet sind, vereinfacht einem Sinusverlauf von -pi π bis +pi π (da die Erde ja eine Kugel ist und ich mal der einfachheit halber die Achsenneigung "verdränge")

Damit würde diese Option absolut Sinn machen und auch die Programmierung vereinfachen da ich eigentlich nur wenige Parameter brauche um dies zu realisieren:

  • Start-Uhrzeit
  • Dauer der Beleuchtung
  • Min/Max-Wert des Sinus

Beides natürlich mal 2 für Weiß und Blau.

- Kurve

Auf den ersten Blick vielleicht einfacher und daher auch meine erste Idee, aber ich denke da wäre mehr zu tun, wird also eher die zweite Version werden

  • Array mit Time & Weiß[%] & Blau[%]
  • Interpolation oder Geradengleichung zwischen den einzelnen Punkten der Kurve
    Die könnte ich mir eventuell ersparen, da die Lampe mit Controller angeblich nur 5% Schritte kann, wobei ich bei anhängen des Labornetzteils mit Regler am Input den Eindruck hatte die Lampe kann das, was sie als Input bekommt, absolut schön ohne Stufen ... somit habe ich den Controller der nur 20x5% Schritte kann als limitierenden Faktor im Verdacht, dem gehe ich aber noch auf den Grund.

Alles weitere sind erstmal gute Ideen/Spielereien für die Zukunft, für den Moment möchte ich eigentlich wirklich nur die W&B Kurven realisieren und analog ausgeben und im Idealfall noch die Uhrzeit einstellen/anzeigen können. Selbst hier habe ich für den Moment bis das Ganze mal spielt den Kompromiss angenommen, ich lasse meinen Controller bei 18 Uhr starten und stumpf laufen, das ist eine Uhrzeit zu der man die Chance hat zuhause zu sein und den Reset Button zu drücken um somit die Uhr "richtig" einzustellen.

  • In der zweiten Ausbaustufe sollen dann LCD & Uhrzeit & Knöpfe zum einstellen der Uhrzeit dran.

  • In der dritten Ausbaustufe werde ich mich dann daran machen die Kurven/Sinus nicht hardcoded einzustellen sondern über z.B. ein File einzulesen oder über die Knöpfe einzustellen.

Ich "hoffe" das ist eine halbwegs realistische Planung. Wenn mir dann langweilig wird kann ich mich noch immer an Temperaturen usw. wagen, wobei ich hier nicht aktiv eingreifen möchte, da 2-3°C zuviel schon großen Schaden an den Kleinstlebewesen anrichten kann.

Danke

Lg Martin