Un giunto mantiene una posizione solo bene quanto riesce a misurarne una. La risoluzione dell’encoder è il dato che trasforma l’angolo dell’albero in una grandezza numerabile, e sta a monte di tutto ciò che un controllore fa con quell’angolo. Questo testo segue una domanda attraverso una famiglia di attuatori con riduttore: cosa misura realmente il sensore, quanti conteggi porta quella misura e il punto in cui aggiungerne altri smette di cambiare qualcosa.

Cosa segnala un encoder in un giunto

Un attuatore con riduttore ha due alberi che contano. Uno è l’albero motore, che ruota veloce e con carico leggero. L’altro è l’albero di uscita, che ruota lentamente dopo lo stadio di riduzione e porta il carico. Un sensore sul primo segnala l’angolo motore. Un sensore sul secondo segnala l’angolo di uscita. Non sono la stessa misura, e tutto ciò che sta fra i due è la trasmissione.

Due alberi, due misure

La distinzione sembra accademica finché un giunto non deve mantenere una posa sotto carico. L’angolo motore è facile da misurare e facile da controllare, perché l’albero motore è dove si trova il campo magnetico e dove già risiede l’elettronica di azionamento. L’angolo di uscita è ciò di cui la macchina realmente si occupa. Fra i due stanno i denti degli ingranaggi, i giochi dei cuscinetti e la torsione elastica di ogni componente nel percorso di carico.

CubeMars dichiara la configurazione sui propri attuatori ad albero cavo AKH70 in modo diretto. Il modulo porta doppi encoder magnetici a 21 bit, uno sul lato motore e uno sul lato uscita, e il produttore descrive il risultato come retroazione di posizione indipendente agli stadi motore e uscita, che isola gli errori di trasmissione dall’anello di controllo. Questa è la formulazione del produttore, ed è meglio leggerla come un’affermazione su ciò che il secondo sensore misura piuttosto che su ciò che elimina: la retroazione sul lato uscita permette a un controllore di osservare la differenza fra l’angolo motore e l’angolo di uscita, mentre gioco, torsione elastica e attrito restano proprietà della trasmissione.

Perché l’anello chiuso decide a quale numero affidarsi

Un controllore che legge solo l’angolo motore sta controllando un numero che dista una trasmissione dalla cosa che vuole muovere. La risoluzione dell’encoder governa quanto finemente quel numero è suddiviso, ma la posizione del sensore governa se il numero significa qualcosa sul carico. Le due cose vanno lette insieme, ed è per questo che la risoluzione dell’encoder citata senza una posizione è quasi priva di senso.

Risoluzione dell’encoder all’uscita: 14, 16 e 21 bit

La risoluzione espressa in bit è un conteggio per giro. Un sensore a 14 bit risolve 16384 conteggi per giro, un sensore a 16 bit 65536 e un sensore a 21 bit 2097152. Queste sono le tre cifre che compaiono in questa classe di attuatori, e la distanza fra la prima e l’ultima è un fattore 128.

Tre termini vengono usati in modo intercambiabile e non dovrebbero esserlo. La risoluzione è l’incremento teorico di posizione che un sensore riesce a distinguere per giro. L’accuratezza è quanto l’angolo segnalato si discosta dall’angolo vero. La ripetibilità è la dispersione delle posizioni a cui un giunto ritorna con lo stesso comando e le stesse condizioni. Una risoluzione più fine migliora la prima senza garantire nessuna delle altre due, e la risoluzione dell’encoder citata da sola non dice nulla a chi legge sulle altre due.

Cosa dicono le righe pubblicate

L’AKH70-48 e l’AKH70-16 pubblicano 21 bit per la risoluzione dell’encoder dell’anello di controllo interno e 21 bit per quella dell’anello di controllo esterno. L’AK70-9 V3.0 pubblica la stessa coppia. L’AK70-10 KV100 pubblica 14 bit sulla risoluzione dell’encoder dell’anello interno, con le righe del tipo di anello esterno e della risoluzione dell’anello esterno lasciate vuote. Queste sono le righe di specifica del produttore, citate come scritte. La formulazione non è identica su ogni pagina: la pagina dell’AK70-10 mescola anello di controllo e anello, e la formulazione qui segue ogni riga come pubblicata.

La posizione cambia il valore di un conteggio

Una risoluzione dell’encoder di una data dimensione non compra lo stesso passo angolare all’uscita, perché la posizione decide la conversione. Un sensore a 14 bit sull’albero motore di uno stadio 10:1 produce 16384 conteggi per ogni giro del motore, e dieci giri del motore per ogni giro di uscita, quindi l’uscita vede 163840 conteggi per rivoluzione. Questo corrisponde a circa 0.0022° per conteggio all’uscita. Un sensore a 21 bit montato sull’albero di uscita produce direttamente 2097152 conteggi per rivoluzione di uscita, cioè circa 0.000172° per conteggio. Entrambe le cifre sono aritmetica ricavata dai conteggi di bit pubblicati e dal rapporto, non valori pubblicati. Sono incrementi equivalenti dell’angolo di uscita in una trasmissione ideale, non accuratezza misurata dell’uscita: gioco e flessione elastica fra i due alberi spostano comunque l’uscita dalla conversione ideale.

Due cose ne conseguono. Primo, la riduzione moltiplica la finezza di un sensore lato motore all’uscita, quindi un conteggio di bit modesto dietro a un rapporto alto può ancora apparire impressionante sulla carta. Secondo, e più importante, il numero lato motore è più fine di quanto la trasmissione sia ripetibile. La finezza non è il vincolo.

ModelloRisoluzione dell’encoder dell’anello di controllo internoRisoluzione dell’encoder dell’anello di controllo esternoNumero di encoderGioco come pubblicatoRapporto di riduzione
AKH70-48 V1.0 KV4121 bit21 bit212 arcmin48:1
AKH70-16 V1.0 KV4121 bit21 bit212 arcmin16:1
AK70-9 V3.0 KV6021 bit21 bit218 arcmin9:1
AK70-10 KV10014 bitnon pubblicato10.2°10:1
AKE50-8 KV110non indicatonon indicatonon indicato9 arcmin8:1

Righe pubblicate su encoder e gioco, citate come scritte su ogni pagina prodotto del produttore. L’unità del gioco non è coerente fra le pagine: la coppia AKH70 e l’AK70-9 indicano arcmin, mentre l’AK70-10 indica gradi. Le cifre sono riprodotte con l’unità usata da ogni pagina. Una riga indicata come non presente significa che la scheda prodotto citata non pubblica alcun valore per essa; una riga assente non è prova che la funzione sia assente.

Encoder singolo vs doppio encoder

Il confronto più utile in questa fascia non è fra famiglie di prodotti, ma fra due moduli di dimensioni quasi identiche. L’AK70-9 V3.0 misura 89 mm di diametro e 49 mm di lunghezza, adotta uno stadio 9:1 e pubblica due encoder da 21 bit ciascuno. L’AK70-10 KV100 misura 89 mm di diametro e 50.25 mm di lunghezza, adotta uno stadio 10:1 e pubblica un encoder da 14 bit. Ingombri quasi identici, rapporti adiacenti, retroazione completamente diversa. Il numero di sensori non è una classifica. Un sensore singolo non rende di per sé un modulo meno capace, poiché il risultato dipende anche dalla trasmissione, dall’accuratezza del sensore, dall’algoritmo di controllo e dall’applicazione. Ciò che cambia qui è quello che il sistema riesce a osservare direttamente.

Cosa compra il secondo sensore

Con un sensore sull’albero motore, la posizione di uscita è dedotta: il controllore prende l’angolo motore, lo divide per il rapporto e assume che la trasmissione sia rigida. Con un secondo sensore sull’albero di uscita, la posizione di uscita è misurata. La differenza non è un piccolo miglioramento della risoluzione dell’encoder. È la differenza fra un modello della trasmissione e una sua misura.

CubeMars lo dichiara in termini operativi sull’AK70-9 V3.0, dove il progetto a doppio encoder è descritto come encoder sui lati ingresso e uscita che migliorano l’accuratezza di posizionamento e l’affidabilità del sistema, e dove il progetto ad anello chiuso è descritto come conservazione delle informazioni di posizione dopo la perdita di alimentazione. La coppia AKH70 riporta la stessa affermazione sulla posizione di uscita conservata dopo la perdita di alimentazione.

Come si divide la gamma

Nella tabella comparativa del produttore, dieci moduli riportano la designazione doppio encoder, undici la designazione singola e cinque nessuna voce. I moduli senza voce stanno nella serie AKE ad azionamento quasi diretto, che nella stessa tabella non riporta nemmeno la scheda driver. Un doppio encoder non è una caratteristica che cresce in modo regolare con la dimensione in questa fascia; segue la generazione del modulo e l’intento progettuale che vi sta dietro.

Absoluto vs incrementale

La distinzione che conta nella pratica è il comportamento attraverso un ciclo di alimentazione. Un encoder incrementale segnala l’angolo rispetto al punto in cui il controllore ha contato l’ultima volta. Un encoder assoluto segnala un angolo vero all’arrivo. Dove un giunto deve risvegliarsi e sapere dove si trova, questa differenza decide se la macchina esegue una manovra di homing all’avvio.

CubeMars dichiara che la posizione di uscita è conservata dopo la perdita di alimentazione sulla coppia AKH70 e sull’AK70-9 V3.0, con la formulazione dell’AK70-9 che fa riferimento a un progetto ad anello chiuso con ingranamento a doppio ingranaggio. Le righe pubblicate per questi moduli indicano il tipo di encoder come magnetico e la risoluzione in bit; non dichiarano se il sensore sia assoluto o incrementale, e una posizione conservata non è di per sé prova né dell’uno né dell’altro. Tre cose sono separate: un’affermazione del produttore sulla posizione conservata, il principio di misura del sensore e il comportamento dell’intero azionamento attraverso un ciclo di alimentazione e un ripristino da guasto.

La risoluzione dell’encoder non è ciò che separa i due casi. Un encoder incrementale sul lato motore lascia l’angolo di uscita sconosciuto dopo un ciclo di alimentazione, perché lo stato della trasmissione gli è ignoto; la questione non è quanto finemente l’angolo sia misurato, ma se sopravvive allo spegnimento. Dove una macchina necessita dell’angolo di uscita immediatamente all’accensione, il requisito è una retroazione di posizione assoluta sul lato uscita supportata dall’azionamento, verificata sulla documentazione del produttore per il modulo specifico. Anche in quel caso un sistema può comunque richiedere una calibrazione, un controllo del riferimento o una sequenza di avvio supervisionata.

Fra ciò che il motore segnala e ciò che il braccio fa

Il gioco è il lasco angolare nella trasmissione, ed è la cifra che mette la risoluzione dell’encoder in prospettiva. La coppia AKH70 pubblica 12 arcmin, l’AK70-9 V3.0 pubblica 18 arcmin e l’AK70-10 KV100 pubblica 0.2°. L’AKE50-8 KV110 pubblica 9 arcmin. Ogni cifra è citata con l’unità usata dalla propria pagina, perché le pagine non concordano sull’unità.

La banda è molto più ampia del passo

Confrontiamole con i conteggi ricavati prima. Un giunto con 12 arcmin di gioco ha 0.2° di lasco angolare. Il sensore a 14 bit lato motore dietro a uno stadio 10:1 risolve circa 0.0022° all’uscita, e il sensore a 21 bit lato uscita risolve circa 0.000172°. Il lasco è più grossolano di circa due ordini di grandezza rispetto alla prima cifra e di tre ordini rispetto alla seconda. Qualunque cosa limiti la ripetibilità in quel giunto, non è il conteggio.

Questa è la ragione per cui la risoluzione dell’encoder citata da sola inganna. Un sensore più fine misura l’albero motore con maggiore precisione mentre l’uscita resta libera di disporsi in qualsiasi punto entro la banda di gioco. Anche il secondo sensore non restringe quella banda. Ciò che fa un encoder lato uscita è rendere la banda osservabile, così che il controllore possa vedere la differenza fra la posizione di uscita comandata e quella effettiva. Osservare quella differenza non equivale a compensarla: la capacità dell’anello di correggerla dipende dal progetto del controllo, dalla banda passante, dalla frequenza di campionamento e dal carico.

La scelta del rapporto è una decisione a sé e non viene ripresa qui; i compromessi di un rapporto basso sono esposti in Attuatori QDD: cosa offre un rapporto 8:1. La risoluzione dell’encoder interagisce con quella scelta ma non la sostituisce.

Dove una maggiore risoluzione dell’encoder smette di aiutare

Risoluzione e ripetibilità sono grandezze diverse, e la distanza fra loro è dove una maggiore risoluzione dell’encoder smette di rendere. La risoluzione è la minima variazione che un sensore riesce a segnalare. La ripetibilità è la dispersione delle posizioni a cui un giunto ritorna effettivamente con lo stesso comando e lo stesso carico. La prima è fissata dal sensore. La seconda è fissata dal gioco, dalla cedevolezza, dall’attrito, dallo stato termico e da come il carico è accoppiato.

Oltre un certo punto il sensore smette di essere l’elemento grossolano della catena. Quando un conteggio è molto più fine del lasco angolare, aumentare da sola la risoluzione nominale difficilmente migliora in modo sostanziale la ripetibilità a livello di sistema. Il risultato dipende comunque dall’accuratezza del sensore, dall’architettura di controllo, dalla cedevolezza meccanica, dall’attrito e dalle condizioni di prova. È per questo che la domanda utile non è quanta risoluzione dell’encoder porti un modulo, ma quale elemento della catena sia al momento quello grossolano.

L’aritmetica inquadra quel confronto. A 12 arcmin la banda è larga 0.2°, ammettendo che entrambe le cifre poggino sulla stessa definizione di gioco. La risoluzione dell’encoder di 21 bit sull’uscita corrisponde a circa 0.000172° per conteggio entro quella banda. Si tratta di un confronto fra un incremento di quantizzazione e una cifra di gioco pubblicata, non di una misura di quanto da vicino il giunto ritorni a una posizione comandata.

C’è un secondo limite, più vicino all’elettronica. La risoluzione dell’encoder è un’affermazione sul sensore, non sul fondo di rumore che lo alimenta. Un conteggio più fine del rumore elettrico nel percorso di retroazione segnala rumore invece di movimento, e un controllore che insegue quel rumore si mette a cacciare. Dove la scheda di specifica e il comportamento misurato discordano, è il comportamento misurato quello che conta.

L’entità della coppia e il servizio termico decidono il modulo stesso, e quel passo di dimensionamento è distinto; si veda Come scegliere un attuatore robotico ad alta coppia. La retroazione va specificata accanto a quella decisione, non al suo posto, e la risoluzione dell’encoder non va ottimizzata in isolamento.

Quando un secondo sensore vale il costo

Ci sono casi in cui il secondo sensore si guadagna il posto immediatamente. Un giunto che deve risvegliarsi conoscendo il proprio angolo di uscita. Un giunto la cui trasmissione è destinata a usurarsi, e dove il controllore altrimenti continuerebbe a fidarsi di un rapporto originale. Un giunto in cui il percorso di carico comprende un elemento cedevole fra il modulo e il braccio. In ogni caso il guadagno è lo stesso: il controllore smette di indovinare ciò che la trasmissione sta facendo, e nessuna quantità aggiuntiva di risoluzione dell’encoder sul lato motore lo sostituisce.

Adattare la retroazione al compito

Tre casi di carico tirano in tre direzioni, e la stessa cifra di risoluzione dell’encoder non serve tutti allo stesso modo. Ciò che cambia fra loro non è tanto il conteggio quanto quale errore domina.

Moduli per giunti con riduttore

Per un giunto di una gamba o di un manipolatore dietro a uno stadio planetario, un encoder per giunto robotico sul lato uscita è quello che conta, perché la trasmissione è la fonte dominante di errore. L’AKH70-48 ha 48:1 e pubblica 21 bit su entrambi gli anelli di controllo; l’AKH70-16 ha 16:1 con la stessa coppia. La risoluzione dell’encoder sul lato motore di un giunto come questo è secondaria rispetto al sapere dove si trova effettivamente l’uscita. I moduli di questo gruppo sono elencati in Attuatori robotici, e il contesto applicativo per questa classe si trova in Modulo articolare.

Azionamenti per ruote

Un azionamento per ruote è più tollerante sull’angolo di uscita rispetto a un giunto, perché il carico è rotazione continua invece di una posa mantenuta. Ciò che governa in quel caso è il carico sopportato dal mozzo, che è un passo di dimensionamento separato; il carico radiale sul mozzo è trattato in Motori BLDC per Robot a ruote: azionamento, impiego e riduzione. I vincoli di tensione di bus per questa classe sono esposti in Attuatori robotici a 48 V: modelli, vantaggi e vincoli.

Azionamento diretto e progetti frameless

Togliendo il riduttore l’argomento cambia. Un motore frameless accoppia il rotore al carico senza riduzione, quindi non c’è errore di trasmissione da isolare né rapporto per cui moltiplicare i conteggi. Il RI80 V2.0 frameless inrunner non pubblica alcuna riga sull’encoder, con l’integrazione del sensore hall offerta come opzione e un’altezza del rotore aumentata di 2 mm per assecondare l’allineamento del sensore hall. CubeMars descrive la configurazione frameless come quella che lascia flangia di supporto, interfacce di azionamento e supporti dell’encoder al progettista della macchina. Il sensore diventa una decisione di progettazione della macchina invece che una specifica del modulo, e la risoluzione dell’encoder diventa una proprietà dell’encoder che il progettista monta.

I moduli del gruppo ad azionamento quasi diretto, incluso l’AKE50-8, sono elencati in Attuatori QDD, e la gamma frameless in Motori frameless. Un confronto più ampio dei modelli frameless è disponibile in Motori coppia frameless: 12 modelli a confronto, dall’ingresso alla fascia di alte prestazioni.

Domande frequenti

Di quanta risoluzione dell’encoder ha realmente bisogno un giunto robotico?

Quanta basta perché un conteggio sia più fine dell’errore introdotto dal resto della catena, e non di più. In un giunto con riduttore e 12 arcmin di gioco, il lasco della trasmissione è attorno a 0.2°, che è molto più grossolano del passo prodotto all’uscita da qualunque sensore di questa fascia. Quando la risoluzione dell’encoder è molto più fine del lasco, è improbabile che i bit aggiuntivi da soli cambino ciò che il giunto riesce a ripetere.

Una risoluzione dell’encoder più alta rende un giunto più accurato?

Non di per sé. La risoluzione dell’encoder fissa la minima variazione che un sensore riesce a segnalare; l’accuratezza sul carico è decisa da gioco, cedevolezza, attrito e stato termico. Un sensore più fine sull’albero motore misura il motore con maggiore precisione mentre l’uscita resta libera di disporsi in qualsiasi punto entro la banda di gioco.

Qual è la differenza fra un encoder singolo e un doppio encoder?

Un sensore singolo sull’albero motore permette al controllore di dedurre la posizione di uscita dividendo l’angolo motore per il rapporto. Un secondo sensore sull’albero di uscita misura direttamente la posizione di uscita. L’AK70-9 V3.0 pubblica due encoder da 21 bit ciascuno; l’AK70-10 KV100 ne pubblica uno da 14 bit, con le righe dell’anello esterno vuote.

Un encoder assoluto elimina la necessità di rifare l’homing di un giunto dopo una perdita di alimentazione?

Elimina la necessità di rifare l’homing dell’albero che misura. CubeMars dichiara che la posizione di uscita è conservata dopo la perdita di alimentazione sulla coppia AKH70 e sull’AK70-9 V3.0, che entrambi portano il rilevamento sul lato uscita, ma le righe pubblicate per quei moduli non dichiarano se il sensore sia assoluto o incrementale. Un modulo con il solo sensore lato motore non può fare la stessa affermazione sull’uscita, perché lo stato della trasmissione dopo un ciclo di alimentazione gli è ignoto.

Quanto toglie il gioco alla risoluzione dell’encoder?

Il gioco non riduce la risoluzione dell’encoder; vi sta fuori. Le cifre di gioco pubblicate in questa fascia vanno da 9 arcmin sull’AKE50-8 a 18 arcmin sull’AK70-9 V3.0, contro passi lato uscita nell’ordine di 0.000172° per un sensore di uscita a 21 bit. Il lasco è la cifra più grossolana di ordini di grandezza, quindi è quella che fissa ciò che il giunto riesce a ripetere.

Specificare la retroazione viene dopo aver specificato il modulo: prima coppia, rapporto, massa e tensione di bus, poi il sensore che misura ciò che resta. La risoluzione dell’encoder non va ottimizzata in isolamento: appartiene alla prestazione di posizionamento obiettivo, alla posizione della retroazione, alle caratteristiche della trasmissione e all’architettura di controllo. Per applicazioni che necessitano di controllo fine a bassa velocità o di un angolo di uscita noto all’accensione, l’architettura di retroazione è un requisito a sé stante piuttosto che un dettaglio finale. I moduli possono essere filtrati secondo queste cifre meccaniche in Selezione e confrontati affiancati in Confronto prodotti. Un trattamento più ampio dei moduli di giunto integrati è disponibile in Attuatori robotici: scegliere l’attuatore integrato per giunti robotici.