Questo progetto utilizza un economico encoder incrementale per immettere dati numerici su un sistema a microcontrollore, un’alternativa molto compatta ed economica rispetto ai tastierini. Dopo una breve introduzione sul principio di funzionamento degli encoder assoluti e incrementali e loro caratteristiche, ci si sofferma sull’economico encoder elettromeccanico e il suo uso, non tanto come sensore angolare, ma come mezzo d’immissione di dati. Nel programma d’esempio è anche usato il comodo pulsante incorporato per rendere ancora più veloce l’immissione di numerose cifre.
Introduzione
Dopo aver illustrato i risultati di alcune prove di laboratorio, si passano in rassegna le varie tecniche hardware/software per l’eliminazione dei disturbi creati dal rimbalzo dei contatti e si studia lo schema di un efficace circuito anti-rimbalzo. Come possibile esempio di impostazione numerica, è presentato un programma con Arduino Uno che fa uso di due interrupt. Le applicazioni di questo sensore sono molteplici, esempi sono alimentatori con controllo digitale, generatori di segnali, radio, orologi, etc. Mi ricordo che già una ventina d’anni fa usavo un ottimo generatore di funzioni HP che aveva un encoder per impostare la frequenza. Molti apparati Hi-fi, radio e TV, oscilloscopi, sono ormai dotati di encoder per selezionare la frequenza o per variare il volume o altri parametri.
Gli Encoder Rotativi
Gli encoder sono dei dispositivi digitali in grado di fornire informazioni sulla posizione o sulla velocità angolare o lineare. Data la loro natura digitale e la grande precisione, essi trovano larga applicazione nelle macchine a controllo numerico e in tutti i casi in cui occorra misurare spostamenti con grande precisione.
Gli encoder possono essere di due tipi:
- Encoder assoluti.
- Encoder incrementali.
Gli encoder assoluti danno in uscita un numero binario corrispondente alla posizione assoluta dell'asse (nel caso di encoder angolari) o dell'asta per quelli lineari.
La parte più importante dell'encoder angolare ottico è un disco realizzato con materiali a bassa dilatazione termica ed elevata precisione meccanica. In genere è realizzato in metallo o in vetro mediante tecniche di fotoincisione. Esso è suddiviso in un numero di corone che dipende dalla risoluzione angolare desiderata, in figura 1a è mostrato il disco di un encoder assoluto a 10 bit. Si divide il disco in tante zone concentriche quanti sono i bit di cui è composto il numero, alternando le zone opache a quelle trasparenti secondo un particolare codice binario, chiamato codice Gray. Questo particolare codice, passando da un numero a quello attiguo, permette la variazione di un solo bit alla volta, evitando possibili errori nella digitalizzazione della posizione. Con il codice binario naturale si ha un cambiamento di tutti i bit quando il prossimo numero è una potenza di due, così come avviene nel nostro codice decimale in corrispondenza di una potenza di 10.
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2840 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Un conubio perfetto di teoria e pratica con tanto di codice. Complimenti per l’interessante articolo.
Complimenti, interessante ed istruttivo.
Finalmente in questi giorni mi sono arrivati due piccoli encoder che vorrei utilizzare per controllare il movimento di un piccolo robot.
Penso che il suo articolo mi aiuterà moltissimo.
Grazie.
Utilissimo!
Grazie mille
Non riesco a risalire all’encoder utilizzato, nella lista componenti non c’è.
puoi utilizzare un classico encoder che trovi su RS per esempio digitando “encoder meccanici rotativi”, tenendo a riferimento tensione e corrente. Tipo EC11E1544505.
Il tipo di encoder è stato descritto ampiamente nell’articolo ed è facilmente reperibile. Io ho usato quello di Futura Elettronica, (Codice Prodotto: 7719-ENCODER12MM), su eBay ne trovi anche montati su piccoli moduli che incorporano i resistori di pull-up da 10k ma non il circuito antirimbalzo e si adattano molto facilmente al mio circuito. In questo caso non montare R1, R2 e R5.