Elektronik-Projekt: Elektronischer Adventkranz


zurück zu Elektronik, Homepage

Adventkranz im Betrieb

1. Grundlegendes zur Erzeugung von Flackerlicht

Für die Nachbildung von Flackerlicht wird hier eine Tabelle verwendet, wobei die Tabellenwerte ein Maß für die Helligkeit der Leuchtdiode sind. Die Leuchtdiode leuchtet mal hell, mal etwas dunkler, wieder eine Spur heller usw., so wie es die Werte in der Tabelle vorgeben. Wenn diese Helligkeitsänderungen sehr schnell sind, nimmt das menschliche Auge dies als Flackern war, so wie das Flackern einer Kerze.
Da eine Tabelle aber nur eine begrenzte Anzahl an Werten beinhaltet, wiederholt sich dieses Flackern immer wieder. Je länger die Tabelle ist, desto weniger tragisch wird dieser kleine Nachteil. Hier, bei dieser Arbeit, wiederholt sich das Flackern erst nach ca. 17 Sekunden, was genau genommen schon sehr lange ist.

Die Abbildung 1.1 zeigt die Tabellenwerte in grafischer Form für eine mögliche Flackersequenz, wobei null gleich bedeutend mit dunkel ist (die Leuchtdiode oder eine Glühlampe leuchtet nicht) und beim Maximalwert von 31 leuchten die Leuchtdiode (oder eine Glühlampe) mit voller Helligkeit. Bei den Werten zwischen 0 und 31 leuchtet diese dementsprechend weniger hell.

 Flackerzyklus (Tabelle)

Die zur Abbildung 1.1 dazugehörigen Tabellenwerte sind in Listing 1.1 so wie sie auch im Quellcode für den Mikrocontroller verwendet werden angegeben. Bei diesem Listing handelt es sich um einen Auszug aus dem Quellcode, der im Abschnitt 3.4.3 auszugsweise abgedruckt ist.

Tabelle zur Erzeugung von Flackerlicht

Für die Ausgabe des analogen Tabellenwertes an einem digitalen Ausgang wird das Prinzip der Puls-Weiten-Modulation (kurz: PWM) verwendet. Die Abbildung 1.2 zeigt das Prinzip der Puls-Weiten-Modulation in Form von Zeitdiagrammen.

 Flackerzyklus (Zeitdiagramme)

Bei der Puls-Weiten-Modulation wird eine rechteckförmige Ausgangsspannung mit fixer Periodendauer T, aber variabler Impulsdauer ti erzeugt. Ist die Impulsdauer ti sehr kurz im Vergleich zur Pausendauer tp, dann ist die "Fläche" sehr klein. Für den Verbraucher (hier für die Leuchtdiode) bedeutet dies eine kleine Spannung. Die Leuchtdiode leuchtet daher schwach, oder gar nicht. Ist die Impulsdauer ti dagegen groß, dann ist die Pausendauer tp gering, und die "Fläche" ist daher groß, und die Leuchtdiode leuchtet sehr hell. Das Verhältnis zwischen Impulsdauer ti und Pausendauer tp bestimmt daher die Helligkeit der Leuchtdiode. Wichtig ist nur, dass die Periodendauer T (also die Summe von Impulsdauer ti und Pausendauer tp) immer gleich bleibt (T = ti + tp).
In Abbildung 1.2 ist dies im unteren Teil noch einmal grafisch für einige Fälle dargestellt: links ist ti = 1/4 T (c), daher ist auch die Ausgangsspannung Ua nur ein viertel der maximal möglichen Spannung (d). Beim Fall etwa in der Mitte ist ti = tp = 1/2 T, daher ist auch die Ausgangsspannung Ua nur die Hälfte der maximal möglichen Spannung. Im letzen Fall ist ti = 7/8 T, und die Ausgangsspannung Ua ist daher auch nur 7/8 der maximal möglichen Spannung.

Damit das Fackern auch vom Auge als Flackern wahrgenommen wird, darf die Periodendauer T nicht zu groß werden, andererseits darf das Flackern auch nicht zu schnell erfolgen. Das Flackern einer "echten" Kerze ist relativ langsam. Ein realistisches Flackern lässt sich etwa mit einer Periodendauer T von ca. 16ms (entspricht einer Frequenz von ca. 61Hz) erzeugen, und wenn jede "Periode" fünf mal wiederholt wird, dann ist das Flackern schon sehr realitätsgetreu.

Listing 1.2 zeigt das Unterprogramm für die softwaretechnische Realisierung des hier beschriebene Flackerlichts.

Unterprogramm Flackerlicht

Dieses Unterprogramm ist sehr einfach, und erzeugt genau das Zeitdiagramm gemäß Abbildung 1.2a) und 1.2b). Das Register Gleichheitsszaehler ist für das fünfmalige Wiederholen notwendig. Die Konstante KONST_GLEICHHEIT beinhaltet demnach den Wert 5.
Bei LED handelt es sich um den Portpin, an dem die Leuchtdiode angeschlossen ist. Das Register TabFlackerlicht_Zaehler gibt an, welcher Wert aus der Tabelle TabFlackerlicht gelesen werden soll, und das Register PWM_LED beinhaltet den Wert aus der Tabelle und somit die "Impulsdauer".
Die Konstante KONST_PWM_OBERGRENZE beinhaltet den Wert 32, und somit die Periodendauer.

Wichtig:
Das Unterprogramm Flackerlicht muss regelmäßig vom Hauptprogramm aufgerufen werden.
nach oben


zurück zu Elektronik, Homepage

Autor: Stefan Buchgeher
Erstellt: 24. Januar 2010
Letzte Änderung: