Microcontroler cu resurse restrânse: Controler de viteză pentru Motor BLDC cu 3 faze

by donpedro

Această lucrare se concentrează pe o implementare cu microcontroler cu resurse minime pentru un motor BLDC cu 3 faze, aplicaţie de controler pentru motor cu buclă de viteză închisă bazat pe un dispozitiv Microchip PIC12. Se prezintă cum se poate reduce numărul de pini I/O, la numai 6 pentru acest tip de aplicaţie, prin tehnici de minimizare. Se presupune că cititorul înţelege secvenţa de comutare pentru tipul de motor mai sus menţionat.

de Martin Hill, Microchip Technology Inc.

Introducere
Cât de mic poate fi microcontrolerul care poate controla un motor BLDC cu 3 faze? Pentru a se răspunde la această întrebare este necesară identificarea resurselor chip-ului care se aliniază cu funcţiona­litatea şi topologia controlului extern al motorului BLDC pentru aplicaţia ţintă. Dacă la început se adresează pieţei economice de volum ridicat pentru aplicaţii de control al vitezei utilizate la ventilatoare şi pompe, atunci problema se restrânge. În legătură cu aceste tipuri de sisteme există unele cu confi­guraţii cu senzori şi altele fără senzori (pentru determinarea poziţiei rotorului), ambele oferind avantaje şi dezavantaje; dar în termeni de număr de I/O, ar fi de dorit dacă s-ar putea face detecţia poziţiei rotorului pe un singur pin. De asemenea, dacă pinii multifuncţionali pot fi angrenaţi pentru o interfaţă cu utilizatorul simplă şi tehnicile de minimizare logică pot reduce suplimentar numărul de pini, atunci poate fi determinată o hartă de resurse mini­me pentru un dispozitiv corespunzător.

Figura 1: Diagrama Bloc a Controlului Motorului BLDC

Sistemul de Control al Motorului BLDC
În Figura 1, diagrama bloc ilustrează un sistem care utilizează un singur senzor Hall pentru feedback-ul de poziţie al rotorului (multe sisteme utilizează pentru acest scop 3), un potenţiometru pentru reglarea vitezei, un comutator de start şi de stop, un declan­şator de supracurent pentru motor şi o punte de pu­tere cu 3 faze pentru a conduce motorul. Cantitatea rezultată de conexiuni independente pentru microcontrolerul prezentat între subcomponentele sistemului este de 11 (5 intrări şi 6 ieşiri). Totuşi, minimizarea poate fi atinsă dacă microcontrolerul suportă pini multifuncţionali şi periferice prezente peste tot.

Figura 2: Montaj de testare sistem

Tehnici de minimizare a resurselor
Considerând semnalele de ieşire ale microcontro­lerelor la puntea de putere cu 3 faze, dacă este utilizat algoritmul de control în şase paşi al BLDC, atunci numai două tranzistoare sunt ON la orice moment în timpul funcţionării normale, adică unul pe partea superioară şi unul pe partea inferioară şi acestea sunt conduse în mod necomplementar.
Astfel, tranzistoarele de pe partea superioară şi de pe partea inferioară sunt de pe configuraţii diferite ale jumătăţilor de punte şi sunt conduse în aşa-numitul mod diagonal. Acesta este avantajos, dintr-o perspectivă de minimizare logică, deoarece atunci când două din trei dispozitive de pe partea superioară sunt OFF în modul de funcţionare, al treilea ar trebui să fie ON. Evident, al treilea semnal de ieşire de pe partea superioară poate fi reconstruit din celelalte două cu câteva rezistenţe si un tranzistor invertor care se conectează la a treia intrare de pe partea superioară a punţii de putere (referinţă la Figura 4 – Diagrama circuitului). Aceasta conduce la reducerea pinilor microcontrolerului.
Deci, s-a ajuns de la un sistem care necesită 6 ieşiri la unul care necesită 5.
În legătură cu cele cinci intrări de sistem pentru un senzor Hall, potenţiometru, declanşator curent motor şi comutatoare start/stop, există diferite posibilităţi. În primul rând, senzorii Hall sunt construiţi normal în ansamblul motorului BLDC şi aceştia tind să aibă de asemenea circuite integrate pentru o interfaţă digitală la microcontroler.
Acesta poate lua forma de ieşiri de tranzistor tip open collector şi o rezistenţă de ridicare prevăzută pe partea controlerului extern al motorului pentru detectarea de semnal. În această aplicaţie este necesar un senzor Hall, iar familia de dispozitive PIC12F prezintă un pin numai de intrare digitală care poate fi utilizat în acest scop.
Pentru pornirea motorului sau funcţia de setare a vitezei, la pornire, unul dintre pinii de conducere de pe partea superioară a punţii de putere cu 3 faze poate fi configurat ca o intrare analogică. Acest pin este conectat la o rezistenţă divizoare şi potenţio­metru. Prin urmare, înainte să fie pornit motorul se poate seta şi citi viteza. În plus, adăugarea unui comutator de pornire care poate reduce setarea vite­zei sub un minim poate permite de asemenea por­nirea motorului. În acest mod de intrare analogic, deşi tranzistorul de conducere de pe partea supe­rioară conectat este pornit, acest lucru nu rezultă în alimentarea motorului, din moment ce toate tranzistoarele de conducere de pe partea infe­rioară sunt OFF în acest moment. Ulterior, în modul de func­ţionare, pinul este configurat ca o ieşire pentru tran­zistorul de pe partea superioară pentru conducerea motorului şi apoi lanţul de divizare rezistivă devine efectiv o funcţie de ridicate/coborâre pentru pin.
Funcţia de oprire este mai bine să fie implementată separat la pornirea motorului şi nu prin utilizarea comutatorului de start ca o funcţie start/stop combinată în timpul secvenţei de comutare. Prin urmare, funcţia stop este implementată în firmware printr-o pauză de rotaţie (rotation timeout), de exem­plu când este apăsat comutatorul de stop în modul de funcţionare, semnalele de conducere de pe partea superioară sunt dezactivate toate şi firmware-ul poate detecta condiţia următoare de oprire a motorului şi plasează aplicaţia în modul de stop. O funcţie şi mai elementară de oprire a motorului poate fi implementată prin utilizarea unui comutator normal deschis în paralel cu circuitul declanşator de supracurent descris în cele ce urmează.
Declanşatorul de supracurent nu utilizează niciunul dintre pinii I/O ai microcontrolerului; în schimb, face uz de conexiunea de înaltă tensiune a variantei de familie PIC12 pentru a reseta dispozitivul datorită suprasarcinii la motor. Acest tip de PIC implemen­tează un stabilizator cu şunt intern care este conectat la sursa de alimentare a aplicaţiei printr-o rezistenţă. Rezistenţa este dimensionată potrivit cerinţelor aplicaţiei. Prin urmare sursa poate fi întreruptă la PIC prin circuitul declanşator de supracurent care este conectat efectiv în paralel cu stabilizatorul intern al sursei.
Astfel, avem acum un sistem care necesită pini I/O de microcontroler cu 1 intrare digitală dedicată, 1 funcţie de ieşire digital/ analogic şi 4 funcţii digitale de ieşire. Totuşi, s-a ignorat faptul că pentru controlul de viteză va fi nevoie de modularea tensiunii aplicate la motorul BLDC şi pentru aceasta este necesar să fie aplicate anu­mite semnale PWM, în ca­zul acesta, tranzistoarelor de conducere din partea inferioară. De fapt, deoarece este implementat controlul în şase etape, cerinţa este de a avea oricare dintre cele trei drivere de pe partea inferioară alimentate cu un semnal PWM la orice moment din timp în timpul secvenţei de comutaţie a motorului. Anumite dispozitive PIC prezintă un periferic specific Motor Control PWM pentru acest scop, în timp ce altele au capacitatea de a ghida semnalul PWM la 1 din n ieşiri pentru a realiza practic acelaşi lucru prin, de exemplu, un ECCP (Enhanced Cap­ture/Compare Peripheral). Pe un PIC12F există o combinaţie de ghidare de semnal PWM în modurile disponibile ECCP şi APCFG (Alternative Pin Confi­guration). Acest lucru este extrem de convenabil deoarece ghidarea PWM poate fi realizată numai pe doi pini prin ECCP şi aplicaţia necesită trei (prin modul APCFG). Numai PIC12F615 şi PIC12HV615 au această capabilitate în prezent.

Figura 3: Controlul vitezei motorului şi implementarea comutaţiei

Firmware
Firmware-ul utilizează senzorul Hall unic pentru a sincroniza comutaţia motorului la tranziţia semnalului şi de asemenea determină când se comută între tranziţiile senzorului Hall unic utilizând o tehnică de drum estimat.
În plus, acesta implementează controlul de viteză în buclă închisă prin calculul erorii de viteză şi o formă de control simplă proporţională/integrativă. Ieşirea controlerului PI este încărcată în registrul CCPR1 al factorului de umplere PWM, cei mai semnificativi 8 biţi, iar ieşirea finală de la subsistemul PWM este transmisă pe rând la unul dintre cele 3 tranzistoare de pe partea inferioară a punţii de putere, pentru a comuta motorul şi a controla viteza.
Cele 3 temporizatoare interne PIC12 sunt utilizate pentru a măsura viteza motorului derivată de la semnalul senzorului Hall (TMR1), setarea perioadei PWM (TMR2) şi generarea unei întreruperi de comutaţie după o perioadă precalculată (TMR0).
La pornire, este citită configuraţia de viteză şi se intră în modul de funcţionare când este apăsat comutatorul de start.
Când se intră în modul de funcţionare pentru motor, iniţial este estimată poziţia rotorului, şi este desfăşurată o secvenţă de comutare scurtă în buclă deschisă până când este detectată următoarea tranziţie a semnalului senzorului Hall, la acel moment fiind sincronizată secvenţa de comutaţie cu poziţia rotorului. După două tranziţii succesive ale semnalului senzorului Hall, aplicaţia firmware intră în modul de control al vitezei în buclă închisă.
O declanşare de supracurent cauzează efectiv un POR (Power On Reset) al dispozitivului.

Sumar
Acest model controler descris a fost utilizat la comanda unui motor Hurst cu 3 faze, cu modulul de putere de tensiune joasă şi PIC12F615 conectate la o placă de teste modificată, toate putând fi găsite la Microchip. Se arată că această formă de control al motorului poate fi redusă la un microcontroler de 6 pini I/O, cu pini multifuncţionali şi perife­rice/ resurse interne. Perifericele interne flexibile ale PIC12HV615 şi stabilizatorul intern permit integrarea circuitului pentru această aplicaţie, un circuit exemplu fiind prezentat în Figura 4. Acesta poate forma baza unui model economic pentru anumite aplicaţii de condu­cere pentru motoare, unde nu este necesară atingerea de performanţe ridicate.

Figura 4: Diagrama circuitului (implementare PIC12HV615)

www.microchip.com

S-ar putea să vă placă și