Forum: Projekte & Code RGB+W U-Profil Inlay-Controller


von Jasson J. (jasson)


Angehängte Dateien:

Lesenswert?

Aloá,

nach langer Zeit mal wieder was gestrickt
-
einen RGB+W Controller auf Basis vom ATMEGA48, der Telegramme über UART 
in eben 4 PWM mit "quasi" 16 Bit umsetzt und diese Strips befeuert
https://shop.led-studien.de/led-streifen-module/led-streifen-farbe/rgbww-fuer-akzentbeleuchtung-4in1-leds-72-leds-m-ip20/lk04-6mas

Am Ende ist die Wahl darauf und nicht auf Digital-LED gefallen, weil 
diese Strips einfach mit 12V laufen, was sie auch für Anwendungen 
einsetzbar macht, wo ich sie z.B. direkt aus einer Autobatterie füttere 
ohne 12V -> 5V Converter.

Die 16 Bit sind effektiv sicher nicht wahr, aber für meine 
Privatanwendung reicht das Ergebnis. Ich würde vermuten, dass bei kurzen 
Aussteuerungen vll. die Transistor-Aussteuerung das Signal doch 
verschleift.

Praktisch nutze ich Timer 0, 1 und 2 - alle in 8Bit Auflösung. Vom Timer 
0 den Overflow-Interrupt um noch mal 255 der Zyklen hintereinander 
ablaufen zu lassen. Für jeden PWM-Kanal gibt es eine uint16_t 
Puffer-Variable, die bei jedem neuen Durchlauf neu geladen wird. Nach 
jedem Zyklus wird diese um 255 verringert, wenn sie größer 255 ist (dann 
wird 255 in das jeweilige Compare-Register geschrieben) oder um den 
Restwert (dann wird dieser Restwert in das Compare-Register geschrieben.
-
Ich habe 3 Timer benutzt, weil ich dann alle PWM Pins auf einer Seite 
des Chips nutzen konnte, was mir die Handarbeit erleichtert.

>Die eigentliche Story
Womit ich bei der eigentlichen Herausforderung bin
-
Die Strips habe ich in 2,5m U-Profile aus dem Baumarkt geklebt und bin 
auf die Idee gekommen, dass es doch nice währe, wenn der Controller 
direkt mit in dem Profil sitzen würde, statt als rumbaumelndes Dongle 
außen dran.
Deswegen fiel für mich aus, kruzerhand ein kleines Arduino-Baord oder 
ähnliches zu verwenden.
Ich war bereit, das erste 3´er Segment vom Streifen zu opfern, aber 
nicht mehr.  Also muss der ganze Kram mit µController, Spannungsregler 
und Transistoren einigermaßen klein werden - daher fällt die DIP 
Variante des µC aus.
Ich habe mich dazu durchgerungen und das Abenteuer mit einem Mega48 im 
TQFP zu wagen, den ich per Hand verlötet habe - ich brauche ja zum Glück 
nur eine sehr begrenzte Anzahl an Pins.
Da ich auch bei der Größe der Transistoren begrenzt bin, habe ich etwas 
gesucht und am Ende auf FMMT 618 TA zurückgegriffen. Da ich die 5m 
Strips auf 2,5m halbiere, 3 LED´s immer auf 3 in Reihe verschaltet sind, 
sind es im Prinzip 50 LED´s auf 2,5 pro Farbe und bei 20mA dem 
entsprechend ~1A. Da schien mir der Transistor der richtige zu sein.
Ein Kollege hat eine Thermal-Kamera für´s Handy - damit schaue ich bei 
Gelegenheit mal drauf.

Als Connectoren habe ich mich am Ende für simple Pfosten-Buchsen 
entschieden. Mit der Idee, das höchsten zwei Farben zur selben Zeit 
maximal ausgesteuert sind, nehme ich 2A maximale Stromaufnahme an und 
habe 4 Pins pro Pol vorgesehen.
Habe auch in anderen Connectoren rumgestöbert, aber mich hat nichts so 
richtig überzeugt für die Anwendung.
>Hat jemand vielleicht eine cleverer Idee.

Dazu gibt es noch UART RX und TX für die Telegramme. Ob ich TX mal 
brauche weiß ich nicht, aber besser haben, als brauchen.

Ich denke, die nächste Bonding-Aktion findet mit dünnem Silberdraht 
statt.
Keine Ahnung, warum ich das nicht direkt damit gemacht habe.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jasson J. schrieb:
> Praktisch nutze ich Timer 0, 1 und 2 - alle in 8Bit Auflösung. Vom Timer
> 0 den Overflow-Interrupt um noch mal 255 der Zyklen hintereinander
> ablaufen zu lassen. Für jeden PWM-Kanal gibt es eine uint16_t
> Puffer-Variable, die bei jedem neuen Durchlauf neu geladen wird. Nach
> jedem Zyklus wird diese um 255 verringert, wenn sie größer 255 ist (dann
> wird 255 in das jeweilige Compare-Register geschrieben) oder um den
> Restwert (dann wird dieser Restwert in das Compare-Register geschrieben.

Wird statt der Prosa noch ein Programm folgen, damit der geschätzte 
Leser das auch nachbauen kann oder was genau ist die Intention dieses 
Threads?

von Jasson J. (jasson)


Lesenswert?

Das kann man auch weniger pampig formulieren.
-
Wenn schon Moderatoren mit Unterton arbeiten wundert mich der Umgangston 
in diesem Forum nicht mehr.
-
Schade eigentlich in meinem RC-Forum erlebe ich, dass es auch anders 
geht.

von Daniel D. (danielduese)


Lesenswert?

Hammer Platinen-Layout. Respekt. Kannst es ja noch in Harz eingießen...

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Jasson J. schrieb:
> Wenn schon Moderatoren mit Unterton arbeiten wundert mich der Umgangston
> in diesem Forum nicht mehr.

Sorry, der Untertitel des Unterforums "Projekte und Code" lautet:

"Hier könnt ihr Projekte, Schaltungen oder Codeschnipsel vorstellen. 
Projekte bitte nur mit Code oder Schaltplan posten".

Ich sehe hier weder Code noch Schaltplan. Stattdessen nur ein paar 
nichtssagende Fotos, die leider niemandem weiterhelfen.

Eher sehe ich im Eröffnungsposting einen Link auf einen LED-Shop und 
dann noch eine vage Beschreibung in Prosaform, wie die PWM umgesetzt 
wurde. Knallharte Fakten wie der dazugehörige Code wären hier eine echte 
Bereicherung. So taugt Dein Eröffnungsbeitrag allenfalls für den "Zeigt 
her für den Kunstwerke" Thread - falls überhaupt. Ach, ich sehe gerade: 
Da hast Du bereits eine Kopie samt Fotos als Doppelpost reingeschickt. 
Dann ist ja alles in Ordnung.

: Bearbeitet durch Moderator
von Jasson J. (jasson)


Lesenswert?

Frank M. schrieb:
> Sorry, der Untertitel des Unterforums "Projekte und Code" lautet:
>
> "Hier könnt ihr Projekte, Schaltungen oder Codeschnipsel vorstellen.
> Projekte bitte nur mit Code oder Schaltplan posten".
>

Ok, dass ist schon eher gehaltvolle Kritik.
Ja stimmt, ich hatte auch etwas überlegt wohin damit. Tatsächlich ist 
das ganze auch noch in einem halb-fertigen Zustand. Deswegen habe ich 
mich auf eine Prinzipbeschreibung der PWM-Erzeugung zurückgezogen.
-
D.h. für sowas demnächst das genannte andere Unterforum.
-
Ich hatte das schon mal so gemacht, dass ich eine Kurzversion gepostet 
hatte in
"Zeigt her für den Kunstwerke"
und einen ausführlicheren Post dann hier. Dann kann man den kurzen als 
"Schaut mal was ich schickes gebastelt habe" als inhaltliches Fast-Food 
nehmen und hier vielleicht auch über die Zeit in die Tiefe gehen. Das 
fragmentiert dann weniger den Kunstwerke-Thread.

von Rainer W. (rawi)


Lesenswert?

Mit welcher Frequenz läuft deine PWM und welche Frequenzanteile 
entstehen durch das 16-Bit Dithering, insbesondere in den unteren 
Helligkeitsstufen?

p.s.
Die permanente Fettschrift nervt.

: Bearbeitet durch User
von Joerg F. (felge1966)


Lesenswert?

Ich hatte ja auch mal auf Schaltung und Codeschnipsel gehofft.
Statt dessen wird vom TO sehr häufig gebrüllt (Großschrift -> 
Fettschrift gilt nicht nur als unschön, sondern wird in der Regel als 
aggressives Schreien interpretiert und sollte daher unterbleiben.).

https://de.m.wikipedia.org/wiki/Netiquette

Gruß Jörg

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

Rainer W. schrieb:
> Die permanente Fettschrift nervt.

Welche? Ich seh' hier keine. Das wäre Fettschrift.

von Max B. (citgo)


Lesenswert?

In der mobilen Darstellung.
Sieht wirklich schlimm aus.

Dein "Das" ist bei mir mobil übrigens kursiv.

von 900ss (900ss)


Angehängte Dateien:

Lesenswert?

Max B. schrieb:
> In der mobilen Darstellung.
> Sieht wirklich schlimm aus.

Beispiel im Anhang....

OT: Leider ist es scheinbar so, dass der Forenbetreiber die Bugs nicht 
beheben möchte sondern seine Zeit die er hat in z.B. "Lesenswert"-Zähler 
investiert :-/

: Bearbeitet durch User
von Harald K. (kirnbichler)


Lesenswert?

900ss schrieb:
> Beispiel im Anhang....

Ein Grund mehr, das Smartphone aus der Hand zu legen.

von Gerald B. (gerald_b)


Lesenswert?

Worin liegt der Vorteil gegenüber WLED?
WLED läuft auf dem ESP8266 und dem ESP32, kann von einem Kanal mit 
Dimmung über 2 Kanäle (Farbtemperatur) bis zu 4 Kanälen RGBW umgehen. 
Sowohl mit analogen, als auch digitalen LEDs. Es bringt einen Webserver 
mit, kann über WLAN gesteuert werden, beherrscht verschiedene Protokolle 
der Homeautomatisierung, bringt Effekte mit, und, und und...
Optimierungspotential sehe ich dort lediglich in Richtung an die 
Anwendung angepasster Platinen, wie Levelshifter, Bustreiber bestimmter 
Formfaktoren u.ä.
Manchmal muß man das Fahrrad garnicht neu erfinden ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

900ss schrieb:
> Leider ist es scheinbar so, dass der Forenbetreiber die Bugs nicht
> beheben möchte

In der Mobilvariante wird der gepostete Text als Markdown-Text 
interpretiert. Dabei leitet ein oder mehrere allein auf einer Zeile 
stehende Minuszeichen eine Überschrift (Großschrift in Fett) ein. Der TO 
benutzt leider als Absatztrenner keine Leerzeilen wie üblich, sondern 
trennt Absätze mit diesen Minuszeichen. Dadurch entsteht beim ihm diese 
aufdringliche Großschreibung in Fett.

: Bearbeitet durch Moderator
von Sebastian W. (wangnick)


Lesenswert?

Frank M. schrieb:
> trennt Absätze mit diesen Minuszeichen

Wie nennt man das denn? Plonken? Klompen?

LG, Sebastian

: Bearbeitet durch User
von 900ss (900ss)


Lesenswert?

Frank M. schrieb:
> In der Mobilvariante wird der gepostete Text als Markdown-Text
> interpretiert.

Ja, das ist mir wohl bekannt.

Harald K. schrieb:
> Ein Grund mehr, das Smartphone aus der Hand zu legen.

Oh wie witzig du wieder bist...

von Rainer W. (rawi)


Lesenswert?

Harald K. schrieb:
> Welche? Ich seh' hier keine. Das wäre Fettschrift.

Nein, das "Das" wird hier kursiv dargestellt.

: Bearbeitet durch User
von Jasson J. (jasson)


Lesenswert?

Gerald B. schrieb:
> Worin liegt der Vorteil gegenüber WLED?
> WLED läuft auf dem ESP8266 und dem ESP32, kann von einem Kanal mit

Erstmal - ich versteh nicht, warum dieser Beitrag Minusbewertuntgen hat 
- ist doch nur eine Frage. Können die Bewerter vll. was zu sagen.

Jedenfalls - Vorteil... das ist subjektiv.
Ich wusste von dem WLED nichts - ist es das hier?
https://kno.wled.ge/
Ich habe auch einige Tage hin und her überlegt, ob ich nicht doch 
Digital-LEDs nehme - Bitstream rein und fertig.

Ausschlaggebend waren am Ende zwei Überlegungen.
- Abgesehen vom µC sollte das System nativ mit 12V laufen ohne einen 
leistungsfähigen DC/DC Converter. Dann brauch ich nicht so dicke Kabel 
und bei bestimmten Freizeitgestaltungen laufen die Strips direkt an ner 
Autobatterie.
- Ich wollte ggf. die Möglichkeit haben, noch andere rote LED´s an zu 
bringen. Das werde ich wahrscheinlich auch noch machen, die enthaltenen 
bypassen und tiefrote auf den Streifen bringen.

Dynamische Bewegungseffekte kann ich mit meiner monolitischen Lösung 
natürlich nicht machen, aber das war für mich sekundär.

von Rene K. (xdraconix)


Lesenswert?

Jasson J. schrieb:
> Abgesehen vom µC sollte das System nativ mit 12V laufen

12V gibt es mit dem WS2815 schon einige Zeit, mal so am Rande - genau 
wegen diesem Problem.

von Jasson J. (jasson)


Lesenswert?

Rene K. schrieb:
> Jasson J. schrieb:
>> Abgesehen vom µC sollte das System nativ mit 12V laufen
>
> 12V gibt es mit dem WS2815 schon einige Zeit, mal so am Rande - genau
> wegen diesem Problem.

War mir tatsächlich nicht klar - aber hätte ich googlen können á la 
"WS2812 12V" oder z.B. hier fragen, ob es sowas gibt.
-
Wo wir dabei sind - kennt jemand eine Quelle, wo beschrieben wird, wie 
die Digital-LED´s aus der Vdd die jeweiligen LED-Spannungen machen?

von Harald K. (kirnbichler)


Lesenswert?

Jasson J. schrieb:
> kennt jemand eine Quelle, wo beschrieben wird, wie
> die Digital-LED´s aus der Vdd die jeweiligen LED-Spannungen machen?

Ich würd' im Datenblatt nachsehen. Da es den in WS2812 verbauten 
Controller auch separat, d.h. ohne LEDs gibt, der heißt dann WS2811.

https://cdn-shop.adafruit.com/datasheets/WS2811.pdf

Prinzipiell: Bei LED-Ansteuerung wird nicht mit der Spannung, sondern 
dem fließenden Strom gearbeitet, und die Helligkeit wird i.d.R. nicht 
mit dem Strom, sondern mit einer PWM gesteuert.

WS2811 arbeitet mit üblicherweise 18.5 mA, wie das bei verschiedenen 
Versorgungsspannungen gehandhabt wird, kannst Du im Datenblatt auf S. 5 
sehen.

von Jasson J. (jasson)


Lesenswert?

Hm ja stimmt
-
gut, ich war unspezifisch. Ich hatte Ausschau gehalten, ob die 
LED-Spannungen oder Ströme linear oder "gestept" erzeugt werden.

Ich meine das steht nicht im Datenblatt vom WS2811, zudem kann ich mir 
nicht erklären, wo in dem kleinen Formfaktor eine Stepper-Topologie o.ä. 
sein soll und das drei oder vier mal.

Auf der anderen Seite steht im WS2815 Datenblatt
"12V DC Power supply, can effectivly reduce the operating current" - das 
kann ja nur gehen, wenn die Stromquelle nicht linear ist.

von Rene K. (xdraconix)


Lesenswert?

Harald K. schrieb:
> Ich würd' im Datenblatt nachsehen. Da es den in WS2812 verbauten
> Controller auch separat, d.h. ohne LEDs gibt, der heißt dann WS2811.

Hier geht es weder um 2812 noch den 2811 sondern um die 2815... Der 2811 
wird nicht in den 2815 genutzt - da dieser auch eine Backup-Line hat.

von Harald K. (kirnbichler)


Lesenswert?

Jasson J. schrieb:
> Ich hatte Ausschau gehalten, ob die
> LED-Spannungen oder Ströme linear oder "gestept" erzeugt werden.

Ich tippe stark auf eine lineare Konstantstromquelle. Die ist nur in 
einem bestimmten Bereich ohne zu große Verluste einzusetzen, und das 
wiederum wird der Grund sein, warum im 12-V-Betrieb beim 2811 drei LEDs 
in Reihe geschaltet werden.

von Rene K. (xdraconix)


Lesenswert?

Harald K. schrieb:
> warum im 12-V-Betrieb beim 2811 drei LEDs in Reihe geschaltet werden.

NOCHMAL: es geht hier um die 2815... FÜNFZEHN! Nicht 11!!!ELF... Die 
2815 sind direkt für 12V spezifiziert.

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Jasson J. schrieb:
> (immer noch große Fettschrift)

Kannst Du bitte mal damit aufhören, Absätze mit Minuszeichen zu trennen? 
Du erzeugst damit aufdringliche Fettschrift für Titelüberschriften, 
siehe Screenshot.

Ich hatte oben den Sachverhalt schon erklärt, offenbar hast Du den 
überlesen. Absätze trennt man mit Leerzeilen, nicht mit Minuszeichen.

Danke.

von Jasson J. (jasson)


Lesenswert?

Rene K. schrieb:
> Harald K. schrieb:
>> warum im 12-V-Betrieb beim 2811 drei LEDs in Reihe geschaltet werden.
>
> NOCHMAL: es geht hier um die 2815... FÜNFZEHN! Nicht 11!!!ELF... Die
> 2815 sind direkt für 12V spezifiziert.

Schreien hilft nicht weiter

Prinzipiell ist es recht wahrscheinlich, dass auch die verschiedenen 
Typen einen selben Ansatz zur Strom-Einstellung für die LED-Emitter 
haben.
Was allerdings dagegen spricht beim 2815 ist, das das zu einer absurden 
Wärmeentwicklung führen würde, wenn von den 12V 8,4 bis 9,8V in ner 
linearen Konstantstromquelle verheizt würden. Und es würde auch der von 
mir genannten Line aus dem Datenblatt wiedersprechen.
Trotzdem kann ich mir bei dem Formfaktor nicht vorstellen, wo da drei 
bis vier Topologien mit Speicherelement sein sollen.

von Harald K. (kirnbichler)


Lesenswert?

Rene K. schrieb:
> NOCHMAL: es geht hier um die 2815... FÜNFZEHN! Nicht 11!!!ELF... Die
> 2815 sind direkt für 12V spezifiziert.

Ich habe ein Datenblatt des 2811 verlinkt und beziehe mich darauf. Das 
ist ein separater Controller, keine LED mit integriertem Controller. Und 
das habe ich ganz bewusst gemacht, weil nämlich die prinzipielle Frage 
nach der Funktion gestellt wurde.

Und die kann man am separaten Controller deutlich einfacher und besser 
nachvollziehen, weil bei dem Dinge beschrieben werden müssen, die bei 
der Kombination von allem in ein Bauteil nicht beschrieben werden.

Du kannst ja gerne versuchen, dem Datenblatt des 2815 
(https://www.led-stuebchen.de/download/WS2815.pdf) alles relevante zu 
entnehmen.

Wird's klarer?

von Frank M. (ukw) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Jasson J. schrieb:
> Prinzipiell ist es recht wahrscheinlich, dass auch die verschiedenen
> Typen einen selben Ansatz zur Strom-Einstellung für die LED-Emitter
> haben.

Die 2815 funktionieren anders als die 2811. Die 15er arbeiten mit einer 
Serienschaltung, siehe unten. So kommt es eben nicht zu einem 
Hitzekollaps.

Harald K. schrieb:
> Ich habe ein Datenblatt des 2811 verlinkt und beziehe mich darauf.

Da wird weder erklärt, wie die LEDs mit 12V zurechtkommen noch gibt es 
dort eine Zeichnung von der inneren Schaltung.

Hier wird das näher erklärt:

Beitrag "Was bringen die WS2815 LEDs mit 12V?"

EDIT:

Ich habe hier mal einen Screnshot aus dem GS8208-Datenblatt angehängt, 
der das Prinzip auch durch ein Bild verdeutlicht. Der Trick: Die 
einzelnen LEDs in Reihenschaltung werden durch die 3 PWMs nicht 
getrieben, sondern mehr oder minder kurzgeschlossen.

: Bearbeitet durch Moderator
von Harald K. (kirnbichler)


Lesenswert?

Frank M. schrieb:
> Da wird weder erklärt, wie die LEDs mit 12V zurechtkommen

Ach? Ich sehe zwei Beschaltungen, eine für 5V, mit je einer LED, und 
eine für 12V, bei der jeweils drei LEDs in Reihe zu schalten sind und 
auf dem Rot-Kanal noch ein zusätzlicher Serienwiderstand verwendet wird.

> noch gibt es dort eine Zeichnung von der inneren Schaltung.

Ja, wo kämen wir denn da hin, wenn Datenblätter tatsächlich was taugen 
würden? (Das ist jetzt nicht als Widerspruch zu Deiner Aussage zu 
verstehen, sondern eher als Bekräftigung)

> Hier wird das näher erklärt:

Danke für den Link.

von Jasson J. (jasson)


Lesenswert?

ah, schickter Trick - mit Sicht auf den Stromverbrauch kann man also 
sagen "Es kommt darauf an" :)

Damit erklärt sich sicher auch die ominöse Angabe im Datenblatt
"RGBChannelConstantCurrent 10mA "
https://pdf1.alldatasheet.com/datasheet-pdf/view/1134588/WORLDSEMI/WS2815B.html

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Harald K. schrieb:
> Danke für den Link.

Ich habe jetzt noch ein Bild an mein Posting angehängt. Hat sich mit 
Deinem Beitrag überschnitten.

von Harald K. (kirnbichler)


Lesenswert?

Frank M. schrieb:
> Ich habe jetzt noch ein Bild an mein Posting angehängt.

Wiederholter Dank.

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.