Forum: Mikrocontroller und Digitale Elektronik Projektidee "RGB-LED-Matrix"


von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe mal überschlagen: Ein Panel mit 42 x 24 Pixeln (16:9) auf einer 
Platine (ca. 256 mm x 148 mm)  würde etwa 180 .. 200€ kosten, wenn man 
10 Platinen fertigen lässt. Sowas würde ich gern bauen, wenn sich ein 
paar weitere Interessenten finden.

Im Beitrag "[Mitbestellung] SMD5050 RGB-LED mit integriertem 8-bit PWM Controller" gibt es WS2812 LEDs mit 
integriertem Controller für 16ct pro Stück.

Alternativ gehen auch LEDs ohne Controller (ca. 6ct bei 1000 Stk) und 
wir steuern die LEDs mit den GPIOs eines ATSAM3N0 und je 3 Mosfets an. 
Der AT89LP51 hat 36 IOs und kostet 64ct. Mostets gibt's ab 2ct, das 
wären also auf 10 Bildpunkte: 64ct + 10 x 6ct + 30 x 2ct = 184ct, also 
rund 19ct pro Bildpunkt mit Ansteuerung.

Im Gegensatz zu diesen Folien-Versionen, sollten die Platinen "Randlos" 
sein:
http://www.aliexpress.com/item/16-16-Pixels-WS2812-LED-Digital-Flexible-Panel-Light-DC5v-SD-Card-Controlller/1003028657.html

... damit die Platinen anreihbar sind, also 2x2, 4x4, 5,5 usw.. Bei den 
Platinen habe ich an 2mm Materialstärke (stabil) und 70µm Kupfer 
(geringer Spannungsabfall) gedacht.

Über Schnittstellen und Anschlüsse mache ich mir noch Gedanken, aber die 
Ansteuerung und die "Schnittstelle nach außen" würde ich auf einer 
gesonderten Platine machen, da diese 42x24-Panels universell einsetzbar 
sein sollten.

Denkbar sind gesonderte Platinen mit
* SD-Kartenleser,
* USB-Anschluss,
* Ethernet,
* HDMI,
* DVI,
* ...

SW kann ich mir für verschiedene Anwendungen vorstellen, z.B.
* dimmbare Beleuchtung (weiß, abends gelber),
* umschaltbar auf einen Party-Modus (bunte Muster)
* Laufschrift für Schaufenster (mehrere Panels nebeneinander,
  nur 24 Pixel hoch)
* Mit Mikrofon für eine "Lichtorgel"-Funktion
* Grossbildschirm mit HDMI-Eingang (OK, sehr teuer, auch bei
  Viertel-HDTV)
* ...

Aber Basis wäre immer erstmal so ein Panel, damit man damit weiter 
machen kann.

Ich will den Thread "[Mitbestellung] SMD5050 RGB-LED ..." nicht weiter 
mit dieser Projektidee belasten, daher mache ich diesen Thread auf.

Einen Wiki-Artikel habe ich noch nicht angelegt. Das würde ich machen, 
wenn Interesse besteht, also noch konkrete Annforderungen kommen und wir 
ein paar Platinen-Mitbestellungen zusammen bekommen.

VG Torsten

von Stefan F. (kpy3ep) Benutzerseite


Lesenswert?

Problem bei den WS2812 wird die Bildwiederholfrequenz sein.

Bei deinen 1008 Pixeln kommst du auf satte 43ms Zykluszeit. Das sind 
weniger als 25 fps und das Bild "ruckelt".

Also entweder das Format kleiner wählen oder doch LEDs ohne internen 
Controller und Multiplexen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Steve F. schrieb:
> Problem bei den WS2812 wird die Bildwiederholfrequenz sein.

Bei den WS2812 bin ich auch skeptisch. Es gibt auch passive RGB-LEDs mit 
ausgewogenerer RGB-Helligkeitsverteilung.

Das Format kleiner wählen kann zwei Dinge heißen:

1. Die Fläche gedanklich Vierteln und vier Daten-Eingänge nehmen,
   jeweils für 1/4 der Fläche oder

2. Die Platine kleiner machen.

Je kleiner sie Platine, desto teurer wird's, daher wäre ich für (1.)

Irgendwann ist natürlich eine Größe erreicht, die dann überproportional 
teurer wird.

Die 1008 LEDs erscheinen mir ein guter Kompromiss zu sein. Für kleinere 
Panels gibt es kaum sinnvolle Einsatzzwecke und mehr als 200€ als 
"Einstiegspreis" fände ich etwas zu hoch.

Multiplexer sind m.E. oft suboptimal, da man bei 20mA Dauerstrich die 
beste Helligkeit und Lebensdauer erzielt.

Bei einer Ansteuerung mit den GPIOs eines ATSAM3N0 und je 3 Mosfets 
könnte der ATSAM3N0 sich um die individuelle Helligkeitskorrektur 
"seiner" 30 LEDs kümmern, um Serienstreuungen auszugleichen. Diese 
Option finde ich an der Lösung ohne WS2811 besonders attraktiv.

von Marc N. (Gast)


Lesenswert?

Torsten C. schrieb:
> * HDMI,

lol

von Frankman (Gast)


Lesenswert?

Wir basteln gerade in der Arbeit mit diesen LEDs rum.
Ein Kollege hat einen Kontroller aus China besorgt, der schon alles 
kann.
Für rund 50 Euro ( oder weniger.
Mit SD-Karte.
Mit Alu-Gehäuse.

Wir haben über ein LED-Array schon Pac-Man laufen lassen.
Ich weiss nicht, ob es da sinn macht, sowas noch selbst zu entwickeln.
Eine PC-Software war auch schon mit dabei.

Falls es jemanden interessiert, kann ich mal fragen, wie der Controller 
heisst und wo es den gibt.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Frankman schrieb:
> Ich weiss nicht, ob es da sinn macht, sowas noch selbst zu entwickeln.

Vielleicht nicht. Aber erstmal ist die anreihbare Matrix dran; über den 
Controller habe ich mir noch keine detaillierten Gedanken gemacht.

> Falls es jemanden interessiert, kann ich mal fragen, wie der Controller
> heisst und wo es den gibt.

Ja bitte gern. Und woher bekomme ich eine LED-Matrix?

BTW: Ich habe die Preise nochmal überdacht. Bei kleinen Platinchen
mit 16 x 9 LEDs wird's recht günstig. Die Platinchen wären dann 111mm x 
62mm bei 7mm pitch. Dann lande ich bei rund 21 ct pro Pixel incl. 
Platine und kann die beliebig zu größeren Flächen oder 
Laufschrift-Bändern zusammen stecken.

von Ralf (Gast)


Lesenswert?

> Problem bei den WS2812 wird die Bildwiederholfrequenz sein.
> Bei deinen 1008 Pixeln kommst du auf satte 43ms Zykluszeit. Das sind
> weniger als 25 fps und das Bild "ruckelt".
Ja, aber nur wenn tatsächlich alle LEDs hintereinander verknubbelt sind. 
Wenn man beispielsweise vier Reihen gleichzeitig ansteuert, sieht's 
schon wieder anders aus ;)

Ralf

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

Es stehen erste Entscheidungen an.

1. Einseitige oder doppelseitige Platine

2. Aktive WS2812 mit einbebautem Controller oder
   passive 5050 RGB LED mit separaten µCs

3. Matrizen mit 16 x 9 oder 15 x 9

4. welcher µC

zu 1)

Eine der wichtigsten Eigenschaften ist mir die Anreihbarkeit. Die 
Platinen sollten also in beiden Richtungen etwa 0,5mm kleiner sein, als 
ein Vielfaches des Pixel-Abstands ("Pitch"). Siehe Bild "Kombinationen".

Das heißt, dass am Rand kein Platz mehr ist, um neben der LED noch eine 
Leiterbahn entlang zu führen, es sei denn, man geht mit dem Pitch auf 8 
oder 9 mm.

Bei doppelseitigen Platinen ist das Problem deutlich entschärft und es 
ist ein kleinerer Pitch möglich. Da dadurch die ganze Platine kleiner 
wird, gleicht sich das preislich fast aus.

=> Doppelseitig, OK?

Zu 2)

Die WS2812 hat den Vorteil, dass das Layout einfacher ist, dabei ist 
auch weniger zu bestücken. Ein kleiner Pitch von 6..7 mm wäre kein 
Problem.

Passive 5050 RGB LED mit separaten µCs haben andere Vorteile:

2a)

Man ist frei in der Wahl der Schnittstelle. z.B. könnten alle µCs eines 
Panels auf eine I²C-Adresse hören. Der Master würde
* Start
* "write" auf diese Adresse
* 405 Datenbytes (RGB-Werte für 135 Pixel) und
* Stop
senden, und dann aktualisieren alle µCs gleichzeitig die PWM-Werte.

Andere Schnittstellen (SPI, UART, ...) sind dann nur eine 
Software-Frage.

2b)

Die Versorgunsspannungen der LEDs könnten unterschiedlich sein, so dass 
alle LEDs gleiche Vorwiderstände hätten, oder sogar ganz ohne auskommen. 
Pro Farbe würde dann aus einem separaten Schaltregler eine eigene 
Versorgungsspannung kommen. Also 3 Schaltregler pro Platine.

2c)

Der µC könnte die PWMs mit einem 10 Bit-Zähler erzeugen und die 
Helligkeitsunterschiede der LEDs ausgleichen. Bei einer Inbetriebnahme 
werden die Helligkeiten der LEDs per Foto analysiert und in die 
Flash-Speicher der µCs werden Korrekturdaten geschrieben, so dass jeder 
µC weiss, wie er die 255 Stufen seiner 9 LEDs in 10-Bit-Werte umwandeln 
muss.

zu 3)

Unabhängig von der LED (aktiv oder passiv) stellt sich die Frage, ob 
"rechteckige Pixel" OK sind. Das Die Abmessungen der LEDs sind 5,4 mm x 
5,0 mm. Wegen der "Clearance" können mininal ca. 5,5mm x 6,5mm umgesetzt 
werden.

Bei passiven LEDs müsste der µC mehrere LEDs ansteuern, z.B. 9. Die 
Stern-verteilung (siehe Bild "ZellenAnordnung") erscheint vom Layout her 
einfacher. So oder so ist die Anzahl der LEDs aber immer eine Vielfache 
von 9. Bei der Stern-variante gehen aber nur 15 x 9. Für 16 x 9 müsste 
man versuchen, die Spalten-variante zu layouten.

Also 15 x 9 statt 16 x 9, OK?

zu 4) Ich habe mal geschaut, was pro Pixel die Ansteuerung über 
verschiedene µCs kosten würde, siehe Bild "Kosten".

Der AT89LP51 mit 36 io Pins hat hier mit 2,37ct pro Pixel die "Nase 
vorn".

=> AT89LP51, OK?

Ich habe noch nicht versucht, ob ich es schaffe, bei 6,6mm x 7,0mm noch 
alle Leiterbahnen zu verlegen, aber im Bild "DichtestePackung15x9" zeigt 
sich, dass es kaum enger geht. Vorwiderstände habe ich dabei auch 
weglassen müssen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

PS: Bei der Variante mit dem AT89LP51 habe ich vergessen zu erwähnen, 
dass auf einer läche von 6 x 7 mm ja
* die LED
* drei Transistoren
* drei Widerstände (optional) und
* ein Kondensator
quasi übereinander gestapelt werden müssen.

Bei einem kleinem Pitch kommt man also z.B. um Einlötbuchsen und 
SMD-Pfosten für ein Platinen-Sandwich nicht herum, das treibt die Kosten 
hoch. Daher ein anderer Gedanke:

Neben dem Weg, den Pitch zu minimieren, könnte man auch in eine andere 
Richtung gehen. Man orientiert sich mit dem Pitch an Kunststoff-Gittern. 
Bei rotec-berlin.de gibt's theoretisch Gitter mit einer Maschenweite von 
8x8mm, in der Lagerliste ist aber 19x19mm das kleinste Maschen-Maß.

Nachteile:
* Die Platine wird größer und teurer
* Ohne Gitter und Milchglas hat man große dunkle Bereiche zwischen den 
Pixeln

Vorteile:
* Der große Pitch ermöglicht bei WS2811 ein einseitiges Platinenlayout
* Der große Pitch ermöglicht vielleicht, die Variante mit dem AT89LP51 
auf
  einer Platine (statt eines Sandwiches).

Hat noch jemand eine Idee, wo man feinmaschigere Gitter bekommt? Wo 
liegen bei Euch die Prioritäten?

von MaWin (Gast)


Angehängte Dateien:

Lesenswert?

> DichtestePackung15x9.png

Kaum.

Es geht viel enger, wenn man die Teile teilweise um 90 Grad dreht,
die Anschlüsse sind klug belegt.

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

MaWin schrieb:
> Es geht viel enger, wenn man die Teile teilweise um 90 Grad dreht …

Huiii, das ist eng.

Danke für die Anregung, auf die Idee war ich noch nicht gekommen. Ich 
hab mir das mal näher angeschaut:

Wie gesagt:
1. Die Platinen sollen Anreihbar sein und
2. um Toleranzen auszugleichen, muss die Platine kleiner sein, als  ein
   Vielfaches des Pixel-Abstands. ^^

Ich lasse mich darauf ein, dass die Platine rundherum nur 0,05mm 
kleiner ist. Das entspricht 3,75mm von der LED-Mitte bis zur Mitte 
zwischen zwei LEDs bei einer "Copper-Dimension-Distance" von 0,3mm.

Das entspicht

   7,5mm x 7,5mm Pitch

für "Quadratische Pixel", wie wir in dem Bild "MinimumPitchQuadrat" 
sehen. Die "Copper-Dimension-Distance" ist der gelbe Kringel.

Vergesst also bitte die Angaben in "DichtestePackung15x9.png". So eng 
geht's nicht.

Bei den "länglichen" Pixeln (15 x 9 LEDs auf 16-zu-9-Platine) gelten die 
7,5mm in der einen Richtung natürlich auch, in der anderen können wir 
aber schmaler werden, siehe Bild "MinimumPitchRechteck".

Da wir den Faktor 15-zu-16 ausgleichen müssen, kämen wir auf

   7,5mm x 7,03125mm Pitch.

Ein blödes krummes Maß, aber wen stört's?

BTW: Spricht eigentlich was dagegen, die "Dasy Chain" mäanderförmig über 
die Platine zu routen?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Ach Menno, keiner sagt mir, dass ich mit den passiven 5050 RGB LEDs und 
separaten µCs (AT89LP51) auf dem Holzweg war.

Aus dem Datenblatt:
"WS2812 … internal include(s) … a 12V voltage programmable constant 
current control part, effectively ensuring the pixel point light color 
height consistent."

Wenn ich mit separaten µCs (z.B. AT89LP51) PWM erzeuge, verheize ich die 
Hälfte der Leistung in Wärme, wegen der LED-Vorwiderstände, also pro 
Panel wären das 24W für Licht und 24 Watt werden von den Vorwiderständen 
in Wärme umgewandelt. Das kann's ja wohl nicht sein.

Und 432 ICs vom Typ MC34063 wären ja wohl nicht angebracht.

Also ist doch eins klar: Die Matrix wird mit WS2812-LEDs aufgebaut.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Die Matrix wird mit WS2812-LEDs aufgebaut.

Heute sind noch einige Dislussionen im 
Beitrag "432 mal 0..20mA per PWM - beste Lösung gefunden?" gelaufen, aber diese haben 
die o.g. Entscheidung bestätigt.

Eine Alternative gibt es noch: Eine Matrix aus passiven LED. Diese würde 
man am besten mit mehreren TLC5940 ansteuern. Gegenüber dem WS2811 ist 
die Farbtiefe und dadurch der darstellbare Kontrast- und 
Helligkeitsumfang besser. Aber das wäre - bei Bedarf - ein Folgeprojekt, 
da diese Variante auch etwas teurer werden würde.

Ich will in den nächsten Tagen das Platinenlayout für die ersten 
Platinen machen.

Sollen die 16 x 9 - Pixel-Module nur mit WS2812-LEDs und Steckverbindern 
ausgestattet werden, oder soll auch ein (optionaler) µC auf der 
Rückseite vorgesehen werden?

Der (optionale) µC bräuchte nur auf Master-Modulen bestückt werden, 
dort könnten mehrere Slave-Module ohne µCs angeschlossen werden.

Slave-Module kann man mit Huckepack-Platinen bestücken, die je nach 
Bedarf Bluetooth, SD-Card-Reader, USB, Ethernet oder sonstwas können.

Ich kann den optionalen µC auf der Rückseite auch weglassen, dann gäbe 
halt ausschließlich Slave-Module.

               Meinungen_ _sind_ _gefragt!

Falls ich einen µC auf der Rückseite vorsehe, würde ich als 
Schnittstellen I²C und USB vorsehen, wenn's keine anderen Wünsche gibt.

Wenn keiner "veto" sagt, nehme ich einen MSP430. Wer was anderes will, 
nutzt halt nur Slave-Module mit einer eigenen Huckepack-Platine.

Als Steckverbinder würde ich SMD Micro-MaTch Connectors nehmen.

OK?

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


Lesenswert?

Torsten C. schrieb:

> Aus dem Datenblatt:
> "WS2812 … internal include(s) … a 12V voltage programmable constant
> current control part, effectively ensuring the pixel point light color
> height consistent."

Ich hab keine Ahnung, was uns die Chinesen da sagen wollen. Ich erkenne 
ja noch nicht mal die Sprache (Englisch ist es jedenfalls nicht).

> Wenn ich mit separaten µCs (z.B. AT89LP51) PWM erzeuge, verheize ich die
> Hälfte der Leistung in Wärme, wegen der LED-Vorwiderstände

Ach. Und was läßt dich glauben, der WS2812 würde den Teil der 5V der 
nicht an der LED abfällt, nicht verheizen?

Es wurde dir durch die Blume jetzt schon mehrfach zu verstehen gegeben: 
stromsparende Stromquellen nach dem Prinzip eines Schaltreglers lohnen 
sich nur für Power-LEDs. Für Funzeln mit 20mA nimmt man entweder 
Vorwiderstände oder lineare Stromquellen nach einem der Prinzipien hier: 
Konstantstromquelle

Eine lineare Stromquelle verheizt bei gleicher Betriebsspannung genau 
so viel wie ein Vorwiderstand. Gegenüber letzterem hat sie allenfalls 
den Vorteil, daß man die Betriebsspannung etwas knapper wählen kann und 
der Strom trotzdem konstant bleibt.

> Und 432 ICs vom Typ MC34063 wären ja wohl nicht angebracht.

Die wären bei nur 20mA auch nicht stromsparender als Vorwiderstände. 
Ganz davon zu schweigen, daß du sie nicht vernüftig mit PWM dimmen 
kannst. Schau doch einfach mal in das Datenblatt eines Schaltreglers und 
schau dir an, was der Wirkungsgrad bei kleinem Ausgangsstrom macht.


XL

von MaWin (Gast)


Lesenswert?

> Die Platinen sollen Anreihbar sein

Das geht, wenn sie am Rand unregelmässig beschnitten wird,
wie ein Puzzle bei dem Zähne ineinandergreifen.

Und es geht, weil ein Pin unbenutzt ist, diese Vorlage
hast du ignoriert.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Axel Schwenke schrieb:
> Und was läßt dich glauben, der WS2812 würde den Teil der 5V der
> nicht an der LED abfällt, nicht verheizen?

Da hatte ich zwischenzeitlich gedacht, aber Gerhard W. (gerhard86) hat 
gut aufgepaßt. Der WS2812 verheizt auch.

Axel Schwenke schrieb:
> Für Funzeln mit 20mA nimmt man entweder
> Vorwiderstände oder lineare Stromquellen

Da war ich mir vor der Diskussion nicht so sicher, inzwischen schon. 
Danke für die Bestätigung.

Axel Schwenke schrieb:
> Gegenüber letzterem hat sie allenfalls den Vorteil, daß man die
> Betriebsspannung etwas knapper wählen kann und der Strom trotzdem
> konstant bleibt.

Das wäre ein Vorteil den man mit passiven LEDs heben könnte, wenn man 
TLC5940 oder separate WS2811 nimmt. Man ordnet jedem Controller (TLC5940 
oder WS2811) eine Farbe zu und versorgt sie - je nach Farbe - mit 
unterschiedlichen Spannungen.

MaWin schrieb:
> Das geht, wenn sie am Rand unregelmässig beschnitten wird,
> wie ein Puzzle bei dem Zähne ineinandergreifen. … diese
> Vorlage hast du ignoriert.

Ja, habe ich. Ich bin noch nicht dazu gekommen, das kostenseitig zu 
bewerten. Ich denke, wenn erstmal ein Prototyp da ist und wenn es einige 
Anwendungen und SW-Funktionen gibt, dann sollte auch der Bedarf für 
andere Varianten (Mini-Pitch, Kunststoff-Gitter-Pitch, ...) gedeckt 
werden.

Da nun die Entscheidung für die erste Version auf die WS2812 gefallen 
ist, werde ich - bis die erste Platine fertig ist - erstmal mit 144 LEDs 
aus 2,4m LED-Streifen anfangen. Das Panel (Holzplatte) hat mit 60 LEDs 
pro Meter bei 16 x 9 die Größe von ca. 26 mm x 14,5mm.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> MaWin schrieb:
>> Das geht, wenn sie am Rand unregelmässig beschnitten wird,
>> wie ein Puzzle bei dem Zähne ineinandergreifen. … diese
>> Vorlage hast du ignoriert.
>
> Ja, habe ich. Ich bin noch nicht dazu gekommen, das kostenseitig zu
> bewerten.

Ich bin überrascht und bedanke mich bei MaWin für die "Hartnäckigkeit".

Das Kontourfräsen kostet bei BILEX 10% Aufpreis, aber da die Platine 
kleiner wird, gleichen sich die Kosten nicht nur aus, sondern die 
"Puzzle"-Version ist sogar billiger.

Ich habe mal (ohne Lötstopp) mit dem BILEX-Kalkulator verglichen, wobei 
man dort das Mindestmaß von 180x120 beachten muss:

  2-Lagig Durchkontaktiert; 88x149; Chemisch Gold(RoHs konform);
  FR4 1.55mm; 35 µm; ohne grun ; Positionsdruck: Nein
  Preis bei 10 Stückzahl: 108.41 €

  2-Lagig Durchkontaktiert; 120x135; Chemisch Gold(RoHs konform);
  FR4 1.55mm; 35 µm; ohne grun ; Positionsdruck: Nein
  Preis bei 15 Stückzahl: 179.82 €

Die Preise pro Platine:
10,84€ "Puzzle" mit 5,5mm Pitch
11,99€ "glatt" mit 7,5mm Pitch

Jetzt habe ich nur noch ein Problem. Das "Puzzle" geht bei 16x9 nur, 
wenn man entweder zwischen "ungeraden" und "geraden" Slaves 
unterscheidet oder auf 32 x 18 geht. Also:

   Was_ _soll_ _ich_ _layouten?

a) "ungerade" und "gerade" mit 16 x 9 LEDs oder

b) 32 x 18 LEDs

Auch dringend:

   Brauchen_ _wir_ _Master-Module?

Wenn kein "veto" kommt, mache ich das erste Layout ohne µC, also als 
reinen Slave. Die erste SW würde ich auf einem 6€-Launchpad entwerfenn, 
weil der hier gerade rum liegt. Auf Dauer sind die MSP430 aber 
vielleicht ungünstig, weil sie do wenig RAM haben.

Torsten C. schrieb:
> … wenn erstmal ein Prototyp da ist … dann sollte auch der Bedarf für
> andere Varianten (Mini-Pitch, … gedeckt werden.

Das ist mein "Geschwätz von gestern". Ich bin für Puzzle. :-)

von PSblnkd (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Torsten_C,

schau mal bitte auf http://www.ps-blnkd.de/LED-Matrix.htm - ganz unten.
Das Projekt liegt derzeit auf Eis, weil es nicht genügend Interessenten 
gab.
Wir haben allerdings ein einfaches Demo aufgebaut - mit nur einer 
16x16-Matrix - und noch ohne Master-/Slave-Ansteuerung. Das wird immer 
zu hiesigen Modellbaubörsen mitgenommen ...

Bei Interesse -> Kontaktaufnahme über meine eMail-Adresse (Impressum 
HP).

Grüsse aus Berlin

PSblnkd

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Hallo PSblnkd, meine Freundin und mein Vater kommen aus McPom bzw. SA, 
daher kenne ich auch viele Geschichten aus der DDR-Zeit.

> Jedoch wurde erst Anfang 1988 in erstmals eine Ansteuerung über
> einen EMR beschrieben.

Zu der zeit habe ich gerade mein Abi gemacht.

> blaue LED's waren auch im NSW nur als extrem teure Bauelemente
> mit ungenügender Leuchtkraft verfügbar.

Wir hatten damals im "Nicht-Sozialistischen Wirtschaftsgebiet" im VW 
Polo 'ne blaue Glühlampe in LED-Form für das Fernlicht im Kombi.

> Zur optimalen Raumausnutzung bei der Anordnung der drei LEDs (Rot,
> Grün, Blau) werden diese in Triple-Form angeordnet

Eine solche größere und hellere Variante mit passiven LEDs kann ich mir 
auch in diesem Projekt vorstellen.

>  Leider ergab sich infolge der Verwendung von Uni-Streifenleiterplatinen
> keine quadratischen Abmaße der Matrix, so dass keine problemlose
> Anreihbarkeit zu erwarten gewesen ist.

Die Idee mit den gekreuzten Streifenleiterplatinen finde ich eigentlich 
ganz pfiffig. Aber es ist plausubel:

> Da jedoch der fertigungstechnische Aufwand mit bedrahteten LED's
> sehr hoch ist … wurden zunächst die weiteren Arbeiten daran eingestellt.

Nun zu der Sache mit dem Master und den Slaves:

> Derzeit ist die LED-Matrix noch ohne professionelle Ansteuerung.
> Es wurde momentan lediglich eine Demo-Version erstellt, um die
> Möglichkeiten dieser LED-Matix anschaulich zu machen. Geplant ist
> jedoch eine Mikrocontroller-Steuerung für jede Matrix, die
> X-/Y-anreihbar seinerseits von einem übergeordneten Master-Controller
> angesteuert werden.

So ähnlich denke ich mir das ja auch.

Die WS2812 haben eine spezielle Eigenschaft, über die man sorgfältig 
nachdenken sollte:

Die LEDs können in einer "Dasy chain" zu beliebig langen Ketten 
verknüpft werden. Man muss allerdings alle Datenbits nacheinander mit 
einem sauberen Timing ohne Jitter übertragen, in dieser Zeit sind also 
keine Interrupts erlaubt.

Bei 16 x 16 = 256 RGB-LEDs wären das 256 x 24 x 1250ns, also rund 7,7ms.

Bei 16 x 9 = 144 LEDs wären das rund 4,4ms.

Da "Senden" und "Empfangen" also nacheinander stattfinden müssen, muss 
zur der Bestimmung der maximalen Update-Frequenz noch die Zeit für den 
Empfang der Daten addiert werden.

Bei I²C mit brutto 100 KBit/s und Kacheln mit 144 LEDs würde der Empfang 
eines Frames ca. 43,3ms dauern.

Die maximale Update-Frequenz einer Kachel läge damit bei 1 / (43,3 + 
4,4) ms, also etwa 20 Hz.

Bei 256 RGB-LEDs wäre die Frequenz noch geringer.

Ich tendiere dazu, die "4,4ms ohne Interrupts" auf die Slave-Kacheln zu 
verteilen, so dass die Programmierung des "übergeordneten 
Master-Controllers" nicht von solchen Interrupt-Blockaden erschwert 
wird.

Bevor man hier ins Detail geht, ist noch die Frage zu klären, wie der 
"übergeordnete Master-Controller" denn seine RGB-Daten an die Kacheln 
los werden soll.

Das Ergebnis des Projekts sollte skalierbar sein. Schauen wir uns mal 
ein "Extrem" an: Panels mit Sechzehntel-HDMI-Auflösung (30 x 30 Kacheln) 
würden rund 45 000 Euro kosten und über 2,6m breit sein.

a) Wie kommen die Daten rein?

Wenn keine Daten komprimiert werden, müssten bei 12,5 fps knapp 5MB pro 
Sekunde übertragen werden.

Mit USB 2.0 Hi-Speed sollte das kein Problem sein, aber ob USB dazu die 
richtige Schnittstelle ist?

Oder ob man dann nicht besser MPEG-Daten überträgt? Wie geht das mit 
HDMI und DVI? Ich kenne mich damit noch zu wenig aus.

Aber das is ein theoretisches Problem; das können wir auf später 
verschieben, falls wirklich mal jemand 45K€ auf den Tisch legt. Ich will 
ja nur absichern, dass wir skalierbar bleiben.

b) Wie werden die Daten an die 60 x 60 = 3 600 kacheln übertragen?

Bei I²C im "Standard Mode" und 12,5 fps könnte man nichtmal zwei Kacheln 
an einen I²C hängen.

Also entweder I²C im "High Speed Mode" oder SPI, den man sicher auch mit 
3,4MHz betreiben könnte.

Eine komprimierte Datenübertragung vom "übergeordneten 
Master-Controller" zu den Kacheln kommt m.E. nicht in Frage.

Man könnte die "übergeordneten Master-Controller" so auslegen, dass sie 
im "High Speed Mode" Daten empfangen und für Sektionen mit bis zu 60 
Kacheln zuständig sind, z.B. 6 x 10.

Bei 30 x 30 = 900 Kacheln in 15 Sektionen würde man dann von einem 
nochmals darüber angeordneten Master die Daten von USB, HDMI, DVI oder 
sonstwas empfangen und auf die Sektionen verteilen.

Wie man das mit Full-HD und 240 Sektionen machen würde, finde ich jetzt 
erstmal uninteressant. ;-)

Aber wir fangen klein an. Ich habe mir 2,4m LED-Streifen bestellt und 
werde dafür einen µC programmieren, der rund alle 50..80 ms seine Daten 
empfängt und an die WS2812er weiter leitet.

Ich würde dazu gern erstmal mein MSP430 LaunchPad nehmen, aber 
vielleicht läuft das auch auf ATTiny oder PIC hinaus. Mal schauen, wer 
mit I²C im "High Speed Mode" und SPI am besten klar kommt.

PSblnkd schrieb:
> Impressum HP

Bist Du Roland?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

PS: Das Datenformat für eine Kachel sollte skalierbar und 
zukunftstauglich sein, daher möchte ich auch die Definition des 
Datenformates diskutieren.

Vorschlag:
2 Bytes Protokoll-Overhead und
432 Bytes RGB-Daten

Die Technikron-Matrix mit 16 x 16 arbeitet zwar nicht mit WS2811, das 
Datenformat zum "Kachel-Controller" könnte man aber trotzdem zu Modulen 
mit 16 x 16 = 256 LEDs kompatibel halten, da wären es dann

2 Bytes Protokoll-Overhead und
768 Bytes RGB-Daten

Torsten C. schrieb:
> Bei 256 RGB-LEDs wäre die Frequenz noch geringer.

Sorry, das ist Quatsch.

Man kann das o.g. Datenformat für 256 LEDs sogar mit WS2811-Controllern 
kombinieren, wenn man bei I²C im "Standard Mode" bleiben will.

Man würde dann - um nicht unter 12,5fps zu kommen - zwei "Dasys chain" 
parallel betreiben. Bei 3,84ms für das WS2811-Protokoll und 12,5fps 
blieben 76,16ms zum Empfang eines Frames. I²C kann im "Standard Mode" 
11KB pro Sekunde, könnte in dieser Zeit also 837 Bytes übertragen. Das 
ist genug für Protokoll-Overhead und alle 768 Bytes mit den RGB-Daten.

Das "Clock-Stretching" muss sich natürlich in Grenzen halten.

Wie man den "Protokoll-Overhead" nutzt, weiss ich noch nicht genau. Man 
könnte alle Kacheln auf die gleiche I²C-Adresse legen und definieren, 
dass im ersten Daten-Byte eine 8-Bit-Adresse steht, um die Kachel zu 
adressieren.

Ein weiteres Byte enthält dann das Kommando:

Beim Daten schreiben:
* Es folgen 768 Bytes RGB-Daten für 256 RGB-LEDs
* Es folgen 432 Bytes RGB-Daten für 144 RGB-LEDs
* Es folgen xxx Bytes RGB-Daten ab Koordinate x/y
* Es folgen "dot correction"-Daten
* ...
* Übertrage das Bild vom RAM auf die LEDs (Broadcast an alle Kacheln)

Beim Daten lesen:
* Was für ein Kachel-Typ bist Du (z.B. 16x16 oder 16x9)?
* Welche Update-Frequenz kannst Du?
* ...

Kommandos könnten auch Grafik-Befehle sein, wie
* ganze Fläche in der folgenden Farbe füllen
* Bild um xxx Pixel nach links/rechts/oben/unten schieben
* Bild dunkel schalten
* Bild wieder einschalten
* Stelle eine Kreis-Scheibe in der folgenden Farbe dar
* ...

Ich bitte um Ideen und Vorschläge.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Ich erlebe gerade etwas erstaunliches: Einen hohen "WAF".

Ich erzähle meiner Freundin manchmal von diesem Projekt, und nun möchte 
sie im Wohnzimmer an der Wand

* mit einem Bilderrahmen drum und

* einer Milchglasscheibe davor

eine LED-Matrix!

Ihr kennt den WAF nicht? Das ist der "Wife Acceptance Faktor", siehe

http://www.zabex.de/site/legende.html

Ich Bohre meine aktuelle LED-Streifen-Bestellung also von 2,4m auf 7,2m 
auf, daraus werden dann 3 Kacheln hochkant nebeneinander, also 45 x 27 
cm.

Ich habe dann auch gleich drei Kacheln, um die Software für die 
Kachel-µCs zu testen, inclusive Kaskadierung.

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

MaWin schrieb:
> Das geht, wenn sie am Rand unregelmässig beschnitten wird,
> wie ein Puzzle bei dem Zähne ineinandergreifen.

Ich habe nochmal verschiedene Varianten mit dem BILEX-Kalkulator 
durchgerechnet.

Ein Nutzen mit zwei Kacheln wäre incl. Fräsung, Ritzung und Rest-Rand 
ca. 94 x 108 mm² und wäre pro Kachel am günstigsten. Bei 24 Kacheln (12 
Platinen) käme man auf unter 6€ pro Platine:

* 2-Lagig Durchkontaktiert;
* Chemisch Gold(RoHs konform);
* FR4 1.55mm;
* 35 µm;
* doppelseitig schwarz;
* Positionsdruck: Nein

Meine Eagle-Lizenz kann nur bis 100 x 160 mm². Glück gehabt! Dass passt 
zu der preisgünstigsten Nutzen-Variante. :-)

Die zwei Kacheln wären unterschiedlich. Abgebildet ist eine 
Nord-Nord-Kachel (PuzzleTeil_NN.png, Rückseite), die zweite Kachel auf 
dem Nutzen ist eine Süd-Süd-Kachel.

An den Puzzle-Zähnen würde ich auf der Rückseite die Leiterbahnen mit 
den folgenden Signalen bis an den Rand führen, siehe Nordseite.png.

* +6V
* SDI
* SDO
* +5V
* +3,3V
* GND

Die Leiterbahnen wären von der Ritzung unterbrochen, aber man kann sie 
dann einfach mit Lötbrücken wieder verbinden und die Platinen damit 
aneinanderreihen.

Nord und Nord passen nicht zusammen, aber Ost und West, sowie Nord und 
Süd.

von chris (Gast)


Lesenswert?

16x9 finde ich blöd.
Der Grund, die günstigen China Controller unterstützen 
512/2048/4096/8192  Pixel bei 25-30fps. Maximal sind es 212992 Pixel 
welche
als Chain einer einzelnen Online Ansteuerung oder Offline über SD Karte 
angesteuert wird.

Wo bekommt man günstig die Chips her ?
Ein fertiges 16x16 Array kostet 62€, hingegen die reinen Leds kosten 
bereits 41€.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

chris schrieb:
> 16x9 finde ich blöd.

Schade, dass Du den Beitrag erst jetzt gelesen hast, da schon viel 
Arbeit in die 16x9-Variante geflossen ist. Die Arbeit wäre dann "für die 
Katz".

Aber mich interessieren trotzdem Deine Gründe, bevor wir noch weiter in 
die falsche Richtung laufen.

chris schrieb:
> Der Grund, die günstigen China Controller unterstützen
> 512/2048/4096/8192  Pixel bei 25-30fps. Maximal sind es 212992 Pixel
> welche als Chain einer einzelnen Online Ansteuerung oder Offline über SD
> Karte angesteuert wird.

Ich kenne die Teile /noch( nicht. Hast Du dazu ein paar Links oder 
Infos? Ich schaue natürlich gleich auch mal selbst.

Kann man mit diesen "günstigen China Controllern" für 512 Pixel denn 
auch 3 Matrizen mit je 16x9=144 LEDs ansteuern? Oder macht das keinen 
Sinn?

Für eine Laufschrift mit 6 Kacheln würde man dann ein oder zwei solcher 
Controller nehmen, oder wie?

chris schrieb:
> Wo bekommt man günstig die Chips her ?

Welche? Für WS2812 läuft gerade 'ne Sammelbestellung.

Mein Arbeitskollege kommt im August aus China zurück. Falls der welche 
im Handgepäck mitbringt, wird's vielleicht günstiger.

chris schrieb:
> Ein fertiges 16x16 Array kostet 62€,

Welches meinst Du? Das flexible, das nicht anreihbar ist?

chris schrieb:
> hingegen die reinen Leds kosten bereits 41€.

ja, 41€ für 16x16 LEDs

Bei 16 x 9 sind's etwa 35€ incl. Platine. Pro LED also teurer als das 
"fertige 16x16 Array". Dafür aber anreihbar und mit 5,5mm Pitch.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Gibt es hier noch mehr Leute, die 16 x 9 blöd finden?

    Dann_ _bitte_ _jetzt_ _melden!

    Danke.

Torsten C. schrieb:
> Ich kenne die Teile (noch) nicht.
> Ich schaue natürlich gleich auch mal selbst.

Ich bin ja wirklich gewillt, diese China-Controller als sinnvolle Lösung 
zu akzeptieren, wenn ich sie verstanden habe.

Gibt's dafür im Forum schon einen Thread? Wenn das Thema in diesem 
Thread parallel läuft, blickt keiner mehr durch.

Der Beitrag "RGB LED Strips Controller inside ?" ist es nicht.

http://de.aliexpress.com/item/hot-2013-new-products-DMX-512-LED-Decoder-Designed-for-WS2801-and-WS2811-With-51-patterns/1017436553.html

"Drücken der taste mode wählen muster aus muster zu 1 muster 51"

Ah, ich glaube, ich verstehe. Aber was für Muster sind das? Machen die 
nur mit einem einzeiligen Streifen Sinn, oder auch in eiener Matrix?

http://de.aliexpress.com/item/Smart-RGB-LED-Pixel-Controller-with-SD-Card-to-Set-Program-for-WS2811-LPD6803-UC1903-WS2801/784501530.html

42 Euro, OK, dafür ist alles fertig aufgebaut.

"mit der software 2012 führte bearbeiten kann man sogar hochladen video 
umgewandelt und hingerichtet werdenin led streifen"

Aha, Video. Also für Flächen, also Matrizen? Mit wieviel Pixeln pro 
Zeile? Oder ist das alles einstellbar?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

chris schrieb:
> ... die günstigen China Controller unterstützen
> 512/2048/4096/8192 Pixel bei 25-30fps.

@Chis: Hier geh's weiter:
Beitrag "RGB LED Controller mit SD-Card - Erfahrungen?"

@All: Ist das Konzept so OK?
LED-Matrix 16 zu 9 RGB

von Chris (Gast)


Lesenswert?

Wie ist die Befestigung vorgesehen ?

Es gibt auch noch die Flexiblen, ca 19x32cm welche mit 17x17cm lückenlos 
anreihbar sind und auf Gerüsten sowie Stahlseilen befestigt werden.
Dazu haben sie Ösen sowie Sicherungsösen und können so hinten 
zusammengebunden werden. Normalerweise macht man da noch je Panel einen
10A Step-down Wandler dran welcher auf 6V eingestellt ist und versorgt 
es
dann mit 12-48V + Bufferbatterie.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Es macht definitiv keinen Sinn, etwas zu entwickeln und zu bauen, was es 
schon fertig zu kaufen gibt. 5,5mm Pitch sind sicher nicht immer nötig.

Für die Matrix mit einem Bilderrahmen drum und einer Milchglasscheibe 
davor ^^ nehme ich selbst ja auch Streifen mit 16,7mm Pitch. Daher:

Chris schrieb:
> Es gibt auch noch die Flexiblen … mit 17x17cm lückenlos
> anreihbar sind

Hättest Du dazu mal einen Link? Das wäre nett, denn alles, was ich 
bisher sah, war nicht anreihbar.

von chris (Gast)


Lesenswert?

Dies ist der erste Link, wie ich ihn gefunden habe. Zwecks sourcen sowie
Preis sollte man eine bessere Suche machen.
Sowas in dieser Art.
http://www.alibaba.com/product-gs/825333899/16_16pixels_WS2812_led_digital_ws2811.html
Mit Controller:
http://www.alibaba.com/product-gs/825397453/16_16pixels_WS2812_led_digital_flexible.html

Was auch interessant ist, wie auch ev. Preislich ist sowas:
http://www.alibaba.com/product-gs/971130175/DJ_music_booth_rgb_strip_bar.html
Die gibt es auch mit ws2811 Controller.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

chris schrieb:
> Sowas in dieser Art.
http://www.alibaba.com/product-gs/825333899/16_16pixels_WS2812_led_digital_ws2811.html

Der sieht ja noch weniger anreihbar aus als der im Ursprungspost im 
Beitrag "RGB LED Controller mit SD-Card - Erfahrungen?" .

Warum meinst Du, dass die lückenlos anreihbar sind? Da ist doch ein 
Rand. Meinst Du, den kann man einfach umknicken?

von chris (Gast)


Lesenswert?

Die, welche ich benutzt hatte waren leicht verschieden, und die 
Leitungen waren innerhalb der Leds und nicht am Rande. Bei denen konnte 
man
die rechte Seite umknicken und auf die linke Seite drauftun.
Nur eine Seite lässt sich wirklich umknicken weil es auf der anderen 
Seite
ca 1.5cm für Leiterbahnen braucht. Man kann aber auch ein Stahlseil mit
dicker Silikonummantelung nehmen und dann beide Seiten umgehend machen, 
da dann der minimale Biegeradius erreicht wird.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

@Chris, ich kann's mir noch nicht so 100% vorstellen, aber das klingt 
interessant.

Damit alle was davon haben, fände ich es toll, wenn wir ein Foto ins 
WIKI stellen könnten oder wenn Du vielleicht wenigstens hier eins posten 
könntest.

Die sind also wirklich in beiden Richtungen lückenlos anreihbar, also 
mit gleichmäßigem Pixel-Pitch. Richtig?

Ich friere die Projektidee erstmal ein, bevor hier ein paar Leute sagen, 
dass das Projekt überhaupt Sinn macht.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Wenn schon die 16x9-Kacheln auf wackeligen Füßen stehen:

Wie wär's mit anreihbaren Platinen-Kacheln, die zu solchen 
Lochraster-Platten passen?

http://www.das-blech.de/product_info.php?info=p31_1402100---Lochblech-aus-Stahl---roh.html

Der Gedanke gefällt mir auch.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Ich friere die Projektidee erstmal ein, bevor hier ein paar Leute sagen,
> dass das Projekt überhaupt Sinn macht.

Die Deutsche Alternative zu aliexpress.com

http://www.schmidt-infosystems.de/led_display_pixelkarten_indoor_rgb.php

Klar, hier könnte man ein paar Euo sparen, aber dafür die Arbeit?

Und bei aliexpress.com:

244*122mm; 32x16=512 Pixel; 2,10 cent pro Pixel (netto, ohne Versand 
usw.)

Wenn ich in der Sammelbestellung 16ct pro Pixel Bezahle, macht das nie 
sinn, was selber zu basteln.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> Ich friere die Projektidee erstmal ein, bevor hier ein paar Leute sagen,
> dass das Projekt überhaupt Sinn macht.

Die Projektidee heißt "RGB-LED-Matrix". Das ist erstmal sowas wie das 
hier:

http://www.schmidt-infosystems.de/led_display_pixelkarten_indoor_rgb_indoor_pixelkarte_rgb_3in1_3528_p762_32x16_1_8scan.php

Diese Kacheln gibt's natürlich auch billiger:

http://www.adafruit.com/products/420

Und bei adafruit.com gibt's auch 'ne Anleitung, wie man die Kacheln 
ansteuert:

http://learn.adafruit.com/32x16-32x32-rgb-led-matrix?view=all

Ein ziemlicher Aufwand (45-60 MHz, FPGA, ...)

http://forums.adafruit.com/viewtopic.php?f=47&t=26130&start=0

Man kann sich solche Controller natürlich kaufen, in Deutschland:

http://www.schmidt-infosystems.de/led_display_controller_multimedia_grafik_controller_laufschriften_m20.php

Oder in China:

http://www.aliexpress.com/item/BX-5Q1-Alibaba-express-best-selling-hub75-full-color-led-control-card/808798080.html

Dort gibt's auch die Kacheln günstiger:

http://www.aliexpress.com/store/group/Indoor-Full-Color-Led-Display-Screen-module/620173_209278002.html

Zum Beispiel diese hier:

http://www.aliexpress.com/item/smd-3282-full-color-rgb-led-electronic-display-panel-p7-62-module-size-244-122mm/1028256969.html

Was mich stört: Die ganzen Flachbandkabel mit den hohen Frequenzen. Ich 
würde mir gern ein billigeres Controller-Board machen, das Speicher für 
ein, zwei oder maximal vier Kacheln hat (RAM sollte reichen, kein Flash) 
und mit den PWMs versorgt.

Alles andere, also USB-Schnittstelle, Bluetooth, Ethernet usw. würde ich 
auf einer übergeordneten Extra-Platine unterbringen, die dann nur noch 
die Daten in die dezentralen RAM-Speicher schreiben muss.

Vorteil: Besser skalierbar.

Dieses "billigere Controller-Board" könnte ja optional auch das 
WS2812-Protikoll verstehen, so dass man diese billigen 
China-SD-Karten-Controller anschleißen kann.

Ich denke, das ist sinnvoller, als selbst Kacheln mit WS2812-LEDs 
aufzubauen. OK, der Stromverbrauch ist höher als bei Konstanstrom, aber 
bei dem Preisunterschied ...

Hätte jemand Lust dabei mitzumachen?

Wir können ja auch 'ne Sammelbestellung aus China machen.

von chris (Gast)


Lesenswert?

Ich hätte noch 1 master sowie 4 slavePlatinen um diese Panele 
anzusteuern.
Xmos sowie Ethernet , SD-Karte sowie Midi/DMX, allerding unbestückt.
Preis belief sich wenn ich mich richtig errinnere auf ca 18€ inkl 
Bauteile.
Ich müsste in den Unterlagen nachsehen, wieviele Panels bei welchen Hz 
und
Auflösung möglich ist.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

chris schrieb:
> Ich hätte noch 1 master sowie 4 slavePlatinen um diese Panele
> anzusteuern.

COOOL! Aber keine Kachel/Panele/FullColorLedDisplayScreenModule?

Torsten C. schrieb:
> chris schrieb:
>> Der Grund, die günstigen China Controller unterstützen
>> 512/2048/4096/8192 Pixel bei 25-30fps.
> Ich kenne die Teile (noch) nicht. Hast Du dazu ein paar Links oder
> Infos?

Sind die o.g. Schieberegister-Kacheln denn die, die Du meintest?

Bevor ich was aus China oder Amerika bestelle, würde ich mir gern mal so 
eine Controller - Kachel - Kombination besorgen und mit LA und FPGA 
probieren, ob ich so einen "dezentralen" Contoller dazu bringe, das zu 
tun, was er soll.

'ne SPI-Schnittstelle zum übergeordneten Controller und die 
Schnittstelle zum ScreenModule könnten ja über Pegelwandlungen gehen, 
aber zum RAM …

Ich suche daher gerade nach einer FPGA/RAM-Kombination, die seitens der 
Spannungsversorgung kompatibel ist, aber das ist ein Extra-Thread.

Kannst Du mir zur Kontaktaufname 'ne PN schicken? Zur Not besorge ich 
mir eine Kachel bei adafruit oder aliexpress.

von chris (Gast)


Lesenswert?

Hatte ich als ich damals rumgespielt habe, ist lange her.
Könnte sein daß ein RGB Paneles noch da ist.
Ursprünglich hatte ich drei unterschiedliche Typen evaluiert, mit
unterschiedlicher Ansteuerung. Eines hatte ich als Ambient Light
sowei Uhr verwendet, und das andere müsste eigentlich noch da sein.
Ich schaue Montag nach und schreibe dir dann.

von Torsten C. (torsten_c) Benutzerseite


Angehängte Dateien:

Lesenswert?

chris schrieb:
> Ursprünglich hatte ich drei unterschiedliche Typen evaluiert, mit
> unterschiedlicher Ansteuerung.

Entspricht denn die Ansteuerung der Beschreibung bei adafruit.com?

Man könnte sich entweder 'ne Ansteuerung für diese China-Billig-Treiber 
bauen oder die LED-Treiber durch TLC5940 ersetzen. Mit kleinen 
Adapterplatinchen müsste das gehen, siehe Bild.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Marc N. schrieb:
> Torsten C. schrieb:
>> * HDMI,
> lol

Marc, warum lachst Du?

Als Video-Quelle kann man z.B. auch einen Raspberry pi nehmen, dann muss 
man vielleicht nicht dem Umweg über HDMI gehen.

Bei HDMI-Signalquellen kann man doch einfach ein 720p24 Signal 
(1280×720px², 22,1 Mpx/s) über einen ADV7611 in ein FPGA schieben. Der 
ADV7611 könnte auch 525i und 625i, aber ich habe keine Grafikkarte 
gefunden, die das Format per HDMI ausgeben kann.

Statt einer Interpolation ist es sicher einfacher, nur jedes vierte 
Pixel in X- und Y-Richtung zu extrahieren und den Rest zu ignorieren. Um 
aliasing zu verhindern, müssste das Bild, das vom PC kommt, natürlich 
entsprechend "unscharf" sein.

Dann sind wir bei 1 382 400 Mpx/s und ein solches Bild hat 57 600 Pixel, 
also 172 800 Bytes.

Für die Darstellung bräuchte man 10 x 6 = 60 von diesen 
China-Billig-Kacheln mit 32 x 32 LEDs.

Pro Stück kosten die etwa 20€, also sind das 1 200€ für so einen 320 x 
180 Pixel-Monitor. Klar, das ist 'ne Stange Geld.

http://item.taobao.com/item.htm?spm=a230r.1.14.121.1WCNv3&id=17002967445
Wenn man die beim Rückflug aus China im Fluggepäck mitnimmt, wird's 
vielleicht billiger. Google Translate ist 'ne feine Sache.

Bei einem Raspberry pi müsste man die Video-Daten doch auch parallel 
(wie beim alten Drucker-Port) ausgeben können, oder?

Das STM32F4DISCOVERY hat knapp 80 freie IO pins. Um eine solche 
China-Billig-Kachel anzusteuern, benötigt man pro Kachel 6 Daten-Bits 
und dazu noch für alle Kacheln zusammen Takt + Latch + 3..4 
Address-Bits.

Wenn man pro STM32F4DISCOVERY eine Kachel-Zeile aus 10 Kacheln mit 
Signalen versorgt, sollten noch genügend Pins frei sein, um die Daten 8 
bit parallel aus dem FPGA oder dem Raspberry pi zu lesen.

Das STM32F4DISCOVERY hat 168 MHz; ob man in 6,9ms wohl 28 800 Bytes aus 
dem FPGA einlesen kann? Das wären rund 4MB pro Sekunde.

Ich denke, pro Kachel-Zeile müssten sich zwei STM32F4DISCOVERY-Boards 
abwechseln, weil sie entweder mit lesen oder mit schreiben beschäftigt 
sind. Interrupts machen das Bild kaputt, beides zugleich geht 
wahrscheinlich nicht.

Bei 6 Zeilen aus China-Billig-Kacheln käme man also auf 12 
STM32F4DISCOVERY-Boards, zusammen nochmal 200€

Wenn man statt der STM32F4DISCOVERY-Boards 'ne eigene Platine entwirft, 
wird's sicher billiger. Aber bei 1 200€ für die Kacheln fallen die 200€ 
kaum noch ins Gewicht. Und erstmal müsste der Prototyp laufen.

Eine Kombination aus Raspberry pi, den 12 Controllern und den 60 Kacheln 
käme also auf rund 1500€.

Ernst gemeine Frage: Macht das Sinn?

Falls ja, könnte ich mich mal an einem Prototypen mit 2 Controllern und 
128 x 80 Pixeln versuchen. Ich müsste dafür etwa 200€ in 
China-Billig-Kacheln investieren und mir noch einen Raspberry pi 
besorgen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Es ist ruhig geworden, um diesen Thread.

PSblnkd schrieb:
> Das Projekt liegt derzeit auf Eis, weil es nicht genügend Interessenten
> gab.

Vielleicht ist das hier genauso, oder sind alle im Urlaub?

chris schrieb:
> Ich hätte noch 1 master sowie 4 slavePlatinen um diese Panele
> anzusteuern. … Könnte sein daß ein RGB Panel noch da ist.

Und, hast Du mal geschaut?

Ich denke, es kristallisieren sich 3 Lösungen heraus:

1. Große Matrizen mit wenig LEDs
================================

Für Matrizen mit einem Pixel-Pitch ab 7mm aufwärts nehme man 
WS2812-LED-Streifen und klebe sie auf eine Trägerplatte. Da Platinen mit 
zunehmender Fläche schnell teurer werden, ist man mit diesen Streifen am 
besten bedient, auch wenn die WS2812 etwas teurer ist. Außerdem ist man 
absolut frei in der Wahl der Anzahl von Zeilen und Spalten, sogar eine 
"versetzte" Anordnung wie bei CRT-Lochmasken ist problemlos möglich.

Es gibt Streifen mit 30, 60 und 144 LEDs pro Meter.

2. Pixel-Pitch unter 7,62mm
===========================

2a) Für kleinere Matrizen mit 8 x 8 LEDs und Vielfachen gibt es Kacheln 
mit 48mm oder 60mm Kantenlänge für Rainbowduino bzw. Colorduino.

2b) Für Matrizen ab 16 x 32 und Vielfachen gibt es Kacheln incl. 
Ansteuerung mit Konstantrom-Schieberegistern.


Was ist also noch zu tun?
=========================

zu 1)
=====

Ich baue einen Prototypen mit ca. 550 LEDs in "versetzter Anordnung" als 
Beleuchtung für unser Wohnzimmer, das wollte meine Freundin so. Die 
Leuchtfläche ist 40 x 30 cm.

zu 2a)
======

Die Colorduino-Boards sind mit 60x60mm² zu groß für Module mit 48mm 
Kantenlänge. Außerdem sind sie - gemessen an der Funktionalität - zu 
teuer, um sie zu kaskadieren.

Ich möchte eine Platine layouten, die statt "Macroblock MBI5168" oder 
"MY-Semi MY9221" billigere ICs benutzt, z.B. "STM STP16CPC05", "Fengxin 
FD9802" oder andere pinkompatible Treiber, z.B. "TI TLC5926".

Zum "Formfaktor" der Platine im Gegensatz zu "*dunio":

1. Es können sowohl Kacheln mit 48mm als auch mit 60mm Kantenlänge 
verwendet werden, bei beliebiger Anreihbarkeit.

2. Pro Platine können zwei 8x8-Kacheln angesteuert werden. Wenn nur eine 
Kachel angesteuert werden soll, kann man die Platine in der Mitte an 
einer einseitigen Ritzung durchbrechen und den Rest wegwerfen.

3. Es gibt nur noch 3 Befestigungslöcher pro Platine, auf denen 
M3-Muttern verlötet sind, um die Platinen mit verlöteten LED-Kacheln 
montieren zu können.

4. Für die I²C-Adresse gibt es Jumper oder Codierschalter. Alternativ 
ist auch SPI möglich.

zu 2b)
======

Ich warte auf ein Muster, um einen "Segment-Controller" für die Kacheln 
zu entwerfen. M.E. sollte der "Segment-Controller" nur den 
"Grafikspeicher" beinhalten und ein paar primitive Kommandos (Füllfarbe, 
Verschiebung, Bitmap, ...) verstehen.

Der Rest (Zeichensätze, Grafik-Primitive, ...) gehört in einen zentralen 
Steuerrechner, der die Befehle an die "Segment-Controller" absetzt.

MaWin schrieb:
> Das geht, wenn sie am Rand unregelmässig beschnitten wird,
> wie ein Puzzle bei dem Zähne ineinandergreifen.

Schade drum, aber ich sehe kaum noch Sinn in einem "Puzzle mit 5,5mm 
Pitch". Der Unterschied zu den 48mm-Kacheln mit 6mm Pitch ist m.E. zu 
gering für eine separate Lösung.

Was mir noch nicht ganz klar ist: Welche Controller nehme ich?

zu 2a) PIC16F1825 scheint zu passen, aber auch STM8 und ATMega kommen in 
Frage. Ich brauche ca. 1KB RAM. I²C und SPI wären gut.

zu 2b) ATSAM4N8, MKL05Z32 oder LPC1347 scheinen dafür gute Kandidaten zu 
sein. Sie sind schnell genug und haben genügend Grafikspricher. FPGAs 
skalieren nicht so gut, siehe 
Beitrag "Re: FPGA + RAM mit gleicher Versorgungspannung"

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Torsten C. schrieb:
> chris schrieb:
>> Ich hätte noch 1 master sowie 4 slavePlatinen ...
> Und, hast Du mal geschaut?

Ich habe jetzt keine Geduld mehr zu warten und habe (zollfrei) die hier 
bestellt:

http://www.aliexpress.com/snapshot/256748516.html
http://www.aliexpress.com/snapshot/256747914.html

Torsten C. schrieb:
> MaWin schrieb:
>> Das geht, wenn sie am Rand unregelmässig beschnitten wird,
>> wie ein Puzzle bei dem Zähne ineinandergreifen.
> Schade drum, aber ich sehe kaum noch Sinn in einem "Puzzle mit 5,5mm
> Pitch"

Ich muss demnächst einen Nutzen beauftragen, da bringe ich vielleicht 
ein paar kleine 6x6-Puzzleteile zum testen unter. Da kaum "Verschnitt" 
dabei ist, sind kleinere Puzzleteile (33mm x 33mm) ja kaum ineffizienter 
als größere. Dafür ist man sehr flexibel (Streifen, Quadrate, Rechtecke, 
...). Wir müssen uns nur noch zwischen der WS2812 und der WS2812B 
entscheiden. Hat jemand präferenzen, oder ist Euch das egal?

Torsten C. schrieb:
> Es gibt Streifen mit 30, 60 und 144 LEDs pro Meter.

Meine Streifen mit 60 sind heute angekommen, auf den mit 144 warte ich 
noch.

Torsten C. schrieb:
> Ich möchte eine Platine layouten, die statt "Macroblock MBI5168" oder
> "MY-Semi MY9221" billigere ICs benutzt.

Der DM163 wäre auch noch 'ne Alternative gewesen. Das ist aber auch 
deutlich teurer als Lösungen mit 'nem FD9802.

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.