traductor incremental

În mijlocul scalei, la trecerea de la valoarea 127-128, ieșirea codorului schimbă simultan toate biți. În cazul ideal, toți biții modificați simultan. În realitate, cei doi senzori absolut identice, nu se întâmplă, toate acestea sunt o sensibilitate diferită pic, viteza, etc.; Se adaugă la acest non-idealitate de aliniere la locația opt senzori în linie. Acest lucru va conduce la faptul că, în tranziția de la valoarea 127 (01111111) la 128 (10000000), ne așteptăm să vedem un număr de 8-biți binar.







Figura 11.3 este un exemplu de un astfel de stat schimbări de ieșire atunci când trecerea de 7Fh în 10h. În loc de tranziție secvența de ieșire 7Fh → 10h poate fi observat: 7Fh → 7BH → → 75h 71h → F1h → D1HSetările → → 90h 10h. Acest efect poate fi paralizantă.

traductor incremental

Să presupunem că codorul este plasat în sistem precis de control al unității. Controlerul, care implementează controlul printr-o buclă de feedback, compară coordonatele senzorului cu poziția dorită a sculei, și controlează servomotorul deplasarea sculei. Unitatea primește o comandă de poziție în punctul 128. ajunge cu succes 127 și la cea mai mică viteză, astfel încât să nu alunece din inerție, depășește ultimul pas înainte de 128.

În acest moment, codorul produce o anumită valoare aleatoare de coordonate; controlor primește adevărata lui de coordonate, calculeaza un offset de la poziția dorită și oferă o comandă servo corespunzătoare pentru reducerea acestei deplasări. Acest „fantomă“ prejudecată aleatoare și poate fi orice, în intervalul de la 0 până la jumătate din lungimea liniei (ținând cont de faptul că suntem deja în mijloc, să ia valoarea medie a patra linie ca fiind cel mai probabil).

Deci, înainte de a ajunge în poziția dorită de circa o jumătate de pas, servo motor face pași mari și încercările de a trage căruciorul undeva în direcția unei linii sfert. Pe drum, senzorul primește valorile corecte, deplasarea calculată este redus drastic, iar comportamentul ulterior al unității depinde în întregime de dinamica: diapozitiv greu și lent pur și simplu nu are timp să fie dispersată, ușor și repede poate începe să oscileze în jurul punctului țintă.

Toate aceste probleme pot fi ușor evitate prin utilizarea coordonatelor pentru a reprezenta codul Gray. Principala caracteristică a acestuia este că, prin creșterea sau descreșterea cantității pe unitate de cod Gray pentru această valoare se schimbă numai într-o singură descărcare. Cum codul Gray și codul binar, prezentat în tabelul 11.2.

Indiferent rând din tabel vom alege, atunci când te duci la o linie în sus sau în jos în codul Gray se schimbă doar un singur bit; De aceea, chiar și în prezența în fenomene tranzitorii diferența senzor între cele două eșantioane nu trebuie să depășească o unitate, care este destul de acceptabil în zona intermediară.

După cum sugerează și numele, un codificator incremental detectează poziția absolută a discului nu este în revoluție, în timp ce deplasarea relativă din poziția anterioară. Este suficient pentru a conduce o singură piesă (Fig. 11.4).

traductor incremental

traductor incremental

De multe ori, o a doua piesă cu o singură divizie a unui viraj plin. Această cale vă permite să setați discul la poziția sa inițială cu privire la care va fi efectuat ulterior contează. Acesta poate fi, de asemenea, util în diagnosticarea codificatorul, care permite pentru a controla numărul de impulsuri emise de senzor într-o singură rotație a discului.







Numărarea numărul de impulsuri de la senzorul poate fi determinat unghiul de rotație disc în raport cu poziția anterioară; dar este imposibil să se determine direcția de rotație a discului. Pentru a determina direcția folosind un al doilea senzor, deplasat în raport cu primul trimestru teren (jumătate din lățimea bar sau spațierea între ele). Prin diferența de fază a semnalelor senzorilor determinate de direcția de rotație a discului.

Compararea codoarelor absolute și incrementale

Ambele tipuri de codificatoare rotative au avantajele și dezavantajele lor.

Codificatorul absolută poate fi interogate în orice moment în care nevoia de a cunoaște poziția discului, mai degrabă decât de a trece să se ocupe de fiecare pas. Este mai ușor să lucreze cu ei (în special, o face definiția trivială de rotație de disc), și reduce cerințele pentru controlerul pentru a procesa datele de coordonate (în cazul în care controlerul va pierde câteva impulsuri de la senzori, curent unitatea de informații despre locație vor fi disponibile în continuare).

Dezavantajele unui codificator absolut, în primul rând trebuie să fie atribuit complexitatea de fabricație asociat cu numărul mare de sonde (una pentru fiecare piesă de antrenare, adică pentru fiecare bit al discului cod coordonate unghiulare). De asemenea, în cazul unui codificator de înaltă precizie (și, în consecință, un număr mare de biți de date) pentru a conecta codificatorul la controler va avea nevoie de un mare număr de linii și același număr de biți de intrare (în cazul transmisiei paralele) sau costul de serializare hardware suplimentar (în cazul secventiala transmisie).

În cazul avantajele și dezavantajele traductorul incremental se inversează în comparație cu o absolută. Avantajele sunt simplitatea (doar doi senzori este în funcție de rezoluție), ușurința relativă de fabricare artizanale, un număr mic de linii de comunicare către controler. Dezavantaje: cerințele pentru controler de mare viteză (în caz de pierdere de impulsuri de la senzorii din datele coordonatelor vor acumula erori), date de complexitate mai ridicată (datorită necesității de a identifica direcția de rotație a discului).

Cea mai simplă procedură de prelucrare a semnalului incremental encoder.

Înainte de a trece la luarea în considerare a procedurilor de prelucrare a semnalului de decodor, dau seama ce aceste semnale.

Așa cum am menționat mai devreme, decodorul are doi senzori: A și B. Senzorii sunt deplasate unul față de celălalt cu jumătate din accident vascular cerebral (sau unitatea sfert-pas), astfel încât semnalele sunt obținute prin p / 2 defazate. Presupunem pentru definiteness că semnalul B se situează în urma semnalului A atunci când discul se rotește în sens antiorar:

Fig. 11.5 arată că, atunci când mișcarea discului în sens antiorar (0-1-2-3-4 stare.) La momentul trecerii semnalului A de la starea 0 la 1 (front crescător) semnalul B este întotdeauna în starea 0 (cm. State 0, 4, 8). Dacă discul se mișcă în sensul acelor de ceasornic (7-6-5-4-3.), Semnalul B este întotdeauna în starea 1 (starea 6, 2).

Fig. 11.5. Senzori Cronograme A și B

Prin urmare, simpla procesare a semnalului procedeu de decodare pe marginea conducătoare a semnalului O stare de semnal de test B; dacă este 0, incrementa poziția contor de unul, în caz contrar, se reduce prin unul.

Acest algoritm este foarte potrivit pentru utilizarea în aplicații necritice unde eroarea determinarea coordonatelor nu conduce la consecințe fatale: .. Are extrudat recent optic cu role de șoarece / trackball, valkodera recorder etc. Cu toate acestea, nu este potrivit pentru aplicații în care precizia determinării coordonatelor este factorul decisiv.

Motivul pentru această imperfecțiune, s-ar părea o procedură simplă și de încredere constă în faptul că este nevoie de semnale de forma ideală. În condiții reale, senzorii pot fi „Bounce“ atunci când schimbarea stării de semnal (acest lucru este valabil în special pentru senzori cu contacte mecanice). Ca rezultat palavrageala coordonate incrementului va fi tras de mai multe ori în loc de una, iar valoarea coordonatele vor fi răsfățați.

Dar, chiar dacă am putea scăpa de palavrageala total, o altă problemă rămâne. Să presupunem că discul este într-o poziție între punctele 3 și 4 din Fig. 3 (denumit punctul 3.5). Atunci când se deplasează la un punctul 4.5 până la 4 Punctul semnal se modifică de la 0 la 1, și conform procedurii noastre discul de coordonate este incrementat cu unu (ca un semnal B egal cu zero, pe marginea conducătoare a pulsului A). Apoi, discul este returnat înapoi 4.5-3.5, dar din moment ce mișcarea inversă a discului 4 în punctul Un semnal trece de la 1 la 0, procedura noastră ignoră evenimentul.

Deci, ne-am mutat discul la un unghi mic și a revenit în poziția inițială, și coordona a crescut cu unul. Puteți repeta această mișcare orice număr de ori, de fiecare dată și coordona va crește. Ca urmare, discul de coordonate măsurate printr-o procedură simplă, nu va avea nimic de a face cu starea reală a discului.

Problema este destul de relevant, deoarece probabilitatea de a discului de oprire la granița dintre benzile de lumină și întuneric este suficient de mare, și vibrații în timpul funcționării echipamentului industrial în legătură cu posibila acționare reacție ar putea duce la fluctuații în discul suficient pentru a schimba starea senzorului. Acest lucru face foarte simplu pentru frontul crescător al semnalului O procedură de procesare a semnalului inadecvate pentru aplicații critice care necesită o precizie maximă de măsurare a poziției discului.

Trebuie remarcat faptul că orice codificator incremental are 2 tipuri de state: o stabile și durabile. stări stabile ale codorului sunt situate într-o perioadă de semnal A. Nu sunt state stabile - tot restul. stări Instabil codorului este transformată cu ușurință într-un grajd. astfel dincolo de punctul de doar utoychivye de stat poate lua de referință.