Forum: Mikrocontroller und Digitale Elektronik Mehr PWM Pins und höhere I


von Erkan (Gast)


Lesenswert?

Hallo zusammen,

ich bin absoluter Neuling wenn es um Microcontroller geht. Allerdings 
Informatiker - Grundwissen ist also da.

Ich habe nun eine Weile gesucht, denke allerdings ein kleiner Tipp wird 
mich schon auf den richtigen Weg bringen.

Ich will 130 LEDs steuern und dimmen. Glücklicherweise werden die LEDs 
in etwa 20 Blöcken gesteuert - Ich brauche also nicht alle einzeln zu 
dimmen, sondern i.d.R. mit etwa 10 LEDs im Verbund.

Nun habe Ich die Boards von Arduino gefunden - Gerne andere Vorschläge.
Dort gibt es bei der größten Version 54 I/O Pins, wobei davon nur 14 PWM 
können. Ich bräuchte 1. etwa 25 um mit meinem bisherigen Wissen alle LED 
Verbunde dimmen zu können.

Aber 2.: Die LEDs sind mit etwa 20mA ausgeschrieben. Ein I/O kann dort 
nur 40mA. Also wird das schonmal nichts mit 5 - 10 LEDs im Verbund an 
einen PWM Pin.

In welche Richtung sollte Ich weitersuchen, um die passende Information 
/ Hardware zu finden?

Ich hab fast das gefühl, dass es nicht der richtige weg ist, ein Board 
zu finden mit mehr PWM Pins und höherer Stromstärke?

Vielen Dank für eure Tipps.

Gruß,
Erkan

von Floh (Gast)


Lesenswert?

Erkan schrieb:
> Ich hab fast das gefühl, dass es nicht der richtige weg ist, ein Board
> zu finden mit mehr PWM Pins und höherer Stromstärke?

Richtig:
mehr PWM -> für LEDs reicht auch Software-PWM.
mehr Stromstärke -> üblicherweise verwendet man einen Treiber.

Wenn du die LEDs pro Block in Reihe schalten kannst, sparst du dir auch 
eine Menge Widerstände.

von Falk B. (falk)


Lesenswert?

@  Erkan (Gast)

>Ich will 130 LEDs steuern und dimmen.

Wer will das heutzutage nicht? ;-)

>Nun habe Ich die Boards von Arduino gefunden - Gerne andere Vorschläge.

Kann man nutzen.

>Dort gibt es bei der größten Version 54 I/O Pins, wobei davon nur 14 PWM
>können. Ich bräuchte 1. etwa 25 um mit meinem bisherigen Wissen alle LED
>Verbunde dimmen zu können.

Hmm, muss man wohl auf Soft-PWM umsteigen. Macht der Arduino 
wahrscheinlich sowieso schon.

>Aber 2.: Die LEDs sind mit etwa 20mA ausgeschrieben. Ein I/O kann dort
>nur 40mA. Also wird das schonmal nichts mit 5 - 10 LEDs im Verbund an
>einen PWM Pin.

Du brauchs so oder so einen Treiber, hier z.B. einen ULN2803. Dann kann 
man 10 LED mit einem Vorwiderstand in Reihe schalten.

>Ich hab fast das gefühl, dass es nicht der richtige weg ist, ein Board
>zu finden mit mehr PWM Pins und höherer Stromstärke?

Du brauchst so oder so Treiber, siehe oben. Und siehe LED-Matrix.

von Erkan (Gast)


Lesenswert?

Hi Danke!
Soft-PWM belastet aber die CPU stark, so wie ich gelesen habe. Wenn Ich 
also Soft-PWM für 10 Blöcke machen muss, und dazu möglicherweise noch 
kleinigkeiten wie synchronisation mit externen Quellen, hab ich fast das 
gefühl das könnte knapp werden. Reines Bauchgefühl :)

von Frank K. (fchk)


Lesenswert?

Erkan schrieb:

> Ich will 130 LEDs steuern und dimmen. Glücklicherweise werden die LEDs
> in etwa 20 Blöcken gesteuert - Ich brauche also nicht alle einzeln zu
> dimmen, sondern i.d.R. mit etwa 10 LEDs im Verbund.

Es gibt von TI passende LED-Treiber-ICs. Die machen selber PWM und 
können je nach Chip bis zu 60mA pro Ausgang bei 8 bis 24 Ausgängen. Und 
sie haben Konstantstromausgänge, d.h. Du brauchst keine Vorwiderstände 
an den LEDs, das regelt der Chip selber.

Such mal nach TLC5940, TLC5941, TLC5947. Das sind einige dieser 
Bausteine, es gibt noch mehr. Ansteuerung per SPI, näheres steht in den 
Datenblättern.

Von NXP gibts ähnliche Bausteine, auch mit PWM-fähigkeit, mit I2C 
Schnittstelle.

fchk

von Udo S. (urschmitt)


Lesenswert?

Erkan schrieb:
> Soft-PWM belastet aber die CPU stark, so wie ich gelesen habe.

Du bist Informatiker, also solltest du dir ausrechnen können wie stark 
etwas Timer interrupt und Port IO die CPU belastet.
Ansonsten was Frank geschrieben hat. Würde wohl aber auch ohne das 
gehen.

Bei deinen max. Belastungsrechnung. Ein Pin kann zwar max. 40 mA, es 
gibt aber eine max. Grenze für einen Port (und die ist idR niedriger als 
8 * 40mA) und es gibt einen max. Strom für den µC.
Du musst das Datenblatt gründlich durchgehen.

von m.n. (Gast)


Lesenswert?

Erkan schrieb:
> Allerdings
> Informatiker - Grundwissen ist also da.

Welche Versorgungsspannung steht Dir denn zur Verfügung? LEDs kann man 
auch in Reihe schalten, wobei der Strom niedrig bleibt.

In welchem Bereich sollen die LEDs gedimmt werden? Reichen 8 Bit?
Dann ist Soft-PWM reicht einfach und kostengünstig. Ein Beispiel ist 
hier;
http://www.mino-elektronik.de/AVR_PWM_64/AVR_PWM_64.htm
mehr oder weniger Kanäle oder höhere Auflösung nebst Zeiteinschätzung 
sind für Deine Berufsgruppe doch ein Kinderspiel :-)

von Erkan (Gast)


Lesenswert?

Kleine Zwischeninfo: Ich bin in der Geschäftsprozessanalyse und 
-beratung für IT tätig. Da entfernt man sich mit der Zeit immer mehr von 
hardwarenahen Fragen. ;)

Ich habe nur 3.3V. Also in Reihe wird wohl nicht allzuviel bringen.

8-Bit dimmen reicht. Dimmen von 0% auf 100% innerhalb von 0.5s. Da merkt 
man das flackern bestimmt nicht.

Das waren schon gute Tipps. Ich lese mich in die Treiberthematik ein-
Danke!

von m.n. (Gast)


Lesenswert?

Erkan schrieb:
> Ich habe nur 3.3V. Also in Reihe wird wohl nicht allzuviel bringen.

Da würde ich pro Kanal einen TS19371 verwenden, 
(http://such002.reichelt.de/?SID=12UL3TO38AAAIAAF4j1Ysf717522e4348a84ba05cef72430bb42b;ACTION=446) 
der die notwendige Spannung (Strom) für Reihenschaltung erzeugt, 
steuerbar ist und wenig kostet.
Wenn der Geiz siegen soll, würde ich nur einen TS19371 nehmen, mit ihm 
12-15V für die Ansteuerung von 5 LEDs in Reihe erzeugen und diese 
einzelnen LED-Reihen mit Transistoren ansteuern. Beschaltet man die 
Transistoren mit Emitterwiderständen und steuert sie direkt mit 3V an, 
erhält man hinreichend genaue, geschaltete Konstantstromquellen.

Welche Stückzahl ist denn in Deiner Geschäftsprozeßanalyse avisiert?

von m.n. (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Erkan schrieb:

> gefühl das könnte knapp werden. Reines Bauchgefühl :)

Dein Bauchgefühl trügt.
10 Software-PWM macht dein Mega problemlos nebenher. Zumindest so lange, 
solnage die PWM-Frequenz nicht allzu hoch sein muss.

von Frank K. (fchk)


Lesenswert?

Erkan schrieb:
> Kleine Zwischeninfo: Ich bin in der Geschäftsprozessanalyse und
> -beratung für IT tätig. Da entfernt man sich mit der Zeit immer mehr von
> hardwarenahen Fragen. ;)
>
> Ich habe nur 3.3V. Also in Reihe wird wohl nicht allzuviel bringen.

Welche Stückzahlen planst Du von Deinem Teil? Wenn es nur ein 
Einzelstück ist (und danach sieht es für mich momentan aus), dann nimm 
die TI LED-Treiber. Das ist für Dich viel einfacher zur programmieren. 
Die Chips laufen auch mit 3V. Die 130 LEDs brauchen 130*0.02A=2.6A. 
Dafür nimmst Du besser ein separates Netzteil mit 5-6V. Die genaue 
Spannung ist nicht so wichtig, die TI Chips regeln das selber so aus, 
dass nur die 20mA fließen. Denke dran, dass Du die Minus-Leitungen des 
LED-Netzteils und Deiner 3.3V Logikspannung miteinander verbinden musst, 
und zwar so, dass die Verbindung auch die 2.6A abkann.

fchk

von Udo S. (urschmitt)


Lesenswert?

Frank K. schrieb:
> Du besser ein separates Netzteil mit 5-6V.

Besser eins mit 12, 15 oder 24V. Dann kann er seine Gruppen in Reihe 
schalten und hat nur noch 200 - 400mA

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.