16 LED Streifen per PWM

Hallo zusammen,

ich möchte unsere Treppen im Treppenhaus (2 je 8 Stufen) mit LED Streifen unter den Stufen ausrüsten und diese über einen PIR, langsam hoch gedimmt, nach einander einschalten.

Das ganze sollte aufgrund der Anzahl der benötigten Ausgänge mit einem Mega 2560 und je Ausgang mit einem IRFZ44N erfolgen.

Da der Mega ja nur 15 PWM Ausgänge besitzt, wollte ich fragen, ob schon einmal jemand einen Digitalen Pin für ein "Simuliertes" PWM genutzt hat? Die Genauigkeit muss jetzt auch nicht bei 100% liegen.

Sonst würde ich einen Nano per I2C mit dem Mega verbinden, um weitere 6 Ausgänge zu haben, dann könnte ich auch noch die letzte Treppe mit 5 Stufen mit LED's auststattetn, damit habe ich aber noch nie zu tun gehabt, ist das sehr kompliziert?

Oder wie würdet ihr die PWM Ausgänge erweitern?

Hallo,

im Moment will gefühlt jeder zweite was mit vielen PWM Kanälen machen. :) Aus anderen Threads mir bekannt ist, dass du das es mit dieser Zusatzplatine bauen kannst. Dann reicht auch ein UNO. Brauchst nur das I2C Interface dafür.

https://www.adafruit.com/product/815

hi,

ich dimme 26 känale mit 3 ausgängen eines uno mit der library shiftpwm von elcajacobs, ABER:

diese library kann genauso wie der arduino nur 8bit-pwm, und damit kannst Du im “unteren” bereich nur recht grobe sprünge machen. nimm lieber sowas:

https://de.aliexpress.com/item/Smart-Electronics-PCA9685-16-Channel-12-bit-PWM-Servo-Driver-I2C-Interface-for-Arduino-Raspberry-Pi/32464046768.html?spm=2114.13010608.0.0.FLjqrE&detailNewVersion=&categoryId=515

damit kannst Du 16 kanäle mit 12bit steuern, also 4096 statt 256 stufen. library dazu gibt’s bei adafruit, die haben den auch im angebot.

gruß stefan

PS.: sehe gerade, daß doc adafruit bereits verlinkt hat…

Hallo,

mir fällt da noch eine Idee ein. Wenn du solche besseren LED Streifen mit einzeln steuerbaren RGB-LEDs nimmst, dann kannst du die Dimmung als Schlangeneffekt an den Treppenstufen darstellen. Oder machst alle weiß und läßt einen roten Punkt als Schlange durchlaufen oder solche Scherze. Bestimmt cooler wie einfache Dimmung, kann ja jeder ... :) Das ganze ist natürlich noch weiter ausbaufähig. Mit Fußerkennung an der Treppenkannte. Dann läuft einem das Licht automatisch hinterher o.ä. Scherze. ;)

Erstmal klein anfangen, dann ausbauen. Nur die Hardware sollte von Beginn an da sein. Zum Thema RGB LED können sicherlich Eisebär, Helmuth & Co bessere Tipps geben was man dafür nimmt.

eine andere Möglichkeit wäre die Kanäle in Gruppen oder als Matrix zum dimmen...

Ich versteh bei Lösung von Eisebaer nicht ganz wieso 8Bit zu wenig ist. Normale 16,7 Millionen Farben arbeiten mit 8Bit/ Farbe (256*256*256). Ja, das Auge kann mehr als 256 Helligkeitsstufen wahrnehmen. Im Labor wird man also Unterschiede erkennen. In der Realität nicht. Den man nimmt ja 3 Stufen pro Sec, heist ich muss 256 Helligkeitsstufen in ca 0,3sec durchlaufen. das ist eine Stufe pro millisec ungefähr. Und da PWM mit 500Hz taktet, sehe ich eh nur jede 2. Stufe. Steigere ich auf 12 Bit sehe ich eigentlich keinen Unterschied, es sei den ich dimme langsamer oder modifiziere den PWM-Takt.

Also dürfte 8 Bit an Treppenstufen völlig ausreichen. Höchsten das Shiften (ich nehm an, das die PWM da über ein Schieberegister laufen) könnte nochmal so stark verzögern, das man kaum noch vernüftige Stufen hinbekommt.

Oder mache ich da einen Denkfehler?

Hallo,

ja, du hast einen großen Denkfehler. Die Helligkeitswahrnehmung unseres Auges ist [u]nicht[/u] linear! Deswegen kann man nicht in festen Stufen dimmen. Je geringer die Auflösung ist, umso mehr sieht man die Helligkeitssprünge. Es läuft nicht so soft ab. Wenn die Auflösung nicht reicht, kann man notfalls eben nicht langsam und schön dimmen zu gleich. Nimm eine LED und einen regelbaren PWM Ausgang und guck dir das mal an, wenn dich das interessiert. Die PWM Frequenz selbst spielt dafür keine Rolle. Das unterdrückt nur allgemeines flimmern. Ab 100Hz ist okay.

Das kann ich bestätigen- 8bit ist echt mager und man sieht die Sprünge. Bei RGB wird es noch um einiges extremer, weil die Farben schon bei 25% Helligkeit und drunter nichts mehr mit den Zielfarben zu tun haben....

hi,

ja, denkfehler :slight_smile: . es geht nicht um RGB-LEDs, sonst bräuchte er ja 48 PWM-kanäle.

also nur 256 stufen. und nachdem die steigerung der helligkeit linear ist, die wahrnehmung der augen annähernd logaritmisch, sind im unteren bereich recht große sprünge, im höheren bereich über mehrere stufen hinweg keine unterschiede zu sehen.

wenn Du jetzt sichtbar dimmen willst (sagen wir mal in einer zeit von 2 sekunden), mußt Du “unten” in die länge ziehen und “oben” stauchen, damit’s einigermaßen gleichmäßig wird. damit verschlimmert sich’s noch mehr, weil die sprünge unten umso deutlicher werden.

häng doch einfach mal eine einzelne led an den arduino, und laß die 256 stufen durchlaufen. bis stufe 20 tut sich einiges, danach nicht mehr viel. und jetzt versuche, das “schön” und gleichmäßig hinzukriegen.

gruß stefan

EDIT: vom lesen bis zum schreiben posten gleich zwei leute. net schlecht.

LED-Streifen mit Kontroller könnten zB die WS2812 sein. Grüße uwe

Man kann auch mit ein paar Tricks digitale Ausgänge nutzen für die gewünschte Funktion... wird eventl. ne kleine Materialschlacht was die MOSfets angeht... lohnt sich aber vielleicht.

Man nutzt die PWM- Ausgänge nur dann für die jeweiligen Kanäle, die gerade gedimmt werden sollen. Ist ein Kanal auf max. hochgedimmt übernimmt den ein Ausgang der auf HIGH liegt, dann kann der freie PWM Kanal für das Dimmen eines anderen Streifen genutzt werden...

Da hier ja nur ein Kanal fehlt würde es reichen das z.b. mit der obersten und untersten Stufe zu machen...

(man kann aber auch 2 Stufen in der Mitte auf einen Kanal legen- fällt vielleicht kaum auf)...

Oder eben den 16Kanal 12bit PWM Treiber mit einem nano kombinieren...

hi,

mir würde die steuerung der einzelnen treppenstufen viel mehr kopfzerbrechen machen als die 1,50 für den chip. diese aufgabe ist alles andere als trivial. das gibt sonst leicht ein beinzerbrechen…

gruß stefan

Ok, vieleicht ist im Eifer des Gefechts untergegangen, das ich drauf abziele das man Treppenstufen nicht mit einer Dimmrampe von 2 Sec oder mehr fährt. Es sei den man will eine Disco aufmachen. Typisch sind 0,3sec, weil das der normalen Laufgeschwindigkeit entspricht. Langsamer laufen wäre ja egal, weil man dann das Licht schon oben hat wenn man erst die Hälfte geschafft hat und schneller laufen/rennen wird eben nicht sauber abgedeckt.

Mit gings um die Frage ob man bei 500Hz PWM-Frequenz und 0,5sec Dimmrampe wirklich einen Unterschied sieht zwischen 12 und 8 bit, zumal das Auge in den 0,5sec allenfalls 25-30 Bilder aufnimmt. Da ist dann das Auge schon zu träge das noch zu erkennen (also kann pro Sekunden selten mehr als 60 Unterschiede erfassen)

Und bei 0,5Sec und 500Hz wird eh nur 250 Schritte unterschieden.

Das man Helligkeit mit dem Auge extrem fein wahrnimmt, weis ich auch. Mir gings aber eher drum ob hier die PWM-Frequenz nicht verhindert überhaupt 4096 Stufen zu sehen. Oder ob die Hardware nun soviel schneller arbeitet das sie das auch darstellt. Also wird da auf höhere PWM-Frequenz geschaltet um mehr Stufen in der kurzen Zeit darzustellen. Mit 10KHz kann ich eben schon 4096 Schritte in 0,5sec durchlaufen.

Naja, das Thema Treppenlicht hatten wir aber schon oft (und bald komme ich auch noch damit).

Man kommt immer wieder zu generellen Fragen, wie erkannt werden soll wo sich im Moment jemand befindet und wie auf mehrere Personen oder Laufrichtungsumkehr reagiert wird.

Das kann man wohl am einfachsten damit erschlagen, dass der "Eintritt" erkannt wird und aus der Richtung alle Stufe aktiviert werden und bleiben, bis der "Austritt" wieder erkannt wurde- dann kann alles in diese Richtung ausdimmen... (als Ergänzung macht es Sinn auch die tatsächliche Laufrichtung zu erkennen, um mehrere Personen berücksichtigen zu können....

Wenn man das dann hat ist es leicht eine Stufe nach der anderen hoch zu dimmen und dann wieder runter zu dimmen.

Und aktuelle geht es nur um den 2. Teil, der erste ist noch offen oder schon gelöst... :-)

hi,

maha, ist natürlich geschmackssache. ich würd's eher so angehen, daß ich seitlich an jeder stufe einen sensor anbringe, wo ich bewegung erkenne und fünf stufen ober- und unterhalb das licht einschalte. wo's schon leuchtet, bleibts, wo's noch nicht leuchtet, wird hochgedimmt, wo's außerhalb des bereichs geht, wird runtergedimmt.

auf erkennung würd' ich nicht setzen. mehrere personen ist schwierig. einer geht rauf, und ein anderer geht kurz drauf runter, woher weiß der obere sensor, ob er grade ein- oder ausschalten soll.

was macht man, wenn man unterwegs ist mitten auf der treppe draufkommt, daß man was vergessen hat? sowas läßt sich nur lösen, wenn man halt ein halbes minütchen eingeschaltet läßt und immer beim passieren eines pir, egal ob oben oder unten, verlängert.

es sind diese sonderfälle, die aber alle drei tage vorkommen.

gruß stefan

ps.: so ein sensor jede stufe, schön in einer holzleiste, so daß man nur den runden buckel sieht:

www.banggood.com/5Pcs-Mini-IR-Pyroelectric-Infrared-PIR-Motion-Human-Body-Sensor-Module-p-959229.html?currency=EUR&utm_source=criteo&utm_medium=cpc&utm_content=all&utm_campaign=electronics-DE-English

Deshalb meinte ich ja, dass die Bewegungsrichtung erkannt werden soll- ginge ja mit einem PIR für die jeweils 1. und 2. Stufe… Beim mir will ich mal mit einem Radarsensor experimentieren…

Aber nach meinem Verständnis geht es ja hier nur um die LEDs, nicht die Sensorik.

Hallo,

chefin, hier prallen aber wirklich Theorie und Praxis heftig aufeinander. Probiere es einfach aus bevor du in der Theorie versinkst. :slight_smile:

Ein schönes Dimmen könnte man doch auch mit Fastled und sin8 oder sin16 machen... (oder?)

chefin:
Ok, vieleicht ist im Eifer des Gefechts untergegangen, das ich drauf abziele das man Treppenstufen nicht mit einer Dimmrampe von 2 Sec oder mehr fährt. Es sei den man will eine Disco aufmachen. Typisch sind 0,3sec, weil das der normalen Laufgeschwindigkeit entspricht. Langsamer laufen wäre ja egal, weil man dann das Licht schon oben hat wenn man erst die Hälfte geschafft hat und schneller laufen/rennen wird eben nicht sauber abgedeckt.

Mit gings um die Frage ob man bei 500Hz PWM-Frequenz und 0,5sec Dimmrampe wirklich einen Unterschied sieht zwischen 12 und 8 bit, zumal das Auge in den 0,5sec allenfalls 25-30 Bilder aufnimmt. Da ist dann das Auge schon zu träge das noch zu erkennen (also kann pro Sekunden selten mehr als 60 Unterschiede erfassen)

Und bei 0,5Sec und 500Hz wird eh nur 250 Schritte unterschieden.

Das man Helligkeit mit dem Auge extrem fein wahrnimmt, weis ich auch. Mir gings aber eher drum ob hier die PWM-Frequenz nicht verhindert überhaupt 4096 Stufen zu sehen. Oder ob die Hardware nun soviel schneller arbeitet das sie das auch darstellt. Also wird da auf höhere PWM-Frequenz geschaltet um mehr Stufen in der kurzen Zeit darzustellen. Mit 10KHz kann ich eben schon 4096 Schritte in 0,5sec durchlaufen.

Bin voll einverstanden. Es nutzt nichts eine superfeine Auflösung zu haben, wenn man nicht die Zeit hat, diese zu durchfahren, weil man das Licht innerhalb einer gewissen Zeit einschalten möchte.
Man könnte aber die erste Stufe der Trebbe in 0,5 s einschalten, die nächste in 1 s , 1,5s usw dann ist Licht wenn man den Fuß draufsetzt und man für die meisten Treppenstufen Zeit fürs raufdimmen. Da hat 12 Bit PWM wieder Sinn.

MaHa76:
Ein schönes Dimmen könnte man doch auch mit Fastled und sin8 oder sin16 machen… (oder?)

Bei WS2812 hängt die Bildfrequenz von der Anzahl der LD ab. Die Übertragungsgeschwindigkeit ist 800kHz und bei 3 Byte pro LED und x LED kommt eine gewisse Wiederholrate raus. Ok man könnte LED mit 2-Dratansteuerung (Takt und Daten) nehmen, welche ein user propagiert. Die können schneller.

Uwe

Ich sehe das anders... von 0 auf 10% dimmt man in 2/3 der Zeit, die restlichen 90% imk letzten 1/3 - damit ist die Wahrnehmung fürs Auge linear und angenehm- daher nutzt man typischerweise sinus- Funktionen für den Verlauf.

Es geht nicht darum den Dimmvorgang langsam zu machen, sondern den Anstieg der Helligkeit (bzw. den Abfall) an die Empfindlichkeit des Auges anzupassen.