misurare un angolo

ho la necessita di misurare della rotazione di un asse avevo pensato di utilizzare di utilizzare un Encoder incremnetale come questo
http://www.miniinthebox.com/it/360-modulo-encoder-rotante-per-arduino_p2462250.html
ma non credo possa essere molto preciso io avrei bisogno di misurare i decimi di grado cioè 300,1° di gradi
Avevo trovato anche questo su ebay ma non riesco a trovare le sua precisione
http://www.ebay.it/itm/600P-R-Fotoelettrico-Rotativo-Encoder-Incrementale-5-24V-AB-Due-Fasi-Shaft-6mm-/231528351739?hash=item35e82a47fb:g:6uQAAOSwrklVJ6HD
posso anche cambiare componenti tanto ancora non ne ho acquistati come arduino ne ho svariati uno mega due ecc

qualche tutorial che ho letto
http://www.officinerobotiche.it/tutorial/encoder/

Giggir:
io avrei bisogno di misurare i decimi di grado cioè 300,1° di gradi

Per misurare il decimo di grado ti serve un encoder che offre 3600 impulsi per rotazione, se è un encoder a due canali è possibile decodificarlo in quadratura e si ottiene il quadruplo della risoluzione nativa, ovvero per 3600 impulsi basta un encoder da almeno 900 cpr.
La soluzione più economica possibile è questo, ha la risoluzione programmabile tramite dei dip switch e arriva fino a 2048 cpr, pari a 8192 impulsi per rivoluzione se decodificato in quadratura, inoltre grazie al doppio canale puoi anche sapere il verso di rotazione.
Attenzione che Arduino, programmato tramite wiring, non è in grado di gestire encoder ad alta risoluzione se l'asse gira velocemente, nel tuo caso, con risoluzione settata a 1024 ppr, non più qualche decina di rpm.

Quell'encoder fornisce 600 impulsi per giro, cioè una risoluzione di 360 / 600 = 0.6°.

Anche usando la tecnica del x2 o x4 non riesci ad arrivare ad apprezzare 0.1°.

Devi passare ad encoder con un numero di impulsi di almeno 1000 per giro:

http://it.rs-online.com/web/c/passivi/encoder-rotativi/encoder-meccanici-rotativi/?sra=p&r=t#esid=4294247555&applied-dimensions=4294051580

Comunque stai attento che con tutti questi encoder leggi solo l'angolo relativo e non quello assoluto. Se vuoi misurare l'angolo assoluto devi prenderne uno che ha anche il segnale di home o indice. oppure aggiungere un sensore di indice.

Ciao Uwe

L'asse che gira i realtà viene girato a mano quindi come rpm non si arriva neache a una decina avevo pensato di usare l'ecoder quello da 600 dato che è facile da trovare e installare però se inserisco un paio di ingranaggi con un rapporto ache 1 a 4 tanto la sensibilità diciamo vanni bene anche i 0.5 0.25 di sensibilità
Poi a quanto ho capito che si usano questi ecoder diciamo ad ogni impulso corrisponde un "passo" e quindi nel mio caso 600 passi sarebbero un giro??
Quindi al livello di programmazione sarebbe molto semplice un contatore ecc

Stai attento, se usi un ingranaggio devi costruirti uno senza gioco!
Ciao Uwe

Invece dal punto di vista del programma è giusta??

Quindi al livello di programmazione sarebbe molto semplice un contatore ecc

Non proprio semplice, diciamo non troppo difficile.

Per non perdere gli impulsi, devi usare l'external interrupt che sulla UNO corrispondono ai pin 3 e 4:

http://playground.arduino.cc/Main/RotaryEncoders

cyberhs:
Non proprio semplice, diciamo non troppo difficile.

Per non perdere gli impulsi, devi usare l'external interrupt che sulla UNO corrispondono ai pin 3 e 4:

non 2 e 3?

uwefed:
Stai attento, se usi un ingranaggio devi costruirti uno senza gioco!

Più che ingranaggi, quasi impossibile eliminare il gioco meccanico senza usare soluzioni complesse e costose, cinghia dentata GT2 e pulegge.