PWM mit sehr vielen Kanälen

Gast #639379
Hi,

ich bin auf der Suche nach einer Möglichkeit sehr viele PWM Kanäle 
möglichst geschickt zu steuern. Ich möchte mir eine LED-Leiste bauen, 
bei der jede einzelne LED in der Helligkeit steuerbar ist. Nun frage ich 
mich, wie mache ich sowas möglichst effektiv? Mit Schieberegistern, oder 
doch anders?

Gibt es eigentlich Schieberegister mit mehr als 8 Ausgängen?

Danke schonmal!
Gast
Genau. Alles hängt davon ab, wieviele LEDs Du steuern willst UND 
wieviele Helligkeitsstufen Du brauchst UND welche Frequenz benötigt 
wird.

AVR@20MHz, 256 Stufen, 100Hz, macht 781 Zyklen zur Ansteuerung aller 
LEDs (keine Helligkeitsänderungen eingerechnet). Du wirst sicherlich pro 
LED 15 Takte Verarbeitung benötigen (PWM-Counter, Shift ins Register), 
macht 52 LEDs. Grob gerechnet.

Schieberegister ist ein guter Weg. 74HC4094 hat 8 Bit und kann 
kaskadiert werden.
Gast
Jakob wrote:
>> Wieviel ist denn "sehr viel" ?
>
> So 500.. Ich glaube, da bräuchte ich schon einen extrem schnellen µC.

Wie viele Helligkeitsstufen benötigst du denn? Würden 32 Stufen reichen? 
Mit einer entsprechenden Anzahl Schieberegister in Verbindung mit nem 
AVR müsste es schon machbar sein.

Gruß,
Magnetus
Gast
Nachdem 50 LEDs (superhell) weit mehr kosten als ein 
Controller+Ansteuerung, wird es nicht stören, wenn einfach ne Menge 
Controller eingesetzt werden. Ich denke da z.B. an einen 
unidirektionalen SPI-Bus, an dem alle LED-Controller (10 Stück) 
lauschen. Ansonsten noch einen Master, der sich dann auch wieder voll 
auf die Helligkeitssteuerung konzentrieren kann. Schönes Projekt, täte 
mir auch gefallen.

Das Hauptproblem ist bei 500 LEDs als Lichtleiste(n) dann sowieso die 
eigentliche Installation/Verdrahtung graus
Gast
> Wie viele Helligkeitsstufen benötigst du denn? Würden 32 Stufen reichen?

Im Moment denke ich mal schon.. 256 wären zwar schöner, aber 32 reichen 
erstmal aus.

Ich denke mal, bei solch einem Projekt werde ich sowieso mehrere 
Mikrocontroller brauchen. Daher würde ich wohl am Besten einen 
Mastercontroller nehmen, der die Daten weitestgehend verarbeitet und 
dann mehrere Slave-Controller, die die Daten möglichst 
Rechenzeit-schonend bekommen und dann durch die Schieberegister jagen. 
Ich werd mir in den nächsten Tagen mal was konkreteres überlegen und 
mich dann mal wieder melden.

Danke nochmal!
Gast
Hey Falk,

Das weisst Du doch ganz genau. Erst recht, wenn eine logarithmische 
Kennlinie benutzt wird, benötigst Du die 256 Stufen, um da eine Kurve 
reinzulegen.

Klar hängt alles davon ab, wie "smooth" das Ganze aussehen soll.

Schon bei 32 logarithmischen Stufen benötigt Dein Link eine PWM mit 256 
Werten Auflösung.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.