3D led cube. Part 2

Door _ferry_ op zaterdag 26 januari 2008 21:51 - Reacties (5)
Categorie: Elektro en DIY, Views: 10.492

Tijd voor een update, de vraag is natuurlijk hoe je met 1 microcontroller 512led's kunt aansturen.

In feite is dat niet zo moeilijk: Een matrix, schuifregister, van alles is mogelijk.
In deze kubus worden beide mogelijkheden gebruikt.

Een matrix komt veel voor, onder andere toetsenborden, lcd schermen en div. andere apparaten maken er gebruik van. Stel je hebt uitgang 0 tm 9 en A tm Z Dan kun je makkelijk een matrix maken van 10x26 = 260 leds maken. Ditzelfde passen we in de kubus toe. Alleen hebben we niet zoveel uitgangen(0-9 en a tm/z dat we die 260 leds kunnen aansturen. Laat staan om er 512 aan te kunnen sturen.
Daar komen de schuifregisters dus van pas, die hebben 3 pinnen nodig om aangestuurd te worden, en dan maakt het niet eens uit hoeveel je er aansluit.
Enig nadeel is dat je de data er eerst in met "schuiven" waarna de leds pas aan kunnen, dit kost allemaal wat extra tijd. Hoe meer je er dus aansluit hoe langer het duurt voordat alle data er in zit, en hoe meer het beeld zal flikkeren. Hiermee moeten we wel rekening houden, maar een echt probleem is het niet. Het menselijk oog ziet een 50hz flikkering als een stilstaand beeld, dus als we de ledjes 50x per seconde aan zetten, zal de cube een mooi beeld geven. Uiteindelijk zal de frequentie zelfs nog hoger liggen, ik schat zo'n 150hz voor een nog beter en rustiger beeld.

Voor de duidelijkheid heb ik er maar een tekening van gemaakt. Zelf bouw ik dit soort dingen met slechts wat eenvoudige aantekeningen, maar dit is een how-to, dus zal ik toch wat tekeningen moeten maken hoe alles in elkaar steekt ;)

http://tweakers.net/ext/f/prhS09zN8WqndbbfWYJJ1ejY/full.png
Hier zien we een schematische weergave van hoe de led cube in elkaar steekt. De In feite maak je dus 8 vlakken van 8x8 led's die je daarna met de horizontale lagen (blauw in de tekening) aan elkaar maakt. Dit doe je later, en aan de achterzijde, zodat het niet opvalt. Hier later meer over, lees eerst maar eens wat de rest nu eigenlijk inhoud ;)

De 3 signalen van de microcontroller komen links onderaan binnen, oranje is de data lijn, welke serieel met de schuifregisters is verbonden. Die komt binnen op pin 14 van het 1e schuifregister, komt er weer uit op pin 9 en gaat dan naar pin 14 van het volgende schuifregister. En zo doen we dat 9x
De andere 2 lijnen zijn de clock en reset lijn. Deze kunnen elk parallel op de schuifregisters aangesloten worden.

Verder zien we onderaan de schuifregister voor de kolommen, daar zitten een aantal weerstanden achter om de stroom door de led's te begrenzen. In feite geld de regel R=U/I waarbij U de spanning- spanning van de led is, en I de stroom welke de led mag hebben. Maar dat weten jullie vast wel ;) Maar omdat de led's op een hoge frequentie gestuurd worden, en dus niet continu aanstaan mag je een hogere stroom er doorheen sturen. Zodat ze wat feller zijn. Maar dat maakt voor ons niets uit, met de normale weerstandsberekening zit je ook goed, de leds hoeven voor onze toepassing niet op volle sterkte te branden. Je zal dan op iets van 100 ohm uitkomen bij een voedingsspanning van 5V en blauwe of witte leds.

Aan de linkerkant zien we de schakeling die de lagen actief maakt. een schuifregister met 8 FET's deze hebben wat voordelen in vergelijking met transistors zoals het hogere rendement. Desondanks zou je ook transistors of een darlington array kunnen gebruiken.

Als je bovenstaande zou maken heb je in feite uitgang 0tm7 en A-H, wat je al 64 onafhankelijk aanstuurbare leds geeft. Het daadwerkelijke beeld wordt opgebouwd door eerst de bovensta laag actief te maken met het linker schuifregister en de leds aan te sturen voor die laag. Vervolgens herhaal je dat 8 keer voor elke laag, en dan heb je een eerste plaatje:
http://tweakers.net/ext/f/15cbd60792a7cfd3708e1fd37f49d4f5/full.jpg
Jaah, er moest hier nog een hoop gebeuren, als je goed kijkt zie je vaag een smiley er in, maar door wat slechte code in de microcontroller zijn ook de omliggende led's ook enigzins aangestuurd. Ik heb dat in het huidige ontwerp ook soms nog wel eens een beetje, op de onderste laag waaneer er een bepaalde combinatie van leds actief is, maar het is niet storend, omdat het slechts wat flauw opgloeien betreft.
Het probleem was met name te wijten aan de hoge frequentie, waardoor er meer data werd weggeschreven en pinnen hoog of laag werden gemaakt (met de bijbehorende vertragingen) IPV dat de led's echt aan stonden om een goed beeld te vormen. Kwestie van wat finetunen van de code en het circuit waarschijnlijk.

Volgende: Kattenkwaad: tv-b-gone 02-'08 Kattenkwaad: tv-b-gone
Volgende: 3D led cube. Part 1 01-'08 3D led cube. Part 1

Reacties


Door Tweakers user Rockafello, zondag 27 januari 2008 13:43

Misschien wel aardig om een boodschappenlijstje erbij op te nemen. Waarom heb je voor bepaalde leds gekozen? welke andere onderdelen heb je nodig? Dat is namelijk wel erg fijn voor mensen die deze HOWTO nodig hebben.

Verder tof om te zien dit projectje

Door Tweakers user pcprutser, maandag 10 maart 2008 14:51

ziet er al cool uit! en voor 40 euro mag je niet klagen :D maar ik mis idd een boodschappenlijstje (is altijd handig) en waar blijft de rest?
ik zie er namelijk wel wat in! als je het mooi maakt kun je er een zeer mooi ding van maken!

Door Tweakers user _ferry_, dinsdag 11 maart 2008 09:43

De rest komt er aan :) zat alleen 2 weken zonder PC (alleen laptop) dus kon toen niet zo makkelijk wat schema's tekenen enzo. Boodschappenlijstje zit daar dan ook bij :)

Door Tweakers user elmoooow, woensdag 16 april 2008 22:18

mischien is het ook leuk om een rgb versie te maken , kijk maar eens bij wat filmpjes op youtube , dit geeft ook een heel mooi effect! Enige nadeel is dat rgb ledsjes een beetje duur zijn.
verder echt super dat je er een howto voor maakt!

Door Tweakers user de-vries, maandag 5 mei 2008 12:52

Hi Ferry
zou je tegen betaling bereid zijn om een cube voor mij te bouwen?
ben namelijk zelf niet zo handig.
mvg devries
080505

Reageren is niet meer mogelijk