Forum: Mikrocontroller und Digitale Elektronik LEDs dimmen, welchen IC?


von Felix P. (honiahaka10)


Lesenswert?

Hallo!
Ich habe vor, eine 16x16 RGB-Matrix aufzubauen bei der Fülle an 
Möglichkeiten weiß ich aber nicht, welchen Baustein ich zum Dimmen 
nehmen soll (ich habe auch noch keinerlei Erfahrung mit PWM).
Bisher ist die Matrix 4x4 LEDs groß und wird einfach über 
Schieberegister von einem Atmega8 angesteuert.
http://www.mikrocontroller.net/part/PCA9634
Ist der IC gut für mich geeignet oder sollte ich lieber einen anderen 
nehmen?

Vielen Dank!

mfg Felix

von Falk B. (falk)


Lesenswert?

Siehe LED-Matrix

von Felix P. (honiahaka10)


Lesenswert?

Hi!
Ich habe mirden Artikel schon mehrmals durchgelesen, finde abernirgends 
etwas, welcher PWM-IC denn nun empfohlen wird.

mfg Felix

von ich (Gast)


Lesenswert?

Felix P. schrieb:
> einem Atmega8 angesteuert

der macht auch die PWM

von NopNop (Gast)


Lesenswert?

Oder I2C/SPI Portexpander gibts auch mit PWM (z.B PCA9531 8-Bit).
Gibt es aber gerade von TI noch wesentlich größere (24-Bit usw.).

Grüße

von Felix P. (honiahaka10)


Lesenswert?

ich schrieb:
> der macht auch die PWM

Der hat aber ja auch nur einen PWM-Ausgng. Ich bezweifle, dass ich meine 
16x16x3-Matrix damit vernünftig ansteuern kann...

>Oder I2C/SPI Portexpander gibts auch mit PWM (z.B PCA9531 8-Bit).
>Gibt es aber gerade von TI noch wesentlich größere (24-Bit usw.).

Könnte ich also den von mir verlinkten PCA9634 benutzen?
Oder gibt es vielleicht noch einen besser geeigneten?
Wie gesagt: Eine 16x16 RGB-Matrix die ich in 256 (inklusive aus) Stufen 
dimmen will.

mfg Felix

von Peter D. (peda)


Lesenswert?

Felix P. schrieb:
> Könnte ich also den von mir verlinkten PCA9634 benutzen?

Das Datenblatt sagt ja.
"The PCA9634 is an I2C-bus controlled 8-bit LED driver optimized for
Red/Green/Blue/Amber (RGBA) color mixing applications. Each LED output 
has its own
8-bit resolution (256 steps) fixed frequency Individual PWM controller 
that operates at
97 kHz with a duty cycle that is adjustable from 0 % to 99.6 % to allow 
the LED to be set
to a specific brightness value."


Peter

von NopNop (Gast)


Lesenswert?

Sorry,

hatte übersehen dass Du bereits den Pca9634 hingeschrieben hattest.
Der müsste bei RGB natürlich besser geeignet sein.

Grüße

von Felix P. (honiahaka10)


Lesenswert?

OK, vielen Dank!
Habe ich das denn auch richtig verstanden, dass ich davon 6 Stück 
bräuchte?
Für 16 Spalten RGB?

Oder gibt es vielleicht noch einen besser geeigneten für mein Projekt?

mfg Felix

von Uwe (Gast)


Lesenswert?

Schaltplan wär nicht schlecht. Aber bei richtigem Konzept des 
Schaltplans kann man schon nen atmega benutzen. Du solltest dir aber im 
klaren sein, daß bei einer 16x16 Matrix (also 256 LEDs bei 256 
Helligkeitsstufen) die Zählfrequenz für eine 50Hz Bildfrequenz 
256x256x50=3,2768MHz beträgt.
Das heißt eine LED ist bei einer Helligkeit vom Wert 1 nur 1/3276800 
Sekunde an. Also 0.305 Mikrosekunden. Da muß also schon ein etwas 
Größerer Strom fließen, sonst sieht man nichts. Also um Treiber wirst du 
wohl nicht herumkommen. Und für den PWM kannst du vieleicht einfach die 
gemeinsamme Anode oder Kathode benutzen nachdem die Adressierung einer 
LED erfolgt ist.

von Uwe (Gast)


Lesenswert?

Bei einer LED die kontinuierlich mit 20mA betrieben wird wird eine 
bestimmte helligkeit erzeugt. Wenn diese LED dann nur 1/256 der Zeit an 
ist erzeugt sie auch nur 1/256 der Helligkeit. Das heißt ich mus Sie mit 
einem 256 mal größeren Strom Ansteuern. Also 256x20mA=5,12A Gepulst. Das 
sollte einem bewußt sein. Also sollte man versuchen LEDs einer Zeile 
oder Spalte gleichzeitig zu dimmen, dann kommt man nur auf einen 
multiplikator von 16 pro LED. Aber im worst case sind alle 16 LEDs der 
Zeile oder Spalte an, womit wieder der gleiche Strom zumindest über den 
gemeinsammen Treiber fließen.

von Falk B. (falk)


Lesenswert?

@  Felix P. (honiahaka10)

>Ich habe mirden Artikel schon mehrmals durchgelesen, finde abernirgends
>etwas, welcher PWM-IC denn nun empfohlen wird.

Dann bist du blind! TLC5922 & Co!

von Steffen (Gast)


Lesenswert?

den HT1632C von Holtek würde auch gehen. Da reicht dann ein IC für Deine 
Steuerung.

von Felix P. (honiahaka10)


Angehängte Dateien:

Lesenswert?

@Uwe
Entweder ich hab dich nicht so ganz verstanden oder du denkst, dass ich 
jede LED einzelnd ansteuer.
Ich habe euch mal meinen Schaltplan angehängt, den ich im Plan aber auf 
4x4 reduziert habe, aber ich denke ihr könnt euch die 12 Spalten und 
zeilen mehr denken ;)

mfg Felix

von Felix P. (honiahaka10)


Lesenswert?

Mag keiner mehr antworten?

mfg Felix

von Lehrmann M. (ubimbo)


Lesenswert?

Felix P. schrieb:
> Ich habe euch mal meinen Schaltplan angehängt

1. Jeder IC brauch noch 100nF Abblockkondensator
2. Gedanken über die Stromversorgung machen (ist bei LED Matrix nicht 
ganz ohne!)
3. Was macht T13? Zweck?
4. Was sind die anderen Transistoren für ein Typ?
5. Gerade für die Zeilentreiber (bei dir PNP) sind Bipolartransistoren 
eher unüblich - Grundsätzlich sind MOSFETs da eindeutig vorzuziehen. 
Gleiches gilt auch für dei Spalten (bei dir NPN)
6. Der 74hct163 ist mit Sicherheit kein PWM-IC
7. Der TLC5940 ist ein recht bekannt PWM-IC mit 16 Kanälen, 12 bit 
Auflösung pro Kanal, eingebaute KSQ

von Felix P. (honiahaka10)


Lesenswert?

Lehrmann Michael schrieb:
> 1. Jeder IC brauch noch 100nF Abblockkondensator
Das ist ja auch nur ein Ausschnitt, die sind natürlich schon vorhanden.

> 2. Gedanken über die Stromversorgung machen (ist bei LED Matrix nicht
> ganz ohne!)
Wollte ich machen, sobald ich PWM hingekriegt habe (mit der 4x4 
Test-Matrix auf dem Steckbrett). Wobei ich bisher nicht ganz verstanden 
hab, was so ein Treiberbausteien denn eigentlich bewirkt??? Ich mein 
letzten Endes muss doch trotzdem die gleiche Stromstärke durch die LEDs 
fließen?

> 3. Was macht T13? Zweck?
Der Dient dazu, die LEDs alle auszuschalten, während die Signale oben an 
das Schieberegister ausgegeben werden, welche LED denn nun leuchten 
soll.

> 4. Was sind die anderen Transistoren für ein Typ?
BC 546 B und BC 556 B

> 5. Gerade für die Zeilentreiber (bei dir PNP) sind Bipolartransistoren
> eher unüblich - Grundsätzlich sind MOSFETs da eindeutig vorzuziehen.
> Gleiches gilt auch für dei Spalten (bei dir NPN)
Was für MOSFETs sollte ich denn verwenden? Damit habe ich bisher noch 
keinerlei Erfahrung gemacht. Wo sind die Vorteile?

> 6. Der 74hct163 ist mit Sicherheit kein PWM-IC
Ist mir schon klar, aber mit denen kriege ich zumindest schon mal ein 
ungedimmtes Bild hin ;)

> 7. Der TLC5940 ist ein recht bekannt PWM-IC mit 16 Kanälen, 12 bit
> Auflösung pro Kanal, eingebaute KSQ
Ah ok dann werd ich wohl den holen, dankeschön :)
Wo krieg ich den denn günstig (als Privatkunde) her? Google hat mir grad 
nicht weiter geholfen... :/
Und brauch ich da noch andere Bausteine oder werden die quasi einfach 
nur anstelle der Schieberegister eingesetzt?

mfg Felix

von Felix P. (honiahaka10)


Lesenswert?

Keiner mehr hier?

von Karl H. (kbuchegg)


Lesenswert?

Felix P. schrieb:

>> 2. Gedanken über die Stromversorgung machen (ist bei LED Matrix nicht
>> ganz ohne!)
> Wollte ich machen, sobald ich PWM hingekriegt habe (mit der 4x4
> Test-Matrix auf dem Steckbrett). Wobei ich bisher nicht ganz verstanden
> hab, was so ein Treiberbausteien denn eigentlich bewirkt??? Ich mein
> letzten Endes muss doch trotzdem die gleiche Stromstärke durch die LEDs
> fließen?

Und wo kommt der Strom her?

>> 3. Was macht T13? Zweck?
> Der Dient dazu, die LEDs alle auszuschalten, während die Signale oben an
> das Schieberegister ausgegeben werden, welche LED denn nun leuchten
> soll.

Warum nimmst du dann nicht einfach Schieberegister, wie zb 595, die ihre 
Ausgänge abschalten können, bzw. im ein extra Ausgangslatch haben? Im 
zweiten Fall kannst du das Schieberegister befüllen, ohne dass sich die 
Ausgangspins ändern. Erst auf ein Signal hin, wird der Inhalt des 
Schieberegisters auf die Ausgänge durchgeschaltet und bleibt dann auch 
dort erhalten.

Aber mit TLC ist das dann sowieso hinfällig

von Felix P. (honiahaka10)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Und wo kommt der Strom her?
Im Moment aus einem Labornetzgerät (0-15V, 0-1,5A)
> Warum nimmst du dann nicht einfach Schieberegister, wie zb 595, die ihre
> Ausgänge abschalten können, bzw. im ein extra Ausgangslatch haben? Im
> zweiten Fall kannst du das Schieberegister befüllen, ohne dass sich die
> Ausgangspins ändern. Erst auf ein Signal hin, wird der Inhalt des
> Schieberegisters auf die Ausgänge durchgeschaltet und bleibt dann auch
> dort erhalten.
>
> Aber mit TLC ist das dann sowieso hinfällig
Das mit dem 595 habe ich auch schon in einem anderen Thread erfahren, 
aber solange die grundlegenen Probleme nicht gelöst sind, kauf ich mir 
keine neuen ICs, wenns denn auch mit den alten funktionieren würde.
Und da die eh ausgetauscht werden müssen gegen den TLC ist die 
Diskussion auch wieder hinfällig.

von Karl H. (kbuchegg)


Lesenswert?

Felix P. schrieb:
> Karl Heinz Buchegger schrieb:
>> Und wo kommt der Strom her?
> Im Moment aus einem Labornetzgerät (0-15V, 0-1,5A)

Du Frage war:
Wozu brauche ich (also du) überhaupt Treiberbausteine?

Und die Antwort ist: wie soll denn sonst der Strom in die LED Strecke 
reinkommen?

Du kannst ein Betonrohr mit 2 Meter Durchmesser haben, in dem du pro 
Sekunde 8 Kubikmeter Wasser durchjagen könntest. Aber solange du an 
jedem Ende vom Rohr nur einen Küchenwasserhahn hast, wirds nichts werden 
mit den 8 m^3

von MaWin (Gast)


Lesenswert?

> aber ich denke ihr könnt euch die 12 Spalten und zeilen mehr denken ;)
> Mag keiner mehr antworten?

Ne,
denn du solltest dir denken können,
daß LEDs nicht einfach mal so den 4-fachen Spitzenstrom verkraften,
den du ihnen bisher zumutest, gerade blaue LEDs sind da mäkelig,
und selbst die Transistoren sind überfordert und bringen keine
ausreichende Stromverstärkung, man braucht also eine andere Schaltung,
z.B. 2 Transistoren pro Zeile in Darlington-Schaltung.

Man kann also die Zeilenanzahl nicht einfach ver-4-fachen.

Es wurde auch alles gesagt:

Im Prinzip kann der die Matrix steuernde Mikrocontroller gleich die PWM 
Dimmung vornehmen, halbwegs geschickte Programmierung vorausgesetzt.

Kann man nur BASCOM, braucht man wohl Hardware-PWM, und das tut gut ein 
TLC5922.

Der PCA9634 ist eher für statische Ansteuerung.

von Felix P. (honiahaka10)


Lesenswert?

Mir ist klar, dass ich die Stromsteuerung sicher noch ändern muss. Aber 
ich würde halt gern erstmal das mit dem dimmen hinkriegen, da ich in 
meiner Testschaltung eh nicht mehr als 4x4 aufbauen wollte.
Wie kreige ich das denn hin, die PWM über den Mikrocontroller laufen zu 
lassen?

mfg 91falk

von MaWin (Gast)


Lesenswert?

> Wie kreige ich das denn hin, die PWM über den Mikrocontroller
> laufen zu lassen?

Landläufig nennt man das Programmieren,
Praktisch lässt man die LED nicht die ganze mögliche Zeit brennen,
sondern schaltet sie vorzeitig wieder aus.

von Felix P. (honiahaka10)


Lesenswert?

Aber wie kriege ich das hin?
Gerade mit dem Schieberegister dazwischen?
Ich habe versucht, einfach mal das Signal 255mal zu wiederholen und die 
LEDs halt nur dann lecuhten zu lassen, wenn sies innerhalb dieser 
Periode sollen.
Resultat war, dass das Bild nur noch geflackert hat.
Problem ist sicher auch, dass die LEDs auch bei den 255mal zwischendurch 
ausgeschaltet werden, wenn das Signal das Register durchläuft.

mfg Felix

von Stefan H. (m00wn)


Lesenswert?

Ich kann wärmstens den TLC59116 weiterempfehlen. 16-Kanal I2C Constant 
Current Driver. Damit kann man sehr einfach tolle LED Projekte 
realisieren. Ich liebe das Teil!
Ein bisschen Programmierübung muss natürlich drin sein. Aber das will 
man ohnehin früher oder später.

Ich weiß noch, wie ich mich gesträubt habe, meine erste PWM mit 
Mikrocontroller zu realisieren, weil ich dachte es sei zu schwierig und 
stattdessen einen NE555 in den Händen hatte. - Ich wurde dann zum ATmega 
gezwungen. Gott sei dank!

Hier ein paar Specs:
•  16 LED Drivers (Each Output Programmable at Off, On, Programmable LED 
Brightness, or Programmable Group Dimming/Blinking Mixed With Individual 
LED Brightness)
•  16 Constant-Current Output Channels
.
.
.

Datasheet: http://focus.ti.com/lit/ds/symlink/tlc59116.pdf

von Felix P. (honiahaka10)


Lesenswert?

Aber wo kriege ich die günstig als Privatkunde her?
Und am liebsten in DIP-Form, damit ich sie auf dem Steckbrett testen 
kann.
Zudem kann ich (zumindest noch) keine Platinen ättzen.

mfg Felix

von MaWin (Gast)


Lesenswert?

> Resultat war, dass das Bild nur noch geflackert hat.

Nun ja, langsame Programme kann jeder schreiben.

Du kannst sicher sein, daß sich über 1000 LEDs problemlos
von einem AVR zur Videodarstellung in 256 Stufen dimmen
lassen, wenn man die Assemblersprache des AVR beherrscht.

von Felix P. (honiahaka10)


Lesenswert?

Assembler kan ich leider gar nicht, ich programmiere in C.

mfg Felix

von Johannes S. (oberekel)


Lesenswert?

Schau Dir statt des TI TLC5940 auch den TLC5947 an, der 5940 braucht 
deutlich mehr externe Beschaltung.

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.