Guten Morgen alle zusammen Ich habe mich hier im Forum und in Artikeln bereits über die Wahrnehmung und Ansteuerung von LEDs belesen. Zur Zeit programmiere ich mit einem Kumpel einen Mikrocontroller für die Ansteuerung verschiedener RGB LEDs. Wir haben uns überlegt, jede LED vier Helligkeitsstufen zu geben. Darin liegt zur Zeit mein Problem. Ich dachte mir das ich jeder Farbe vier Pins am Controller zur Verfügung stelle und jede Farbe mit einem NPN durchschalte. Daher wollte ca. 100%, 75%, 50% und 25% ansteuern können. Ich habe versucht das logarithmische Empfindend des Auges mit dem exponentiellen Wachstum des LED Stromes irgendwie mathematisch in Verbindung zu setzen, aber ich bekomme es einfach nicht hin. Das haben bestimmt schon mal welche durchgemacht. Mir geht es schließlich nur darum, den LED-Strom für ungefähr 75%, 50% und 25% Leuchtkraft zu kennen. 100% entsprechen 350mA. Also wie gesagt: Mikrocontroller --> Basisstrom von NPN --> Laststrom durch LED (max. 350mA)
:
Verschoben durch User
Moin, eine LED - ein PIN an Controller. Die Helligkeit macht man doch mit PWM. Das hat den Vorteil, dass man die Stufen via Software einstellen kann. Gruß Andreas
>Die Helligkeit macht man doch mit PWM. >Das hat den Vorteil, dass man die Stufen via Software einstellen kann. Und man hat minimale Schaltverluste, da alle schaltenden Elemente nur mit 100% und 0% arbeiten.
PWM wollte ich auch nehmen, doch leider habe ich keinen Timer mehr zur Verfügung. Alle drei Timer meines Atmega 8 snd bereits in Benutzung.
Dann solltest du dir über dein Timer-Konzept Gedanken machen. Eine Soft-PWM kannste bestimmt noch in irgend einen Timer mit rein hängen. Gruß Fabian
Timer ISRs können mit vielfachen Funktionen belegt werden. Es kann durchaus reichen, einen einzigen Timer für alle grundlegenden zeitkritischen Dinge im Controller zu verwenden. Die Abstufung der Prioritäten erreicht man durch verschiedene Zählvariablen, die in der ISR hochgezählt werden und wenn eine Vergleichsbedingung erfüllt ist, wird der entsprechende Vorgang ausgelöst.
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.