Obsah:

Vytvořte si vlastní POV displej: 3 kroky
Vytvořte si vlastní POV displej: 3 kroky

Video: Vytvořte si vlastní POV displej: 3 kroky

Video: Vytvořte si vlastní POV displej: 3 kroky
Video: Adel ukazala prso 2024, Červenec
Anonim
Vytvořte si vlastní POV displej
Vytvořte si vlastní POV displej

Perception of Vision (POV) nebo Persistence of Vision (má několik variací) je zajímavý jev lidského zraku, ke kterému dochází, když vizuální vnímání objektu nepřestává navzdory změně polohy objektu. Lidské bytosti vidí obraz ve zlomcích sekund; tyto obrázky jsou uloženy do mozku na velmi krátkou dobu (okamžik). Příkladem tohoto jevu je, když pozorujete světelný zdroj, jako jsou diody LED nebo žárovky, zapnutý a roztočený kolem. Naše vize je oklamána, abychom uvěřili, že točící se světlo je ve skutečnosti souvislý kruh, podobně jako souvislý kruh vytvořený z rotující vrtule v rovině. POV se používá mnoho let, počínaje giposkopem, k vytváření různých druhů iluzí a animací naší vize; často se používá k zobrazování zpráv a animací na displejích pomocí LED diod, jejich otáčení ve 2D nebo 3D pro různé druhy zpráv. Cílem této poznámky k aplikaci je navrhnout a předvést, jak funguje Vnímání vize, napsáním slova „SILEGO“na displej, který má být postaven, a poskytnout nápady, které vás provedou procesem vytváření složitějších návrhů v budoucnosti. Pro tento projekt jsme použili Dialog GreenPAK ™ SLG46880 s jeho zásuvkovou sadou, která umožňuje snadné připojení tohoto prototypu ke všem externím komponentám pomocí kabelů. Použití většího GreenPAK k návrhu univerzálních displejů POV je velmi výhodné kvůli jeho robustním komponentám, jako jsou subsystémy ASM, které vám umožní tisknout jakýkoli druh vzoru na displej. Tato aplikace zobrazí konečný výsledek pomocí SLG46880.

Níže jsme popsali potřebné kroky, abychom pochopili, jak byl čip GreenPAK naprogramován k vytvoření POV displeje. Pokud však chcete získat pouze výsledek programování, stáhněte si software GreenPAK a zobrazte již dokončený soubor návrhu GreenPAK. Připojte vývojovou sadu GreenPAK k počítači a spusťte program a vytvořte vlastní integrovaný obvod pro displej POV.

Krok 1: Schémata

Schémata
Schémata

Tento příklad POV displeje se zaměřuje na 2D typ zobrazený na obrázku 1, který má řadu jedenácti LED diod (každá s rezistory pro regulaci proudu) připojenými přímo k různým GPO pinům na GreenPAK CMIC. Obvod je prototypován a připájen do desek plošných spojů. Zdrojem napájení displeje je alkalická baterie 9 V 10 A L1022, připojená k obvodu regulátoru napětí pomocí LM7805V, která má výstup 5 V. Kromě toho, že se displej otáčí, je zapotřebí stejnosměrný motor s dostatečnou silou pro přesun všech řídicí obvody připojené k přizpůsobenému stojanu. V tomto případě byl použit motor 12 V, připojený k hlavnímu spínači a regulovaný napájecí zdroj, který vydává různé úrovně napětí pomocí otočného spínače, což umožňuje motoru otáčet se několika rychlostmi.

Krok 2: GreenPAK Design

Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK
Design GreenPAK

Při navrhování různých druhů zpráv a animací pro POV displej pomocí GreenPAK bychom měli znát jak nástroje, tak omezení čipu. Tímto způsobem můžeme vytvořit zdatný design s použitím nejmenších elektronických komponent k dosažení POV displeje. Tento design využívá nové výhody, které nabízí SLG46880 CMIC, se zaměřením na komponentu Asynchronous State Machine Subsystems. Nástroj subsystému SLG46880 ASM může být výhodnější než předchozí nástroje GreenPAK ASM kvůli jeho novým funkcím, které umožňují složitější návrhy State Machine. Některé z příslušných použitých interních komponent subsystému ASM jsou:

● 12stavový ASM Macrocell

● Makrocel s dynamickou pamětí (DM)

● F (1) Výpočetní makrobuňka

● Státní nezávislé součásti

Čím více čipů stavových strojů umožňuje čip vytvářet a konfigurovat, tím je počet návrhových možností početnější. Každý z dvanácti stavů byl použit k zápisu různých zlomků zobrazovaného slova, přičemž se zapínaly/vypínaly různé kombinace LED diod, z nichž některé se opakovaly dvakrát nebo vícekrát, a v některých případech se změnilo načasování opakovaných stavů, protože stejný vzor mohl být použit pro různá písmena v různých časech. Stavy jsou strukturovány v tabulce 1.

Tabulka 1 ukazuje, jak každý ze stávajících stavů v návrhu souvisí s písmeny ve slově „SILEGO“. To odpovídá konfiguraci LED zobrazené na obrázku 2.

Jak můžete pozorovat, všechny stavy společně provedené v různém časování dosáhnou úplného sestavení slova, obrázek 3 ukazuje, jak jsou stavy propojené/související. Všechny přechody stavu jsou v řádu milisekund a každý ze sloupců v diagramu na obrázku 2 představuje jednu milisekundu (1 ms). Některé ze stavů trvají 3 ms, 4 ms a další, dostatečně dlouhé s minimální rychlostí motoru použitého pro demonstraci videa při přibližně 460 ot / min.

Je důležité zvážit a změřit rychlost motoru, aby bylo možné znát a vypočítat načasování při návrhu obecného účelu. Tímto způsobem lze zprávu synchronizovat s rychlostí motoru, čímž je viditelná pro lidské oko. Další úvahou, která má učinit přechod stavů méně nepostřehnutelným a jasnějším pro naši vizi, je zvýšení rychlosti motoru na více než 1 000 otáček za minutu a načasování stavů nastaveno v řádu mikrosekund, aby bylo možné zprávu vidět plynule. Možná si říkáte, jak byste synchronizovali rychlost motoru s rychlostí zprávy nebo animace? Toho je dosaženo pomocí několika jednoduchých vzorců. Pokud máte otáčky motoru 1 000 ot / min, abyste věděli, jak dlouho trvá stejnosměrný motor na otáčku v sekundách, pak:

Frekvence = 1000 ot / min / 60 = 16,67 Hz Období = 1 / 16,67 Hz = 59,99 ms

Znáte -li období, víte, jak dlouho motoru trvá jedna zatáčka. Pokud chcete vytisknout zprávu jako „Hello World“, jakmile znáte období každého tahu, záleží jen na tom, jak velkou zprávu chcete na displeji zobrazit. Chcete -li vytisknout požadovanou zprávu v požadované velikosti, postupujte takto:

Pokud si například přejete, aby zpráva pokrývala 40 % prostoru displeje, pak:

Velikost zprávy = (Období * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

To znamená, že zpráva se zobrazí za 24 ms pro každé otočení, takže mezera nebo zbytek místa v tahu (pokud po zprávě něco nezobrazujete), by mělo být:

Prázdné místo = Období - Velikost zprávy = 59,99 ms - 24 ms = 35,99 ms

Nakonec, pokud potřebujete zobrazit zprávu v těchto 40% období, potřebujete vědět, kolik stavů a přechodů bude zpráva potřebovat k napsání očekávané zprávy, například pokud má zpráva dvacet (20) přechodů, pak:

Období jednoho stavu = Velikost zprávy / 20 = 24 ms / 20 = 1,2 ms.

Každý stav by tedy měl trvat 1,2 ms, aby se zpráva zobrazila správně. Samozřejmě byste si všimli, že většina prvních návrhů není dokonalá, takže během fyzického testování můžete měnit některé parametry, abyste návrh vylepšili. K usnadnění přechodů stavů jsme použili makrobuňky dynamické paměti (DM). Dva ze čtyř bloků DM mají maticová spojení, takže mohou interagovat s bloky mimo subsystém ASM. Každý DM Macrocell může mít až 6 různých konfigurací, které lze použít v různých stavech. V tomto návrhu se používají bloky DM ke spuštění přechodu ASM z jednoho stavu do druhého. Například stav Silego [3] se během přechodů dvakrát opakuje; potřebuje napsat začátek a konec velkého písmene „I“, které má stejný vzor, ale nejprve musí jít do Silega [4], aby napsalo vzor uprostřed velkých „I“, a poté, když Silego [3] je spuštěn podruhé, musí přejít do stavu Žádná zpráva a pokračovat ve zbývajících přechodech. Jak je možné zabránit tomu, aby Silego [3] nespadlo do nekonečné smyčky se Silego [4]? Je to jednoduché, existuje několik LUT konfigurovaných jako SR Flip Flops, které říkají Silego [3], aby nevybíral Silego [4] znovu a znovu, ale podruhé zvolte stav Žádná zpráva. Použití SR Flip Flops k prevenci nekonečných smyček, když se některý ze stavů opakuje, je skvělý způsob, jak tento problém vyřešit, a vyžaduje pouze 3bitovou LUT nakonfigurovanou podle obrázku 4 a obrázku 5. Tento proces probíhá současně s výstup ASM přiměje Silego [3], aby přešel na Silego [4], takže při příštím spuštění stavového stroje Silego [3] bude upozorněno, že pro pokračování procesu bude vybrán stav Žádná zpráva.

Dalším blokem ASM, který byl pro tento projekt užitečný, je F (1) Computational Macrocell. F (1) může provádět seznam konkrétních příkazů pro čtení, ukládání, zpracování a výstup požadovaných dat. Je schopen manipulovat s 1 bitem najednou. V tomto projektu byl blok F (1) použit ke čtení, zpoždění a výstupu bitů pro ovládání některých LUT a povolení stavů (jako například v Silego [1] pro povolení Silego [2]).

Tabulka na obrázku 1 vysvětluje, jak jsou jednotlivé LED diody adresovány na GPO piny na GreenPAK; související fyzické piny jsou adresovány z výstupní paměti RAM ASM v matici, jak je uvedeno v tabulce 2.

Jak vidíte v tabulce 2, každý pin čipu byl adresován na odlišné výstupy ASM; ASMOUTPUT 1 má osm (8) výstupů, všechny jsou použity přímo připojené k externím GPO kromě OUT 4. ASM OUTPUT 0 má čtyři (4) výstupy, kde OUT 0 a OUT 1 jsou přímo připojeny k PIN 4 a PIN 16; OUT 2 slouží k resetování LUT5 a LUT6 ve stavech Silego [5] a Silego [9] a nakonec OUT 3 slouží k nastavení LUT6 na Silego [4] a Silego [7]. ASM nRESET není v tomto designu přepínán, takže je pouze nucen k VYSOKÉmu připojení k VDD. Do tohoto projektu byly přidány horní a dolní LED diody, které vytvářejí další animaci během zobrazení „SILEGO“. Tato animace je o několika řádcích, které v průběhu času krouží pohybem motoru. Tyto řádky jsou bílé LED diody, zatímco ty, které se používají k psaní písmen, jsou červené. K dosažení této animace jsme použili PGEN a CNT0 společnosti GreenPAK. PGEN je generátor vzorů, který bude na každém okraji hodin generovat další bit ve svém poli. Rozdělili jsme dobu otáčení motoru na 16 sekcí a výsledek byl nastaven na výstupní období CNT0. Vzor naprogramovaný do PGEN je znázorněn na obrázku 6.

Krok 3: Výsledky

Výsledek
Výsledek

Abychom otestovali design, připojili jsme zásuvku SLG46880 k DPS plochým kabelem. K obvodu byly připojeny dvě externí desky, z nichž jedna obsahovala regulátor napětí a druhá obsahovala pole LED. Abychom mohli začít zobrazovat zprávu pro ukázku, zapnuli jsme logický obvod, který je řízen GreenPAK, a poté zapnuli stejnosměrný motor. Pro správnou synchronizaci může být nutné upravit rychlost. Konečný výsledek je uveden na obrázku 7. K této aplikační poznámce je také přidružené video.

Závěr Vnímání zobrazení vize představené v tomto projektu bylo navrženo pomocí Dialogu GreenPAK SLG46880 jako hlavního ovladače. Ukázali jsme, že design funguje tak, že napíšeme slovo „SILEGO“pomocí LED diod. Některá vylepšení, která by mohla být na designu provedena, zahrnují:

● Použití více GreenPAK ke zvýšení možností stavů pro tisk delší zprávy nebo animace.

● Přidejte do pole více LED diod. Ke snížení hmotnosti otáčejícího se ramene může být užitečné použít spíše LED diody pro povrchovou montáž než LED diody skrz otvor.

● Zahrnutí mikrokontroléru vám umožní změnit zprávu zobrazenou pomocí příkazů I2C a překonfigurovat design GreenPAK. Toho lze využít k vytvoření displeje digitálních hodin, který aktualizuje číslice tak, aby zobrazoval čas přesně

Doporučuje: