PWM-Beschaltung mehrerer LEDs

Gast #772155
Lesenswert?

Hallo zusammen,

Für eine Steuerung benötige ich folgende Funktion:

7 LEDs sollen einzeln in drei Helligkeitsstufen geschaltet werden 
können(AUS, MITTELHELL, HELL). Die nötigen Anweisungen erledigt ein 
AT90can128. Dieser hat leider nicht genug PWM-Ausgänge für den Anschluss 
von je einem LED-Treiber TLE4241 für jede LED.

Bevor ich einen zweiten µC zur Aufbereitung der Signale verwende (z.B. 
aus der AT90PWM-Reihe) wüsste ich gerne, ob jemand einen einfacheren und 
besseren Vorschlag hat, die 7 (praktisch wohl 8 - 12) PWM-Signale zu 
erzeugen.

Schönen Dank für viele Antworten,

Sören
Gast #772177
Lesenswert?

Mit den Helligkeitsstufen sollte es kein Problem sein, die PWM 
softwaremäßig zu emulieren.
Nimm als PWM-Frequenz z.B. ein Kilohertz, dann langweilt sich deine MCU 
zu Tode. Am besten - wenn's die MCU - hergibt, einen Timerinterrupt 
verwenden, und einen port entweder eingeschaltet, ausgeschaltet oder im 
Wechsel ein- und ausschalten. Keine Hexerei. Wenn Du den Duty-Cycle für 
halb hell auf 25% einstellst wird das Ergebnis rein visuell besser 
werden.
Gast #772218
Lesenswert?

Die PWM-Funktionalität zum Dimmen der LEDs muss leider erhalten bleiben, 
da ich später die Helligkeit softwareseitig verändern können muss. Die 
Lösung nur über Vorwiderstände funktioniert also nicht...
Gast #772927
Lesenswert?

Mit Konstantstromregelung meinte ich im Prinzip nur, dass LEDs, die 
gleich hell sein sollen auch wirklich gleich hell sind. Aufgrund der 
Proportionalität von Strom und Helligkeit lässt sich das meiner Meinung 
nach nur z.B. über einen LED-Treiber erreichen, der einen konstanten 
Strom "treibt", oder?
#772952
Lesenswert?

Sören wrote:
> Also ein Software-PWM kommt meiner Meinung nach nicht in der Frage, weil
> der µC auch noch weitere Berechungen durchführt, unter anderem soll er
> über CAN kommunizieren.

Und?
Bei 7 bis 12 Led und 16 Stufen braucht eine Soft-PWM über den Daumen
noch nicht mal 5% Rechenleistung. Ich wage mal die Behauptung, dass
dein restliches Programm die Soft-PWM noch nicht mal bemerken wird.
Gast #772966
Lesenswert?

Hallo Sören,

einfach eine "Additive PWM" verwenden. Pro LED ein Zähler (8 Bit).
Timer Interrupt für Zeitfenster (z.B. 1 ms).
Im Interrupt Zähler + PWM-Wert. Den Überlauf (Carry-Bit) auf den port
ausgeben. Besonderst im mittleren Bereich gut zu glätten.
Für beliebig viele Ausgänge möglich.

Gruß hans

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren