Forum: Mikrocontroller und Digitale Elektronik PWM Multiplexen für LED´s


von Markus H. (mchotti)


Lesenswert?

Hallo,

ich habe jetzt einiges gelesen und mir fehlt wohl noch ein "Bauteil" 
(oder mehrere :-)

Was muss ich machen? Über EINE Ader mehrere PWM-Signale bringen!

Mit einem Raspberry kann ich auf einem GPIO-Pin per SoftPWM mehrere 
PWM-Signale "multiplexen" (soweit ich es verstanden habe). Das geht ja 
soweit ganz gut. Was mir jetzt fehlt ist das Verständnis, wie ich dies 
in einfachster Hardware wieder "auseinander" bekomme.

Als Laie würde ich sagen: "PWM-Leitung vom Raspberry mit VIELEN 
PWM-Signalen an einem Baustein löten und am Ausgang liegt EIN sauberes 
PWM-Signal an, was die LED dann verwenden kann"

In Foren habe ich von Schieberegistern und Undgattern gelesen, aber 
nicht verstanden, ob und wie es mir hilft.


Die alles entscheidende Frage ist also, wie kann man das SoftPWM dann 
den einzelnen PWM-Eingängen der LED zuleiten?

von Axel S. (a-za-z0-9)


Lesenswert?

Markus H. schrieb:
> ich habe jetzt einiges gelesen und mir fehlt wohl noch ein "Bauteil"

Was dir fehlt, ist Verständnis.

> Was muss ich machen? Über EINE Ader mehrere PWM-Signale bringen!
>
> Mit einem Raspberry kann ich auf einem GPIO-Pin per SoftPWM mehrere
> PWM-Signale "multiplexen" (soweit ich es verstanden habe).

Das hast du falsch verstanden.

> Was mir jetzt fehlt ist das Verständnis, wie ich dies
> in einfachster Hardware wieder "auseinander" bekomme.

Gar nicht. Weil man das so nicht macht. Wenn du nur eine Ader hast, dann 
solltest du ein Kommunikationsprotokoll verwenden (1-wire oder UART) 
über das du die gewünschten Intensitäten deiner N Kanäle überträgst. Auf 
der Empfängerseite erzeugst du dann die PWM Signale.

von Route_66 H. (route_66)


Lesenswert?

Axel S. schrieb:
>> Was mir jetzt fehlt ist das Verständnis, wie ich dies
>> in einfachster Hardware wieder "auseinander" bekomme.
>
> Gar nicht. Weil man das so nicht macht.

Doch!
Es ist im Fernsteuerbereich die gängige Methode, über eine "Leitung" 
(Funkstrecke) mehrere unabhängige Steuersignale verschachtelt zu 
übertragen. Viele nennen das aus Unkenntnis einfach PWM. Es ist aber 
eine Pulslängen-Codierung.

von Linus (Gast)


Lesenswert?

Du vergleichst da Äpfel mit Autos.
Das sind zwei völlig verschiedene Anwendungen.

von Stefan K. (stefan64)


Lesenswert?

Was willst Du eigendlich genau machen? Wofür sind diese "Mehrere 
PWM-Signale"? Willst Du Leds in einer Matrix per PWM steuern?

von Draco (Gast)


Lesenswert?

Im Modellbaubereich nennt man das auch gerne PPM-Summensignal. Da mal 
einlesen bitte - z.b. http://wiki.mikrokopter.de/SummenSignal

von Axel S. (a-za-z0-9)


Lesenswert?

Route 6. schrieb:
> Axel S. schrieb:
>>> Was mir jetzt fehlt ist das Verständnis, wie ich dies
>>> in einfachster Hardware wieder "auseinander" bekomme.
>>
>> Gar nicht. Weil man das so nicht macht.
>
> Doch!
> Es ist im Fernsteuerbereich die gängige Methode, über eine "Leitung"
> (Funkstrecke) mehrere unabhängige Steuersignale verschachtelt zu
> übertragen.

Das ist doch genau das was ich vorgeschlagen habe. Eine Kommunikation 
über den einzelnen Kanal. Ein Fahrtregler würde dann z.B. das PWM-Signal 
für einen Motor gemäß der im Protokoll gemachten Vorgabe generieren.

Daß die Fernsteuerleute ein Kommunikationsprotokoll benutzen, das die 
Information in einer analogen Größe überträgt und das man deshalb mit 
PWM verwechseln kann, ist dann wieder ein Detail.

von Martin S. (sirnails)


Lesenswert?

LED! LED! LED! Es gibt weder Licht-emittierende Diodens noch 
Licht-emittierende Dioden's! Es gibt auch keine LED's sondern wenn 
überhaupt LEDs!

Zum Rest: Du hast Multiplexing nicht verstanden. Lies Dich hier z.B. im 
Wiki darüber ein, und dann wirst Du Deine Frage ganz schnell selbst 
beantworten können.

von Markus H. (mchotti)


Lesenswert?

Gelesen..und vieles mehr verstanden, aber erst einmal ohne Lösung.

Ich bin fachfremd, sonst bräuchte ich kein Forum. Würde ich als Berater 
in meinem Umfeld so mit fachfremden umgehen, ich müsste meine Brötchen 
wohl selbst backen. Völlig klar, dass der "Kunde"/"Interessent" die 
falschen Begriffe in einen falschen Topf steckt und verkehrt durchrührt. 
Das wäre aus meiner Sicht sogar sein gutes Recht, gibt es mir doch die 
Lebensgrundlage. Dann versuche ich es zu verstehen und stricke eine 
Lösung die funktioniert.

Wir haben heute im ganzen Haus LED-Leuchten und diese werden alle per 
PWM über eine Ader geregelt. Das PWM-Signal erzeuge ich im "Keller" über 
einen Baustein, der wiederum von der Heimsteuerung angesprochen wird. So 
weit so gut seit 6 Jahren ohne Probleme.

Wir würden aber gern die Lampen "erweitern" und dort die Farbtemperatur 
"mischen". Da die Lampen Eigenkonstruktionen sind, kann ich darin die 
LED-Module austauschen oder ergänzen. Was mir dann aber fehlt ist ein 
zweites PWM-Signal, damit die LED-Module unterschiedlich gedimmt werden 
können.

Neben der Betriebsspannung von 24V habe ich also nur diese eine Ader. Im 
Keller und in der Lampe habe ich nur begrenzt Platz.

Von 1-Wire-Lösungen habe ich gelesen, aber keinen PWM-Erzeuger oder 
einen PWM-Treiber/Controller für meine LED-Module gefunden.

Wie geht es weiter? Keine Ahnung ..


P.S Die Lösung mit dem RaspberyPi die mir Hoffnung gab, war ein ShiftPWM 
und braucht leider 3 Leitungen (da hatte ich mich von der "nur" 
1-Datenleitung verführen lassen und die Clock & Latch weggelassen).

von Martin S. (sirnails)


Lesenswert?

Hallo Markus,

schön, Du hast also jetzt erkannt, warum man keine 2 oder gar mehr 
PWM-Signale "einfach mal so" über eine Leitung bekommt.

Die Anführungszeichen deshalb, weil es sehr wohl eine Lösung gibt, und 
diese nennt sich "komplexe Modulation". Du kannst Dein PWM-Signal über 
einen komplexen Mischer kodieren, sodass Du mindestens 2 Signale mit 90° 
Phasenlage bekommst. Allerdings ist der Aufwand dafür enorm.

Du könntest eine QAM daraus machen, aber auch das ist nicht gerade 
trivial. Oder eine PSK.

Der Einfachste aller Wege ist eine Codierung der Datenpakete. Und dafür 
brauchst Du einen kleinen µC mit PWM Ausgang.

Du kodierst die Daten durch eine Adresse und schickst dann nur die 
Änderung in das Netz.

Dafür bestens geeignet wäre z.B. CAN open oder ein anderes 
adressbasiertes Protokoll wie I2C. Allerdings musst Du hier auf die 
maximalen Kabellängen achten, wirst vermutlich Repeater brauchen.

Anders wird es kaum gehen.

von Markus H. (mchotti)


Lesenswert?

Ich habe mir jetzt CAN open und I2C durchgelesen und landete bei beiden 
über Links bei 1-Wire.

Es gibt ja IC´s für 1-Wire, die digitale Ausgänge bereitstellen.
Es gibt programmierbare IC´s mit digitalen Eingängen und PWM Ausgang.
Es gibt Stepdownwanlder für 24V zu 5V.

Meine heutige Lösung arbeitet sehr ähnlich. Da kommen die digitalen 
Ausgänge von der Heimsteuerung und das programmierbare IC setzt es in 
PWM um. Die Programmierung habe ich damals mit etwas Starthilfe selbst 
übernommen, jedoch bin ich elektronischer DAU (hat man ja schon 
bemerkt).

Gibt es hier jemanden, der "eine" Platine anfertigen kann, die
- 24V Betriebsspannung
- 1-Wire Eingang
- 2x PWM Ausgang
- möglichst kompakt und elektronisch stabil (langlebig und 
kurzschlussfest)
- per ISP6pin programmierbar

Das "eine" bezieht sich auf die grundsätzliche Anfrage, nicht auf die 
Stückzahl. Was würden bspw. 40 Stk grob geschätzt kosten?

: Bearbeitet durch User
von Martin S. (sirnails)


Lesenswert?

Nix Apostroph! Es sind ICs und LEDs!

Für deine Anfrage würde ich einen neuen Thread aufmachen - das hier 
lesen zu wenige.

von MaWin (Gast)


Lesenswert?

Markus H. schrieb:
> Ich bin fachfremd

Fachfremd muss ja nicht gleich heussen dass du dumm bist.

Aber es ist dumm

> Wir haben heute im ganzen Haus LED-Leuchten und diese werden alle per
> PWM über eine Ader geregelt. Das PWM-Signal erzeuge ich im "Keller" über
> einen Baustein, der wiederum von der Heimsteuerung angesprochen wird. So
> weit so gut seit 6 Jahren ohne Probleme.
> Wir würden aber gern die Lampen "erweitern" und dort die Farbtemperatur
> "mischen". Da die Lampen Eigenkonstruktionen sind,

hier von irgendeiner Eigenkonstruktion zu faseln und keinerlei 
Informationen über duese Dinger rauszurücken.

Nein, dir kann nicht geholfen werden. Auch Fachfremde müssten wissen 
dass Informationen nötig sin.

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.