Sisukord:

Tehke oma POV -ekraan: 3 sammu
Tehke oma POV -ekraan: 3 sammu

Video: Tehke oma POV -ekraan: 3 sammu

Video: Tehke oma POV -ekraan: 3 sammu
Video: Аниме Школа отчаинья смотреть все серии подряд 2024, November
Anonim
Tehke oma POV -ekraan
Tehke oma POV -ekraan

Nägemise tajumine (POV) või nägemise püsivus (sellel on mitu variatsiooni) on huvitav inimese nägemisnähtus, mis tekib siis, kui objekti visuaalne tajumine ei lakka vaatamata objekti muutuvale positsioonile. Inimesed näevad pilti sekundite murdosade kaupa; need pildid salvestatakse ajju väga lühikeseks ajaks (hetkeks). Selle nähtuse näide on see, kui jälgite sisselülitatud ja ümber pööratud valgusallikat, näiteks LED -e või pirne. Meie nägemus on petetud uskuma, et pöörlev valgus on tegelikult pidev ring, umbes nagu tasapinnal pöörlevast propellerist moodustatud pidev ring. POV -i on juba aastaid kasutatud, alustades gifoskoobist, meie nägemusele mitmesuguste illusioonide ja animatsioonide loomiseks; seda kasutatakse sageli sõnumite ja animatsioonide näitamiseks kuvaritel LED -ide abil, pöörates neid 2D- või 3D -vormingus erinevat tüüpi sõnumite jaoks. Selle rakenduse märkuse eesmärk on kujundada ja näidata, kuidas Perception of Vision töötab, kirjutades ehitatavale ekraanile sõna “SILEGO” ja anda ideid, mis aitavad teil tulevikus keerukamaid kujundusi teha. Selle projekti jaoks kasutasime Dialog GreenPAK ™ SLG46880 koos pistikupesaga, mis võimaldab seda prototüüpi kaablite abil hõlpsasti kõigi väliste komponentidega ühendada. Suurema GreenPAK -i kasutamine üldotstarbeliste POV -kuvarite kujundamiseks on väga kasulik tänu oma tugevatele komponentidele, näiteks ASM -i alamsüsteemidele, mis võimaldavad teil ekraanile printida mis tahes mustrit. See rakendus näitab SLG46880 abil lõpptulemust.

Allpool kirjeldasime samme, mida on vaja mõista, kuidas GreenPAK kiip on programmeeritud POV -ekraani loomiseks. Kui aga soovite lihtsalt programmeerimise tulemust saada, laadige GreenPAKi tarkvara alla, et vaadata juba valminud GreenPAK disainifaili. Ühendage GreenPAK arenduskomplekt arvutiga ja klõpsake programmi, et luua POV -ekraani jaoks kohandatud IC.

Samm: skeemid

Skeemid
Skeemid

See POV -kuvari näide on suunatud joonisel 1 näidatud 2D -tüübile, millel on üksteist LED -i (igal neist on takistid voolu reguleerimiseks), mis on otse ühendatud GreenPAK CMIC erinevate GPO -tihvtidega. Vooluring on prototüüpitud ja joodetud PCB leivaplaatidesse. Ekraani jaoks kasutatav toiteallikas on 9 V 10 A L1022 leelispatarei, mis on ühendatud pingeregulaatori vooluahelaga, kasutades LM7805V ja mille väljundvõimsus on 5 V. Lisaks ekraani pöörlemisele on vaja alalisvoolumootorit, mis on piisavalt tugev, et kõik kohandatud alusele kinnitatud juhtimisahel. Sel juhul kasutati 12 V mootorit, mis oli ühendatud pealülitiga, ja riiulist reguleeritud toiteallikat, mis väljastab pöördpinge kaudu erinevaid pingetasemeid, võimaldades mootoril mitu kiirust pöörata.

2. samm: GreenPAK -i disain

GreenPAK disain
GreenPAK disain
GreenPAK disain
GreenPAK disain
GreenPAK disain
GreenPAK disain
GreenPAK disain
GreenPAK disain

GreenPAK -i abil POV -ekraani jaoks erinevat tüüpi sõnumite ja animatsioonide kujundamisel peaksime teadma nii kiibi tööriistu kui ka piiranguid. Sel viisil saame luua oskusliku disaini, kasutades POV -ekraani saavutamiseks kõige vähem elektroonikakomponente. See disain kasutab SLG46880 CMIC uusi eeliseid, keskendudes asünkroonse oleku masina alamsüsteemide komponendile. SLG46880 ASM -alamsüsteemi tööriist võib olla eeliste GreenPAK ASM tööriistadest soodsam oma uute funktsioonide tõttu, mis võimaldavad keerukamaid olekumasinaid. Mõned asjakohased ASM -alamsüsteemide sisemised komponendid on järgmised:

● 12-osariigiline ASM Macrocell

● Dünaamiline mälu (DM) Macrocell

● F (1) Arvutus Macrocell

● Riigi sõltumatud komponendid

Mida rohkem olekumasina makrorakke kiip võimaldab luua ja konfigureerida, seda rohkem on projekteerimisvõimalusi. Iga kaheteistkümne olekuga kirjutati kuvatava sõna erinevad murdosad, lülitades sisse/välja LED -ide erinevad kombinatsioonid, millest mõnda korrati kaks või enam korda ja mõnel juhul muudeti korduva oleku ajastust, sest sama mustrit võiks kasutada erinevate tähtede jaoks erinevatel aegadel. Osariigid on struktureeritud tabelis 1.

Tabelis 1 on näidatud, kuidas disaini kõik olemasolevad olekud on seotud sõna „SILEGO” tähtedega. See vastab joonisel 2 näidatud LED -konfiguratsioonile.

Nagu võite märgata, saavutavad kõik eri ajastusega täidetud olekud sõna täieliku ülesehituse, joonis 3 näitab olekute ühendamist/seostamist. Kõik olekute üleminekud on millisekundite järjekorras ja kõik joonise 2 diagrammi veerud tähistavad ühte millisekundit (1 ms). Mõned olekud kestavad 3 ms, 4 ms ja teised, piisavalt kaua video demonstreerimiseks kasutatava mootori minimaalse kiirusega umbes 460 p / min.

Oluline on arvestada ja mõõta mootori kiirust, et teada saada ja arvutada ajastust üldise otstarbega disaini jaoks. Sel viisil saab sõnumi sünkroonida mootori kiirusega, mis on inimsilmale nähtav. Teine kaalutlus olekute ülemineku muutmiseks vähem märgatavaks ja meie nägemisele selgemaks on mootori kiiruse suurendamine rohkem kui 1000 pööret minutis ja olekute ajastus on seatud mikrosekundite järjekorda, et sõnum oleks sujuvalt nähtav. Võib -olla küsite endalt, kuidas sünkroonida mootori kiirust sõnumi või animatsiooni kiirusega? See saavutatakse mõne lihtsa valemi abil. Kui teie mootori pöörlemiskiirus on 1000 p / min, et teada saada, kui kaua alalisvoolumootor võtab sekundis ühe pöörde kohta, toimige järgmiselt.

Sagedus = 1000 p / min / 60 = 16,67 Hz Periood = 1 / 16,67 Hz = 59,99 ms

Teades perioodi, teate, kui kaua mootor pöördes võtab. Kui soovite printida sellise sõnumi nagu “Tere maailm”, siis kui teate iga pöörde perioodi, on oluline, kui suur on sõnumi kuvamine. Soovitud kirja printimiseks soovitud suuruses järgige seda rusikareeglit:

Kui soovite näiteks, et teade kataks 40 % ekraani ruumist, toimige järgmiselt.

Sõnumi suurus = (periood * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms

See tähendab, et sõnumit kuvatakse iga pöörde kohta 24 ms jooksul, nii et tühi ruum või käigu ülejäänud ruum (kui te pärast sõnumit midagi ei näita) peaks olema järgmine:

Tühi ruum = periood - sõnumi suurus = 59,99 ms - 24 ms = 35,99 ms

Lõpuks, kui peate sõnumit näitama selle 40% ajavahemiku kohta, peate teadma, kui palju olekuid ja üleminekuid sõnum eeldatava sõnumi kirjutamiseks vajab, näiteks kui sõnumil on kakskümmend (20) üleminekut, siis:

Ühe oleku periood = sõnumi suurus / 20 = 24 ms / 20 = 1,2 ms.

Seega peaks iga olek sõnumi korrektseks kuvamiseks kestma 1,2 ms. Loomulikult märkate, et enamik esimestest disainilahendustest ei ole täiuslikud, nii et võite füüsilise testimise ajal kujunduse parandamiseks mõnda parameetrit muuta. Olekute ülemineku hõlbustamiseks kasutasime dünaamilise mälu (DM) makrorakke. Kahel neljast DM -plokist on maatriksiühendused, et nad saaksid suhelda plokkidega väljaspool ASM -i allsüsteemi. Igal DM Macrocellil võib olla kuni 6 erinevat konfiguratsiooni, mida saab kasutada erinevates olekutes. Selles konstruktsioonis kasutatakse DM -plokke, et käivitada ASM ühest olekust teise üleminekuks. Näiteks Silego [3] olekut korratakse üleminekute ajal kaks korda; see peab kirjutama sama mustriga suurtähe „I” alguse ja lõpu, kuid kõigepealt peab see minema Silegosse [4], et kirjutada suurtähe „I” muster, ja siis, kui Silego [3] käivitatakse teist korda, see peab minema olekusse No Message, jätkates ülejäänud üleminekuid. Kuidas on võimalik vältida Silego [3] langemist Silegoga [4] lõpmatusse silmusesse? See on lihtne, on mõned LUT -id, mis on konfigureeritud SR Flip Flopsiks, mis käsib Silegol [3] mitte valida Silego [4] ikka ja jälle, vaid valida teist korda olek No Message. SR Flip Flopsi kasutamine lõputute tsüklite vältimiseks mõne oleku kordamisel on suurepärane viis selle probleemi lahendamiseks ja nõuab ainult 3-bitist LUT-i, mis on konfigureeritud nii, nagu on näidatud joonisel 4 ja joonisel 5. See protsess toimub samaaegselt ASM -väljund paneb Silego [3] minema Silegosse [4], nii et järgmisel korral, kui olekumasin käivitab Silego [3], teavitatakse teda protsessi jätkamiseks oleku puudumisest.

Teine ASM -plokk, mis oli selle projekti jaoks abiks, on F (1) arvutuslik Macrocell. F (1) saab täita konkreetsete käskude loendi soovitud andmete lugemiseks, salvestamiseks, töötlemiseks ja väljastamiseks. See on võimeline manipuleerima 1 bitti korraga. Selles projektis kasutati plokki F (1), et lugeda, viivitada ja väljastada bitte, et juhtida mõningaid LUT -sid ja lubada olekuid (näiteks Silegos [1] Silego lubamiseks [2]).

Tabelis joonisel 1 on selgitatud, kuidas iga LED on GreenPAKi GPO -tihvtidele adresseeritud; seotud füüsilised tihvtid on adresseeritud maatriksi ASM Output RAM -ist, nagu on näidatud tabelis 2.

Nagu näete tabelist 2, oli kiibi iga tihvt adresseeritud erinevatele ASM -väljunditele; ASMOUTPUT 1 -l on kaheksa (8) väljundit, mida kasutatakse otse väliste GPO -dega, välja arvatud OUT 4. ASM OUTPUT 0 -l on neli (4) väljundit, kus OUT 0 ja OUT 1 on otseselt ühendatud vastavalt PIN 4 ja PIN 16 -ga; OUT 2 kasutatakse LUT5 ja LUT6 lähtestamiseks Silego [5] ja Silego [9] olekutes ning lõpuks kasutatakse OUT 3 LUT6 seadistamiseks Silegos [4] ja Silego [7]. ASM nRESET pole selles disainis ümber lülitatud, nii et see on lihtsalt sunnitud VIGD -ga ühendatud HIGH. Sellele projektile lisati ülemine ja alumine LED, et teha täiendavat animatsiooni, kui kuvatakse “SILEGO”. See animatsioon on umbes paar rida, mis aja jooksul mootori liikumisega ringlevad. Need read on valged LED -id, tähtede kirjutamiseks aga punased. Selle animatsiooni saavutamiseks kasutasime GreenPAKi PGEN -i ja CNT0. PGEN on mustrite generaator, mis väljastab oma massiivi järgmise bitti igal kella serval. Jagasime mootori pöördeperioodi 16 osaks ja tulemuseks määrati CNT0 väljundperiood. PGEN -i programmeeritud muster on näidatud joonisel 6.

3. samm: tulemused

Tulemused
Tulemused

Disaini testimiseks ühendasime SLG46880 pistikupesa lintkaabli abil trükkplaadiga. Vooluahelaga ühendati kaks välist tahvlit, millest üks sisaldas pingeregulaatorit ja teine LED -massiivi. Demonstreerimissõnumi kuvamiseks lülitasime GreenPAK -i poolt juhitava loogikaahela sisse ja seejärel alalisvoolumootori. Nõuetekohaseks sünkroonimiseks võib olla vaja kiirust reguleerida. Lõpptulemus on näidatud joonisel 7. Selle rakenduse märkusega on seotud ka video.

Selles projektis esitatud nägemisekraani taju kujundati, kasutades peamist kontrollerit Dialog GreenPAK SLG46880. Näitasime, et disain töötab, kirjutades LED -ide abil sõna “SILEGO”. Mõned disaini täiustused võivad olla järgmised:

● Mitme GreenPAK -i kasutamine olekute hulga suurendamiseks, pikema sõnumi või animatsiooni printimiseks.

● Lisage massiivi rohkem LED -e. Ketrushoova massi vähendamiseks võib olla kasulik kasutada pinnapealseid LED-e, mitte läbi aukude.

● Mikrokontrolleri lisamine võimaldab teil muuta kuvatavat teadet, kasutades GreenPAK -i kujunduse ümberkonfigureerimiseks I2C -käske. Seda saab kasutada digitaalse kella kuva loomiseks, mis värskendab numbreid, et kellaaega täpselt kuvada

Soovitan: