Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Ik heb hier een aantal RGB matrixen liggen die ik wou aansturen. De meeste zullen zeggen geen probleem een schuifregister en je probleem is van de baan. Ik had graag de mogelijkheid om ze te dimmen. Nu kwam ik de TLC5940, maar bij nader inzien niet echt geschikt voor het aansturen van een RGB matrix. Ze zijn eerder geschikt voor het continu aansturen van een reeks leds en niet echt voor multiplexen.
Bij de displays van baco heeft Sprite het klaargekregen om er roodtinten aan toe te voegen met gewone schuifregisters.

Het idee zoals ik het voor ogen had:
Per matrix een print met een µC van Microchip en de matrix al multiplexend aan te sturen. Maar ik zou een "systeem" willen maken dat gemakkelijk uit te breiden is en daar loop ik dan weer tegenaan. De printen adresseren lijkt me niet echt een probleem. Met een 8-bit dipswitch kan je aangeven waar de matrix zich bevind. 4 bits voor aan te geven welke kolom en 4 bits om aan te geven in welke rij. Maar dan komt het probleem, hoe kan ik de matrixen snel van data voorzien en laten communiceren met elkaar?

Ik ben hier al een paar dagen aan het rondzoeken en Google een beetje verveeld, maar ik heb niet echt een oplossing gevonden. Bestaat deze niet of zie ik iets over het hoofd?

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • peeter123
  • Registratie: Juli 2005
  • Laatst online: 13:25
Je kunt kijken naar de Max7219, is makkelijk aan te sturen via SPI(Niet officieel, maar het werkt wel gewoon). Het enigste nadeel is dat je er 3 nodig bent per 8x8 RGB matrix, en ze zijn nogal prijzig(15$ 5 stuks op Ebay).

Voordeel is wel dat het gewoon veredelde schuifregisters zijn, je kunt ze dus makkelijk in een serie achter elkaar zetten.

Snel is het ook wel. Je moet 3*16*8 bits schrijven naar die ic's, maximale clockrate is 1.75 MHz dus je kunt je RGB-Matrix van data voorzien in ongeveer 250 uS.

28x 430Wp ZW | Ecoforest EcoGeo 1-9 kW | Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Toch ga ik roepen een aantal 595 schuif registers, bijvoorbeeld 74hc595. ;)

edit/
Kosten 0.25 cent per stuk. :P

[ Voor 21% gewijzigd door mad_max234 op 13-06-2010 00:04 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Verwijderd

Ik stuur (op de boards die Sprite_tm ook gehacked heeft) 16x32 leds aan met 1 uC van 20MHz. Ik heb op deze manier 8 uC's aan 1 UART hangen welke data ontvangen van de seriele (UART) poort van een La Fonera.
Door mijn gebrekkige uC's (PIC16F628a met slechts 224bytes ram) kan ik een board van 16x32 dus met 2 bit PWM voorzien, maar het voldoet.

Ik zou zoals mad_max234 al suggereerde, 74hc595's gebruiken en deze doorlussen. Software-pwm is niet zo moeilijk, bedenk je wel dat je uC snel genoeg moet zijn, en voldoende geheugen aan board hebben om de PWM waarden te onthouden (width x height x pwm_bits (x 3 voor RGB) = minimal ram bits).

Jij hebt dus de volgende berekening nodig (in geval van 4bit PWM):
16 x 32 x 3 x 4 = 6144 bit / 8 = 768byte ram

Of voor 1 8x8 ledmodule, bij 4 bit PWM:
8 x 8 x 3 x 4 = 768 bit / 8 = 96 byte.

Uitgaande van 1 8x8 blokje zou het je 4x 74hc595 kosten, 2x 8x8 kost je er 5.
Je kan ook nog 74hc237's (3-to-8 line decoder) gebruiken, of vele andere uit de 74xx serie.

In ieder geval zal ik proberen zoveel mogelijk 8x8 blokjes met 1 uC aan te sturen, en dan per uC een adres (ik gebruik daar 3bit jumper voor).

[ Voor 15% gewijzigd door Verwijderd op 13-06-2010 01:56 ]


Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Het oorspronkelijke idee was om 1x 18F4550 en 3 x TLC5940 te gebruiken voor 2 RGB-matrixen. De 18F4550 op 48MHz laten draaien zodat ik toch nog een interne klok heb van 12MHz. Snelheid "genoeg" voor het aansturen van 2 displays met PWM.
Mede omdat de TLC niet echt voor dit doel geschikt is ben ik van dit idee afgestapt. Schuifregister leek me beter te passen in het plaatje.

Maar dan komt het probleem, hoe kan ik de matrixen snel van data voorzien en laten communiceren met elkaar? Is de uart snel genoeg om de µC'ers van data te voorzien en er een kleine videowall mee op te bouwen?
En hoe zit het dan met de communicatie met de PC? Ik heb hier nog wel een FTDI chipje (USB-UART) liggen, maar hoe dan verder. Software schrijven voor de µC lijkt me al een uitdaging laat staan om een PC-programma te schrijven.

Op sprite's blog kwam ik onderstaande schets tegen:
Afbeeldingslocatie: http://spritesmods.com/ledmatrix/daisy.jpg
Ik dacht net om alleen de Rx'en van de µC'ers aan elkaar te hangen en geen serie netwerk te maken.

@mad_max234: het kan ook met minder :p

Ik heb toch drie 595's voor één matrix nodig en zes 595's voor 2 matrixen?

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 21:42
Met een TLC is het toch prima mogelijk om matrix te dimmen? Elke 4095 clocks stap je naar de volgende rij. SPI inklokken kan met 30MHz dus rap zat.

Hoe snel en hoeveel data je naar al die modules moet sturen zal je even uit moeten rekenen.
Per matrix 8*8*3 bytes. Ik zie 9 matrixes dus *9. 1 adres byte en een start byte. Stel dat je het display op 30fps wil refreshen dan kom je aan een datastroom van (8*8*3*9+9+9)*30 =
52380 bytes/ seconde. UART(8 bits, +1start +1 stop) dus 523800 bits/sec. Is dus iets teveel van het goede.

Correct me if I'm wrong natuurlijk.

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Anders pak je een 74LS595 als die HC niet snel genoeg is, wat ik overigens betwijfel want zijn grotere matrixen op youtube te zien die de 74hc595 gebruiken, met PWM. ;)

Je heb er vier nodig, 1 voor het selecteren en drie voor de kleur, maar ik speel nooit met matrixen dus weet er ook niet het fijne vanaf, heb er nog nooit echt naar gezocht, lees er zo nu en dan over. . ;)

Edit/

Als het niet lukt dan kan je altijd nog deze tutorial volgen, maar volgens mijn is er zat info over te vinden, op het arduino forum komt het geregeld voorbij, niet dat je een arduino hoeft te gebruiken elke uC met pwm is geschikt uiteraard.

http://www.instructables....ay-Another-Arduino-Clone/

Edit/
Heb toch even wat gezocht en twijfel of er PWM signaal word gegeven aan de 595's, kan ook zijn dat ze een soort van software pwm gebruiken via de 595's. En klopt ook niet wat ik zei, de HC serie is de snellere variant van deze twee, HC 100Mhz, LS 20Mhz. :P

[ Voor 82% gewijzigd door mad_max234 op 13-06-2010 23:40 ]

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
LED-Maniak schreef op zondag 13 juni 2010 @ 12:59:
Met een TLC is het toch prima mogelijk om matrix te dimmen? Elke 4095 clocks stap je naar de volgende rij. SPI inklokken kan met 30MHz dus rap zat.

Hoe snel en hoeveel data je naar al die modules moet sturen zal je even uit moeten rekenen.
Per matrix 8*8*3 bytes. Ik zie 9 matrixes dus *9. 1 adres byte en een start byte. Stel dat je het display op 30fps wil refreshen dan kom je aan een datastroom van (8*8*3*9+9+9)*30 =
52380 bytes/ seconde. UART(8 bits, +1start +1 stop) dus 523800 bits/sec. Is dus iets teveel van het goede.

Correct me if I'm wrong natuurlijk.
Die kan inderdaad tot 30MHz, maar mijn µC'er werkt maximum tot 12MHz intern (48MHz kristal).
Ik zou wel willen proberen om 60fps te halen, zodat ik geen interferentie krijg met de 50Hz van het lichtnet (TL ed.).
mad_max234 schreef op zondag 13 juni 2010 @ 18:43:
Anders pak je een 74LS595 als die HC niet snel genoeg is, wat ik overigens betwijfel want zijn grotere matrixen op youtube te zien die de 74hc595 gebruiken, met PWM. ;)

Je heb er vier nodig, 1 voor het selecteren en drie voor de kleur, maar ik speel nooit met matrixen dus weet er ook niet het fijne vanaf, heb er nog nooit echt naar gezocht, lees er zo nu en dan over. . ;)

Edit/

Als het niet lukt dan kan je altijd nog deze tutorial volgen, maar volgens mijn is er zat info over te vinden, op het arduino forum komt het geregeld voorbij, niet dat je een arduino hoeft te gebruiken elke uC met pwm is geschikt uiteraard.

http://www.instructables....ay-Another-Arduino-Clone/

Edit/
Heb toch even wat gezocht en twijfel of er PWM signaal word gegeven aan de 595's, kan ook zijn dat ze een soort van software pwm gebruiken via de 595's. En klopt ook niet wat ik zei, de HC serie is de snellere variant van deze twee, HC 100Mhz, LS 20Mhz. :P
LS staat voor Low Speed, dus inderdaad zoals je zegt is deze trager als de HC. Maar de LS zou nog snel genoeg zijn voor de controller, zie ook hierboven.

De rij selecteren kun je ook met een ULN, lijkt me ook wel aan te raden vanwege de toch wel "grote" stroom. 3 keer 20mA per dot en dan 8 dots per rij, dan kom ik op maximum 480mA. En als ik ze per twee matrixen aanstuur wordt het maximum 960mA. Maar dan valt de ULN ook af, deze kan maximum 500mA schakelen per poort.
De PWM wordt gerealiseerd door de schuifregsiters heel snel te voorzien van nieuwe data. Zo lijkt het of de matrixen gePWM'ed worden.

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Waarom zou de 50Hz van je matrix interfereren met de 50Hz van het lichtnet :?

Verder: als je met grijstinten gaat werken wil je misschien het stukje wat ik er ooit over geschreven heb eens doorlezen, als je dat al niet gedaan hebt. Als je pwm't met faseverschuivingen tussen de pixels kan je namelijk vanaf een Hz of 20 al een relatief rustig beeld krijgen.

Om de data door te geven kan je parallel of serieschakeling gebruiken. Ik heb 'toevallig' voor serieschakeling gekozen omdat ik dan geen manier nodig heb om de adressen in te stellen en dat heb je bij mijn oplossing niet nodig.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Dat hebben ze me in school ooit eens willen wijsmaken.

Het stukje op je blog had ik gelezen, wist ik nog niet. Best wel slim bedacht!

Maar jouw matrix is ook vast en ik zou een eenvoudig uit te breiden systeem willen maken. a la plug and play

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Het is alweer een tijdje geleden.

Het project is opgeleverd. De TLC5940 is uiteindelijk toch afgevallen. De 12 bits per uitgang waren er teveel aan, de processor was er te lang mee bezig waardoor het display flikkering vertoonde. We hebben op twee dagen nieuwe hardware ontworpen en software geschreven.
Met als resultaat tweemaal het logo van onze school:

Afbeeldingslocatie: http://lh3.ggpht.com/_dSDlSHg53K0/TN2BSUiY6OI/AAAAAAAABQg/Yy6GAQUNz9k/s640/PIC_3066.JPG
Afbeeldingslocatie: http://lh3.ggpht.com/_dSDlSHg53K0/TN2BfYYooiI/AAAAAAAABQk/nDxnHWY-8Kg/s640/PIC_3067.JPG
Afbeeldingslocatie: http://lh4.ggpht.com/_dSDlSHg53K0/TN2BgHPGEYI/AAAAAAAABQs/p01W9NEscZI/s640/PIC_3069.JPG
Afbeeldingslocatie: http://lh4.ggpht.com/_dSDlSHg53K0/TN2BfqmIR1I/AAAAAAAABQo/NbBOPuiB39U/s640/PIC_3068.JPG

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • LED-Maniak
  • Registratie: Oktober 2003
  • Laatst online: 21:42
Wat is het nu precies geworden aan aansturing?

Mitsubishi externe temperatuur sensor (Home Assistant compatible): V&A - ClimaControl - Ook voor Panasonic & LG.


Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
De kolommen worden gestuurd door 74hc595, kortweg een simpel schuifregister.

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

  • diebobo
  • Registratie: Mei 2007
  • Laatst online: 16-09 16:56
Dat is wel heel erg sumier omschreven..

Vraag 2.. Is wel Full-Color mogelijk, of slechts combinaties van R + G + B ?

Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Kolommen worden aangestuurd door 74hc595, de rijen door P-mosfets (NDS9430). De µC is een 16F877A geworden. En er zit een rs485 interface op. Als je een schema wil, moet je me even mailen.

Full-color is niet mogelijk, het is beperkt tot 7 kleuren.

Voor de geïnteresseerden, de TLC5947 zou de GS-clock intern hebben. Welke voordelig uitvalt in de software.

De bouw van een (bijna) passief offgrid huis


Acties:
  • 0 Henk 'm!

Verwijderd

Bij die TLC5947 hoef je slechts 288 (24x12) bits in te klokken, of zie ik dat nu verkeerd?

Acties:
  • 0 Henk 'm!

  • vdbeke
  • Registratie: Augustus 2008
  • Laatst online: 06:06
Klopt, de grayscale PWM wordt intern opgewekt met een 4MHz oscillator. Dus die hoef je niet zelf te klokken.

De bouw van een (bijna) passief offgrid huis

Pagina: 1