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
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.
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)
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
Ich habe zwar kein Terrarium, aber ich denke, dass die dort eingesetzten Lampen sich nicht so leicht dimmen lassen.
...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
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.
...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.
das klingt vernünftig. Als erstes uC-Projekt auch gut überschaubar. Viel Erfolg!
@Klaus2 hier ist sicherlich nicht von Leuchtstoffröhren die Rede.
@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
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
...das ja mal ne "Marktniesche" ;) Sry, wusste nicht das es um GE-Lampen geht! Klaus.
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
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?
... 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
@ 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
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
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.
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
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
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
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.
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
Hallo Richard Du solltest schon eine Schleife schreiben, Do(Programm)Loop. Do Gosub Hell Gosub Dunkel Loop End
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
Hallo, danke für die Unterstützung! Bei nächster Gelegenheit werde ich die Empfehlungen ausprobieren und berichten... Gruß Richard
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.