mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RGB LEDs Stripes Ansteuerung per PWM IC, 150 Kanäle


Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mit einem STM32 RGB LEDs Stripes ansteuern. Ich möchte 
insgesammt 150 Kanäle mit je 3 oder 6 LEDs in Reihe per PWM dimmen, also 
12V oder 24V. Am liebsten würde ich externe PWM Controller verwenden, 
die z.B. per I2C, SPI oder UART angesteuert werden. So kann ich die 
Kanalanzahl flexibel gestalten, evtl. sollens auch 300 werden.
Ich habe schon bei einigen Chiphersteller alle LED Treiber durchgeschaut 
und dort nur ICs gefunden die KSQs per PWM dimmen. Da die RGB LED 
Stripes aber Vorwiderstände haben, ist eine KSQ ja ausgeschlossen. Kennt 
jemand von euch zufällig ICs die, die oben beschriebene Ansteuerung 
ermöglichen.
Ich möchte die PWMs auf keinen Fall mit dem STM32 erzeugen, dieser wird 
noch genug anderes zu tun haben. Schön wäre es wenn der PWM Controller 
sowohl 12 V als auch 24 V unterstützen würde.
Vielen Dank schonmal.
Hans

Autor: Horst Hahn (horha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wäre eine Ansteuerung per DMX nicht optimal?
http://plischka.at/DMX-512.html PWM und DMX gibt im Forum öfter.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei I2C z.B. PCA9531

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

DMX hatte ich mir für den Hauptcontroller überlegt(aber nicht so 
wichtig, das Gerät soll zu 80% der Zeit autark laufen und muss keine 
externen Datenempfangen, wäre ein "nice-to-have"), der das dann wieder 
an die einzelnen Module verteilt. Die Ansteuerung der LED Streifen will 
ich am liebsten sehr Simpel gestalten und die ganze Logik soll in den 
STM32.
Daher wäre ein PWM IC mit seriellem Interface wunderbar, nur habe ich 
die halt noch nicht für 12V/24V für RGB LED Stripes gefunden(einziges 
Problem sind eigentlich die Vorwiderstände, da das KSQ ausschließt).
Ich will wenn möglich auch nur eine Leiterplatte für den Hauptcontroller 
erstellen um den ganzen Design und Lötaufwand möglichst gering zu 
halten.
Mit freundlichen Grüßen
Hans

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Kann ich bei dem PCA9531 LED Stripes dranhängen? Sind da 12/24V möglich? 
Mehr als 3 Bit zur Addresseinstellung wär schon, aber besser als nix ;)
Mfg Hans

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sind da 12/24V möglich?
Mit einem Transistor am Ausgang schon.

>Mehr als 3 Bit zur Addresseinstellung wär schön
Gibt ja noch mehr von NXP (auch welche mit 126 Adressen):
http://www.nxp.com/#/ps/ps=[i=48878]|pp=[t=pfp,i=48878]

Autor: Hans H. (hhh10)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mir jetzt den PCA9635 rausgesucht.
Würde das so wie angehängt funktionieren?
Mfg Hans

Autor: Lehrmann Michael (ubimbo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prinzipiell ja passt. Vergiss den Abblockkondesator 100nF zwischen VCC 
und GND am IC nicht. Zur Beschaltung des ICs würde ich das Datenblatt 
konsultieren - evtl. stehen da noch weitere Anforderungen drin.

Autor: Joachim B. (jojo84)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht wäre ja auch der TLC5940 was. Der hat 16 Kanäle. Funktioniert 
ähnlich wie ein Schieberegister, nur, daß du für die PWM noch einen 
externen Takt anlegen mußt (ist ja kein Problem). Bei 150 Kanälen und 12 
Bit Auflösung brauchst du bei einer SPI-Frequenz von z.B. 500 kHz gerade 
mal 3,6 ms zum laden neuer Werte :)

Gruß

EDIT:
will ja niemandem böse Absicht nachsagen, aber hättest du (Hans) dir 
nicht einen etwas weniger verwerflichen Nick aussuchen können (H. H.)?

Autor: Horst Hahn (horha)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

man muss nur einen logicLevel MOSFet nehmen.
Der PCA9635 läuft standardmäßig in TotemPole Konfiguration.Kann also 10 
mA an +5V ( = Vcc) liefern.
http://www.fairchildsemi.com/an/AN/AN-7501.pdf#page=1 in Abbildung 12 
sieht man beispielhaft die Schaltzeiten ( es sollen wohl µs und µA statt 
ms und mA sein, sonst macht der Text/Abbildung keinen Sinn.Von 2µA..200 
mA getestet )

Es geht mir nur darum, dass der Strom zum Gate begrenzt werden sollte, 
weil wahrscheinlich alle 16 Ausgänge gleichzeitig einschalten und je 
nach Programmierung auch aussschalten.
Ich weiß jetzt aber nicht, ob dabie die zulässigen Stromwerte auf Vcc 
und GND überschritten.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  H. H. (hhh10)

>Ich habe schon bei einigen Chiphersteller alle LED Treiber durchgeschaut
>und dort nur ICs gefunden die KSQs per PWM dimmen.

Was sinnvoll ist.

> Da die RGB LED
>Stripes aber Vorwiderstände haben, ist eine KSQ ja ausgeschlossen.

Nö, man braucht nur etwas mehr Spannung.

>Kennt
>jemand von euch zufällig ICs die, die oben beschriebene Ansteuerung
>ermöglichen.

TLC5940 & Co.

>Ich möchte die PWMs auf keinen Fall mit dem STM32 erzeugen,

Na den Lobpreisungen gewisser Forenteilnehmer hat der doch endlos Power 
und Timer, wo ist das Problem? ;-)

MFG
Falk

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schonmal vielen Dank für die ganzen Anregungen!!!

@Falk
Wie errechnet sich denn dann die Spannung wenn ich die Stripes an eine 
KSQ hängen würde? Hab ich dann dadurch nicht eine (unnötig) hohe 
Verlustleistung?

Ich will das nicht mit dem STM32 lösen weil das alles räumlich verteilt 
wird und das wären dann ohne Ende Kabel... Außerdem soll der noch 
Touchscreen, Audioverarbeitung(FFT) und so ne Späße machen.

@Horst Hahn
Dann einfach noch einen Widerstand zwischen Ausgang des PCA9635 und 
NMOS?
Welcher NMOS ist denn zu empfehlen?

Mit freundlichen Grüßen
Hans

Autor: Rick D. (rick222)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Widerstand wär an der Stelle überflüssig, es sei denn du brauchst einen 
Spannungsteiler um den NMOS mit z.B nur 3V anzusteuern.
Ein MOSFET wird über Spannung gesteuert es fliesst nur ein sehr geringer 
Strom beim Schaltvorgang als Umladungsprozess- mikroA. Also wo kein 
Strom fliesst, fällt auch keine Spannung ab, also Widerstand ist 
überflüssig --> leistungslose Ansteurung von MOSFETS.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Hans H. (hhh10)

>Wie errechnet sich denn dann die Spannung wenn ich die Stripes an eine
>KSQ hängen würde?

U = I * R ;-)

> Hab ich dann dadurch nicht eine (unnötig) hohe Verlustleistung?

Sie ist höher, aber wahrscheinlich nicht kritisch. Wenn du 3 oder gar 6 
LEDs in Reihe hast, fällt das nicht ins Gewicht.

>Dann einfach noch einen Widerstand zwischen Ausgang des PCA9635 und
>NMOS?

NMOS ist eine (alte) IC-Technologie. Du meinst einen N-Kanal MOSFET.

>Welcher NMOS ist denn zu empfehlen?

Für den Spielkram tut es ein IRF7301 oder so.

MFG
Falk

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Rick D. (rick222)

>Widerstand wär an der Stelle überflüssig,

Stimmt.

>Ein MOSFET wird über Spannung gesteuert es fliesst nur ein sehr geringer
>Strom beim Schaltvorgang als Umladungsprozess- mikroA.

Wenn das mal kein Irrtum ist. Wenn man halbwegs zügig schalten Will, und 
das will man meist, braucht es schon ein paar Milliampere. Aber die kann 
ein normaler CMOS-Ausgang liefern.

>überflüssig --> leistungslose Ansteurung von MOSFETS.

Das gilt nur statisch, wenn das Gate nicht geschaltet wird.

MFG
Falk

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich würde den PCA9635 mit 3.3V betreiben, was muss ich dann bei der Wahl 
des NMOS beachten?
Bin was Transistoren etc. angeht nicht wirklich erfahren..
Mfg Hans

Autor: Rick D. (rick222)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu Beachten ist, dass der N-MOSFET-Anreicherungstyp im Sättigungsbereich 
betrieben wird. Das heisst du willst ja eine PWM steuern. Also der 
MOSFET ist entweder voll durchgeschaltet oder ebend nicht, aber nichts 
dazwischen weil dann die Verlustleistung zu hoch wird. Du guckst also in 
das Datenblatt und schaust zunächst auf das Diagramm U_DS, I-D. Das 
zeigt dir bei welchem Strom, wieviel Spannung an Drain-Source abfällt. 
Diese Spannung sollte möglichst gering sein, jedoch dein MOSFET noch 
genügend Strom schalten. Guckst also links auf der Y_achse nach dem 
Strom und suchst dir das U_GS wo U_DS am kleinsten wird. Jedoch muss 
U_GS in dem Bereich liegen was dein vorgeschalteter Baustein noch an 
Spannung aussteuert. Falls der nicht in diesem Bereich liegt, anderen 
MOSFET suchen. Für U_DS kannst dir auch noch folgende Formel zu Gemüte 
führen: U_DS = R_DSon * I_d aber U_GS beachten


EDIT: 3.3V für U_GS sind relativ wenig, Ideal sind zwischen 10V und 15V. 
Dann erhälst auch die geringste Verlustleistung. Da du sowieso 12V bzw 
24V in der Schaltung hast, kannst du mit einem Transistor die 10V - 12V 
auf den MOSFET schalten. Und wenn der Gute ganz fix schalten soll kannst 
ihm auch noch eine negative U-GS zum ausschalten spendieren.

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

könnte ich dann nicht auch gleich einen Transistor (Bsp. BC817) mit 
Vorwiderstand einsetzen (PC9635 Ausgänge als PushPull konfiguriert)?

Mfg Hans

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Hans H. (hhh10)

>könnte ich dann nicht auch gleich einen Transistor (Bsp. BC817) mit
>Vorwiderstand einsetzen (PC9635 Ausgänge als PushPull konfiguriert)?

Ja. Bei den geringen Strömen kein Problem.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder vielleicht gleich einen BCR108 o.ä., dann sparst du noch den 
Vorwiderstand.

Autor: Horst Hahn (horha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>3.3V für U_GS sind relativ wenig
Beim http://www.mikrocontroller.net/part/IRF7301 reichen sie aber, ab 
Ugs= 2.0 V sind es 10 A.
Zudem ist Rdson mit 0,07 Ohm bei Ugs = 2,7 V angegeben.
Dummerweise ist die Spitzen Sperrspannung Vdss nur 20 V.

Mein Einwand oben bezog sich auf das Umladen der Gate-Kapazitäten beim 
Schalten.
Bei 3 V etwa 4 nC, die im ersten Moment wie ein Kurzschluss wirken, aber 
vielleicht die Schaltzeiten auch so kurz und dadurch zeitanteilig so 
gering und die vorhandene Widerstände im Chip so groß, dass der Chip das 
mühelos mitmacht.
http://www.nxp.com/documents/data_sheet/PCA9635.pdf
4nC *3 V sind 12e-9 As bei einem Konstantstrom von 10 mA wären es 1.2 µs 
Umladezeit.( Ein PMR280UN hätte nur eine Kapazität von 0,6 nC. Hier 
lässt sich sicher mehr finden:
http://www.nxp.com/files/interactive_pdf/power_mos... 
)
Ich sehe jetzt aber nicht sind es 190 Hz oder 97 khz am Ausgang sind.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Horst Hahn (horha)

>Beim http://www.mikrocontroller.net/part/IRF7301 reichen sie aber, ab
>Ugs= 2.0 V sind es 10 A.
>Zudem ist Rdson mit 0,07 Ohm bei Ugs = 2,7 V angegeben.
>Dummerweise ist die Spitzen Sperrspannung Vdss nur 20 V.

Ach Mist, ich komm mit den Zahlen immer durcheinander. Ich meinte 
IRF7103, das ist einer der kleineren MOSFETs. Reicht hier aber auch 
locker.

>Ich sehe jetzt aber nicht sind es 190 Hz oder 97 khz am Ausgang sind.

97 kHz, weiss der Geier warum.

MfG
Falk

Autor: Hans H. (hhh10)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

aus kostengründen werd ich mich dann wohl für die BC817 mit 
Vorwiderstand Variante entscheiden, es sei denn jemand hat da wohl 
begründete Einwände ;)

Werd nachher die Eaglefiles hochladen.

Mfg Hans

Autor: Hans H. (hhh10)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

anbei Schematic und Board, über Kritik und Verbesserungsvorschläge würde 
ich mich sehr freuen.

Mfg Hans

Autor: Hans H. (hhh10)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Board habe ich nochmal leicht geändert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.