Satura rādītājs:

Izveidojiet savu POV displeju: 3 soļi
Izveidojiet savu POV displeju: 3 soļi

Video: Izveidojiet savu POV displeju: 3 soļi

Video: Izveidojiet savu POV displeju: 3 soļi
Video: КАКИМ БУДЕТ PORTAL 3 2024, Novembris
Anonim
Izveidojiet savu POV displeju
Izveidojiet savu POV displeju

Redzes uztvere (POV) vai redzes noturība (tai ir vairākas variācijas) ir interesanta cilvēka redzes parādība, kas rodas, kad objekta vizuālā uztvere nebeidzas, neskatoties uz objekta mainīgo stāvokli. Cilvēki redz attēlu sekundes daļās; šie attēli tiek saglabāti smadzenēs ļoti īsā laikā (acumirklī). Šīs parādības piemērs ir tad, kad novērojat ieslēgtu un apgrieztu apgaismojuma avotu, piemēram, gaismas diodes vai spuldzes. Mūsu redzējums ir maldināts, uzskatot, ka griešanās gaisma patiesībā ir nepārtraukts aplis, līdzīgi kā nepārtrauktais aplis, kas izveidots no plaknē rotējoša dzenskrūves. POV ir izmantots daudzus gadus, sākot ar gifoskopu, lai mūsu redzējumam radītu dažāda veida ilūzijas un animācijas; to bieži izmanto, lai parādītu ziņojumus un animācijas displejos, izmantojot gaismas diodes, pagriežot tos 2D vai 3D formātā dažādiem ziņojumiem. Šīs lietotnes piezīmes mērķis ir izveidot un parādīt, kā darbojas redzes uztvere, uzbūvējamā displejā ierakstot vārdu “SILEGO”, un sniegt idejas, lai palīdzētu jums nākotnē izveidot sarežģītākus dizainus. Šim projektam mēs izmantojām Dialog GreenPAK ™ SLG46880 ar ligzdas komplektu, kas ļauj šo prototipu viegli savienot ar visām ārējām sastāvdaļām, izmantojot kabeļus. Lielāka GreenPAK izmantošana vispārējas nozīmes POV displeju izstrādei ir ļoti izdevīga, pateicoties tā izturīgajām sastāvdaļām, piemēram, ASM apakšsistēmām, kas ļaus displejā drukāt jebkāda veida zīmējumus. Šī lietojumprogramma parādīs gala rezultātu, izmantojot SLG46880.

Tālāk mēs aprakstījām darbības, kas vajadzīgas, lai saprastu, kā GreenPAK mikroshēma ir ieprogrammēta, lai izveidotu POV displeju. Tomēr, ja vēlaties tikai iegūt programmēšanas rezultātu, lejupielādējiet GreenPAK programmatūru, lai apskatītu jau pabeigto GreenPAK dizaina failu. Pievienojiet GreenPAK attīstības komplektu datoram un nospiediet programmu, lai izveidotu pielāgotu POV displeja IC.

1. darbība. Shēmas

Shēmas
Shēmas

Šis POV displeja piemērs ir vērsts uz 2D tipu, kas parādīts 1. attēlā, un tajā ir vienpadsmit gaismas diodes (katra ar rezistoriem strāvas regulēšanai), kas tieši savienotas ar dažādām GPO tapām GreenPAK CMIC. Ķēde ir prototipēta un pielodēta PCB maizes plāksnēs. Displejam izmantotais barošanas avots ir 9 V 10 A L1022 sārma akumulators, kas pievienots sprieguma regulatora ķēdei, izmantojot LM7805V, kura izeja ir 5 V. Papildus displeja rotācijai ir nepieciešams līdzstrāvas motors ar pietiekamu spēku, lai pārvietotu visu vadības shēma, kas piestiprināta pie pielāgotā statīva. Šajā gadījumā tika izmantots 12 V motors, savienots ar galveno slēdzi, un noregulēts barošanas avots, kas caur rotējošo slēdzi izvada dažādus sprieguma līmeņus, ļaujot motoram griezties ar vairākiem ātrumiem.

2. solis: GreenPAK dizains

GreenPAK dizains
GreenPAK dizains
GreenPAK dizains
GreenPAK dizains
GreenPAK dizains
GreenPAK dizains
GreenPAK dizains
GreenPAK dizains

Izstrādājot dažāda veida ziņojumus un animācijas POV displejam, izmantojot GreenPAK, mums jāzina gan mikroshēmas rīki, gan ierobežojumi. Tādā veidā mēs varam izveidot prasmīgu dizainu, izmantojot vismazākos elektronikas komponentus, lai sasniegtu POV displeju. Šajā dizainā tiek izmantotas SLG46880 CMIC piedāvātās jaunās priekšrocības, galveno uzmanību pievēršot asinhronā stāvokļa mašīnu apakšsistēmu komponentam. SLG46880 ASM apakšsistēmas rīks var būt izdevīgāks par iepriekšējiem GreenPAK ASM rīkiem, pateicoties tā jaunajām funkcijām, kas pieļauj sarežģītākus valsts mašīnu dizainus. Dažas no izmantotajām ASM apakšsistēmu iekšējām sastāvdaļām ir:

● 12 valstu ASM Macrocell

● Dinamiskās atmiņas (DM) Macrocell

● F (1) Macrocell skaitļošana

● Valsts neatkarīgie komponenti

Jo vairāk stāvokļa mašīnas makroelementu mikroshēma ļauj izveidot un konfigurēt, jo vairāk ir projektēšanas iespēju. Katrs no divpadsmit stāvokļiem tika izmantots, lai rakstītu dažādas parādāmā vārda daļas, ieslēdzot/izslēdzot atšķirīgas gaismas diodes kombinācijas, no kurām dažas tika atkārtotas divas vai vairāk reizes, un dažos gadījumos tiek mainīts atkārtoto stāvokļu laiks, jo vienu un to pašu modeli var izmantot dažādiem burtiem dažādos laikos. Valstis ir strukturētas 1. tabulā.

1. tabulā parādīts, kā katrs esošais dizaina stāvoklis ir saistīts ar burtiem vārdā “SILEGO”. Tas korelē ar LED konfigurāciju, kas parādīta 2. attēlā.

Kā jūs varat novērot, visi stāvokļi, kas tiek izpildīti dažādos laikos, nodrošina pilnīgu vārda veidošanu, 3. attēlā parādīts, kā stāvokļi ir savienoti/saistīti. Visas stāvokļa pārejas ir milisekundēs, un katra 2. attēla diagrammas kolonna attēlo vienu milisekundi (1 ms). Daži stāvokļi ilgst 3 ms, 4 ms un citi, pietiekami ilgi ar minimālo motora apgriezienu skaitu, ko izmanto video demonstrēšanai pie aptuveni 460 apgr./min.

Ir svarīgi ņemt vērā un izmērīt motora ātrumu, lai zinātu un aprēķinātu laiku vispāratzītam projektam. Tādā veidā ziņojumu var sinhronizēt ar motora ātrumu, tādējādi redzot cilvēka aci. Vēl viens apsvērums, lai padarītu stāvokļu pāreju mazāk nemanāmu un skaidrāku mūsu redzējumam, ir palielināt motora ātrumu līdz vairāk nekā 1000 apgriezieniem minūtē, un stāvokļu laiks ir iestatīts mikrosekundēs, lai ziņu varētu redzēt nevainojami. Jūs, iespējams, jautājat sev, kā jūs varētu sinhronizēt motora ātrumu ar ziņojuma vai animācijas ātrumu? To panāk, izmantojot dažas vienkāršas formulas. Ja jūsu motora apgriezienu skaits ir 1000 apgr./min., Lai uzzinātu, cik ilgi līdzstrāvas motors aizņem vienu apgriezienu sekundēs, tad:

Frekvence = 1000 RPM / 60 = 16,67 Hz Periods = 1 / 16,67 Hz = 59,99 ms

Zinot periodu, jūs zināt, cik ilgi motors pagriežas. Ja vēlaties izdrukāt ziņojumu, piemēram, “Sveika pasaule”, tad, kad jūs zināt katra pagrieziena periodu, ir tikai svarīgi, cik liels ir vēlamais ziņojums displejā. Lai izdrukātu vēlamo ziņojumu vajadzīgajā izmērā, ievērojiet šo īkšķa noteikumu:

Ja, piemēram, vēlaties, lai ziņojums aizņemtu 40 % no displeja vietas, tad:

Ziņojuma lielums = (periods * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

Tas nozīmē, ka ziņojums tiks parādīts 24 ms par katru pagriezienu, tāpēc tukšajai vietai vai pārējai daļai pagriezienā (ja pēc ziņojuma kaut ko nerādāt) vajadzētu būt:

Tukša atstarpe = periods - ziņojuma lielums = 59,99 ms - 24 ms = 35,99 ms

Visbeidzot, ja jums ir jāparāda ziņojums šajos 40% perioda, jums jāzina, cik stāvokļu un pāreju ziņojumam būs nepieciešams, lai uzrakstītu paredzamo ziņojumu, piemēram, ja ziņojumam ir divdesmit (20) pārejas, tad:

Viena stāvokļa periods = ziņojuma lielums / 20 = 24 ms / 20 = 1,2 ms.

Tātad katram stāvoklim vajadzētu ilgt 1,2 ms, lai pareizi parādītu ziņojumu. Protams, jūs ievērosiet, ka lielākā daļa no pirmajiem dizainparaugiem nav perfekti, tāpēc, lai uzlabotu dizainu, iespējams, mainīsit dažus parametrus. Mēs izmantojām dinamiskās atmiņas (DM) makrošūnas, lai atvieglotu stāvokļa pāreju. Diviem no četriem DM blokiem ir matricas savienojumi, lai tie varētu mijiedarboties ar blokiem ārpus ASM apakšsistēmas. Katram DM Macrocell var būt līdz 6 dažādām konfigurācijām, kuras var izmantot dažādos stāvokļos. DM bloki tiek izmantoti šajā dizainā, lai aktivizētu ASM pāreju no viena stāvokļa uz citu. Piemēram, Silego [3] stāvoklis pārejās tiek atkārtots divas reizes; tai ir jāraksta lielo “I” burta sākums un beigas, kam ir tāds pats raksts, bet vispirms jāiet uz Silego [4], lai uzrakstītu lielo burtu “I” vidus paraugu, un tad, kad Silego [3] tiek izpildīts otro reizi, tam ir jāpāriet uz bez ziņojuma stāvokli, turpinot pārējās pārejas. Kā ir iespējams novērst Silego [3] iekļūšanu bezgalīgā cilpā ar Silego [4]? Tas ir vienkārši, ir daži LUT, kas konfigurēti kā SR Flip Flops, kas Silego [3] liek neizvēlēties Silego [4] atkal un atkal, bet otro reizi izvēlēties bez ziņojuma stāvokli. SR Flip Flops izmantošana, lai novērstu bezgalīgas cilpas, kad tiek atkārtots kāds no stāvokļiem, ir lielisks veids, kā atrisināt šo problēmu, un ir nepieciešams tikai 3 bitu LUT, kas konfigurēts, kā parādīts 4. un 5. attēlā. Šis process notiek vienlaikus ar ASM izvade liek Silego [3] pāriet uz Silego [4], tāpēc nākamreiz, kad valsts iekārta izpildīs Silego [3], tā tiks informēta, lai procesa turpināšanai izvēlētos statusu No Message.

Vēl viens ASM bloks, kas bija noderīgs šim projektam, ir F (1) skaitļošanas Macrocell. F (1) var izpildīt īpašu komandu sarakstu, lai lasītu, uzglabātu, apstrādātu un izvadītu vēlamos datus. Tas spēj manipulēt 1 bitu vienlaikus. Šajā projektā F (1) bloks tika izmantots, lai nolasītu, aizkavētu un izvadītu bitus, lai kontrolētu dažus LUT un iespējotu stāvokļus (piemēram, Silego [1], lai iespējotu Silego [2]).

Tabulā 1. attēlā ir paskaidrots, kā katra no gaismas diodēm ir adresēta GreenPak GPO tapām; saistītās fiziskās tapas tiek adresētas no ASM izejas RAM matricā, kā parādīts 2. tabulā.

Kā redzams 2. tabulā, katra mikroshēmas tapa tika adresēta atšķirīgām ASM izejām; ASMOUTPUT 1 ir astoņas (8) izejas, kuras visas ir tieši savienotas ar ārējiem GPO, izņemot OUT 4. ASM OUTPUT 0 ir četras (4) izejas, kur OUT 0 un OUT 1 ir tieši savienotas attiecīgi ar PIN 4 un PIN 16; OUT 2 tiek izmantots, lai atiestatītu LUT5 un LUT6 Silego [5] un Silego [9] stāvokļos, un visbeidzot OUT 3 tiek izmantots, lai iestatītu LUT6 Silego [4] un Silego [7]. ASM nRESET nav ieslēgts šajā dizainā, tāpēc tas ir vienkārši piespiests HIGH, lai būtu savienots ar VDD. Šim projektam tika pievienotas augšējās un apakšējās gaismas diodes, lai izveidotu papildu animāciju, kamēr tiek rādīts “SILEGO”. Šī animācija ir par dažām rindām, kas laika gaitā riņķo motora kustībā. Šīs līnijas ir baltas gaismas diodes, bet burtu rakstīšanai izmantotās ir sarkanas. Lai sasniegtu šo animāciju, mēs izmantojām GreenPAK PGEN un CNT0. PGEN ir modeļu ģenerators, kas katrā pulksteņa malā izvadīs nākamo bitu savā masīvā. Mēs sadalījām motora pagrieziena periodu 16 sadaļās, un rezultāts tika iestatīts uz CNT0 izejas periodu. PGEN ieprogrammētais modelis ir parādīts 6. attēlā.

3. darbība. Rezultāti

Rezultāti
Rezultāti

Lai pārbaudītu dizainu, mēs ar lentes kabeli savienojām SLG46880 kontaktligzdu pie PCB. Ķēdei bija pievienotas divas ārējās plates, no kurām vienā bija sprieguma regulators, bet otrā - LED bloks. Lai sāktu demonstrēt ziņojumu demonstrēšanai, mēs ieslēdzām loģisko ķēdi, kuru kontrolē GreenPAK, un pēc tam ieslēdzām līdzstrāvas motoru. Lai pareizi sinhronizētu, iespējams, būs jāpielāgo ātrums. Gala rezultāts ir parādīts 7. attēlā. Ar šo piezīmi ir arī saistīts video.

Šajā projektā redzamais redzes displeja uztvere tika izstrādāta, izmantojot Dialog GreenPAK SLG46880 kā galveno kontrolieri. Mēs parādījām, ka dizains darbojas, uzrakstot vārdu “SILEGO”, izmantojot gaismas diodes. Daži uzlabojumi, ko varētu veikt dizainā, ietver:

● Vairāku GreenPAK pakotņu izmantošana, lai palielinātu stāvokļu iespējas, lai drukātu garāku ziņojumu vai animāciju.

● Pievienojiet masīvam vairāk gaismas diodes. Lai samazinātu vērpšanas sviras masu, var būt lietderīgi izmantot virspusē uzstādāmus gaismas diodes, nevis caururbjošas gaismas diodes.

● Iekļaujot mikrokontrolleru, varat mainīt parādīto ziņojumu, izmantojot I2C komandas, lai pārkonfigurētu GreenPAK dizainu. To var izmantot, lai izveidotu ciparu pulksteņa displeju, kas atjaunina ciparus, lai precīzi parādītu laiku

Ieteicams: