Hi, ich bin gerade dabei mich in die Materie einzuarbeiten und daher als erstes versucht mit BASCOM und einem Mega8 einen LED Dimmer zu realisieren. Dabei beiße ich mir gerade schon den 2. Abend die Zähne aus. Ich komme nur so weit das, dass LED blinkt, aber das ist leider noch etwas weit vom Dimmen entfert. Kann mir jemand helfen ? Hier mal der Code: $regfile = "m8def.dat" $crystal = 4000000 Config Portb.1 = Output Config Timer1 = Pwm , Prescale = 256 , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect Do Compare1a = 205 Compare1b = 20 Loop End
> Ich komme nur so weit das, dass LED blinkt, aber das ist leider > noch etwas weit vom Dimmen entfert. Na ja. Eigentlich nicht. Dimmen ist in diesem Fall auch nichts anderes als blinken. Nur ist das Blinken halt so schnell, dass man es nicht mehr als blinken erkennt.
Alles klar, das gibt schon mal Hoffnung. Und wie komm ich dann zum Dimmen, also das ich in einem sichtbaren intervall langsam von Hell nach Dunkel bzw. andersrum komme?
Die Helligkeit wird über das Tastverhältnis bestimmt. Und es sollte bei einer Frequenz um die 100Hz gearbeitet werden! Ich bin grade bei einem ähnlichen Projekt, allerings verwende ich soft PWM da die Hard PWM's nicht ausreichen von der Anzahl. Aber wenn du ein bisschen mit Tastverhältnis herumspielst, kommst du zum Ziel! Quellcode habe ich leider noch keinen....
Das Dimmen selbst erreichst du indem du ein Tastverhältnisbereich von 0% bis 100% überstreichst. D.h. du startest mit einer Pulspause von 100% (Aus) und endest bei einer Pulspause von 0% (an), die Stufen musst du ausprobieren. Rein programmtechnisch wurde das so ausehen, das du eine Schleife durchlaufen lässt und die Pulspause in jedem Durchgang etwas erhöhst.
Indem du das Verhältnis von Einschalt- zu Ausschaltzeit der LED veränderst. Du sich dein Blinken noch im sichtbaren Bereich bewegt, würde ich mal damit anfangen dieses Verhältnis veränderbar zu machen, bzw, zu ergründen wie das mit Bascom gemacht wird. Auf Deutsch: spiel doch mal mit den Compare Werten rum. Bei bestimmten Werten wird die Led nur kurz aufblitzen, gefolgt von einer Pause. Bei anderen Werten leuchtet die Led länger, dafür ist dann halt die Pause kürzer. Das ist dann eigentlich schon alles: lass die Led jetzt einfach schneller blinken und du wirst das eigentliche blinken nicht mehr sehen können. Stattdessen erscheint sie dir im ersten Fall (kurze Einschaltdauer, lange Pause) dunkel, während sie im zweiten Fall (lange Einschaltzeit, kurze Pause) hell erscheint. Zwischenwerte in der Zeitverteilung machen sich dann auch als Zwischenwerte in der Helligkeit bemerkbar. Natürlich kann man dann in einer Schleife die bewussten Werte von einem Extrem zum anderen Extrem und wieder zurück variieren, was dann die Led in der Helligkeit entsprechend variiert.
So in etwa meinte ich das doch auch... ;-) Da gibt es schon ne Menge auszuprobieren, ich habe im Moment das Problem, das ich ein Tastverhältnis von 0 - 100% überschreite (lineare Teilung), aber die Helligkeit sich alles andere als linear verhält. Das Dimmen findet bei 0-15% Pulsdauer statt, der rest hat auf die Helligkeit fast keinen Einfluss.
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.