Sommario:
- Passaggio 1: Dichiarazione di non responsabilità
- Passaggio 2: parti e strumenti
- Passaggio 3: saldatura di componenti elettronici
- Passaggio 4: collegamento del cavo VGA
- Passaggio 5: programmazione del microcontrollore ATmega
- Passaggio 6: utilizzo di AODMoST
- Passaggio 7: panoramica del design
Video: Modificatore dicottico a occlusione alternativa della trasmissione stereoscopica [ATmega328P+HEF4053B VGA Superimposer]: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Dopo i miei esperimenti con gli occhiali a cristalli liquidi usati per occludere gli occhi (qua e là), ho deciso di costruire qualcosa che sia un po' più sofisticato e inoltre non costringa l'utente a indossare PCB sulla fronte (a volte le persone possono comportarsi in modo modo ostile quando vedono gli altri con l'elettronica che sporge dai loro corpi, i cyborg non hanno vita facile in questi giorni). Il dispositivo che ho progettato modifica il segnale VGA inviato al display 3D (il video deve essere in formato Alto – Basso o Affiancato), migliorando il segnale video con stimolazione dicoptica. L'enorme libreria di film e giochi che possono essere guardati e riprodotti in formati 3D compatibili dovrebbe rendere felice e coinvolto qualsiasi utente di AODMoST. Ci sono studi che indicano che le forme di trattamento possibili con AODMoST sono benefiche per le persone con ambliopia.
Passaggio 1: Dichiarazione di non responsabilità
L'utilizzo di tale dispositivo può causare crisi epilettiche o altri effetti avversi in una piccola parte degli utenti del dispositivo. La costruzione di un tale dispositivo richiede l'uso di strumenti moderatamente pericolosi e può causare danni o danni alla proprietà. Costruisci e utilizzi il dispositivo descritto a tuo rischio
Passaggio 2: parti e strumenti
Parti e materiali:
- Microcontrollore ATmega328P-PU
- Interruttore analogico HEF4053BP
- 7805 nel regolatore di tensione del pacchetto TO-220
- 3x transistor 2N2222
- Transistor BS170
- 2x LED blu diffusi da 3 mm
- LED rosso diffuso da 3 mm
- 2x LED gialli diffusi da 3 mm
- LED verde diffuso da 3 mm
- Cristallo HC49/US da 20 MHz
- Connettore maschio AVR ISP (IDC) a 10 pin
- Morsettiera a vite PCB a 2 pin Connettore da 5,08 mm
- Pulsanti tattili 8x 6x6mm
- 3x 1k ohm trimpot 6mm
- 3 resistenze da 75 ohm 1/4 W
- 3 resistenze da 1k ohm 1/4W
- Resistore 3x 2k7 ohm 1/4W
- Resistore da 3k3 ohm 1/4W
- Resistenza 11x 10k ohm 1/4W
- Condensatori ceramici 2x 20pF
- 3 condensatori ceramici da 100nF
- 2x condensatori elettrolitici da 100uF
- perfboard (70 mm x 90 mm, array minimo 24 x 31 fori)
- pochi pezzi di filo
- nastro isolante
- carta
- Cavo VGA maschio a VGA maschio
- Alimentazione 12V – 15V CC
Utensili:
- taglierina diagonale
- pinze
- cacciavite a lama piatta
- piccolo cacciavite a croce
- coltello multiuso
- multimetro
- stazione di saldatura
- saldare
- Programmatore AVR (programmatore autonomo come USBasp o puoi usare ArduinoISP)
Passaggio 3: saldatura di componenti elettronici
Se vuoi programmare ATmega prima di saldare, fallo (puoi lasciare CON1 fuori dal PCB). Saldare tutti i componenti elettronici alla scheda pref. Utilizzare fili di rame (quelli del diametro di 0,5 mm del cavo UTP dovrebbero essere perfetti) per effettuare i collegamenti elettrici tra i componenti. Assicurarsi che i fili non causino cortocircuiti. Se c'è rischio di cortocircuito (poiché è la causa con uno dei fili di R21, filo sul davanti tra SW8 e C7 e filo posto sul lato frontale vicino a Y1), coprire il filo con nastro isolante o calore -tubo termoretraibile.
Se vuoi, puoi ognuno un PCB, invece di usare prefboard. Ho descritto i processi di creazione di PCB utilizzando il metodo di trasferimento del toner nel mio progetto precedente. La scheda nei file.svg dovrebbe avere 64,77 mm x 83,82 mm. I file allegati che contengono i tracciati dovrebbero essere di grande aiuto anche se si effettuano collegamenti su prefboard con fili di rame.
Passaggio 4: collegamento del cavo VGA
Taglia a metà il cavo VGA e spella tutti i fili dall'isolamento. Contrassegnare una parte del cavo tagliato come IN e l'altra come OUT. Saldare i fili ai pad appropriati sul PCB. Per identificare quale cavo è collegato a quale pin del connettore, utilizzare il tester di continuità nel multimetro e quindi consultare il pin out VGA per identificare lo scopo di ciascun cavo. Hai solo bisogno di collegare i cavi che trasmettono video rosso, verde e blu e impulsi di sincronizzazione orizzontale e verticale. Se ci sono altri fili nel cavo, saldali di nuovo insieme, o meglio ancora saldali di nuovo attraverso la scheda pref, come ho fatto con il filo bianco che collega i pin 11 nei connettori VGA (la connessione ora si trova tra R7 e R8). La scheda video rileva che un display VGA è collegato rilevando una resistenza nell'intervallo approssimativo da 50 ohm a 150 ohm tra i pin video R, G e B e la massa (resistenze di terminazione da 75 ohm nel display, AODMoST aggiunge a quella resistenza), quindi I2C i pin non sono realmente necessari e il cavo VGA può funzionare senza che siano collegati (come nel cavo che ho usato, ovviamente la mancanza di I2C significa che il monitor non sarà in grado di inviare informazioni sulle risoluzioni supportate e ciò può essere problematico). In caso di rischio di cortocircuito, utilizzare nastro isolante o guaina termorestringente. Collegare la schermatura in due parti del cavo l'una con l'altra e utilizzare del nastro isolante per fissare insieme entrambe le parti del cavo VGA e per fissare saldamente il cavo al PCB. Metti alcuni strati di carta sul retro del PCB e fissalo con del nastro isolante.
Passaggio 5: programmazione del microcontrollore ATmega
Collega il tuo programmatore AVR a CON1 con un cavo a nastro appropriato o cavi jumper da femmina a femmina. Ho usato USBasp e AVRDUDE, quindi il caricamento del file.hex mi ha richiesto di eseguire il seguente comando:
avrdude -c usbasp -p m328p -B 8 -U flash:w:aodmost.hex
Avevo anche bisogno di cambiare i bit del fusibile in E: FF, H: D9, L: F7, in modo che il microcontrollore utilizzi un cristallo da 20 MHz. Ho mantenuto i valori di byte del fusibile estesi e alti predefiniti e ho modificato il valore del byte del fusibile basso da L: 62 a L: F7 con l'uso del seguente comando:
avrdude -c usbasp -p m328p -B 8 -U lfuse:w:0xF7:m
Se ricevi un errore durante il caricamento del file.hex, potresti dover modificare il valore -B (bitclock) da 8 a qualcosa di più alto, come 16.
Passaggio 6: utilizzo di AODMoST
Collegare l'alimentazione 12V – 15V DC ai terminali a vite (- è più vicino al bordo superiore del PCB). Collegare il connettore VGA dalla metà IN del cavo VGA alla scheda video, connettore dalla metà OUT al display 3D. Il dispositivo ha 4 modalità, 3 delle quali disegnano coppie di rettangoli sul video. Ci sono 6 pagine di stetting. Quelli con i numeri 0 e 3 contengono impostazioni di frequenza/periodo, tasso di occlusione, rettangolo attivato/disattivato e così via. Le pagine 1 e 4 contengono le impostazioni di posizione mentre le pagine 2 e 5 contengono le impostazioni di formato. Premendo i pulsanti MODE + PAGE si ripristinano le impostazioni predefinite in tutte le modalità. Puoi leggere di più sulla configurazione di AODMoST in user_manual.pdf
Una possibile fonte di contenuto 3D in formato Top – Bottom o Side by Side sono i giochi per computer. Se usi la scheda video GeForce, molti giochi di questo elenco possono essere riprodotti con CustomShader3DVision2SBS in 3DMigoto abilitato. Puoi imparare come abilitarlo e come risolvere il problema della tinta posta sullo schermo da 3D Vision Scopri la modalità 3D anaglifo qui (nota: ho scoperto che devi impostare "LeftAnaglyphFilter" su "&HFF00FF00" e "RightAnaglyphFilter" su " "&HFFFF0000"” [dovrebbero funzionare anche altre combinazioni di colori, manca solo un colore componente] per disabilitare la tinta in modalità Scopri anaglifo). Gli utenti Radeon e GeForce dovrebbero essere in grado di utilizzare il software TriDef 3D. Ci sono giochi come GZ3Doom (ViveDoom) che supportano nativamente il 3D e possono essere giocati senza alcun software speciale.
EDIT: ho avuto problemi con la disabilitazione della tinta 3D Vision Discover nella versione più recente dei driver NVIDIA. Questo mi ha portato alla scoperta di SuperDepth3D, uno shader di post-elaborazione ReShade. Questo software è compatibile con almeno 20+ giochi e funziona con GPU di diversi produttori.
EDIT 2: ho trovato la soluzione al problema di non essere in grado di disabilitare la tinta 3D Vision Discover nei driver NVIDIA più recenti. È necessario, come sempre, modificare "StereoAnaglyphType" in "0" in "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\" e quindi bloccare la chiave di registro. Per aprire l'editor del registro, premere WIN+R, quindi digitare regedit e premere INVIO. Per bloccare una chiave sarà necessario fare clic con il tasto destro su di essa, selezionare Permessi, Avanzate, Disabilita eredità, confermare la disabilitazione dell'ereditarietà, tornare alla finestra Permessi e infine spuntare le caselle Nega per tutti gli utenti e i gruppi che possono essere spuntati e confermarlo con un fare clic sul pulsante OK. Si noti che potrebbe essere necessario modificare anche i valori di "LeftAnaglyphFilter" "RightAnaglyphFilter". Se desideri apportare modifiche, devi sbloccare la chiave di registro deselezionando le caselle di rifiuto o abilitando l'ereditarietà.
Se hai problemi con l'abilitazione di 3D Vision in primo luogo, poiché la procedura guidata di installazione nel pannello di controllo NVIDIA si blocca, devi cambiare "StereoVisionConfirmed" su "1" in "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\”. Ciò abiliterà 3D Vision in modalità Discover (che ti consentirà di utilizzare mod/fix basati su 3DMigoto, che ti consentono di inviare SBS/TB 3D a qualsiasi display dopo aver decommentato "run = CustomShader3DVision2SBS" nella configurazione mod/fix "d3dx.ini" file).
Si noti che nella posizione della chiave di Windows a 32 bit è "HKLM\SOFTWARE\NVIDIA Corporation\Global\Stereo3D\". Inoltre HKLM potrebbe essere sostituito da HKEY_LOCAL_MACHINE.
EDIT 3: NVIDIA rimuoverà il supporto per 3D Vision ad aprile 2019 (si parla della versione 418 come driver più recente che lo supporti, ma 3D Vision è ancora supportato almeno in 425.31).
Passaggio 7: panoramica del design
Il segnale VGA ha 3 colori componenti: rosso, verde e blu. Ciascuno di essi viene inviato tramite un filo separato, con intensità del componente codificata a colori in un livello di tensione che può variare tra 0V e 0,7V. AODMoST disegna rettangoli (overlay) sostituendo il segnale di colore generato dalla scheda video con il livello di tensione fornito dai transistor Q1-Q3 in configurazione emettitore follower, che convertono l'impedenza di tensione su un resistore 2k7 - partitore di tensione trimpot 1k. La commutazione dei segnali viene eseguita dal multiplexer/demultiplexer analogico HEF4053B, alimentato da alimentazione 12V - 15V DC. La resistenza attraverso HEF4053B è collegata alla sua tensione di alimentazione (tensione più alta – resistenza più bassa). Se si utilizzasse una tensione di alimentazione inferiore, la scheda video non sarebbe in grado di rilevare il display.
Il resto di AODMoST è alimentato da 5 V CC forniti dal regolatore di tensione 7805. Il livello del segnale dal microcontrollore che controlla la commutazione di HEF4053B viene convertito dal MOSFET BS170 veloce.
Gli impulsi di sincronizzazione orizzontale e verticale variano nel livello di tensione tra 0V e 5V e i fili che li trasportano sono collegati direttamente ai pin di interrupt ATmegas configurati come ingressi ad alta impedenza.
Per qualche ragione i microcontrollori ATmega328P-PU che avevo (hanno numeri diversi sopra di essi), hanno tutti problemi con i resistori di pull-up interni, quindi ho usato pull-up esterni da 10k. L'unica ragione logica per questo comportamento che ho trovato, è che le leggi fondamentali della natura cambiano con l'espansione dell'universo e questo rende i circuiti integrati malfunzionanti (probabilmente era uno scherzo).
Il dispositivo consuma circa 50 mA.