Forum: Mikrocontroller und Digitale Elektronik Aquariumbeleuchtung mit atmega8


von Chris (Gast)


Lesenswert?

Hallo Technikfreaks, :)

Ich möchte mir eine Aquarium-LED-Beleuchtung mit einem atmega8 
realisieren.
Die 3W LED's (3x1W) sind in Strahlern verbaut und benötigen 12V und 
diese sollen mittels Transistoren einzeln angesteuert werden. Also erst 
eine Lampe, dann alle x Minuten eine weitere. Abends umgedreht, also 
alle x Minuten eine weniger.

Meine erste Idee war, dass ich eine 10fach Steckdose mit 10 
Zeitschaltuhren installiere.
Aber das wäre ja zu einfach!

Als Zeitsteuerung dachte ich an EINE Zeitschaltuhr mit einem kleinen 
Netzteil das mir den Steuerimpuls für den atmega8 gibt.

Hat jemand eine Idee, für das Programm und den elek. Aufbau?

Ein avr Anfänger Board mit einem atmega8 und USB hab ich bei mir zur 
Verfügung!

Liebe Grüße Christian

von pokajoke (Gast)


Lesenswert?

>>Als Zeitsteuerung dachte ich an EINE Zeitschaltuhr mit einem kleinen
>>Netzteil das mir den Steuerimpuls für den atmega8 gibt.
???

Der Mega bietet alle möglichkeiten, das per Software zu erledigen.
Frag Tante Google mal nach AVR und Uhr.

Avr + Transisoren sollte für Deine Zwecke reichen

von Dietrich L. (dietrichl)


Lesenswert?

Chris schrieb:
> Hat jemand eine Idee, für das Programm und den elek. Aufbau?

Du brauchst:
HW:
- µC
- Stromversorgung dafür (+5V)
- Transistoren zum Schalten der LEDs, an Ports angeschlossen
- Stromversorgung dafür (+12V)
- Steuereingang mit Schutzwiderstand, an der das mit Zeitschaltuhr 
geschaltete Steuersignal angeschlossen wird
- der interne Takt wird vermutlich genau genug sein
SW:
- Timerinterrupt
- in der ISR zählen der Zeit und Schalten der LEDs, abhängig vom 
Steuersignal.

Das alles ist relativ einfach. Das AVR-Tutorial + AVR-GCC-Tutorial 
sollte genug Information dafür bereitstellen.

Das ganze kann man natürlich auch luxoriöser machen - mit 
DCF77-Empfänger etc. Allerdings braucht man dann auch eine LCD-Anzeige 
und Einstellmöglichkeit für die Schaltzeiten - es sei denn, sie sind 
fest. Wenn sie variabel sein sollen, kann man das dann allerdings auch 
automatisieren und abhängig vom Datum die Sonnenauf- und 
Untergangszeiten errechnen.

Gruß Dietrich

von Jürgen S. (jurs)


Lesenswert?

Chris schrieb:
> Als Zeitsteuerung dachte ich an EINE Zeitschaltuhr mit einem kleinen
> Netzteil das mir den Steuerimpuls für den atmega8 gibt.
>
> Hat jemand eine Idee, für das Programm und den elek. Aufbau?


Meine Idee wäre, diese EINE Zeitschaltuhr auch noch wegzunehmen und 
stattdessen den Mikrocontroller die Aufgaben der Zeitschaltuhr komplett 
übernehmen zu lassen.

Idee für den Aufbau:
- programmierbarer Mikrocontroller
- Echtzeit-Uhrenmodul mit Dallas-Chip
- 10-fach Treiberstufe zum Schalten der 12 Volt

Wenn Du 10 x 3 Watt an 12 Volt schalten möchtest, dann wären das nach 
Adam Riese 3 Watt / 12 Volt = 0,25 Ampere pro Kanal.

Mal kurz überlegt: Von Texas Instruments gibt es nette Treibermodule mit 
7 bis 8 Darlington-Schaltstufen in einem Gehäuse. Die Bausteine gibt es 
zur Ansteuerung mit verschiedenen Eingangsspannungsbereichen zur 
Ansteuerung, mit 7 oder 8 Ausgängen, für gleichschaltende und 
invertierte Logik.

Als Treiber in Frage kommt meines Erachtens der Baustein mit der 
Bezeichnung ULN2803A, Datenblatt siehe:
http://www.ti.com/lit/ds/symlink/uln2803a.pdf

Weiter Eingangsspannungsbereich, auch für TTL Pegel ==> passt
Schaltbare Ausgangsspannung: bis zu 50 Volt ==> passt
Anzahl Ein- und Ausgänge: 8 ==> passt nicht, zwei Stück nehmen
Maximale Belastbarkeit bis zu 500 mA pro Kanal ==> passt
Maximale Belastbarkeit pro Baustein: 2.5 A ==> passt bei zwei Stück 
sicher

Also würde ich als Treiber 2x ULN2803A nehmen, jeden der Bausteine 5 
LEDs schalten lassen. Macht 5 belegte Ein- und Ausgänge pro Baustein, 
5*250 mA plus einige mA Eingangsstrom pro Baustein, also in jedem Fall 
weniger als 2,5A.

Den ULN2803A gibt es bei Pollin für 0,35 EUR das Stück.

Ach ja, mit dem Echtzeit-Uhrenchip müßte man natürlich mindestens 2x im 
Jahr bei Sommer- und Winterzeitumstellung eine Möglichkeit zum 
Einstellen der Uhrzeit haben. Dafür müßte man bei einem Gerät ohne 
Display und ohne Bedienknöpfe natürlich eine Stellmöglichkeit für die 
Uhr per serieller Schnittstelle vorsehen, die man auch nutzen könnte um 
die Schaltzeiten einzustellen. Muss man das Gerät dann natürlich immer 
zum PC tragen, anschließen, Uhr stellen, Gerät abklemmen und 
zurücktragen.

Eventuell wäre auch der Einbau eines DCF77-Funkuhrmoduls zu überlegen, 
wenn man mit der Uhrenumstellung nichts zu tun haben möchte.

Oder Du bringst zur Uhrenumstellung einen Kippschalter 
"Sommerzeit/Winterzeit" an, dessen Stellung die Schaltzeiten um eine 
Stunde verstellt.

Aber irgendwann wirst Du bei Verwendung eines Echtzeituhr-Moduls um das 
Nachstellen der Uhr nicht herumkommen: Die Einfachen 
Echtzeituhren-Module haben eine Gangabweichung von ca. 30 Sekunden im 
Monat, also nach einem Jahr Laufzeit schalten sie mit um ca. 6 Minuten 
verstellter Schaltzeit, wenn an die Uhr nicht nachstellt.

Vielleicht kommsst Du ja am Ende doch auf eine Lösung mit externer 
Schaltuhr, die sich extern stellen und umstellen läßt.

Na ja. Überleg Dir was!

von Michael (Gast)


Lesenswert?

Statt die Lampen hart zu schalten, würde man wohl eher eine PWM 
vorsehen, um die LEDs langsam hoch- oder runter zu dimmen.

von Jürgen S. (jurs)


Lesenswert?

Michael schrieb:
> Statt die Lampen hart zu schalten, würde man wohl eher eine PWM
> vorsehen, um die LEDs langsam hoch- oder runter zu dimmen.

Eine elegante Lösung für eine elektronische Sonnenauf- und 
-untergangssimulation.

Die Lösung wäre aber davon abhängig, ob die (offenbar bereits 
vorhandenen) 12V-LED-Lampen dimmbar sind oder nicht. Darüber stand im 
Ausgangsposting nichts.

Das harte Ein- und Ausschalten von Lampen funktioniert dagegen mit 
dimmbaren wie auch mit nicht dimmbaren LED-Lampen.

von Chris (Gast)


Lesenswert?

Hallo an alle,

also erstmal vielen lieben Dank an euch alle. Dachte nicht, dass ich so 
schnell, so viele Antworten bekomme.

Ich habe null Programmiererfahrung und dachte ich könnte mich in das 
Thema einfach mal einarbeiten (da ich nie schnell aufgebe und schon seit 
2 Jahren immer wieder versuche, das alles zu verstehn, was für euch so 
leicht ist), jedoch bin ich da als Chemiker merkbar an meine Grenzen 
gestoßen.
Das zusammenlöten einer Schaltung wäre das kleinste Problem für mich, 
aber ich bekomme nicht einmal hin, ein "hello blinky" selbst zu 
schreiben.

Werde dann wohl doch die einfache Variante wählen (Steckdose mit 
Zeitschaltuhren) :)

Wenn ich nächstes Jahr nach meinem Techniker-Abendkurs mehr Zeit habe 
werde ich sicherlich wieder auf euch zurück kommen mit der Hoffnung auf 
mehr Erfolg :)

Liebe Grüße und nochmals VIELEN LIEBEN DANK
Christian

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Michael schrieb:
> Statt die Lampen hart zu schalten, würde man wohl eher eine PWM
> vorsehen, um die LEDs langsam hoch- oder runter zu dimmen.

Dann aber mit genügend hoher Frequenz, sonst bekommen die Fische 
epileptische Anfälle.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Jürgen S. schrieb:
> Die Lösung wäre aber davon abhängig, ob die (offenbar bereits
> vorhandenen) 12V-LED-Lampen dimmbar sind oder nicht.

Chris schrieb:
> Die 3W LED's (3x1W) sind in Strahlern verbaut und benötigen 12V

Klingt erstmal nach 'dimmbar'.

von Christian (Gast)


Lesenswert?

Also mich lässt es einfach micht in Ruhe und hab mich übers WE auf 
verschiedenen Seiten mal durchgequält...

Also die LED´s sind laut Verpackung nicht dimmbar. Ob der Hersteller PWM 
kennt, kann ich nicht sagen (Noname Hersteller).

Die gesammte Zeitsteuerung will ich dem Atmega nicht überlassen, da wenn 
mal Stromausfall (Oder Zeitumstellung) ist, ich nicht soviel Tasten zum 
neueinstellen der Uhr haben möchte. Ein Funkuhrenmodul ist mir zuviel.

Meine Idee:
 Strom geht an und der Atmega8 fährt sein Programm (Timer) ab, wo es 
alle 5 Minuten eine LED zuschaltet, bis alle 10 an sind. Nach einer Zeit 
(per Podi einstellbar/ 5-10Std) wird wieder ein Licht nach dem anderen 
abgeschaltet. Danach wird per Externe Zeitschaltuhr das Netzteil 
abgeschaltet und am nächsten morgen Startet das ganze wieder von vorn.

Hat jemand ganz zufällig die Lust und Zeit mir sowas zu Programmieren? 
Oder kennt schon ein ähnliches Projekt?

Ich tu mir da leider wirklich schwer!

so long

Christian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.