Forum: Mikrocontroller und Digitale Elektronik Problem mit Soft-PWM und High-Power-LED (ATMega8)


von Andre (Gast)


Angehängte Dateien:

Lesenswert?

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é

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
Noch kein Account? Hier anmelden.