www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED Dimmer


Autor: Ingo Rauth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

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

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Ingo Rauth (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Steffen So (strangeperson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Steffen So (strangeperson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

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

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Steffen So (strangeperson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

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

Bewertung
0 lesenswert
nicht lesenswert
Ja so ist das mit Helligkeiten :-)
Die verhalten sich logarithmisch.

Autor: Steffen So (strangeperson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber nur im Auge des Betrachters oder? ;-)

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.