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
schau dazu mal bei TI vorbei, die haben jede Menge LED Treiber (PWM oder
Konstantstrom), die du über SPI ansteuern kannst. Dafür brauchst du dann
nur 3 Pins
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.
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.
@ Michael Wilhelm (Gast)
>Wenn es nur um die Helligkeit geht und nch ein paar Portpins zur>Verfügung stehen, dann mit 2 Pins an die Led mit verschiedenen>Widerstandswerten.
Genau. Das noch mit Schieberegistern kombiniert und alles ist paletti.
AVR-Tutorial: Schieberegister
MFG
Falk
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...
>Der Kunde erwartet hohe Qualität, also benötige ich unbedingt>eine Konstantstromregelung, damit die LEDss nicht unterschiedlich hell>sind.
Der Kunde??
Dann gehört das in das FOrum Markt
Qualität != Konstantstromquelle
@ Sören (Gast)
>Achja: Der Kunde erwartet hohe Qualität, also benötige ich unbedingt>eine Konstantstromregelung, damit die LEDss nicht unterschiedlich hell>sind.TLC5922.
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?
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.
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
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.