Kazalo:
- 1. korak: zavrnitev odgovornosti
- 2. korak: Izdelava tiskanega vezja z uporabo metode prenosa tonerja
- 3. korak: Spajkanje elektronskih komponent
- 4. korak: Programiranje mikrokrmilnika STM32
- 5. korak: Uporaba AODMoST 32
- 6. korak: Pregled oblikovanja
Video: Alternativno zapirajoči dihoptični modifikator stereoskopskega prenosa 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Nekaj časa sem delal na nasledniku prvotnega AODMoST -a. Nova naprava uporablja hitrejši in boljši 32-bitni mikrokrmilnik in hitrejše analogno video stikalo. AODMoST 32 omogoča delo z višjimi ločljivostmi in izvajanje novih funkcionalnosti. Napravo lahko zdaj napaja tudi 5V napetost USB.
Največja novost je izvedba preproste vzorčne maske za eno oko in obratno vzorčene maske za drugo oko, podobno tisti, predstavljeni v tem članku: Ogled filmov z Dichopticom obravnava otroško ambliopijo. Obstaja tudi več možnosti prilagajanja oblike, položaja in stalne randomizacije teh parametrov.
Moram poudariti, da nisem uresničil vseh zamisli, ki sem jih imel, in vdelano programsko opremo je mogoče še naprej razvijati. Predvidevam pa, da zaradi socialno -ekonomskih vprašanj v bližnji prihodnosti ne bom mogel delati na tem projektu, zato ga objavljam takšnega, kot je. Vdelana programska oprema lahko zdaj deluje s 3D vsebinami v oblikah Top - Bottom in Side by Side in je bila preizkušena z osebnim računalnikom Nvidia GPU in Xbox 360.
2020-11-26 AŽURIRANJE: Končno mi je uspelo ustvariti NAČIN 3: BREZPLAČNI LETEČI OBJEKTI. Vključena je v različico 1.00 vdelane programske opreme. Ta nova programska oprema vsebuje tudi nekaj majhnih prilagoditev, na primer zdaj imajo vsi načini ločene nastavitve oblike, maske in naključne nastavitve, ki se shranijo, ko je naprava izklopljena. Ohranil bom starejše datoteke (od različice 0.50 strojno -programske opreme, če v imenu datoteke ni podatkov o različici, to pomeni, da je to ta stara vdelana programska oprema), če je različica 1.00 nekako okvarjena.
Za ta projekt lahko prenesete izvorno kodo, shemo, tiskano vezje, uporabniški priročnik itd.:
aodmost_32_all_files_1.00.zip
aodmost_32_all_files.zip
Zaloge:
Deli in materiali:
- STM32F103C8T6 mikrokrmilnik (LQFP-48)
- 74AC00 quad NAND vrata (SOIC-14, ozka 3,9 mm)
- STMAV340 analogno video stikalo (TSSOP-16)
- LM1117-3.3 regulator napetosti (TO-263)
- 3x BC817 tranzistor (SOT-23)
- 3x bela 3 mm LED
- 2x razpršena rumena 3 mm LED
- razpršena rdeča 3 mm LED
- 2x razpršena modra 3 mm LED
- razpršena zelena 3 mm LED
- 8 MHz kristal (HC49-4H)
- ženski priključek mikro USB tipa B (upoštevajte, da jih je veliko, nekateri pa morda niso združljivi z luknjami v zasnovi tiskanega vezja, USB lahko v celoti preskočite, saj se USB uporablja samo kot napajalnik 5 V)
- 2x 15-polni pravokotni ženski VGA konektor D-SUB (upoštevajte, da obstaja veliko vrst in potrebujete daljšo različico z zatiči, ki bodo obdelali luknje na tiskanem vezju)
- 2 -polni 2,54 -milimetrski ravni moški zatič
- 3 -polni 2,54 -milimetrski ravni moški zatič
- 11 x 6 x 6 mm taktilni stikalni gumbi SMD/SMT
- 2x 10 uF 16V ohišje A 1206 tantalov kondenzator
- 10x 100 nF 0805 kondenzator
- 2x 15 pF 1206 kondenzator
- 3x 1k ohm trimpot 6 mm
- 3x 10k 1206 upor
- 4x 4k7 1206 upor
- 3x 2k7 1206 upor
- 2x 1k 1206 upor
- 3x 470 ohm 1206 upor
- 3x 75 ohm 1206 upor
- 3x 10 ohmski upor 1206
- dvostranska bakrena plošča (najmanj 79,375x96,90 mm)
- nekaj kosov bakrene žice (zlasti nekaj z majhnim premerom, kot je 0,07 mm, bi lahko prišlo prav, če boste popravili pokvarjeno progo poleg vodnikov mikrokrmilnika LQFP)
Orodja:
- diagonalni rezalnik
- klešče
- ploski izvijač
- pinceto
- pomožni nož
- mapa
- sredinski udarec
- kladivo
- majhna igla
- Suh/moker brusni papir zrnatosti 1000
- papirnate brisače
- žago ali drugo orodje, ki lahko razreže PCB
- 4x 0,8 mm sveder
- 1 mm sveder
- 3 mm sveder
- vrtalnik ali vrtljivo orodje
- natrijev persulfat
- plastična posoda in plastično orodje, s katerim lahko odstranite PCB iz raztopine za jedkanje
- rjavi pakirni trak
- izolacijski trak
- multimeter
- spajkalna postaja
- stožčasta konica za spajkanje s fino konico
- dleto za spajkanje
- spajkanje
- spajkalni tok (uporabil sem razred RMA, flux gel, namenjen za montažo in popravila SMT, prišel v brizgi 1,4 cm^3)
- žica za razpajkanje
- laserski tiskalnik
- sijajni papir
- likalnik za oblačila
- čistilo za kremo
- aceton
- čistilni alkohol
- stalni izdelovalec
- ST-LINK/V2 (ali njegov klon) + kabli, ki ga lahko povežejo s programsko opremo AODMoST 32 +, ki lahko uporablja programer
1. korak: zavrnitev odgovornosti
Uporaba take naprave lahko pri majhnem delu uporabnikov naprave povzroči epileptične napade ali druge škodljive učinke. Konstrukcija takšne naprave zahteva uporabo zmerno nevarnih orodij in lahko povzroči škodo ali materialno škodo. Opisano napravo izdelate in uporabljate na lastno odgovornost
2. korak: Izdelava tiskanega vezja z uporabo metode prenosa tonerja
Zrcalno podobo F. Cu (sprednja stran) in običajno sliko B. Cu (zadnjo stran) morate natisniti na sijajnem papirju z laserskim tiskalnikom (brez vključenih nastavitev varčevanja tonerja). Zunanje mere natisnjenih slik morajo biti 79,375x96,901 mm (ali čim bližje). Izrežite tiskano vezje na velikost natisnjene slike, lahko dodate nekaj mm na vsako stran tiskanega vezja, če želite. Osebno mi je všeč, da naredim globoko vrsto po celotni dolžini laminata z pomožnim nožem (nekajkrat morate rezati po celotni dolžini), nato pa postopek ponoviti z druge strani. Ko so vrstice dovolj globoke, se cel laminat zlahka zlomi. Dvakrat morate izvesti postopek lomljenja laminata, ker morate imeti pravo dolžino in širino nastalega kosa. Manjše koščke laminata lahko zlomite s kleščami (pazite, da bakra ne preveč opraskate, uporabite zaščitno plast papirja, na primer med kleščami in tiskano vezje). Zdaj morate z datoteko zgladiti robove nastale plošče.
Nato boste morali očistiti bakrene plasti z navlaženim finim brusnim papirjem, nato pa s čistilcem za smetano odstraniti delce, ki jih pusti brusni papir (lahko uporabite tudi tekočino za pomivanje posode ali milo). Nato ga očistite z alkoholom. Po tem morate biti zelo previdni, da se s prsti ne dotaknete bakra.
Zdaj je čas, da list z zrcalno podobo F. Cu izrežete na bolj obvladljivo velikost (pustite nekaj cm okoli zunanjega pravokotnika) in ga položite na likalnik za oblačila (toner navzgor). Železo lahko držite med stegni, vendar bodite zelo previdni, da je podplat nenehno navzgor in se ničesar ne dotika. Nato položite tiskano vezje na sijajni papir (očiščen toner s stranskih strani) in vklopite likalnik (uporabite polno moč). Po kratkem času se mora papir prilepiti na tiskano vezje. S kosom krpe ali brisačo lahko ploščo potisnete ob papir in papir, ki se lepi na tiskano vezje, nekoliko premaknete. Počakajte vsaj nekaj minut, da papir spremeni barvo v rumeno. Na žalost morate določiti pravi čas, da poskusno ustavite postopek prenosa, zato morate v primeru zelo slabe kakovosti slike na bakru očistiti toner z acetonom, peskom in desko za pranje ter začeti celoten postopek od začetka.
Ko menite, da je prenos tonerja končan, dajte PCB s papirjem v vodo (lahko dodate čistilo za kremo ali tekočino za pomivanje posode) za 20 minut. Nato podrgnite papir iz tiskanega vezja. Če se toner ne drži bakra, za zamenjavo tonerja uporabite trajni marker.
Sedaj morate z udarcem označiti središča štirih praznih prostorov v vogalih tiskane plošče. Kasneje bodo ti centri izvrtani, nastale luknje pa uporabljene za poravnavo obeh strani PCB.
Nato morate zadnjo stran laminata prekriti z rjavim pakirnim trakom. Zmešajte svežo vodo z natrijevim persulfatom in v jedkano raztopino vstavite PCB. Poskusite raztopino hraniti pri 40 ° C. Plastično posodo lahko postavite na radiator ali drug vir toplote. Občasno v posodi zmešajte raztopino. Počakajte, da se nepokrit baker popolnoma raztopi. Ko je končano, odstranite PCB iz raztopine in jo sperite v vodi. Odlepite pakirni trak. Toner odstranite z acetonom (odstranjevalec laka za nohte ga mora vsebovati v zadostni količini). Na tej točki lahko začnete odpravljati vse kratke stike z nožem.
Sedaj z vrtalnikom 0,8 mm izvrtajte štiri luknje za poravnavo. Nato z istim svedrom 0,8 mm izvrtajte ustrezne luknje skozi papir s podobo B. Cu. Ko to storite, pobrusite in očistite hrbtno stran PCB. Nato ploščo položite na ravno površino (na vrhu očistite baker), pokrijte jo s sijajnim papirjem s podobo B. Cu (toner navzdol) in v luknje (okrogel del navzdol) vstavite štiri svedre 0,8 mm, da papir in laminat poravnan. Zdaj se morate s konico vročega likalnika za kratek čas nežno dotakniti papirja, tako da se papir in tiskana vezja držita drug na drugega. Nato odstranite svedre, med stegna položite železo, na likalnik položite papir z laminatom in ponovite postopek prenosa tonerja. Kasneje papir namočite v vodo, da ga odstranite in nadomestite manjkajoči toner s trajnim označevalcem.
Sedaj morate prekriti sprednjo stran tiskanega vezja z pakirnim trakom in nazaj okoli že izvrtanih lukenj. Nato jedkajte zadnjo stran na enak način kot sprednjo stran, odlepite trak, odstranite toner in začnite loviti kratke stike.
Prav tako morate izvrtati preostale luknje v tiskanem vezju. Obstajajo štiri 3 mm luknje za pritrditev priključkov VGA. 1 mm luknje se uporabljajo za preostale luknje VGA, trimpote, glave pin in vias poleg mikro USB (če ne boste uporabljali USB, lahko tukaj spajkate druge 5V napajalne priključke/kable). Vse druge luknje lahko naredite s svedrom 0,8 mm.
3. korak: Spajkanje elektronskih komponent
Začnete lahko tako, da ves baker prekrijete s spajkanjem (uporabite dleto in izvedite postopek na površini, ki je že prekrita s tokom). Če je po tem postopku na nekaterih mestih prisotna prekomerna količina spajkanja, jo odstranite z žico za spajkanje. Če so bile v raztopini za jedkanje raztopljene sledi, jih zamenjajte s tankimi žicami. Potem lahko začnete spajkati druge komponente, čeprav vam priporočam, da boste z MCU -ji počakali do konca do konca. Pri električnih priključkih uporabite primerno količino toka.
MCU v paketu LQFP-48 je najtežje spajkati. Začnite tako, da ga poravnate, spajkate le en odvod blizu ohišja embalaže, nato pa še en kabel na nasprotni strani, da pritrdite MCU v svojem položaju. Nato pokrijte vrvice ali vodi v tok in jih nežno spajkajte na bakrene tirnice s konico dleta. Pazite, da ne upognete kablov nazaj. Če pa se tega resnično bojite, iglo postavite tja, še preden začnete spajkati. Nadzorujte, da ne pride do kratkega stika in električnih povezav, mora biti primeren preprost multimeter s preizkuševalnikom neprekinjenosti (lahko bi uničil integrirano vezje, vendar je testiranje preživelo mino). Če je prišlo do kratkega stika, nanj položite žico za spajkanje in začnite segrevati. Če so bile bakrene sledi na tiskanem vezju poškodovane, jih zamenjajte z zelo tanko žico. Možno je spajkati žico neposredno na vodnike LQFP s stožčasto konico. To sem naredil nekajkrat, predvsem zato, ker sem pri odpakiranju MCU -ja poškodoval sledi, kar je bilo po prvem poskusu spajkanja brez vsakršnega upanja (to je mogoče storiti tako, da z iglo pritisnemo na zatiče). Iskreno upam, da vam bo prvič uspelo.
Druge IC -je so podobne in jih je treba spajkati na enak način, vendar imajo manjše količine večjih kablov, zato ne smejo predstavljati velikega izziva. LM1117 ima velik jeziček, ki ga je treba spajkati na baker, vendar ga je težko primerno segreti z običajnim spajkalnikom, zato, če se prilepi na tiskano vezje in stranice pokrije z nekaj spajkanja, bi moralo biti dovolj.
Nekatere komponente THT je treba spajkati z obeh strani plošče. V primeru trimpotov in LED je precej naravnost. Ko spajate glave zatičev, potisnite plastiko višje, kot bi morala biti pred tem postopkom, nato spajkajte vse zatiče z obeh strani in nato potisnite plastiko nazaj v prvotni položaj. Pri spajkanju kremenovega kristala ga najprej postavite višje, kot je potrebno, spajajte vodila z obeh strani, nato pa jih med segrevanjem spodaj potisnite kristal nižje. Upoštevajte, da sem kristalno ohišje zavil tudi v žico, nato pa žico spajkal na tla (velika bakrena polnilo na levi strani in pod kristalom). Pred spajkanjem delov priključka VGA, ki gredo v 3 -milimetrske luknje, sem na baker na obeh straneh spajkal nekaj žic, da sem prepričan, da sta obe plasti bakra priključeni, in šele nato sem spajkal zaščitne kable. Vijake lahko naredite tako, da v luknjo vstavite večjo žico (na primer neuporabljeno dolžino komponente THT), jo spajkate z obeh strani tiskanega vezja in nato odrežete nepotrebne dele.
Pri spajkanju priključka USB lahko za majhne kable uporabite stožčasto konico s fino konico.
Ko mislite, da ste vse spajkali, morate še enkrat preveriti, da ni kratkega stika ali slabih povezav.
4. korak: Programiranje mikrokrmilnika STM32
Za razvoj vdelane programske opreme AODMoST 32 sem uporabil System Workbench za STM32 (različica Linuxa), ki uporablja OpenOCD za programiranje mikrokrmilnika. Podrobna navodila za uvoz tega projekta v SW4STM32 najdete v datoteki sw4stm32_configuration_1.00.pdf.
Lahko pa uporabite tudi pripomoček ST-LINK (STSW-LINK004). Preizkusil sem različico sistema Windows in dobro je delovala z aodmost_32_1.00.bin
Kot programer sem uporabil poceni klon ST-LINK/V2, kar ni idealno, vendar je delovalo. Za programiranje MCU sem moral napajati AODMoST 32 iz vrat USB in priključiti 3 mostične kable z 2,54 mm ženskimi konektorji na programer na eni strani in vrata SW-DP na AODMoST 32 na drugi. Povezati morate GND, SWCLK in SWDIO. Pri programiranju se prepričajte, da je programska oprema nastavljena za ponastavitev programske opreme.
Datoteke aodmost_32_1.00.bin in aodmost_32_1.00.elf, potrebne za programiranje MCU, so v arhivu aodmost_32_all_files_1.00.zip.
Flash -pomnilnik MCU -ja mora biti pred programiranjem prazen, sicer lahko nekateri stari podatki, ki ostanejo v zadnjih 4 kB, motijo shranjevanje in nalaganje nastavitev.
5. korak: Uporaba AODMoST 32
Zdaj lahko priključite grafično kartico ali igralno konzolo za video na VGA IN, svoj 3D zaslon priključite na VGA OUT in 5V napajanje na mikro USB. Ko je AODMoST 32 napajan, počaka na video signal (in zazna polarizacijo sinhronizacijskih impulzov). To signalizira rdeča lučka NO SIGNAL, ki sveti. Tudi modre LED morajo biti stalno vklopljene. Če utripajo, to pomeni, da je s 8MHz kristalom HSE nekaj narobe. V tem času lahko pritisnete gumbe, da preverite, ali so pravilno povezani. Če pritisnete vsaj en gumb, svetijo rumene LED. Ko pritisnete dva ali več gumbov, svetijo tudi bele LED diode. Ko zazna video signal, se začne zagonsko zaporedje. Sestavljen je iz vsake druge zaporedne LED, ki sveti (0b10101010) 300 ms, nato pa se vklopijo še štiri druge LED diode za 300 ms (0b01010101). Končano je, tako da lahko preverite, ali so LED diode pravilno priključene na MCU.
Naprava ima 4 načine delovanja. Privzeto se zažene v NAČINU 0: VIDEO PASS-THROUGH. Obstaja tudi NAČIN 1: ZGORNJI - NIZI, NAČIN 2: STRAN NA STRAN in NAČIN 3: BREZPLAČNI PLETALI OBJEKTI. Obstaja 6 strani z nastavitvami. Številke 0 in 3 vsebujejo nastavitve frekvence/obdobja, stopnje okluzije, vklop/izklop predmetov in podobno. Stran 1 in 4 vsebujeta nastavitve položaja, strani 2 in 5 pa nastavitve velikosti. S pritiskom na gumbe MODE + PAGE obnovite privzete nastavitve v vseh načinih. Obstajajo tudi možnosti za spreminjanje oblik predmetov, uvedbo vzorca maske in naključno določanje nekaterih nastavitev. Več o konfiguraciji AODMoST 32 lahko preberete v priročniku_1.00.pdf
Eden od možnih virov 3D vsebine v formatu Top - Bottom ali Side By Side so računalniške igre. Če uporabljate video kartico GeForce, lahko številne igre s tega seznama spremenite tako, da bodo prikazane v združljivi obliki. V bistvu morate uporabiti modove/popravke, ki temeljijo na 3DMigotu, kar vam omogoča, da predvajate SBS/TB 3D na kateri koli zaslon, potem ko razkomentirate »run = CustomShader3DVision2SBS« v konfiguracijski datoteki mod/fix »d3dx.ini«. Za dobro kakovost slike morate v gonilnikih NVIDIA onemogočiti tudi odtenek 3D Vision Discover. »StereoAnaglyphType« morate spremeniti v »0« v »HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \«. Več o tem si lahko preberete tukaj.
V novih različicah gonilnikov Nvidia morate zakleniti registrski ključ. Če želite odpreti urejevalnik registra, pritisnite WIN+R, nato vnesite regedit in pritisnite ENTER. Če želite zakleniti ključ, z desno miškino tipko kliknite nanj, izberite Dovoljenja, Napredno, Onemogoči dedovanje, potrdite onemogočanje dedovanja, se vrnite v okno Dovoljenja in na koncu označite polja Zavrni za vse uporabnike in skupine, ki jih lahko označite in potrdite z kliknite gumb V redu. Upoštevajte, da bo morda treba spremeniti tudi vrednosti "LeftAnaglyphFilter" "RightAnaglyphFilter". Če želite narediti kakršne koli spremembe, morate odkleniti registrski ključ tako, da počistite polja za zavrnitev ali omogočite dedovanje. Če imate težave z omogočanjem 3D Visiona, ker se čarovnik za nastavitev na nadzorni plošči NVIDIA zruši, morate spremeniti “StereoVisionConfirmed” na “1” v “HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \”. To bo omogočilo 3D Vision v načinu Odkrivanje. Na žalost je Nvidia prenehala podpirati 3D Vision, zato je najnovejša različica gonilnika 425.31, če pa res želite uporabiti novejšo različico, lahko poskusite to.
Obstajajo še drugi načini za pridobivanje 3D iger. Poskusite lahko SuperDepth3D, senčilo po postopku ReShade. GZ3Doom (ViveDoom) izvorno podpira 3D in ga lahko predvajate brez posebne programske opreme. Windows različici Rise of the Tomb Raider in Shadow of the Tomb Raider imata domačo podporo za Side by Side 3D.
Lahko pa uporabite tudi Xbox 360, ki podpira VGA izhod in ima nekaj iger, ki podpirajo 3D v Top - Botom ali Side by Side. Tu najdete seznam iger Xbox 360, ki podpirajo 3D (čeprav je na tem seznamu nekaj napak, na primer kopija Halo: Combat Evolved Anniversary, ki sem jo preizkusil, ne podpira Top-Bottom, niti SBS).
Seveda lahko najdete tudi filme v formatu Top - Bottom ali Side By Side in jih predvajate na najrazličnejši strojni opremi.
V galeriji najdete naslednje igre:
- Avatar Jamesa Camerona: Igra, SBS, Xbox 360
- Gears of War 3, SBS, Xbox 360
- The Witcher 3: Wild Hunt, TB, PC
- Rise of the Tomb Raider, SBS (naprava je nastavljena na NAČIN 3: BREZPLAČNI LETEČI OBJEKTI), PC
6. korak: Pregled oblikovanja
VGA signal ima tri sestavne barve: rdečo, zeleno in modro. Vsak od njih se pošlje po ločeni žici, intenzivnost barve komponente pa je kodirana v napetostni ravni, ki se lahko spreminja med 0V in 0.7V. AODMoST 32 nariše predmete (prekrivanje) tako, da barvni signal, ki ga ustvari video kartica, nadomesti z napetostjo, ki jo zagotavljajo tranzistorji Q1-Q3 v konfiguraciji oddajnika, ki pretvori impedanco napetosti na razdelilniku napetosti 2k7-trimpot napetosti 1k. Preklapljanje signalov poteka s analognim multipleksorjem/demultiplekserjem STMAV340.
Časovna razporeditev tega preklopa je nadzorovana s krmilnikom za napredno krmiljenje (TIM1) MCU, ki za pogon izhodov uporablja vse štiri svoje registre za primerjavo. Stanje teh izhodov nato obdelajo 3 hitra vrata NAND. Deluje tako: HSync merilniki časa za ponastavitev impulzov Števec. Primerjaj 1 Kontrolnike registra, kdaj začeti risati prvi predmet v vrstici, Primerjaj 2 Registriraj, kdaj ga ustaviti. Primerjaj 3 Kontrolnike registra, kdaj začeti risati drugi predmet v vrstici, Primerjaj 4 Registriraj, kdaj ga ustaviti. Ko je potreben tretji predmet, se znova uporabita primerjalna registra 1 in 2. Vrata NAND so povezana tako, da pošiljajo signal multiplekserju, ki nadomešča izvirni video, ko mu par kanalov za primerjavo pove, da se je risba predmeta začela, vendar še ni končana.
Vodoravni in navpični sinhronizacijski impulzi se razlikujejo po napetostni ravni med 0V in 5V, žice, ki jih prenašajo, pa so neposredno povezane s prekinitvenimi zatiči STM32F103C8T6 5V, konfiguriranimi kot visoko impedančni vhodi.
Naprava porabi približno 75 mA.