ENCODER CONTROLLER
L'encoder controller e' stato pensato per poter leggere encoder incrementali a basso costo e facilmente reperibili anche nei mercatini di materiale usato. Le funzioni principali di questa scheda sono:
Massimo numero passi leggibile 65536 in X1 oppure 16384 in X4
Lettura dei passi con quadratura X4 o semplice X1 a seconda del tipo di encoder utilizzato
Autocalibrazione su 90° , 180° e 360°
Memorizzazione dell'ultima posizione dell' encoder
Alimentazione scheda 12V, possibilità di selezionare l'alimentazione dell'encoder 12V o 5V
Usando encoder incrementali, quando si toglie tensione al circuito, si perde la posizione dell'antenna per cui occorre rifare il set del sistema ad ogni riaccensione portando l'antenna in una posizione nota per poi azzerare i contatori tramite i jumper n.4. Nulla vieta di collegare questi jumper a dei finecorsa od altro modo di azzeramento. Per evitare questa operazione, e' possibile mantenere sempre l'alimentazione ai controller mediante batterie tampone, oppure memorizzare l'ultima posizione tramite il jumper n.5. Quest' ultima operazione però ha un limite... Se durante il periodo di schede spente l'antenna per qualsiasi motivo viene spostata, la posizione indicata alla riaccensione del sistema sarà ovviamente errata rendendo indispensabile un riallineamento.
PROCEDURA DI CALIBRAZIONE
E' necessario calibrare il sistema per fare in modo che il controller legga l'esatto numero di passi in una escursione di 360°. Come si legge nelle caratteristiche, è possibile collegare alla scheda encoder incrementali di N passi fino ad un massimo di 16384 in funzione X4 attiva o 65536 in X1. Esempio di calibrazione su 360° con encoder da 1000 passi. Il controller deve essere montato sulla scheda madre.
A scheda spenta, chiudere con un ponticello i jumper 4 e 5. Accendere il sistema e togliere i ponticelli contemporaneamente. Il display visualizzerà un numero qualsiasi (anche 0.00°). Cortocircuitare il jumper n.4 per azzerare il contatore. Ora sul display si legge AZ 0.00° (oppure EL 0.00°). Girare l'antenna in senso orario (CW = clockwise) per tutti i 360° di escursione. Nota... la posizione di zero non è vincolante cioe' ognuno puo' scegliere il proprio punto di partenza a seconda delle proprie esigenze e necessità. Il display comunque visualizzerà la posizione del''antenna relativamente al punto di partenza che avete scelto. Durante questa fase sul display apparirà il numero degli impulsi conteggiati dal controller da 0 a N a seconda dei passi dell'encoder (per 1000 passi appare 21,96 circa). Se il conteggio dovesse partire a rovescio occorre invertire i fili A e B del connettore n.3. Arrivati a 360° con l'antenna, cortocircuitare il jumper n.5 per memorizzare il conteggio. Spegnere e riaccendere. Operazione terminata.
Per l'elevazione occorre usare la funzione di calibrazione su 90°. L'operazione e' la stessa descritta in precedenza solo che occorre chudere il solo jumper n.4 prima dell'accensione.
La calibrazione su 180° e' stata prevista per quei sistemi che hanno una escursione inferiore ai 360°. Per calibrare in questo modo basta chudere il jumper n.5 prima dell'accensione.
I dati vengono salvati nella eeprom presente internamente al MCU pertanto rimarranno in memoria fino ad una successiva calibrazione per , ad esempio, la sostituzione di un encoder.
![]() |
Sulla scheda sono visibili diversi jumper e connettori: 1) Alimentazione 12V 18mA senza encoder 2) selettore tensione alimentazione encoder A-B 12V B-C 5V 3) Ingresso segnali encoder 4) Azzeramento (vedi procedura di calibrazione) 5) Memoria (vedi procedura di calibrazione) 6) selezione X4 - X1 (vedi nota1) 7) connettore riservato alla programmazione del MCU (nota2) 8) Pettine di connessione con la scheda madre Nota 1 : In questo circuito non e' presente fisicamente il jumper di selezione X1-X4 poichè è una funzione aggiunta in seguito alla realizzazione di questo circuito. Per ottenere la lettura X1 in questo caso occorre mettere verso massa il pin 13 del MCU. Nella prossima release del pcb verra' inserito anche questo jumper. Nota 2 : Il connettore di programmazione serve solo per la prima programmazione del MCU. Non e' usato per le normali funzioni della scheda. Per evitare danni al circuito elettronico è necessario non usare per nessun motivo questo connettore. |
Cos'è un ENCODER
L'Encoder è un apparato elettromeccanico che converte la posizione angolare
del suo asse rotante in un segnale elettrico digitale. Collegato ad opportuni
circuiti elettronici e con appropriate connessioni meccaniche, l'encoder è in
grado di misurare spostamenti angolari, movimenti rettilinei e circolari nonchè
velocità di rotazione e accelerazioni. Esistono varie tecniche per il
rilevamento del movimento angolare: capacitiva, induttiva, potenziometrica e
fotoelettrica. I trasduttori sugli encoder impiegano tutti il rilevamento
fotoelettrico.
Gli encoder possono essere di due tipi:
Encoder incrementali:
segnalano unicamente gli incrementi (variazioni) rilevabili rispetto a un'altra
posizione assunta come riferimento. Questi incrementi sono indipendenti dal
verso di rotazione il quale, non può essere rilevato da questo tipo di
trasduttori. E' costituito da un disco di materiale plastico, sul quale sono
stati ricavati dei fori o, più comunemente, alcune zone particolarmente
trasparenti attraverso le quali e' possibile il passaggio di un fascio luminoso.
Gli encoder incrementali sono composti da diverse parti:

Il disco viene calettato sull'albero dell'apparecchiatura di cui
si vuole rilevare lo spostamento angolare. Di conseguenza ad ogni spostamento
dell'albero si ha uno spostamento uguale dell'encoder.In corrispondenza dei
fori, su una superficie del disco, viene applicato un dispositivo fotoemettitore,
mentre sull'altra un dispositivo fotorilevatore. L'attraversamento del fascio
luminoso nei fori comporta l'attivazione dell'uscita.
La rilevazione dello spostamento angolare avviene mediante il "conteggio" degli
impulsi generati dal fotorilevatore alla propria uscita.
La rilevazione dello spostamento angolare può essere così descritta:
Quando l'encoder si trova nella posizione di riferimento, il flusso luminoso
attraversa il foro 0. In tal modo viene attivata l'uscita del fotorilevatore la
quale si porta a livello alto, restandovi fino a quando il fascio luminoso viene
interrotto.
Quando l'encoder inizia a ruotare, il fascio luminoso viene interrotto. Il
fotorilevatore, quindi, risulta diseccitato e la sua uscita diventa bassa.
Questa rimane bassa fino a quando il foro 1 viene a trovarsi nella posizione
occupata dal foro 0. Quando questo avviene il fascio luminoso attraversa il foro
1 eccitando nuovamente il fotorilevatore la cui uscita ridiventa alta. Di
conseguenza risulta noto lo spostamento angolare 1 ( =360°/(numero di fori dell'encoder))
questo spostamento coincide con quello dell'encoder.

Proseguendo nella rotazione il disco interrompe nuovamente il
fascio luminoso diseccitando il fotorilevatore la cui uscita ritorna bassa.
Il processo descritto si ripete in modo perfettamente uguale consentendo la
rivelazione degli spostamenti angolari.
Il dispositivo digitale che rileva il numero di impulsi è un contatore il cui
ingresso di conteggio risulta attivo sul fronte di salita. Di conseguenza si può
concludere che il numero degli impulsi contati è direttamente proporzionale allo
spostamento angolare dell’encoder, vale a dire allo spostamento angolare
dell’organo a cui è calettato.
La sorgente di luce Led all'arseniuro di gallio utilizzata sugli encoder
assicura una vita di 100.000 ore e sono dotati di un apposito circuito interno
che compensa l'invecchiamento del led.

L'encoder incrementale è adatto a rilevare rotazioni, velocità
ed accelerazioni in base al conteggio degli impulsi inviati dal circuito in
ouput. Non è capace di orientarsi dopo un black-out, di conseguenza ha bisogno
di portarsi, in vase di avvio, allo zero macchina. Accoppiandolo con una memoria
alimentata da batterie tampone, si riesce ad evitare la perdita di informazioni
in caso di mancanza di alimentazione.
Per poter rilevare il verso di rotazione, l'encoder presenta una seconda
identica pista, ma sfasata di metà passo oppure due gruppi di elementi
fotosensibili sfasati fra loro. Effettuando un controllo dei fronti di salita
degli impulsi in uscita A e B, un sistema logico riesce stabilire il verso di
rotazione del disco.

Parametri degli encoder incrementali:
Risoluzione: la risoluzione è data dalla seguente relazione: = 360°/N dove N è il numero di fori praticati sul disco. La Risoluzione ci da la precisione della rilevazione degli spostamenti angolari.
Linearità: questo parametro assume un valore decisamente elevato.
Range di funzionamento: tra 0 e 360°
Sensibilità: valore dipendente alla risoluzione che come sappiamo rappresenta la minima variazione rilevabile dal trasduttore.
Tempo di risposta: dipende sostanzialmente dal fotorilevatore.
Sezione di un encoder incrementale:

Encoder assoluto:

Le zone in colore nero indicano le areole che producono 0,
mentre quelle di colore bianco indicano quelle che producono 1.
Nel caso dell' encoder assoluto il disco è suddiviso in settori
che andranno a comporre un codice (binario oppure Gray).
Il disco è diviso in n corone circolari e in 2 n spicchi. Ogni settore
(spicchio) avrà n areole che a seconda se opacizzate o trasparenti
corrisponderanno a 1 logico o 0 logico. Ogni areola avrà quindi il valore di un
bit. Il bit meno significativo sarà quello della corona più interna.
Per evitare errori di lettura invece del codice binario puro vengono utilizzati
altri codici, tra i quali il più importante e il codice Gray. Nel codice Gray il
passaggio da un numero al successivo avviene sempre variando un'unica cifra
binaria, evitando così che nel passaggio tra la lettura di un numero e del
successivo possano aversi letture casuali.
In questo caso ci sarà un fotoemettitore e un corrispondente fotorilevatore per
ogni corona circolare del disco.
Il codice Gray è il codice più utilizzato per la decodificazione del segnale;
questo codice presenta la variazione di 1 bit da un numero al suo successivo
assicurando un elevato tasso di sicurezza e affidabilità per quanto riguarda la
generazione e la decodificazione del codice.

L'encoder assoluto ha il vantaggio di dare informazioni che non
vengono perdute in caso di mancanza di alimentazione, ma richiede una
particolare cura nella collimazione dello zero logico con lo zero macchina, è
più costoso di quello incrementalee non è in grado di effettuare delle misure
della velocità.
Gli encoder assoluti monogiro sono realizzati per impieghi industriali e
professionali. Le meccaniche realizzate interamente in metallo offrono una buona
tenuta agli agenti esterni. Gli alberi ed i cuscinetti sono in acciaio inox. Il
numero massimo di divisioni per giro è 16384 pari a 14 bit (a seconda del
modello).

A sinistra: Disco di un encoder incrementale. Da notare le
tacche che caratterizzano l'uscita e la singola tacca il cui scopo è quello di
indicare la posizione di zero dell'albero.
A destra: Disco di un encoder assoluto con una risoluzione di 10 bit (1024
posizioni per giro)
Esistono anche encoder assoluti multigiro che presentano fra un
disco e l'altro un riduttore con rapporto uguale alle divisioni del disco.
Gli encoder per la loro vastissima gamma di modelli, qualità e robustezza, sono
validamente applicati in tutto il mondo su:
controlli di processo industriale, robot industriali, macchine utensili,
strumenti di misura, plotters, divisori, laminatoi, macchine per lamiera,
bilance e bilici, antenne e telescopi, macchine per la lavorazione del vetro,
marmo, cemento, legno, impianti ecologici, macchine tessili, conciarie, gru,
carri ponte, presse, macchine da stampa, imballaggio, ecc.
Esempi di applicazione di encoder:

Un esempio di utilizzo dell'encoder incrementale può essere
quello di una cesoia per tagliare una lamiera in pezzi di una misura
predeterminata.
In questo caso è necessario contare gli impulsi provenienti dall'encoder mosso
dalla lamiera e quindi fermare i motori che muovono la lamiera, al
raggiungimento del valore di conteggio prefissato, valore che permette di
stabilire quanto la lamiera si è spostata.
A questo punto si blocca la lamiera con il premilamiera e con la cesoia si opera
il taglio. In questa fase si può operare il reset del contatore.
Dopo aver sbloccato la lamiera il ciclo può proseguire riattivando i motori per
l'avanzamento della lamiera fino a quando l'encoder fornirà un numero di impulsi
corrispondenti alla lunghezza del pezzo successivo di lamiera da tagliare.
L'encoder assoluto trova applicazione, ad esempio, in abbinamento con
apparecchiature di controllo per sostituire le camme meccaniche e gli
interruttori di prossimità.
Queste apparecchiature trovano applicazione in quelle macchine dove le funzioni
di controllo devono essere eseguite in relazione alla posizione dell'albero
della macchina. L'utilizzo di queste apparecchiature consente operazioni più
precise, maggiore flessibilità di utilizzo e capacità di controllo superiori;
inoltre l'affidabilità risulta elevata in quanto sono praticamente assenti le
parti in movimento.
Le camme elettronico permettono di migliorare in modo considerevole la
flessibilità della macchina, abbreviando i tempi per la messa a punto degli
impianti automatici.
Gli elementi principali del sistema sono:
L'encoder assoluto calettato all'albero della macchina
Il controllore che legge in continuazione la posizione dell'albero, attivando e disattivando gli attuatori.