Utilizzare un encoder incrementale con pic

Un encoder incrementale è un sensore di posizione,che può essere meccanico o ottico e ad ogni rotazione restituisce in uscita dei valori di tensione interpretabili con il codice Gray. La classica rotella delle autoradio per esempio.

binario   00-01-10-11

Gray      00-01-11-10

Il codice Gray differenzia di un solo bit da un passaggio all’altro e questo consente di riscontrare eventuali errori. Il passaggio da una sequenza all’altra comporta la commutazione di un unico circuito nel caso degli encoder incrementali meccanici,eliminando ogni possibile errore dovuto a codifiche binarieintermedieUtilizzare un encoder incrementale con un microcontrollore necessita di una lettura dei cambiamenti di stato logico da alto a basso in interrupt, perchè i cambiamenti sono molto veloci.Occorre abilitare gli interrupt esterni del uC su PORTB (consultare datasheet) , e collegarci le uscite dell’encoder.

encoder foto encoder diagrammaschema encoder

 

Le immagine sono state tratte dal web, il condensatore nello schema serve come antiribalzo è sostituibile via software ,i contatti E-D sono del pulsante presente alla pressione dell’albero,ma non tutti gli encoder ne dispongono. In allegato un esempio di codice in C per leggere la rotazione dell’encoder e capire se si va a destra o sinistra.

 

codice encoder

Informazioni su giacomo garagnani

alunno 5aes 2014
Aggiungi ai preferiti : Permalink.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *