Hallo,
gibt es ICs, die man über UART oder SPI ansteuern kann und die dann
PWM-Signale ausgeben?
Ich möchte mehrere Hochleistungs-LEDs unabhängig voneinander dimmen und
das ganze mit einem ATMEGA ansteuern.
Ein IC wie ich es suche sollte folgende Eigenschaften haben:
- mind. 8 unabhängige PWM-Kanäle, besser 10 oder 12
- direkte Ansteuerung der Gates der MOSFETs möglich
- PWM-Frequenz relativ hoch, mind. 3kHz
- Auflösung mind. 10 Bit
- über UART oder SPI ansteuerbar
dirk schrieb:> gibt es ICs, die man über UART oder SPI ansteuern kann und die dann> PWM-Signale ausgeben?
Ja, die heissen z.B. ATMegaXXX und STM32XXX in ihren vielfältigsten
Ausführungen.
dirk schrieb:> mit einem ATMEGA ansteuern.
Mehr brauchst Du nicht.
Man muss nicht zwangsläufig PWM Hardware dafür haben.
Software PWM nach dem Prinzip der Pulse Dichte Modulation könnte was für
Dich sein.
4kanal, 10bit, 100 Hz habe ich mal auf einem 8081 gemacht.
Ob 4 oder 10 Kanäle macht fast keinen Unterschied, weil es nur um einen
weiteren Vergleich + Ausgang setzen geht.
PDM kommt durch das Dithering mit geringeren Wiederholraten aus.
50% duty
PWM: 1111100000
PDM: 1010101010
Wie kommst Du eigentlich auf 3Khz?
Scheint mir sehr willkürlich gesetzt zu sein.
Crazy H. schrieb:> einen uC davor und selber bauen.
Nicht so ohne weiteres mit den Anforderungen des TO zu machen.
Entweder genug PWM Hardware in der MCU oder genügend Speed um das mit
PDM zu machen, sollten schon sein.
dirk schrieb:> gibt es ICs, die man über UART oder SPI ansteuern kann und die dann> PWM-Signale ausgeben?>> Ich möchte mehrere Hochleistungs-LEDs unabhängig voneinander dimmen und> das ganze mit einem ATMEGA ansteuern.
Dann lass' es doch einfach den ATmega selber machen, dann entfällt
schonmal die Anforderung bezüglich der Ansteuerung.
Alles, was zu tun bleibt, ist eine effizient programmierte Soft-PWM und
der Drops ist gelutscht.
Und wenn du am vorhandenen Atmega nicht mehr genug Pins frei hast, dann
nimmst du halt einen zweiten oder einen Tiny nur für die PWM-Geschichte.
dirk schrieb:> Hallo,>> gibt es ICs, die man über UART oder SPI ansteuern kann und die dann> PWM-Signale ausgeben?>> Ich möchte mehrere Hochleistungs-LEDs unabhängig voneinander dimmen und> das ganze mit einem ATMEGA ansteuern.>>> Ein IC wie ich es suche sollte folgende Eigenschaften haben:>> - mind. 8 unabhängige PWM-Kanäle, besser 10 oder 12>> - direkte Ansteuerung der Gates der MOSFETs möglich
Klingt nach Konstantspannungsnetzteil + Widerstand + LED + Power-MOSFET
als Schalter in Reihe, also recht ineffektiv. Hochleistungs-LEDs werden
normalerweise mit einem Konstantstromnetzteil betrieben, und gute
Netzteile haben meist auch einen PWM Steuereingang.
>> - PWM-Frequenz relativ hoch, mind. 3kHz
Overkill. Ergibt mit der gewünschten Auflösung eine minimale
Pulsbreite/Auflösung von 300 nsec, da wird die MOSFET Ansteuerung aber
schon anspruchsvoll.
>> - Auflösung mind. 10 Bit
Overkill. Temperaturabhängige Intensitätsänderungen der LEDs werden
deine Auflösung deutlich übersteigen. Und dein Auge kann das sowieso
nicht mehr unterscheiden.
Ich denke du solltest dein Konzept bzw. deine Anforderungen nochmals
überdenken.
Vielen Dank für eure Antworten!
Ein Atmega ist wahrscheinlich nicht der optimale
Leistungs-MOSFET-Treiber, man könnte aber noch einen kräftigen
Bustreiber dazwischen schalten.
MinMax schrieb:>> - Auflösung mind. 10 Bit>> Overkill. Temperaturabhängige Intensitätsänderungen der LEDs werden> deine Auflösung deutlich übersteigen. Und dein Auge kann das sowieso> nicht mehr unterscheiden.>> Ich denke du solltest dein Konzept bzw. deine Anforderungen nochmals> überdenken.
Für höhere Helligkeitsstufen hast du Recht, aber wenn man in ganz
kleinen Schritten hochdimmen möchte, benötigt man meiner Erfahrung nach
eine hohe bis sehr hohe Auflösung.
Oder gibt es einen Trick, wie man auch bei einer relativ geringen
Auflösung ein softes Dimmverhalten im unteren Lichtbereich hinbekommt?
Bei 8 Bit Auflösung stellst du nämlich die LED von 0 auf 1 und sie
leuchtet schon viel zu hell. Von 1 auf 2 ist der Helligkeitssprung immer
noch viel zu groß und erst ab Stufe 20 (oder je nachdem 40) wird das
Dimmverhalten akzeptabel.
dirk schrieb:> Für höhere Helligkeitsstufen hast du Recht, aber wenn man in ganz> kleinen Schritten hochdimmen möchte, benötigt man meiner Erfahrung nach> eine hohe bis sehr hohe Auflösung.
Stimmt.
10b war bei mir das Minimum bei niedrigster Dimmstufe und
dunkeladaptiertem Auge.
10b sind auch nicht das Problem, sondern die 3Khz die Du erreichen
willst.
Was lässt Dich glauben das Du eine so hohe Wiederholrate brauchst?
Bei 100Hz ist auch schon kein Geflacker mehr sichtbar.
Mit einem C über den LEDs erreichst Du viel mehr als über eine high
speed PWM die Dir eine Menge Probleme bereitet.
Schau Dir wirklich mal das PDM Verfahren an.
Leicht und Recourcenschonend zu programmieren und Du bekommst so viele
PDM Ausgänge wie Du nur haben willst.
Nur hohe Wiederholraten benötigen einen irre hohen MCU Takt um auf Deine
Pulsbreiten zu kommen.
Dazu starke Mosfet Treiber, weil Du die Fets sonst im Linearbetrieb
betreibst mit diversen Folgeproblemen.
dirk schrieb:> gibt es ICs, die man über UART oder SPI ansteuern kann und die dann> PWM-Signale ausgeben?
Eine Menge, z.B. TLC5940=AS1112 (16*120mA/17V Konstantstrom, TI,
Darisus), MAX6966 (10, Maxim), PCA9626B (24*100mA 40V open drain, I2C,
Philips) WS2803 (18 x 30mA/30V eBay 1.-) PCA9532 (16*12.5mA, I2C,
Philips) TB62718 LT8500TLC5904TLC5905TLC5910TLC5911. Die habne aber
alle Ausgänge für LEDs bis 100mA. Damit man über die einen MOSFET
steuern kann der dann Hochleistungs-LEDs steuert, muss man was
dranbauen, netterweise übernehmen die ICs auch die Pegelwandlung.