Obsah:
- Krok 1: Prohlášení
- Krok 2: Výroba DPS pomocí metody přenosu toneru
- Krok 3: Pájení elektronických součástek
- Krok 4: Programování mikrokontroléru STM32
- Krok 5: Použití AODMoST 32
- Krok 6: Přehled návrhu
Video: Střídavě okluzní dichoptický modifikátor stereoskopického přenosu 32 [STM32F103C8T6+STMAV340 VGA Superimposer]: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Nějakou dobu jsem pracoval na nástupci původního AODMoST. Nové zařízení využívá rychlejší a lepší 32bitový mikrokontrolér a rychlejší analogový video přepínač. Umožňuje AODMoST 32 pracovat s vyšším rozlišením a implementovat nové funkce. Zařízení lze nyní také napájet 5V napětím USB.
Největší novinkou je implementace jednoduché maskované obrazové masky pro jedno oko a inverzní vzorované masky pro druhé oko, podobná té, která je uvedena v tomto článku: Dichoptické sledování filmů léčí tupozrakost z dětství. Existuje také více možností přizpůsobení tvaru, polohy a konstantní randomizace těchto parametrů.
Měl bych zdůraznit, že jsem neimplementoval všechny nápady, které jsem měl, a firmware lze dále rozvíjet. Předpokládám ale, že kvůli socioekonomickým problémům nebudu moci v dohledné době na tomto projektu pracovat, proto jej zveřejňuji tak, jak je. Firmware nyní může pracovat s 3D obsahem ve formátech Top - Bottom a Side by Side a byl testován na PC a Xbox 360 vybaveném GPU Nvidia.
26. AKTUALIZACE 2020-11-26: Konečně se mi podařilo vytvořit MODE 3: FREE FLOATING OBJECTS. Je zahrnut ve verzi 1.00 firmwaru. Tento nový software obsahuje také několik drobných úprav, například nyní mají všechny režimy samostatné nastavení Tvar, Maska a Randomizace, které se ukládají po vypnutí zařízení. Uchovám starší soubory (od verze 0.50 firmwaru, když v názvu souboru nejsou žádné informace o verzi, znamená to, že se jedná o tento starý firmware) pro případ, že by verze 1.00 byla nějak vadná.
Zde si můžete stáhnout zdrojový kód, schéma, PCB, uživatelskou příručku atd. Pro tento projekt:
aodmost_32_all_files_1.00.zip
aodmost_32_all_files.zip
Zásoby:
Díly a materiály:
- Mikrokontrolér STM32F103C8T6 (LQFP-48)
- 74AC00 quad NAND brána (SOIC-14, 3,9 mm úzká)
- Přepínač analogového videa STMAV340 (TSSOP-16)
- Regulátor napětí LM1117-3.3 (TO-263)
- 3x tranzistor BC817 (SOT-23)
- 3x bílá 3mm LED
- 2x rozptýlené žluté 3mm LED
- rozptýlená červená 3mm LED
- 2x difúzní modrá 3mm LED
- difuzní zelená 3mm LED
- 8 MHz krystal (HC49-4H)
- konektor micro USB typu B samice (všimněte si, že jich existuje mnoho typů a některé nemusí být kompatibilní s otvory v konstrukci desky plošných spojů, můžete USB úplně přeskočit, protože USB se používá pouze jako 5V napájecí zdroj)
- 2x 15kolíkový konektor VGA D-SUB s pravým úhlem (všimněte si, že existuje mnoho typů a potřebujete delší verzi s kolíky, které budou obrábět otvory v desce plošných spojů)
- 2kolíkový 2,54mm kolíkový konektor
- 3kolíkový 2,54mm kolíkový konektor
- 11x 6x6mm hmatová spínací tlačítka SMD/SMT
- 2x 10 uF 16V Tantalový kondenzátor Case A 1206
- 10x 100 nF 0805 kondenzátor
- 2x 15 pF 1206 kondenzátor
- 3x 1k ohm trimpot 6mm
- 3x 10k odpor 1206
- 4x odpor 4k7 1206
- 3x rezistor 2k7 1206
- 2x 1k odpor 1206
- 3x odpor 470 ohmů 1206
- 3x odpor 75 ohmů 1206
- 3x 10 ohmový odpor 1206
- oboustranná měděná deska (nejméně 79,375x96,901 mm)
- několik kusů měděného drátu (zvláště něco s malým průměrem, jako je 0,07 mm, by se mohlo hodit, pokud se chystáte opravit rozbitou stopu vedle vodičů mikrokontroléru LQFP)
Nástroje:
- diagonální řezačka
- kleště
- plochý šroubovák
- pinzeta
- užitkový nůž
- soubor
- středový úder
- kladivo
- malá jehla
- Brusný papír suchý/mokrý o zrnitosti 1000
- papírové ručníky
- pila nebo jiný nástroj, který může řezat DPS
- 4x vrták 0,8 mm
- 1 mm vrták
- 3 mm vrták
- vrták nebo rotační nástroj
- persíran sodný
- plastový kontejner a plastový nástroj, který lze použít k vyjmutí DPS z leptacího roztoku
- hnědá balicí páska
- izolační páska
- multimetr
- pájecí stanice
- kónický pájecí hrot s jemným hrotem
- dlátový pájecí hrot
- pájka
- pájecí tavidlo (použil jsem třídu RMA, tavicí gel určený k montáži a opravám SMT, který přišel ve stříkačce 1,4 cm^3)
- odpájecí drát
- laserová tiskárna
- lesklý papír
- žehlička na prádlo
- krémový čistič
- aceton
- tření alkoholu
- stálý výrobce
- ST-LINK/V2 (nebo jeho klon) + kabely, které jej mohou připojit k softwaru AODMoST 32 +, který může využívat programátor
Krok 1: Prohlášení
Použití takového zařízení může u malé části uživatelů zařízení způsobit epileptické záchvaty nebo jiné nežádoucí účinky. Konstrukce takového zařízení vyžaduje použití středně nebezpečných nástrojů a může způsobit újmu nebo poškození majetku. Popsané zařízení stavíte a používáte na vlastní nebezpečí
Krok 2: Výroba DPS pomocí metody přenosu toneru
Na lesklý papír pomocí laserové tiskárny (bez zapnutého nastavení úspory toneru) musíte vytisknout zrcadlový obraz F. Cu (přední strana) a normální obraz B. Cu (zadní strana). Vnější rozměry tištěných obrázků by měly být 79,375x96,901 mm (nebo co nejblíže můžete). Ořízněte PCB na velikost tištěného obrázku, pokud chcete, můžete přidat několik mm na každou stranu PCB. Já osobně to rád dělám tak, že dělám hluboký řádek po celé délce laminátu užitkovým nožem (je třeba několikrát řezat po celé délce), poté postup opakuji z druhé strany. Když jsou řádky dostatečně hluboké, celý laminát se snadno rozpadne na polovinu. Proces rozbití laminátu musíte provést dvakrát, protože musíte mít správnou délku a šířku výsledného kusu. Menší kousky laminátu lze odlomit pomocí kleští (dbejte na to, abyste měď příliš nepoškrábali, použijte ochrannou vrstvu papíru například mezi kleště a desku plošných spojů). Nyní byste měli hranou výsledného kusu desky uhladit pilníkem.
Dále budete muset vyčistit měděné vrstvy pomocí navlhčeného jemného brusného papíru a poté odstranit částice zanechané brusným papírem krémovým čisticím prostředkem (můžete také použít prací prostředek nebo mýdlo). Poté jej očistěte alkoholem. Poté byste měli být velmi opatrní, abyste se nedotkli mědi prsty.
Nyní je čas rozříznout list se zrcadlovým obrazem F. Cu na zvládnutelnější velikost (ponechte několik cm kolem vnějšího obdélníku) a dát jej na žehličku (toner nahoru). Mezi stehna můžete držet železo, ale dávejte si velký pozor, aby byla žehlicí plocha neustále nahoře a ničeho se nedotýkala. Poté položte desku plošných spojů na lesklý papír (toner s vyčištěnými bočními stranami) a zapněte žehličku (použijte plný výkon). Po krátké době by se papír měl lepit na desku plošných spojů. Pomocí kusu látky nebo ručníku můžete desku přitlačit k papíru a trochu přilepit papír na desku plošných spojů. Počkejte alespoň několik minut, dokud papír nezmění barvu na žlutou. Bohužel musíte experimentálně určit správný čas pro zastavení procesu přenosu, takže v případě, že obraz na mědi má velmi špatnou kvalitu, budete muset toner znovu vyčistit acetonem, pískem a pračkou a celý proces spustit od začátku.
Když si myslíte, že je přenos toneru dokončen, vložte PCB s papírem do vody (můžete přidat krémový čistič nebo tekutý prostředek na mytí) na 20 minut. Dále potřete papír z PCB. Pokud existují místa, kde se toner nepřilepil k mědi, vyměňte toner trvalou fixou.
Nyní musíte razníky označit středy čtyř prázdných míst v rozích DPS. Později budou tato centra vyvrtána a výsledné otvory použity k vyrovnání obou stran DPS.
Dále musíte pokrýt zadní stranu laminátu hnědou balicí páskou. Smíchejte čerstvou vodu s persíranem sodným a vložte PCB do leptacího roztoku. Zkuste roztok udržovat při 40 ° C. Na radiátor nebo jiný zdroj tepla můžete umístit plastovou nádobu. Čas od času promíchejte roztok v nádobě. Počkejte, až se nekrytá měď úplně rozpustí. Když je hotový, vyjměte PCB z roztoku a opláchněte jej ve vodě. Oloupejte balicí pásku. Odstraňte toner acetonem (odlakovač by měl obsahovat přiměřené množství). V tomto okamžiku můžete začít odstraňovat zkraty pomocí nože.
Nyní vyvrtejte čtyři vyrovnávací otvory pomocí vrtáku 0,8 mm. Potom pomocí stejného vrtáku 0,8 mm vyvrtejte do papíru odpovídající otvory s obrázkem B. Cu. Až to bude hotové, obrouste a očistěte zadní stranu DPS. Poté položte desku na rovný povrch (nahoře vyčištěnou měď), zakryjte lesklým papírem s obrázkem B. Cu (toner dolů) a do otvorů vložte čtyři 0,8 mm vrtáky (kulatá část dolů), aby papír zůstal laminát zarovnán. Nyní byste se měli krátce dotknout špičky horké žehličky na papír, aby se papír a DPS přilepily k sobě. Poté vyjměte vrtáky, položte žehličku mezi stehna a položte papír s laminátem na horní část žehličky a opakujte postup přenosu toneru. Později namočte papír do vody, abyste jej odstranili a chybějící toner nahradili trvalou fixou.
Nyní musíte přední stranu DPS překrýt balicí páskou a také zpět kolem již vyvrtaných otvorů. Poté vyleptejte zadní stranu stejným způsobem jako přední stranu, odlepte pásku, odstraňte toner a začněte hledat zkraty.
Musíte také vyvrtat zbytek otvorů v desce plošných spojů. K dispozici jsou čtyři 3mm otvory pro montáž konektorů VGA. Pro zbytek VGA otvorů, trimpotů, pinových záhlaví a průchodek vedle micro USB jsou použity 1 mm otvory (pokud nebudete používat USB, můžete zde pájet další 5V napájecí konektor/kabely). Všechny ostatní otvory lze vytvořit pomocí vrtáku 0,8 mm.
Krok 3: Pájení elektronických součástek
Můžete začít tím, že pokryjete veškerou měď pájkou (použijte hrot dláta a proveďte operaci na povrchu již pokrytém tavidlem). Pokud je po této operaci v některých bodech přítomno nadměrné množství pájky, odstraňte ji odpájecím drátem. Pokud byly nějaké stopy rozpuštěny v leptacím roztoku, nahraďte je tenkými dráty. Pak můžete začít pájet další součásti, i když doporučuji, abyste na MCU počkali s vysokými a objemnými věcmi až do konce. Při vytváření elektrických připojení použijte slušné množství tavidla.
MCU v pouzdře LQFP-48 je nejtěžší na pájení. Začněte zarovnáním, připájením pouze jednoho svodu v blízkosti vrcholu balíčku a poté dalšího vývodu na opačné straně, abyste zajistili MCU v jeho poloze. Poté zakryjte řady nebo vývody tavidlem a jemně je pájejte na měděné pásy špičkou dláta. Ujistěte se, že neohýbáte vodiče dozadu, pokud ano, můžete zkusit vysunout řady přívodů jehly a vytlačit kolík ven. Nebo pokud se toho opravdu bojíte, umístěte tam jehlu ještě předtím, než začnete pájet. Kontrola, že nedojde ke zkratu a vedení elektrického vedení, by měl stačit jednoduchý multimetr s testerem spojitosti (mohl by to zničit integrovaný obvod, ale můj přežil testování). Pokud došlo ke zkratu, položte na něj odpájecí drát a zahřejte. Pokud došlo k poškození měděných drah na desce plošných spojů, použijte k výměně velmi tenký drát. Je možné pájet drát přímo na vývody LQFP pomocí kónického hrotu s jemným hrotem. Udělal jsem to několikrát, většinou proto, že jsem poškodil stopy při odpájení MCU, které bylo po prvním pokusu o jeho pájení nad jakoukoli naději (lze to provést páčením kolíků jehlou). Upřímně doufám, že se vám to povede hned napoprvé.
Ostatní integrované obvody jsou podobné a měly by být pájeny stejným způsobem, ale mají menší množství větších vodičů, takže by neměly představovat velkou výzvu. LM1117 má velký jazýček, který by měl být připájen k mědi, ale je těžké jej adekvátně zahřát běžnou páječkou, takže pokud ho vyrobíte tak, aby se lepil na desku plošných spojů a pokryl boky nějakým množstvím pájky, mělo by to stačit.
Některé komponenty THT je třeba pájet z obou stran desky. V případě trimpotů a LED diod je to docela přímočaré. Při pájení hlaviček kolíků posuňte plast výše, než by měl být, před touto operací pájejte všechny kolíky z obou stran a poté zasuňte plast zpět do původní polohy. Při pájení křemenného krystalu nejprve nahoře umístěte výše, než je nutné, pájejte vývody z obou stran a poté při zahřívání níže zatlačte krystal níže. Všimněte si, že jsem také zabalil krystalový obal do drátu a poté připájel drát k zemi (velká měděná výplň vlevo a pod krystalem). Před pájením částí konektoru VGA, které jdou do otvorů o průměru 3 mm, jsem na obou stranách připájel některé vodiče k mědi, abych se ujistil, že jsou obě vrstvy mědi spojeny, a teprve poté jsem pájel stínění. Vias lze vyrobit umístěním většího drátu do otvoru (například nevyužitou délkou vedení THT součástky), pájením z obou stran DPS a následným odříznutím nepotřebné části.
Při pájení USB konektoru můžete pro malé vývody použít kuželový hrot s jemným hrotem.
Když si myslíte, že jste pájili vše, měli byste znovu zkontrolovat, zda nedošlo ke zkratu nebo špatnému připojení.
Krok 4: Programování mikrokontroléru STM32
K vývoji firmwaru AODMoST 32 jsem použil System Workbench pro STM32 (verze pro Linux), který k programování mikrokontroléru používá OpenOCD. Podrobný návod, jak importovat tento projekt do SW4STM32, najdete uvnitř souboru sw4stm32_configuration_1.00.pdf.
Alternativně můžete použít ST-LINK Utility (STSW-LINK004). Testoval jsem verzi Windows a fungovalo to dobře s aodmost_32_1.00.bin
Jako programátor jsem použil levný klon ST-LINK/V2, což není ideální, ale fungovalo to. K programování MCU jsem potřeboval napájet AODMoST 32 z USB portu a připojit 3 propojovací kabely s 2,54mm zásuvkami k programátoru na jedné straně a SW-DP portu AODMoST 32 na straně druhé. Musíte propojit GND, SWCLK a SWDIO. Při programování se ujistěte, že je software nastaven tak, aby prováděl reset softwarového systému.
Soubory aodmost_32_1.00.bin a aodmost_32_1.00.elf potřebné k programování MCU jsou uvnitř archivu aodmost_32_all_files_1.00.zip.
Flash paměť MCU by měla být před programováním prázdná, jinak by některá stará data zbývající v posledních 4 kB mohla rušit ukládání a načítání nastavení.
Krok 5: Použití AODMoST 32
Nyní můžete k VGA IN připojit grafickou kartu nebo konzolu pro videohry, připojit svůj 3D displej k výstupu VGA OUT a napájení 5V do micro USB. Když je AODMoST 32 napájen, čeká na videosignál (a detekci polarizace synchronizačních impulzů). Je signalizována rozsvícením červené LED ŽÁDNÝ SIGNÁL. Také modré LED diody by měly být neustále zapnuté. Pokud blikají, znamená to, že s 8MHz HSE krystalem není něco v pořádku. Během této doby můžete stisknout tlačítka a zkontrolovat, zda jsou správně připojena. Pokud je stisknuto alespoň jedno tlačítko, svítí žluté LED diody. Když stisknete dvě nebo více tlačítek, rozsvítí se také bílé LED diody. Když je detekován video signál, spustí se spouštěcí sekvence. Skládá se z toho, že každá druhá LED v řadě svítí (0b10101010) po dobu 300 ms, poté se po dobu 300 ms rozsvítí další čtyři LED (0b01010101). Je hotovo, takže můžete zkontrolovat, zda jsou diody LED správně připojeny k MCU.
Zařízení má 4 pracovní režimy provozu. Ve výchozím nastavení se spouští v REŽIMU 0: VIDEO PROCHÁZÍ. K dispozici je také MODE 1: TOP - BOTTOM, MODE 2: SIDE BY SIDE a MODE 3: FREE FLOATING OBJECTS. K dispozici je 6 stránek nastavení. Ty s čísly 0 a 3 obsahují nastavení frekvence/periody, rychlosti okluze, zapínání/vypínání objektů a podobně. Stránky 1 a 4 obsahují nastavení polohy, zatímco stránky 2 a 5 obsahují nastavení velikosti. Stisknutím tlačítek MODE + PAGE obnovíte výchozí nastavení ve všech režimech. K dispozici jsou také možnosti pro změnu tvarů objektů, zavedení vzoru masky a randomizace některých nastavení. Více o konfiguraci AODMoST 32 si můžete přečíst v manual_1.00.pdf
Jedním z možných zdrojů 3D obsahu ve formátu Top - Bottom nebo Side By Side jsou počítačové hry. Pokud používáte grafickou kartu GeForce, lze mnoho her z tohoto seznamu upravit tak, aby vystupovaly v kompatibilním formátu. V zásadě musíte použít mody/opravy založené na 3DMigoto, které vám umožní odeslat výstup SBS/TB 3D na libovolný displej po odkomentování konfiguračního souboru mod/fix „d3dx.ini“na libovolný displej „run = CustomShader3DVision2SBS“. Abyste měli dobrou kvalitu obrazu, musíte v ovladačích NVIDIA také deaktivovat odstín 3D Vision Discover. V položce „HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \“musíte změnit „StereoAnaglyphType“na „0“. Více si o tom můžete přečíst zde.
V nových verzích ovladačů Nvidia musíte zamknout klíč registru. Chcete -li otevřít Editor registru, stiskněte WIN+R, poté zadejte příkaz regedit a stiskněte klávesu ENTER. Uzamčení klíče bude vyžadovat, abyste na něj klikli pravým tlačítkem, vybrali Oprávnění, Upřesnit, Zakázat dědičnost, potvrzení deaktivace dědičnosti, návrat do okna Oprávnění a nakonec zaškrtnutí políček Odepřít pro všechny uživatele a skupiny, které lze zaškrtnout, a potvrzení pomocí klikněte na tlačítko OK. Všimněte si, že může být potřeba změnit také hodnoty „LeftAnaglyphFilter“„RightAnaglyphFilter“. Pokud chcete provést jakékoli změny, musíte odemknout klíč registru zrušením zaškrtnutí těchto políček pro odepření nebo povolením dědičnosti. Pokud máte problémy s povolením 3D Vision na prvním místě, protože průvodce nastavením v ovládacím panelu NVIDIA padá, musíte v „HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \“změnit „StereoVisionConfirmed“na „1““. To umožní 3D Vision v režimu Discover. Nvidia bohužel přestala podporovat 3D Vision, takže nejnovější verze ovladače, kterou lze použít, je 425,31, ale pokud opravdu chcete použít novější verzi, můžete to zkusit.
Existují i jiné způsoby, jak získat 3D hry. Můžete vyzkoušet SuperDepth3D, shader post-process ReShade. GZ3Doom (ViveDoom) nativně podporuje 3D a lze jej hrát bez speciálního softwaru. Verze Rise of the Tomb Raider a Shadow of the Tomb Raider pro Windows mají nativní podporu pro Side by Side 3D.
Alternativně můžete také použít Xbox 360, který podporuje výstup VGA a má několik her, které podporují 3D v Top - Botom nebo Side by Side. Zde najdete seznam her pro Xbox 360, které podporují 3D (i když v tomto seznamu jsou nějaké chyby, například kopie Halo: Combat Evolved Anniversary, kterou jsem testoval, nepodporuje Top-Bottom, ani SBS).
Samozřejmě můžete také najít filmy ve formátu Top - Bottom nebo Side By Side a přehrávat je na široké škále hardwaru.
V galerii najdete následující hry:
- Avatar Jamese Camerona: Hra, SBS, Xbox 360
- Gears of War 3, SBS, Xbox 360
- Zaklínač 3: Divoký hon, TB, PC
- Rise of the Tomb Raider, SBS (zařízení je nastaveno na MODE 3: FREE FLOATING OBJECTS), PC
Krok 6: Přehled návrhu
Signál VGA má 3 složkové barvy: červenou, zelenou a modrou. Každý z nich je odeslán samostatným vodičem s intenzitou barevně kódovanou součástí do napěťové úrovně, která se může pohybovat mezi 0V a 0,7V. AODMoST 32 kreslí objekty (překryv) nahrazením barevného signálu generovaného grafickou kartou napěťovou úrovní poskytovanou tranzistory Q1-Q3 v konfiguraci sledovače emitoru, které převádějí impedanci napětí na rezistoru 2k7-dělič napětí trimru 1k. Přepínání signálů se provádí analogovým multiplexorem/demultiplexorem STMAV340.
Načasování tohoto přepínání je udržováno pokročilým časovačem řízení (TIM1) MCU, který využívá všechny čtyři své srovnávací registry k řízení výstupů. Stav těchto výstupů je poté zpracován 3 rychlými branami NAND. Funguje to takto: Časovače resetování pulzů HSync Počitadlo. Porovnat 1 Register určuje, kdy začít kreslit první objekt v řadě, Porovnat 2 Zaregistrovat, kdy jej zastavit. Porovnat 3 Register určuje, kdy začít kreslit druhý objekt v řadě, Porovnat 4 Zaregistrovat, kdy jej zastavit. Když je potřeba třetí objekt, porovnávací registry 1 a 2 se použijí znovu. Brány NAND jsou připojeny takovým způsobem, že vysílají signál do multiplexeru, který nahrazuje původní video, když dvojice porovnávacích kanálů oznámí, že kreslení objektu začalo, ale ještě není dokončeno.
Horizontální a vertikální synchronizační impulsy se liší napěťovou úrovní mezi 0 V a 5 V a vodiče, které je nesou, jsou přímo připojeny k 5M tolerančním přerušovacím kolíkům STM32F103C8T6, konfigurovaným jako vstupy s vysokou impedancí.
Zařízení spotřebovává přibližně 75 mA.