Resurse ale Microcontrolerelor Utilizate In Controlul Motorului Bldc

CUPRINS

Introducere

Scopul aceste lucrări este realizarea unui sistem de control al unei acționări electrice destinate deplasării liniare controlate a unui obiect. Acționarea, cu motor de curent continuu fără perii (Brushless DC, BLDC), este controlată automat în curent, viteză și poziție, astfel încât obiectul să se deplaseze între poziții prestabilite, la comanda utilizatorului.

Obiectul de deplasat este un cărucior care rulează pe o șină, sistemul de control trebuind să asigure funcționarea ansamblului respectând următoarele cerințe:

viteza maximă de deplasare liniară: între 1.5 și 2 m/s

există un număr de 5 poziții de distanță plus o poziție “acasă”, selectabile de către utilizator de la o casetă cu butoane normal deschise. Căruciorul trebuie să se miște din și spre oricare dintre aceste poziții

deplasarea caruciorului trebuie sa se execute fără a depăși pozitia de destinație (fără depășire și întoarcere)

Pe baza acestor cerințe, s-a alcătuit un sistem de acționare cuprinzând o parte de forță și una de control. Partea de forța constă într-un motor BLDC alimentat controlat de la un driver de motor circuit-integrat, la rândul lui conectat la o sursă de tensiune de 12V c.c. Driverul execută comutația și reglează intern curentul primind din exterior o referință. Partea de comanda are ca element principal un microcontroller care are ca sarcini principale preluarea comenzilor utilizatorului, execuția controlului de viteză și poziție a motorului și transmiterea curentului de referință către driver-ul mai sus amintit.

Lucrarea cuprinde o parte de documentare privind principiul de funcționare a motorului BLDC și a controlului acestuia, structura sistemului de acționare alcătuit, teste și rezultate experimentale.

CAPITOLUL I

Structura generală a unui sistem de acționare controlată

Schema – bloc generală a unui sistem de acționare electrică este reprezentată în figura 1.1. Scopul principal al unei acționări electrice este acela de a antrena, pe cale electrică, o mașina de lucru (mecanism, mașină – unealtă, dispozitiv mecanic etc.), motiv pentru care un sistem de acționare electrică (SAE) cuprinde ansamblul de dispozitive care transformă energia electrică în energie mecanică și controlează această energie.

Figura 1.1 Schema – bloc generală a unui sistem de acționare electrică

Un sistem de acționare electrică este alcătuit cu ajutorul următoarelor componente: motor electric alimentat de la un convertor de putere (redresor comandat, chopper, invertor) si un sistem de reglare realizat cu ajutorul unor regulatoare, circuite de comandă, traductoare etc. Cel mai potrivit principiu de reglare fiind procedeul reglării în cascadă deoarece permite impunerea și limitarea uneia sau a mai multor mărimi auxiliare.

Echipamentul de reglare poate fi analogic sau numeric, prin utilizarea circuitelor integrate pe scară largă, a microcontrolerelor. Utilizarea microcontrolerelor, realizate cu microprocesoare sau procesoare numerice de semnal (DSP), asigură un control complet al sistemului de acționare, deoarece permit comanda invertorului PWM, adaptarea algoritmilor de reglare la tipul sarcinii, interfațarea pentru comunicația cu operatorul local și cu sistemele de conducere, diagnosticare, protecție, etc.

Sistemele de comandă și reglare utilizate pentru controlul vitezei motoarelor se împart în două categorii: sisteme de comandă în buclă deschisă si sisteme de reglare în buclă închisă, în funcție de prezența sau absenta buclei exterioare de reglare a vitezei. [1]

În general se adoptă scheme de reglare în buclă închisă, cu reacție externă de viteză și reacții interne după una sau mai multe mărimi, care pot fi tensiuni, curenți, flux magnetic, pentru a satisface performanțe dinamice deosebite.

Un sistem cu viteză reglabilă spre deosebire de unul cu viteză fixă oferă posibilitatea de a controla viteza și poziția elementului de execuție, economisirea energiei electrice cat si ameliorarea regimurilor tranzitorii (supratensiuni, supracurenți, șocuri de conectare).

Motorul de curent continuu fără perii

Caracteristici principale

Motorul de curent continuu fără perii, în engleză Brushless DC electric motor (BLDC), este un motor electric sincron alimentat în curent continuu, care funcționează cu ajutorul unui sistem electronic de comutație, comandat și controlat prin intermediul unui circuit electronic.

Acest motor este în principal construit ca un magnet permanent rotativ față de o înfășurare parcursă de curent, fiind echivalent cu un motor de c.c inversat, în care magnetul se rotește în timp ce conductoarele rămân fixe.

În ambele cazuri, curentul prin conductoare trebuie să își reverseze polaritatea de fiecare dată când un pol magnetic trece pe lângă conductoare, pentru a asigura unidirecționalitatea cuplului.

În motoarele de c.c clasice, cu colector, reversarea polarității este realizată de către ansamblul colector – perii, pe când în cazul motoarelor BLDC reversarea polarității curentului este realizată cu tranzistoare de putere care trebuie comutate în sincronism cu poziția rotorului.

Astfel, principalul avantaj este comutația "fără scântei de perii", care reprezintă la motorul cu perii un factor de distorsiune a sistemului de alimentare de curent continuu, prin reinjectarea de impulsuri parazite în sens invers.

Principalele dezavantajele motoarelor BLDC sunt:

Cost: magneții din pământuri rare sunt mult mai scumpi decât celelalte tipuri de magneții utilizați în construcția mașinilor electrice

Demagnetizarea rotorului: magneții pot fi demagnetizați de forțe magnetomotoare de sens contrar și de temperaturi mari.

Turații mici: nu pot ajunge la turații mari, din cauza rezistenței mecanice limitate a ansamblului format din jugul rotoric și magnet.

Durata de viață este sensibil mai mare în raport cu motorul cu colector, unde uzura periilor grafitoase o limitează și generează periodic probleme de mentenanță. Lipsa dispozitivului electromecanic, colector și perii, înlătură limitarea vitezei maxime dictată de încălzirea periilor colectoare existentă la motorul de c.c. clasic.

Aplicațiile în care sunt folosite motoare de curent continuu pot fi împărțite în câteva clase: servosisteme, acționări cu viteză constantă, sisteme de centrifugare și ventilatoare, pompe, procese industriale, tracțiuni electrice, și mai recent periferice de calculatoare și aparatură medicală. [4]

Din punct de vedere constructiv, rotorul motorului BLDC este un magnet permanent și poate avea între 2 și 8 poli, ce poate fi construit din ferite sau aliaje magnetice din pământuri rare, cele din urmă având o densitate de flux mai bună. În figura 1.7 sunt prezentate câteva dintre formele constructive ale rotorului.

a. b. c,

Figura 1.7 Rotorul motorului BLDC

a.Rotor cu magneți periferici b.Rotor cu magneți încapsulați c.Rotor cu magneți îngropați

Datorită densității mari de energie dezvoltată de magneții “pământuri rare”, cantitatea de material necesară realizării unui magnet este mult mai redusă, rezultând un volum al magneților din “pământuri rare” mult mai mic, ceea ce face posibilă dispunerea acestora pe rotorul motorului. Se obține astfel o inerție scăzută a rotorului, rezultând un motor cu un cuplu electromagnetic ridicat.

Rotor( magneți permanenți)

Înfășurări statorice controlate electronic

Traductor poziție

Figura 1.8 Configurația unui motor de c.c. fără perii

Deoarece cele trei bobine sunt dispuse pe stator, nu mai este necesar ansamblul colector-perii, respectiv port-perii și dispozitivele de fixare a acestora. Dezvoltarea elementelor comutatoare electronice de mare putere (tiristori, tranzistori bipolari de putere și în montaj Darllington și, mai recent, MOSFET, FREDFET, SensorFET și IGBT) a permis ca și motoarele de puteri mari să fie comandate electronic, făcând posibilă apariția sistemelor de comandă a motoarelor de c.c. fără perii.

În funcție de cum sunt realizate înfășurările statorului, tensiunea electromotoare indusă (BEMF – Back Electromotive Force) poate prezenta o formă de undă sinusoidală sau trapezoidală.[13]

În funcție de înfășurările statorice există două tipuri de BLDC ambele fiind caracterizate de forma de undă a tensiunii electromotoare indusă (BEMF – Back Electromotive Force). Motoarele a căror BEMF este sinusoidală sunt cunoscute în literatură ca motoare BLAC (Brushless Alternative Current), vreme ce motoarele a căror BEMF este trapezoidală sunt cunoscute ca motoare BLDC.

În consecința, motoarele de curent continuu cu magneți permanenți fără perii se împart în două categorii:

1. Motoare sincrone cu înfășurări cu repartiție sinusoidală (PMSM – permanent magnent synchronous motor) mai sunt denumite și servomotoare fără perii de tip sincron;

2. Motoare de curent continuu fără perii cu înfășurări concentrate (BLDC – brushless direct current) mai sunt denumite și servomotoare fără perii de curent continuu.

Motorul de curent continuu fără perii cu înfășurări concentrate are următoarele caracteristici ideale:

distribuție dreptunghiulară a fluxului magnetic în întrefier

forma de undă a curentului este dreptunghiulară

înfășurări statorice concentrate

Motorul sincron cu înfășurări cu repartiție sinusoidală are următoarele caracteristici ideale:

distribuție sinusoidală a fluxului magnetic în întrefier

forma de undă a curentului este sinusoidală

distribuție sinusoidală a conductoarelor statorice

Motoarele BLDC mai pot fi clasificate în funcție de modul în care sunt montați magneții pe rotor. Astfel deosebim motoare de curent continuu fără perii cu magneții pe suprafața rotorului si cu magneții în interiorul rotorului . Varianta cu magneții în interiorul rotorului nu este la fel de utilizată, dar este recomandată în aplicațiile de mare viteză.

Formele de undă tipice pentru tensiunea indusă în statorul unui motor BLDC trifazic sunt prezentate în figura 1.9.

Faza A

Faza B

Faza C

Fig. 1.9 Formele de undă ale tensiunii electromotoare indusă în statorul unui motor BLDC

Așa cum se poate observa din figura, tensiunea electromotoare indusă pe fiecare înfășurare a motorului este constantă pentru 120° și variază liniar cu unghiul rotorului înainte și după porțiunea constantă. Pentru ca puterea de ieșir să fie constantă, fiecare înfășurare trebuie alimentată pe durata în care tensiunea indusă este constantă.[7]

Controlul motoarelor BLDC

Figura 1.2 prezintă schema bloc a unui sistem de control al curentului și vitezei unui motor BLDC. Viteza este reglată utilizând un regulator liniar de tip PI, având ca feedback viteza calculată pe baza semnalelor sondelor Hall. Curentul de referință obținut este transmis regulatorului de curent, de asemenea liniar, care transmite în final invertorului de tensiune o tensiune de referință sub formă de pulsuri cu modulare în durată (Pulse Width Modulation, PWM).

Fig.1.2 Schema bloc de control BLDC – buclă de reacție

Există mai multe topologii de circuite driver folosite în aplicațiile cu motoare BLDC. Cele mai folosite sunt convertorul trifazic de tip Buck și puntea invertoare trifazată. O punte invertoare trifazată tipică pentru conducerea unui motor BLDC este prezentată în figura 2.3 .

Puntea este alcătuită din 6 comutatoare electronice. În practică se folosesc tranzistoare cu efect de câmp construite în tehnologie metal–oxid–semiconductor (MOSFET – Metal–Oxide–Semiconductor Field–Effect Transistor) sau tranzistoare bipolare cu baza izolată (IGBT – Insulated Gate Bipolar Transistor).

Figura 2.3. Punte invertoare trifazată tipică utilizat în controlul unui motor BLDC

Ca și în cazul prezentat în capitolul precedent, tranzistoarele de putere ale invertorului trebuie sa primească comenzi de conducție si de blocare de la un sistem logic care se sincronizează cu poziția rotorului. Semnalele de sincronizare necesare provin de aceasta dată de la trei senzori Hall încorporați în statorul motorului.

Figura 2.4 arată schematic traductorul cu efect Hall, cel mai simplu traductor de poziție electronic utilizat pentru generarea impulsurilor de comutație. Un comutator Hall este un comutator semiconductor care închide și deschide când este plasat într-un câmp magnetic mai mare decât o anumită limită.

Figura 2.4. Schema traductorului cu sonde Hall

Pentru motorul trifazat fără perii se aranjează trei comutatoare Hall decalate în spațiu la 600 sau 1200 electrice și montate pe carcasa statorului. Un magnet separat, cu distanțarea corectă a polilor, se montează pe arbore în apropierea comutatoarelor Hall, sau comutatoarele.

Ori de câte ori cei doi poli magnetici ai rotorului trec pe lângă senzori, aceștia generează un semnal de amplitudine ridicată sau scăzută, indicând trecerea polului N sau S în apropierea senzorilor. Bazat pe combinația acestor trei semnale ai senzorilor Hall, poate fi determinat un șir exact de comutație.

Fiecare secvență de comutație are una dintre înfășurări alimentată la putere pozitivă (curentul intră în înfășurare), a doua înfășurare este negativă (curentul iese din înfășurare) și a treia este nu se află sub tensiune.

Cuplul se produce datorită interacțiunii între câmpul magnetic generat de bobinele statorului și cel creat de magneții permanenți. În mod ideal, cuplul maxim se produce atunci când aceste două câmpuri se afla la 90° unul fata de celălalt și scade cu cat câmpurile deplasează împreună.

În scopul de a menține funcționarea motorului, câmpul magnetic produs de către înfășurări trebuie să își schimbe poziția, pe măsura ce rotorul se deplasează pentru a ajunge din urmă câmpul statoric. Acest mod de lucru este cunoscut sub numele de "comutație în șase pași" ce definește secvența de alimentare a înfășurărilor.

La fiecare rotație de 60 de grade electrice, unul din senzorii Hall își schimba starea. Având în vedere acest lucru, este nevoie de sase trepte pentru a completa un ciclu electric. În același timp, la fiecare 60 de grade electrice, comutarea curentului de faza ar trebui să fie actualizate.

.

.

.

a. b.

Fig.2.6. a. Formele de unda a semnalelor în funcție de secvența de comanda

b. Secvența de alimentare a infășurărilor cu privire la senzorul Hall

Cu toate acestea, un ciclu electric nu poate corespunde unei rotații mecanice completă a rotorului. Numărul de cicluri electrice ce trebuie să fie repetate pentru a finaliza o rotație mecanică este determinată de numărul de perechi de poli rotorului. Pentru fiecare pereche de poli a rotorului, un ciclu electric este finalizat. Deci, numărul de cicluri electrice / rotație este egală cu numărul perechilor de poli ai rotorului.

Figura 2.6.a prezintă un exemplu de semnale ale senzorilor Hall pentru forța contra-electromotoare și curentul de fază. Forța contra-electromotoare este tensiunea, sau forța electromotoare, care se opune curentului care o induce, si este cauzată de un câmp electromagnetic variabil.

Figura 2.6.b prezintă secvența de comutație, care ar trebui să fie urmată în ceea ce privește senzorii Hall

Diagrama bloc de control a motorului BLDC utilizând sonde Hall este ilustrata în figura 2.7, semnalele marcate cu PWMx fiind pornite sau oprite în funcție de secvența de alimentare stabilita mai sus, astfel motorul va funcționa la turația nominală. [12]

Figura 2.7 Diagrama bloc de control a motorului BLDC utilizând sonde Hall

Pentru a controla viteza motorului BLDC, tensiunea aplicată înfășurărilor trebuie variată. Variația tensiunii medii poate fi obținută ușor folosind doar circuite digitale prin variația factorului de umplere unui semnal dreptunghiular periodic de perioadă constantă, tehnica de modulație în lățimea impulsurilor (PWM – Pulse Width Modulation).

În cazul în care factorul de umplere al semnalului PWM este variat conform secvenței stabilite, tensiunea medie transferată statorului scade, reducând astfel viteza motorului.

Tabelele 1 și 2 prezintă corespondența tipică între codurile citite de la senzorii cu efect Hall, direcția curentul prin înfășurări și starea comutatoarelor pentru o rotire în direcția acelor de ceasornic a motorului BLD si respectiv sens invers.

Tabel 1: SecvenȚă de rotire motor în direcȚia acelor de ceasornic

Tabel 2:SecvenȚă de rotire motor în sens invers acelor de ceasornic

Un alt avantaj în utilizarea modulației în lățimea impulsului este faptul că, în cazul în care tensiunea continuă de alimentare este mult mai mare decât tensiunea nominala a motorului, acesta poate fi controlat prin limitarea procentului factorului de umplere corespunzător tensiunii nominale a motorului.

Există diferite metode de control. Dacă semnalele PWM sunt limitate în microcontroler, întrerupătoare superioare pot fi deschise pe întreaga durata a secvenței corespunzătoare, iar comutatoarele inferioare pot fi controlate cu ajutorul factorului de umplere necesar.

CAPITOLUL II

Resurse ale microcontrolerelor utilizate în controlul motorului BLDC

În prezent aplicațiile ce modelează un sistem de acționare electrica, atât partea de control cât și logica de comutație pot fi implementate cu procesoare digitale de semnal (DSP), microcontrolere (MCU), microprocesoare de uz general / microprocesoare cu set redus de instrucțiuni (GPP/RISC), arii de porți logice programabile (FPGA) sau circuite integrate dedicate (ASIC).

După cum se va putea vedea în capitolele următoare indiferent de arhitectura aleasă pentru implementarea digitală a unui algoritm de control de tip PID sunt necesare operații de multiplicare – acumulare (MAC). Astfel că performanțele implementării pe un procesor a unui algoritm de control pot fi mai ales prin prisma numărului de operații de multiplicare-acumulare raportate la un interval de timp stabilit

Microcontrolerele deși sunt foarte asemănătoare cu microprocesoarele, sunt proiectate special pentru sistemele embedded. Un microcontroler are integrat pe același cip unitatea centrala de procesare(CPU), oscilatorul, memoria program, o memorie RAM, numărătoare, interfețe de comunicație și porturi de intrare – ieșire.

De asemenea în structura unor microcontrolere mai sunt integrate blocuri de procesare analogica cum ar fi : convertoare analog numerice (de 8, 10 sau 12 biți), comparatoare analogice, modulatoare PWM, oferind astfel o flexibilitate ridicata în proiectarea unui sistem de control.

Un procesor numeric de semnal (DSP) este unt tip de procesor optimizat pentru procesare continua rapida, în timp real, a unui flux analogic sau digital de date în cadrul unor aplicații ce utilizează sunet, video, etc. Pentru a procesa aceste semnale, controlerul funcționează alături de convertoare analog-digitale si convertoare digital-analogice.

Un alt circuit integrat utilizat cu precădere, considerat a fi un hibrid intre microcontrolere și procesoare de semnal digital îl reprezintă controlerul de semnal digital (DSC). Similar microcontrolerelor, DSC au răspunsuri rapide la întreruperi, oferă periferice de control, cum ar fi generatoare PWM și temporizatoare, și sunt de obicei programate folosind limbajul de programare C .

Acestea cuprind, de asemenea, caracteristicile care se găsesc în cele mai multe DSP-uri, cum ar fi unități de înmulțire-adunare (MAC) intr-un singur ciclu, circuit de schimbare a biților în cadrul unui cuvânt, si acumulatori mari. Termenul a fost introdus pentru prima dată de Microchip Technology în 2002, odată cu lansarea seriei lor de 6000 DSC și ulterior adoptat de cei mai mulți, dar nu toți producătorii DSC.

DSC sunt folosite într-o gamă largă de aplicații, dar mai ales în controlul motoarelor, conversia de putere, și aplicații de prelucrare cu senzori. În prezent DSC sunt comercializate ca tehnologii ecologice pentru potențialul lor de a reduce consumul de energie în motoare electrice și în sursele de alimentare.

În acest caz a fost utilizat un modul Plug-In cu procesor, un circuit electric sub forma unei placi de dimensiuni mici utilizate alături de diferite kituri de dezvoltare Microchip pentru a evalua dispozitivele tip microcontroler si dsPIC. Acesta se conectează direct în soclul procesorului principal de pe placa de dezvoltare, astfel încât permite utilizarea unor microcontrolere diferite pentru realizarea de prototipuri, aplicații demonstrative sau de dezvoltare intr-un mod rapid și ușor.[1]

Porturi Intrare/Ieșire

În ceea ce privește porturile Input/Outpt, se regăsesc 19 pini care funcționează ca porturi paralele de intrare/ieșire (PIO). Acestea au zece regiștrii asociați cu funcționarea lor ca intrări și ieșiri digitale.

Registrul direcției datelor (TRISx – unde x corespunde numărului portului) definește dacă pinul respectiv se comportă ca intrare sau ieșire. În cazul în care TRISx este setat (valoare „1”), atunci pinul este o intrare. După o resetare, toți regiștrii TRISx sunt setați și toți pinii funcționează ca intrări.

Pentru ca un port I/O să fie folosit ca un port analogic, trebuie setat registrul ANSELx și, în cazul în care portul respectiv este folosit ca ieșire (TRISx nu este setat), valoarea digitală a acestuia este convertită de unul din convertoarele analogice periferice (precum modulul comparator analogic sau modulul convertor analog-digital).

Atât pentru porturile care funcționează în mod digital, cât și pentru cele care funcționează în mod analogic, este necesară trecerea unui ciclu de tact între o citire și o scriere pe același port.

Este posibilă generarea de întreruperi (Interrupt Request) pe fiecare din porturile I/O ceea ce permite detectarea schimbării stărilor unor dispozitive exterioare chiar și în cazul în care microcontrollerul se află în modul sleep (cănd ciclii de tact sunt dezactivați pentru reducerea consumului de energie).

Această funcționalitate este controlată prin intermediul registrelor CNENx (la setarea cărora se pornește funcția), eventualele schimbări ale stării de la ultima citire a portului respectiv fiind înregistrate în CNSTATx. Este posibilă manipularea individuală a fiecăruia dintre acești regiștrii folosind regiștrii CLR (ștergere), SET (setare) și INV (inversare).[12]

Timere

Timerul/Counterul, oferă facilitatea de a măsura intervale fixe de timp si de a genera întreruperi la expirarea intervalului măsurat. Un timer, odată inițializat va funcționa independent de unitatea centrala (core μP). Acest lucru permite eliminarea buclelor de delay din programul principal.

Circuitele de temporizare/numărare sunt utilizate pentru contorizarea unor evenimente externe,generarea unor semnale de o anumită frecvență prin divizarea unui semnal de ceas, întîrzierea unor semnale (monostabil),generarea unor întreruperi periodice sau după un anumit timp de la apariția unui eveniment.

Aceasta familie de dispozitive oferă un numărător pe 16 biți sincron/asincron , Timer1, ce poate opera ca un temporizator individual pentru a contoriza diverse aplicații sau evenimente externe sau poate fi utilizat în cazul aplicațiilor în timp real .

Este format din doi regiștri a cate 8 biți, TMR1H si TMR1L ai registrului de control T1CON. Întreruperea este generata la trecerea de la valoarea 0xFFFF la valoarea 0x0000, daca bitul TMR1IE al registrului T1CON este activat si TMR1ON=1 (Timer pornit).

Selecția semnalului de ceas pentru numărătorul timerelui se face cu bitul TMR1CS, fie de la sursa externa(TMR1CS=1), fie de la sursa interna(TMR1CS=0). Atunci când se operează cu semnal de ceas extern, acesta poate fi sincronizat cu semnalul de ceas intern setând bitul T1SYNC la valoarea 0 (modul de lucru sincronizat la timerului 1).

Timer1 are 4 opțiuni de selectare prescalar permițând 1, 2, 4 sau 8 diviziuni ale ceasului de intrare. Bitul T1CKPS al registrului T1Con controlează prescalarul. De asemenea oferă posibiliatea de a realiza operații de sortare, cât și funcționarea timerului în timp ce CPU-ul este în modul Sleep sau Idle.

Timer2/3 și Timer4/5 sunt pe 32 biți si pot fi, de asemenea, configurate ca două timere independente de 16-biți cu moduri de operare selectabile de utilizator.

Si acestea permit operații în trei moduri configurabile: doua timere independente pe 16 biți (de exemplu, Timer2 si Timer3 sau Timer4 și Timer5) cu toate modurile de operare pe 16-biți (cu excepția modului de numărare asincronă); un timer pe 32 de biți (Timer2/3 și Timer4/5); un numărător sincron pe 32 biți (Timer2/3 și Timer4/5).

De asemenea oferă posibiliatea de a edita setările prescalarului, funcționarea în modurile Idle si Sleep, de a asigura baza de timp pentru modulele Input Capture si Output Conpare (doar Timer2 și Timer3), de declanșarea convertorului analog digital ADC1 în cazul apariției unui eveniment (numai Timer2 / 3).

Individual, toate cele opt temporizatoare de 16-bit pot funcționa drept temporizator sincron sau numărător.. Modurile de operare și caracteristicile de activate sunt determinate prin setarea corespunzătoare a biților în și registrele T2CON, T3CON, T4CON, T5CON.[12]

Modulul Input Capture

Acest modulul este folosit pentru a memora o valoare a temporizatorului asupra unui eveniment apărut pe un pin de intrare, în una din cele două baze de timp selectabile (Timer 2 sau Timer 3), fiind destul de util în aplicațiile care necesita utilizarea frecvenței (perioada).

MCU utilizat este prevazut cu 3 canale de captare a semnalului de intrare și toate acestea sunt din punct de vedere funcțional identice și fiecare poate selecta unul din cele două Timere de 16-biți (Timer2 sau Timer3) pentru baza de timp.

Modulul de captură surprinde valoarea de 16 biți a bazei de timp selectate atunci când este înregistrat un eveniment la pinul ICx. În această secțiune, un "x" în numele pinului sau a registrului este o referire generică la un canal de captură , în loc de numărul acestuia.

Prin intermediul registrului ICxCON sunt selectate mai multe moduri de operare

Memorare a valorii de timer la fiecare front descrescător al semnalului de intrare

Memorarea valorii de timer la fiecare front crescător a semnalului de intrare

Memorarea valorii de timer la fiecare al patrulea front crescător apărut

Memorarea valorii de timer la fiecare șaisprezece fronturi crescătoare ale semnalului de intrare la pinul ICx

Captura valorii de timer la fiecare front (crescător și descrescător).

Alte caracteristici operaționale includ:

Ieșirea dispozitivului din modurile Sleep si Idle ale CPU la apariția unei capturi

Generarea unei întreruperi în cazul unui eveniment de captură a semnalului de intrare

Zonă tampon de memorie tip FIFO cu 4 locații de memorie pentru stocarea valorilor de captură

Utilizarea modului de captură pentru a oferi surse suplimentare de întreruperi externe

Modulul de captură a semnalului de intrare disponibil pe dispozitivele dsPIC33 are un registru de control (ICxCON) si unul aferent zonei tampon de memorie (ICxBUF).

Modulul de captură poate memora o valoare contorizată a bazei de timp la fiecare creștere și cădere a frontului semnalului de intrare aplicat la pinul ICx. Acesta detectează și sincronizează frontul crescător / descrescător al semnalului de intrare în funcție de pe semanele de ceas intern.

Dacă este selectat modul de detectare a frontului (Edge Detection mode) sau modul simplu de captură (Simple Capture Events), contorul de captură prescalată nu este utilizat, iar modulul va seta indicatorul de întrerupere generată de o captură (ICxIF) la fiecare front, crescător si/sau descrescător. Astfel,  orice eveniment de memorare a semnalului de intrare va genera o întrerupere.

Contorul de divizare a capturii este incrementat la fiecare creștere valida a frontului semnalului aplicat pinului de captură. Astfel, frontul crescător aplicat servește efectiv ca tact de ceas pentru temporizator. în cazul în care contorul ajunge la valoarea patru sau șaisprezece, acesta va genera un semnal de captare a evenimentului produs, care este apoi sincronizat cu ceasul ciclului de instrucțiuni.

Ulterior se va genera o operație de scriere în buffer a valorii de ceas cat si generarea unei întreruperi. Si în acest caz, indicatorul de întreruperi ICxIF este setat peste doua cicluri de instrucțiuni fata de scrierea evenimentului în zona tampon de memorie.

Buffer de memorie destinat reținerii valorii de ceas capturate este de tip FIFO, de lungimea a patru cuvinte, astfel încât fiecare citire din buffer va permite cuvântului rămas trecerea la următoarea locație de memorie disponibilă. Accesul în cadrul FIFO este asigurat de registrul ICxBUF, deoarece este mapat în memoria microprocesorului.

În cazul în care bufferul este plin cu patru evenimente de memorare, și un al cincilea eveniment are loc înainte de o citire din buffer, o condiție depășire va avea loc, bitul ICOV va fi setat la valoarea logică '1' și întreruperea generata de evenimentul respectiv nu va fi generată.

În plus, al cincilea eveniment apărut nu este înregistrat și toate evenimentele de captură ulterioare nu vor modifica conținutul actual al bufferului. De asemenea nici o întrerupere nu va fi generată până nu este eliminată condiția de depășire a bufferului.

Modulul de captură a semnalului de intrare poate fi configurat să funcționeze ca un pin de întrerupere externă. Pentru acest mod, întreruperile vor fi generate independent de citirile din buffer. De asemenea are capacitatea de a genera o întrerupere pe baza unui număr stabilit de evenimente de captură, un astfel de eveniment fiind definit ca o memorare a unei valori a bazei de timp în bufferul de captură.

 Setările referitoare la întreruperi sunt configurate cu ajutorul unor biții de control astfel: fiecare canal de captură a șenalului de intrare are biți indicatori de stare a întreruperii(ICxIF), biți de activare a întreruperilor (ICxIE) și biți de control a priorității întreruperilor (ICxIP).

Când modulul de captură este activat, utilizatorul trebuie să se asigure că pinul corespunzător portului I / O este configurat drept intrare prin setarea bitului asociat (TRIS). În plus, toate celelalte periferice multiplexate cu pinul de intrare trebuie să fie dezactivate.

Dacă dispozitivul intră în modul Sleep, ceasul intern al sistemului este dezactivat, iar modulul de captură poate funcționa doar ca o sursă de întrerupere externă. Dar în cazul în care un front crescător este aplicat pe pinul de intrare este obținuta ieșirea dispozitivului din modul Sleep.

Când dispozitivul intră în modul Idle, sursele ceasului intern al sistemului rămân funcționale dar CPU se oprește din executarea codului, iar prin setarea bitului ICSIDL se impune dacă modulul Input Capture este oprit sau continuă să funcționeze.

Prin urmare apariția unui eveniment de captură a semnalului de intrare poate genera trezirea dispozitivului sau o întrerupe, în cazul în care acesta este în modul Idle sau Sleep.[12]

Modulul PWM

Modulul PWM este utilizat pentru a genera o formă de undă de impulsuri periodice, ceea ce este util în aplicația prezenta de control al motorului de curent continuu, cat și acționari electrice de putere. Acesta acționează ca un temporizator pentru a număra până la o perioada impusa, perioada și factorul de umplere al impulsurilor fiind ambele programabile. Factorul de umplere oferă intervalul de timp pentru care impulsurile PWM sunt active într-o anumită perioadă de timp PWM.

Dupa cum se poate observa în figura 4, modulul PWM, poate suporta până la 3 perechi PWM, este prevazut cu generatoare de „timp mort”, are o rezoluție de până la 16 biți (31.25 ns), oferă posibilitatea de sincronizare a convertorului ADC cu semnalul PWM si simplifica sarcina de a genera mai multe ieșiri PWM sincronizate.

Cei șase pini de intrare/ieșire sunt grupați în perechi inferior/superior numerotate, notate cu sufixul H sau respectiv L. Pentru sarcini complementare, pinii inferiori sunt întotdeauna complemenții pinilor superiori corespunzători.

De aceea, oferă posibilitatea realizării unor aplicații de control de putere și mișcare fiind suportate acționari electrice cu motor asincron trifazat de curent alternativ, motor cu reluctanța variabila, motor de curent continuu fără perii (BLDC), sursă de alimentare neîntreruptibilă (UPS).

Un declanșator de evenimente speciale permite sincronizarea conversiilor analog-digitale cu baza de timp a semnalului PWM, astfel eșantionarea analog-digitală și timpul de conversie pot fi programate pentru a avea loc în orice moment în cadrul unei perioade PWM. Registrul de comparare a evenimentelor speciale (PxSECMP) precizează valoarea de comparat pentru a declanșa conversia analog-digitala.

****driverL6235(datasheet)

****ULN2003A(datasheet)

CAPITOLUL III

Structura sistemului de acționare realizat

După cum a fost enunțat în introducerea lucrării, sarcina sistemului de acționare este aceea de a deplasa un cărucior de-a lungul unei șine, între poziții prestabilite. În schița ansamblului mecanic din figura 3.1, sunt marcate pozițiile P1…P5 la distanță, și poziția „Acasa”. Fulia motorului (4) și cablul de tracțiune, transformă mișcarea de rotație a motorului în mișcarea de translație a căruciorului (8). Axul motorului suportă doar efort de torsiune, forța statică necesară întinderii cablului fiind suportată de scripeții de capăt (3) și (7). Căruciorul se deplasează pe șina (5), prin cablul de tracțiune. Toate elementele enunțate sunt suspendate de tavan (1).

Fig. 3.1 Schița ansamblului mecanic

Pe baza cerințelor enunțate în introducerea lucrării, s-a construit o diagramă de mișcare controlată a motorului, ilustrată în figura 3.2. Figura prezintă, de sus în jos, variația în timp a următoarelor mărimi:

poziția unghiulară a motorului

viteza unghiulară

cuplul rezultant, reprezentând diferența dintre cuplul electromagnetic și cel rezistent, de frecare

cuplul electromagnetic și cel de frecare, pe același grafic

Toate mărimile din figură sunt exprimate calitativ, în unități relative, raportate la valorile maxime corespunzătoare.

Fig. 3.2 Diagrama de mișcare a motorului, conform cerinței de deplasare

Un ciclu de mișcare începe și se termină la viteză zero, cuprinzând următoarele etape:

accelerare din repaos pana la viteza maxima prestabilită

continuare cu viteza constanta, pana la atingerea pozitiei corespunzatoare distantei de franare

franare libera (inactivă, prin frecare) pana la viteza de apropiere de poziția comandată

continuare cu viteza de apropiere pana la atingerea pozitiei de destinatie

oprire si stationare pana la urmatoarea comanda utilizator. În cazul în care poziția de destinație este cea “acasă”, motorul se oprește în momentul dictat de senzorul fix dispus la capătul liniei, pentru a reseta poziția calculată la o valoare reală, în felul acesta anulând posibilele acumulări de erori.

Sistemul de acționare alcătuit pentru a îndeplini sarcina cerută, cuprinde o parte de control și una forță, având structura ilustrată în diagrama bloc din figura 3.1.

Fig. 3.3 Diagrama bloc a sistemului de acționare

Partea de comandă constă într-un bloc de control care realizează controlul de viteză și poziție a motorului, cu ajutorul unui microcontroller (MCU). Acest bloc primește comenzile utilizatorului de la o casetă cu butoane normal-deschise, câte unul pentru fiecare dintre pozițiile prestabilite. Pentru a evita acumularea erorilor de deplasare ca urmare a posibilei alunecări a cablului pe fulie, este utilizat un senzor de capăt de linie (limită de deplasare) în poziția „acasă”. Senzorul de capăt este optic, cu infra-roșu, constituit dintr-un LED și un foto-tranzistor care recepționează radiația emisă de LED și reflectată de cărucior în poziția “acasă”. Acest bloc execută controlul de viteză printr-un regulator linear, implementat software. Semnalul de intrare al regulatorului de viteză este obținut prin diferența dintre viteza actuala a motorului si viteza de referința, pe când semnalul de ieșire reprezintă eroarea dintre răspunsul dorit și răspunsul real al sistemului (err). Pe baza acestei valori, regulatorul PI determină curentul de referință, transmis mai departe driverului sub forma unui semnal de tensiune. Cum MCU nu dispune de un convertor digital-analogic (CDA), semnalul de tensiune este generat prin PWM și apoi filtrat cu un filtru trece-jos pasiv.

Partea de forță constă într-un motor BLDC alimentat controlat de la un driver de motor circuit-integrat, la rândul lui conectat la o sursă de tensiune de 12V c.c. Driverul execută comutația și reglează intern curentul primind de la MCU. Reglajul de curent este de tip histerezis, cu PWM. Driverul, L6235, primește la pini comenzi digitale de sens de rotație și activarea frânei electrice. Frânarea se execută prin scrtcircuitarea fazelor motorului.

Comutația este efectuată de către driver, astfel încât a.i. fluxul magnetic statoric să fie decalat cu 90 grade electrice (in medie) față de fluxul rotorului. Prin comutatia electronica , in orice moment de timp se înseriază două faze, a treia ramanand nealimentata. Potențialele la care se conectează bornele motorului sunt dictate de poziția rotorului, determinată cu ajutorul a trei sonde Hall

Comutația asigura obținerea unui câmp magnetic rotativ prin-un total de sase posibile stări ale vectorului fluxului statoric în unul din cele sectoarele unghiulare de 600, pentru a asigura o rotație completa a rotorului (3600).

Schema electrică bloc a acționătrii este prezentată în figura 3.4, iar realizarea ei practică în figura 3.5.

Fig. 3.5

In figura 3.6 este reprezentat ansamblul hardware al acționării, cuprinzând unitatea de control, motorul, senzorul de capăt și sursa de alimentare.

Fig3.6 Elementele componente ale actionarii electrice destinata aplicatiei

Unitatea de control este prezentată în figura 3.7, și cuprinde:

Microcontroller Microchip PIC32MX250F128D, pe 32 biti, 40MHz

Driver dedicate motoarelor BLDC, L6235

Conector panou utilizator

Figura 3.7 Unitatea de control

CAPITOLUL IV

Teste si rezultate experimentale

Bibliografie

Bimal K. Bose, Modern power electronics and AC drives, Prentice Hall PTR, 2002

Sanda Victorinne Pațurcă, „Comenzi moderne în sisteme de acționari electrice”, Editura MATRIXROM, Bucuresti 2011.

Fransua, R .Magureanu , „Mașini și acționări electrice; elemente de execuție”, Editura Tehnica, 1986.

Marian PEARSICĂ, Mădălina PETRESCU,Mașini electrice”, Editura academiei forțelor aeriene “Henri Coandă” Brașov 2007.

Bimal K. Bose, „ Microcomputer control of power electronic and drives”, IEEE Press, 191987

Microchip. (2004). Application Note 957 – Sensored BLDC Motor Control using dsPIC

Microchip. (2005). Measuring Speed and Position with Microchip.

Microchip. (2011). Data Sheet PIC32MX250F128D.

Brushless DC (BLDC) Motor Fundamentals (2003)

MPLAB User Guide.Microchip (2009)

Similar Posts