3D led cube. Part 2

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

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.

3D led cube. Part 1

Door _ferry_ op dinsdag 15 januari 2008 20:14 - Reacties (6)
Categorie: Elektro en DIY, Views: 12.963

Als er iets is waar ik veel reacties op krijg, zowel in het echt als ook via internet, dan is het wel mijn 3D led kubus.
In feite een heel simpel ding, je hebt er niets aan, maar wel origineel, en daarom een echte gadget:





Zoals ik al schreef, krijg ik er veel reacties op, hoe het is gemaakt, is ie te koop etc.

Daarom een meerdelige serie over hoe ik mijn cube heb gemaakt, zodat een ieder met soldeer en programmeer skills er ook 1 kan maken. De kosten? Circa 40euro. Tijd? Niet echt een idee, 40 uur ofzo? Geduld heb je in ieder geval wel nodig!

Allereerst begon het bij mij te jeuken na het lezen van dit topic:
[HOWTO] LED kubus 5*5*5 met 74HC595
Ik zag al meteen dat dat een leuk project was, zag al wat dingen die anders konden, en ik wilde natuurlijk groter :+ Ook best leerzaam, omdat er natuurlijk programmeerwerk bij komt kijken. Hierbij dus _o_ hulde aan de maker ervan.

In deze serie komen de volgende onderwerpen aan bod:
- Hoe stuur ik 512 leds aan, welke mogelijkheden zijn er, en wat is het beste?
- Het schema van mijn led kubus, wat heb je nodig?
- hoe zet ik alles in elkaar? En hoe zorg ik dat het een mooie kubus wordt?
- De software welke in de PIC wordt geladen.
- Ideeen, openstaande suggesties, andere led cubes, verbeterpunten etc.

Tot deel 2 :w