Convertor Pentru Actionare cu Bldc
UNIVERSITATEA ”DUNĂREA DE JOS” GALAȚI
FACULTATEA DE AUTOMATICĂ, CALCULATOARE, INGINERIE
ELECTRICĂ ȘI ELECTRONICĂ
SPECIALIZAREA: ELECTRONICĂ APLICATĂ
Convertor pentru acționare cu BLDC
Coordonator științific,
Prof. Dr. Ing. Frangu Laurențiu
Absolvent,
Ignat Valentin-Paraschiv
Galați
2016
Rezumat
Capitol 1. Documentare
1.1. Introducere
Motorul de curent continuu fără perii (Brushless DC ) înlocuiește motorul cu perii în foarte multe aplicații deoarece consumul de energie este mic, fiabilitatea este mărite și mentenanța este nesemnificativă. Motoarele Brushless DC sunt cerute în acționările electrice de putere mică, dar complexitatea controlului pentru game largi de viteză și costul ridicat al circuitelor de comandă specializate au limitat răspândirea acestora pe plan mondial. În ultimii ani, tehnologia s-a dezvoltat continuu în diverse domenii, totodată s-a dezvoltat și producția de motoare Brushless DC cu magneți permanenți. Aceasă dezvoltare a dus la apariția unor soluții mai eficiente din punct de vedere economic pentru o gamă mai răspândită de aplicații cu viteză reglabilă.
Pentru o comandă eficientă, dar și pentru un control eficient, motorul Brushless DC necesită un convertor în punte H trifazată. Comutația fazelor motorului trebuie să respecte sincronismul dintre fluxul statoric și rotoric (flux magnetic).
Pentru controlul motoarelor Brushless DC (BLDC) este nevoie să știm cu precizie poziția rotorului în orice moment. Această informație este dată de senzorii de poziție (senzori Hall). Pe baza acestei informații vom ști cum să comandăm tranzistoarele invertorului care alimentează fazele motorului.
În mod general circuitele care comandă aceste motoare folosesc mai mulți senzori de poziție (minim 3) care dau informațiile necesare determinării poziției rotorului pentru a se păstra sincronismul între cele două fluxuri. Tipul acesta de control implică costuri ridicate datorită implementării senzorilor în construcția motorului în același timp acesta are restricții de funcționare în condiții de căldură și umiditate ridicată. Datorită acestor condiții și din motive financiare și tehnice, controlul fără senzori se face cu un controler pentru motoare Brushless DC.
Aceste motoare sunt deja folosite în construcția hard-disk-urilor și în multe alte aplicații industriale. Piața de desfacere a motoarelor crește semnificativ în automatizări. Motoarele Brushless DC au pătruns pe piața aplicațiilor electrocasnice și în industria auto, datorită unei eficiențe mari, a unei construcții compacte, a unei funcționări silențioase, a fiabilității mărite și a mentenanței scăzute
1.2. Soluții posibile pentru realizarea convertor
1.2.1. Soluție de realizare cu PICDEM MC LV (Microchip)
Placa de dezvoltare PICDEM MC LV este realizată pentru controlul unui motor Brushless DC (BLDC) cu sau fără senzori Hall. Această placă poate fi configurată în diferite moduri, astfel încat să se poate utiliza PIC-uri specializate în comanda motoarelor și în controlul digital al semnalelor. Microcontrolerele ce pot fi folosite sunt PIC18F2431 și dsPIC30F3031.
PICDEM MC LV este o placă compactă, pe care se găsește invertorul trifazat și circuite specializate în jurul microcontrolerului. Dezvoltatorul pune la dispoziție o interfața grafică cu ajutorul căreia putem modifica sau seta parametrii pentru comanda motorului.
Schema bloc a placii de dezvoltare este prezentată în figura 1.1.
Figura 1.1. Schema bloc a placii de desvoltare PICDEM MC LV
1.2.2. Soluție cu integratul DRV8332 (Texas Instruments)
Integratul DRV9332 este un integrat de înaltă performanță, care are încorporat driverele și tranzistoarele folosite la comanda unui motor Brushless DC (BLDC). La acest integrat trebuie venit din exterior cu semnal modulat în factor de umplere (PWM). Factorul de umplere putea fi dat din orice circuit specializat.
În figura 1.2 se găsește schema aplicație tipice din foaia de catalog
Figura 1.2. Aplicația tipică din foaia de catalog
Integratul are nevoie de două tensiuni de alimentare, una de +12 V pentru alimentarea părții de comandă și o tensiune de maxim 50 V pentru alimentarea părții de forță. Curentul maxim pe cele 3 faze de 8 A.
Frecvența maximă cu care poate lucra DRV8332 este de 500 kHz.
Acest integrat este prevăzut cu un bloc de protecție la supracurent, la tensiuni prea mici de alimentare, protecție la suprasarcină
1.3. Soluția aleasă
Mai departe am ales să fac propriul convertor pentru acționarea unui motor Brushless DC (BLDC) inspirându-mă din soluția celor de la Microchip cu mici modificări.
Punte H este un circuit electronic ce permite aplicarea unei tensiuni pe o sarcină în orice sens. Aceste circuite sunt folosite în robotică, dar și alte aplicații pentru a permite motoarelor de curent continuu să ruleze în sensul dorit. Punțile H sunt disponibile ca circuite integrate sau pot fi construite din componente discrete, tranzistoare bipolare sau MOS. Pentru comanda unui motor BLDC este nevoie de o punte H trifazată ca în figura 1.3
Figura 1.3. Structura unei punți H trifazată
Am ales să construiesc puntea H cu tranzistoare MOS deoarece am nevoie de comandă flotantă a tranzistorului de sus, iar pentru acest lucru sunt fabricate circuite specializate numite drivere.
O clasificarea a driverelor se poate face după:
numărul tranzistoarelor de putere comandate de circuit:
integrate folosite la comanda unui singur tranzistor de putere (IR 2117÷IR2128 etc.);
integrate folosite la comanda unui braț de punte (IR2101÷IR2113, 2SD315A, 2ED300C17 etc.);
integrate folosite la comanda unor punți întregi (punte H, punte trifazată) realizate cu MOSFET-uri de putere sau IGBT-uri (IR2130, IR2132, SKHI61, SKHI71 etc.).
lipsa sau prezența funcției de separare galvanică:
integrate care asigură separarea galvanică între intrare și ieșire;
integrate fără separare galvanică, care la rândul lor pot fi:
– circuite de tensiuni joase (IXBD4410/4411, IXBD4412/4413)
– circuite HVIC care acceptă diferențe de potențial ridicate între anumite terminale ale acestora (IR 2101÷IR2155);
numărul de tensiuni necesare pentru alimentare:
integrate care au nevoie de toate tensiunile de alimentare separate galvanic, atât pentru partea logică, cât și pentru etajul final de atac pe grilă (HP 316J);
integrate cu „pompe de sarcini negative” capabile să își genereze singure tensiunea negativă de blocare pornind de la tensiunea pozitivă de grilă (IXBD4410/4411, IXBD4412/4413 etc.);
integrate sau module de comandă care au nevoie de o singură tensiune de alimentare din care, prin diferite procedee (tehnica bootstrap, surse miniatură în comutație) sunt obținute toate tensiunile necesare funcționării (modulele SKHI22xx, IR 2101÷IR2155 etc.)
numărul și tipurile de protecții asigurate:
circuite care asigură doar protecțiile minimale cum ar fi protecția la supracurenți și/sau protecția la scăderea tensiunii de alimentare (HP 316J, IR 2101÷IR2155 etc.);
circuite care asigură mai multe tipuri de protecții, pe lângă cele minimale, cum ar fi: protecție la supratensiuni, protecție la dispariția tensiunii negative de blocare, (IXBD4410/4411) protecție la dispariția sau reducerea sub o anumită valoare a timpului mort (SKHI22,24), protecție la creșterea temperaturii dispozitivului de putere etc.
Capitol 2. Proiectare hardware
2.1. Schema bloc
Convertorul trifazat pentru comanda unui motor Brushless DC (BLDC) conține microcontrolerul PIC18F4431, tranzistoarele MOSFET IRFB3607 folosite pentru puntea H trifazată, driverele IR2101 utilizate pentru comanda trazistoarelor din puntea trifazată.
Schema bloc a proiectului este prezentată în figura 2.1
Figura 2.1. Schema bloc a proiectului
Sursă: Nota aplicativă 00970 de la Microchip http://ww1.microchip.com/downloads/en/AppNotes/00970A.pdf
Proiectul conține două module. Un modul este folosit pentru comandă și conține microcontroler, resistor semireglabil pentru referința pentru turație, leduri pentru iesirile PWM, leduri de semnalizare, doua butoane pentru sens, buton pentru reset, conector pentru programarea microcontrolerului, dar și pini de la toate porturile nefolosite ale microcontrolerului, iar al doilea modul conține partea de forță cu cele 6 tranzistoare MOSFET folosite la construcția punții H trifazată, driverele pentru comanda tranzistoarelor, circuit pentru protecția la supracurent și stabilizatoarele de tensiune de 15 și 5V.
Programul folosit pentru editarea schemei și pentru desenarea cablajului este EAGLE 7.4.0.
2.2. Proiectarea modulului de comandă
Modulul folosit la partea de comandă conține microcontrolerul PIC18F4431, resistor semireglabil pentru referința pentru turație, 6 leduri conectate la cele 6 ieșiri PWM, leduri pentru semnalizare, doua butoane pentru alegerea sensului de rotație, buton pentru resetarea microcontrolerului, conector pentru programarea acestuia, dar mai conține și pini conectați la toate porturile nefolosite ale microcontrolerului.
Microcontrolerul folosit pentru comanda convertorului este unul pe 8 biți cu următoarele caracteristici:
8 canale PWM cu o rezoluție de 14 biți;
Curentul consumat este de 300 mA;
2 module Capture/Compare/PWM (CCP): rezoluția pentru modulele Capture/Compare este de 16 biți, iar pentru ieșirea PWM din modul este între 1 și 10 biți;
Protocoale de comunicație : USART, SPI, I2C;
Oscilatorul intern are frecvența de până la 8 MHz;
Suportă 2 semnale de ceas externe de până la 40 MHz;
9 canale pentru convertorul A/D pe 10 biți;
Memorie program: flash 16348 bytes (8192 instrucțiuni);
Memorie de date: SRAM 768 bytes și EEPROM 256 bytes;
36 pini I/O;
4 TIMERE unul pe 8 biți (TIMER2) și trei pe 16 biți (TIMER0, TIMER1, TIMER5);
34 surse de întrerupere;
Tensiunea de alimentare între 2V și 5,5V;
Programarea se poate face și la tensiuni mici;
3 moduri de funcționare – Run (CPU activ, periferice active )
– IDLE (CPU inactiv, periferice active)
– Sleep (CPU inactiv, periferice inactive);
Consumul de curent în modul IDLE este de 5,8 µA și în modul Sleep este 0,1 µA.
Am ales ca să folosesc acest microcontroler deoarece am nevoie de 6 ieșiri modulate în factor de umplere, el având 8 astfel de ieșiri, curentul consumat este unul mic, memoria program și memoria de date este suficientă pentru ceea ce am nevoie.
În figura 2.2 avem diagrama pinilor microcontrolerului.
Figura 2.2. Diagrama pinilor de la microcontroler
Pinii folosiți sunt:
RB0-RB5 de unde voi lua semnalul modulate în factor de umplere;
RA0 pentru a citi informația de curent de pe șunt;
RA1 care va citi tensiunea de pe semireglabil;
RC0 și RC2 sunt utilizați pentru conectarea butoanele care aleg sensul de rotație;
RC3 unde este conectat ledul de semnalizare;
RC4 și RC5 la care sunt conectate ledurile care indică sensul de rotație a motorului;
unde este conectat butonul pentru resetarea microcontrolerului;
RB6 și RB7 pentru programarea microcontrolerului.
La pinii ce nu îi utilizez am legat conectori în vederea folosirii ulterioare dacă este nevoie.
Pinii RA0 și RA1 sunt folosiți ca intrări analogice, iar restul pinilor sunt utilizați ca intrări sau ieșiri digitale.
Ledurilor au fost conectate la microcontroler ca în figura 2.3
Figura 2.3. Conectarea ledurilor
Dimensionarea rezistoarelor a fost făcută în funcție de curentul minim și maxim pe led și de tensiunea de la ieșirea microcontrolerului care este de 5 V.
Îmi propun ca curentul minim prin led să fie de 5 mA, iar curentul maxim prin led să fie de 20 mA, căderea de tensiune pe led este de 3 V. Având toate datele necesare mai rămâne să dimensionez rezistența.
Căderea de tensiune pe rezistență (UR) este diferența dintre tensiunea de la ieșirea microcontrolerului (UM) și caderea de tensiune pe led (Uled).
UR = UM – Uled = 5 V – 3 V = 2 V
Cunoscând căderea de tensiune pe rezistor și curentul minim (Iled_min) și maxim (Iled_max) prin led putem afla valoarea rezistorului (R) cu ajutorul Legii lui Ohm.
UR = Iled ∙ R
Valoarea rezistorului trebuie să fie de minim 100 Ω și maxim 400 Ω. Eu am ales ca valoarea rezistențelor sa fie de 330 Ω
Pentru a crea tensiunea de referință din care modificăm turația motorului am nevoie de o rezistență fixă și una semireglabilă ca în figura 2.4.
Figura 2.4. Tensiunea de referință
Cele două rezistoare sunt conectate între GND și +5 V. Am ales să nu conectez semireglabilul direct la GND, ci am pus un rezistor de 100 Ω pentru ca tensiunea primită de microcontroler să nu fie niciodată 0 V.
În figura 2.5 este proiectarea butoanelor pentru resetarea microcontrolerului și pentru alegerea sensului de rotație al motorului.
Figura 2.5. Proiectarea butoanelor
Butoanele din stânga sunt folosite pentru sensul de rotație al motorului. Ele au rezistență de pull-up, R16 respectiv R17, pentru ca tensiunea de la pinii RC0 și RC2 să nu fie influențați de tensiunile parazite atunci cand butonul nu este acționat. Cât timp butonul nu este apăsat microcontrolerul primește 1L, iar în momentul acționării microcontrolerul primște semnalul de 0L (GND).
Același lucru se întamplă și la butonul din dreapta folosit pentru resetarea microcontrolerului. Acesta având în plus un condensator de 100 nF între pinii butonului folosit pentru debounce.
2.3. Proiectarea modulului de forță
Modulul folosit la partea de forță conține puntea trifazată, driverele folosite la comanda tranzistoarelor, șuntul de unde se culege informația de curent de pe motor, un amplificator operațional care amplifică tensiunea de pe șunt pentru a fi transmisă microcontrolerului, un comparator care compară tensiunea de la ieșirea amplificatorului cu o tensiune de referință și două stabilizatoare de tensiune de 15 și 5 V, care stabilizează tensiunea pentru alimentarea modulelor.
2.3.1. Puntea trifazată
Invertorul este un convertor c.c.-c.a. care are la intrare o sursă de tensiune continuă pe care o transformă într-o sursă de tensiune alternativă, cu frecvență și/sau tensiune reglabilă. De obicei, invertoarele sunt folosite pentru acționarea motoarelor de curent alternativ cu viteză de rotație reglabilă, dar se folosesc și în alte domenii.
Clasificarea invertoarelor după numărul de faze ale tensiunii de ieșire:
invertoare monofazate;
invertoare trifazate.
Pentru comanda unui motor BLDC se folosește un invertor trifazat în punte.
Structura unui invertor trifazat de tensiune în punte H este prezentată în figura 2.6.
Figura 2.6. Structura unui invertor trifazat
Având în vedere faptul că motorul trebuie alimentat la o tensiune de 24 V și curentul maxim prin motor este de 10 A, tranzistoarele trebuiesc dimensionate în așa fel încât să suporte tensiunea de alimentare a motorului, dar și curentul maxim prin motor.
Rezistența drenă-sursă trebuie să fie mică pentru a avea un randament bun, dar și pentru a nu disipa căldura pe capsula tranzistorului.
Tranzistoarele folosite în construcția punții H sunt MOSFET IRFB3607 cu canal de tip N, având următoarele caracteristici:
tensiunea drenă-sursă (VDSS) este de 75 V;
curentul maxim suportat de tranzistor este 80 A;
rezistența drenă-sursă (rDS) cand tranzistorul este în conducție de maxim 9 mΩ;
timp de comutare din 0L în 1L de 16 ns, iar din 1L în 0L de 43 ns;
putere disipată maximă pe capsulă de 110 W.
Am ales să folosesc acest tip de tranzistoare deoarece curentul prin motor este estimat la 10 A, iar tranzistorul suportă un curent de 80 A. Un alt motiv pentru care am ales aceste tranzistoare este tensiunea drenă-sursă maximă care este de 75 V.
Având valorile rezistenței drenă-sursă de 9 mΩ și curentul maxim prin motor putem calcula căderea de tensiune pe respectiva rezistență și puterea disipată pe capsula tranzistorului.
Căderea de tensiune se calculează cu ajutorul Legii lui Ohm:
Ur = Ir ∙ rDS
unde:
Ur – căderea de tensiune pe rezistența drenă-sursă;
Ir – curentul prin rezistența drenă-sursă;
rDS – rezistența drenă-sursă.
Înlocuind valorile cunoscute, rezultă că Ur = 90 mV.
Puterea disipată (Pd) pe capsula tranzistorului se calculează după formula:
Pd = Ur ∙ Ir
sau
Pd = Ur2 / rDS = Ir2 ∙ rDS
Înlocuind valoarea căderii de tensiune pe rezistența drenă-sursă și valoarea curentului prin tranzistor, rezultă puterea disipată pe capsula tranzistorului de 900 mW. Aceasta este mică în comparație cu puterea maximă disipată.
2.3.2. Driverul IR2101
Deoarece tranzistoarele din puntea H au nevoie de comandă flotantă, am hotărât să folosesc drivere care fare fabrică această comandă. Fiecare braț al punții va fi comandat de un driver.
În urma cercetărilor am hotărât să folosesc driverul IR2101 (figura 2.7) deoarece acest driver poate comanda doua tranzistoare, comanda unuia este flotantă, necesită o singură tensiune de alimentare și asigură protecție la scăderea tensiunii de alimentare.
Performanțele acestui driver sunt:
Tensiunea de alimentare între 10 și 20 V;
Tensiunea pentru comanda flotantă a tranzistoarelor de până la 600V;
Semnalul de la ieșirea driver-ului este în fază cu semnalul de la intrare;
Puterea maximă disipată pe capsulă 1W;
Întarziere de propagare de 50ns;
Viteza de variație ON/OFF de 150ns;
Circuitul integrat este compatibil cu urmatoarele niveluri logice 3,3V, 5V si 15V.
Figura 2.7. Simbolul driver-ului IR2101
În figura 2.8 avem schema driverului folosită pentru unul din brațele punții.
Figura 2.8. Schemă driver
Rezistențele R71 și R72 sunt folosite pentru limitarea curentului la intrarea în driver. Rezistențele R47 și R54 sunt folosite pentru reducerea oscilațiilor drena tranzistoarelor.
Calculul capacității C20 se face după relația 1.
unde: Cgs – capacitatea grilă-sursă;
Udr_min – tensiunea minimă pe driver;
Idr – curentul prin driver;
Ton_max – durata maximă a semnalului în 1L;
Vcc – tensiunea de alimentare a driverului
Capacitatea grilă-sursă este de 3 nF, tensiunea minimă pe driver de 10 V, curentul prin driver este de 55 µA, durata maximă a semnalului în 1L este de 1 ms și tensiunea de alimentare a driverului este de 15 V.
Înlocuind aceste valori în relația 1 rezultă că valoarea minimă a condensatorului C20 este de 170 nF.
2.3.3. Protecția la supracurent
Pentru ca valoarea curentului să nu depășească o valoare maximă voi folosi protecție la supracurent.
Schema folosită pentru protecție este cea din figura 2.9.
Figura 2.9. Schema protecției la supracurent
Informația de curent este citită de pe rezistența R26 care este un șunt cu valoarea de 0,1 Ω. Șuntul a fost dimensionat în așa fel încăt căderea de tensiune maximă să fie de 1 V.
Poziționarea șuntului este între sursele tranzistoarelor de jos și GND. Tensiunea este filtrată, apoi amplificată de 11 ori. După amplificare, tensiunea este adusă la un comparator, pentru a fi comparată cu o tensiune de referință dată de divizorul rezistiv format din R2 cu valoare de 2,4 kΩ și R4 o rezistență semiregrabilă cu valoarea de 5 kΩ.
Conectorul J2 este folosit pentru a transmite informația de curent către microcontroler în vederea afișării pe un display.
Conectorul J4 este utilizat pentru a da microcontrolerului semnale dacă s-a depășit referința setată din semiregrabilul R4.
2.4. Alimentarea circuitelor
Alimentarea modulelor se face dintr-un stabilizator de 18 V, cu mențiunea că voi folosi un stabilizator de 15 V pentru alimentarea driverelor și un stabilizator de 5 V pentru alimentarea microcontrolerului, amplificatorului operațional și a comparatorului.
Curentul absorbit de un driver este de ordinul sutelor de microamperi, maxim 270 µA. Având 3 astfel de driver, curentul absorbit este de aproximativ 800 µA.
Microcontrolerul consumă un curent de 250 mA, comparatorul LM393 consumă un curent de 50 mA, iar amplificatorul operațional consumă 5 mA.
Curentul total consumat este de aproximativ 310 mA, deci alimentatorul trebuie să poată livra un curent de minim 400 mA. Am folosit un alimentator ce poate livra 3,5 A, deoarece pe acesta l-am avut la dispoziție.
Alimentarea părții de forță se face separat. Pentru teste am folosit o sursă de laborator cu 15 V/ 2 A.
Capitol 3. Proiectare software
3.1. Cerințe de proiectare
Microcontrolerul trebuie sa îndeplinească următoarele sarcini:
să producă 6 semnale modulate în factor de umpere pentru comanda punții H;
să schimbe sensului de rotație în funcție de butonul apăsat;
să citească o tensiune de referință și să modifice turația în funcție de acea tensine;
să schimbe strategia de modulare;
Resursele necesare pentru a îndeplini cerințele proiectului sunt:
memorie program: ;
memorie RAM: ;
13 porturi I/O, din care 2 porturi analogice de intrare, 6 porturi pentru ieșirile modulate în factor de umplere;
module interne: – modul PWM cu 6 ieșiri;
– convertor analog-digital cu minim 2 canale de intare;
– timer (cu prescaler);
frecvența ceasului sa fie peste 1 MHz.
3.2. Organigrama program
În figura 3.1 este reprezentată organigrama programului din microcontroler.
Figura 3.1. Organigrama program
În partea de inițializare se:
configurează regiștrii microcontrolerului;
declară variabilele globale;
definesc porturile de intrare – ieșire;
configurează modulul PWM;
configurează convertorul A/D;
La configurarea regiștrilor microcontrolerului selectez ca semnalul de ceas să fie dat de oscilatorul intern al acestuia, dezactivez Watchdog Timer, codurile de protecție.
După configurarea regiștrilor microcontrolerului, declar toate variabilele globale folosite. După ce am declarat variabilele globale, am setat frecvența oscilatorului intern la 8 MHz, am configurat porturile utilizate ca fiind ieșiri digitale sau intrări analogice.
La configurarea modulului PWM setez baza de timp a semnalului PWM (postscale și prescaler) din registrul PTCON0. În registrul PWMCON0 activez porturile PWM folosite și modul de funcționare al acestora (ieșirile sunt în modul independent sau modul complementar pe perechi). Din registrul DTCON setez ceasul pentru crearea timpul mort între comenzi, dar și valoarea timpului mort. Din regiștrii OVDCOND și OVDCONS comand ieșirile PWM, care ieșire să fie activată (1L) și care să fie dezactivată (0L).
La configurarea convertorului A/D setez referința cu care este comparat semnalul analogic de la intrarea în microcontroller din registrul ADCON1, setez frecvența ceasului după care se face conversia din registrul ADCON2 și din registrul ANSEL0 setez porturile de intrare analogice.
În blocul unde se alege sensul, microcontrolerul citește permanent porturile RC0 și RC2 care sunt setate ca intrări digitale. În funcție de butonul apăsat se execută secvența respectivă de program, stânga sau dreapta. Dacă se apasă butonul de la portul RC0 motorul se va roti în sensul acelor de ceas, iar dacă se apasă butonul de la porul RC2 motorul se va roti în sensul invers. După alegerea sensului de rotație se face setarea turației.
În blocul setare turație, microcontrolerul setează turația motorului în funcție de rezultatul conversiei tensiunii de referință. Rezultatul conversiei este pe 10 biți. Microcontrolerul fiind unul pe 8 biți, are nevoie de două register unde să salveze rezultatul. Cei mai nesemnificativi 2 biți sunt salvați în registrul ADRESL, iar restul în registrul ADRESH. După care cu ajutorul operației logice SAU și cu ajutorul deplasărilor trecem rezultatul într-o variabilă globală pe care o folosim la calculul turației motorului.
Dacă tensiunea de referință este minimă, atunci turația motorului trebuie să fie maximă, iar dacă tensiunea de referință este maximă atunci turația motorului este minimă. Deci tensiunea de referință este invers proporțională cu turația.
Odată ales sensul de rotație al motorului și turația acestuia, se pornește semnalul PWM. Dacă microcontrolerul nu primește niciun semnal de la protecția de supracurent, precum ca s-a depășit curentul maxim pe sarcina, ciclul se reia de la alegerea sensului de rotație, iar în cazul în care primește semnal că s-a depașit curentul maxim stabilit acesta va opri semnalul PWM.
Repornirea semnalului se va face de operatorul uman, prin resetarea microcontrolerului.
Soft-ul în care a fost scris programul rste MPLAB X, limbajul de programare este C, iar compilatorul utiliat este XC8.
Programarea microcontrolerului am facut-o cu PicKit2.
Capitol 4. Rezultate experimentale
Am ales să fac teste la două frecvențe ale semnalelor modulate în factor de umplere. Primele teste sunt făcute la frecvența semnalului modulat de aproximativ 16 Hz, al doilea rând de teste sunt facute la frecvența semnalului modulat în factor de umplere de 160 Hz.
4.1. Teste la frecvență mică
În figura 4.1 avem captura de ecran a osciloscopului în care putem vedea pe canalul 1 semnalul modulat în factor de umplere de pe ieșirea PWM0, iar pe canalul 2 tensiunea primită de microcontroler pentru a crea referința de turație (frecvența semnalului modulat).
Figura 4.1 CH1 – Ieșirea PWM0 a microcotrolerului și CH2 – Referința de turație
În figurile 4.2, 4.3, 4.4, 4.5 si 4.6 se pot observa semnalele de comandă date de către microcontroler driverelor pentru a comanda tranzistoarele. În toate figurile semnalul de referință este luat de la ieșirea canalului PWM0.
Figura 4.2. CH1 – Semnalul PWM0 și CH2 – semnalul PWM1
Figura 4.3. CH1 – Semnalul PWM0 și CH2 – semnalul PWM2
Figura 4.4. CH1 – Semnalul PWM0 și CH2 – semnalul PWM3
Figura 4.5. CH1 – Semnalul PWM0 și CH2 – semnalul PWM4
Figura 4.6. CH1 – Semnalul PWM0 și CH2 – semnalul PWM5
Semnalele PWM de la ieșirea microcontrolerului sunt așa cum am dorit, mai departe voi verifica dacă driverul funcționează cum trebuie. Capturile de la osciloscop au fost facute când am testat driverul care comandă tranzistoarele din brațul al treilea al punții H.
În figura 4.7 avem semnalul PWM4 pe canalul 1 al osciloscopului, iar pe canalul 2 avem semnalul de la pinul 5 (LO) al driverului care comanda tranzistorul de jos.
Semnalul PWM4 este între 0 și 5 V, semnalul de la pinul 5 al driverului este între 0 și 15 V, semnalele sunt în fază de aici pot trage concluzia că driverul funcționează bine la comanda tranzistorului de jos.
Figura 4.7 Intrarea LIN și ieșirea LO a driverului
În figura 4.8 se pot vedea semnalele PWM5 și ieșire driverului la pinul 7 (HO). Aceste semnale sunt surprinse în momentul în care nu avem sarcină.
Figura 4.8. Intrarea HIN și ieșirea HO a driverului
Mai departe în figura 4.9 este reprezentată tensiunea pe condensatorul care alimentează driverul cât timp conduce tranzistorul. Aceastaă tensiune a fost măsurată între pinii 6 și 8 ai driverului.
Figura 4.9. Tensiunea pe condensator fără sarcină
Aceasta a fost măsurată fără a conecta motorul ca sarcină. Tensiunea pe condensator este constantă si are valoarea de 14.5 V.
Având în vedere faptul că tensiunea este constantă și nu are riplu conectăm motorul Brushless DC la ieșirile M1, M2, M3. La pinul DC+ alimentăm motorul de la o sursă reglabilă de 15 V / 2 A.
În figura 4.10 avem semnalul de la pinul M1 pe canalul 1 al osciloscopului și tensiunea de pe șunt, dar citită dupa amplificare. Valoarea amplificării este 11.
Valoarea curentului care circulă prin înfășurările motorului se poate calcula cu formula:
Ișunt= (Ușunt / 11) / Rșunt
Valoarea șuntului este de 0,1 Ω, din figură vedem cum tensiunea de pe șunt este de aproximativ 700 mV, de aici rezultă ca valoarea curentului este aproximativ 600 mA.
Figura 4.10. CH1 – Tensiunea pe prima înfășurare și CH2 – Tensiunea de pe șunt(x11)
În figurile 4.11 și 4.12 sunt reprezentate tensiunile de pe cele 3 înfășurări ale motorului. Am luat ca semnal de referință tensiunea de pe prima înfășurare.
Figura 4.11. CH1 – Tensinea pe prima înfășurare și CH2 – Tensiunea pe a doua înfășurare
Pe canalul 1 al osciloscopului avem o perioadă a tensiunii de pe prima înfășurare a motorului. Cât timp conduce tranzistorul de sus al primului braț din puntea H, tensiunea pe motor este de aproximativ 11 V. Când tranzistorul este blocat, are o scădere bruscă a tensiunii în -1 V, dupa care crește la 6 V. Această tensine de 6 V este tensiunea electromotoare prin respectiva bobină. Descresterea tensiunii de la 6 V la 0 V are loc atunci cănd toate tranzistoarele sunt blocate.
Pe canalul 2 al osciloscopului este reprezentată tensiunea de pe a doua înfașurare a motorului. Tensiunea de această înfașurare este la fel ca tensiunea de pe prima înfășurare, numai că pe motor este aplicată tensiunea de 11 V în momentul în care conduce tranzistorul de sus a celui de-al doilea braț al punții H.
Figura 4.12. CH1 – Tensinea pe prima înfășurare și CH2 – Tensiunea pe a treia înfășurare
În figura 4.12 avem pe canalul 1 aceași tensiune ca în figura 4.11, adică tensiunea de pe prima înfășurare a motorului, iar pe canalul 2 tensiunea de pe a treia înfășurare a motorului. Pe această înfășurare se găsește același fenomen ca pe celelalte două înfășirări, doar ca ele au loc la momentul deschiderii tranzistorului de sus, respective de jos de pe brațul punții H.
După ce am văzut tensiunile de pe înfășurările motorului, am măsurat din nou tensiunea pe condensator, dar de această dată cu sarcina conectată. În figura 4.13 se poate vedea această tensiune.
Figura 4.13 Tensiunea pe condensator cu sarcină
În figura 4.14 pe canalul 1 este reprezentat semnalul PWM0 de la ieșirea microcontrolerului, iar pe canalul 2 al osciloscopului avem tensiunea de la sursa care alimenteză infășurarile motorului.
Figura 4.14. CH1 – Semnalul PWM0 si CH2 – Tensiunea la sursa motorului
Se observă că tensiunea este constantă cat timp comanda PWM este în 0 logic, adica tranzistorul este blocat. În momentul în care tranzistorul este comandat, adică semnalul PWM trece în 1 logic, sursa scade tensiunea de la 13 V la aproximativ 11 V. Acest lucru se poate observa mai bine în figura 4.15.
Figura 4.15. CH1 – Semnalul PWM0 si CH2 – Tensiunea la sursa motorului
Scăderea tensiunii are loc atunci cand curentul prin motor crește. Acest fenomen durează 200 µs, după care tensiunea ramane constant la valoarea de 11 V. În momentul în care tensiunea rămâne constantă la 11 V, cel mai probabil curentul ajunge la o valoare maximă.
La momentul conducției tranzistorului, la sursă are loc un fenomen tranzitoriu evidențiat în figura 4.16.
Acest fenomen apare datorită capacităților și inductanțelor parazite.
Figura 4.16 – Semnalul PWM0 si CH2 – Tensiunea la sursa motorului
În figura 4.17 avem evidențiat fenomenul tranzitoriu în momentul în care trazistorul se blochează.
Figura 4.17. CH1 – Semnalul PWM0 si CH2 – Tensiunea la sursa motorului
Pentru un timp foarte scurt, respectiv 500 ns, tensiunea de la sursă ajunge la aproximativ 75 V. Acest fenomen apare datorită energiei înmagazinate de bobinele motorului care se descarcă prin diodele aflate între grilele și sursele tranzistoarelor către sursă.
4.2. Teste la frecvență mare
După cum am zis la începutul capitolului aceste teste au fost făcute în condițiile în care semnalul modulat are frecvența de 160 Hz.
În figura 4.18 avem semnalul modulat în durată de la ieșirea PWM0 a microcontrolerului și tensiunea de referință, în baza căreia microcontrolerul mărește sau micșorează frecvenșa semnalului modulat în factor de umplere.
Figura 4.18. Semnalul PWM0 și tensiunea de referință
Tensiunea de referință este de aproximativ 500 mV și frecvența semnalului modulat în factor de umplere este de 160 Hz.
Mai departe am verificat ieșirile microcontrolerului să văd daca semnalul PWM este corect. Aceste semnale se pot vedea în figurile 4.19, 4.20, 4.21, 4.22 și 4.23. Am luat ca referință semnalul de la ieșirea PWM0.
Figura 4.19 Semnalele PWM0 și PWM1
Figura 4.20. Semnalele PWM0 și PWM2
Figura 4.21. Semnalele PWM0 și PWM3
Figura 4.22. Semnalele PWM0 și PWM4
Figura 4.23. Semnalele PWM0 și PWM5
Semnalele de la ieșirile microcontrolerului sunt așa cum mi-am dorit, mai departe voi testa funcționarea driverelor. În figura 4.24 avem semnalele LIN (Low Input) și LO (Low Output) de la driverul care comandă tranzistoarele din al treilea braț al punții H.
Figura 4.24 Semnalele LIN și LO de la driver
Semnaluul de la pinul LIN al driverului este între 0 și 5 V, semnalul de la pinul LO este între 0 și 15 V, adica tensiunea de alimentare a driverului, ambele semnale sunt în fază. Asta înseamnă că driverul funcționează corect la comandarea tranzistorului de jos.
În figura 4.25 avem semnalele de la pinii HIN și HO de la driver când nu avem sarcina conectată.
Figura 4.25. Semnalele HIN și HO de la driver fără sarcină
Semnalul de pe canalul 1 al osciloscopului este semnalul de la intrarea HIN a driverului care este între 0 și 5 V, iar semnalul de pe canalul 2 este semnalul de la ieșirea HO a driverului care este între 0 și 14,5 V. Ambele semnale sunt în fază, deci și comanda tranzistorului de sus este corectă.
Mai departe voi arăta tensiunea de pe condensatorul aflat între pinii VS (6) și VB (8) ai driverului. Această tensiune este reprezentată în figura 4.26.
Figura 4.26. Tensiunea de pe condensator fără sarcină
Tensiunea pe condensator fără ca sarcina să fie conectată este de 15 V.
Am conectat motorul la pinii M1, M2 și M3. Am alimentat înfășurările motorului între pinii DC+ și GND cu o tensiune de +13 V.
În figura 4.27 avem tensiunea de pe șunt și tensiunea de pe prima înfășurare a motorului.
Figura 4.27 Tensiunea de pe șunt (x11) și tensiunea de pe prima înfășurare a motorului
Analizănd figura 4.27 pot spune că tesiunea de pe șunt cand tranzistoarele conduc este de aproximativ 32 mV, șuntul având valoarea de 0,1Ω. Aplicând legea lui Ohm, curentul care trece prin șunt, respectiv prin bobinele motorului, este de 320 mA.
Pe canalul al doilea al osciloscopului avem tensiunea pe prima înfășurare a motorului. În momentul în care conduce tranzistorul de jos a primului braț al punții H, tensiunea pe înfășurare este de 0 V, când tranzistorul se blochează tensiunea prin înfășurare crește la 13 V și după 100 µs tensiunea este 6 V care reprezintă tensiunea electromotoare prin înfășurare.
În figurile 4.28 și 4.29 sunt reprezentate tensiunile de pe cele trei înfășurări ale motorului. Semnalul de referință este luat de la punctul M1.
Figura 4.28. Tensiunile de pe primele doua înfășurări ale motorului
Pe canalul 1 al osciloscopului avem tensiunea de pe prima înfășurare a motorului (M1). Cât timp conduce tranzistorul de sus al primului braț din puntea H, tensiunea pe motor este de aproximativ 12 V. Când tranzistorul se blochează tensiunea are o scădere bruscă în -1 V, dupa care crește la 6 V. Această tensiune de 6 V este tensiunea electromotoare prin bobina respectivă. Scăderea tensiunii de la 6 V la 4 V are loc atunci cănd toate tranzistoarele sunt blocate.
Pe canalul 2 al osciloscopului este reprezentată tensiunea de pe a doua înfășurare a motorului. Tensiunea de această înfășurare este la fel ca tensiunea de pe prima înfășurare, numai că pe motor este aplicată tensiunea de 12 V în momentul în care conduce tranzistorul de sus a celui de-al doilea braț al punții H.
Figura 4.29. Tensiunile de pe prima și a treia înfășurare a motorului
În figura 4.29 are loc același fenomen ca în figura 4.28 doar că la alte momente de timp, respectiv atunci când conduc tranzistoarele brațului respectiv.
În figura 4.30 este evidențiată tensiunea pe condensatorul care alimentează driverul în momentul în care tranzistorul de sus este deschis atunci când avem conectat motorul la ieșire.
Figura 4.30. Tensiunea pe condensatorul care alimentează driverul
Tensiunea pe condensator este una netedă, fără oscilații și are valoarea de 16 V.
În figura 4.31 este evidențiată tensiunea de alimentare a motorul și iesirea PWM0 a microcontrolerului.
Figura 4.31. Tensiunea de la sursa motorului și ieșirea PWM0
Atunci când tranzistorul intră în conducție tensiunea de la sursă are o oscilație de 7 V care durează mai puțin de 5 µs. Oscilația este exidențiată în figura 4.32.
Figura 4.32 Tensiunea pe sursa motorului când intra în conducție tranzistorul
După terminarea oscilației tensiunea pe sursă scade cu aproximativ 2 V în 120 µs. Această scădere este accentuată în figura 4.33.
Figura 4.33. Tensiunea pe sursa motorului
Când tranzistorul iese din conducție tensiunea pe sursă are din nou un salt de până la 82 V dupa cum se poate observa în figura 4.34.
Figura 4.34. Tensiunea la sursa motorului cand tranzistorul este blocat
Acea tensiune de 82 V durează aproximativ 300 ns, iar fenomenul apare datorită energiei înmagazinate de bobinele motorului și care se descarcă prin diodele aflate între drenele și sursele tranzistoarelor către sursă. Fenomenul oscilant durează aproximativ 4 ms.
Concluzii
Bibliografie
http://ww1.microchip.com/downloads/en/AppNotes/00900a.pdf……………………………………………………………………………………………………….06.02.2016
http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en012037……………………………………………………………………………….08.02.2016
http://makeatronics.blogspot.ro/2014/05/bldc-motor-control.html……………………………………………………………………………19.02.2016
http://www.microchip.com/design-centers/motor-control-and-drive/motor-types/bldc………………………………………………………….15.03.2016
https://coolcapengineer.wordpress.com/2013/05/27/implementing-pwm-on-pic18f-microcontroller/……………………………………………….27.03.2016
http://microchip.wikidot.com/8bit:10bitpwm…………………..04.05.2016
http://www.etc.ugal.ro/lfrangu/cursSA-4-comanda-dispozitivelor.pdf…………………………………………………………………….09.05.2016
http://www.euedia.tuiasi.ro/lab_ep/ep_files/Lucrarea_5_img.pdf………………………………………………………………………………………………….14.05.2016
http://www.euedia.tuiasi.ro/lab_ep/ep_files/Lucrarea_6_img.pdf…………………………………………………………………………………………………..14.05.2016
http://www.euedia.tuiasi.ro/lab_ep/ep_files/Lucrarea_26.pdf…………………………………………………………………………………………………………..14.05.2016
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: Convertor Pentru Actionare cu Bldc (ID: 112922)
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.
