Ik ben bezig met het maken van een led kubus (5 * 5 * 5). Deze zal ik later gaan aansturen met een microcontroller. Maar ik zit me af te vragen hoe ik dit het beste kan aanpakken.
Ik heb namelijk gehoord van schuifregisters, dat deze hier goed gebruikt voor kunnen worden. Ik heb alleen geen idee wat het nut daarvan is (bij zo'n project). Kunnen jullie het nut van schuifregisters uitleggen?
Zelf denk ik een IC (de 74HC154) te gaan gebruiken. Deze heeft 4 inputs en 16 unieke outputs. Zo wil ik alles gaan multiplexen zodat ik alles apart kan aansturen. Dan de volgende vraag: is 1 weerstand genoeg (aangezien ik maar 1 led per keer aan en uit zet)?
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Een (of meer) schuifregister heet het voordeel dat je met enkele µC-pinnen en heleboel uitgangen kan kreëren. Heeft je µC uitgangen in overvloed, dan heb je niets aan een schuifregister.
Zelf denk ik een IC (de 74HC154) te gaan gebruiken
Op die manier kan je 16 kolommen en 8 rijen maken. D'r is wel een nadeel aan: de LED's (die moeten oplichten) krijgen maar 1/16 v/d tijd stroom. Die stroom moet dus vrij hoog zijn, wil je een goede lichtopbrengst.
Een 74HC138 doet het op dat punt beter, omdat de LED's dan 1/8 v/d tijd stroom krijgen. Maar dan moet je wel 16 rijen kunnen aansturen (desnoods met 2 8-bits schuifregisters als de 74HC595).
Wat de beste oplossing is, hangt voor een groot deel af van het aantal beschikbare pinnen.
Hoe dan ook, als je gaat multiplexen, heb je 1 weerstand per rij nodig.
Er zijn 30 lijnen die aangestuurd moeten worden, 5 plus draden en 25 min draden.
Dus het ligt eraan hoeveel leds ik tegelijk wil aanschakelen en hoeveel licht ze dan geven. Maar wat is de maximale stroom die ik door een ledje kan laten lopen als ik vragen mag? En is dit geheel dan te voeden door mijn µC of heb ik dan een externe voeding nodig?
En je zegt dat ik meer uitgangen kan creeren met schuifregisters. Maar hoe werkt dit dan, ik heb hier namelijk geen beeld bij.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Als je gaat multiplexen heb je 2 dimensies: kolommen (vertikaal) en rijen (horizontaal). Bij één van beiden mag er slechts 1 lijn gelijktijdig actief zijn - laten we de kolommen als voorbeeld nemen. Bij de rijen kunnen dan verschillende lijnen (0 ... max.) gelijktijdig actief zijn.
In jouw situatie kan je dus kiezen uit 5 kolommen en 25 rijen, of 25 kolommen en 5 rijen. De eerste lijkt me het best, want met 25 kolommen lichten deze telkens 1/25e v/d tijd op, waardoor de LED-stroom in principe 25 x de nominale stroom zou moeten zijn. Met slechts 5 kolommen ligt de situatie een stuk beter: de LED-stroom kan veel kleiner zijn.
Maar nu heb je wel 25 uitgangen nodig om de rijen te sturen. Heb je zoveel uitgangen beschikbaar op je µC, dan kan je die zonder meer gebruiken.
Andere mogelijkheid: als je 3 stuks 74HC595 in serie zet, kan je 24 uitgangen maken met 3 µC-pinnen (de 25e rij stuur je dan maar rechtstreeks aan). De 74HC595 aansturen is vrij eenvoudig: zet een data-bit klaar, geef een klokpuls op de schuifregister-ingang, en herhaal dit 24 maal. Als je nu een klokpuls op de latch-ingang geeft, komen alle 24 bits gelijktijdig op de uitgangen van het schuifregister te staan. Dat hoeft niet veel tijd te kosten: de 74HC595 mag je klokken aan 100MHz...
Wat het voeden betreft: de kolommen zal je sowieso via een transistor moeten schakelen. Hier komt immers de stroom van (max.) 25 rijen terecht. Of de µC voldoende stroom kan leveren voor 25 LED's hangt af van de gebruikte LED's en van de µC zelf. High-efficiency LED's hebben heel wat minder stroom nodig dan "gewone" LED's, maar daar betaal je natuurlijk een prijs voor. Bij het gebruik van schuifregisters zijn zij het, die de stroom leveren. Daar hoef je geen problemen te verwachten.
Ha! Hier nog een bruikbaar schema gevonden, zij het slechts met 2 schuifregisters:
Data, Latch en Ser. CLK zijn de ingangen waarnaar ik boven verwees. Zoals je ziet, gaat de QH' uitgang van het bovenste schuifregister naar de data-ingang (SER) van het tweede. Op die manier kan je de QH' uitgang van het 2e schuifregister doorlussen naar een 3e, enz...
[Bericht gewijzigd door pros op (11%)]
Als dat niet duidelijker kan, dan weet ik het ook niet meer
.
Dat is heel duidelijk!
Hier kan ik wel wat mee. Ik ga gewoon 3 van die IC's kopen, ik begrijp nu inderdaad hoe ze werken. Elk register van het schuifregister staat vast op een outputpin waardoor het inderdaad makkelijker wordt om veel uitgangen te creeren.
Heel erg bedankt en als ik op problemen stuit dan krijg je dat te horen.
enig probleem wat je tegen zou kunnen komen na het implementeren van deze hardware optie is dat je kubus redelijk lang zou kunnen doen over de vernieuwing van je beeld.
mocht je dat probleem tegenkomen, dan stuur je de schuifregisters met een te langzame klokpuls aan (deze klokpuls mag maximaal 20 MHz zijn).
in ieder geval, veel succes, en de vragen zien we wel verschijnen! 