Conducerea Actionarilor cu Turatie Variabila Prin Sisteme Electronice
=== conducerea_actionarilor_cu_turatie_variabila_prin_sisteme_electronice_part3 ===
UNIVERSITATEA "1 DECEMBRIE 1918" DIN ALBA IULIA
FACULTATEA DE ȘTIINȚE EXACTE ȘI INGINEREȘTI
Specializarea: Electronică aplicată
LUCRARE DE DISERTAȚIE
Alba Iulia
2017
UNIVERSITATEA "1 DECEMBRIE 1918" DIN ALBA IULIA
FACULTATEA DE ȘTIINȚE EXACTE ȘI INGINEREȘTI
Specializarea: Electronică aplicată
Conducerea acționărilor cu turație variabilă prin sisteme electronice
Alba Iulia
2017
Cuprins
Capitolul 1. INTRODUCERE
Acționarea electrică este operația prin care sunt efectuate comenzi asupra regimurilor de funcționare a mașinilor de lucru cu ajutorul energiei electrice. În funcție de natura turației, acționările electrice se împart în două categorii: [1]
acționări reglabile, atunci când acestea au turația variabilă;
acționări nereglabile, atunci când acestea au turație constantă.
În contextul economiei și a protejării mediului, a fost necesar să se găsească modalități pentru a economisi energie și costuri. În general, tendința la această oră este dezvoltarea și utilizarea surselor alternative de energie ca și tehnologii noi de economisire a energiei, în timp ce soluțiile tehnice care există deja, care oferă posibilități enorme de economisire, primesc relativ puțină atenție. O soluție economică și care s-a impus în practică este utilizarea de convertizoare de frecvență pentru reglarea turației. O reglare a turației motorului cu convertizor de frecvență oferă posibilitatea unei economisiri de energie de până la 70%.
Utilizarea traductoarelor de mișcare a devenit obișnuită și a dobândit o importanță din ce în ce mai mare în proiectarea sistemelor de control a mișcării utilizate în toate sectoarele de producție. Sistemele de control în buclă închisă au devenit din ce în ce mai atractive pentru proiectanți datorită preciziei, rezoluției și adaptabilității la diferite sisteme mecanice. Gama largă de dispozitive disponibile în mod curent oferă procetanților din domeniu o multitudine de soluții pentru a satisface cerințele controlului mișcării.
Monitorizarea mișcării liniare și a mișcării de rotație
Procesele de măsurare și control implică adesea necesitatea monitorizării mișcărilor de rotație și liniare. Aceste procese sunt procese care se desfășoară în mai multe etape dintre care prima etapă constă in generarea unui semnal electric care caracterizează mișcarea respectivă. În cazul în care obiectivul constă în măsurare, semnalul este utilizat pentru cuantificarea caracteristicii respective (de exemplu deplasarea, viteza, etc.), iar datele sunt codate într-un format pe care poate să-l înțeleagă utilizatorul final. În cazul în care obiectivul este controlul, semnalul este utilizat de către controlerul asociat.
Dacă sunt necasare atât măsurarea cât și controlul, generarea semnalului electric care caracterizează mișcarea, este urmată de prelucrarea prin intermediul traductoarelor. Proiectarea și selectarea unui traductor este impusă de evaluarea cerințelor aplicației considerate.
Tipuri de traductoare
Principalele tipuri de traductoare utilizate în monitorizarea mișcării sunt:
Comutatoare de proximitate;
Potențiometre;
Componente inductive analogice;
Encodere.
Traductorul care va fi utilizat într-o anumită aplicație este ales în funcție de performanțele pe care trebuie să le îndeplinească sistemul monitorizat, condițiile mediului în care aceste lucrează, prețul de cost, dimensiuni de gabarit, spațiul necesar, etc.
Comutatoare de proximitate
Comutatoarele de proximitate constituie cele mai vechi elemente de control și constituie în esență dispozitive de sesizare a poziției. În aceasta categorie sunt incluse comutatoarele mecanice, senzorii foto, sesizoarele magnetice, senzorii de presiune.
Comutatoarele de proximitate au constituit primele dispozitive oindicatoare de localizare utilizate în sistemele de control dar foarte rar utilizate în sistemele de măsurare cu excepția celor de tipul “pornește – oprește”. Ieșirea constă într-o modificare discretă a nivelului semnalului și aceste dispozitive se pot interfața ușor cu controlere dedicare sau cu computere.
Răspunsul comutatoarelor mecanice este relativ lent. Este necesar să se ia măsuri de eliminare a semnalelor multiple generate de vibrațiile contactelor, în special în cazul în care acestea sunt conectate la dispozitive de control cum ar fi computerele, care sunt capabile de răspunsuri foarte rapide.
Potențiometre (rotative și liniare)
Nivelul semnalului de la ieșirea potențiometrelor (rotative sau liniare), depinde de poziția unui contact alunecător pe un element rezistiv, după cum este ilustrat în Fig. I.1.
Deoarece funcționarea normală a potențiometrelor cea de divizor rezistiv de tensiune, semnalul de ieșire este analog, ceea ce implică utilizarea unui dispozitiv de conversie analog – digital în cazul aplicațiilor care necesită un semnal digital de ieșire. Spre deosebire de comutatoarele de proximitate care au ca principală sarcină controlul de siguranță sau limitarea deplasării, potențiometrele sunt adesea utilizate pentru măsurarea deplasării. Potentiometrele, în cazul în cazul în care sunt calibrate corespunzător prezintă o precizie medie, însă sunt susceptibile de a suferi degradări semnificative datorită utilizării. Rezoluția este limitată, dar sunt diapozitive adecvate pentru numeroase aplicații.
Fig. I.1. Diferite tipuri construtive de potențiometre.
Potențiometrele sunt afectate de numeroase influențe ale mediului în care lucrează. Deoarece sunt dispozitive bazate pe contacte electrice alunecătoare, trebuie protejate împotriva șocurilor, vibrațiilor și a impurităților.
Componente inductive analogice
Traductoarele inductive sunt utilizate pe scară largă atât pentru aplicațiile rotative, cât și pentru cele liniare. Similar ca la transformator, curentul alternativ care circulă printr-o bobină (primar), induce curent alternativ într-o bobină alăturată (secundar), principiul de funcționare constând în cuplajul magnetic dintre două conductoare paralele. Poziția este dedusă precis prin utilizarea unor circuite electronice externe. Ieșirea este sinusoidală.
Există multe tipuri de traductoare inductive. Cele mai comune sunt:
selsinele,
rezolverele potențiometrele inductive,
transformatoarele diferențiale liniar variabile.
O selsină clasică seamănă cu un motor trifazat dar generează la ieșire un semnal corespunzător poziției unghiulare a rotorului propriu. Semnalul de ieșire este analog, iar poziția este indicată de amplitudinea sau faza tensiunii care constituie semnalul de ieșire.
Selsinele pot fi conectate astfel încât rotorul selsinei secundare (de ieșire) să aibă aceeași poziție cu rotorul selsinei primare (de intrare), conform Fig. I.2.
Fig. I.2. Conectarea selsinelor.
Rezolverele sunt similare selsinelor, însă pe stator în loc de înfășurarea trifazată există două înfășurări cu axele magnetice ortogonale. Cel mai simplu rezolver este rezolverul cu patru poli, prezentat în Fig. I.3.
Fig. I.3. Rezolver cu patru poli.
Iesirile V1 și V2 depind de unghiurile dintre rotor și înfășurările statorice. Rezolverele de mare rezoluție sunt prevăzute cu o pereche de înfășurări adiționale.
Encodere
Encoderele se pot clasifica în două categorii:
cu contacte – sunt prevăzute cu perii sau senzori (palpatori) deget care transmit electric un semnal ce indică o modificare a poziției.
fără contacte – se bazează pe fenomene magnetice, capacitive sau optice în scopul detectării mișcării. Ieșirile pot fi: absolute, o secvență de cod binar care indică poziția absolută sau incrementală, cu pulsuri repetitive care sunt numărate pentru detectarea întregii mișcări.
Detectarea mișcării de rotație absolută sau incrementală îndică mișcarea de rotație a unui arbore. Un disc al encoderului este texturat cu linii radiale a căror succesiune este detectată pe măsură ce arborele se rotește.
Detectarea poziției liniare depinde de cap detector mobil a cărui mișcare este sesizată de-a lungul unui traseu liniar și a unei scări gradate. Principiul de funcționare și tipurile semnalelor de ieșire sunt similate cu cele ale dispozitivelor care detectează mișcarea de rotație. În ambele cazuri forma și dimensiunile acoperă un spectru larg, în funcție de aplicațiile pentru care sunt folosite.
Caracteristici de funcționare
Potențiometrele, encoderele și traductoarele inductive se utilizează atât pentru măsurări, cât și pentru control. Comutatoarele de proximitate, din punct de vedere tehnic constituie dispozitive de măsurare și control, dar din cauza ieșirii care are doar două stări, nu au performanțe competitive cu celelalte tipuri de dispozitive.
Precizia, definită ca diferență dintre poziția reală și poziția idelă se cuantifică tipic prin însumarea erorilor generate de componentele unui anumit dispozitiv, în comparație cu cu rezultatele medii a unei valori de referință acceptate.
Rezoluția este adesea confundată cu precizia. Rezoluția este abilitatea unui anumit dispozitiv de a împăți o deplasare unghiulară sau liniară pe o anumită distanță, într-un număr de diviziuni. Tipic, diviziunile unghiulare sunt raportate în grade, minute și secunde. Deplasările liniare sunt raportate în milimetri. Potențiometrele și comutatoarele de proximitate sunt considerate ca fiind dispozitive de mică rezoluție în timp ce dispozitivele inductive și encoderele acoperă o arie cuprinsă între rezoluție mică și rezoluție înaltă.
În procesul de alegere a dispozitivului celui mai adecvat pentru o anumită aplicație este necesar să se țină cont de viteza maximă, accelerația cuplul de pornire.
Viteza la care poate funcționa un traductor este limitată de factori mecanici și electrici. Din punct de vedere mecanic, componentele unui traductor care limitează în mod frecvent viteza sunt componentele cu contacte cum ar fi periile și ansamblurile cu rulmenți cu bile. Din punct de vedere electric limitările rezultă din faptul că anumite componente electrice au o capacitate limitată de a răspunde sau transmite suficient de repede pentru a urmări cu precizie mișcarea.
Accelerația este o componentă a vitezei. Dacă dispozitivul este limitat de anumite condiții electrice, din punct de vedere mecanic el trebuie să învingă inerția și limitările structurale, astfel încât într-un anumit proiect să fie asigurată durata de funcționare (de viață) specificată.
Fiabilitatea și durata de viață a unui traductor depind de corectitudinea modului de proiectare și de efectele funcționării într-o anumită aplicație in condiții normale de operare. Ca și în cazul celorlalte caracteristici de mai sus, fiecare traductor prezintă o gamă largă de capacități și posibilități de configurare care atunci când sunt specificate corect vor conduce la o funcționare cu un înalt grad de fiabilitate și o durată lungă de funcționare.
Capitolul 2. ENCODERE
Encoderele sunt traductoare care transformă mișcarea mecanică într-un semnal electric codat după un anumit algoritm de către un disc sau o scală mobilă. Encoderele se pot clasifica după:
Metoda utilizată pentru citirea elementului codat:
cu contac;
fără contact;
Tipul semnalului de ieșire:
cuvânt digital;
sau o serie incrementală de impulsuri;
Fenomenul fizic utilizat pentru producerea semnalului de ieșire:
electric,
magnetic,
optic,
capacitiv.
Encodere cu contact
Encoderele cu contact sunt acele encodere care utilizează un contact mecanic (perie sau senzor pin) și un disc codat. Discul conține o serie de cercuri concentrice sau piste, care sunt benzi metalice subțiri cu bază comună, conform Fig. II.1.
Fig. II.1. Disc de encoder care furnizează la ieșire cuvând digital.
Cele patru piste prezentate în figura de mai sus reprezintă un cod binar constând în rangurile 20, 21, 22 și 23. Senzorii de contact sunt notați cu B0, B1, B2, B3 și codează numere cuprinse între 0 și 15. În momentul în care discul se rotește, senzorii vin în contact fie cu benzile conductoare, fie cu porțiunile izolatoare dând naștere unor serii de structuri de unde dreptunghiulare.
Pe disc se pot utiliza structuri uniforme sau neuniforme, în funcție de aplicație. Teoretic, se poate utiliza orice model care poate fi realizat prin procedee fotografice și care pot fi transpuse pe un disc de encoder. Aplicația tipică a unui astfel de encoder constă în măsurarea poziției unui arbore, pentru care se utilizează o structură uniformă. Orice neuniuformitate apărută pe disc constituie o sursă de eraoare. Distanța neuniformă dintre segmente determină erori de poziție, iar execentricitățile cauzează o eroare care determină variația poziției unghiulare a arborelui după o lege sinusoidală.
Encodere fără contact
Encoderele fără contacte sunt encoderele care utilizează fenomene fizice diferite de conducția electrică. Cele mai utilizate sunt fenomenele magnetice, capacitive și optice.
Encodere magnetice
Encoderele magnetice au fost dezvoltate în scopul înlocuirii encoderelor cu contacte în aplicațiile limitate de viteza de rotație. Acest tip de encodere funcționează prin detectarea modificării frecvenței de rezonanță, modificări ale gradului de magnetizare sau a gradului de saturare al unei inductanțe. În cazul fiecărei metode fluxul inductor produs de un disc codat magnetic determină modificarea stării inițiale prin mărirea sau micșorarea valorii ei. Astfel, pentru fiecare principiu de funcționare există două stări diferite, corespunzând stărilor logice unu sau zero.
Encoderele care utilizează modificarea frecvenței de rezonanță conțin un circuit acordat a cărui frecvență reprezintă starea logică unu, iar dezacordarea circuitului reprezintă starea logică opusă.
În cazul metodei care utilizează saturarea magnetică, inductorul poate fi saturat sau nesaturat. Prin acesta, reluctanței circuitului magnetic îi va corespunde valorile logice unu sau zero.
Rezoluția este limitată de dimensiunea porțiunii magnetizate și influențată de interacțiunea dintre zonele magnetizate de pe pistele alăturate.
Encoderele magnetice nu mai prezintă limitarea de viteză caracteristică encoderelor cu contact și oferă o durată de funcționare mai mare prin eliminarea contactului fizic dintre disc și senzor. Pe lângă aceasta, encoderele magnetice funcționează bine în medii ostile encoderelor cu contact. Totuși, existența unor fluxuri magnetice ambientale de valoare mare poate cauza distrugerea structurii magnetice a discului sau să inhibe funcționarea miezului saturat.
În cazul utilizării acestor encodere în diferite aplicații se impune luarea de măsuri de precauție împotriva interferențelor electromagnetice.
În Fig. II.2. se prezintă structura unui encoder magnetic.
Encodere capacitive
Encoderele capacitive sunt cele mai puțin utilizate encodere fără contact și au fost create pentru a satisface cerințe particulare ale aplicațiilor. Semnalul de ieșire digital se obține prin utilizarea unui sistem de măsurare a defazajului sau a unei tenhici de control a frecvenței.
Deși encoderele capacitive în general nu sunt diponibile ca sisteme standard, s-au realizat și sisteme cu până la 19 biți pentru o singură rotație. Din punct de vedere teoretic, encoderele capacitive pot îndeplini aceleași funcții îndeplinite de encoderele cu contact, encoderele optice sau magnetice. Problemele ridicete de proiectarea, fabricarea și funcționarea lor au limitat aria de utilizare a detectoarelor capacitice.
Fig. II.2. Encoder magnetic tipic.
Encodere optice
Encoderele optice au fost primele detectoare fără contact dezvoltate în scopul eliminării problemelor ridicate de funcționarea encoderelor cu contact. În prezent acest tip de encodere oferă cea mai mare rezoluție și precizie de detecție și pot funcționa eficient la viteze înalte.
Discurile encoderelor optice au zone opace și transparente (conforn Fig. II.3). acestea se pot produce prin expunerea unei emulsii fotografice la lumină, prin acoperire galvanică a unui substrat sau prin corodarea unui metal pe anumite zone. Fiecare metodă determină anumite caracteristici impuse de aplicația în care urmează să fie folosite.
Semnalul de ieșire se obține de la o arie de senzori fotoelectrici plasați cu mare precizie pe o parte a discului. Pe partea opusă a discului este plasată o sursă de lumină. Când discul se rotește cu o anumită viteză, zonele opace ale acestuia se intepun între spotul luminos și senzorul fotoelectric modulând ieșirea acestuia în concordanță cu codul înscris pe suprafața discului. Encoderul este prevăzut cu sisteme optice care concentrează lumina pe senzori (LED-uri cu focalizare, oglinzi, prisme, lentile, diode laser).
Fig. II.3. Tipuri de discuri pentru encoderele optice.
Detectarea spotului luminos poate fi făcută de mai multe tipuri de dispozitive. Materialele utilizate de către toate tipurile de detectoare de lumină aparțin grupelor II, IV și V din Tabelul lui Mendeleeev, la jumătatea distanței dintre metale și nemetale. Acestea sunt semiconductoarele. Fiecare dispozitiv răspunde acțiunii luminii într-o manieră diferită. Celulele fotovoltaice cu siliciu și seleniu generează o anumită tensiune electrică în momentul expunerii lor la lumină. Rezistența celulelor fotoconductive variază în funcție de intensitatea luminii. Dispozitivele fotoconductive se bazează pe sulfura de cadmiu sau seleniura de cadmiu, în funcție de viteza de răspuns dorită sau de porțiune din spectrul luminos pentru care se dorește sensibilitatea maximă. Intensitatea curentului de la ieșire variază în funcție de intensitatea luminoasă. Fotodiodele sun similare cu celulele fotoconductive. Fotodiodele se utilizează datorită faptului că suprafețele lor foarte mici permit un răspuns precis la frecvențe foarte mari. De obicei ele funcționează în regim de polarizare inversă, iar intensitatea curentului rezidual este modulată de către intensitatea luminii.
Fototranzistoarele sun în esență fotodiode, care au incorporate și un tranziator amplificator. Fotodiodele au un răspuns în frecvență mai bun și sunt mai puțin sensibile la temperatura ambiantă decât fototranzistoarele.
Sursele de lumină pentru encoderele optice pot fi cu incandescență, cu semiconductoare sau lasere, în functie de producător și de aplicația de destinație.
Îmbunătățirile recente aduse performanțelor de funcționare au consolidat poziția encoderelor optice pe piața dispozitivelor de control a mișcării. Creșterea performanțelor în ceea ce privește rezoluția, răspunsul în frecvență, precizia, incorporarea în lagăre și sistemele de încapsulare asigură utilizarea encoderelor optice într-o arie tot mai largă de aplicații.
Encodere cu ieșire absolută sau ieșire incrementală
În cele prezentate anterior s-a făcut referire la un disc cu o structură ca cea din Fig. II.1, pentru care ieșirea encoderului constă într-un cuvânt numeric care reprezintă valoarea absolută a poziției unghiulare a arborelui encoderului, de unde și denumirea de encoder absolut.
Dacă sistemul de codare a discului este înlocuit cu un sistem uniform constituit din zone fâșii subțiri uniform decalate radial, ieșirea encoderului va consta într-o serie de impulsuri incrementale care pot fi numărate pentru a determina poziția relativă a arborelui în raport cu o anumită poziție de referință. Această configurație definește encoderul incremental. Este un encoder care oferă în mod obișnuit referința zero și la ieșire două semnale pentru aducerea la poziția inițială și detectarea schimbării sensului de mișcare.
Fiecare dintre cele două tipuri de encodere prezintă avantaje și dezavantaje. Encoderul absolut nu poare fi adus în poziția inițială după o întreupere în sistemul de alimentare sau după efectul unor perturbații. Encoderul incremental este mai simplu de utilizatși mai ieftin.
Eroarea encoderelor incrementale
Eroarea encoderelor incrementale este compusă din trei tipuri de erori:
Eroarea de cuantuficare;
Eroarea instrumentului;
Eroarea de interpolare ciclică (dacă encoderul este echipat în acest sens).
Eroarea de cuantificare apare datorită faotului că encoderul nu poate indica o mișcare cuprinsă între punctele de detectare stabilite de rezoluția sa. Acesta este tipul de eroare cel mai frecvent întâlnită și repetă fiecare cuantul al mișcării. Într-un encoder ideal, fără abateri mecanice, optice sau electronice de la poziția ideală, poziția unghiulară corectă a arborelui este definită ca poziția unghiulară medie, dintre pozițiile citite anterioară și cea viitoare. Eroarea de cuantificare se definește ca abaterea poziției arborelui față de poziția mediană, eroarea maximă fiind ±1/2 din unghiul de roțatie dintre doi biți succesivi. De exemplu, un encoder rotativ incremental care generează 360 de impulsuri pentru o rotație completă are o eroare de cuantificare de ±1/2 grade (conform Fig. II.4).
Fig. II.4. Rezoluția encoderului.
Eroarea instrumentului constă în suma erorilor structurii reticulare a discului împreună cu imperfecțiunile mecanice din interiorul encoderului. Factori precum: tipul de lagăre, toleranța raportului dintre reticul și spațiul dintre reticule, gradul de netezime al substratului, setarea optică și poziția encoderului contribuie la dimensiunea acestui tip de eroare. Producătorii în mod obișnuit specifică aceste tipuri de erori și le cuantifică relativ la tipul de encoder sau la categoria corespunzătoare de encodere.
Eroarea de interpolare ciclică (dacă encoderul este echipat în acest sens) se datorează imperfecțiunii semnalelor analogice primite de la fotodetector și a prelucrării lor ulterioare. Aceste imperfecțiuni constau în abateri de fază sau în componeta de curent continuu din semnalele encoderelor în cuadratură care crează erori de poziție. Aceste erori afectează rezultatul numărării (cum ar fi cazul în care trecerea prin zero a semnalului care ar putea fi interpretată ca o măsură a mișcării). Efectul acestor erori constă în indicarea unei valori mai mari a parametrului mișcării în raport cu cel real.
În general, eroarea de interpretare ciclică este cam de jumătare din intervalul de rezoluție în cazul factorilor de interpolare de valoare ridicată și cam de o optime în cazul factorilor de interpolare de valoare scăzută.
Encoderul optic incremental
Principiul de funcționare
Principiul de funcționare al encoderului optic incremental constă în generarea unei forme de undă simetrice și repetitive care se poate utiliza pentru monitorizarea mișcării. Componentele de bază a acestui tip de encoder sunt: sursa de lumină, sistemul obturator de lumină, senzorul de lumină și electronica de prelucrare a semnalului. Aceste componente sunt înbinate și încapsulate în diferite modalități, în funcție de particularitățile aplicațiilor în cadrul cărora sunt utilizate. Arborele aflat în mișcare (intrarea mecanică a encoderului) acționează obturatorul de lumină care modulează intensitatea luminii incidente pe senzorul de lumină. Ieșirea senzorului de lumină reprezintă o funcție de intensitatea luminii incidente. Ieșirea encoderului constă într-un semnal rezultat prin prelucrarea electronică a semnalului de la ieșirea senzorului de lumină. Semnalul de la ieșirea encoderului poate fi:
o undă sinusoidală;
o undă dreptunghiular;
o serie de impulsuri echidistante.
Forma fundamentală a obturatorului de lumină consta într-o fantă și un substrat care conține linii și spații egal distanțate. Când substratul se deplasează în raport cu fanta, lumina care trece prin fantă își modulează intensitatea (crește și scade). Acest spot de lumină modulat în intensitate cade fiind incident pe senzorul de lumină, care transmite semnalul electric modulat în intensitate către circuitele de formatare. În practcă, în locul unei singure fante, se utilizează se utilizează un substrat staționar cu mai multe fante sau reticule, conform Fig. II.5.
Fig. II.5. Obturator.
Reticulele permit transmiterea unei intensitați mai mare de lumină, ceea ce este benefic pentru procesul de aliniere. De asemenea, imperfecțiuni precum pori, zgârieturi, particule de praf nu afectează semnificativ ieșirea senzorului dacă lumina incirentă este mediată prin intermediul mai multor linii.
Pentru a face să funcționeze obturatorul, intrarea mecanică a encoderului este cuplată cu placa mobilă. În cazul poziției ilustrate în Fig. II.5, senzorul luminos va indica intensitate luminoasă maximă.
După ce placa mobilă a avansat pe distanță corespunzătoare lățimii unei linii transparente, liniile opace ale plăcii mobile vor acoperi liniile transparente ale plăcii fixe și intensitatea luminoasă incidentă pe senzor va fi minimă (teoretic zero). În practică însă, sursa de lumina nu poate fi perfect colimată și între cele două plăci trebuie să existe o anumită distanță. din această cauză, un anumit număr de raze de lumină vor pătrunde prin obturator în momentul în care acesta este pe poziția complet închisă, iar lumina incidentă pe senzorul fotosensibil nu va fi zero.
Forma semnalului de ieșire ar trebui să fie triunghiulară, dar în realitate ea este mai mult sinusoidală, conform Fig. II.6. Valoarea eMAX depinde de intensitatea luminoasă de la ieșirea sursei, de transparența obturatorului în momentul în care este complet deschis și de sensibilitatea senzorului fotoelectric.
Fig. II.6. Semnalul de la ieșirea detectorului.
Tensiunea eMIN depinde de gradul de transpatență al obturatorului când aceste este complet închis. e1, valoarea vârf la vârf este limitată de eficiența obturatorului în a micșora fluxul luminos în poziția închis. Micșorarea acestui flux de poate face prin colimarea sursei de lumină și plasarea substratului fix cât mai aproape de senzori.
Cea mai obișnuită metodă de a discretiza semnalul de la ieșirea encoderului este acela prin care se generează câte un impuls la fiecare trecere a semnalului din fig. II.6, prin valoarea medie eAVG. Ideal, impulsurile sunt echidistante și corespund deplasării de o diatanță egală cu lățimea unei linii de pe placa mobilă. Rezultatul va consta într-o serie de impulsuri echidistante, de aceeași lățime, care vor fi folosite la monitorizarea precisă a mișcării care constituie intrerea encoderului.
Problema esențială pe care o ridică acest sistem este ilustrată în Fig. II.7.
Fig. II.7. Efectul deplasării semnalului asupra distenței dintre impulsuri.
Unda reprezentată cu linie plina este aceeași ca cea din Fig. II.6. Forma de undă reprezentată prin linie întreruptă reprezintă deplasarea semnalului provocată de modificarea tensiunii de alimentare a sursei de lumină sau de sensibilitatea senzorului. Se poate observa că după deplasare, că impulsurile generate la trecerea undei prin valoarea medie eAVG nu mai sunt echidistante. Din aceasta cauză, la care se adaugă și problema răspunsului în frecvență pentru anumite viteze de intrare în encoder, performanțele acestuia scad semnificativ.
Compensarea deplasării semnalului se realizează prin utilizarea unui senzor suplimentar pentru aceeași placă mobilă. Componenta staționară a obturatorului corespunzătoare celui de-al doilea senzor este decalată cu 1800 electrice față de primul senzor. Ambele obturatoare sunt luminate de la aceeași sursă de lumină, conform Fig. II.8.
Fig. II.8. Sistemul cu doi senzori fotovoltaici,
pentru compensarea abaterii semnalului de ieșire.
În momentul în care flucul maxim incident de lumină cade pe primul senzor, pe al doilea senzor cade fuxul minim. Cele două semnale de ieșire vor fi defazate, după cum se poate observa în Fig. II.9.
Fig. II.9. Ieșirile celor doi senzori defazate cu 1800.
Forma de undă rezultantă dacă cei doi senzori sunt conectați în opziție (adică push-pull sau cap-coadă) este echivalentă cu scăderea semnalului senzorului 2 din semnalul senzorului 1, după cum este ilustrat în Fig. II.10.
Fig. II.10. Ieșirile senzorilor 1 și 2 conectate în opoziție.
Forma de undă rezultantă are câteva caracteristici importante. În primul rând, valoarea sa medie este teoretic egală cu zero. În realitate, există inevitabile diferențe între cele două unde, din care cauză valoarea medie va fi puțin diferiră de zero. Această abatere poate fi eliminată printr-o tensiune de polarizare externă. În al doilea rând, valoarea tensiunii vârf la vârf este de două ori mai mare decât în cazul fiecărui senzor. Aceasta înseamnă că modificarea distanței dintre impulsuri datorită deplasării unei unde (ca în Fig. II.7) va fi de două ori mai mică decât în cazul existenței unui singur senzor.
Acest sistem push-pull reduce efectul modificării tensiunii de alimentare a sursei de lumină și a sensibilității detectorului. Orice modificare a intennsității fluxului luminos afectează la fel ambii senzori și efectele se anulează reciproc.
Semnalul de ieșire descris anterior se numește semnal de canal unic. Tipic, encoderele au două canale. Ce-a de-a doua ieșire este produsă de o a doua pereche de senzori decalați între ei cu 1800 electrice și cu 900 de grade electrice față de senzorii primului canal, denumit și canalul A. Formele de undă rezultante sunt prezentate schematic în Fig. II.11.
Spațiul dintre impulsurile celor două canale ale encoderului reprezintă jumătate mișcarea pe o distanță egală cu jumatatea lățimii unui linii. Prin urmare, fiecare pereche de linie/spațiu (un ciclu), în concordanță cu cele două canale de ieșire vor va naștere unui “semnal în cuadratură”. Aceasta înseamnă că se generează patru impulsuri pe fiecare ciclu. Cea mai mare rezoluție posibil a fi obținută în cazul unui encoder cu 1024 de linii și două canale de ieșire este de 4 × 1024 = 4096 impulsuri pentru fiecare rotație. Depalsarea unghiulară medie reprezentată de un singur impuls este de 5,27 minute.
Fig. II.11. Ieșirile în cuadratură ale unui encoder cu două canale.
Elemente constructive
În cele ce urmează se va descrie în mod detaliat principalele componente și influența acestora asupra performanțelor encoderului.
Senzorul de lumină
Senzorul de lumină utilizat în cele mai multe aplicații este celula fotovoltaică de siliciu de mare suprafață. Fig. II.12 ilustrează structura celului de siliciu.
Fig. II.12. Structura celulei fotovoltaice.
Partea esențială a senzorului este constituită dintr-un cristal de siliciu de tip “N” cu un strat de tip “P” dispersat în interiorul său. Cristalul generează o anumită tensiune electrică în momentul în care este supus unui flux luminos incident. Pe cristal sunt plasate contacte electrice, care permit semnalului electric să fie transmis în exterior prin intermediul terminalelor.
Energia luminii este concentrată în cuante de energie care poartă numele de fotoni. În momentul în care un foton conținând suficientă energie ajunge pe suprafața cristalului de siliciu, se crează o pereche electron-gol. Acesta pereche difuzează și este colectată de joncțiunea P-N. Dacă în acest proces este implicat un număr mare de fotoni, între regiunile “P” și “N” va apare o diferență de potențial electric (o tensiune electrică). Conectând la terminalele cristalului o anumită sarcină, tensiunea va produce prin circuitul exterior cristalului un curent electric, alimentat în esență de lumina care a generat perechea electron-gol.
Celulele cu siliciu prezintă numeroase avantaje față de alte materiale fotosensibile. Spre deosebire de fotodiode sau fototranzistoare, funcționarea celulelor cu siliciu nu necesită alimentarea cu tensiuni externe. Pe lângă acesta, celula cu siliciu este o sursă de curent și se potrivește caracteristicilor de intrare ale tranzistorului. Răspunsul spectral este prezentat în Fig.II.13.
Fig. II.13. Răspunsul spectral al celulei cu siliciu
și distribuția spectrală a unei lămpi cu tungsten.
Raportul dintre semnalul de ieșire și intensitatea luminoasă în zona infraroșu este mai mare decât a oricărui dispozitiv care utilizează alt material.răspunsul in frecvență este excelent, iar siliciul este rezistent față de majoritatea pricolelor la care este supus din partea mediului înconjurător.
Sursa de lumină
Ca surse de lumină pentru acest tip de encoder se utilizează atât lămpile cât și LED-urile. Lămpile oferă un flux luminos mai intensdecât LED-urile, însă în multe aplicații sunt mai puțin fiabile. În esență, durata de viață a unei lămpi este de 40.000 de ore, pe când a unui LED este de 100.000 de ore.
Caracterizate printr-o durată de viață mai mare, stabilitate superioară și preț de cost mai redus, LED-urile sunt surse de lumină tipice pentru majoritatea aplicațiilor. Însă LED-urile sunt mai sensibile la temperatură și oferă un flux luminos mai slab decât lămpile cu tungsten. Pentru îmbunătățirea calității detecției, aceste dezavantaje pot fi compensate utilizând circuite amplificatoare.
Obturatorul
Obturatorul constituie un mecanism critic în componența encoderului. Exactitatea cu care se realizează acest ansamblu stă la baza preciziei și a rezoluției encoderului optic. Componentele de bază ale ansamblului obturator cunt: discul, reticulul, arborele și carcasa. Discul și reticulul se pot confecționa din diverse materiale. Cel mai utilizat material este sticla. Se mai utilizează metalele și materialele plastice. Fiecare material are caracteristici care ipune utilizarea sa într-o anumită aplicație.
De exemplu, sticla este utilizată în cazul în care este necesar un grad înalt de precizie, deoarece ea este foarte plană și are un coeficient de dilatare termică mic. Metalul este utilizat în aplicațiile în care durabilitatea este cea mai importantă, iar rezoluția este pe plan secundar. Discurile din material plastic au aceleași caracteristici ca și sticla, însă nu sunt tot atât de precise.
Densitatea liniilor și a spațiilor de pe un anumit substrat este limitată semnificativ de diametru sau de grosime, depinzând de materialul utilizat. Plasarea structurilor de linii pe substrat se face prin procedeee de evaporare și de gravură. Se mai utilizează și emulsii fotografice sau pelicule metalice cu structuri de mare precizie. Acesta din urmă procedeu este mai scump.
Domeniul rezoluției obținute în cazul substratului metalic care utilizează fante gravate este limitată de cerințele minine de planeitate pentru a se realiza o obturare eficientă. Pe măsură de scade grosimea substratului și crește rezoluția, crește probabilitatea deformării discului.
Lagărele se confecționează din oțel inoxidabil, prelubrefiate cu diferite tipuri de ulei sau vaselină. Ansamblul format de arbore și lagăre se fabrică în mod obișnuit utilizând lagăre împerecheate, în scopul reducerii mișcărilor axiale și radiale a arborelui.
Fig. II.14 pune în evidență principalele componente ale obturatorului.
Fig. II.14. Principalele componente ale obturatorului.
Circuite de formatare a semnalului
Circuitele electronice ale unui encoder îndeplinesc următoarele funcții:
generează forma de undă a semnalului de ieșire;
generează semnale complementare;
detectează sensul de mișcare;
măresc rezoluția;
realizează filtrarea.
Formele de undă disponibile la ieșirea encoderului sunt prezentate în Fig. II.15. Semnalul disponibil la ieșirea celulei de siliciu (semnalul sinusoidal este prezentat în Fig. II.15A. Amplitudinea tipică este de 20 mV vârf la vârf. Este semnalul de bază ce va fi prelucrat ulterior.
Fig. II.15. Semnalele de la ieșirea encoderului.
Semnalul analogic amplificat este ilustrat în Fig. II.15B. Acest semnal este versiunea emplificată a semnalului de 20 nF vârf la vârf. În Fig. II.15C se prezintă semnalul dreptunghiular de nivel TTL. Acest semnal dreptunghiular este produs de un circuit de formatare compus din comparatoare și alte dispozitive logice. Formatorul trebuie să aibă la ieșire două stări stabile care sunt controlate prin amplitudinea tensiunii de intrare. Ieșirea circuitului formator alimentrază porți logice care generează impulsurile care marchează trecerea semnalului prin zero, conform Fig. II.15D.
Capitolul 3. MOTOARE PAS CU PAS
Proprietatatea esențială a unui motor pas cu pas constă în capacitatea lui de a transforma impulsurile primite de înfășurările lui de excitație în modificări precis definite ale poziției rotorului (pași). Acest tip de motoare sunt considerate ca fiind mașini cu poli aparenți dubli, deoarece ambele armături cea staționară (statorul) și cea rotativă (rotorul) au poli ieșiți (dinți), confecționați din material feromagnetic. În Fig. III.1 se prezintă o secțiune printr-o porțiune restrânsă a motorului pas cu pas.
Fig. III.1. Componentele forței dintre doi poli (dinți) din material feromagnetic.
Fluxul magnetic străbate întrefierul de dimensiuni reduse dintre polii celor două armături. În funcție de tipul de motor, fluxul poate fi produs de un magnet permanent, de o înfășurare parcursă de un curent sau de o combinație dintre cele două. În orice caz, efectul este același: asupra dinților se exercită forțe egale și de sens contrar, care tind să-i împingă unul către celelalt și să minimizeze întrefierul dintre ei. După cum se poate remarca în Fig. III.1, componenta majoră a acestor forțe, forța normală (Fn) are tendința de a anula întrefierul. Însă pentru motoarele electrice, utilă este componenta tangențială mai mică (Ft), care tinde să aducă dinții față în față. În momentul în care fluxul dintre cei doi dinți este eliminat sau deviat către altă pereche de dinți, foțele de atracție scad la zero.
Motoarele pas cu pas moderne se pot clasifica în trei categorii:
Motoare cu magneți permanenți (PM) – cuplu mare, însă rezoluție unghiulară redusă;
Motoare cu reluctanță variabilă (VR) – rezoluție unghiulară excelentă, însă cuplu mic;
Motoare hibride (HY) – combină structura motoarelor pas cu pas PM și VR, oferind un cuplu și o rezoluție unghiulară bune.
Motoare pas cu pas cu magneți permanenți (PM)
Motoarele pas cu pas cu magneți permanenți poate fi considerat un motor de curent continuu fără perii (BLDC) al cărui înfășurări sunt alimentate în scopul obținerii unei rotații discrete, în loc de o mișcare de rotație continuă.
Configurația motorului pas cu pas cu magneți permanenți
În Fig. III.2, este prezentaă structura motorului pas cu pas cu magneți permanenți.
Fig. III.2. Structura internă a unui motor pas cu pas cu magneți permanenți.
Există cinci asemănări între motoarele pas cu pas cu magneți permanenți și motoarele BLDC utilizate pe aeromodele (inrunners):
Nici unul dintre cele două tipuri de motoare nu nu au perii sau un alt tip de comutator mecanic.
Rotorul este plasat la interior, cu magneții permanenți montați pe perimetrul său.
Statorul este plasat la exterior și este dotat cu electromagneți (înfășurări).
Controlerul alimentează înfășurările statorice cu impulsuri de curent continuu.
Multe dintre înfășurări sunt conectate împreună. Fiecare grup de înfășurări conectate împreună formează o fază.
Principalele diferențe se pot sistetiza astfel:
Motorul pas cu pas este destinat să realizeze mișcări de rotație discrete, iar BLDC este destinat să execute mișcări de rotație continue.
Aproape toate motoarele pas cu pas au două faze, pe când BLDC au aproape întotdeauna treri faze.
În cazul motoarelor pas cu pas, controlerul alimentează una sau două faze simultan, pe când în cazul BLDC controlerul alimentează două faze în același timp, lăsâd a treia fază în aer.
Motorul pas cu pas are mai multe înfășurări și magneți pe periferia rotorului decât BLDC.
3.1.2. Principiul de funcționare
Pentru a înțelege cum funcționează motorul pas cu pas cu magneți permanenți, este important să se demonstreze modul în care unghiul de pas este determinat de numărul de înfășurări de pe stator și de magneți de pe rotor. Pentru aceasta se va face referire la motorul ilustrat în Fig. III.2. Pe statorul estui motor există 12 înfășurări, iar pe rotor există șase magneți permanenți. Motoarele pas cu pas cu magneți permanenți sunt în general motoare bifazate. Cele două faze sunt notate în figură A și B. Înfășurările notate A’ și B’ sunt parcurse de același curent ca înfășurările notate cu A și respectiv B, dar în sens invers. Astfel, dacă A reprezintă polul nord, A’ va reprezenta polul sud. Fiecare înfășurare va avea trei stări: curent pozitiv, curent negativ și curent zero. În această prezentare curentul pozitiv determină apariția polului nord, iar curentul negativ, polul sud. Figura III.3 ilustrează o singură mișcare de rorație a motorului.
Fig. III.3. Rotirea cu 300 a motorului pas cu pas cu magneți permananți.
În figura de mai sus, „N” mic înseamnă că înfășurarea a generat un pol nord, fiind străbătută de curentul în sens pozitiv. Un „S” mic înseamnă că înfășurarea a generat un pol sud, fiind străbătută de curent în sens negativ. Dacă înfășurarea nu este notată, înseamnă că nu este străbătută de curent.
În Fig. III.3 a), A este pozitivă (polul nord), A’ este negativă (polul sud), iar faza B nu este alimentată. Rotorul se poziționează astfel încât poli săi sud sunt atrași de către înfășurările A, iar polii săi nord sunt atrași de înfășurările A’.
În Fig. III.3 b), B este pozitivă (polul nord), B’ este negativă (polul sud), iar faza A nu este alimentată. Rotorul se rotește astfel încât polii săi se aliniază cu înfășurările B și B’. unghiul de rotație este egal cu unghiul dintre înfășurările A și B, ceea ce înseamnă că rotorul se rotește cu exact 300 în sens orar. Fig. III.4 ilustrează o nouă deplasare de 300 a rotorului motorului pas cu pas cu magneți permanenți.
Fig. III.4. Următoarea deplasare cu 300 a rotorului motorului pas cu pas cu magneți permanenți.
În Fig. III.4 a), B este negativă (polul sud), B’ este pozitivă (polul nord), iar A este nealimentată. Rotorul se poziționează astfel încât polii săi se aliniază cu unfășurările B. În Fig. III.4 b), A este pozitivă (polul nord), A’ este negativă (polul sud), iar înfășurarea B este nealimentată. Rotorul se rotește cu exact 300 în sens orar, aliniindu-și polii în dreptul înfășurării A.
Motoare pas cu pas cu reluctanță variabilă (VR)
Într-un circuit electric, rezistența stabilește intensitatea curentului care circulă prin acel circuit. Similar, în cazul circuitelor magnetice, reluctanța stabilește valoarea fluxului magnetic care se închide prin acel circuit. În cazul unui motor pas cu pas cu reluctanță variabilă, rotorul se rorește cu un anumit unghi, pentru a micșora reluctanța dintre două înfășurări opuse plasate pe stator.
Avantajul esențial al motoarelor pas cu pas cu reluctanță variabilă constă într-o rezoluție unghiulară excelentă, iar principalul dezavantaj constă în valoarea redusă a cuplului electromagnetic dezvoltat.
3.2.1. Configurația motorului pas cu pas cu reluctanță variabilă
Din punct de vedere al configurației, motorul pas cu pas cu reluctanță variabilă are multe elemente comune cu motorul pas cu pas cu magneți permanenți. Ambele tipuri de motoare au statorul dotat cu înfășurări, iar înfășurările plasate în opoziție sunt conectate la acceași sursă de alimentare. Există totuși două diferențe esențale între cele două tiopuri de motoare pas cu pas:
Rotorul – Spre deosebire de motorul pas cu pas cu magneți permanenți, motorul cu reluctanță variabilă nu are magneți plasați la periferia rotorului. În schimb, rotorul este un disc din material feromagnetic care are la periferie mici protuberanțe, numite dinți.
Fazele – În cazul unui motor pas cu pas cu magneți permanenți, controlerul alimentează înfășurările grupate în două faze. În cazul unui motor pas cu pas cu reluctanță variabilă, controlerul alimentează fiecare pereche de înfășurări plasate în opoziție, în mod independent. Altfel spus, dacă statorul are N înfășurări, primește N/2 semnale de comandă de la controler.
Fig. III.5 prezintă .configurația unui motor pas cu pas cu reluctanță variabilă. În cazul acestui motor statorul conține opt înfășurări, iar rotorul are opt dinți.
Fig. III.5. Configurația unui motor pas cu pas
cu reluctanță variabilă.
Rotorul nu conține magneți permanenți, dar deoarece este confecționat din material feromagnetic dinții săi sunt atrași de către miezurile înfășurărilor alimentate. Referitor la figură, înfășurările A și A’ sunt notate cu N și S, ceea ce simbolizează faptul că aceste înfășurări sunt alimentate de către controler. Dinții rotorului se aliniază cu aceste înfășurări pentru a oferi o cale de închidere a fluxului magnetic de reluctanță minimă între A și A’.
3.2.2. Principiul de functionare
După cum este ilustrat în Fig. III.5, într-o anumită pozitie, numai o singută pereche de dinți rotorici sunt aliniați cu înfășurările statorice. Dacă controlerul alimentează o altă pereche de înfășurări, rotorul se va roti astfel încât o altă pereche de dinți se va alinia cu noua pereche de înfășurări alimentată. Deoarece dinții nu sunt magnetizați, nu are importanță dacă o anumită înfășurare va produce un pol nord sau un pol sud.
Fig. III.6. Rotirea cu 150 a unui motor pas cu pas cu reluctanță variabilă.
În Fig. III.6 a), controlerul a alimentat înfășurările A și A’, iar rotorul și-a aliniat dinții pe axa magnetică a acestor înfășurări. În Fig. III.6 b), controlerul a alimentat înfășurările D și D’, rotorul a efectuat o rotație de 150 în sens antiorar, aliniindu-și dinții cei mai apropiați pe axele acestor înfășurări. În cazul în care în loc de înfășurările D și D’, controlerul ar fi alimentat înfășurările C și C’, rotorul ar fi efectuat o rotație de 300 în sens orar, pentru a-și alinia dinții cu axele magnetice ale acestor înfășurări.
Dacă se cunoaște numărul înfășurărilor statorice Nw și numărul dinților rotorici Nt, dimensiunea pasului motorului pas cu pas cu reluctanță variabilă se calculează cu relația:
(3.1)
În Fig. III.6, Nw = 8, iar Nt = 6. Unghiul de pas va fi egal cu: 3600·(2/48) = 150. Rezoluția unghiulară se poate îmbunătăți prin creșterea numărului de înfășurări și de dinți. Prin alegarea unei confidurații corespunzătoare, unghiul de pas poate fi mai mic decât în cazul unui motor pas cu pas cu magneți permanenți.
Rămâne însă problema cuplului dezvoltat de motorul pas cu pas cu reluctanță variabilă, care are valori reduse, ceea ce înseamnă că acest tip de motor nu poate fi utilizat în cazul unor sarcini de valori semnificative.
Motoare pas cu pas cu reluctanță variabilă (VR) multirotor
După cum s-a prezentat anterior, în cazul motoarelor pas cu pas cu reluctanță variabilă, sursa fluxului magnetic este curentul care circulă prin înfășurările statorice. Înfășurările sunt alimentate într-o secvență care determină alinierea succesivă a dinților statorici și rotorici.
Motorul pas cu pas cu reluctanță variabilă multirotor este divizat de-a lungul axei sale longitudinale în mai multe secțiuni izolate din punct de vedere magnetic, fiecare dintre aceste secțiuni putând fi excitată de către o înfășurare separată (fază). În Fig. III.7, se prezintă un motor pas cu pas cu reluctanță variabilă cu trei secțiuni, dar au fost construite și motoare pas cu pas cu reluctanță variabilă cu până la șapte secțiuni.
Fig. III.7. Secțiune printr-un motor pas cu pas cu reluctanță variabilă multirotor cu trei secțiuni.
Fiecare secțiune este compusă dintr-un stator fixat pe carcasa motorului, care susține înfășurarea și un element rotativ (rotor). Rotoarele sunt fabricate ca un tot unitar, susținut la capete de lagărele mașinii prin care ies capetele arborelui care permit conectarea mecanică a motorului la o sarcină exterioară, după cum se poate observa în Fig. III.8 a). Atât statorul cât și rotorul sunt fabricate din tole de oțel, astfel încât câmpul magnetic din interiorul mașinii poate varia rapid, fără a produce pierderi excesive prin curenți turbionari. Statorul fiecărei sectiuni are același număr de poli. Fig. III.8 b) exemplifică un motor cu patru poli. Înfășurarea de fază plasată pe acești poli produce un flux magnetic ce strabate radial miezul magnetic al polilor. Polii vecini sunt bobinați în sensuri opuse, astfel încât câmpul magnetic radial prin polii învecinați are sensuri opuse. Câmpul magnetic din fiecare secțiune se închide prin polul statoric, întrefierul mașinii, rotor, întrefierul polului învecinat, polul învecinat, jugul statoric și polul inițial. Acest circuit magnetic se repetă pentru fiecare pereche de poli, ceea ce înseamnă că în exemplul din Fig. III.8 b), există patru căi de închidere a fluxului magnetic. Forțele radiale dintre cele patru seturi de dinți statorici și rotorici se anulează reciproc, astfel încât forța rezultantă dintre rotor și stator va contine numai componente tangențiale.
Poziția relativă dintre rotor și stator într-o anumită secțiune est definită cu precizie în momentul în care faza este alimentată.
Fig. III.8. a) – secțiune longitudinală printr-un motor pas cu pas cu reluctanță
variabilă multirotor; b) – secțiune transversală prin același motor.
Precizia pozițională este obținută prin egalitatea numărului de dinți statorici și rotorici, care tind să se alinieze astfel încât să reducă reluctanța circuitului magnetic al secțiunii. În poziția în care dinții statorici și rotorici sunt complet aliniați, reluctanța circuitului este minimă și fluxul magnetic din respectiva secțiune ajunge la valoarea sa maximă.
Motorul prezentat în Fig. III.8 are opt dinți pe stator și respectiv pe rotor și se găsește în poziția corespunzătoare cazului în care este excitată secțiunea A. Privind în lungul axului mașinii se observă că dinții rotorici din fiecare secțiune sunt aliniați (au aceeași poziție), în timp ce dinții statorici ale secțiunilor sunt decalați unii față de alții și prin aceasta dinții statorici și rotorici din secțiunile B și C sunt și ei decalați. Efectul schimbării excitației mașinii de la secțiunea A la secțiunea B constă în aliniarea dinților statorici cu cei rotorici în secțiunea B. Această nouă aliniere este posibilă prin mișcarea rotorului în sens orar cu un „pas”.
Mișcarea rotorului cu încă un pas în sensul acelor de ceasornic se va produce la întreruperea excitației secțiunii B și excitarea secțiunii C. Pasul final al secvenței constă în întreruperea excitației secțiunii C și excitarea secțiunii A. Din nou, dinții rotorici vor fi aliniați cu dinții statorici din secțiunea A, însă rotorul s-a deplasat cu un pas dentar rotoric, care este unghiul dintre doi dinți vecini rotorici, după cum este ilustrat în Fig. III.8 b). Așadar, în cazul acestui motor cu trei secțiuni, trei schimbări ale excitației determină mișcarea rotorului cu trei pași sau cu un pas dentar rotoric. Mișcarea continuă în sensul acelor de ceasornic se realizează prin repetarea secvenței de excitație: A, B, C, A, B, C, A, … .
Mișcarea rotorului în sens antiorar va rezulta din secvența: A, C, B, A, C, B, A, … . Dacă se dorește ca un motor multirotor să se poată roti în ambele sensuri, este necesar ca acest motor să aibă minim trei secțiuni, pentru a putea realiza două secvențe distincte de excitație.
Există o relație simplă între numărul de dinți statorici/rotorici, numărul de secțiuni și dimensiunea pasului unui motor pas cu pas cu reluctanță variabilă multirotor. Se consideră că dacă motorul are N secțiuni (și faze) secvența de excitație de bază constă în excitarea pe rând a fiecărei secțiuni, producând prin aceasta o mișcare a rotorului cu N pași. Aceeași secțiune este este excitată la începutul și sfârșitul secvenței și dacă dinții statorici și rotorici sunt aliniați în această secțiune, rotorul s-a mișcat cu un pas dentar rotoric. Deoarece un pas dentar rotoric este egal cu 3600/p, în care p este numărul de dinți rotorici, unghiul de deplasare a rotorului la o schimbare a excitației este de:
(3.2)
Motorul ilustrat în Fig. III. 8 are trei secțiuni și opt dinți rotorici, astfel încât dimensiunea pasului rezultă de 150. Valorile tipice ale dimensiunii pasului pentru motoarele pas cu pas cu reluctanță variabilă multirotor sunt cuprinse între 20 și 150.
Motoare pas cu pas hibride (HY)
Motorul pas cu pas hibrid combină avantajele oferite de tipurile de motoare prezentate mai sus. Ca și în cazul motorului cu magneți permanenți, rotorul va fi prevăzut cu magneți permanenți, fapt care va asigura dezvoltarea unui cuplu electromagnetic substanțial. Ca și la motorul cu reluctanță variabilă, rotorul va avea dinți, în scopul îmbunătățirii rezoluției unghiulare.
Motoarele pas cu pas hibride au o structură cu poli aparenți dublă (stator și rotor), însă circuitul magnetic este excitat atât prin înfășurări cât și prin magneți permanenți. Înfășurările sunt plasate pe polii statorici, pe rotor este montat un magnet permanent. Calea principală de închidere a fluxului produs de magnetul permanent prezentat în Fig. III.9 pornește de la polul nord al magnetului, trece radial prin miezul feromagnetic rotoric din stânga, prin întrefier, prin polii statorici ai secțiunii X, axial prin jugul statoric, prin polii statorici ai secțiunii Y, prin întrefier și apoi la polul sud al magnetului prin miezul rotoric din partea dreaptă.
Tipic, acest tip de motoare au opt poli statorici, ca în Fig. III.9 și fiecare pol are între doi și șase dinți. Polii statorici sunt prevăzuți cu înfășurări care au rolul de a mări sau micșora fluxul magnetic prin anumiți poli, în funcție de poziția dorită a rotorului. Motorul este prevăzut cu două înfășurări (faze) și fiecare înfășurare este plasată pe patru din cei opt poli ai statorului. Înfășurarea A este plasată pe polii 1, 3, 5, 7 iar înfășurarea B este plasata pe polii 2, 4, 6, 8.
Fig. III.9. Motorul pas cu pas hibrid.
Polii succesivi ai fiecărei faze sunt bobinați în sensuri diferite, adică dacă înfășurarea A este excitată printr-un curent pozitiv, liniile câmpului magnetic produs vor ieși radial din polii 3 și 7 și vor intra radial în polii 1 și 5. O schemă similară este utilizată și pentru înfășurarea B. Pentru întreaga mașină, schema de alimentare este prezentată în Tabelul III.1.
Tab. III.1. Relația dintre curenții prin înfășurări și direcția liniilor de câmp prin poli.
Polii statorici și cei rotorici sunt danturați. Motorul din Fig. III.9 are câte doi dinți pe fiecare pol statoric aceasta înseamnă ca statorul are 16 dinți, iar rotorul are 18 dinți. De remarcat este faptul că dinții statorici din sectiunile X și Y sunt perfect aliniați, pe când dinții rotorici corespunzători celor două secțiuni sunt decalați. Dacă fluxul magnetului permanent este concentrat în anumiți poli datorită excitării înfășurărilor, rotorul are tendința să se deplaseze, astfel încăt dinții statorici și rotorici să fie aliniați și prin aceasta reluctanța circuitului magnetic să devină minimă.
În cazul unei excitații pozitive a înfășurării A, dinții statorici sunt aliniati cu dinții rotorici sub polii 1, 5 din secțiunea X și 3, 7 din sectiunea Y, după cum este ilustrat în Fig. III.9.
Mișcarea de rotație continuă a rotorului este determinată de excitarea secvențială a înfășurărilor de fază. Dacă se întrerupe excitația înfășurării A și se excită faza B printr-un curent pozitiv, alinierea dinților rotorici cu cei statorici are loc sub polii 4, 8 ai secțiunii X și polii 2, 6 ai secțiunii Y. Rotorul se deplasează cu un pas în sens orar. Mișcarea în același sens se continuă prin excitarea fazei A, apoi a fazei B. Această secvență se poate reprezenta prin: A+, B+, A-, B-, A+, B+, … . Pentru a realiza mișcarea în sens invers acelor de ceasornic, secvență de excitație va fi: A+, B-, A-, B+, A+, B-, … .
Dimensiunea fiecărui pas se determină simplu, în funcție de numărul dinților rotorici p. Un ciclu complet al secvenței de excitare pentru un motor hibrid constă din patru stări care au ca rezultat mișcarea rotorului cu patru pași. Starea excitației este aceeași înainte și după acești patru pași. De aceea, alinierea polilor rotorici și statorici are loc sub aceeași poli statorici. Prin urmare, cei patru pași corespund unui pas dentar de 3600/p. În concluzie:
(3.3)
Motorul prezentat în Fig. III.9 are 18 dinți rotorici, ceea ce înseamnă că dimensiunea unui pas este de 50. Uzual, motoarele pas cu pas hibride se produc pentru valori mai mici ale dimensiunii pasului. În Fig. III. 10 se prezintă un motor care are 50 de dinți rotorici, ceea ce înseamnă că dimensiunea pasului este de 1,80.
Fig. III.10. Variantă comercială a motorului pas cu pas hobrid.
Comparație între motoarele pas cu pas hibride și cu reluctanță variabilă
Încercarea de a face comparație între diferitele tipuri de motoare pas cu pas nu conduce la concluzia că un anumit tip de motor pas cu pas este cel mai bun în toate situațiile. Motoarele hibride se caracterizează printr-o dimensiune redusă a pasului (tipic de 1,80), ceea ce constituie un mare avantaj în cazul aplicațiilor care reclamă o înaltă rezoluție unghiulară. Studiile au demonstrat că valoarea cuplului electromagnetic produs de un motor cu un anumit volum este mai mare în cazul motorului hibrid decât cel produs de un motor cu reluctanță variabilă. Este motivul pentru care motorul hibrid va constitui opțiunea pentru aplicațiile care reclamă o dimensiune redusă a pasului, un cuplu mare și dimensiuni de gabarit mici. În cazul în care înfășurările unui motor pas cu pas hibrid nu sunt alimentate, magnetul permanent produce un cuplu de blocare de valoare redusă, care reține rotorul pe poziția de pas. Cu toate că valoarea cuplului de blocare este mai mică decât cuplul dezvoltat de motor în cazul în care una sau mai multe înfășurări sunt alimentate, acest cuplu este util pentru aplicațiile în care rotorul trebuie să rămână fix dacă sistemul de alimentare intră în regim de avarie.
Motoarele pas cu pas cu reluctanță variabilă prezintă două avantaje importante în cazul în care sarcina trebuie deplasată pe o distanța considerabilă, adică motorul trebuie să execite câteva rotații complete. În primul rând, dimensiunea tipică a pasului (150) este mai mare decât cea a motoarelor hibride, ceea ce însemnă că distanța ce trebuie acoprită va necesita un număr mic de pași. Un număr mic de pași implică un număr mic de schimbări în sistemul de excitație. Viteza cu care se pot face schimbări în sistemul de excitație limitează în ultimă instanță viteza motorului și prin aceasta impune valoarea timpului în care se poate acoperi o anumită distanță.
Un alt avantaj al motoarelor pas cu pas cu reluctanță variabilă este acela că inerția mecanică a rotorului este mai redusă decât în cazul celorlalte tipuri de motoare pas cu pas. Aceasta din cauză că pe rotor nu există magneți permanenți. În multe cazuri, inerția rotorului contribuie într-o proporție semnificativă la inerția totală a sarcinii motorului, iar reducerea inerției acestuia permite accelerări mai mari.
Motoare pas cu pas hibride (HY) liniare
Configurația de bază a unui motor pas cu pas hibrid liniar este prezentată în Fig. III.11. Un astfel de motor este compus în principal dintr-o armătură mobilă (motor) suspendată deasupra unei armături fixe (platan). Platanul este în esență o bară danturată echidistant de orice lungime, fabricată din oțel cu mare permeabilitate magnetică, laminat la rece. Motorul constă din doi electromagneți pe care sunt plasate înfășurările de comandă și un magnet permanent plasat între acești doi electromagneți.
Fig. III.11. Motor pas cu pas hibrid liniar.
Magnetul permanent servește ca sursă de excitare a mașinii. Fiecare electromagnet are doi poli. Toți polii au același număr de dinți. Ambele armături prevăzute cu dinți (motorul și platanul) au același pas dentar. Fiecare dintre cei doi poli ai fiecărui electromagnet este decalat față de platan cu jumătate din pasul dentar, după cum se poate remarca în Fig. III.11. Primul pol al electromagnetului din partea dreaptă este decalat față de primul pol al electromagnetului din partea stângă cu un sfert din pasul dentar. În absența curentului de comandă, fluxul produs de magnetul permanent se închide prin ambii poli ai fiecărui electromagnet.
În momentul în care se alimentează o înfășurare de comandă, fluxul se concentrează într-unul din polii electromagnetului a cărui înfășurare a fost alimentată. Inducția în acest pol sevine maximă, iar în celălalt pol devine neglijabilă. Prin comutarea în acest mod a fluxului produs de magnetul permanent, apare o forță tangențială care tinde să alinieze dinții polului în care inducția este maximă cu dinții platanului, minimizând prin aceasta reluctanța circuitului magnetic.
Pentru deplasarea cu un pas către dreapta față de poziția inițială (poziția numărul 1 din Fig. III.12), trebuie alimentată înfășurarea din partea dreaptă, pentru a concentra fluxul magnetic în polul numărul patru.
Fig. III.12. Patru poziții ale motorului.
Motorul se va deplasa către dreapta cu un sfert din pasul dentar (un pas) și dinții polului numărul 4 se vor alinia cu dinții platanului (poziția 2 din Fig. III.12).
Variațiile forței tangențiale dezvoltate sub cei patru poli în timpul deplasării motorului descrisă mai sus sunt prezentate în Fig. III.13.
Fig. III.13. Forțele tangențiale sub cei patru poli aflați în mișcare.
Reprezentarea corespunde unui mod de variația a forței simplificat, în care tensiunea magnetomotoare produsă de înfășurarea de comandă se consideră a fi constantă în timpul mișcării. Forța tangențială dezvoltată sub polul numărul patru are la începutul mișcării valoarea cea mai mare și scade la zero la sfârșitul mișcării. Forțele tangențiale dezvoltate sub polii unu și și doi care sunt la începutul procesului de aliniere au valoarea inițială zero. Aceste două forțe una cu rol de antrenare în sensul mișcării și cealaltă cu rol de antrenare în sens contrar sunt egale în valoare absolută și rezultanta lor este nulă. Deoarece fluxul magnetic sub polul numărul trei este neglijabil, forța tangențială dezvoltată de acest flux este nesemnificativă. Forța de tracțiune totală este suma tuturor acestor forțe și poate fi considerată a fi egală cu forța dezvoltată sub polul numărul patru.
Pentru a continua deplasarea către dreapta, se întrerupe alimentarea însășurării de comandă a electromagnetului din dreapta și se alimentează înfășurarea electromagnetului din stânga. Prin polul numărul doi fluxul va deveni maxim și și dinții aestui pol se vor alinia cu dinții platanului. Secvența curenților de comandă pentru deplasarea cu patru pași a motorului în două direcții (către dreapta și respectiv către stânga) este ilustrată în Fig. III.14.
Fig. III.14. Curenții de comandă și deplasările corespunzătoare.
Există și posibilitatea de a alimenta simultan cele două înfășurări. În acest caz, una dintre înfășurări trebuie alimentată cu o tensiune care depinde sinusoidal de timp, iar cealaltă cu o tensiune care depinde cosinusoidal de timp.
Principalul dezavantaj al acestui tip de motor constă în faptul că fluxul magnetic maxim prin polii din interior este puțin mai mare decât fluxul prin polii din exterior. Prin urmare, va apare o oarecare inegalitate între forțele tangențiale, ceea ce cauzează vibrații nedorite.
Structura prezentată în Fig. III.11. este simplă, însă nu este singura utilizată în cazul motoarelor pas cu pas hibride liniare. În Fig. III.15 se prezintă un motor cu magnet permanent exterior.
Fig. III.15. Motor pas cu pas hibrid liniar cu magnet exterior.
Motorul are doi magneți permanenți plasați în partea superioară a celor doi electromagneți. Jugul statoric oferă cale de închidere a circuitului magnetic al celor doi electromagneți. Fiecare pol are propria sa înfășurare de comandă. Motorul oferă facilități convenabile de control, iar curenții circulă într-o singură direcție în toate înfășurările.
Motorul din Fig. III.16 are 8 poli și două înfășurări de comandă, într-o construcție foarte compactă.
Fig. III.16. Motor pas cu pas hibrid liniar cu 8 poli în construcție compactă.
Între cele două secțiuni ale motorului este dispus un izolator feromagnetic cu scopul de a izola aceste secțiuni din punct de vedere magnetic. Circuitul magnetic al motorului este caracterizat printr-o masă și un volum reduse, relativ la valoarea forței produse.
În Fig. III.17 se prezintă un motor pas cu pas hibrid liniar tubular. Motorul are patru poli și un magnet permanent în formă de inel. Armătura cilindrică exterioară este motorul (armătura mobilă). Principiul de funcționare este același cu cel al motorului prezentat în Fig. III.11.
Fig. III.17. Motor pas cu pas hibrid liniar tubular.
Capitolul 4. CONTROLUL CU ARDUINO MEGA
Arduino Mega nu este cel mai puternic sau recent sistem de dezvoltare Arduino, însă este unul dintre cele mai populare. Este si perfect compatibil cu sistemele Aduino hard și soft existente. Principalele caracteristici ale acestui sistem sunt prezentate în Tab. 4.1.
Tabelul 4.1. Principalele caracteristici ale sistemului Arduino Mega
Deoarece are resurse limitate, Arduino Mega nu este recomandat pentru efectuarea operațiunilor de calcul, a editării sau a navigării pe Internet. Totuși, împreună cu interfața (driver) Arduino Motor Shield, este capabil să comande motoare de curent continuu, motoare pas cu pas și servomotoare.
Structura circuitului Arduino Mega
Structura circuitului pune în evidență faptul că procesul de proiectare a fost concentrat pe simplitate. Terminalele de putere sunt grupate și denumite POWER. Terminalele de comunicație sunt și ele grupate sub denumirea de COMMUNICATION. Aspectul sistemului Arduino Mega este ptezentată în Fig. IV.1.
Mare parte din perimetrul circuitului este ocupată de componente de culoare neagră, a căror poziție erectă este destinată să fie utilizate la conexiuni unifilare. Acestea poartă numele de terminale și conexiunile terminale ale sistemului Mega sunt împărțite în cinci grupe:
Putere – recepționează sau transmit semnale de putere;
Intrări analogice – recepționează date analogice care vor fi convertite în semnale digitale ce urmeaz a fi precesate;
Digitale – recepționează sau transmit semnale digitale;
Comunicații – comunică semnale prin trei porturi seriale;
PWM – transmit semnale de control modulate în durată (lățime).
Fig. IV.1. Sistemul Arduino Mega.
Conectorul USB permite și alimentarea circuitului Mega, ceea ce este convenabil în cazul în care acesta este conectat cu un PC care îi furnizează tensiunea de alimentare. Pe lângă aceasta, portul USB permite transferul programelor către Mega.
Microcontrolerul ATmega2560
După cum se poate observa în Fig. IV.1, în centrul circuitului este plasat microcontrolerul Atmega2560 cu 100 de pini. În sesență, întregul rol al unui circuit Arduino este acela de a oferi acces către acest dispozitiv.
După cum este cunoscut, discuția despre un microcontroler trebuie să înceapă prin compararea acestuia cu un computer personal. Un PC servește unui game largi de scopuri care implică procesarea de date, și comunicațiile digitale. Pentru a îndeplini aceste sarcini, computerul personal trebuie să fie prevăzut cu o multitudine de dispozitive care îndeplinesc diverse roluri: unitate CPU pentru procesarea datelor, memorie RAM pentru stocarea temporară a datelor, hard disc pentru memorarea programelor, fișierelor și a sistemului de operare.
Un microcontroler (MCU) servește unor scopuri similare, dar toate aceste resurse sunt integrate într-un singur cip. Această configurație aduce o serie de beneficii, inclusiv preț scăzut, consum redus de energie și proiectarea ușoară a circuitului. Dezavantajele constau in principal in faptul că resursele unui microcontroler nu sunt nici pe departe comparabile cu cele de care dispune un PC.
De exemplu, un laptop are 8 GB de memorie RAM și procesorul său funcționează la 3 GHz. În contrast, microcontrolerul Mega are 8 KB memorie RAM și procesează date la frecvență de 16 MHz. Acesta înseamnă ca un laptop prelucrează date de 200 de ori mai rapid decât un Mega și poate stoca de un milion de ori mai multe date.
Microcontrolerele nu sunt recomadate pentru aplicații generale, însă sunt ideale în cazul unor aplicații reale concrete, cum ar fi roboții, automatizările cu senzori. În aceste cazuri, lipsa resurselor nu va constitui o problemă și va fi de apreciat prețul scăzut și proiectarea ușoară a circuitului.
În general, aplicațiile cu microcontroler funcționează în trei etape:
Citește datele de la unsenzor, cum ar fi temperatura sau presiunea;
Procesează datele pentru a cunoaște starea în care se află sistemul;
Utilizează informațiile de stare pentru controlul mecanismului, de exemplu un motor.
În prima etapă, datele primite de la senzor pot avea un număr infinit de valori și pentru acest motiv datele se consideră a fi analogice. Înainte de a fi procesate, aceste date trebuie convertite în valori de zero și unu pe care la întelege procesorul. Acestea sunt date digitale. Pentru a realiza această conversie, microcontrolerele moderne sunt dotate cu multiple convertoare analog – digitale sau ADC.
În a treia etapă, microcontrolerul controlează mecanismul prin utilizarea impulsurilor modulate în durată (PWM – Pulse Width Modulation). După cum se va vedea ulterior, Mega poate utiliza semnalele PWM pentru a controla funcționarea motoarelor cu perii sau a servomotoarelor.
Cele mai multe plăci (sisteme) Arduino conțin microprocesoare Atmel, iar sistemul Mega nu face excepție. Mega utilizează pentru procesarea datelor microcontrolerul ATmega2560, a cărui principale caracteristici sunt prezentate în Tab. IV.2.
Analizând valorile din acest tabel, este important să se înțeleagă diferența dintre cele trei tipuri de memorie:
Memoria flash conține programele, ceea ce înseamnă că cel mai mare program care poate rula pe Mega este de 256 KB.
Memoria SRAM (memorie statică cu acces aleatoriu – static random access memory) memorează temporar datele utilizate de program.
EEPROM (memorie programabilă citește-numai ștearsă electric – electrically erasable programable read-only memory) stocheză setările și alți parametri.
Memoria SRAM se șterge numai în momentul în care se întrerupe alimentarea. În contrast, memoria Flash și memoria EEPROM își păstrează datele chiar și in lipsa alimentării.
Tab. IV.2. Caracteristicile microcontrolerului Atmega2560.
Microcontrolerul ATmega2560 are 100 de pini dintre care: 11 pini pentru semnale de putere și 89 de pini pentru semnale intrare/ieșire. Cei mai mulți pini de intrare/ieșire (I/O) pot îndeplini mai multe roluri. Configurarea funcțiilor pinilor constituie preocuparea majoră în dezvoltarea microcontrolerelor.
Din fericire, arhitectura sistemului Arduino oferă posibilitatea de configurare ușoară a pinilor: 56 din pinii intrare /ieșire sunt accesibili prin terminalele sistemului Mega și procesul de configurare a modului lor de operare devine foarte simplu.
Programarea Arduino Mega
Programarea microcontrolerelor nu este în general plăcută. Trebuie să se cunoască hărțile de memorie, magistralele periferice, vectorii de întrerupere și multitudinea de regiștri de date/control. Pe lângă acesta, dacă se schimbă microcontrolerul este necesar să se rescrie codul de la zero.
Marea inovație a arhitecturii Arduino constă în aceea că a simplificat semnificativ scrierea codului pentru microcontrolere. În cazul celor familiari cu limbajul C de programare, se poate ajunge la o viteză de scriere a unui cod de până la câteva minute, iar cu noile plăci Arduino se pot compila și rula programele fără nicio modificare.
4.3.1. Pregătirea mediului Arduino
Sistemul Arduino este dotat cu un pachet software compus din trei componente:
Driverele USB necesare comunicării cu plăcile Arduino;
Un compilator pentru a converti codul scris într-unul executabil pentru microcontrolere;
Un mediu de dezvoltare integrat (IDE – Integrated Developement Environment), pentru scrierea, editarea compilatea și încărcarea codurilor scrise.
Există două medii de dezvoltare Arduino:
Arduino 1.0.x. – care este un mediu stabil și suportă plăci cu procesoare de 8 biți, cum este Arduino Mega.
Arduino 1.5.x. – care suportă plăci cu microcontrolere pe 32 de biți cum este de exemplu Arduino Yun și Arduino Due.
Pentru adescărca un mediu de dezvoltare la care s-a optat se utilizează adresa: http://arduino.cc/en/Main/Software și se alege versiunea corespunzătoatre sistemului de operare. După descărcare, aplicația trebuie instalată, operație care depinde de sistemul de operare. Pentru Windows, instrucțiunile se găsesc la adresa: http://arduino.cc/en/ Guide/Windows. Fig. IV.2 prezintă modul in care aplicația arată după instalare și lansare pe un computer cu sistem de operare Wndows 7.
Fig. IV.2. Mediul de dezvoltare Arduino.
În momentul în care aplicația startează pentru prima dată, nu știe ce placă Arduino se utilizează sau cum se poate accesa aceasta. Prin urmare, înainte de a începe să se scrie codul trebuie ca mediul de dezvoltare să fie informat despre placa Arduino ce urmează a fi utilizată. Pentru placile conectate prin USB se recomandă parcurgerea a cinci etape:
Se conectează Arduino Mega printr-un cablu USB la PC;
Se lansează mediul de dezvoltare Arduino;
În meniul principal, în Tools > Board și se selectează Arduino Mega2560 sau Mega ADK;
În meniul principal, în Tools > Serial port, se selectează portul serial la care este conectat Arduino Mega. Procedeul de determinare a portului serial conectat depinde de sistemul de operare;
În meniul principal, în File > Save As, se introduce numele blink al codului (de exemplu). Se da clic pe Save.
După parcurgerea celor cinci etape, mediul de dezvoltare va arăta conform Fig. IV.3.
Fig. IV.3. Mediul de dezvoltare configurat
complet.
4.3.2. Programarea în mediul Arduino
Un program Arduino constă în linii de cod (declarații) care au aceeași structură și sintaxă ca cele din limbajul de programare C. Astfel, fiecare declarație se termină cu punct și virgulă și declarațiile se pot grupa în blocuri numite funcții. Arduino acceptă multe tipuri de date de bază ale limbajului C, dar pentru multe programe Mega, singurul tip de date de care este nevoie sunt cele de tipul int.
Fiecare schiță de program se poate împărți în trei părți:
Variabile globale – Această parte declară și inițializează variabilele care pot fi folosite în schița de program.
Setup() – conține declarațiile care se execută în momentul în care sistemul startează sau se resetează.
Loop() – conține declarațiile care trebuie să se repete după ce funcțiile de setare și-au terminat de executat sarcinile.
Tab. IV.3 sintetizează principalele funcții cu o scurtă descriere a fiecăreia. Prezentarea nu acoperă toate funcțiile, ci se concentrează pe funcțiile aparținând unui număr de patru categorii: I/O digitale, sincronizarea, citire semnale analogice și scriere semnale analogice.
Tab. IV.3. Funcții ale mediului Arduino.
HIGH și LOW sunt valori int. HIGH are valoarea 1 și LOW are valoarea 0.
I/O digitale
După cum a fost precizat anterior, pinii platformei Mega pot fi împărțiți în cinci categorii: semnale de putere (power), intrări analogice, comunicații, digitale și PWM. Cu excepția pinilor dedicați semnalelor de putere, ceilalți pini pot fi configurați să îndeplinească unul din trei roluri:
INPUT – tensiunea de nivel digital (HIGH sau LOW) de intrare la un pin poate fi citită cu digitalRead.
INPIT_PULLUP – impune unui pin de intrare să aibă starea implicită HIGH.
OUTPUT – valoarea tensiunii de ieșire a unui pin se poate impune prin digitalWrite.
Modul de funcționare a unui pin stabilește când pinul este de intrare și când pinul este de ieșire. Pentru a configura pinul în acest fel, funcția pinMode necesită două argumente: numărul pinului și rolul pe care se dorește să-l îndeplinească acesta. Implicit, fiecare pin este setat ca INPUT. Sepre exemplu, pentru a programa pinul 10 să funcționeze ca ieșire se scrie:
pinMode(10, OUTPUT);
Dacă pinMode setează un pin în modul INPUT sau INPUT_PULLUP, digitalRead va returna o variabilă int corespunzătoare nivelului de tensiune aplicată pe acel pin. În cazul modului INPUT digitalRead returnează HIGH dacă pinul este conectat la o tensiune mai mare decât 3 V și LOW dacă este conectat la o tensiune mai mică de 2 V. Pentru modul INPUT_PULLUP, digitalRead va returna în mod implicit HIGH și va returna LOW dacă pinul este conectat la masă.
Dacă pinMode setează pinul în modul OUTPUT, digitalWrite se utilizează pentru a stabili nivelul tensiunii pinului. Acesta funcție acceptă două argumente: numărul pinului și nivelul tensiunii. Dacă al doilea argument este HIGH, atunci digitalWrite va seta tensiunea pinului la valoarea de 5 V. Dacă al doilea argument este LOW, tensiunea pinului va fi 0 V.
Ca un scurt exemplu, codul de mai jos citește nivelul tensiunii de pe pinul 7 și scrie nivelul tensiunii pinului 9.
res = digitalRead(7);
digitalWrite(9, res);
Dacă acest cod este plasat în interiorul unui funcții LOOP, el va fi executat în mod repetat. Dacă este plasat într-o funcție SETUP, el va fi executat o singură dată la executarea programului.
Sincronizarea
Funcțiile de sincronizare ale mediului Arduino sunt ușor de utilizat. În total sunt patru. Două dintre ele specifică temporizările și două specifică timpul în care trebuie să ruleze. În cazul în care un program modifică starea unui pin, după cum digitalWrite modifică tensiunea unui pin, această nouă stare a pinului trebuie menținută un anumit interval de timp. Acest lucru este posibil prin utilizarea funcțiilor delay și delayMicroseconds. Dacă se dorește modificarea stării unui pin din HIGH în LOW și fiecare dintre aceste două stări trebuie să dureze 1 s, se folosește codul:
delay(1000);
Odată temporizarea startată, următoarele declarații nu vor fi executate decât la sfârșitul temporizării. Argumentul funcției de mai sus este exprimat în milisecunde.
În multe aplicații, un interval de o milisecundă poate fi prea mare. În acest caz, se poate utiliza funcția delayMicroseconds. Aceasta este similară cu delay, însă argumentul este exprimat microsecunde.
În program, funcția buclă se execută până când se întrerupe alimentarea. Aceasta înseamnă că programatorul nu poate opri execuția buclei și nici nu poate să o întrerupă. Totuși, dacă se dorește execuția codului o anumită durată de timp, se pot utiliza funcțiile millis și micros. Aceste funcții stabilesc intervalul de timp în care rulează programul și argumetele lor reprezintă milisecunde și respectiv microsecunde.
În cele ce urmează se prezintă un exemplu de utilizare a funcției millis în practică. Codul de mai jos setează pinul 13 în starea HIGH pentru primele 5 s și în starea LOW pentru următoarele 5 s, după care revine în starea HIGH.
if (millis() < 5000)
digitalWrite(13, HIGH);
else if (millis() < 10000)
digitalWrite(13, LOW);
else
digitalWrite(13, HIGH);
Funcția micros permite o măsurătoare a timpului mai precisă. Acest fapt poate fi folositor în cazul controlului umor mecanisme sau în procesul de comunicare cu alte dispozitive.
Citirea semnalelor analogice
Dacă se dorește citirea datelor provenite de la un senzor sau de la oricare alt dispozitiv analogic, Arduino oferă două funcții fundamentale: analogReference și analogRead.
Un semnal analogic poate lua o infinitate de valori, dar pinul sistemului Mega nu poate citi un numar infinit de valori. Prin urmare, când se scrie o secvență de program care citește date analogice, trebuie de cunoscut care este valoarea maximă a tensiunii care poate fi citită. Implicit, valoarea maximă a tensiunii analogice care poate fi citită de Mega este de 5 V. Aceasta însemnă că intrările analogice pot distinge numai valori de intrare cuprinse între 0 V și 5 V. Valoarea maximă se poate schimba utilizând funcția analogReference, a cărui argument poate lua o valoare din patru:
DEFAULT – valoarea implicită este de 5 V.
INTERNAL1V1 – valoarea maximă este de 1,1 V.
INTERNAL2V56 – valoarea maximă este de 2,56 V.
EXTERNAL – valoarea maximă este determinată de tensiunea prezentă la pinul AREF.
Dacă se aplelează funcția analogReference cu argumentul setat pe EXTERNAL, pinii pentru semnale analogice ai plăcii vor citi tensiuni de intrare cuprinse între 0 V și tensiunea la bornele pinului AREF. De notat este faptul că pinul AREF trebuie să fie setat pentru o tensiune cuprinsă între 0 V și 5 V.
La fel ca digitalRead, funcția analogRead acceptă ca argument numărul pinului de la care se va citi tensiunea și tot la fel ca funcția digitalRead și analogRead returnează o variabilă int. Totuși, între aceste două funcții există două diferențe majore:
Variabila int returnată de analogRead ia valori cuprinse între 1 și 1023, unde 0 reprezintă un nivel de tensiune de 0 V, iar 1023 reprezintă nivelul maxim de tensiune.
analogRead poate fi apelată numai pentru pini de semnal analogic special configurați (pinii A0 – A15 din Fig. IV.1).
Ca exemplu, pentru citirea tensiunii analogice de la pinul A5, se scrie secvanța de cod:
analog_v = analogRead(A5);
Pinii de intrare pentru semnale analogice pot fi accesați prin funcțiile I/O digitale: digitalRead și digitalWrite. De exemplu, codul următor permite citirea nivelului digital al tensiunii de la pinul A5:
digital_v = digitalRead(A5);
Ca și pinii pentru intrări digitale, pinii pentru intrări analogice sunt setați implicit în modul INPUT. Utilizând funcția pinMode ei pot fi configurați în modurile OUTPUT sau INPUT_PULLUP.
Scrierea semnalelor analogice
Funcția analogWrite este importantă. Pe platforma Mega, acestă funcție produce un tren de impulsuri PWM, care constituie mecanisnul primar de control al majorității motoarelor de curent continuu. Pentru generarea unui semnal PWM, funcția analogWrite necesită două argumente:
Numărul pinului – analogWrite este disponibilă numai pentru anumiți pini (2-13, 44-46 pe platforma Mega). Nu poate fi apelată pentru pinii intrărilor analogice.
Ciclul de lucru – această valoare determină lățimea impulsului (durata în timp) în raport cu distanță (timpul) dintre două impulsuri. Valorile sunt cuprinse între 0 (lipsă impuls) și 255 (impuls continuu).
Controlul motorului pas cu pas
Cu toate că funcționarea motorului pas cu pas este ușor de înțeles, nu este cel mai ușor de controlat. Motoarele pas cu pas bipolare au patru terminale care necesită semnale de comandă, iar motoarele unipolare necesită șase astfel de semnale.
Driverele de putere (motor shield) ușurează controlul motoarelor pas cu pas. Nu numai din cauză că aceste drivere au o structură hardware special destinată acestui scop, ci și pentru că Arduino oferă gratis software-ul necesar întocmirii programelor funcționabile. Aceste software gratis este un pachet sub forma unei bibiloteci.
4.4.1. Biblioteca motorului pas cu pas
La instalarea mediului Arduino, se pot apela aproximativ 40 de funcții, excuzând funcțiile Steam și Serial. Acest set de funcții se poate extinde prin utilizarea bibliotecilor. De exemplu, o bibliotecă conține funcții pentru comunicațiile prin magistrala periferică serială (SPI). Alta conține funcții care controlează afișoarele cu cristale lichide (LCD). Pentru a vedea care biblioteci sunt disponibile, se poate vizita http://arduino.cc/en/Reference/Libraries. Cele mai multe dintre aceste biblioteci se pot încadra într-una din următoarele două categorii: biblioteci standard și biblioteci dedicate. Bibliotecile dedicate trebuie descărcate și instalate în mediul Arduino. Bibliotecile standard sunt deja incluse în mediul Arduino.
Pentru accesarea unei funcții din bibliotecile standard, în meniul principal se decshide Sketch > Import Library și se selectrază biblioteca dorită. Pentru cazul de față, se scrie:
#include <Stepper.h>
Prin adăugarea acestei linii de cod, se pot apela funcții din biblioteca dedicată motorului pas cu pas. Tab. IV. Prezintă funcțiile dedicare motorului pas cu pas însoțite de o scurtă descriere.
Tab. IV.4. Funcțiile bibliotecii motorului pas cu pas.
Obiecte și clase
Primele două functii din Tab. IV.4 nu sunt similare cu celeleate funcții discutate până în prezent. Ele au scopul de a cea a nouă variabilă globală și din acest motiv, funcția Stepper trebuie scrisă înaintea funcțiilor de setare. Variabila creată de functia Stepper nu este de tipul int sau float. Tehnic vorbind, Stepper este o clasă și orice variabilă creată de metoda Stepper este un obiect. Pentru a realiza programarea în mediul Arduino este necesar să se cunoască patru obiective:
Fiecare obiect este creat printr-o funcție denumită constructor. O clasă poate avea mai mulți constructori și fiecare trebuie să aibă același nume ca al clasei din care face parte.
Un obiect poate conține variabile proprii. Acestea poartă numele de variabile membre.
Un obiect poate conține funcții proprii. Acestea se numesc funcții membre.
Funcțiile și variabilele membre ale unui obiect pot fi accesate prin numele obiectului urmat de un punct (.) și apoi numele variabilei sau a funcției.
În Tab. IV.4, primele două funcții sunt constructori și următoarele două funcții sunt funcții membre. Apoi, funcția loop apelează una dintre funcțiile membre ale obiectului.
Stepper s = Stepper(200, 6, 5);
…
loop() {
…
s.step(1);
…
}
Prima linie apelează construtorul Stepper. Ca orice funcție obișnuită, constructorul acceptă argumente și returnează variabile. În acest caz, variabila este un obiect Stepper numit s. Acest obiect are două funcții membre pe care le poate apela: setSpeed și step. În codul prezentat mai sus, funcția step a obiectului este apelată în interiorul funcției loop. Punctul dintre s și step identifică step ca funcție membră a obiectului s. Este important de precizat că o funcție membră trebuie apelată împreună cu obiectul asociat ei.
Funcții Stepper
În ambii constructori Stepper, primul argument decide numărul de pași pe care trebuie să îi efectueze motorul pentru a realiza o rotație completă. De exemplu, dacă la fiecare pas motorul se rotește cu un unghi de 1,80, numărul de pași pentru o rotație completă este 3600/1,80 = 200. Constructorul trebuie să primescă această valoare ca fiind de tip int.
Celelalte argumente ale constructorului indică pinii care comandă motorul. În funcție de natura motorului, el poate fi conectat la doi sau patru pini. După ce a fost creat obiectul Stepper, funcția setSpeed specifică viteza dorită a motorului. Prin combinarea numărului de pași pe o rotație și numărul de rotații pe minut, programul calculează timpul de întârziere dintre pași.
De exemplu, se presupune că motorul efectuează 150 de pași pentru a realiza o rotație completă și setSpeed impune o viteză de 20 de rotații pe minut. Programul va calcula numărul de pași ce trebuie executați într-un minut: 150·20 = 3000 de pași într-un minut sau 50 de pași intr-o secundă. Astfel, programul calculeză timpul dintre doi pași:1/50 = 0,02 secunde.
Ultima funcție din tabel este step. Argumentele acesteia impun numărul de pași pe care trebuie să-i execute motorul. Dacă argumentul este 1, motorul va executa un pas și apoi controlul va reveni la program. Dacă argumentul este mai mare decât 1, motorul va executa mai mulți pași. În acest caz programul se va opri până când vor fi executați toți pașii. Dacă argumentul este negativ, motorul se va roti în sens invers.
4.4.2. Comanda motorului pas cu pas
După cum este cunoscut, motoarele pas cu pas se pot clasifica din punct de vedere al sistemului de comandă în două categorii: motoare bipolare și motoare unuipolare. Principalele caracteristici ale acestora pot fi sisntetizate astfel:
Motoatele pas cu pas bipolare au patru terminale, pe când cele unipolare au cinci sau șase.
Motoarele bipolare necesită pentru control două punți în H. Controlul motoarelor unipolare este mai puțin complex.
Motoarele bipolare sunt semnificativ mai eficiente, deoarece utilizează întreaga lungime a fiecărei înfășurări în momentul când aceasta este alimentată.
Dezavantajul utilizării motoarelor pas cu pas bipolare constă în faptul că pentru comanda lor sunt necesare două punți în H.
Ambele tipuri de motoare pas cu pas au două faze: A – A’ și B – B’, conform Fig. IV.4.
Fig. IV.4. Conexiunile unui motor pas cu pas bipolar.
Considerând că pentru controlul motorului pas cu pas se utilizează driverul L298P, acesta este prevăzut cu două punți în H. Ținând cont de acest lucru, este evident că terminalele A și A’ trebuie conectate la terminalele MOT_A+ și MOT_A- ale driverului. Similar, B și B’ vor fi conectate la MOT_B+ și MOT_B-. La unele variante, aceste conexiuni sunt notate Motor Power (A+), Motor Power (A-) și respectiv Motor Power (B+) și Motor Power (B-).
Ieșirile celor două punți sunt determinate de DIR_A și DIR_B, care corespund pinilor 12 și 13. Programul necesar controlului motorului pas cu pas este prezentat în cele ce urmează.
/*
Acest program controleaza un motor pas
cu pas bipolar care trebuie sa execute zece
pasi intr-o directie si apoi 10 pasi in directia
contrara.
Numarul de pasi pe rotatie este de 200 (1.8 grd/pas)
iar viteza este de 10 rpm.
*/
#include <Stepper.h>
// setarea pinilor
int pwm_a = 3;
int pwm_b = 11;
int dir_a = 12;
int dir_b = 13;
// Crearea obiectului motor pas cu pas
Stepper s = Stepper(200, dir_a, dir_b);
void setup() {
// Se impune viteza de 10 rot/min
s.setSpeed(10);
// Asigurarea ca ambele punti sunt in starea “on”
pinMode(pwm_a, OUTPUT);
pinMode(pwm_b, OUTPUT);
digitalWrite(pwm_a, HIGH);
digitalWrite(pwm_b, HIGH);
}
void loop() {
// Zece pasi intr-o directie
s.step(10);
delay(1000);
// Zece pasi in directie contrara
s.step(-10);
delay(1000);
}
Pe lângă DIR_A și DIR_B, programul de mai sus stabilește valori pentru PWM_A și PWM_B. Aceste semnale trebuie să fie setate la valoarea HIGH pentru a avea siguranța că ambele punți în H vor funcționa normal, cu toate că pentru comanda motorului pas cu pas nu sunt necesare semnale PWM sau BRAKING (frânare).
Driverul Arduino
Arduino Mega oferă multe oprtunități, însă nu poate furniza un curent suficient de mare pentru controlul unui motor. Pe lângă acesta sistemul nu este dotat cu punți în H necesare schimbării sensului de rotație al motorului. Prin urmare, Mega nu poate controla singur un motor, ci trebuie conectat la un Driver Arduino.
În terminologia Arduino, un driver (shield) este un circuit secundar care poate fi conectat la sistemul Arduino și la care se conectează motorul ce urmează a fi comandat. Există multe tipuri de drivere pentru dispozitivele Arduino, inclusiv drivere pentru comunicații wireless, localizare GPS sau redarea formatelor MP3. Un astfel de driver este prezentat în Fig. IV.5.
4.5.1. Terminalele de putere
Circuitele logice care intră în componența driverului sunt alimentate de la Arduino Mega, însă puterea primită nu este suficientă pentru comanda motorului. Din acest motiv, driverul este prevăzut cu propriile lui terminale de putere: Vin și GND. Terminalul Vin acceptă tensiuni cuprinse între 7 V și 12 V, și un curent de până la 2 A.
Fig. IV.5. Driverul Arduino (v1.1).
Dacă Vin este setat pentru o tensiune mare este necesar să se ia măsuri ca această tensiune să nu afecteze Arduino Mega. Recomandarea producătorului indică scoaterea jumper-ului Vin Connect de pe spatele plăcii driverului.
Deasupra terminalelor Vin și GND există patru terminale la care se conectează motorul. Aceste terminale pot livra putere electrică pentru controlul motoarelor de curent continuu cu perii sau pentru motoare pas cu pas.
4.5.2. Conexiunile punții duble în H L298P
Driverul conține două punți în H incluse în circuitul integrat L298P. Acest cip utilizează tranzistoare unijoncțiune bipolare cu rol de contactoare.
Circuitul este complex, însă trebuie de avut în vedere că principalul sau scop este acela de a furniza putere către ieșirile MOT_A+ și MOT_A-. pentru ca motorul să se roteasca într-un sens, este necesar ca MOT_A+ să fie conectat la Vin și MOT_A- la GND. Pentru a schimba sensul de rotație al motorului, MOT_A+ trebuie conectat la GND și MOT_A- la Vin.
Terminalul PWM_A recepționează impulsuri PWM de la placa Arduino Mega. Când semnalul este HIGH, circuitul funcționează normal. Când este LOW, nu se aplică nici un semnal la intrările contactoarelor, ceea ce înseamnă că MOT_A+ și MOT_A- rămân neconectate.
Fig. IV.6. conexiunile punții în H.
Dacă PWM_A este HIGH, starea celor patru contactoare este controlată prin DIR_A și BRAKE. Dacă DIR_A este HIGH, S0 conectează MOT_A+ la Vin. Dacă DIR_A este LOW, S1 conectează MOT_A+ la GND.
Partea dreaptă a Fig. IV.6 demonstrază modul în care semnalul BRAKE_A influențează funcționarea circuitului. Dacă BRAKE_A este LOW, DIR_A# este opus față de DIR_A. Aceasta înseamnă că MOT_A- este conectat la GND când MOT_A+ este conectat la Vin și invers.
Pe de altă parte, în momentul în care BRAKE_A este HIGH, DIR_A# are aceeași valoare cu DIR_A. Aceasta însdeamnă că MOT_A+ și MOT_A- vor fi conectate la aceeași polaritate. Datorită faptului că diferența de potențial dintre MOT_A+ și MOT_A- este zero, prin înfăsurarea motorului nu va circula curent, ceea ce va determina oprirea acestuia.
Pentru a controla corespunzător motorul pas cu pas este necesar să se cunoască relația dintre semnalele din Fig. IV.6 și pinii sistemului Arduino Mega. Această corespondență este prezentată în Tab. IV.5.
Tab. IV.5. Semanlele necesare motorului și pinii Arduino.
CONCLUZII
Motoarele pas cu pas sunt utilizate într-o largă diversitate de aplicații. Sunt răspândite în birouri, deoarece echipează imprimantele, ploterele, copiatoarele, scanerele. Motoarele pas cu pas sunt utilizate și în aplicațiile auto pentru controlul electronic al accelerației, al indicatoarelor de bord și al sistemelor de climatizare. Se întâlnesc și în echipamentele industriale cum ar fi roboții, acționarea stivuitoarelor, testere, dozatoare și alte echipamente necesare procesului de producție.
În general, motoarele pas cu pas cunt controlate prin intermediul circuitelor integrate specializate care oferă funcționalități afererente controlului limitate. Aceste circuite integrate sunt de obicei utilizate ca interfețe bidirecționale către un microprocesor și prin acesta se limitează performanțele. În alte aplicații, motoarele pas cu pas sunt interfațate cu un PC gazdă, în scopul obținerii unor performanțe deosebite ale controlului.
În sistemele integrate este mult mai bine să se utilizeze un microcontroler pentru a controla direct motorul pas cu pas. Un astfel de microcontroler este ATmega2650 cu care este echipată placa de dezvoltare Arduino Mega și este capabil să asigure performanțe deosebite controlului. Spre deosebire însă de alte microcontrolere destinate controlului motoarelor pas cu pas, acesta nu poate furniza suficintă putere pentru a comanda direct motorul, ci necesită circuite driver (cum ar fi driverul Arduino dotat cu puntea dublă în H L298P), spre deosebire de microcontrolerul C8051F300 care comandă direct tranzistoare de putere MOSFET, fără a mai fi necesare circuite suplimentare de comantă pe poartă.
Alegerea soluției de control a motorului pas cu pas prin intermediul plăcii de dezvoltare Arduino Mega, dotată cu microcontrolerul ATmega2650 prezintă avantajul ușurinței scrierii programului de operare al motorului, multitudinii informațiilor și a soluțiilor puse la dispoziție de firma producătoare, chiar dacă sistemul necesită utilizarea unui driver pentru comanda motorului.
Bibliografie
Țopa I., Dănilă A., Diaconu L., “Acționări electrice reglabile cu mașini asincrone”, Editura Matrix Rom, București, 2007.
Câmpeanu A., Iancu V., Rădulescu M., “Mașini și acționări electrice”, Editura Scrisul Românesc, Craiova, 1996.
Țopa I., Dănilă A., Diaconu L., “Elemente de execuție electrice”, Editura Matrix Rom, București, 2005.
Blair T., “Electric Machines & Drives”, University of South Florida, Fall, 2011.
Incze I., I., Negrea A., Imecs M., Szabo C., “Incremental Encoder Based Position and Speed”, Acta Universitatis Sapientiae, 2 (2010) 27-39.
Hopkins T., “Stepper motor driving”, AN235 Application note, November 2012.
Acarnley, P., “Stepping Motors. A guide to theory and practice”, 4th edition, The Institution of Engineering and Technology, London, Kingdom, 2002.
Viorel, I., A., Szabo, L., “Hybrid Linear Stepper Motors”, Mediamira Publishing Company, Cluj-Napoca, 1998.
***, “Arduino Website”, https://www.arduino.cc/en/Main/arduinoBoardMega2560.
***, “Arduino Motor Shield”, https://www.arduino.cc/en/Main/ArduinoMotorShieldR3.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Conducerea Actionarilor cu Turatie Variabila Prin Sisteme Electronice (ID: 112186)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
