microcontrolere

Upload: petrovai-alexandru

Post on 15-Oct-2015

91 views

Category:

Documents


1 download

DESCRIPTION

Automatizari industriale,microcontrolere

TRANSCRIPT

  • n general sistemele de acionare pot fi descompuse n: dispozitivul mecanic, este cel care este acionat cu ajutorul motorului (servo sau motor pas cu pas de exemplu) cu feedback sau nu (n general aplicaiile cu motoare pas cu pas nu sunt cu bucl de control n schimb aplicaiile cu motoare de curent alternativ, de curent continuu sau brushless, au nevoie pentru controlul micrii de bucl de reacie) care permite unitii de control, s genereze semnal corespunztor pentru driver sau amplificator. Sistemele tradiionale de control a micrii utilizeaz tehnologia PLC (figura 3.1. a)), care este o parte a unui sistem complex hardware i software. Sistemele mai noi folosesc doar PC pentru realizarea controlului, avantajele acestui tip de control sunt evidente, PC-ul oferind vizualizarea uoar a datelor de intrare/ieire, manipularea uoar a datelor, capacitate mare de stocare a datelor (figura 3.1.b)). Astfel, n primul caz, PC-ul este folosit pentru achiziia i vizualizarea datelor. Exist o plac de interfa ntre PC i PLC, un dispozitiv I/O pentru achiziia datelor de la dispozitivele de control i ieirea datelor de comand i bineneles un software care s gestioneze toate aceste sisteme operaionale.[1]

    n particular, conducerea sistemelor de acionare cu motoare pas cu pas nseamn n termeni generali controlul micrii, care n termeni electronici nseamn controlul precis al

    micrii unui obiect bazndu-se fie pe poziie, vitez, sarcin, inerie sau o combinaie a tuturor acestor factori.

    Aceast lucrare este dedicat studiului motorului pas cu pas, din punct de vedere al conducerii acestuia, dar n practic acesta este ntotdeauna parte component a unui sistem de acionare, deci conducerea motorului nseamn de fapt conducerea sistemului de acionare.

    Sistem SCADA

    PC pentru programarea

    PLC

    Controlul micrii

    Driver i motor

    Intrri/ Ieiri

    PLC Staie operare

    Card control al

    micrii

    Driver i motor

    Intrri/ Ieiri

    a) Sistem de control cu PLC b) Sistem de control cu ajutorul PC-ului Fig. 3.1

  • Cu riscul de a m repeta, este necesar s reamintesc modul simplist, dar eficient de funcionare al motorului pas cu pas. Astfel motorul pas cu pas este de o simplitate uluitoare. Nu are perii i contacte. n esen este un motor sincron cu un cmp magnetic comutat electronic pentru a roti magnetul permanent (rotorul). n figura 3.2 se poate observa relaia dintre un puls electric i un pas efectuat de motor, adic o rotaie a rotorului cu un numr de grade (n funcie de raportul grade/pas al motorului).[1]

    n principiu, un sistem de acionare cu motor pas cu pas conine trei elemente de baz: controller, driver (amplificator) i motor, care uneori sunt combinate cu diferite dispozitive de interfa cu utilizatorul cum ar fi calculatorul personal, PLC sau un simplu terminal de introducere a datelor (format dintr-un LCD i o tastatur care genereaz semnalele necesare nceperii sau terminrii unor procese comandate de controller).

    Despre calculatorul personal nu are rost s discutm prea mult deoarece ne-am deprta de la subiect, trebuie menionat doar faptul c putem folosi intrrile calculatorului, portul serial, portul paralel, portul USB, portul FireWire sau plci de achiziie speciale care pot comanda sau supraveghea pn la 65536 (256x256) de procese simultan. n partea practic s-a folosit portul paralel pentru a comanda controller-ele (adic pentru generarea semnalelor necesare conducerii unui proces), iar portul serial a fost folosit pentru a transfera programul de execuie n microcontroller-ul PIC.

    Despre PLC (Programable Logic Controller) sau ELP n limba romn, Echipament cu Logic Programat putem spune c a reprezentat un salt imens de la echipamentele cu logic cablat.

    Astfel, schemele electrice clasice pot fi reprezentate sub forma unor scheme logice. Funciile logice ce intr n componena acestor scheme logice pot fi reprezentate prin expresii

    algebrice. De aici posibilitatea de a exprima schemele electrice prin expresii algebrice, astfel nct s se obin o implementare mai avantajoas a funciilor unui circuit de comand. Dintre funciile unui sistem de comand i protecie (msurarea, prelucrarea logic/aritmetic i execuia), funcia de prelucrare a beneficiat n modul cel mai spectaculos de posibilitile oferite de tehnicile electronice moderne. Expresiile algebrice ale schemelor logice se pot constitui ntr-un program care trebuie executat de circuitul de comand. Acest program poate fi pstrat ntr-o

    Fig. 3.2

  • memorie electronic de unde este apelat i executat folosind posibilitile oferite de microprocesoare i circuitele lor anexe. Avnd n vedere faptul c funciile pe care le execut echipamentul sunt stabilite prin programarea i la nevoie reprogramarea (chiar repetat) a memoriei electronice, aceste echipamente de comand sunt denumite echipamente cu

    logic programat.

    Prile principale ale unui echipament cu logic programat sunt :

    - interfeele de intrare/ieire - unitatea central coninnd memoria - microprocesorul

    - circuitele de tact - sursa

    - echipamentul de programare - blocul de temporizare

    reprezentate n figura 3.3.

    Deoarece nu am folosit n aplicaia practic un ELP, nu vom intra n detalii privind componena intern a acestuia i modul de programare sau utilizare, acestea nefcnd obiectul studiului acestei lucrri. Totui trebuie menionat c, cu ajutorul unui ELP performant se pot comanda sau supraveghea pn la 4096 de procese.

    Astfel rmne la latitudinea proiectantului i utilizatorului s aleag interfaa indicat pentru lucrarea pe care dorete s o execute deoarece fiecare dintre aceste elemente are avantajele i dezavantajele sale.

    Astfel, primul element, Controller-ul, este n esen un microprocesor care este

    capabil s genereze impulsuri pentru pire n secvena necesar driver-ului pentru a alimenta bobinele motorului n secvena corect pentru a realiza pirea. i controller-ele pot fi mprite n trei categorii: controller-e de nivel inferior (low level controller), care au doar funciile de

    Fig. 3.3

  • baz n conducerea sistemelor de acionare cu motoare pas cu pas, controller-e de nivel mediu (mid level controller) care au i funcii speciale cum ar fi modul de pire jumtate de pas i micropirea i controller-e de nivel nalt (high level controller), care pe lng modul de pire jumtate pas cu pas i micropire cu diferite rapoarte 1/8, 1/32 i cele mai performante 1/256, au i posibilitatea de a interaciona cu diferite elemente de control encoder-e, traductoare sau senzori. n ultimul timp, progresul tehnologic a dus la scderea preurilor pentru microcontroller-e programabile, care datorit posibilitilor aproape nelimitate de programare au nceput s preia rolul controller-ului n unele aplicaii speciale cu scar mic de integrare,totui nu este justificat faptul de a nlocui toate controller-ele clasice cu microcontoller-e deoarece costul unui microcontroller este totui mai mare ca al unui controller de clas medie. De asemenea, un microcontroller poate nlocui cu succes un ansamblu PC sau PLC i controller, el prelund funciile acestor echipamente datorit posibilitilor sale de comunicare serial sau cu dispozitve IC2, i datorit posibilitii de stocare a programului control.[1,3]

    Al doilea element este driver-ul sau amplificatorul. Vom folosi denumirea de

    driver pentru c este termenul utilizat n documentaia de specialitate, care are rolul de a converti semnalele primite de la controller n semnale (curent i tensiune) pentru energizarea bobinelor motorului. Astfel, este nevoie de un puls energetic de la amplificator pentru ca motorul se execute un pas fizic, o deplasare a rotorului cu un pas unghiular. Cu alte cuvinte, performanele motorului, viteza sau momentul sunt direct dependente de amplificator (pentru a obine cupluri maxime sau viteze mari este nevoie de cureni mari, totui nu peste limita maxim admisibil a motorului). Exist mai multe tipuri de amplificatoare cu diferite rapoarte de amplificare a semnalului n funcie de motorul comandat. De precizat c motorul pas cu pas, n funcie de tipul su necesit un anumit tip de driver (amplificator), n caz contrar neputnd funciona corect (de exemplu motorul pas cu pas bipolar are nevoie de circuite speciale care permit schimbarea polaritii la bornele de acces ale unei bobine a motorului pentru a permite schimbarea direciei de deplasare.

    Al treilea element este motorul pas cu pas. Despre motorul pas cu pas am

    discutat pe larg n capitolul 1, aici reamintind doar faptul c acesta este un dispozitiv electromecanic care transform impulsurile electrice primite de la amplificator n micare mecanic de rotaie a arborelui (rotorul motorului).

    3.1. controller-ul

    Dei i PC-ul poate fi numit controller, cu soft-ul adecvat el putnd comanda cu ajutorul unui driver orice tip de motor pas cu pas, ne vom referi cu denumirea de controller, doar

  • la circuitele integrate specializate care genereaz semnalele necesare pentru a face un motor pas

    cu pas s realizeze o micare, bineneles cu ajutorul driver-ului. Deoarece n aplicaia practic ce nsoete aceast lucrare am folosit controller-ul de

    clas medie L297 , n continuare sunt prezentate caracteristicile acestui

    controller, care de altfel se ntlnesc la majoritatea controller-elor de clas medie.[3] De ce un controller? Pentru c permite conducerea motorului n modul de pire

    normal, n modul de pire jumtate de pas, permite schimbarea direcie de rotire (n sens orar i n sens antiorar), reglarea curentului prin comutaie, necesit puine componente externe. Acestea sunt cteva motive eseniale n alegerea unui controller pentru a conduce o acionare cu motor pas cu pas.

    L297 este un controller construit pentru a se utiliza mpreun cu L298N sau L293E pentru a comanda un motor pas cu pas bipolar, sau cu 4 tranzistoare darlington pentru a comanda un motor pas cu pas unipolar. Primete semnalele de intrare de la un PC sau un microcontroller de sistem i n funcie de semnalele primite la intrare genereaz semnalele de conducere la ieire necesare motorului s execute micarea dorit. Adiional include i dou circuite PWM care au rolul de a regla curentul prin bobine. L297 poate comanda dou motoare bipolare cu dou faze, un motor unipolar cu patru faze sau un motor cu reluctan variabil cu patru faze. Exist dou versiuni de L297, cea standard, folosit i n aplicaia practic i o ediie special numit L297A, acesta din urm fiind construit special pentru aplicaiile de poziionare a capului de citire la floppy-disk-uri.[7,9]

    Avantajele oferite de o combinaie format dintr-un controller L297 i un driver sunt evidente: sunt necesare foarte puine componente, deci i costurile de producie sunt reduse, de asemenea spaiul necesar este mic, software-ul necesar este uor de realizat i de implementat folosind n cazul microcontroller-elor puin memorie.

    Structura intern (figura 3.4) cuprinde urmtoarele blocuri interne: translatorul genereaz secvena fazelor i asupra lui acioneaz intrrile care selecteaz modul de pire, direcia, viteza (dat de frecvena ceasului) i de o funcie special acas, blocul de ieire care genereaz semnale de ieire pe pinii A, B, C, D, INH1 i INH2 i asupra cruia acioneaz translatorul, precum i pinii de Validare i Control, un oscilator intern sau unul extern (dup caz), precum i intrrile Sens1 i Sens2 care simt curentul prin bobine i genereaz semnalele de ntrerupere necesare secvenei de pire (ntreruperea i/sau schimbarea sensului curentului prin bobinele motorului/motoarelor).[7]

  • De remarcat este faptul c controller-ele L297 pot fi sincronizate ntre ele cu ajutorul unui pin Sincronizare care permite tuturor controller-elor s funcioneze n sincronism (figura 3.5).

    n figura 3.6 este prezentat configuraia tipic a unui sistem de conducere a unui motor pas cu pas bipolar. La intrrile L297 poate fi legat fie PC-ul, fie un microcontroller. Se poate observa simplitatea montajului n care sunt prezente doar integratele L297 i L298, cteva condensatoare de filtraj precum i diodele de protecie.[7,9]

    VS A INH1 B C INH2 D

    Pas ntreg/ jumtate de pas

    Reset

    Direcie

    Ceas

    Acas

    GND Sens1 Vref Sens2 Oscilator

    Sincronizare

    Validare

    Control Ieiri logice

    Fig. 3.4

    Fig. 3.5

  • O alt aplicaie tipic n care este folosit L297 este comanda unui motor unipolar cu singura diferen c n locul integratului L298 sunt folosii 4 tranzistori (figura 3.7).

    Secvena din figura 3.8 prezint semnalele aferente pinilor de ieire n funcie de semnalul de ceas, n modul de pire pas ntreg (o singura faz este activ n orice moment). Se poate observa c n momentul cnd bobina A este alimentat INH1 este dezactivat (deoarece INH1 i INH2 sunt active n zero) iar INH2 este activ, i tot aa pn motorul execut un pas (secvena n care sunt alimentate bobinele motorului A-B-C-D).

    Fig. 3.6

    VC VS

    Fig. 3.8

    Fig. 3.7

  • Figura 3.9 prezint semnalele generate la ieire n cazul modului de pire jumtate de pas. Pentru efectuarea unui pas este nevoie s fie executat urmtoarea secven (BD-D-AD-A-AC-C-CB-B).

    Un controller de nivel nalt este TMC428 . Caracteristicile lui l difereniaz de un controller de clas medie; astfel poate controla pn la 3 motoare pas cu pas

    cu dou faze (comand 3D), interfaa serial cu C, ieire analogic pentru comanda motoarelor (necesit puine componente pentru a realiza comanda motoarelor), numrtoare pe 24 bii interne pentru calculul poziiei, frecvene de pire normal pn la 20KHz pe ax i pn la 1MHz n modul micropire, citirea parametrilor de micare (poziie, vitez, acceleraie), citirea parametrilor interni ai motorului, forma curentului prin bobine poate fi: sinusoidal, trapezoidal, triunghiular sau definit de utilizator, schimbarea brusc on the fly a parametrilor de micare (poziie, vitez, acceleraie). n figura 3.10 este prezentat structura logic intern a controller-ului TMC428.[16]

    Fig. 3.9

    Fig. 3.10

  • TMC428 este un circuit integrat de mare performan utilizat n special n aplicaii speciale de automatizare sau acionarea perifericelor calculatorului. Datorit caracteristicilor multiple pe care le integreaz, cu ajutorul unui microcontroller pe 8 bii se pot realiza aplicaii de control multi-ax foarte complexe. De asemenea, dezvoltarea softului necesar conducerii lui scade mult, deoarece majoritatea funciilor de control n bucl nchis sunt preluate de acest controller.

    3.2. driver-ul Driver-ul sau circuitul de amplificare are de ndeplinit dou roluri importante: S schimbe direcia curentului i fluxului n bobinele motorului; S poat genera prin bobine curentul necesar i s aib un timp de comutaie

    mic ntre momentele de alimentare a bobinelor pentru o bun performan n obinerea acceleraiei i/sau vitezei dorite.

    Exist mai multe tipuri de driver-e, cum am menionat i mai sus, pentru fiecare tip de motor: unipolar sau bipolar. Realizarea pirii la motoarele pas cu pas necesit o schimbare a direciei fluxului independent n fiecare faz. Schimbarea sensului fluxului se realizeaz prin schimbarea sensului curentului i poate fi realizat n dou moduri: bipolar sau unipolar.

    Modul de conducere bipolar se bazeaz pe principiul c schimbarea direciei curentului printr-o bobin se realizeaz prin schimbarea polaritii la bornele bobinei. Pentru schimbarea polaritii la bornele bobinei este nevoie de o punte H format din patru ntreruptoare. Metoda de conducere bipolar necesit o bobin pe faz. De exemplu un motor cu 2 faze va avea dou bobine i deci 4 borne de acces. n figura 3.11 este prezentat modul de conducere (drive) bipolar.

    Fig. 3.11

  • De remarcat faptul c este nevoie de cte o punte H pentru fiecare bobin a motorului.

    Un driver care realizeaz comanda unui motor bipolar cu dou bobine este L298N . Acesta este un circuit integrat, ce suport tensiuni pn la 46V, curent pn la 4A. De

    asemenea acesta este prevzut cu protecie la supratemperatur. O meniune special este faptul

    c nivelul de 0 logic este meninut pn la tensiunea de 1,5V cu o imunitate ridicat la zgomot. n esen, L298N este alctuit din dou puni H ntregi, care sunt concepute s accepte

    comand logic compatibil TTL i poate comanda sarcini inductive ca motoare de curent continuu, motoare pas cu pas (cazul care ne intereseaz i pe noi) i relee. L298N, figura 3.12, este prevzut cu dou intrri care comand accesul la punile H, notate A i B. Astfel se poate comanda simplu accesul la cele dou puni fr a fi nevoie s ntrerupem alimentarea integratului. De asemenea, emitoarele de la tranzistoarele din partea de jos a fiecrei puni sunt legate mpreun i terminalul comun poate fi folosit pentru a conecta o rezisten care simte

    curentul n sarcin i permite controlul acestuia.[9]

    OUT1, OUT2, sunt ieirile punii A respectiv OUT3, OUT4 sunt ieirile punii B. Curenii care circul prin aceste ieiri sunt monitorizate de Sense A, respecitv Sense B. VS este tensiunea de alimentare, VSS este tensiunea de alimentare pentru blocurile logice. Fiecare punte are 2 intrri In1, In2 pentru puntea A, respectiv In3, In4 pentru puntea B, aceste intrri fiind compatibile TTL.[9]

    Un alt circuit integrat care este folosit pentru a conduce un motor bipolar este L6219. Acesta, la fel ca L298N, este prevzut cu dou puni H care comand fiecare o bobin a motorului bipolar (sau poate controla dou motoare de curent continuu bidirecional). Controlul curentului n acest caz se realizeaz cu ajutorul PWM-ului, curentul maxim fiind stabilit de

    Fig. 3.12

  • utilizator cu ajutorul unei tensiuni de referin i rezistenele folosite pentru a simi curentul de sarcin. Dou intrri logice controleaz curentul la ieire limitndu-l la 0, 33, 66, 100% din nivelul maxim. De asemenea, fiecare punte conine o diod de limitare i o diod de fug pentru protecia mpotriva sarcinilor inductive ntmpltoare. Exist un timp de ntrziere ntre dou comutri succesive pentru a preveni eventualitatea existenei curentului n ambele sensuri. L6219 este prevzut cu protecie termal, care n momentul cnd temperatura depete limita de funcionare, ntrerupe ieirile.[17]

    Caracteristicile de putere ale L6219 sunt, curent de ieire maxim 750mA, tensiune de alimentare la ieire pn la 45V.

    Aplicaia tipic este prezentat n figura 3.13.

    Modul de conducere unipolar este mai simplu dect modul de conducere bipolar, i se bazeaz pe faptul c fiecare bobin are un punct median sau c exist dou bobine pe faz, n cazul motoarelor pas cu pas unipolare cu 8 borne de acces. Schimbarea direciei fluxului este realizat prin alimentarea unei jumti sau a celeilalte dup cum se observ n figura 3.14.

    Motor pas cu pas bipolar

    De la microprocesor

    De la microprocesor

    Fig. 3.13

  • De remarcat c aceast metod de conducere necesit doar dou ntreruptoare pe faz. Pe de alt parte, se observ c, aceast metod de conducere utilizeaz doar jumtate din volumul de cupru din bobin, deci pierderile de putere sunt duble fa de modul de conducere bipolar raportat la aceeai putere de ieire.

    Pentru realizarea conducerii unipolare nu este nevoie de driver-e speciale, ntreruptoarele putnd fi nlocuite foarte uor cu tranzistoare de putere, de exemplu TIP31, tranzistorul folosit n aplicaia practic, sau alte tranzistoare echivalente, care preiau astfel rolul

    ntreruptoarelor. Trebuie menionat c aceste tranzistoare trebuie s aib caracteristicile electrice corespunztoare, aici ne referim la tensiunea suportat, la curentul maxim admisibil i la timpii de comutaie. De obicei, pentru protecia acestora se monteaz diode de fug. n figura 3.15 este prezentat un exemplu de driver pentru un motor unipolar cu 6 fire, care poate fi foarte uor folosit i la un motor cu 5 fire (se observ c firele 2 i 5 sunt legate mpreun la potenialul pozitiv al sursei). De menionat c A, B, C, D, Sens 1 i Sens 2 sunt ieirile controller-ului L297. De asemenea, 1-2, 3-2, 4-5, 6-5 sunt bobinele motorului unipolar.

    Fig. 3.14

    Fig. 3.15

  • Dei nu este un driver specializat, ULN 2075B, ULN 2069B, ULN 2065B, sunt circuite integrate care conin 4 tranzistoare Darlington grupate n aceeai capsul. De asemenea ULN

    2003, (amintim de el deoarece este folosit n aplicaia practic, este un integrat ce conine 7 tranzistoare Darlington de mai mic putere dect cele prezentate mai sus). n figura 3.16 se observ similitudinea cu schema prezentat n figura 3.15, singura diferen fiind c tranzistoarele sunt ncapsulate n aceeai capsul. Acest montaj este comandat la fel ca cel de sus prin folosirea ieirilor A, B, C, D, Sens1, Sens2 la care se adaug Inh1 i Inh2, ieiri negate care sunt folosite pentru a bloca ieirile A, B n cazul Inh1 sau C, D n cazul Inh2. Se observ c ieirile A, B, C, D, Sens1, Sens2 sunt intrri pentru patru operanzi logici care asigur scderea rapid a curentului n momentul cnd bobina nu mai este alimentat.[2,3]

    Dei nu este o soluie optim, exist unele momente n care toate componentele nu sunt

    disponibile sau preul lor este prea mare avnd n vedere aplicaia dorit, se poate folosi un motor unipolar ca i un motor bipolar. Astfel este posibil comanda unui motor unipolar cu 6 fire (cel cu 5 fire nu poate fi comandat n acest fel) s se realizeze cu un driver bipolar cum ar fi L298N sau L6202. n acest caz, priza median de pe bobine nu va mai fi legat la partea pozitiv a sursei de alimentare, ci va rmne nealimentat, iar celelalte patru terminale se vor lega la pinii de ieire ai integratului L298 sau L6202. n figura 3.17 este prezentat modul de conducere a unui motor unipolar cu 6 fire cu ajutorul a dou circuite L6202, cte unul pentru fiecare bobin i controller-ul L6506 care genereaz semnalul de conducere a driver-ului. Se poate observa c motorul unipolar cu 6 fire a devenit un motor bipolar cu 4 fire.[7]

    Fig. 3.16

  • Foarte important n acest tip de montaj este faptul c prizele mediane NU trebuie conectate la potenialul pozitiv al sursei de alimentare deoarece n acest caz montajul nu va funciona. Acest lucru se datoreaz faptului c circuitul L298N are protecia pe colectorul i emitorul fiecrui tranzistor i va pune n scurt sursa de alimentare.[18]

    Exist multe alte circuite specializate sau nu care pot fi numite driver-e pentru un motor pas cu pas. Totui cred c circuitele prezentate mai sus sunt reprezentative pentru modul de conducere a unui motor pas cu pas. Orice alt dispozitiv de putere care poate prelua rolul unui ntreruptor poate fi folosit n conducerea unui motor pas cu pas cu precizarea c el trebuie s poate debita puterea necesar motorului, i aici ne referim la tensiune i curent, precum i timpul de comutaie s permit obinerea caracteristicilor vectoriale ale motorului: vitez i acceleraie.

    Un caz mai aparte este circuitul integrat prezentat mai jos care integreaz att partea logic (controller) ct i partea de amplificare (driver).

    UCN5804 (figura 3.18) este un integrat care combin logica CMOS cu ieiri bipolare de tensiune mare i cureni mari. Cu alte cuvinte, putem spune c UCN5804 este un translator (controller) care ofer control complet i amplificarea (driver) pentru un motor pas cu pas unipolar cu 4 faze. Partea de control, controller logic, ofer comand pentru direcie, pornire i resetare. Modurile de pire pas ntreg, jumtate de pas pot fi selectate extern. Intrrile sunt compatibile CMOS, PMOS i NMOS. Pentru a putea fi compatibil TTL este nevoie de rezistene pentru a ridica tensiunea i a stabili nivelul logic de intrare 1. Pinii de intrare sunt: 14, cu ajutorul cruia se selecteaz direcia, 11 cu ajutorul cruia se selecteaz frecvena de pire, pinul 10 prin care se selecteaz modul de pire jumtate de pas, pinul 9 prin care se selecteaz modul de pire pas ntreg (de remarcat aici c cele dou intrri 9 i 10 nu trebuie s fie active amndou n acelai timp), iar cu ajutorul pinului 15 se pot controla ieirile, se stabilete starea acestora active sau inactive. Ieirile sunt 1, 3, 6, 8 care alimenteaz cele patru fire ale motorului n secvena dat de unitatea logic.[13]

    Fig. 3.17

  • n figura 3.19 sunt prezentate modulele standard de intrare respectiv ieire ale UCN5804.

    Aplicaia tipic a acestui circuit, conducerea unui motor pas cu pas unipolar cu 6 fire, este prezentat n figura 3.20.

    Secvena de mai jos prezint strile intrrilor i ieirilor n funcie de modul de pire selectat (figura 3.21).[13]

    Fig. 3.18

    Fig. 3.19 Intrare Ieire

    Fig. 3.20 Controlul direciei

    Frecven pire

  • 3.3. microcontroller-ul nainte de a ncepe orice discuie despre microcontroller-e, trebuie fcut urmtoarea

    precizare pentru a nu crea confuzie n continuare: microcontroller-ul difer de un microprocesor n multe feluri. n primul rnd i cel mai important este funcionalitatea sa. Pentru a fi folosit, unui microprocesor trebuie s i se adauge alte componente ca memorie, sau componente pentru primirea i trimiterea de date. Pe scurt, aceasta nseamn c microprocesorul este inima procesului. Pe de alt parte, microcontroller-ul este proiectat s fie toate acestea ntr-unul singur. Nu sunt necesare alte componente externe pentru aplicarea sa pentru c toate perifericele

    necesare sunt deja incluse n el. Astfel, economisim timpul i spaiul necesare pentru construirea de aparate.

    Odat cu creterea complexitii proceselor n care sunt implicate motoarele pas cu pas a crescut i complexitatea modului de comand. Astfel, controller-ele clasice nu au mai putut face fa din punct de vedere al complexitii proceselor pe care le aveau de condus. n acel moment i-au fcut apariia microcontroller-ele care aveau un grad de programare foarte mare i permiteau implementarea unui numr foarte mare de funcii fa de un controller, fie chiar i un controller de nivel nalt.

    Exist mai multe firme care produc microcontroller-e, dintre care amintim cele produse de firma ATMEL, cu arhitectur RISC cu 32 de regitri generali, care poate gestiona pn la 8Mb de memorie program i 8Mb de memorie de date, din acest punct de vedere fiind printre cele mai performante microcontroller-e din clasa mid-level. Totui exist i un dezavantaj acesta fiind faptul c aceste microcontroller-e au un set de 120 de instruciuni. Un alt mare productor de microcontroller-e este cunoscutul INTEL, microcontroller-ul, produs de acesta avnd un set de 255 de instruciuni pe 8 bii. De asemenea, multe firme printre care Analog Devices, Philips au integrat nucleul microcontroller-ului Intel 8051 n aplicaiile lor, au adugat convertoare analog digitale i memorii flash astfel rezultnd noi microcontroller-e. Mai amintim i ali productori de microcontroller-e cum ar fi Motorola cu 64HC05 cu peste 180 de versiuni i 64HC11, National Semiconductor cu COP8, OKI cu NX65K compatibil cu instruciunile pentru

    Ceas Pas ntreg

    Jumtate de pas Ieirile active

    Ieirea A Ieirea B

    Ieirea C Ieirea D

    Fig. 3.21

  • 8051, STMicroelectronics cu ST6 cu doar 4 regitri generali i un set redus de instruciuni, funcionnd la frecvene de maxim 8MHz, precum i ST9 care cuprinde pe lng regitri, control DMA i o unitate de control al memoriei, avnd un set de 94 de instruciuni. Microcontroller-ul produs de Texas Instruments TMS370s are 256 de regitri pe 8 bii, 73 de instruciuni pe 16 bii i peste 135 de versiuni putnd gestiona pn la 8Mb de memorie. Un alt microcontroller de mare performan este Zilog Z80 produs de firma Samsung, care are 256 de regitri pe 8 bii, cu un set de 50 de instruciuni, datele i codul surs sunt stocate n memorii externe, iar manipularea datelor se realizeaz cu ajutorul regitrilor interni.[4,5,6,8]

    Exist mai multe clase de microcontroller-e dup cum am amintit mai sus. Cum aceast lucrare nu are rolul de a studia aceste microcontroller-e, ci doar de a aprecia progresul pe care acestea l aduc n conducerea motoarelor pas cu pas, ne vom ocupa doar de controller-ele produse de firma MICROCHIP, si anume PIC.[11]

    Clasa de microcontroller-e aleas pentru a exemplifica modul n care se poate realiza o conducere a unei acionri cu motor pas cu pas este clasa mid-range, adic clasa medie, un circuit care face parte din aceast clas avnd ntre 8 i 68 de pini n diferite capsule.

    Microcontroller-ul, din punct de vedere al apartenenei sale la electronica digital sau analogic, putem spune c este un hibrid care conine att elemente analogice (eantionare-memorare, convertoare analogice-digitale, comparatoare, referine de tensiune) precum i elemente digitale (memorie RAM-volatil, memorie EPROM-nonvolatil, temporizare, regitri cu funcii variate, PWM, transmitor/receptor universal sincron/asincron). Diferena major dintre un microcontroller i un controller obinuit este c microcontroller-ul nu poate conduce un proces dect dac este programat!

    Pentru a putea dezvolta o aplicaie cu un microcontroller este nevoie de unelte de dezvoltare care sunt: programatorul compus din parte hardware i software care transfer programul n microcontroller, editorul permite scrierea codului surs de ctre utilizator, el fiind un program software, compilatorul este un program care transform codul surs n cod hexazecimal recunoscut de microcontroller, simulatorul este un program software care simuleaz i verific fila hexazecimal verificnd corectitudinea acesteia, bootloader-ul care permite transferul rapid al codului hexazecimal n microcontroller i eventual un emulator cu rolul de a simula un microcontroller.[11]

    Pentru a putea folosi un microcontroller ntr-un sistem de conducere al acionrilor cu motoare pas cu pas este nevoie s nelegem funcionarea acestuia, de aceea este nevoie s cunoatem n principiu arhitectura intern a acestuia. Deoarece familiile microcontroller-elor din

  • clasa PIC sunt foarte numeroase, iar scopul acestei lucrri nu este studiul microcontroller-elor, vom prezenta familia microcontroller-ul folosit n aplicaia practica i anume PIC 16Fxxx un microcontroller din clasa medie, cu meniunea c diferenele dintre aceste microcontroller-e sunt mici. Astfel, aceast clas de microcontroller-e flash sunt definite de productor ca fiind microprocesoare cu arhitectur RISC (Reduced Instruction Set Computer Calculator cu set redus de instruciuni) avnd doar 36 de instruciuni. Setul de instruciuni i descrierea acestora se gsesc n fila de catalog al fiecrui microcontroller. Un lucru foarte important este faptul c fiecare instruciune dureaz un singur ciclu main (cu dou excepii: call i goto care dureaz doi cicli) deci este foarte uor de determinat timpul necesar execuiei unei rutine sau poriuni din program. Viteza de operare a unui microcontroller din aceast clas este de doar 20MHz, totui suficient pentru majoritatea aplicaiilor comune.

    Memoria program variaz de la 512 octei la 8Koctei, memoria RAM de la 36 octei la 368 octei, iar memoria intern EEPROM de la 64 octei la 256 octei.

    Toate microcontroller-ele din aceast familie au structura de baz format din: Maxim 15 surse de ntreruperi interne i externe; Stiv hardware de 8 nivele; Adresare direct, indirect i relativ a memoriei Regitri cu funcii speciale;

    POR (Power on Reset) facilitate de deosebire i tratare adecvat a surselor de reset al microcontroller-ului;

    PWRT (PoWeR up Timer) i OST (Oscillator Startup Timer) sunt faciliti de ntrziere la pornire pentru a prentmpina startarea defectoas a programului datorit surselor de alimentare cu vitez de stabilizare mic; WDT este un oscilator intern RC care are rol de cine de pazdar care poate fi

    asignat unui postscaler (registru numrtor pe 8 bii) care poate fi folosit n comun cu registrul TMR0 i pentru care devine prescaler; Posibilitatea reducerii consumului de energie n regimul SLEEP; Posibilitatea alegerii unui oscilator de tact; acesta poate fi extern , intern RC,

    oscilator cu cuar;

    Posibiliti multiple de programare; ICD (In Circuit Debugger) facilitate prezent doar la aceast familie de

    microcontroller-e fabricate de Microchip, i const n inserarea a cinci puncte de ntrerupere, breackpoint, cu ajutorul crora utilizatorul poate verifica valorile

  • regitrilor i depista eroarea cu condiia ca breackpoint-urile s se afle n buclele n care este eroarea.[11]

    Pe lng aceast structur de baz microcontroller-ele beneficiaz de o serie de periferice nglobate:

    Timer0 temporizator i numrtor pe 8 bii; Timer1 temporizator i numrtor pe 16 bii; PWM (Puls Width Modulation modulaie n durat cu lrgime de puls); Convertor AD multicanal (5 sau 8 canale) de 10/8 bii sau unul/dou

    comparatoare multifuncionale cu 8 moduri distincte de utilizare; Referin de tensiune cu rezoluie de 4 bii n domeniul 03,125V sau

    1,253,75V; SSP (Synchronus Serial Port - port serial sincron) i interfaare I2C

    master/slave. Acest lucru uureaz interfaarea cu portul serial precum i conectarea perifericelor I2C;

    USART (Universal Synchronus Asynchronus Reciver Transmiter Transmisie Recepie Universal Sincron Asincron) acest modul permite transmiterea asincron full duplex (bidirecional) cu viteze de pn la 1 Mbps. PSP (Paralel Slave Port port paralel sclav) de 8 bii cu control extern, citire

    (RD read), scriere (WR write) i selectarea chip-ului (CS Chip Select).[11] Toat structura modular a unui microcontroller poate fi sintetizat n figura 3.22. S-au

    pstrat denumirile n englez pentru unele module din structura microcontroller-ului pentru c o traducere ar fi denaturat sensul denumirii.

    Astfel structura intern conine:

    PC (program counter) registru numrtor de program care mpreun cu stiva este ansamblul care memoreaz poziia instruciunii n curs; O zon SRAM (Static Row Adress Memory) i o zon de memorie EPROM

    care difer de la un microcontroller la altul; din punct de vedere fizic memoria SRAM face parte din zona de memorie destinat regitrilor cu funcii speciale; FSR un registru de adresare indirect a memoriei; Memorie EPROM nonvolatil; aceasta poate fi scris cu un algoritm special

    precizat de productor.[11]

  • Microcontroller-ul PIC dispune de o memorie FLASH n care este stocat programul utilizatorului, o memorie SRAM format din regitri de uz general, unde datele sunt ntr-o continu schimbare, i memoria EPROM unde sunt stocate datele pe termen lung. Exist unele

    Fig. 3.22

  • tipuri de microcontroller-e care permit stocarea datelor i n memorie FLASH dar acestea au dezavantajul c numrul de rescrieri este de numai 10.000, pe cnd memoria EPROM are o rat de rescriere garantat de 100.000.

    Dei numrul regitrilor poate varia de la un microcontroller la altul, exist totui un numr de regitri care sunt de baz i se ntlnesc n toate microcontroller-ele flash, doar c pot fi ntlnii cu o alt denumire i la o alt adres. Pe scurt, avem urmtoarele categorii de regitri:

    Regitrii comuni: TMR0, PCL, PORTA, PORTB, FRS; Regitrii specifici funciilor analogice;

    Regitrii porturilor de intrare/ieire suplimentare: PORTC, PORTD, PORTE; Regitrii asociai timer-ului 1 i timer-ului 2;

    Regitrii asociai ai modului comparare/PWM; Regitrii asociai accesului la memoria EPROM i memoria flash;

    Regitrii asociai modului USART; Diveri regitri utilizai de ntreruperi.[11]

    Pentru a ntregi tabloul microcontroller-ului trebuie s precizm c pentru a funciona, acesta are nevoie de un oscilator care s genereze tactul de procesor. Microcontroller-ele produse de firma Microchip pot folosi mai multe oscilatoare: oscilator extern cu cuar de frecven medie, oscilator intern cu dou moduri de funcionare n mod RC sau n mod INTOSC i oscilator extern independent n mod EC.

    Pentru a putea folosi microcontroller-ul, mai este nevoie doar s-l programm. Familia microcontroller-elor Microchip cu performane medii pe 8 bii, utilizeaz setul de instruciuni cu dimensiunea de 14 bii, alctuit din 36 de instruciuni. Majoritatea dintre acestea opereaz cu regitrii f i cu registrul special W, numit i acumulator. Pentru a putea scrie programul este

    nevoie de mnemonice (pseudolimbaj neles de asambloare); acestea sunt mnemonica standard utilizat de majoritatea compilatoarelor sau asambloarelor (limbajul JAL Just Another Language) i mnemonica redus utilizat de MPLAB care se refer la instruciuni simplificate ale celor dinti dar care nu utilizeaz dect doi bii. Pentru a putea introduce programul n memoria microcontroller-ului este nevoie de un programator rolul acestuia este de a transfera fila hexa n format compilat n memoria microcontroller-ului. Programatorul se compune dintr-un modul electronic care realizeaz interfaa dintre calculator, aplicaia coninnd microcontroller-ul, i un program software care se realizeaz pe PC ntr-un sistem preferat de utilizator (DOS, Linux sau Windows). Dup modul de conectare la PC, exist trei tipuri de programatoare: serial, paralel i USB.

  • Din punct de vedere al legturilor fizice, PIC este foarte simplu de utilizat. La ieiri se leag circuitele comandate (aici poate intra L297 sau orice alte circuite care comand un motor pas cu pas), bineneles innd cont de regulile de conectare i de parametrii necesari funcionrii, iar la intrrile lui se pot lega diferite periferice, limitatoare de curs, diveri senzori sau encoder-e, butoane de START/STOP, etc. Se observ c un microcontroller poate funciona n bucl deschis, el doar dnd comand pentru funcionarea motorului, sau n bucl nchis, cnd prin primirea semnalelor de la diferitele periferice conectate la intrri poate opri, schimba sau efectua diferite funcii prestabilite pentru anumite evenimente (oprirea n cazul n care, de exemplu dac n raza de aciune a sistemului de acionare intr un corp strin, senzorii de proximitate trimit un impuls care declaneaz rutina de oprire a procesului aflat n execuie).[10]

    Marele avantaj al microcontroller-ului const n faptul c odat ncrcat, programul nu mai are nevoie de conexiunea cu PC-ul, programul rulnd din memoria microcontroller-ului. Un alt mare avantaj este o funcie special a microcontroller-elor produse de firma Microchip care permite ncrcarea unui program nou n memorie fr a fi nevoie s oprim/s deconectm microcontroller-ul.

    Ca o noutate de ultim or, firma Microchip a lansat o nou familie de microcontroller-e Flash pe 8 bii special concepute pentru controlul motoarelor. Aceast nou clas aduce ca noutate un control mai eficient al motorului, o funcionare mai bun a motoarelor comandate, precum i prelungirea duratei de funcionare a motoarelor n aplicaii industriale, automatizri i mici automatizri (imprimante, fax-uri, componente PC).

    Aceast clas de microcontroller-e este prezent prin PIC18F4331/4431 (figura 3.23) cu 44 de pini i PIC18F2331/2431 cu 28 de pini. Caracteristicile microcontroller-elor, pe lng cele deja cunoscute, sunt controlul analog i digital n bucl nchis (interaciunea direct cu

    Fig. 3.23

  • dispozitive de feedback, encoder-e digitale i analogice) i un nou sistem de control PWM n trei faze.[12]

    Performana i fiabilitatea noii clase de la Microchip PIC18Fxx31 este asigurat de cele trei noi module special concepute pentru un control performant al micrii i al puterii n aplicaiile comandate. Modul de putere are o structur PWM n trei faze; modulul de control al micrii d posibilitatea controlului n bucl nchis, incluznd i o interfa compatibil cu encoder-e de cuadratur; al treilea modul este format dintr-un convertor analog-digital de mare vitez, care poate opera la 200ksps i care poate fi sincronizat cu modulul PWM. mpreun, aceste module elimin necesitatea existenei unor componente externe de control i comand a motorului.

    Aceast familie este compatibil cu toate programele de dezvoltare deja existente, Microchip dezvoltnd de asemenea o Plac de control a motorului nsoit de un soft cu interfa grafic ce permite dezvoltarea unor aplicaii prin simpla selecie a unor blocuri funcionale reprezentate grafic pe ecranul PC. Totui, pentru dezvoltarea unor aplicaii specializate este nevoie ca microcontroller-ul s fie integrat ntr-o structur de comand a aplicaiei.

    Pe lng aceste module speciale, familia PIC18Fxx31 dispune de: Frecven de funcionare 40MHz; 8 canale PWM cu 14 bii rezoluie; dou module de captur/comparaie PWM; oscilator RC intern cu 8 frecvene selectabile n gama 31.25KHz ... 8MHz; 4 ceasuri interne;

    suport standardele RS485 i RS232 i noul protocol LIN; noua tehnologie nanoWatt care permite un mai bun management al puterii;

    Toate acestea fac din aceast familie de microcontroller-e noul standard n controlul motoarelor n aplicaii de automatizare (controlul stabilitii, controlul electronic al poziiei), aplicaii casnice (frigidere, maini de splat, sisteme de ventilaie), industrie (robotic, poziionarea materialelor, automatelor).[12]

    n concluzie, n viitorul apropiat nu vom mai vorbi de controller, driver, microcontroller ca i componente separate ale unui sistem de control, ci ca un singur circuit care a preluat funciile celor trei i care poate comunica cu dispozitivele de feedback, encoder-e, traductoare i poate funciona n sisteme de control n bucl nchis.