RGB Matrix Paneel 16x32
Datum: Tue 07 January 2014
Samenvatting: RGB Matrix paneel, 512 LED's op 1 paneel.
Volgens de site van Ada Fruit kan je met zo'n paneel een stukje Jumbo-Tron in huis halen. Wat is een Jumbo Tron? Dat is dat grote scherm, dat in New York op de Times Square aan de puntige buitengevel van een wolkenkrabber hangt.
In december 2013 kostte een paneel $40,00, dat kwam toen overeen met zo'n Eu30,00. Daar komen dan nog transport kosten (vanuit New York) bij. Er is wel een opmerking, de panelen komen uit rest-partijen van video-wall fabrieken. Er is dus wat variatie in uitvoering.
Het paneel zelf meet maar 96 x 192mm^2 (=3.78 x 7.56inch^2). Het bevat 16x32 RGB-LED's, bij elkaar 512 stuks. Elk wit stipje is een LED.
Naast panelen van 16x32 LED's bestaan er ook panelen van 32x32 LED's. Dubbel zo groot en vierkant.
Het paneel
Er is een engelstalige beschrijving van het paneel. Deze beschrijft zowel de 16x32 als de 32x32 paneel.
Elk paneel heeft een voedingsconnector, op de foto de witte molex connector. Er zijn ook panelen met een schroefverbinding voor de benodigde stroom. Het paneel verbruikt maximaal 2 Ampere, tenminste als alle LED's wit branden. Bij enkele panelen is een PC-voeding erg geschikt. Zij zijn betrouwbaar, lekker kompakt en leveren veel stroom. Bij veel panelen moet er een andere manier van voeden worden gevonden.
Op de achterzijde zit links een ingangsconnector en rechts een uitgangsconnector om meer panelen (elektrisch) aan elkaar te koppelen.
Op de 2 panelen die ik heb, de [LEDSUN PH6-HX], zijn enkele standaard IC-nummers, maar ook een aantal onbekende nummers, hoewel deze wel bekende functies hebben:
- 2 * SM74HC245D (8 bits Bi Directional Tri State Buffer) [U1 U2];
- 2 * SM74HC138D (3=>8 Decoder/ Demultiplexer) [U3 U4];
- 12 * SM16126ES (Schuifregisters met 16 uitgangen en Latches) [GU1 RU1 BU1 / GU2 RU2 BU2 / GU3 RU3 BU3 / GU4 RU4 BU4];
- 8 * 4953K / 386985 (Buffer IC's, een rij LED's verbruikt nogal wat stroom) [Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8];
- 16 * SMD Weerstand Arrays (390Ohm) [RP3 RP4 RP5 RP6 RP7 RP8 RP9 RP10 RP11 RP12 RP13 RP14 RP15 RP16 RP17 RP18]
- 8 * SMD weerstanden (866Ohm) [GR1 RR1 / GR2 RR2 / GR3 RR3 / GR4 RR4]
- 4 * SMD weerstanden (1k5Ohm) [BR1 / BR2 / BR3 / BR4]
- 19 *SMD Condensators (onbekend, wellicht de standaard waarde van 100nF(?)) [C3 / C4 C5 C6 / C7 C8 C9 / C10 C11 C12 / C13 C14 C15 / C16 C17 C18 C19 C20 C21]
- 2 * SMD Elko's (22uF) [C1 C2]
Componenten tellen en logisch redeneren is hierbij de truuk.
De ingangsconnector
De volgende signalen zijn er op de ingangsconnector:
Aansluitingen 16x32 RGB Matrix Paneel |
|
R1 | Rood 1 = Boven Helft | Arduino Pin D2 | | G1 | Groen 1 = Boven Helft | Arduino Pin D3 |
B1 | Blauw 1 = Boven Helft | Arduino Pin D4 | | GND | Ground = 0V | Arduino Pin 0V |
R2 | Rood 2 = Onder Helft | Arduino Pin D5 | | G2 | Groen 2 = Onder Helft | Arduino Pin D6 |
B2 | Blauw 2 = Onder Helft | Arduino Pin D7 | | GND | Ground = 0V | Arduino Pin 0V |
|
A | Select A = Regel (A0) | Arduino Pin A0 | | B | Select B = Regel (A1) | Arduino Pin A1 |
C | Select C = Regel (A2) | Arduino Pin A2 | | NC | gnd = NotConnected | Arduino Pin 0V |
CLK | Clock = Doorschuif | Arduino Pin D8 | | STB | StoreBuf = DoorBufferen | Arduino Pin A3 |
OE | OutEnable | Arduino Pin D9 | | GND | Ground = 0V | Arduino Pin 0V |
- Het blijkt dat een paneel in twee helften is verdeeld, boven en onder. Dit blijkt dat de kleuren RGB in tweevoud is uitgevoerd [R1 G1 B1 / R2 G2 B2].
- Elke helft heeft 8 regels. Dit blijkt uit de SM74HC138 en de 3 select-aansluitingen [A B C]. Met 3 signalen zijn 2^3 = 8 verschillende regels te selecteren.
- Elke regel heeft 32 LED's, hiervoor worden 2 schuifregisters gebruikt (met elk 16 uitgangen) [CLK]. Deze schuifregisters zijn aan elkaar gekoppeld. Alles wat het eerste schifregister uitschuift, schuift het tweede register weer in. Alles wat dit tweede register uitschuift, is beschikbaar op de uitgangsconnector, klaar om het volgende paneel ingeschoven te worden.
- Er dient dus 1 hele rij met data in het paneel geschoven te worden. [CLK] Wanneer een hele rij met LED-data klaar staat, moet deze naar de buffer worden doorgeschoven. Deze buffer is ingebouwd in het schuifregister [LAT].
- Elke regel heeft 3 kleuren, RGB, er zijn 3 duo's met schuifregisters.
- Er is een Output Enable signaal om een paneel aan en uit te zetten. Hiermee is het zogenaamde "Ghosting" te voorkomen, of te wel, de data van een regel is niet op een andere regel zichtbaar [OE].
Hoe aan te sturen?
Theoretisch moet er dus het volgende gebeuren.
- Kies eerst de regel die je wilt versturen [A B C]. Dit aktiveren gaat later.
- Stuur dan van deze regel eerst alle data in de schuifregisters. Inclusief de aparte kleuren [R G B] [CLK]. Er zijn twee helften, dus dit kan met twee aansturingen tegelijk.
- Deaktiveer de OE om de LED's uit te zetten (om "ghosting" te voorkomen) [OE].
- Aktiveer de regel [A B C].
- Stuur de data door naar de buffer [LAT].
- Aktiveer de OE om de LED's weer aan te zetten [OE].
- Neem de volgende regel
- Na de achtste regel, komt de eerste weer aan de beurt.
Dit betekent wel dat de data steeds herhaaldelijk naar het paneel moet worden gestuurd. Elke keer weer. Ook moet de data van de LED's worden onthouden. Een truuk uit de oude home-computers is, dat daar een stuk geheugen voor wordt gebruikt. Bij de Arduino zou dit een groot array van bits kunnen zijn.
De ene kant prepareert de data en vult het array op de juiste wijze. De andere kant haalt de data uit het array en stuurt het zeer snel naar het paneel.
Helderheid.
De LED's kunnen alleen aan of uit worden gezet. Meer smaken hebben de schuifregisters op hun uitgangen niet. Helderheidsturing, zoals Pulse Width Modulation (PWM) (in goed nederlands: Puls Breedte Modulatie) is niet ingebouwd in de panelen. Dus standaard zijn er maar 8 kleuren mogelijk, namelijk alle combinaties die met RGB te maken zijn wanneer deze alleen maar aan of uit kan wezen. Voor meer kleuren moet de helderheid van de afzonderlijke RGB-componenten worden gevarieerd.
Dit zal men zelf moeten doen. En kan door een kleur [R G B] eerst aan te zetten en bij een volgende raster (dat de data weer naar het paneel wordt gestuurd) weer uit. Hoe meer rasters een LED-kleur dan aan is, hoe helder de betreffende kleur zal worden. Een soort PWM.
Let wel, dit "rasters sturen" (verversen van het beeld) moet ook regelmatig gebeuren. Anders zijn er helderheidsverschillen te zien. Hiervoor kan een interupt worden gebruikt.
In plaats van PWM blijkt er een andere methode te zijn, één die interessanter is, Binaire Code Modulatie (BCM) genaamd. Dit schijnt eenvoudiger te implementeren te zijn en levert een meer-constant gebruik van de Arduino op, althans wat aansturen van de panelen betreft.
Hoe is het met de snelheid?
Bij de (oude beeldbuis) TV, moet het beeld ververst worden met een acceptabele snelheid, anders zijn er losse strepen te zien. Bij de (Nederlandse PAL) TV zijn dit 25 beelden per seconde. Ook bij deze TV wordt een beeld opgebouwd uit regels, die elk 1/15625 seconde in beslag neemt, oftewel er worden 15625 regels beschreven in 1 seconde. Een regel bestaat uit beeldpunten, waarvan er bijna 4.433.619 in een seconde worden beschreven. Hieruit is een maat te halen voor een minimaal benodigde frequentie om ook het LED paneel te verversen. Zo moet het ook bij dit paneel gebeuren.
Er is ook een soort vegelijking met bioscoop films (24 beelden per seconde). Maar film heeft geen last van regels en punten die ververst moeten worden.
Het paneel zelf ontworpen gebouwd om aangestuurd te worden door een 100MHz FPGA (of andere hoge snelheids processor) met 250-pennen. Experimenten wijzen uit dat dat deze maximale frequency ergens tussen 40MHz en 50MHz ligt.
De Arduino werkt op 16MHz. Er is een bibliotheek geschreven om een paneel aan te sturen. Daarmee kan men 4096 verschillende kleuren naar het paneel sturen, zonder noemenswaardige "storingen". 4096 (=2^12) kleuren is 16 (=2^4) tinten rood, 16 tinten groen en 16 tinten blauw.
Deze bibliotheek neemt 20% processor tijd in beslag. Hierbij zijn alle aansluitingen op de Arduino-print hard gecodeerd om een zo hoog mogelijke snelheid te kunnen halen, want de verversing-frequentie blijft de bottle-neck.
Broncode:
[1: Info van "Noveled Group Co Ltd", een (Chinese) fabrikant.]
1: De broncode van Info van "Noveled Group Co Ltd", een (Chinese) fabrikant.
(Wed 08 January 2014)
Hoewel zij complete beelddisplays verkopen, is duidelijk dat zij hiervoor deze RGB panelen gebruiken. De afmetingen kloppen gewoon met wat ik opmeet.
Deze broncode heeft 53 regels met programma-code.
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
LED Display (pH 6 mm indoor fullcolor LED display)
Basic Info.
-------------------------------------------------------------------------------------------------------------------
Model NO.: P6 RGB indoor led display
Guarantee: 1 Year With Parts
Export Markets: North America, South America, Eastern Europe, Southeast Asia, Mid East, Eastern Asia
Additional Info.
-------------------------------------------------------------------------------------------------------------------
Trademark: NVD
Packing: Wooden Box
Standard: 192mm X 96mm
Origin: Made-In-China
HS Code: 85312000
Production Capacity: 3000m^2/ month
Display and Control Feature | Structure Feature
Specification Parameter | Specification Parameter
-------------------------------------------------------------------------------------------------------------------
Pixel Pitch 6mm | Module size 192mm*96mm
Pixel composing 1R1G1B | Display resolution/module 32 dots*16 dots
Wavelength (R) 625±5 | Standard cabinet size 960 mm*768mm
Wavelength (G) 522±3 | Weight per m^2 45 kg/m^2
Wavelength (B) 567±3 | Protection classification ---
Wave Angle (H) 140°(H)/140°(V) | Install mode Wallmount, hung and stand structure
Led package SMD 0603 | SMD Type SMD 1in1 & SMD 3in1
Density 27,777 |
Display color 256*256*256 | Working Power
Whiteness brightness >=1400cd | Specification Parameter
Brightness level 128 grade |-------------------------------------------------------------------
Changing frame frequency 60 Hz | Working voltage AC 220V/ 380V±10% 47 .. 64Hz
Refresh 400 Hz | Max power/m^2 1100W/m^2
Driving method Constant driving 1/8 | Average power/m^2 750W/m^2
Control mode synchronous | Short circuit protection Yes
Display port DVI |
Display mode 1024*768 1024*1024 | Working Environment
Out of control 1/10,000 ( scattered) | Specification Parameter
lifetime 100,000 hours |-------------------------------------------------------------------
| Environment Indoor
| Working temperature -5 .. 50°C
| Working Humidity 10 .. 90%
Contact Details
-------------------------------------------------------------------------------------------------------------------
Company Name: Noveled Group Co., Ltd.
Company Address: F5, Xinyongfeng Industrial Zone, No 9, Street 1, Yuanling, Shiyan, Bao an District, Shenzhen
City/Town: Shenzhen
Province/State: Guangdong
Country/Region: China
|
Broncode:
[1: Info van "Noveled Group Co Ltd", een (Chinese) fabrikant.]
|
Afbeeldingen

1/5: rgbmatrix_basis_1.jpg.

2/5: rgbmatrix_basis_2.jpg.

3/5: rgbmatrix_basis_3.jpg.

4/5: rgbmatrix_basis_4.jpg.

5/5: rgbmatrix_basis_5.jpg.
|
De aansluitingen van Basis aansluitingen.
De basis-aansluitingen van de Arduino Library
Arduino Uno
|
|
Pwr USB
|
?
|
|
|
|
|
?
|
|
|
|
aref
|
|
|
|
gnd
|
Gnd's (4x)
|
|
?
|
d13
|
|
|
ioreff
|
d12
|
|
|
reset
|
d11
|
|
|
+3.3v
|
d10
|
|
|
+5v
|
d9
|
Oe
|
Gnd's (4x)
|
gnd
|
d8
|
Clk
|
Gnd's (4x)
|
gnd
|
|
|
|
Vin
|
d7
|
B2
|
|
|
d6
|
G2
|
A (A0)
|
a0
|
d5
|
R2
|
B (A1)
|
a1
|
d4
|
B1
|
C (A2)
|
a2
|
d3
|
G1
|
Stb
|
a3
|
d2
|
R1
|
|
a4
|
d1
|
|
|
a5
|
d0
|
|
|