6.13 Traductoare digitale

6.13.1 Avantajele traductoarelor digitale

6.13.2 Encoder de arbore

6.13.3 Encoder optic incremental

6.13.4 Encoder optic absolut

6.13.5 Eroare Encoder

Un traductor digital este un dispozitiv de măsurare care produce o ieșire digitală. Orice dispozitiv de măsurare ce prezintă informația ca eșantioane discrete și care nu introduce o eroare de cuantizare atunci când citirea este reprezentată în forma digitală poate fi clasificat ca un traductor digital. Un traductor a cărui ieșire este un semnal impuls poate fi considerat în această categorie, deoarece impulsurile pot fi numărate și prezentate sub formă digitală cu ajutorul unui contor. Similar, un traductor a cărui ieșire este o frecvență intră în aceeași categorie, deoarece poate utiliza un contor de frecvență pentru a genera o ieșire digitală. Conform acestei definiții, de exemplu, un senzor analogic, cum ar fi un termocuplu împreună cu un ADC, nu este un traductor digital. Acest lucru se datorează faptului că o eroare de cuantizare este introdusă prin procesul ADC (vezi Capitolul 4).

Când ieșirea unui traductor digital este un semnal impuls, un mod obișnuit de citire a semnalului este folosind un contor, fie pentru a număra impulsurile (pentru impulsuri de înaltă-frecvență), fie pentru a număra ciclurile de tact pe o durată a impulsului (pentru impulsuri de joasă-frecvență). Numărul este plasat ca un cuvânt digital într-un tampon (buffer), care poate fi accesat de computerul (control) gazdă, în mod tipic la o frecvență constantă (rata de eșantionare). Pe de altă parte, dacă ieșirea unui traductor digital este disponibilă automat într-o formă codată (de exemplu, cod binar natural sau cod gray), ea poate fi citită direct de un computer. În ultimul caz, semnalul codat este în mod normal generat de un set paralel de semnale impuls; fiecare tranziție de impuls generează un bit din cuvântul digital, iar valoarea numerică a cuvântului este determinată de modelul impulsurilor generate. Acesta, de exemplu, este cazul cu encoderele absolute. Achiziția de date de la (de exemplu, interfațarea computerului) un traductor digital se face în mod obișnuit folosind o placă de intrare/ieșire (I/O) de uz general, de exemplu, o placă de control a mișcării (servo), care poate fi capabilă să găzduiască mai multe traductoare ( de exemplu, 8 canale de intrări encoder, cu contoare de 24 de biți) sau se realizează prin utilizarea unui card de achiziție de date specific unui traductor particular.

Există dispozitive digitale de măsurare care încorporează microprocesoare pentru a efectua manipulări numerice și condiționare locală și furnizează semnale de ieșire fie în formă digitală, fie în formă analogică. Aceste sisteme de măsurare sunt deosebit de utile atunci când variabila necesară nu poate fi măsurabil direct, dar poate fi calculată folosind una sau mai multe ieșiri măsurate (de exemplu, putere = forță × viteză). Deși un microprocesor este o parte integrantă a dispozitivului de măsurare în acest caz, nu îndeplinește o sarcină de măsurare, ci, mai degrabă, o sarcină de condiționare.

Discuția noastră se va limita în principal la traductoarele de mișcare. Rețineți, totuși, că folosind un senzor frontal auxiliar adecvat, alți măsuranzi, precum forța, cuplul, temperatura și presiunea, pot fi convertiți într-o mișcare și apoi măsurate cu ajutorul unui traductor de mișcare. De exemplu, măsurătorile de altitudine (sau presiune) în aeronave și aplicații aerospațiale se realizează folosind un detector frontal de presiune, cum ar fi un burduf sau un dispozitiv cu diafragmă, în combinație cu un encoder optic (care este un traductor digital) pentru a măsura deplasarea rezultată. Similar, un element bimetalic poate fi utilizat pentru a converti temperatura într-o deplasare, care poate fi măsurată folosind un senzor de deplasare.

Așa cum am făcut, este acceptabil să numim un senzor analogic ca „traductor analogic”, deoarece atât stadiul de senzor, cât și stadiul de traductor sunt analogice în acest caz. Etajul de senzor al unui traductor digital este, de asemenea, de obicei analogic. De exemplu, mișcarea, așa cum se manifestă în sistemele fizice, este continuă în timp. Prin urmare, în general nu putem vorbi de senzori de mișcare digitali. De fapt, etajul de traductor este cel care generează semnalul de ieșire discret într-un dispozitiv digital de măsurare a mișcării. Prin urmare, am ales să definim actuala categorie de dispozitive ca traductoare digitale, mai degrabă decât senzori digitali.

6.13.1 Avantajele traductoarelor digitale

În comparație cu semnalele analogice, există câteva avantaje ale semnalelor digitale (sau reprezentarea digitală a informației):

1. Semnalele digitale sunt mai puțin sensibile la zgomot, perturbări sau variații de parametri în instrumente, deoarece datele pot fi generate, reprezentate, transmise și procesate sub formă de cuvinte binare constând din biți, care posedă două stări identificabile.

2. Procesarea complexă a semnalului cu exactitate și viteză foarte ridicate sunt posibile prin mijloace digitale (implementarea hardware este mai rapidă decât implementarea software).

3. O fiabilitate ridicată într-un sistem poate fi obținută prin minimizarea componentelor hardware analogice.

4. Cantități mari de date pot fi stocate folosind metode de stocare a datelor, compacte, de înaltă densitate.

5. Datele pot fi stocate sau păstrate pentru perioade foarte lungi de timp, fără nicio derivă sau fără a fi afectate de condiții adverse de mediu.

6. Transmiterea rapidă a datelor este posibilă pe distanțe lungi, fără a introduce întârzieri dinamice semnificative, ca în sistemele analogice.

7. Semnalele digitale utilizează tensiuni joase (de exemplu, 0–12 V DC) și putere mică.

8. Dispozitivele digitale au de obicei un cost general redus.

6.13.2 Encodere de arbore

Orice traductor care generează o citire codată (digitală) a unei măsurători poate fi denumit encoder. Encoderele de arbore sunt traductoare digitale care sunt utilizate pentru măsurarea deplasărilor unghiulare și vitezelor unghiulare. Aplicațiile acestor dispozitive includ măsurarea mișcării în monitorizarea performanței și controlul manipulatoarelor robotice, mașini-unelte, procese industriale (de exemplu, prelucrarea și ambalarea alimentelor, celuloză și hârtie), dispozitive de stocare a datelor digitale, mese de poziționare, sisteme de poziționare a oglinzilor prin satelit, și mașini rotative, cum ar fi motoare, pompe, compresoare, turbine și generatoare.

Câteva din avantajele relative ale traductoarelor digitale, în general, și ale encoderelor de arbore, în particular, în comparație cu omoloagele lor analogice sunt rezoluția ridicată (în funcție de dimensiunea cuvântului de ieșire a encoderului și numărul de impulsuri generate pe rotația encoderului), acuratețe ridicată (în special datorită imunității la zgomot și fiabilității semnalelor digitale și construcției superioare), și ușurința relativă a adoptării în sistemele de control digital (deoarece ieșirea traductorului poate fi citită ca un cuvânt digital), cu o reducere asociată în costul sistemului și îmbunătățirea fiabilității sistemului.

6.13.2.1 Tipuri de encodere

Encoderele de arbore pot fi clasificate în două categorii, în funcție de natura și metoda de interpretare a ieșirii traductorului:

1. Encodere incrementale
2. Encodere absolute

Ieșirea unui encoder incremental este un semnal impuls, care este generat atunci când discul traductorului se rotește ca urmare a mișcării care este măsurată. Prin numărarea impulsurilor sau prin cronometrarea lățimii impulsului cu un semnal de tact, se poate determina atât deplasarea unghiulară, cât și viteza unghiulară. Cu un encoder incremental, deplasarea este obținută în raport cu un anumit punct de referință. Punctul de referință poate fi poziția inițială a componentei în mișcare (să zicem, determinată de un comutator de limită) sau un punct de referință pe discul encoderului, așa cum este indicat de un impuls de referință (impuls de indice) generat în acea locație de pe disc. Mai mult, numărul impulsurilor de indice determină numărul de rotații complete.

Un encoder absolut (sau encoder de cuvânt-întreg) are multe piste de impuls pe discul său traductor. Când discul unui encoder absolut se rotește, mai multe trenuri de impulsuri - egale ca număr cu pistele de pe disc - sunt generate simultan. La un moment dat, magnitudinea fiecărui semnal de impuls va avea unul dintre cele două nivele de semnal (adică o stare binară), determinată de un detector de nivel (sau detector de front). Acest nivel de semnal corespunde unei cifre binare (0 sau 1). Prin urmare, setul de trenuri de impulsuri oferă un număr binar codat în orice moment. Ferestrele de impulsuri de pe piste pot fi organizate într-un anumit tipar (cod), astfel încât numărul binar generat într-un anumit moment să corespundă poziției unghiulare specifice a discului encoder în acel moment. Tensiunea de impuls poate fi făcută compatibilă cu o logică de interfață digitală (de exemplu, logica tranzistor-tranzistor, sau TTL). În consecință, citirea digitală directă a unei poziții unghiulare este posibilă cu un encoder absolut, accelerând astfel achiziția și procesarea datelor digitale. Encodere absolute sunt utilizate frecvent pentru a măsura fracțiile unei rotații. Dar, rotațiile complete pot fi măsurate folosind o pistă suplimentară, care generează un impuls index, ca în cazul unui encoder incremental.

Același mecanism de generare a semnalului (și pick-off = preluare) poate fi utilizat în ambele tipuri de traductoare. Patru tehnici de generare a semnalului traductorului pot fi identificate:

1. Metoda optică (fotosenzor)
2. Metoda contactului de alunecare (conducție electrică)
3. Metoda saturației magnetice (reluctanță)
4. Metoda senzorului de proximitate

De departe, encoderul optic este cel mai popular și rentabil. Celelalte trei abordări pot fi utilizate în circumstanțe speciale în care o modalitate optică nu poate fi adecvată (de exemplu, la temperaturi extreme) sau poate fi redundantă (de exemplu, când un disc de cod, cum ar fi o roată dințată, este deja disponibil ca parte integrantă a elementului în mișcare). Pentru un anumit tip de encoder (incremental sau absolut), metoda de interpretare a semnalului este identică pentru toate cele patru tipuri de generare de semnal enumerate mai sus.

6.13.3 Encoder optic incremental

Encoderul optic folosește un disc opac (disc de cod) care are una sau mai multe piese circulare cu o aranjare de ferestre (fante) transparente identice în fiecare pistă. Un fascicul paralel de lumină (de exemplu, dintr-un set de leduri) este proiectat pe toate piesele dintr-o parte a discului. Lumina transmisă este preluată folosind un grup de fotosenzori de pe cealaltă parte a discului, care are de obicei un senzor pentru fiecare pistă. Acest aranjament este prezentat în figura 6.47a, care indică o singură pistă și un senzor de preluare (pick-off). Senzorul de lumină ar putea fi o fotodiodă de siliciu sau un fototranzistor. Deoarece lumina de la sursă este întreruptă de regiunile opace ale pistei, semnalul de ieșire de la foto-senzor este o serie de impulsuri de tensiune. Acest semnal poate fi interpretat (de exemplu, prin detectare de front sau detectare de nivel) pentru a obține creșteri în poziția unghiulară și, de asemenea, în viteza unghiulară a discului. Rețineți că, în terminologia standard, elementul senzor al unui astfel de dispozitiv de măsurare este discul encoderului, care este cuplat la obiectul rotativ (direct sau printr-un mecanism de angrenare). Etapa de traductor este conversia mișcării discului (analogică) în semnale de impuls (care pot fi codate într-un cuvânt digital). Fundalul opac al ferestrelor transparente (modelul ferestrei) de pe un disc encoder poate fi produs prin tehnici de imprimare prin contact. Precizia acestei proceduri de producție este un factor major care determină acuratețea encoderelor optice. Rețineți că un disc transparent cu o pistă de spoturi opace va funcționa la fel de bine ca și discul de codificare al unui encoder optic. În orice formă, pista are un ciclu de serviciu de 50% (adică, lungimea regiunii transparente = lungimea regiunii opace). Un encoder optic disponibil în comerț este prezentat în figura 6.47b.

FIGURA 6.47 (a) Reprezentarea schematică a unui encoder optic (incremental);
(b) componente ale unui encoder incremental comercial (de la BEI Electronics, Inc.,)

Există două configurații posibile pentru un disc de encoder incremental: o configurație senzor offset și o configurație pistă offset.

Prima configurație este prezentată schematic în figura 6.48. Discul are o singură pistă circulară, cu ferestre transparente identice și la distanțe egale. Aria regiunii opace între ferestrele adiacente este egală cu aria ferestrei. Doi senzori fotodiode (pick-off 1 și 2 din figura 6.48) sunt poziționați cu fața spre pistă, la un sfert de pitch=pas (jumătate din lungimea ferestrei) unul de altul. Formele semnalelor lor de ieșire (v1 și v2), după trecerea lor prin circuite de formare a impulsurilor (idealizate), sunt prezentate în figura 6.49a și b pentru cele două direcții de rotație.

FIGURA 6.48 Un disc codificator incremental (configurația senzorului cu offset)

În a doua configurație a encoderilor incrementali, se folosesc două piese identice; una este deplasată de cealaltă cu un sfert de pas. Fiecare pistă are propriul senzor pick-off (de preluare), orientat în mod normal cu fața spre piesă. Cei doi senzori pick-off sunt poziționați pe o linie radială orientată spre disc fără nicio decalare (offset) circumferențială, spre deosebire de configurația anterioară. Totuși, semnalele de ieșire de la cei doi senzori sunt aceleași ca înainte (Figura 6.49). Rețineți că un semnal impuls de ieșire este ON jumătate din timp și OFF jumătate din timp, oferind un ciclu de serviciu de 50%.

FIGURA 6.49 Semnale cu impulsuri formate de la un encoder incremental
(a) pentru rotație cw; (b) pentru rotație ccw; (c) semnal de impuls de referință

În ambele configurații este disponibilă și o pistă suplimentară cu o singură fereastră și senzor asociat. Această pistă generează un impuls de referință (impuls de indice) per rotație a discului (vezi figura 6.49c). Acest impuls este folosit pentru a iniția operația de numărare. Mai mult decât atât, numărul de impulsuri indice oferă numărul de rotații complete, care este necesar pentru măsurarea rotațiilor unghiulare absolute. Rețineți că atunci când discul se rotește cu viteză unghiulară constantă, lățimea impulsului și perioada puls-la-puls (ciclul encoderului) sunt constante (în raport cu timpul) în fiecare ieșire a senzorului. Când discul se accelerează, lățimea impulsului scade continuu; când discul frânează, lățimea impulsului crește.

6.13.3.1 Direcția de rotație

Decalarea sfertului de pas în locația senzorului (sau în plasarea pistei) este utilizată pentru a determina direcția de rotație a discului. De exemplu, în figura 6.49a sunt prezentate ieșirile senzorului formate (idealizate) (v1 și v2) atunci când discul se rotește în direcția cw; iar Figura 6.49b arată ieșirile atunci când discul se rotește în direcția ccw. Din aceste două figuri este clar că în rotația cw, v1 rămâne în urma v2 cu un sfert de ciclu (adică, întârziere de fază de 90°); iar în rotația ccw, v1 conduce v2 cu un sfert de ciclu. Prin urmare, direcția de rotație este obținută prin determinarea diferenței de fază a celor două semnale de ieșire, folosind circuite de detectare-fază.

O metodă pentru determinarea diferenței de fază este de a cronometra impulsurile utilizând un semnal de tact de înaltă-frecvență. Să presupunem că numărarea (cronometrarea) începe când semnalul v1 începe să crească (adică, atunci când este detectat un front în creștere). Fie n1 = numărul de cicluri de tact (timp) până la momentul în care v2 începe să crească; și fie n2 = numărul de cicluri de tact până la momentul în care v1 începe să crească din nou. Atunci, se aplică următoarea logică:

dacă n1 > n2 - n1 ⇒ rotire cw
dacă n1 < n2 - n1 ⇒ rotire ccw

Această logică pentru detectarea direcției ar trebui să fie clară din figura 6.49a și b.

O altă schemă poate fi dată pentru direcție. În acest caz, mai întâi detectăm un nivel înalt (high logic sau 1 binar) în semnalul v2 și apoi verificăm dacă frontul din semnalul v1 crește sau scade în această perioadă. Din figurile 6.49a și b, se aplică următoarea logică:

dacă există un front în scădere în v1 când v2 este high logic ⇒ rotație cw

dacă există un front în creștere în v1 când v2 este high logic ⇒ rotație ccw

6.13.3.2 Caracteristici hardware

Hardware-ul real al encoderelor comerciale nu este la fel de simplu ca ceea ce este sugerat de figura 6.48 (vezi figura 6.47b). În figura 6.50a este prezentată o diagramă bloc mai detaliată a mecanismului de generare a semnalului al unui encoder incremental optic. Lumina generată de LED este colimată (formând raze paralele) folosind o lentilă. Acest fascicul de lumină paralelă trece printr-o fereastră a discului cu cod rotativ. Discul de mascare (gratii) este staționar și are o pistă cu ferestre identică cu cea din discul de cod. Datorită prezenței discului de mascare, lumina de la LED va trece prin mai mult de o fereastră a discului de cod, îmbunătățind astfel intensitatea luminii primite de fotosenzor, dar neintroducând nicio eroare din cauza diametrului fasciculului de lumină, mai mare decât lungimea ferestrei. Când ferestrele discului de cod se află în fața zonelor opace ale discului de mascare, practic nu se primește lumină de către fotosenzor. Când ferestrele discului de cod se află în fața zonele transparente ale discului de mascare, cantitatea maximă de lumină ajunge la fotosenzor. Prin urmare, pe măsură ce discul de cod se mișcă, fotosenzorul primește o secvență de impulsuri de lumină triunghiulare (și pozitive). Lățimea impulsului, în acest caz, este un ciclu complet (adică, corespunde pasului ferestrei) și nu un semiciclu.

O fluctuație a tensiunii de alimentare la sursa de lumină a encoderului influențează în mod direct și nivelul de lumină primit de fotosenzor. Dacă sensibilitatea fotosenzorului nu este suficient de ridicată, un nivel de lumină scăzut ar putea fi interpretat ca fără lumină, ceea ce ar avea ca rezultat eroare de măsurare. Astfel de erori datorate instabilităților și variațiilor tensiunii de alimentare pot fi eliminate folosind doi fotosenzori, unul amplasat la jumătate de pas distanță de celălalt de-a lungul pistei de ferestre, așa cum se arată în figura 6.50b. Acest aranjament este pentru detectarea contrastului și nu trebuie confundat cu aranjamentul de decalaj cu sfert de pas necesar pentru detectarea direcției. Senzorul cu fața la regiunea opacă a discului de mascare va citi întotdeauna un semnal scăzut. Celălalt senzor va citi un semnal triunghiular al cărui vârf se produce atunci când o fereastră în mișcare se suprapune cu o fereastră a discului de mascare și a cărei vale se produce atunci când o fereastră în mișcare se confruntă cu o regiune opacă a discului de mascare. Cele două semnale de la acești doi senzori sunt amplificate separat și trimise într-un amplificator diferențial. Rezultatul este un semnal de impulsuri triunghiulare de mare intensitate. Un semnal de impuls format (sau binar) poate fi generat prin extragerea unei valori de prag din acest semnal și identificarea regiunilor rezultate pozitivă (sau 1 binar) și negativă (0 binar). Această procedură va produce un semnal de impuls mai distinct (sau binar) care este imun la zgomot.

FIGURA 6.50 (a) Hardware intern al unui encoder incremental optic;
(b) utilizarea a doi senzori la distanță de 180° pentru a genera un impuls format

Amplificatoarele de semnal sunt dispozitive IC și sunt găzduite în encoderul propriu-zis. Circuite suplimentare de formare-impuls pot fi, de asemenea, prezente. Sursa de alimentare trebuie furnizată separat ca o componentă externă. Nivelul tensiunii și lățimea impulsului semnalului de ieșire sunt logic-compatibile (de exemplu, TTL), astfel încât acestea pot fi citite direct folosind o placă digitală. Rețineți că dacă nivelul de ieșire v1 este high pozitiv, avem o stare high logică (sau 1 binar). În caz contrar, avem o stare low logică (sau 0 binar). În acest fel, o ieșire digitală stabilă și exactă poate fi obținută chiar și în condiții de alimentare cu tensiune instabilă. Diagrama bloc din figura 6.50 arată generarea numai a unuia (v1) din cele două semnale de impuls în cuadratură. Celălalt semnal de impuls (v2) este generat folosind hardware identic, dar la un sfert de decalare de pas (pitch offset). Semnalul impulsului de index (impuls de referință) este, de asemenea, generat într-o manieră similară. Cablul encoderului (de obicei un cablu panglică-ribbon) are un conector multi-pin. Trei dintre pini furnizează cele trei semnale de impuls de ieșire. Un alt pin transportă tensiunea de alimentare DC (de obicei 5 V) de la sursa de alimentare în encoder. În mod obișnuit, este inclusă și o linie de masă (pin de masă). Rețineți că singura parte în mișcare din sistem prezentată în figura 6.50 este discul de cod.

6.13.3.3 Măsurarea deplasării

Un encoder incremental măsoară deplasarea ca număr de impulsuri și măsoară viteza ca o frecvență de impuls. Un procesor digital este capabil să exprime aceste citiri în unități tehnice (rad, grade, rad/s etc.) folosind valori de parametri pertinente ale sistemului fizic. Să presupunem că numărul maxim posibil este de M impulsuri și gama encoderului este ± θmax. Poziția unghiulară θ corespunzătoare unui număr de n impulsuri este calculată ca

(6.57)

6.13.3.4 Rezoluție digitală

Rezoluția unui encoder reprezintă cea mai mică schimbare de măsurare care poate fi măsurată în mod realist. Deoarece un encoder poate fi utilizat pentru a măsura deplasarea și viteza, putem identifica o rezoluție pentru fiecare caz în parte. În primul rând, vom lua în considerare rezoluția de deplasare, care este guvernată de numărul de ferestre N din discul de cod și de dimensiunea digitală (numărul de biți) a buffer-ului (ieșirea contorului). Pentru început, vom discuta despre rezoluția digitală. Să presupunem că numărul encoderului este stocat ca date digitale de r biți. Permițând un bit de semn, avem M = 2r-1. Rezoluția de deplasare a unui encoder incremental este dată de modificarea deplasării corespunzătoare unei modificări unitate în număr (n). Din Ecuația 6.57 rezultă că rezoluția de deplasare este dată de Δθ = θmax/M. În particular, rezoluția digitală corespunde unei modificări unitate în valoarea de biți. Înlocuind M, avem rezoluția digitală

(6.58a)

De obicei, θmax = ±180° sau 360°. Atunci,

(6.58b)

Rețineți că numărul minim corespunde cazului în care toți biții sunt zero și numărul maxim corespunde cazului în care toți biții sunt unități. Să presupunem că aceste două citiri reprezintă deplasările unghiulare θmin și θmax. Avem θmax = θmin + (M-1)Δθ. Înlocuind M, obținem θmax = θmin + (2r-1-1)Δθd, ceea ce duce la definiția convențională pentru rezoluția digitală Δθd = (θmax - θmin)/(2r-1-1). Acest rezultat este exact același cu cel oferit de Ecuația 6.58. Dacă θmax este 2π și θmin = 0, atunci θmax și θmin vor corespunde cu aceeași poziție a discului de cod. Pentru a evita această ambiguitate, folosim θmin = θmax/2r-1. Atunci, rezoluția digitală este dată de (360° - 360°/2r)/(2r-1), care este identică cu ecuația 6.58.

6.13.3.5 Rezoluție fizică

Rezoluția fizică a unui encoder este guvernată de numărul de ferestre N din discul de cod. Dacă se folosește un singur semnal de impuls (adică, nu se detectează direcția) și dacă sunt detectate doar fronturile în creștere ale impulsurilor (adică sunt numărate cicluri complete ale semnalului de encoder), rezoluția fizică este dată de unghiul de pas (pitch) al pistei (adică separarea unghiulară între ferestrele adiacente), care este (360/N)°. Dar dacă sunt disponibile semnale în cuadratură (adică, două semnale de impuls, defazate între ele cu 90° sau un sfert de unghi de pas) și este prezentă și capacitatea de a detecta atât fronturile în creștere cât și în cădere ale unui impuls, patru numărări pot fi realizat pe ciclu de encoder, îmbunătățind astfel rezoluția cu un factor de patru. În aceste condiții, rezoluția fizică a unui encoder este dată de

(6.59)

Pentru a înțelege acest lucru, rețineți în figura 6.49a (sau figura 6.49b) că atunci când se adună cele două semnale v1 și v2, semnalul rezultat are o tranziție la fiecare sfert al ciclului encoderului. Prin detectarea fiecărei tranziții (prin detectarea frontului sau detectarea nivelului), patru impulsuri pot fi numărate în fiecare ciclu principal. Trebuie menționat că fiecare semnal (v1 sau v2) are separat o rezoluție de jumătate de pas, cu condiția ca toate tranzițiile (fronturi în creștere și fronturi care cad) să fie detectate și numărate în loc de impulsuri (sau nivele high de semnal). În consecință, un disc cu 10.000 de ferestre are o rezoluție de 0,018° dacă este utilizat un singur semnal de impuls (și sunt detectate ambele tranziții, creștere și cădere). Când sunt utilizate două semnale (cu o defazare de un sfert de ciclu), rezoluția se îmbunătățește la 0,009°. Această rezoluție este realizată direct din mecanica traductorului; nu este implicată nicio interpolare. Presupune, însă, că impulsurile sunt aproape ideale și, în particular, tranzițiile sunt perfecte. În practică, acest lucru nu poate fi realizat dacă semnalele de impuls sunt zgomotoase. Atunci, așa cum am menționat anterior, va fi necesară formarea impulsului.

Cea mai mare dintre cele două rezoluții date de ecuațiile 6.58 și 6.59 reglementează rezoluția de deplasare a encoderului.

6.13.3.6 Step-Up Gearing

Rezoluția fizică a unui encoder poate fi îmbunătățită folosind step-up gearing, astfel încât o rotație a obiectului în mișcare, care este monitorizat, să corespundă mai multor rotații ale discului de cod al encoderului. Această îmbunătățire este direct proporțională cu raportul treptelor de angrenare (p). Mai exact, avem

(6.60)

Dar, reculul (backlash) în angrenare introduce o nouă eroare. Pentru cele mai bune rezultate, această eroare de recul ar trebui să fie de câteva ori mai mică decât rezoluția, fără niciun recul.

Rezoluția digitală nu se va îmbunătăți prin angrenare dacă unghiul maxim de rotație al obiectului în mișcare (să spunem, 360°) corespunde în continuare dimensiunii buffer-ului/registrului. Atunci, modificarea bitului cel mai puțin semnificativ (LSB) al buffer-ului corespunde cu aceeași modificare a unghiului de rotație a obiectului în mișcare. De fapt, rezoluția generală de deplasare poate fi afectată în acest caz dacă există un recul excesiv. Dar, dacă dimensiunea buffer/registru corespunde unei rotații complete a discului de cod (adică, o rotație de 360​​°/p în obiect) și dacă registrul de ieșire (sau buffer) este șters la sfârșitul fiecărei astfel de rotații și se păstrează un număr separat de rotații complete ale discului de cod, atunci rezoluția digitală se va îmbunătăți și ea cu un factor p. Mai exact, din ecuația 6.58 obținem

(6.61)

Exemplul 6.7

Folosind tehnici de înaltă precizie pentru a imprima pistele de ferestre pe discul de cod, se poate obține o densitate de ferestre de 500 de ferestre/cm de diametru. Considerați un disc cu 3000 de ferestre. Să presupunem că este utilizat step-up gearing pentru a îmbunătăți rezoluția și raportul de angrenare este 10. Dacă dimensiunea cuvântului registrului de ieșire este de 16 biți, examinați rezoluția de deplasare a acestui dispozitiv pentru cele două cazuri în care dimensiunea registrului corespunde la (1) o rotație completă a obiectului și (2) o rotație completă a discului de cod.

Soluţie

În primul rând, considerați cazul în care angrenajul nu este prezent. Cu semnale în cuadratură, rezoluția fizică este Δθp = 360°/(4 × 3000) = 0,03°.

Pentru o gamă de măsurare dată de ± 180°, o ieșire de 16 biți oferă o rezoluție digitală de Δθd = 180°/215 = 0,005°.

Prin urmare, în absența angrenajului, rezoluția totală de deplasare este de 0,03°.

În continuare, luați în considerare un encoder cu angrenaj, cu un raport de angrenare de 10 și neglijare a reculului angrenajului. Rezoluția fizică se îmbunătățește până la 0,003°. Dar, în cazul (1), rezoluția digitală rămâne neschimbată în cel mai bun caz. Prin urmare, rezoluția generală de deplasare se îmbunătățește până la 0,005° ca urmare a angrenării. În cazul (2), rezoluția digitală se îmbunătățește până la 0,0005°. Prin urmare, rezoluția totală de deplasare devine 0,03°.

În rezumat, rezoluția de deplasare a unui encoder incremental depinde de următorii factori:

1. Numărul de ferestre de pe pista de cod (sau diametrul discului)
2. Raport de angrenare
3. Dimensiunea cuvântului din bufferul de măsurare

6.13.3.7 Interpolarea

Rezoluția de ieșire a unui encoder poate fi îmbunătățită în continuare prin interpolare. Acest lucru se realizează prin adăugarea de impulsuri egal distanțate între fiecare pereche de impulsuri generate de circuitul encoderului. Aceste impulsuri auxiliare nu sunt măsurători adevărate și pot fi interpretate ca o schemă de interpolare liniară între impulsuri adevărate. O metodă de realizare a acestei interpolări este folosirea celor două semnale preluate (pick-off) generate de codificator (semnale în cuadratură). Aceste semnale sunt aproape sinusoidale (sau triunghiulare) înainte de formare (să zicem, prin detectarea nivelului). Acestea pot fi filtrate pentru a obține două semnale sinusoidale care sunt defazate cu 90° (adică, un semnal sinus și un semnal cosinus). Prin combinarea ponderată a acestor două semnale, se pot genera o serie de semnale sinus astfel încât fiecare semnal să rămână în urma semnalul precedent cu orice fracție întreagă de 360​​°. Prin detectarea nivelului sau detectarea frontului (fronturi în creștere și cădere), aceste semnale sinus pot fi convertite în semnale de undă pătrată. Apoi, prin combinarea logică a undelor pătrate, un număr întreg de impulsuri poate fi generat în fiecare ciclu de encoder. Acestea sunt impulsurile de interpolare care se adaugă pentru a îmbunătăți rezoluția encoderului. În practică, aproximativ douăzeci de impulsuri de interpolare pot fi adăugate între o pereche de impulsuri principale adiacente.

6.13.3.8 Măsurarea vitezei

Două metode sunt disponibile pentru determinarea vitezelor folosind un encoder incremental:

1. Metoda de numărare a impulsurilor
2. Metoda conometrării-impulsului.

În prima metodă, este utilizat numărul de impulsuri pe o perioadă de timp fixă ​​(perioada succesivă de timp la care se citește bufferul de date) pentru a calcula viteza unghiulară. Pentru o anumită perioadă de citire a datelor, există o limită de viteză inferioară sub care această metodă nu este foarte exactă.

Pentru a calcula viteza unghiulară ω folosind această metodă, să presupunem că numărul, pe durata unei perioade de timp T, este n impulsuri. Prin urmare, timpul mediu pentru un singur impuls este T/n. Dacă pe disc există N ferestre, presupunând că nu sunt utilizate semnale în cuadratură, unghiul mișcat în timpul unui singur impuls este de 2π/N. Prin urmare,

viteza

(6.62)

Dacă se utilizează semnale în cuadratură, înlocuiți N cu 4N în Ecuația 6.62.

În a doua metodă, timpul pentru un ciclu de encoder este măsurat folosind un semnal de tact de înaltă-frecvență. Această metodă este adecvată în special pentru măsurarea exactă a vitezelor mici. În această metodă, să presupunem că frecvența de tact este f Hz. Dacă m cicluri ale semnalului de tact sunt contorizate în timpul unei perioade de encoder (interval între două ferestre adiacente, presupunând că nu sunt utilizate semnale în cuadratură), timpul pentru acel ciclu de encoder (adică timpul de rotire printr-un pas de encoder) este dat de m/f. Cu un total de N ferestre pe pistă, unghiul de rotație în această perioadă este de 2π/N ca înainte. Prin urmare,

viteza

(6.63)

Dacă se utilizează semnale în cuadratură, înlocuiți N cu 4N în ecuația 6.63.

Un singur encoder incremental poate servi atât ca senzor de poziție, cât și ca senzor de viteză. Prin urmare, o buclă de poziție și o buclă de viteză într-un sistem de control pot fi închise folosind un singur encoder, fără a fi nevoie să utilizați un senzor de viteză convențional (analogic), cum ar fi un tahometru. Rezoluția de viteză a encoderului (în funcție de metoda de calcul vitezei - numărare impulsuri sau contorizare impuls) poate fi aleasă pentru a îndeplini cerințele de acuratețe pentru bucla de control a vitezei. Un avantaj suplimentar al utilizării unui encoder mai degrabă decât a unui senzor de mișcare convențional (analogic) este că un ADC nu ar mai fi necesar. De exemplu, impulsurile generate de către encoder poate fi folosit ca întreruperi pentru computerul de control. Aceste întreruperi sunt apoi contorizate direct (de către un contor sau indexor sus/jos) sau cronometrate (de un tact în computerul de achiziție de date) din computerul de control, oferind astfel citirea poziției și vitezei.

6.13.3.9 Rezoluție de viteză

Rezoluția de viteză a unui encoder incremental depinde de metoda folosită pentru a determina viteza. Deoarece metoda de numărare a impulsurilor și metoda de cronometrare a impulsurilor se bazează pe contorizare, rezoluția de viteză este dată de modificarea vitezei unghiulare care corespunde unei modificări (creștere sau descreștere) a numărului cu unu.

Pentru metoda de numărare a impulsurilor, din Ecuația 6.62 este clar că o schimbare cu unitate a numărului n corespunde unei schimbări de viteză de

(6.64)

unde
N este numărul de ferestre în pista de cod
T este perioada de timp în care se citește un număr de impulsuri

Ecuația 6.64 oferă rezoluția de viteză prin această metodă. Rețineți că valoarea tehnică (în rad/s) a acestei rezoluții este independentă de viteza unghiulară însăși, dar atunci când este exprimată ca procent din viteză, rezoluția devine mai bună (mai mică) la viteze mai mari. Mai mult, rețineți din Ecuația 6.64 că rezoluția se îmbunătățește cu numărul de ferestre și cu perioada de citire a numărului (eșantionare). În condiții tranzitorii, acuratețea unei citiri a vitezei scade odată cu creșterea T (deoarece, conform teoremei de eșantionare a lui Shannon - vezi Capitolul 5 - frecvența de eșantionare trebuie să fie cel puțin dublă față de cea mai înaltă frecvență de interes în semnalul de viteză). Prin urmare, perioada de eșantionare nu trebuie crescută fără discriminare. Ca de obicei, dacă se utilizează semnale în cuadratură, N în ecuația 6.64 trebuie înlocuit cu 4N (adică, rezoluția se îmbunătățește de 4 ori).

În metoda cronometrării pulsului, rezoluția vitezei este dată de (vezi Ecuația 6.63)

(6.65a)

unde f este frecvența de tact. Pentru m mare, (m+1) poate fi aproximat cu m. Atunci, substituind Ecuația 6.63 în 6.65a, obținem

(6.65b)

Rețineți că, în acest caz, rezoluția se degradează în mod pătratic cu viteza. Această rezoluție se degradează cu viteza chiar și atunci când este considerată ca o fracțiune din viteza măsurată:

(6.66)

Această observație confirmă sugestia anterioară potrivit căreia metoda de cronometrare a pulsului este potrivită pentru viteze mici. Pentru o anumită viteză și o frecvență de tact, rezoluția se degradează și odată cu creșterea N. Acest lucru este adevărat deoarece, atunci când este crescut N, perioada pulsului se scurtează și, prin urmare, numărul de cicluri de tact pe perioadă de impuls scade. Rezoluția poate fi îmbunătățită, însă, prin creșterea frecvenței de tact.

Exemplul 6.8

Pentru măsurarea vitezei se folosește un encoder incremental cu 500 de ferestre în pista sa. Presupuneți că:

a. În metoda de numărare a impulsurilor, numărul (bufferul) este citit la rata de 10 Hz
b. În metoda cronometrării pulsului, se folosește un tact cu frecvență de 10 MHz

Determinați rezoluția procentuală pentru fiecare din aceste două metode atunci când măsurați o viteză de

i. 1 rot/s
ii. 100 rot/s

Soluţie

i. Viteza = 1 rot/s

Cu 500 de ferestre, avem 500 impulsuri/s.

a. Metoda de numărare a impulsurilor

Perioada de numărare = 1/10 Hz = 0,1 s
Numărul de impulsuri (în 0,1 s) = 500 × 0,1 = 50
Rezoluție procentuală = (1/50) × 100% = 2%

b. Metoda cronometrării impulsurilor

La 500 impulsuri/s, perioada impulsului = 1/500 s = 2 × 10-3 s
Cu un tact de 10 MHz, numărul de tacte = 10 × 106 × 2 × 10-3 = 20 × 103
Rezoluția procentuală = (1/20 × 103)× 100% = 0,005%

ii. Viteza = 100 rot/s

Cu 500 de ferestre, avem 50.000 impulsuri/s.

a. Metoda de numărare a impulsurilor

Numărul de impulsuri (în 0,1 s) = 50 000 × 0,1 = 5 000
Rezoluția procentuală = (1/5000) × 100% = 0,02%

b. Metoda cronometrării impulsurilor

La 50.000 impulsuri/s, perioada impulsului = 1/50.000 s = 20 × 10-6s
Cu un tact de 10 MHz, număr de tacte = 10 × 106 × 20 × 10-6 = 200
Rezoluția procentuală = (1/200) × 100% = 0,5%

Rezultatele sunt rezumate în tabelul 6.7.

TABEL 6.7 Comparația rezoluției de viteză de la un encoder incremental

Rezultatele din tabelul 6.7 confirmă faptul că, în metoda de contorizare a impulsurilor, rezoluția se îmbunătățește cu viteza și, prin urmare, este mai potrivită pentru măsurarea vitezelor mari. Mai mult, în metoda cronometrării împulsului, rezoluția se degradează cu viteza și, prin urmare, este mai potrivită pentru măsurarea vitezelor mici.

6.13.3.10 Step-Up Gearing

Considerați un encoder incremental care are N ferestre pe pistă și este conectat la un arbore rotativ printr-un angrenaj cu un raport de angrenare step-up p. Formule pentru calcularea vitezei unghiulare a arborelui prin

a. Metoda de numărare a impulsurilor
b. Metoda cronometrării impulsurilor

pot fi ușor determinate folosind ecuațiile 6.62 și 6.63. Mai exact, unghiul de rotație al arborelui corespunzător distanțării ferestrelor (pitch) a discului encoderului este acum 2π/(pN). Prin urmare, formulele corespunzătoare pentru viteză pot fi obținute prin înlocuirea lui N cu pN în ecuațiile 6.62 și 6.63. Avem, pentru metoda de numărare a impulsurilor

(6.67)

pentru metoda cronometrării impulsurilor

(6.68)

Rețineți că aceste relații pot fi obținute pur și simplu prin împărțirea vitezei discului encoderului la raportul de angrenare, ceea ce dă viteza obiectului.

Ca și până acum, rezoluția vitezei este dată de variația vitezei corespunzătoare unei variații unitate în număr. De aici, pentru metoda de numărare a impulsurilor

(6.69)

Rezultă că, în metoda de numărare impulsurilor, angrenarea step-up determină o îmbunătățire a rezoluției.

Pentru metoda cronometrării impulsului,

(6.70)

Rețineți că în abordarea timpului de impuls, pentru o viteză dată, rezoluția se degradează odată cu creșterea lui p.

În rezumat, rezoluția de viteză a unui encoder incremental depinde de următorii factori:

1. Numărul de ferestre N
2. Perioada T de citire a numărului (eșantionare)
3. Frecvența de tact f
4. Viteza ω
5. Raport de angrenare

În special, antrenarea up are un efect dăunător asupra rezoluției de viteză în metoda cronometrării pulsului, dar are un efect favorabil în metoda de numărare a impulsurilor.

6.13.3.11 Hardware de achiziție a datelor

O metodă de interfațare a unui encoder incremental cu un procesor digital (controller digital) este arătată schematic în figura 6.51. În practică, o placă de interfață adecvată (de ex., Card servo, card encoder etc.) în computerul de control va avea capacitățile funcționale necesare indicate în figură. Semnalele de impuls de la encoder sunt introduse într-un contor în up/down, care are circuite pentru a detecta impulsuri (de exemplu, prin detectarea frontului în creștere, detectarea frontului în scădere sau detectare de nivel) și circuite logice pentru a determina direcția de mișcare ( adică, semnul citirii) și pentru a coda numărul. Un impuls într-o direcție (să zicem, cw) va incrementa numărul cu unu (în creștere), iar un impuls în direcția opusă va diminua numărul cu unu (o reducere). Numărul codat poate fi citit direct de computerul gazdă prin intermediul plăcii sale de I/O fără a fi nevoie de un ADC. Numărul este transferat într-un buffer de blocare, astfel încât măsurarea este citită din buffer mai degrabă decât din contorul în sine. Acest aranjament oferă un mijloc eficient de achiziție a datelor, deoarece procesul de numărare poate continua fără întrerupere în timp ce computerul citește numărul din bufferul de blocare. Procesorul digital (computer) identifică diverse componente din sistemul de măsurare folosind adrese, iar aceste informații sunt comunicate componentelor individuale prin intermediul magistralei de adrese. Startul, sfârșitul și natura unei acțiuni (de exemplu, citirea datelor, ștergerea contorului, ștergerea bufferului) sunt comunicate de computer către diferite dispozitive prin intermediul magistralei sale de control. Computerul poate comanda o acțiune către o componentă într-o direcție a magistralei, iar componenta poate răspunde cu un mesaj (de exemplu, lucrare finalizată) în direcția opusă. Datele (de exemplu, numărul) sunt transmise prin magistrala de date. În timp ce computerul citește date (eșantioane) din buffer, semnalele de control garantează că nu sunt transferate date către bufferul respectiv de la contor. Este clar că achiziția de date constă în operațiuni handshake (comunicare cu confirmare) între procesorul principal al computerului și componentele auxiliare. Mai multe encodere pot fi adresate, controlate și citite de aceleași trei magistrale ale computerului. Magistralele sunt conductoare; de exemplu, cablurile multifilare transportă semnale în logică paralelă. Comunicarea în logica serială este de asemenea comună, dar este mai lentă.

Un encoder optic incremental generează două semnale de impuls - unul cu 1/4 dintr-un pas defazat de celălalt. Electronica internă a encoderului poate fi alimentată de la o sursă de 5 V DC. Cele două semnale de impuls determină direcția de rotație a motorului cu unul dintre diverse mijloace (de exemplu, semnul diferenței de fază, sincronizarea fronturilor în ascensiune consecutive). Numărul de impulsuri al encoderului este stocat într-un buffer în controller și este citit la intervale fixe (să zicem, 5 ms). Numărul net oferă poziția articulației, iar diferența de număr la o creștere de timp fixă ​​oferă viteză articulației.

FIGURA 6.51 Interfață cu computer pentru un codificator incremental

În timp ce se măsoară o deplasare (poziție) a unui obiect folosind un encoder incremental, contorul poate fi monitorizat continuu ca un semnal analogic printr-un convertor digital-analogic (DAC; vezi Figura 6.51). Pe de altă parte, numărul de impulsuri este citit de computer doar la intervale de timp finite. Întrucât este necesar un număr cumulativ în măsurarea deplasării, bufferul nu este șters, în acest caz, odată ce numărul este citit de computer.

În măsurarea vitezei prin metoda de numărare a impulsurilor, bufferul este citit la intervale de timp fixe de T, care este și timpul ciclului de numărare. Contorul este șters de fiecare dată când un număr este transferat în buffer, astfel încât un număr nou poate începe. Cu această metodă, o nouă citire este disponibilă la fiecare moment de eșantionare.

În metoda cronometrare-puls de calcul al vitezei, contorul este de fapt un cronometru. Ciclul encoderului este cronometrat folosind un tact (clock) (intern sau extern) și numărul este transmis în buffer. Contorul este apoi șters și următorul ciclu de cronometrare este pornit. Bufferul este citit periodic de computer. Cu această metodă, o nouă citire este disponibilă la fiecare ciclu de encoder. Rețineți că, în condiții de viteză tranzitorie, timpul ciclului-encoder este variabil și nu este direct legat de perioada de eșantionare a datelor. În metoda cronometrării impulsurilor, este de dorit ca perioada de eșantionare să fie ușor mai mică decât timpul ciclului-encoder, astfel încât procesorul să nu rateze niciun număr.

Utilizarea mai eficientă a procesorului digital se poate realiza utilizând o rutină de întrerupere. Cu această metodă, contorul (sau bufferul) trimite o solicitare de întrerupere la procesor atunci când un nou număr este gata. Procesorul apoi suspendă temporar operația curentă și citește noile date. Rețineți că, în acest caz, procesorul nu așteaptă continuu pentru o citire.

6.13.4 Encodere optice absolute

Un encoder absolut generează direct un cuvânt digital codat pentru a reprezenta fiecare poziție unghiulară (sector) discretă a discului său de cod. Acest lucru se realizează prin producerea unui set de semnale impuls (canale de date) egale ca număr cu dimensiunea cuvântului (număr de biți) din citire. Spre deosebire de un encoder incremental, nu este implicată contorizarea impulsurilor. Un encoder absolut poate utiliza diverse tehnici (de exemplu, optică, contact de alunecare, saturație magnetică, senzor de proximitate) pentru a genera semnalul senzorului, ca pentru un encoder incremental. Metoda optică, care folosește un disc de cod cu regiuni transparente și opace și perechi de surse de lumină și fotosenzori, este cea mai frecventă tehnică.

În figura 6.52a este prezentat un model de cod simplificat pe discul unui encoder absolut care utilizează codul binar direct. Numărul de piese (n) în acest caz este 4, dar în practică n este de ordinul lui 14, dar poate fi la maximum 22. Discul este divizat în 2n sectoare. Fiecare ari partiționată a matricei astfel formată corespunde unui bit de date. De exemplu, o arie transparentă va corespunde lui 1 binar și o zonă opacă va corespunde lui 0 binar. Fiecare pistă are un senzor pick-off similar cu cel utilizat în encodere incrementale. Setul de n senzori pick-off este aranjat de-a lungul unei linii radiale și este orientat spre pistele de pe o parte a discului. O sursă de lumină (de exemplu, LED) luminează cealaltă parte a discului. Pe măsură ce discul se rotește, grupul senzorilor pick-off generează semnale impuls care sunt trimise la n canale de date paralele (sau pini). La un moment dat, combinația particulară a nivelelor de semnal din canalele de date va oferi un cuvânt de date codificat care determină în mod unic poziția discului la acel moment.

FIGURA 6.52 Ilustrația modelului de cod al unui disc de encoder absolut:
(a) Cod binar; (b) un cod Gray

6.13.4.1 Codificare Gray

Există o problemă de interpretare a datelor asociată codului binar simplu în encodere absolute. Observați în tabelul 6.8 că, cu codul binar simplu, trecerea de la un sector la un sector adiacent poate necesita mai mult de o comutare de biți în datele binare. De exemplu, trecerea de la 0011 la 0100 sau de la 1011 la 1100 necesită comutări de trei biți, iar trecerea de la 0111 la 1000 sau de la 1111 la 0000 necesită comutări pe patru biți. Dacă senzorii de preluare nu sunt aliniați corespunzător pe o rază a discului encoder, sau dacă toleranțele erorii de fabricație pentru imprimarea modelului de cod pe disc au fost mari sau dacă efectele mediului au dus la neregularități mari în matricea sectoarelor, atunci comutarea de biți de la o citire la alta nu va avea loc simultan. Aceasta are ca rezultat citiri ambigue în perioada de tranziție. De exemplu, în schimbarea de la 0011 la 0100, dacă LSB comută mai întâi, citirea devine 0010. În formă zecimală, aceasta indică în mod greșit că rotația a fost de la unghiul 3 la unghiul 2, în timp ce, de fapt, a fost o rotație de la unghiul 3 la unghiul 4. Astfel de ambiguități în interpretarea datelor poate fi evitată prin utilizarea unui cod gray, așa cum se arată în figura 6.52b pentru acest exemplu. Reprezentarea codificată a sectoarelor este prezentată în tabelul 6.8. Rețineți că, în cazul codului gray, fiecare tranziție adiacentă presupune comutarea unui singur bit.

TABEL 6.8 Codificare sectorială pentru un encoder absolut pe 4 biți

Pentru un encoder absolut, un cod Gray nu este esențial pentru înlăturarea ambiguității în comutările de biți ale codului binar. De exemplu, pentru o citire absolută dată, cele două citiri absolute adiacente sunt automat cunoscute. O citire poate fi verificată în raport cu aceste două posibilități valide (sau o singură posibilitate dacă se cunoaște direcția de rotație) pentru a vedea dacă citirea este corectă. O altă abordare este introducerea unei întârzieri (de exemplu, trigger-Schmitt) la citirea ieșirii. În acest mod, o citire va fi luată numai după ce au avut loc toate comutările de biți, eliminând astfel posibilitatea unei citiri ambigue.

6.13.4.2 Logica de conversie a codului

Un dezavantaj al utilizării unui cod Gray este că necesită logică suplimentară pentru a converti numărul codat-gray în numărul binar corespunzător. Această logică poate fi furnizată în hardware sau software. În particular, o poartă SAU-Exclusiv =„Exclusive-Or” poate implementa logica necesară, astfel cum este dată de

(6.71)

Acest lucru convertește un cuvânt codat-gray de n biți [Gn−1Gn−2 ... G0] într-un cuvânt codat binar cu n biți [Bn−1Bn−2 ... B0] unde indicele n-1 indică bitul cel mai semnificativ (MSB) și 0 este LSB. Pentru dimensiuni mici de cuvinte, codul poate fi dat ca un tabel de căutare (vezi Tabelul 6.8). Rețineți că codul gray nu este unic. Pot fi dezvoltate alte coduri gray, care asigură comutarea unui singur bit între numere adiacente.

6.13.4.3 Avantaje și dezavantaje

Principalul avantaj al unui encoder absolut este capacitatea sa de a furniza citiri unghiulare absolute (cu o rotire completă de 360​​°). Prin urmare, dacă o citire este ratată, ea nu va afecta următoarea citire. Mai exact, ieșirea digitală corespunde în mod unic unei rotații fizice a discului de cod și, prin urmare, o citire particulară nu depinde de acuratețea unei citiri anterioare. Aceasta oferă imunitate la eșecul datelor. Un impuls pierdut (sau o eroare de date de un fel) într-un encoder incremental ar duce o eroare la citirile ulterioare până când contorul este șters.

Un encoder incremental trebuie să fie alimentat pe toată durata de operare a dispozitivului. Astfel, o pană de curent poate introduce o eroare dacă citirea nu este reinitializată (sau calibrată). Un encoder absolut are avantajul că trebuie alimentat și monitorizat doar atunci când se face o citire.

Deoarece matricea de cod de pe disc este mai complexă într-un encoder absolut și pentru că sunt necesari mai mulți senzori de lumină, un encoder absolut poate fi aproape de două ori mai scump decât un encoder incremental. De asemenea, din moment ce rezoluția depinde de numărul de piste prezente, este mai costisitor de obținut rezoluții mai fine. Dar, un encoder absolut nu necesită contoare digitale și buffere, cu excepția cazului în care îmbunătățirea rezoluției se face folosind o pistă auxiliară sau se utilizează cronometrarea-puls pentru calcularea vitezei.

6.13.5 Eroare Encoder

Erorile în citirile encoderului de arbore pot veni din mai mulți factori. Sursele principale ale acestor erori sunt următoarele:

1. Eroare de cuantizare (datorită limitărilor de dimensiune a cuvântului digital)

2. Eroare de asamblare (excentricitate de rotație etc.)

3. Eroare de cuplare (recul de angrenare, alunecare a curelei, legături slăbite etc.)

4. Limitări structurale (deformarea discului și deformarea arborelui datorită încărcării)

5. Toleranțe de fabricație (erori de la modelele de cod imprimate inexact, poziționarea inexactă a senzorilor de preluare, limitări și nereguli în generarea semnalului și hardware de detectare etc.)

6. Efecte ambientale (vibrații, temperatură, zgomot de lumină, umiditate, murdărie, fum etc.)

Acești factori pot duce la citiri inexacte ale deplasării și vitezei și detectarea eronată a direcției de mișcare.

O formă de eroare într-o citire a encoderului este histerezisul. Pentru o poziție dată a obiectului în mișcare, dacă citirea encoderului depinde de direcția de mișcare, măsurarea are o eroare de histerezis. În acest caz, dacă obiectul se rotește din poziția A în poziția B și înapoi în poziția A, de exemplu, citirile inițială și finală ale encoderului nu se vor potrivi. Cauzele histerezisului includ reculul în cuplajele de angrenare, legăturile slăbite, deformarea mecanică în discul de cod și arbore, întârzieri în circuitele și componentele electronice (constante de timp electrice, neliniarități etc.) și semnale de impuls zgomotoase care fac detectarea impulsurilor (să zicem, prin detecție de nivel sau detecție de front) mai puțin exactă.

Semnalul de impuls brut de la un encoder optic este oarecum neregulat și nu constă în impulsuri perfecte, în principal din cauza variației (oarecum triunghiulare) a intensității luminii primite de senzorul optic pe măsură ce discul de cod se deplasează printr-o fereastră și din cauza zgomotului în circuitele de generare a semnalului, inclusiv zgomotul creat de surse de lumină imperfecte și fotosenzori. Impulsurile zgomotoase au fronturi imperfecte. Ca urmare, detectarea impulsului prin detectarea frontului poate duce la erori, cum ar fi declanșare multiplă pentru același front al unui impuls. Acest lucru poate fi evitat prin includerea unui declanșator trigger-Schmitt (un circuit logic cu histerezis electronic) în circuitul de detectare-front, astfel încât neregularitățile ușoare în frontul impulsului să nu provoace declanșări eronate, cu condiția ca nivelul de zgomot să se afle în banda de histerezis a declanșatorului. Un dezavantaj al acestei metode este, însă, că histerezisul va fi prezent chiar și atunci când encoderul în sine este perfect. Impulsuri practic fără zgomot pot fi generate dacă doi fotosenzori sunt folosiți pentru a detecta simultan zonele transparente și opace adiacente de pe o pistă și un circuit separat (un comparator) este utilizat pentru a crea un impuls care depinde de semnul diferenței de tensiune a celor două semnalele de senzor. Această metodă de formare a impulsurilor a fost descrisă anterior, cu referire la figura 6.50.

6.13.5.1 Eroare de excentricitate

Excentricitatea (notată cu e) a unui encoder este definită ca distanța dintre centrul de rotație C al discului de cod și centrul geometric G al pistei circulare de cod. Excentricitatea nenulă determină o eroare de măsurare cunoscută sub denumirea de eroare de excentricitate. Contribuțiile primare la excentricitate sunt următoarele:

1. Excentricitatea arborelui (es)
2. Excentricitate de asamblare (et)
3. Excentricitatea pistei (e1)
4. Jocul radial (ep)

Excentricitatea arborelui rezultă dacă arborele rotativ pe care este montat discul de cod este imperfect, astfel încât axa sa de rotație să nu coincidă cu axa sa geometrică. Excentricitatea de asamblare este cauzată dacă discul de cod este montat necorespunzător pe arbore, astfel încât centrul discului de cod să nu cadă pe axa arborelui. Excentricitatea pistei provine din nereguli în procesul de imprimare al pistei de cod, astfel încât centrul cercului de pistă nu coincide cu centrul geometric nominal al discului. Jocul radial este cauzat de orice slăbire în ansamblu în direcția radială. Toți patru dintre acești parametri sunt variabile aleatoare. Fie valorile lor medii μs, μa, μt și μp și fie abaterile standard σs, σa, σt și σp. O limită superioară foarte conservativă pentru valoarea medie a excentricității generale este dată de suma valorilor medii individuale, fiecare valoare fiind considerată pozitivă. O estimare mai rezonabilă este oferită de valoarea rms, care este dată de

Mai mult, presupunând că excentricitățile individuale sunt variabile aleatoare independente, abaterea standard a excentricității generale este dată de

Cunoscând valoarea medie μ și abaterea standard σ a excentricității generale, este posibilă obținerea unei estimări rezonabile pentru excentricitatea maximă care poate apărea.

Notă: Este rezonabil să presupunem că excentricitatea are o distribuție gaussiană (sau normală).

Excentricitatea unui encoder incremental afectează, de asemenea, unghiul de fază între semnalele în cuadratură, dacă se folosește o singură pistă și doi senzori (pick-off) de preluare (cu decalare circumferențială). Această eroare poate fi redusă folosind aranjamentul cu două piste, cu cei doi senzori poziționați de-a lungul unei linii radiale astfel încât excentricitatea va afecta în mod egal cele două ieșiri.

6.14 Traductoare digitale diverse