ADC con porta "giochi"

Volevo realizzare un semplice ADC. Girando per la rete, ho trovato diversi progetti riguardanti la "porta giochi" del PC, altrimenti detta "porta MIDI", ad esempio

formatting link
.

Ho realizzato un circuitino, utilizzando solo la linea js1X con un trimmer da 100 k collegato come nel disegno, e le altre 3 linee con una resistenza fissa da 100k. Non funziona! Il sistema (windows XP) non rileva alcun joystick collegato, e quindi non riesco nemmeno a calibrare e ad utilizzarlo in qualsiasi programma.

Quello che mi lascia perplesso =E8 il circuito proposto: il testo dice che si tratta di un comparatore di tensione, e quindi -a rigor di logica- mi verrebbe da collegare l'altro capo del trimmer al GND, in modo da fare un partitore. Misurando la tensione che cade sulle RX e RY ho sempre 5 volt, a prescindere dal valore del trimmer.

Suggerimenti? Qualcuno ha gi=E0 realizzato qualcosa di simile?

Grazie mille :) Massimo

Reply to
Max
Loading thread data ...

Max ha scritto:

Prova a forzare l'installazione dal pannello di controllo/periferiche di gioco. Clicca su Aggiungi e inserisci un normale Joy a 2 assi e 4 pulsanti.

Questo non capisco perche' e non so aiutarti!

Diverse volte, in varie occasioni e mai avuto problemi; lo schema e' giusto... potenziometri in serie fra + 5 Volt e pin 3 (asse x) e pin 6 (asse y) e pulsanti n.o. che chiudono a massa.

ciao Angelo

Reply to
marcoangelo

Fino a qui riesco senza problemi, ma lo stato della periferica mi rimane come "Non connessa" e non posso far altro...!

Prover=F2 portando a valori prossimi allo 0 il mio trimmer: voglio vedere cosa ne sar=E0 dei suoi testardi 5 volt, sperando di non bruciare la porta.

.=2E grazie per la rapidissima risposta!

Reply to
Max

Uh?

Ma perché vorresti vedere che cambino i 5V? La porta giochi usa una rete RC per misurare la resistenza connessa all'ingresso...

Marco / iw2nzm

Reply to
Marco Trapanese

E quindi???

La resistenza R limita la carica del condensatore C che impieghera' un tempo minore o maggiore a raggiungere il livello di scatto del trigger del contatore. Se la tensione rimane costante, il condensatore si carica sempre nel medesimo tempo ed il computer dice che il joystick e' rimasto fermo! Dove sbaglio? (se sbaglio!)

ciao Angelo

Reply to
marcoangelo

Oggi ho riprovato, non c'=E8 verso in nessun modo.

Da notare che ho utilizzato il cavo+connetore di un joystick dal quale l'ho tagliato, verificando la corrispondenza colore-pin. La cosa che non capisco =E8 che questo joy (volante con pedaliera) ha, riferito allo schema che ho postato nel primo messaggio, Js1Y, Js2X e Js2Y mentre il cavetto per l'asse X del primo joy non esiste. Non =E8 che il PC si basa su quello per dire se =E8 collegato o no? Ma, contro ci=F2, c'=E8 da dire che il joy cannibalizzato funzionava alla perfezione fino all'ultima prova, il giorno prima.

Potrebbe esserci qualche circuitino annegato nel connettore pressofuso, che sballa le mie misure? In questo caso, sapete indicarmi dovrei potrei acquistare dei connettori DB-15? Nell'unico negozio della mia citt=E0 che ha materiale elettronico non sanno nemmeno cos'=E8... :(

Max

Reply to
Max

Probabimente sbaglio io! Quello che volevo dire è che non so se effettivamente si veda la variazione da 0 a 5V sul pin di ingresso utilizzando un multimetro. Non so quanto sia il duty-cycle del multivibratore che misura la resistenza e se viene usato in multiplex con tutti gli ingressi analogici.

Ciao! Marco / iw2nzm

Reply to
Marco Trapanese

On May 19, 1:42 pm, marcoangelo wrote:

Il circuito di ingresso =E8 quello di un normale 555, solo che nei pc si usa la versione quadrupla, ovvero NE558. La resistenza del joystick, tra +5V e pin di ingresso, carica un condensatore, la cpu misura il tempo che il condensatore impiega a caricarsi. Il condensatore =E8 da 10nF, la resistenza al massimo da 100K, quindi il tempo massimo che il condensatore impiega a caricarsi (al valore di soglia) =E8 di 1mS. Normalmente il condensatore =E8 tenuto ben scarico dall'NE558, ogni tick (circa 16mS) l'NE558 riceve un trig, e lascia caricare il condensatore. La cpu, che ha dato il trig, aspetta che il condensatore sia carico e intanto misura il tempo. Sul pin di ingresso quindi, con un oscilloscopio, si possono vedere degli impulsi distanziati di circa 16mS, costituiti da una rampa in salita di 0...1mS e da una rapida discesa una volta raggiunto il valore di soglia. La tensione sul pin di ingresso misurata con un tester analogico (ad alta impedenza) potr=E0 variare tra 0 e qualche centinaio di mV. Ovviamente tensione pi=F9 alta con resistenza pi=F9 alta(!), perch=E9 con resistenza pi=F9 alta il condensatore impiega di pi=F9 a caricarsi e quindi "riempie" di pi=F9 l'intervallo tra due impulsi, alzando il valore medio. Aggiungo che nei pc dopo i primi tre o quattro ibm originali, l'NE558 =E8 stato sostituito da un chip dedicato che ha sollevato la cpu dalla attesa (improduttiva e a interrupt disabilitati!) della carica del condensatore. Ma per compatibilit=E0 la interfaccia con l'esterno =E8 stata rigorosamente mantenuta. Il tempo misurato =E8 linearmente legato al valore della resistenza esterna, a meno di un piccolo offset dovuto ad una resistenza di protezione dell'ingresso, solitamente da 2.2K.

Ciao.

lucky

Reply to
lucky

Oops! Non sono circa 16mS; sono circa 55mS. Il calcolo esatto =E8 65'536/1'193'180, ovvero 54.92549.... mS.

Ciao.

lucky

Reply to
lucky

Max ha scritto:

Prova a guardare queste due pagine, in particolare la seconda:

formatting link
formatting link

Il fatto che XP non veda la periferica che si aspetterebbe è normale, anzi per i tuoi scopi è persino desiderabile.

Poi avrai un'altro problema. XP (e tutti gli OS win della famiglia NT) ti impediscono l'accesso diretto alle porte che deve essere fatto per tramite di un device driver. Anni fa ho provato TVicPort con Delphi per applicazioni del genere e va benone, trattandosi di una dll puoi utilizzarla sostanzialmente tramite qualsiasi linguaggio di tuo gradimento. URL della versione free per uso non commerciale:

formatting link

--
For a list of all the ways technology has failed to improve the quality 
of life, please press three.
 Click to see the full signature
Reply to
Iax

Quindi devo usare una piedinatura del connettore diversa, quella che =E8 l=EC segnata come "a 16 pin" ?

om/dev/port/index.shtm

Questo l'avevo gi=E0 risolto: utilizzavo il Mabry JoyStk da visual basic, infatti l'applicazione che ho realizzato funzionava perfettamente, prima di tagliare il cavo al joystick cavia :)

Grazie mille per l'aiuto!

Massimo

Reply to
Max

Non ho seguito il thread, sono millisiemens o millisecondi?

--
Franco

Wovon man nicht sprechen kann, darüber muß man schweigen.
 Click to see the full signature
Reply to
Franco

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.