Ebben a cikkben szó lesz arról a 9x9x9 -s ledkockáról, amelyet szakdolgozatom alkalmával készítettem el. De miért pont szakdolgozatom alkalmából, és miért pont egy ledkockát?
A történet ott kezdődött, hogy pár évvel ezelőtt egyik barátom átküldött egy youtube linket egy 8x8x8 -s példányról, engem pedig annyira megfogott a koncepció, hogy elhatároztam én is építek egyet(valamikor). Aztán teltek, múltak az évek és az egyetemen útelágazódáshoz érkeztem, ugyanis csinálnom kellett valamit az oklevélért cserébe. Számtalan ötletem volt, a Cloud technológiáktól elkezdve az adatbázisorientált szoftvereken át egészen a játékokig, de mivel a hallgató társaim is hasonlókban gondolkodtak, én szerettem volna kiválni ebből a "bruteforce-szoftver" -s világból és inkább a mérnöki szemléletet helyeztem előtérbe. Eldöntöttem, hogy bármit is csinálok az egy hardver-szoftver kombó lesz. Így került terítékre a gondolat, hogy most aztán megcsinálom!
A projekt három részből állt:
- egy saját tervezésű és fejlesztésű hardverből
- egy host szoftverből, ez vezérelte a kockát: C# -ban lett megírva és egy raspberry pi-n futott
- és egy iOS appból amelyet később Swift nyelven írtam meg, ennek segítségével lehetett képeket tervezni és kiküldeni a kockára
A cikkben csak a hardvert fogom kifejteni, ennek két főbb oka van, egyrészt nem szeretném megosztani a forráskódot, másrészt lehalna a böngésződ attól a párezer sortól amitől működik ez az egész... :)
Tervezés
A tervezés fázisában két dolgot tartottam fontosnak: egyrészt az egyszerű kivitelezést, másrészt a gányolásmentes szuperszexy megoldást. :)
Kezdetben összeírtam milyen alkatrészek szükségesek a projekthez, a teljes lista:
- (9x9x9)729db LED +- 100db a selejtek miatt
- egy nagy nyáklap
- vezérlő IC -k
- járulékos szervek: korlátozó ellenállások, MOSFET -k, kondenzátorok, csatlakozók, szalagkábel és 100m 0.75mm keresztmetszerű rézhuzal az erős szerkezethez
Kezdetben a legnagyobb fejtörést a fedélzeti vezérő-rendszer kivitelezésének kérdése okozta, ugyanis két megoldásban is gondolkodtam. Az egyik felvetés az volt, hogy a ledeket vezéreljem multiplexerekkel, a másik a bonyolultabb shift-regiszteres megoldás. Nem szarakodtam sokat, körülnéztem mit találok az interneten és gyanússá vált, hogy senki nem akart vezérlőt építeni multiplexerekből, ezért eldöntöttem hogy én leszek az első a világon aki megépíti ezt multiplexerekből. :)
Az elhatározás tehát adott volt, de azért vaalhol mélyen gyötört a gondolat hogy ilyenre még senki sem vállalkozott, ezért úgy döntöttem kicsiben tesztelem az elméletem. Neki is láttam és a 9x9x9 -s ledkocka helyett először készítettem egy 8x8 -s LED mátrixot, meggyőződve arról, hogy ha valami működik 64 leden, akkor a 729 -n is fog.
Erről írok majd egy külön postot, a lényeg hogy a vezérlő végül shift-regiszteres lett. :D
Majdnem két napot töltöttem a neten, shift-regiszterek után kutatva. Olyan megoldást akartam, amelyből kihagyhattam azt a cirka 81db FET -t amelyek az egyes szintek ledjeit táplálják kakaóval. Akkoriban lustaságból nem akartam telepakolni a nyákot fetekkel, később azonban rájöttem hogy marhára nem is fértek volna el sehol. :) Bár sok időt vesztettem vele, de végül rátaláltam a Texas Instruments TLC5925 -s ICjére ami kb annyira passzolt az elvárrásaimhoz, mintha nekem gyártották volna. Egyetlen bajom volt vele, az SMD kivitelezés. Nem mintha bajom lenne az SMD -vel, de elég nagy hibalehetőséggel kell szembenézni és ha megsül a forrasztott IC, akkor azt sokkal nagyobb szívás leforrasztani, mint egy hagyományos IC -foglalatból kipattintani. Jobb híjján azonban maradt az SMD kivitelezés, a 2 x mérés 1 x vágás felállás. :)
Az TLC5925 lábkiosztása kb végtelenül egyszerű:
|
VDD: 3.3-5V
SDI: bemenő bit
SDO: overflow bit
LE: Letch(kiküldés)
CLK: clock(órajel)
OUT: 0-15 a kimenetek, max 45mA!
R-EXT: a kimeneti áram szabályozása referencia ellenállással(max 20mA!)
|
Kivitelezés
Így már neki is láthattam a kijelző elkészítésének. Első lépésben készítettem egy sablont alúminiumból, amelyre mátrixba fűzhettem a kihúzással kiegyenesített rézhuzalokat és a keletkezett hálóra ráforraszhattam a gondosan elhelyezett ledeket.
Ezzel a módszerrel egyszerűen és gyorsan letudtam mind a 9 emeletet, már csak az emeletek egymásra helyezése maradt hátra. Ez egy egynapos tasknak indult, valójában egy többnapos szívás lett belőle kisebb ólommérgezéssel megfűszerezve, de a végeredmény magáért beszél! :)
|
|
Építés |
Kész mátrix |
Igen, Tesco gazdaságos 9V -s elemeket használtam távtartónak!
Amint elkészült nekiláttam a vezérlő megtervezésének is. Erre az Eagle -kapcsolási és -nyáktervező szoftvert használtam, ajánlom mindenkinek!
Íme a kapcsolási rajz:
A rajzon 6db sorbakötött TLC5925 -s IC látható, egyetlen nagy stacket képezve. A működéséről annyit érdemes megemlíteni, hogy az első 6 bit dummy, azaz nem használjuk csak szükséges, az azt követő 9 az egyes emeleteket aktiválják, a további 81 pedig az emeletek ledjeit aktiválják.
A kapcsolási rajzból készült nyákterv:
Ahogyan a nyákterven is látszik, ahhoz képest, hogy csak A3 -s műnyomóra fért fel, nem sok hely maradt rajta annak a cirka 81db tranzisztornak, amit Texaséknak sikerült bezsúfolniuk egyetlen vékony tokozásba.
Ami azonban ezután jött az a kőkemény horror! Ezt a nyákot kellett rápréselni a mátrixra, úgy hogy a 90db láb mindegyike a saját kis lyukjába kerüljön beforrasztásra és ne ferdüljön el mert a réz nem tolerálja sokáig az oda-vissza hajtogatást. Bevallom ez többnapos küzdelem volt csipeszek, csavakhúzók és világítótestek háborújával. Persze a nehézséghez az is hozzátartozott, hogy a ledmátrix és a nyák közé be kellett préselni egy fehér plexilapot ami kettős funkciót lát el, egyrészt visszaveri a fényt, másrészt leveszi a terhelést a nyákról.
A végeredmény:
Tesztelés:
Működés közben