Encoder rotativo assoluto

Un encoder rotativo è un dispositivo elettromeccanico utilizzato per monitorare oggetti rotanti come alberi e assi. Gli encoder rotativi possono essere utilizzati per misurare la posizione, la distanza e la velocità angolare dell'albero rotante.

Esistono due tipi di encoder rotativi: encoder rotativi incrementali ed encoder rotativi assoluti. In questo articolo, vedremo encoder rotativi assoluti, il loro principio di funzionamento e le loro applicazioni.

Che cos'è un encoder rotativo assoluto?

Gli encoder rotativi assoluti appartengono alla famiglia dei encoder rotativi. Sono utilizzati per misurare i seguenti parametri di oggetti rotanti come alberi o assi:

  • Velocità angolare
  • Informazioni sulla posizione
  • Distanza

Gli encoder rotativi assoluti si trovano in applicazioni in cui è richiesta la misurazione precisa della posizione e dello spostamento angolare. Questi sensori trovano anche le loro applicazioni in sistemi in cui dovrebbe essere misurata la velocità di rotazione.

Questi sensori emettono una parola univoca (una parola è a insieme di bit) secondo il posizione attuale del sensore.

Questo è diverso dagli encoder rotativi incrementali poiché gli encoder incrementali sono progettati per emettere a flusso continuo di impulsi ubiquitari mentre gli encoder assoluti emettono a insieme univoco di bit per ogni posizione del sensore.

Questo ci permette di misurare il posizione esatta (assoluta) dell'albero invece di calcolare il cambio di posizione.

Diamo uno sguardo approfondito a come funzionano gli encoder rotativi assoluti.

Principio di funzionamento dell'encoder rotativo assoluto

Gli encoder rotativi assoluti, se confrontati con gli encoder rotativi incrementali, sono alquanto complessi nel funzionamento, ma semplici da usare in un'applicazione. 

Analogamente agli encoder rotativi incrementali, anche gli encoder assoluti hanno un albero rotante collegato al sensore. L'albero è collegato a un disco con una serie di fessure accuratamente posizionate. Questa ruota è anche conosciuta come "codice ruota".

La ruota del codice ha un modello di bit univoco. A differenza degli encoder incrementali in cui tutti gli slot sono posizionati in uno schema ripetuto, gli slot del codewheel dell'encoder assoluto sono diversi l'uno dall'altro.

Quando l'albero ruota, anche la ruota del codice ruota insieme ad esso. Ci sono una serie di LED che emettono fasci di luce sulla ruota codificata. Quando i raggi di luce si allineano con le fessure, i raggi passano attraverso la ruota codificata, la fessura fissa e illuminano i fototransistor.

Esistono encoder assoluti magnetici che sostituiscono l'array di LED con un array di rilevamento magnetico e una serie di poli magnetici che sostituiscono i marker ottici.

Ogni fototransistor funziona in modo indipendente e quando è illuminato emette un segnale logico ALTO. Quando non è presente alcun raggio in corrispondenza di un particolare fototransistor, emette la logica LOW.

Il numero di fototransistor e i livelli di slot incisi nel codewheel determina la precisione e la risoluzione dell'encoder rotativo assoluto.

Questo di solito è indicato in bit. Ad esempio, un encoder assoluto con risoluzione a 8 bit può fornire 256 informazioni sulla posizione e può misurare spostamenti angolari con incrementi di 1.41 gradi.

A seconda del tipo di encoder assoluto e della sua costruzione, sono disponibili più configurazioni di uscita:

  • Uscita parallela
    • Questo tipo di sensore ha più linee di uscita che forniscono le informazioni sulla posizione. Ad esempio, un sensore di uscita parallela a 8 bit ha 8 linee di segnale e due cavi di alimentazione. L'uscita può essere codificata in binario or codice grigio formato.
    • I sensori di uscita parallela hanno una quantità minima di circuiti integrati in quanto non comportano molta elaborazione.

 

  • Uscita seriale
    • Gli encoder assoluti con uscita seriale emettono le informazioni sulla posizione e sulla velocità attraverso un protocollo di trasmissione dati sincrono.

  • I sensori di uscita seriale hanno linee dati e di clock e emettono un bit per ogni impulso di clock. Questi sensori sono disponibili anche in formati di output binari o codificati in grigio.
  • Per una maggiore immunità ai disturbi, i sensori di tipo con uscita seriale utilizzano la comunicazione a coppia differenziale come da Standard RS-422. Una coppia per clock e un'altra per le linee dati.
  • I metodi di comunicazione sincrona più diffusi per gli encoder assoluti sono SSI: interfaccia seriale sincrona, BiSS: interfaccia seriale sincrona bidirezionale e Hiperface DSL. Ci sono anche interfacce proprietarie come FineDat2.2.
  • Uscita analogica
    • I sensori di uscita analogica emettono un valore di tensione o corrente a seconda della posizione del sensore.

Vantaggi degli encoder assoluti

Gli encoder assoluti, anche se costano un po' di più, hanno molteplici vantaggi in termini di rilevamento della posizione:

  • Emette la posizione assoluta dell'albero
    • Quando 'interrogati', gli encoder assoluti emettono un'informazione di posizione univoca relativa alla sua posizione corrente. Ciò significa che non esistono due posizioni dell'albero in una rotazione di 360 gradi identiche.
  • Molteplici opzioni di output
    • Gli encoder assoluti hanno più tipi di uscita: parallela, seriale (protocolli standard e proprietari)
  • Immune alle interruzioni di corrente
    • Gli encoder assoluti non soffrono di interruzioni di corrente. Sono sempre pronti a fornire informazioni di posizionamento subito dopo un ciclo di alimentazione.
  • Alta risoluzione
    • Aumentando semplicemente il numero di tracce dell'encoder e unità di rilevamento, gli encoder assoluti possono avere una risoluzione molto più elevata rispetto agli encoder incrementali.

Encoder incrementali e assoluti

La principale differenza tra gli encoder assoluti e incrementali è il loro funzionamento. Gli encoder assoluti possono fornire informazioni sulla posizione anche quando l'albero non ruota.

Gli encoder incrementali possono fornire impulsi solo quando l'albero è in rotazione. È necessario eseguire un conteggio degli impulsi separato per determinare la posizione e la distanza relative. 

Gli encoder incrementali devono avere un marker di "homing" separato per determinare la posizione iniziale/di riferimento dell'albero. Tuttavia, gli encoder assoluti non necessitano di tale aggiunta e possono fornire una posizione immediata per l'home dell'albero.

Questo può essere molto utile nelle applicazioni in cui la rotazione dell'albero per ottenere la posizione di 'home' è indesiderabile.

Gli encoder incrementali richiedono speciali moduli di decodifica ad alta velocità per ottenere le informazioni su velocità, posizione e distanza. Ciò limita l'integrazione con dispositivi elettronici diversi da PLC e microcontrollori. A volte l'overhead di elaborazione può influire negativamente anche sulle prestazioni del sistema. 

I sensori assoluti hanno una risoluzione complessiva maggiore rispetto alle controparti incrementali. La risoluzione degli encoder incrementali è limitata alla dimensione fisica del disco e alla risposta in frequenza del sistema.

Gli encoder assoluti sono sempre pronti a fornire informazioni sulla posizione su richiesta, mentre gli encoder incrementali devono essere costantemente monitorati per ottenere il treno di impulsi e calcolare la velocità, la direzione e la distanza attuali. Per questo motivo, gli encoder assoluti possono riprendersi facilmente da interruzioni di corrente.

Applicazioni per encoder assoluti

Gli encoder assoluti sono utilizzati principalmente in applicazioni di posizionamento ad alta precisione come,

  • Macchine CNC multiasse (assemblaggio e produzione)
  • Bracci robotici (robot chirurgici, diagnostica per immagini)
  • Sistema di posizionamento degli ascensori
  • Applicazioni di stampa
  • Industria automobilistica (sistemi Steer-by-Wire) e molti altri.

Uscita encoder assoluto

Gli encoder assoluti emettono una serie di bit chiamati 'una parola' per ogni posizione dell'albero. Esistono tre tipi di uscite per gli encoder assoluti: parallela, seriale e analogica.

Gli encoder con uscita parallela hanno n numero di fili (n=numero di bit (risoluzione)) che emettono i bit corrispondenti della parola. La figura mostrata di seguito mostra un'uscita encoder assoluto word a 6 bit. La parola di uscita può essere di codice grigio or binario formato.

I codificatori di uscita seriale emettono un flusso di dati quando 'interrogato'. Il sensore ha un circuito di elaborazione del segnale basato su microcontrollore integrato. Esistono sistemi di bus seriali come SSI, BiSS, EnDat, Modbus e Profibus che consentono a un dispositivo supportato di comunicare con il sensore.

I sensori di uscita analogica emettono un segnale di tensione o di corrente a seconda della posizione del sensore.

Tipi di encoder assoluti

Gli encoder assoluti possono essere classificati in base alla tecnologia di rilevamento come ottico ed magnetico. Uso di encoder ottici luce visibile (LED) e una ruota codificata scanalata.

Uso di encoder magnetici poli magnetici e array di rilevamento magnetico per ottenere la posizione corrente del codewheel.

L'altra classificazione si basa sul tipo di output. Esistono encoder assoluti monogiro e multigiro. Gli encoder assoluti a giro singolo possono fornire informazioni di posizionamento solo in un singolo giro di 260 gradi.

Gli encoder multigiro forniscono dati aggiuntivi che forniscono il numero di giri di 360 gradi che l'albero ha ruotato. Questo aiuta a determinare il numero di rotazioni senza dover contare dall'inizio.

Encoder assoluti monogiro e multigiro

A seconda della disponibilità di una apposita funzione per il conteggio dei giri, esistono due tipologie di encoder assoluti: Encoder assoluti monogiro e multigiro.

Gli encoder assoluti a giro singolo possono misurare la posizione entro una rotazione.

Ad esempio, se un encoder assoluto a giro singolo ruota di 360 gradi dalla sua posizione iniziale e raggiunge il 361° grado di rotazione, il sensore avvierà l'uscita dall'inizio. Indicherà la posizione come 1 grado. 

Questi sensori non possono contare o fornire un segnale speciale quando la rotazione supera un giro completo. Ad esempio, il Sensori serie 845G di Allen Bradley hanno un output a 12 bit, 0 come minimo e 4095 come posizione massima. Una volta raggiunto 4096, l'uscita raggiunge 0.

Gli encoder assoluti a giro singolo si trovano in applicazioni come:

  • telescopi
  • Antenne rotanti
  • Generatori di turbine eoliche
  • Cancelli/porte

Gli encoder a giro singolo mancano solo della funzione di conteggio dei giri e possono essere utilizzati per misurazioni di velocità e posizione. Se necessario, la posizione iniziale può essere utilizzata come riferimento e il metodo software può essere utilizzato per contare il numero approssimativo di giri.

Gli encoder assoluti multigiro, invece, possono contare anche i giri. Ad esempio, un encoder assoluto multigiro a 12 bit ha 4096 passi per giro e può anche contare 4096 giri. Gli encoder multigiro utilizzano una delle seguenti tecnologie per mantenere il conteggio dei giri:

  • Tipo a ingranaggi
    • Gli encoder con ingranaggi utilizzano una serie di ingranaggi planetari per tenere traccia del numero di giri. Questi tipi hanno uno svantaggio di usura meccanica nel tempo.
  • Tipo di batteria tampone
    • Questo tipo utilizza un contatore elettronico e una memoria per memorizzare le informazioni del contatore. Possono contare i giri anche da spenti. Tuttavia, nella maggior parte dei casi la batteria è integrata nel sensore. Potrebbe essere necessario sostituirlo di volta in volta a seconda della frequenza di utilizzo.
  • Tipo di sensore Wiegand
    • WiegandI sensori a filo utilizzano uno speciale filo avvolto vicino all'albero e utilizzano un impulso magnetico per attivare un cambiamento di polarità. Questa modifica si verifica dopo ogni rivoluzione completata. Questa commutazione viene utilizzata per contare il numero di giri.

Gli encoder multigiro si trovano in applicazioni quali,

  • Giunti robotici
  • Gru
  • Servomotori (360 servi)
  • Sistemi di controllo della parabola satellitare e molti altri in cui un punto di rotazione della rotazione non è accessibile/disponibile.

Che cos'è un encoder assoluto magnetico?

Gli encoder assoluti magnetici utilizzano poli magnetici e sensori magnetici invece di LED e fotodiodi che si trovano negli encoder ottici. L'immagine sotto mostra un esempio di ruota codificata magnetica assoluta.

La disposizione dei poli esterni ha un polo magnetico in più rispetto alla disposizione interna. Ciò fa sì che le coppie di poli interno ed esterno siano sfalsate in modo univoco.

I sensori raccolgono segnali da un polo per ruota alla volta e calcolano la loro differenza di fase (sfasamento). Questa differenza di fase analogica viene quindi convertita in un valore digitale da emettere.

Gli encoder magnetici sono molto robusti e resistenti a urti e vibrazioni.

Trovano le loro applicazioni in ambienti in cui sono presenti particelle inquinanti come polvere, umidità e altre particelle di materiale possono accumularsi. Tuttavia, a causa del loro principio di funzionamento, gli encoder magnetici sono soggetti a disturbi causati da forti campi magnetici.

Interfacciamento di un encoder assoluto con Raspberry Pi

Mentre collegare un encoder assoluto con un Raspberry Pi può essere semplice, il programma per leggere correttamente gli ingressi può diventare un po' complicato a seconda del tipo di sensore. Vediamo come interfacciare un encoder assoluto di tipo uscita seriale (SME22A) con un Raspberry Pi.

Cablaggio del sensore

Il sensore ha il seguente formato di cablaggio:

Collega i fili del sensore come segue con il Raspberry Pi:

  • Pin 2 (CLK) -> RPi pin 2
  • Pin 4 (DO) -> RPi pin 3 (se si utilizza più di un sensore, collegare il pin dati del secondo sensore al pin 14)
  • Pin 6 (CS) -> RPi pin 4
  • VCC -> RPi +5V pin
  • GND -> RPi GND pin

Codice di esempio

Per interrogare le informazioni dal sensore, il seguente codice di esempio scritto da Haresh Karnan può essere utilizzato. Una volta eseguito, stamperà le letture dal sensore collegato.

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)

PIN_CLK = 2
PIN_DAT = [3,14]
PIN_CS  = 4
delay = 0.0000005
ns = 2 # number of sensors attached
# totally 10 bits to be extracted from SSI signal
bitcount = 16

# pin setup done here
try:
GPIO.setup(PIN_CLK,GPIO.OUT)
GPIO.setup(PIN_DAT[:],GPIO.IN)
GPIO.setup(PIN_CS,GPIO.OUT)                                                                                              
GPIO.output(PIN_CS,1)
GPIO.output(PIN_CLK,1)
except:
print "ERROR. Unable to setup the configuration requested"                               

#wait some time to start
time.sleep(0.5)

print "GPIO configuration enabled"

def clockup():
GPIO.output(PIN_CLK,1)
def clockdown():
GPIO.output(PIN_CLK,0)
def MSB():
# Most Significant Bit
clockdown()

def readpos():
GPIO.output(PIN_CS,0)
time.sleep(delay*2)
MSB()
data = [0]*ns
   
for i in range(0,bitcount):
    if i<10:
        #print i
        clockup()
        for j in range(0,ns):
            data[j]<<=1 
            data[j]|=GPIO.input(PIN_DAT[j])
        clockdown()
    else:
        for k in range(0,6):
            clockup()
            clockdown()
GPIO.output(PIN_CS,1)
return data

try:
while(1):
    print readpos()
    time.sleep(0.001)
    #break
 
finally:
print "cleaning up GPIO"
GPIO.cleanup()

Prezzo dell'encoder assoluto

I prezzi dell'encoder rotativo assoluto variano da $10-15 a oltre $1000. Ciò è dovuto principalmente alle funzionalità disponibili, alla risoluzione, al tipo di output e al protocollo utilizzato. I sensori proprietari ad alta risoluzione tendono a costare più dei semplici sensori di tipo con uscita parallela che possono essere acquistati a un costo inferiore.

Conclusione

Gli encoder rotativi vengono utilizzati per tenere traccia dei componenti meccanici rotanti come alberi e aste. Gli encoder assoluti e gli encoder incrementali sono i due tipi di encoder rotativi.

Esistono speciali dispositivi di interfaccia encoder in grado di leggere l'input grezzo di un encoder rotativo e inviare le informazioni su velocità, posizione e distanza a un computer.

Gli encoder supportati possono anche essere collegati direttamente a PLC e altri computer per ottenere i valori grezzi ed eseguire calcoli all'interno del software. 

Facebook
Twitter
LinkedIn
Pinterest
Inviaci