www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sonnenauf - Untergang mit Dimmer


Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
ich möchte mittels Atmega obengenannten Effekt erzielen. Es soll 
vermittelst einer Schaltuhr ein Dimmvorgang von 0-100% gestartet werden, 
dessen Zeit (ca.30-45min)ich irgendwie bestimmen möchte. Sind die 100% 
erreicht, dann soll ein zweiter Ausgang gesetzt werden und Sekunden 
danach sollte der Dimmer wieder ausgeschaltet werden. Am Abend genau 
umgekehrt: Dimmer von 0% auf 100%, Sekunden später zweiter Ausgang aus, 
danach Dimmer wieder runterdimmen auf 0% oder auf einen voreingestellten 
Wert. Klare Sache, daß es sich hier um eine Steuerung für 
Aquarien/Terrarien handelt.
Meine Frage: Wie groß ist der Programmieraufwand, bzw. hat jemand sowas 
ähnliches in der Schublade oder möchte sich gar jemand daran "austoben".
Leider hab ich in Sachen µC nicht so den Durchblick, wie es sein sollte!
Wenn also jemand helfen möchte würde ich mich sehr freuen.

Vorerst mal vielen Dank
Gruß Richard

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Programmieraufwand ist nur minimal.
Du brauchst eigentlich nur den Timer starten, der z.B. jede Sekunde 
einen Interrupt auslöst. In der Interruptroutine stellst du dann immer 
den Wert für die PWM ein.
PWM und Timer sind im AVR-GCC-Tutorial gut erklärt.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So schwer ist die Aufgabenstellung nicht.

Wenn du allerdings noch nie was mit Programmierung gemacht hast, stehst 
du vor einige Detailproblemen, die dich schlaflose Nächte kosten werden.

(Keine Ahnung ob es sowas fertig im Handel gibt. Wenn ja: Kauf dir so 
ein Teil. Wenn du sowas noch nie gemacht hast, kostet dich alleine das 
Lehrgeld bis du auch nur in die Nähe einer Lösung kommst, mehr als wie 
wenn du so ein Teil fertig kaufst)

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!
Das baut ja richtig auf. Leider gibt es sowas nicht zu kaufen, sonst 
hätte ich mir das schon überlegt.
Was das Programmieren angeht, ein wenig Bascom beherrsche ich schon, 
aber ich weiß, daß das nicht ausreicht. Andererseits ist es für mich 
eine Herausforderung, ich kann mich schon mit Problemen 
auseinandersetzen und mit annähernd 55 habe ich etliche Erfahrung in der 
Elektronik. Daß es diese Schaltung (ich hab mal vor Jahren sowas analog 
gebastelt) nirgendwo zu kaufen gibt, wundert mich schon. Es gibt 
bestimmt genug Aqua/Terrarianer, die sowas kaufen täten.
Also bleibt mir nichts anderes als es zu versuchen...

Vielen Dank und Grüße

Richard

Autor: flätz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe zwar kein Terrarium, aber ich denke, dass die dort eingesetzten 
Lampen sich nicht so leicht dimmen lassen.

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...genau so ist das. Daher werden erstmal Glühlampen "hochgedimmt" bis 
diese 100% erreicht haben. Jetzt wird die "normale" Beleuchtung 
zugeschaltet und die Glühlampen werden ausgeschaltet. Am Abend wird 
getauscht...

Gruß Richard

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard Schneider wrote:

> Was das Programmieren angeht, ein wenig Bascom beherrsche ich schon,

Das ist doch schon mal was.
Bascom stellt dir doch eh so ziemlich alles zur Verfügung was du 
brauchst. Eine Uhr, einen PWM Ausgang, Zugang zu den Ausgängen.

Der Rest ist dann nur noch etwas verbindender Kram.

Autor: Klaus2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...leuchtstoffröhren wurden schon in elektor "301 schaltungen" gedimmt.

und sone schaltung gibts unter garantie im netz, da wette ich drauf! nur 
wird man ne weile suchen müssen, was aber einfach und zielführender ist, 
asl ALLES selber zu machen - denn du müsstest ja erstmal laufen lernen, 
bevors an den kusselkopp geht :)

Klaus.

Autor: flätz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das klingt vernünftig. Als erstes uC-Projekt auch gut überschaubar. Viel 
Erfolg!

Autor: flätz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus2
hier ist sicherlich nicht von Leuchtstoffröhren die Rede.

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus: es geht nicht um Dimmen von Leuchtstofflampen, im Terra sind 
z.B. Gasentladungslampen zu finden, da wird es mit Dimmen schon eng!
Und das Netz hab ich auch schon durchgesehen und nichts gefunden. Nicht 
daß ich das komplette Internet durchsucht hätte, aber ich war schon ne 
Zeitlang ergebnislos beschäftigt.
Und außerdem will ich es zumindest versuchen sowas auf die Beine zu 
stellen.

Gruß Richard

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard Schneider wrote:
...
> Daß es diese Schaltung (ich hab mal vor Jahren sowas analog
> gebastelt) nirgendwo zu kaufen gibt, wundert mich schon. Es gibt
> bestimmt genug Aqua/Terrarianer, die sowas kaufen täten.
> Also bleibt mir nichts anderes als es zu versuchen...

z.B. http://www.heers.de/Dimmer.htm

Autor: Klaus2 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...das ja mal ne "Marktniesche" ;)

Sry, wusste nicht das es um GE-Lampen geht!

Klaus.

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tipp. Das Light-Control GLC wäre das passende Gerät. Nun 
kostet es nicht die Welt (155€), jedoch ist wie bereits erwähnt der 
Wunsch und Wille des Selbstbauens doch ziemlich stark, was mit ca. 20€ 
bestimmt finanziert ist. Dennoch vielen dank für die Mühe und 
Unterstützung.

Gruß Richard

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard Schneider wrote:

> Wunsch und Wille des Selbstbauens doch ziemlich stark, was mit ca. 20€
> bestimmt finanziert ist.

20€ würd ich nicht unbedingt sagen.
Das wird schon alleine Gehäuse + der ganze mechanische Kram kosten. Dazu 
noch die Elektronik. Über den Daumen würd ich mal sagen so auf 80€ bis 
einen Hunni wirst in Summe schon kommen, wenn man alles rechnet.

Also: Was hast du an Hardware bereits verfügbar? Wie weit kommst du mit 
Bascom?

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Leider sind die Leistungswerte dieses Geräts nicht überzeugend. Ich 
hatte wie erwähnt mal eine solche Schaltung gebastelt. Diese hatte mir 
ein Zimmer mit 7 Terrarien gut versorgt, was einer Leistung von ca. 
1,5kW entsprach. Wichtig dabei ist, daß alle Terras synchron gesteuert 
werden.
Und das kann erhebliche Belastung bedeuten. Letztendlich ist dieses 
Problem im Vergleich zur Steuerung recht simpel und billig,  man 
benötigt nur eine entsprechend starke Triacsteuerung (Phasenanschnitt) 
oder mehrere parallel. Mit 300-500 Watt pro Steuerung ist leider nicht 
all zu viel anzufangen. Und wenn ich mir vorstelle 5 oder gar mehrere 
solcher Steuerungen kaufen zu müssen - nein danke. Daher schwebt mir 
eine modulare Lösung vor - eine Steuerung und getrennte Leistungsmodule.

Gruß Richard

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Karl Heinz
...also die Hardware in Form von Elektronikbauteilen ist zur Genüge 
vorhanden. Alles, was ich dazu benötige ist ein Gehäuse, welches ich mir 
anfertigen lassen kann (wir haben hier wo ich arbeite eine erstklassige 
Blechnerei). Auch die Platinen stelle ich selber in Industriequalität 
her. Also das einzige Problem ist der Umgang mit Bascom, ich müsste 
wissen, wie ich den Anfang mache.

Gruß Richard

Autor: Jürgen Berger (hicom)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sowas kann man natürlich selber bauen.
Habe ich vor ca. 20 Jahren mit einem U210B mal für eine
Vogelvoliere gemacht. Lichtleistung war ca. 2kW.
Der U210 liess sich mit 0..10V ansteuern, die von einem
Zähler 4040 glaube ich, mit nachgeschalteten DA-Wandler (ZN4??)
erzeugt wurden.
Das ganze würde ich heute natürlich komplett mit einem AVR erschledigen.

Oder man nimmt einen Dimmer mit 0..10V und erzeugt nur die 
Steuerspannung
mit dem AVR.

Jürgen

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richard Schneider wrote:
> @ Karl Heinz
> ...also die Hardware in Form von Elektronikbauteilen ist zur Genüge
> vorhanden. Alles, was ich dazu benötige ist ein Gehäuse, welches ich mir
> anfertigen lassen kann (wir haben hier wo ich arbeite eine erstklassige
> Blechnerei). Auch die Platinen stelle ich selber in Industriequalität
> her. Also das einzige Problem ist der Umgang mit Bascom, ich müsste
> wissen, wie ich den Anfang mache.

Ich würd so vorgehen:
Erst mal eine Testhardware zusammenstopseln (Steckbrett, etc)

Dann Softwaremässig
* Bischen mit Bascom rumspielen um zu sehen ob das System klappt
  Geht compilieren
  Geht µC programmieren
  Geht Programm debuggen
  Ganz einfach: vertraut machen mit der Entwicklungsumgebung und
  ausprobieren ob die Basissachen funktionieren.
  Viel ausprobieren. Doku überfliegen und mal einen Überblick über
  die mit Bascom mitgelieferten Komponenten kriegen. In deinem Projekt
  wirst du brauchen PWM, LCD, Taster, Uhr
  Darauf spezielles Augenmerk legen und im Web auch mal zu Tutorials
  für das eine oder andere suchen. Je besser du dich hier vorbereitest
  umso einfacher gehts dann im realen Projekt.

* PWM in Betrieb nehmen.
  An den Ausgang mal eine LED anhängen und schaun ob ich diese
  auf definierte PWM und damit Dimm-Werte setzen kann.
  Es reicht völlig, wenn der PWM Wert im Programm in einer Variablen
  sitzt und der Wert für diese Variable bei Programmieren vorgegeben
  wird.
  Wenn das soweit klappt, anstelle der LED mal einen Leistungsteil
  und eine richtige Lampe anhängen.

* PWM erst mal ad akta legen und mit dem Timer experimentieren.
  Ziel. Das System soweit bringen, dass in regelmässigen Zeitabständen
  ein Interrupt ausgelöst wird. In welchen Zeiträumen ist erst mal egal.
  Sekunden oder Minuten wär gut, muss aber nicht sein

* Dann beides kombinieren
  Aus der kompletten Dimmzeitvorgabe und der bekannten Interruptzeit
  ausrechnen, wie sich der PWM Wert in einem Interrupt verändern muss
  Das dann mal implementieren (Oben genannte Variable für den PWM-Wert
  entsprechend verändern)
  Das Programm muss dann in zb. 30 Minuten die Lampe von ganz aus auf
  ganz ein durchdimmen.

* Selbiges anders rum (also runterdimmen)

* LCD anhängen und in Betrieb nehmen

* Taster anhängen und in Betrieb nehmen

* Dimmzeit anzeigen und vom Benutzer mit größer/kleiner Tasten
  einstellbar machen. Ziel: Benutzer stellt Dimmzeit ein, drückt auf
  eine Taste und der µC dimmt die Lampe in diesem Zeitraum einmal
  von 0 auf 100

* Das bisherige wieder mal ad akta legen und ein Testprojekt anfangen
  Im Testprojekt mit der Bascom Uhr vertraut machen

* Ist bekannt wie man die Uhr stellt und ausliest, zurück zum
  eigentlichen Programm. Uhrzeit einbauen sowie eine Möglichkeit,
  wie man die stellen kann

* Morgendliche Schaltzeit, abendliche Schaltzeit ins Programm aufnehmen
  und einstellbar machen

* Und dann noch den Check ob eine der Schaltzeiten erreicht ist und wenn
  ja welche. Je nachdem die Werte für den Dimmtimer errechnen und den
  Timer starten, der dann die Lampe dimmt.

Autor: sbernd78 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem 0-10-Voltdimmer finde ich eine Gute Idee. Ansteuern liese 
sich das doch dann hiermit:

http://aquacontrol.biz/html/homedimmy.html

Gruß
Bernd

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, das ist doch mal ein Anfang. Ich werde mich bei nächster 
Gelegenheit mal an mein Atmega Testboard machen und versuchen 
loszulegen. Wahrscheinlich werde ich mich noch mehrmals melden und um 
Hilfe bitten müssen. Jedenfalls Allen herzlichen Dank für die nette 
Unterstützung, insbesondere an Karl Heinz für seine Mühe - ich denke das 
hat mich schon weitergebracht.

Gruß Richard

Autor: Richard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
der Anfang ist gemacht, beinahe hätte es auch geklappt. Problem = Erster 
Durchlauf ist O.K. beim 2. Durchlauf dimmt er 2mal hintereinander hoch.
Hier mal das Listing:

$regfile = "m8def.dat"
$crystal = 8000000
Dim Pwm As Word
Gosub Hell
Gosub Dunkel
Hell:
Config Timer1 = Pwm , Prescale = 8 , Pwm = 10 , Compare A Pwm = Clear Up
    Pwm = 0
    For Pwm = 0 To 1023
    Pwm1a = Pwm
    Waitms 2
    Next Pwm
Return
Dunkel:
Config Timer1 = Pwm , Prescale = 8 , Pwm = 10 , Compare A Pwm = Clear 
Down
    Pwm = 0
    For Pwm = 0 To 1023
    Pwm1a = Pwm
    Waitms 2
    Next Pwm
Return

Ich hab hell und dunkel zum testen mal hintereinander gestellt. Später 
soll es so sein, daß ein Eingang abgefragt wird und je nach Status 
entweder hell oder dunkel gestartet werden soll. Die Zeit wird intern 
festgelegt.
Es würde mich freuen, wenn mir jemand zeigen könnte, was ich falsch 
gemacht habe.

Vielen Dank und Grüße
Richard

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

könnte es sein, dass das programm erst "gosub hell", dann "gosub dunkel" 
ausführt und dann mit "hell:" weitermacht ?
was dann beim "return" in der Zeile vor "dunkel:" passiert weiß ich 
nicht, das programm könnte evtl. in den acker laufen...

du solltest vielleicht vor dem "Hell:" irgendwohin springen 
(hauptschleife)

so als beispiel zum testen:
===================
hauptschleife:
  Gosub Hell
  Gosub Dunkel
  goto hauptschleife

hell:
  ...
  return

dnkel:
  ...
  return
===================

Gruß klaus


PS:
NEIN meine tastatur ich nicht defekt, ich bin nur faul.

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nochmal hallo,

das "dnkel:" sollte natürlich "dunkel:" heißen!

Autor: Mike (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier in Bascom,habe es noch nicht ausgetestet.Dcf77 gesteuert,feste 
Schaltzeiten,aber einstellbar mit größerem MC.Probiere es aus und melde
dich.

Mike

Autor: Mike Köppl (helimike0705)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Richard

Du solltest schon eine Schleife schreiben, Do(Programm)Loop.

Do
Gosub Hell
Gosub Dunkel
Loop
End

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
>Down
>    Pwm = 0
>    For Pwm = 0 To 1023
>    Pwm1a = Pwm
>    Waitms 2
>    Next Pwm
>Return
Bist du dir sicher das es überhaupt runter dimmt? Denke eher es schaltet
einfach auf aus (Pwm = 0) und beginnt neu aufzudimmen
    For Pwm = 0 To 1023
    Pwm1a = Pwm
Wolltest du nicht abwärts dimmen?
Ich kenne mich jetzt mit Bascom nicht aus, aber ist PWM eine Globale 
Variable? Wenn ja, PWM nicht 0 setzen sondern lassen und die 
For-Schleife von 1023 nach 0 laufen lassen.
Wenn nicht Global, Pwm = Pwm1a setzen und die For-Schleife ebenfalls 
rückwärts benutzen.
Das mit der Hauptschleife haben ja schon andere erwähnt.

Viel Erfolg, Uwe

Autor: Richard Schneider (rhschneider)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
danke für die Unterstützung! Bei nächster Gelegenheit werde ich die 
Empfehlungen ausprobieren und berichten...

Gruß Richard

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.