joystick poco precisi

Ciao a tutti

ho la necessita’ di comandare due passo passo con un joystick, ma la precisione mi pare impossibile.
Ho testato col software l’asse x ed y, e i valori che ottengo non corrispondono per nulla ad un comportamento lineare.
D’accordo, si tratta del solito deek-robot da tre euro, pero’ a ben pensarci mi sa che il modo intrinseco con cui un joystick funziona non consente di avere valori precisi (girando al max di 90 gradi per asse non completa l’escursione dei potenziometri).
Ho testato il tutto con un programmino che stampa i valori letti su seriale e che con un potenziometro normale da 10k lineare fornisce una escursione sufficientemente lineare sui 1024 possibili valori.
Lo stesso software col joystick invece fornisce quei valori molto in prossimita’ del centro, riducendo la sensibilita’ dello spostamento in modo da renderlo quasi inutilizzabile.

Domanda:
visto che nessuno si lamenta di questo problema, sono io che sto saltando qualcosa?
Esiste un modo (hw o sw) per correggere questo problema?

grazie mille

p.s.
i collegamenti sono ok, gli stessi che funzionano col potenziometro. Inoltre mi pare che anche con un tester ottengo piu’ o meno lo stesso problema

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

Non ho mai controllato, ma penso che il joystick, proprio per la limitata escursione dei potenziometri, monti il tipo logaritmico e non quello lineare.

Usa un tester disposto per misurare le resistenza per provare quello che dico.

I joystick analogici "seri" montano potenziometri appositamente costruiti, con la traccia resistiva lineare, ma limitata all'escursione della leva del potenziometro (in pratica, la traccia resistiva, invece di essere un semicerchio che copre 120 gradi circa, e' limitata a una novantina di gradi, in modo da avere tutta la variazione all'interno del movimento della leva) ... poi le versioni "cinesata" non lo so, magari hanno usato potenziometri standard e di sicuro in quel modo non vanno bene ...

di che tipo sono ? ... tipo questi ad esempio http://www.ebay.com/itm/9Pin-JoyStick-Breakout-Module-Shield-PS2-Joystick-Game-Controller-AL-/311154087328?pt=LH_DefaultDomain_0&hash=item48723a95a0 ? ... hai un link ?

Comunque se hai un tester e' facile controllare, dagli 5V ai capi e misura la tensione dai cursori, se muovendoli cambia fra 5V (o quasi) e 0 (o quasi), allora non e' il joystick il problema ...

Per prima cosa grazie a tutti. Grazie per i link, in questo caso confermano che l'assemblaggio e' teoricamente corretto. il modello e' questo: Joystick piu' o meno lo stesso postato da Etemenanki. Il tester in effetti rivela tra 0 e quasi 5 volt, e questo conferma che i valori riportati da arduino sono corretti: 0-1023 Il problema e' che l'escursione e' di circa 90 gradi (a occhio): al centro (poniamo 45 gradi) rileva effettivamente circa 2.5 volt. Spostando la levetta il valore scende verso 0 molto rapidamente, diciamo nei primi 15 gradi di spostamento, poi resta a 0 per altri 30 gradi. Stessa cosa verso il positivo. E stessa cosa sull'altro asse. Pero' il fatto che al centro ci siano 2.5v mi fa pensare che non sia logaritmico, o sbaglio? (scusate le mie limitate conoscenze di elettronica) Resto molto perplesso. A proposito, "I joystick analogici "seri" montano potenziometri appositamente costruiti" dove li trovo senza spendere una fortuna?

Dimenticavo gli ohm. E' molto strano, la misurazione fornisce un valore di circa 3.7k in posizione centrale, che scende rapidamente a 0 da un lato e rapidamente a 4.7 dall'altra. Sempre nell'arco dei soliti 15 gradi a dx e sx. Poi non cambia piu'. Eppure io vedo che il movimento c'e', si vedono i potenziometri che si muovono quando sposto la levetta, non mi pare un problema meccanico.

Non comprendo: prima dici che l'escursione è di 90° (+/- 45°), ma ora dici che è 30° (+/- 15°).

Comunque, dalla resistenza rilevata sembrerebbe sia lineare, anche se con escursione limitata.

Misura gli ohm tra i due estremi in modo da sapere il valore del potenziometro (sospetto sia un 10k) o magari prova a leggere il valore stampigliato su di esso.

No, se si comporta cosi e' un potenziometro lineare a traccia ridotta, di quelli apposta per i joystick, solo che e' uno di quelli da usare per joystick con meno corsa, probabilmente chi li ha costruiti o pensava di usarli su joystick con corsa minore, o ha usato quelli che aveva a stock pensando che tanto per i videogiochi nessuno usa tutta la corsa del joystick (sembrano quelli da trackpad delle play, a prima vista, ed in quel caso i valori sono abbastanza corretti, perche' in genere montano dei lineari da 4K7 a traccia ridotta con un'angolo di circa 45 / 50 gradi)

Quelli piu "professionali" partono dai 25 o 30 Euro l'uno dei tipi industriali ... piu economici non ne ho ancora trovati ... pero' c'e' una possibilita', trovare qualche vecchio joystick analogico per PC (di quelli per i primi videogiochi), che montavano dei 10K lineari a traccia ridotta abbastanza "congrui" con il movimento delle leve (la leva faceva circa 70 gradi, e lo stesso la traccia) ...

Prova a vedere se è questo:

In effetti l'escursione della leva e' di circa 90°, +/-45. In ciascuna direzione la parte utile e' di circa 15°, mentre per i restanti 30° e' inutile perche' arriva gia' a fondo scala. Siccome non riesco a misurare i gradi se non a occhio, penso che sia corretta l'interpretazione di Etemenanki.

In un certo senso e' una buona notizia perche' significa che non tutti i joystick si comportano in questo modo, devo solo trovarne uno piu' serio... 20 euro sono un bel po', pero' i prezzi minori che trovo io per quelli industriali sono sempre sopra i 100. Avete qualche idea?

cyberhs, piu' o meno sembra lo stesso tipo, avevo postato un link a quello che ho comprato. La scritta riporta B103 388 (cosi' mi pare) ma non e' di grande aiuto La resistenza tra i due estremi e' 4.7k, la stessa che fornisce alla massima escursione

Quelli "industriali certificati a norme antitutto" ti pelano un polmone e mezzo :P ... ma per uso hobbystico / amatoriale / prototipo, anche roba piu semplice va bene ... solo come esempi, questo e' un 2 assi http://www.ebay.com/itm/New-1x-Joystick-Potentiometer-JH-D202X-R2-R4-5K-10K-2-axis-Sealed-PTZ-Thermistor-/251936343110?pt=LH_DefaultDomain_0&hash=item3aa8938446 ... questo invece e' un 3 assi con pulsante (non 4 assi come c'e' scritto erroneamente nel titolo, il terzo asse e' la rotazione della leva) http://www.ebay.com/itm/1pc-4-axis-Joystick-Potentiometer-JH-D400X-R2-R4-5K-10K-4D-with-Button-Joystick-/261867821966?pt=LH_DefaultDomain_0&hash=item3cf889db8e ... ma ce ne sono anche di modelli diversi, pero' siamo sempre su quei prezzi o anche un po di piu, fino ai 40 Euro ...

Nota che comunque tutti i joystick hanno un minimo di "dead end" ... cioe', piu o meno, tutti quanti hanno una parte di "fondo corsa" senza variazioni ... solo, non meta della corsa utile :P

Hey per 16 euro e' bellissimo! Dovro' aspettare un mese e passa ma poi spero che risolva i problemi. Per ora sopportero' il mio per i test Grazie mille

Confermo che i joystick di cui parla paolocollector sono molto simili a quelli utilizzati nei joypad delle console attuali. Non so se sono identici perché non ho fatto mai un confronto.

Anche io ho notato il problema della scarsa escursione utile.

Magari è possibile prendere in considerazione quelli montati sui joypad, da smontare quindi, ma non so se effettivamente hanno una escursione decente oppure interviene il microcontrollore che è montato nel joypad stesso o addirittura vengano usati come se fossero interruttori.