Het Elektor forum gaat sluiten. Zie ook deze link. Vanaf vrijdag 15 maart is het niet langer mogelijk om in te loggen op het forum. Wel blijft de inhoud van het forum nog zichtbaar tot het einde van de maand maart. Per 1 april gaat het forum definitief uit de lucht.

Meerdere lijnen met led driver WS2801

Ontwerpen en programmeren

Postby sybren » Sun Jan 06, 2013 12:00 am

Hallo,

Ik heb een Arduino Mega microprocessor gebruikt voor het aansturen van een RGB ledstrip. Elke RGB led op de ledstrip wordt aangestuurd door op de ledstrip aanwezige WS2801 led drivers.
Zie ook: http://www.deskontrol.net/blog/arduino-based-artnet-node-for-led-pixels/#comment-125

Deze configuratie werkt goed, maar nu wil ik een stap verder. De ledstrip van 5 meter wil ik opdelen in 5 x 1 meter. Hiervoor moet ik het clock en data signaal vanaf de microcontroller opdelen in 5, voor elke ledstrip 1.

Zie:


Ik dacht voor deze oplossing een aantal uitgangen van de microcontroller te gebruiken als adressering van de ledstrips. Voor het schakelen van de clock en data signaal over de ledstrips wil ik een AND gebruiken.

Nu heb ik de volgende vragen:
- Is dit een goede oplossing of is er een betere/eenvoudige oplossing?
- Of is er een IC welke het Clock en Data signaal over meerdere uitgangen kan schakelen via een binair adres vanaf de Microcontroller?

Alvast bedankt voor het meedenken!

Mvg,

Sybren de Hartog'
Attachments
Ledstrip.gif
sybren
 
Posts: 2
Joined: Thu Jan 02, 2014 3:38 pm

Postby anneo » Sun Jan 06, 2013 12:00 am

Met twee stuks 4028 (de letters ervoor wisselen met de fabikant) moet het kunnen,een voor Klok en een voor Data.Ingangen A,B en C kun je 8 uitgangen kiezen (de andere twee 8,9 kun je niet gebruiken) en dan in-D pulsen.De gekozen uit wordt 1 (hoog) als D 0 (laag) gaat.Dus kiezen met D=1 en omgekeerd pulsen,of er een inverter tussen zetten.
Anne
Attachments
CD4028.pdf
(465.23 KiB) Downloaded 56 times
anneo
 
Posts: 1339
Joined: Thu Jan 02, 2014 10:36 am

Postby sybren » Sun Jan 06, 2013 12:00 am

Anne, bedankt voor je snelle reactie.
Oplossing ziet er goed uit. Ik ga het proberen en laat het hier weten of dit de oplossing is.
Groet, Sybren
sybren
 
Posts: 2
Joined: Thu Jan 02, 2014 3:38 pm

Postby anneo » Mon Jan 07, 2013 12:00 am

Achteraf bedacht ik dat er geen omkering nodig is.
De pulsen binnen op in-A en met B,C en D een uit kiezen.Dat zijn er steeds twee,een met A=0 en een met A=1.Moet enkel die laatste gebruiken.Dus de LED-strippen op uit1,3,5,7 of 9.
Gaat net omdat je er maar 5 nodig hebt.
Een moeilijkheid kan nog de snelheid zijn,die CMOS is niet van de vlugste.Vermoed dat 't tot zo'n 1MHz op 5V nog wel gaat.
Ik weet niet of die er (nog)is,maar van veel van die chips is er een snelle versie gemaakt.Die zou dan 74HC4028 heten.
Anne
anneo
 
Posts: 1339
Joined: Thu Jan 02, 2014 10:36 am

Postby voltrex » Tue Jan 08, 2013 12:00 am

Hallo,
Heb je als eens gekeken naar een schuifregister.Deze gebruik je ook wanneer b.v een Led kubus maakt.Op een schuifregister kan je een kloksignaal zetten zodat de data wordt door gegeven.Ze kunnen zeer snel schakelen denk hier bij aan Mhz.Mischien is dit een oplossing voor je probleem.
Een voorbeeld IC is de 74LS194 dit is een 4bits schuifregister schakelsnelheid maximaal 36Mhz.
Gr Voltrex
voltrex
 
Posts: 32
Joined: Thu Jan 02, 2014 3:27 pm

Postby anneo » Tue Jan 08, 2013 12:00 am

Dat zal zo niet gaan.De groepen LED's die aangestuurd moeten zitten al aan schuifregisters.De bedoeling is om elke groep ombeurten met dezelfde klok en data bron te vullen.
Ik zou 't zo niet doen,'t is Sybren z'n idee.Daarvoor heb je 5 lijnen nodig,een klok een data en 3 de groep (5 stuks) te kiezn.
Met één lijn meer kan 't veel sneller.Vraagt wel aangepaste soft.
Je kunt de eeste bit voor elke groep op 5 uitganen zetten en dan op een 6-de uit een klokpuls voor allemaal tegelijk.Volgende bit voor de 5 op de uit en weer een puls.Zo vul je ze alle 5 in de tijd van 1.Gaat 5x vlugger.
Anne
anneo
 
Posts: 1339
Joined: Thu Jan 02, 2014 10:36 am


Return to Microcontrollers

Who is online

Users browsing this forum: No registered users and 1 guest