Hallo zusammen,
ich habe ein etwas seltsames Problem beim Bau einer der bekannten
Farbwechsel-RGB-LED-Moodlamps.
Ich verwende einen ATMega8, intern mit 8 MHz getaktet. Ich Programmiere
mit BASCOM.
Das Programm sieht 2 Modi vor: automatischer Farbwechsel zwischen
verschiedenen Farben und freie Farbwahl über 3 Potis.
Die Potis sind 10 kOhm, die Transistoren sind BC337-25. Basiswiderstände
vor den Transistoren sind 500 Ohm, die LED-Vorwiderstände sind auf
momentan 200 mA Strom pro LED-Farbe ausgelegt (wird später 350 mA), es
handelt sich um eine Seoul Z-LED P5.
Jetzt das Problem: im Farbwechselmodus klappt alles wunderbar.
Sobald ich jedoch auf einstell-Farben gehe und ein beliebiges Poti auf
mehr als ca. 50% aufdrehe, flackern die anderen beiden Farben, trotz
Poti auf Nullstellung, leicht unregelmäßig mit ca. 10 Hz mit.
hier die relevanten Code-Teile:
1 | Rot Alias Portd.5
|
2 | Gruen Alias Portd.6
|
3 | Blau Alias Portd.7
|
4 |
|
5 | Config Adc = Single , Prescaler = Auto , Reference = Avcc
|
6 | Start Adc
|
7 |
|
8 | On Timer1 Ontimer1
|
9 | Config Timer0 = Timer , Prescale = 64
|
10 | Enable Timer0
|
11 | Config Timer1 = Timer , Prescale = 1
|
12 | Enable Timer1
|
13 | Enable Interrupts
|
1 | T1 = Getadc(0)
|
2 | T2 = T1 / 4
|
3 | Rhell = T2
|
4 | T1 = Getadc(1)
|
5 | T2 = T1 / 4
|
6 | Ghell = T2
|
7 | T1 = Getadc(2)
|
8 | T2 = T1 / 4
|
9 | Bhell = T2
|
1 | If Timer0 < Rhell Then Rot = 1
|
2 | If Timer0 > Rhell Then Rot = 0
|
3 | If Rhell = 0 Then Rot = 0
|
4 | If Rhell = 255 Then Rot = 1
|
5 |
|
6 | If Timer0 < Ghell Then Gruen = 1
|
7 | If Timer0 > Ghell Then Gruen = 0
|
8 | If Ghell = 0 Then Gruen = 0
|
9 | If Ghell = 255 Then Gruen = 1
|
10 |
|
11 | If Timer0 < Bhell Then Blau = 1
|
12 | If Timer0 > Bhell Then Blau = 0
|
13 | If Bhell = 0 Then Blau = 0
|
14 | If Bhell = 255 Then Blau = 1
|
wie gesagt, wenn die Variablen Rhell, Ghell und Bhell automatisch
bestückt werden klappt alles wunderbar!
Kann mir nicht erklären wo das Problem liegt?
Verwende ich den selben Aufbau mit einer 5mm-20mA-RGB-LED tritt das
Problem nicht auf. Beeinflussen sich die Transistoren irgendwie
gegenseitig? Aber warum nicht im Farbwechsel-Modus?
Ach ja, und noch etwas verwundert mich:
wenn ich die LED's auf "dunkel" dimme, flackern sie merklich, obwohl
doch die Blinkfrequenz im schlimmsten Fall 8 Mhz geteilt durch 64
Prescale geteilt durch 256 An/Aus-Verhältnis = 488 Hz betragen sollte?
Im Anhang auch noch die verwendete Schaltung
Danke schonmal für Eure Hilfe,
André