← Back to Home

Control masă rotativă

PROTOTIP

Sarcină :

Măsurarea formei spațiale a unei piese așezate pe o masă rotativă cu o mașină de măsurat în coordonate cu palpator, astfel încât masa rotativă să se rotească cu o valoare unghiulară specificată la comenzile emise de mașina de măsurat în coordonate.

Funcționare :

Realizat cu un microcontroler DSPIC33EP32MC202. Servomotorul rotește axul principal printr-un reductor 1/80. Există un encoder incremental pe axul motorului (semnale A, B, index), care dă 4500 impulsuri per 1 rotație motor plus 1 semnal index. Aceasta este 360.000 impulsuri/1 rotație masă (rezoluție 0,001°, 4500 x 80 = 360.000).

Servomotorul așteaptă următoarele semnale pentru rotație :

  • Semnal DIR, selectarea direcției de rotație
  • Semnal STEP (deși acesta nu este un motor pas cu pas !!), care rotește axul principal cu o anumită cantitate.

Ca o "ipoteză" de plecare, un astfel de impuls rotește axul cu 0,001°, și pentru fiecare impuls STEP, un impuls de ieșire incremental este generat pe encoderul incremental de pe axul motorului. (Aceasta oferă feedback-ul, permițând astfel realizarea unui control în buclă închisă). Datorită structurii mecanice și inerției sistemului, acesta poate fi accelerat doar până la o viteză specificată (măsurată); peste această viteză, impulsurile de "pas" intrate nu sunt executate imediat, ci electronica servomotorului le stochează și le execută doar mai târziu. Astfel apare o alunecare (slip), o întârziere, care este indicată de diferența dintre numărul de impulsuri emise și numărul de impulsuri incrementale intrate (proporțional cu unghiul de rotație real). (Numărul de imp. incr. va fi mai mic!) Servomotorul trebuie controlat astfel încât această valoare de alunecare să nu depășească un nivel predefinit!

ÎNREGISTRAREA PUNCTULUI DE REFERINȚĂ :

Înainte de operațiunile de lucru efective, axul principal trebuie setat la punctul de referință (punctul zero).

Implementare :

Pe marginea axului principal există un "știft" de poziționare "punct zero/punct de referință", care în timpul rotației, când ajunge la senzorul inductiv situat pe stator, generează un semnal pe care îl numim semnal de mers lent, deoarece dacă acest semnal sosește, rotația rapidă inițială trece la o rotație lentă de mers lent. Datorită reductorului (1/80 ?), semnalul index al encoderului incremental sosește în max. câteva grade după sosirea semnalului. Acest lucru, corectat cu o valoare de offset (datorită structurii mecanice), desemnează referința sau punctul zero, până la care controlul mai rotește axul principal.

Numărarea impulsurilor INCREMENTALE :

Cu QEI - quadrature encoder interface, care primește semnalele QEA, QEB și IND ale encoderului incremental și numără impulsurile cu un contor pe 32 de biți sus/jos! (Semnalul index este necesar pentru deplasarea la poziția de ref.!) La înregistrarea punctului de referință, trebuie utilizat semnalul index (IND).

Realizare :

PIC numără semnalele incrementale, detectează sosirea semnalului index, primește comenzi de la tabletă (OS Android), le execută controlând "pășirea", accelerarea, decelerarea și mișcarea continuă a servomotorului până când poziția incrementală specificată este atinsă. După aceea, așteaptă următoarea comandă. În timpul mișcării, trimite continuu datele de poziție curente (valoare unghiulară, precizie 0,001°!) către tabletă, care le afișează.


© 2026 DevProt Engineering