Progetti di riferimento dischi encoder
Layout del codice Gray multitraccia: ordine delle tracce, disposizione interna/esterna ed elemento minimo

L’elemento di codice del codice Gray è 2πr/2ⁿ, ma le barre del bit meno significativo sono larghe 2 elementi. Per un disco Φ40 a 10 bit con LSB a r = 18 mm l’elemento è di circa 110 μm, la barra più fine di circa 221 μm e la fascia delle tracce larga circa 4,85 mm. Questo articolo confronta LSB all’esterno e all’interno, ricava il disallineamento di lettura tra le tracce e fornisce una tabella dei parametri e regole di ordinamento.
Un disco Φ40 deve fornire una posizione assoluta monogiro a 10 bit: 1024 posizioni per giro, ciascuna di circa 21,1′. Con il codice Gray multitraccia ciascuna delle 10 tracce porta un bit e i rivelatori sono allineati su una linea radiale e letti contemporaneamente. Prima di disegnare il layout bisogna rispondere a quattro domande: quanto è larga la struttura più stretta, quale bit va all’esterno, quanto è larga la fascia anulare occupata dalle 10 tracce e con quale precisione va allineata la linea di lettura. L’articolo esamina un punto alla volta con l’esempio Φ40 e 10 bit.

Pattern di ogni traccia: larghezza delle barre e numero di transizioni
Il codice Gray si ottiene dal binario B come G = B XOR (B » 1), quindi il bit k vale G_k = B_k XOR B_(k+1). Sia 360°/2ⁿ la larghezza angolare di un elemento di codice (un’unità di quantizzazione della posizione); la sua lunghezza d’arco al raggio r è
q = 2πr / 2ⁿ
Scrivendo i bit uno per uno si ottiene:
- la traccia k (k ≤ n − 2) ha barre chiare e scure larghe ciascuna 2^(k+1) elementi, periodo di 2^(k+2) elementi e 2^(n−k−1) transizioni per giro;
- l’MSB b(n−1) è chiaro per mezzo giro e scuro per l’altro mezzo; anche il bit successivo b(n−2) è a mezzo giro, ma sfalsato di 90° rispetto all’MSB;
- le transizioni di tutte le tracce in un giro sommano esattamente a 2ⁿ e ogni confine tra elementi porta esattamente una transizione: è questo il significato di “codici adiacenti differiscono per un solo bit”.
Ne segue una conclusione facile da trascurare: le barre chiare e scure dell’LSB sono larghe 2 elementi, non 1. Solo nel codice binario naturale la barra dell’LSB è larga 1 elemento. L’“elemento minimo 2πr/2ⁿ” è quindi l’unità di risoluzione della posizione, mentre la linea più fine del pattern è 2q. Inoltre la traccia dell’LSB è di per sé un reticolo uniforme con 2^(n−2) periodi, cioè 256 periodi a 10 bit.
Parametri di layout di un disco Φ40 a 10 bit
Layout di esempio: b0 a r = 18 mm, larghezza di traccia W = 0,35 mm (dimensione radiale della finestra di rivelazione più margine per eccentricità e montaggio; per la scelta vedi l’articolo di questa raccolta sulla larghezza radiale delle tracce), distanza tra le tracce 0,15 mm, passo delle tracce P = 0,5 mm, b9 a 13,5 mm. La fascia delle tracce va da 13,325 mm a 18,175 mm ed è larga circa 4,85 mm. A r = 18 mm l’elemento vale q ≈ 110,4 μm, cioè 1265,6″.
| Traccia | Raggio (mm) | Larghezza barra (elementi) | Angolo barra | Lunghezza d’arco barra | Transizioni per giro |
|---|---|---|---|---|---|
| b0 | 18,0 | 2 | 0,70° | 220,9 μm | 512 |
| b1 | 17,5 | 4 | 1,41° | 429,5 μm | 256 |
| b2 | 17,0 | 8 | 2,81° | 834,5 μm | 128 |
| b3 | 16,5 | 16 | 5,63° | 1,62 mm | 64 |
| b4 | 16,0 | 32 | 11,25° | 3,14 mm | 32 |
| b5 | 15,5 | 64 | 22,5° | 6,09 mm | 16 |
| b6 | 15,0 | 128 | 45° | 11,8 mm | 8 |
| b7 | 14,5 | 256 | 90° | 22,8 mm | 4 |
| b8 | 14,0 | 512 | 180° | mezzo giro | 2 |
| b9 | 13,5 | 512 | 180° | mezzo giro, sfalsato di 90° rispetto a b8 | 2 |
LSB all’esterno o all’interno
Invertendo l’ordine, b0 cade a 13,5 mm e la larghezza delle barre si riduce con il raggio. Confronto (per 13 bit il passo delle tracce resta invariato e la traccia più interna è a 12 mm):
| Voce | b0 all’esterno | b0 all’interno |
|---|---|---|
| Larghezza barra b0 a 10 bit | 220,9 μm | 165,7 μm |
| Larghezza barra b0 a 13 bit | 27,6 μm | 18,4 μm |
| Distanza radiale dalla traccia incrementale esterna (ipotizzata a 18,5 mm) | circa 0,5 mm | circa 5 mm |
| Disallineamento di lettura tra b0 e traccia incrementale con eccentricità di 20 μm | circa 6″ | circa 83″ |
A 10 bit entrambe le disposizioni danno barre larghe; la differenza non sta nella realizzabilità, ma in altri due punti. Primo, il margine di segnale: penombra della testina di lettura e larghezza della finestra di rivelazione sono lunghezze fisse, quindi più la barra è stretta, più è difficile che il segnale dell’LSB raggiunga il pieno chiaro e il pieno scuro, e più la posizione del fronte dipende dalla soglia. Ipotizzando una penombra di circa 20 μm, a 13 bit con LSB all’interno la barra b0 è già più stretta di essa. Secondo, la sincronizzazione con la traccia incrementale: un encoder assoluto con interpolazione deve raccordare la fase dell’LSB del codice Gray con la traccia incrementale (tolleranza di raccordo in un altro articolo di questa raccolta), e il loro disallineamento di lettura sotto eccentricità è proporzionale a e·(1/r_a − 1/r_b); metterle una accanto all’altra lo rende circa 13 volte più piccolo che avere in mezzo l’intera fascia delle tracce.
Mettere l’LSB all’interno ha senso solo se la disposizione dei rivelatori del chip di lettura è già fissata, oppure se l’anello esterno deve restare libero per altre tracce.
Allineamento della linea di lettura: più larga la fascia, maggiore il disallineamento
La tolleranza agli errori del codice Gray è questa: finché la dispersione angolare dei punti di lettura delle singole tracce è inferiore a 1 elemento, la lettura è sempre uno di due codici adiacenti e l’errore non supera 1 elemento; tenendo metà come margine di progetto, l’obiettivo è 0,5 elementi. La dispersione ha tre origini:
- eccentricità e: Δφ_e = e·(1/r_in − 1/r_out)·|sinθ|
- scostamento laterale d della linea di lettura (linea dei rivelatori parallela al raggio ma non passante per il centro): Δφ_d = d·(1/r_in − 1/r_out)
- rotazione γ della linea di lettura (attorno al raggio r_p): Δφ_γ ≈ γ·r_p·(1/r_in − 1/r_out)
dove r_in e r_out sono i raggi della traccia più interna e di quella più esterna. Tutti e tre i termini sono proporzionali a 1/r_in − 1/r_out, cioè all’incirca la larghezza della fascia divisa per r², indipendentemente dall’ordine delle tracce. Nell’esempio 1/13,5 − 1/18 ≈ 0,0185 mm⁻¹ e 1 elemento vale 6,14 mrad; 0,5 elementi corrispondono a e o d di circa 0,17 mm e a γ di circa 0,6° (r_p = 15,75 mm). A 10 bit eccentricità e scostamento laterale sono quindi molto tolleranti, mentre la rotazione della testina di lettura è la voce che va davvero controllata: una rotazione di 0,5° consuma circa 0,41 elementi.
All’aumentare dei bit l’elemento si dimezza a ogni bit in più mentre la fascia guadagna una traccia, quindi la dispersione cresce rapidamente (vedi Figura 2). Con 10 μm di eccentricità o scostamento laterale, 13 bit consumano circa 0,36 elementi e 14 bit circa 0,82 elementi. Su Φ40 il codice Gray multitraccia puro si porta in genere fino a circa 13 bit; oltre servono il raccordo sincrono con la traccia incrementale o un codice a traccia singola.

Regole di ordinamento delle tracce
- Disporre in modo monotono per peso del bit: b0 all’esterno, MSB all’interno, senza salti in mezzo, così la larghezza delle barre varia insieme al raggio.
- Se c’è una traccia incrementale, metterla più all’esterno con b0 subito all’interno, lasciando tra le due solo la distanza anti-diafonia.
- Mettere le due tracce a mezzo giro sugli anelli più interni: con sole due transizioni ciascuna sono le meno sensibili a raggio ed eccentricità.
- Scegliere il passo delle tracce al limite inferiore di larghezza di traccia più distanza anti-diafonia; più stretta la fascia, maggiore la tolleranza della linea di lettura.
- Dare gli angoli dei confini tra elementi di ogni traccia esattamente come 2πm/2ⁿ e realizzarli nella stessa passata di scrittura o sulla stessa fotomaschera, per evitare disallineamenti angolari tra le tracce.
Punti chiave di progettazione
- Distinguere elemento e larghezza linea: elemento q = 2πr/2ⁿ, la barra più fine del codice Gray è 2q; per Φ40, r = 18 mm e 10 bit valgono 110,4 μm e 220,9 μm.
- LSB all’esterno: a 10 bit la larghezza della barra sale da 165,7 μm a 220,9 μm e il disallineamento per eccentricità rispetto alla traccia incrementale esterna si riduce di circa 13 volte.
- Calcolare prima la larghezza della fascia: 10 tracce a passo 0,5 mm danno circa 4,85 mm, traccia più interna a 13,5 mm; foro e mozzo devono stare al suo interno.
- A 10 bit la voce di montaggio più stretta è la rotazione della linea di lettura: circa 0,6° consumano già 0,5 elementi, mentre eccentricità e scostamento laterale possono arrivare a circa 0,17 mm.
- Stimare il limite di bit dal disallineamento: con e = 10 μm, 13 bit consumano circa 0,36 elementi e 14 bit circa 0,82 elementi; oltre, passare al raccordo sincrono o a un codice a traccia singola.
- Prima di rilasciare il layout, scansionare un giro completo elemento per elemento e verificare che codici adiacenti differiscano per un solo bit e che il totale delle transizioni per giro sia 2ⁿ.
Sintesi
L’unità di posizione del codice Gray è 2πr/2ⁿ, ma la sua linea più fine è il doppio. Con l’LSB all’esterno si ottengono le barre più larghe e la sincronizzazione con la traccia incrementale è più facile; l’ordine delle tracce non cambia il disallineamento della linea di lettura, che dipende solo da larghezza della fascia e raggio. Per Φ40 e 10 bit le dimensioni del pattern sono molto tolleranti e ciò che va davvero controllato è la rotazione della testina di lettura; a numeri di bit più alti è la larghezza della fascia a diventare il limite.
Traduzione dell’articolo originale cinese (0301). ENC7 – produttore di dischi encoder (richiesta) · Articoli tecnici · https://enc7.com
© Langfang Jingzheng Optoelectronic Technology Co., Ltd. Tutti i diritti riservati. Articolo realizzato con l’assistenza dell’IA.