Smart Driver Pentru Alimentarea Si Controlul Motoarelor Brushless
Smart-driver pentru alimentarea și controlul motoarelor brushless
Cuprins
1. Introducere
2. Motoarele BLDC, alimentare și comandă
2.1. Construcția și funcționarea motoarelor BLDC
2.2. Comanda motoarelor brushless
2.3. Tehnici folosite in controlul mișcării motoarelor brushless
2.3.1. Comutare de tip block sau trapezoidală
2.3.2. Comutare de tip sinus
2.4. Microcontrolerul
2.5. Descriere hardware
2.5.1. Microprocesorul (CPU)
2.5.2. Tipuri de memorii
2.6. Protocoale de comunicare
2.6.1. Comunicare CAN
2.6.2. Comunicare SPI
2.7. Concluzii
3. Proiectarea unui smart-driver pentru controlul BLDC
3.1. Configurația hardware
3.1.1. Conectorul
3.1.2. Blocul de filtrare și protecția la conectarea inversă a bateriei
3.1.3. Sistemul cu microcontroler dsPIC33EP256MU806
3.1.4. Tensiunile de alimentare ale sistemului
3.1.5. Protocolul CAN
3.1.6. Protocolul SPI
3.1.7. Implementarea predriverului DRV8301
3.1.8. Blocul de filtrare
3.1.9. Măsurarea tensiunilor de alimentare ale sistemului
3.1.10. Watchdog
3.1.11. Tehnologia de elaborare
3.2. Programarea microcontrolerului
3.2.1. Arhitectura software a driverului
3.2.2. Arhitectura software a clientului
3.3. Interfața client pentru monitorizare și control
4. Aplicații și experimente
5. Concluzii și contribuții
Bibliografia
Introducere
Energia electrică schimbă constant lumea în care trăim, iar producerea acesteia este esențială în era modernă pentru o dezvoltare continuă. Pentru aceasta s-au inventat sisteme care transformă energia mecanică în energie electrică stocată în acumulatori, pentru utilizarea ei ulterioară. Procesul invers de transformare a energiei electrice în energie mecanică se realizează cu ajutorul motoarelor electrice.
Conceptul de transformare a energiei electrice în energie mecanică a apărut în anul 1820 când primul motor electric a fost testat cu succes. Înaintea apariției motoarelor brushless au fost folosite motoare de curent continuu, inventate de către Ernst Werner von Siemens, un inginer de origine germană. Motorul inventat de von Siemens a fost unul rudimentar, iar abia în secolul al 19-lea un inginer de origine americană numit Harry Ward Leonard a perfecționat motorul și controlul acestuia. Sistemul de comandă a schimbat modul în care se controlau motoarelele de curent continuu din aceea perioadă și presupunea utilizarea unui reostat pentru ajustarea curentului într-un motor de curent alternativ care era conectat la un generator de curent continuu. Armătura generatorului a fost conectată direct la înfășurarea motorului DC și în acest fel variația curentului în motorul de curent alternativ însemna o variație a ieșirii generatorului și rezultând modificarea turației motorului de curent continuu.
Motoarele electrice sunt parte din lumea modernă începând de la industrie până la electrocasnice și au la baza construcției lor proprietăți magnetice și electrice ale materialelor din care sunt fabricate.
În ziua de astăzi există peste 15 tipuri de motoare electrice de curent continuu sau curent alternativ care au ca scop convertirea energiei electrice în energie mecanică sau vice versa.
Motoarele brushless (BLDC) sunt o parte foarte importantă din industria modernă. Deși motorul brushless este un motor sincron de curent alternativ datorită formei alternative a curentului ce străbate fiecare din înfășurări, acest tip de motor poate fi privit ca un motor de curent continuu la care magneții permanenți sunt în rotor și înfășurările în rotor. Ca rezultat al acestui tip de construcție scânteile provocate de periile din motoarele de curent continuu sunt eliminate iar comutația se face în câmp electromagnetic.
Comanda motorului brushless se face în curent continuu de către o sursă de curent continuu care aplică bobinelor din stator o secvența predeterminată de impulsuri printr-un proces ce poartă numele de comutație. Poziția rotorului este dată de înfășurarea care este alimentată, iar finețea comutării este dată de sincronizarea cât mai bună dintre vectorul de poziție a fluxului din stator și vectorul de poziție a fluxului din rotor. Pentru a obține o comutație corectă este necesară cunoașterea poziției în care se află rotorul și prin urmare se folosesc mai multe tehnici, dintre care cea mai populară este tehnica de monitorizare a rotorului cu ajutorul a trei senzori hall, poziționați la 120° unul de celălalt.
Motoarele brushless sunt mai silențioase decât motoarele de curent continuu, sunt mai ușor de întreținut, mai ieftin de fabricat și au randament ridicat din punct de vedere al eficienței, iar dezvoltarea continuă a materialelor împins randamentul până la 96%. De asemenea acest tip de motoare ating viteze foarte mari, ajungând până la 400.000 RPM, fiind declarate cel mai rapide motoare construite. Parametrii ce măsoară performanța unui motor sunt constantele motorului Kv și Km.
Cea mai comună tipologie de construcție a motoarelor brushless utilizează un stator format din trei înfășurări. Pentru controlul acestora se folosește un invertor format din 6 tranzistori de tip MOSFET, iar modalitatea de comandă diferă în funcție de mediul și performanțele sistemului de control: comanda sinusoidală sau comanda PWM, cu senzori hall sau fără senzori. Prin utilizarea unor semnale PWM, complementare provenite de la driver, se comandă anumiți tranzistori din semipunți, se energizează înfășurările într-o anumită ordine și cu o anumită frecvență rezultând mișcarea rotorului intru-un anumit sens. Cea mai utilizată metodă de comandă este comutarea bloc (block commutation), datorită ușurinței de implementare al algoritmilor în software a semnalelor primite de la senzorii hall
Prin prezenta lucrare mi-am propus următoarele obiective:
Realizarea unui studiu asupra motoarelor brushless (BLDC);
Implementarea unei aplicații prin proiectarea unui smart-driver, diagnoză și monitorizarea parametrilor importanți din sistem.
Motoarele BLDC, alimentare și comandă
Construcția și funcționarea motoarelor BLDC
Tipic motoarele BLDC sunt construite cu 2, 4, 6 sau 8 înfășurări în stator, însă există motoare și cu un număr mai mare de înfășurări. Numărul de poli determină numărul de cicluri electrice necesare pentru o revoluție completă. Spre exemplu un motor cu 2 poli are nevoie de un singur ciclu pentru o revoluție, un motor cu 4 poli are nevoie de 2 ciclii și așa mai departe.
Din punct de vedere al construcției mecanice, acestea se împart în două categorii:
Cu rotorul în exteriorul statorului (outrunner)
Avantajele acestui tip de motor (Figura 2-1) constau în obținerea ușoară a unui cuplu mare și viteză constantă datorită mărimii rotorului.
Dezavantajele constau în faptul rotorul este de dimensiuni mai mari, astfel viteza motorului este considerabil mai mică. De asemenea având în vedere că partea care se rotește este în exterior, sunt necesare măsuri de siguranță în plus față de motorul cu rotor în interior.
Figura 2-1. Motor burshless cu rotorul in exterior
Cu rotorul în interiorul statorului (inrunner)
Avantajele acestui tip de motor (Figura 2-2) constau în viteză de reacție la schimbările de turație datorită rotorului de mici dimensiuni; datorită amplasării în exterior a statorului, căldura disipată de înfășurări în urma trecerii energiei electrice se disipă mai rapid, astfel temperatura de funcționare a motorului este mai mică rezultând astfel creșterea duratei de viață.
Ca și dezavantaje ale acestui tip de motoare se numără dificultatea de a obține un cuplu mare iar datorită vitezelor mari la nivelul rotorului, magneții poți fi distruși de forța centrifugală.
Figura 2-2. Motor burshless cu rotorul in interior
Motoarele BLDC se diferențiază în construcția lor prin următoarele părți principale:
Rotorul – este partea magnetică a motorului, prinsă de ax, care se rotește în urma comutațiilor curenților din stator;
Statorul – este alcătuit din cele trei înfășurări magnetice și din carcasa motorului; cele trei faze ale statorului cu ajutorul celor trei semipunți, parte a circuitului electronic de comandă;
Senzorii de feedback – sunt senzorii Hall, poziționați înăuntrul motorului la 120° unul de celălalt și au ca rol trimiterea unor semnale de feedback către microcontroler pentru stabilirea poziției și vitezei rotorului. Pentru trimiterea informației sunt necesare cinci conexiuni electrice: două pentru alimentare și încă trei pentru semnalele de ieșire date de la senzori;
Rulmentul – este compus din două inele, unul interior, iar celălalt exterior, care împreună formează calea de rulare care are rolul de susținere a corpurilor de rotație și de asemenea are rol de etanșare.
Un alt criteriu de clasificare al motoarelor brushless este dat de modul în care sunt conectate înfășurările din stator. Acestea conexiuni sunt simetrice și pot fi stea sau triunghi. Conexiunea internă nu afectează modul de comandă a motorului, însă există avantaje și dezavantaje în funcție de domeniul de utilizare a motorului.
Conexiunea stea sau „Y”
Înfășurarea în stea (Figura 2-3) conectează toate înfășurările într-un punct comun, în paralel, iar energia este aplicată la capătul fiecărei înfășurări. Un motor cu conexiune internă stea este capabil să ofere cuplu mare la viteze mici însă la acesta nu poate atinge viteze la fel de mari ca și motoarele cu înfășurare delta. Din punct de vedere al eficienței acest tip de conexiune este mai eficientă deoarece construcția sub formă de stea nu permite curenților parazitici să circule într-o buclă închisă, prevenind astfel pierderile cauzate de acest fenomen.
Figura 2-3. Conexiune stea
Conexiunea triunghi sau „Δ”
Înfășurarea delta (Figura 2-4) conectează cele trei înfășurări împreună sub forma unui circuit în triunghi, în serie, iar energia este aplicată la capătul fiecărei înfășurări în parte. Un motor cu conexiune internă delta este capabil să funcționeze la viteze superioare, însă la viteze mici cuplul dezvoltat de acesta este mic.
Figura 2-4. Conexiune triunghi (delta)
Având în vedere că motorul BLDC necesită o anumită secvență de comutare, acesta nu poate fi alimentat direct dintr-o sursă de curent continuu sau o baterie. Comutația se realizează cu sau fără feedback de la motor, dar convențional informația este oferită de către senzorii hall. Acest tip de motor nu poate funcționa de unul singur și este necesară în fiecare caz de combinația dintre motor și electronicele de comandă. Circuitele de comandă reglează viteza și poziția motorului pentru a avea un control fin asupra motorului. Prin comanda corectă a celor trei faze cu curenți sinusoidali pe fiecare înfășurare din stator, amplitudinea și poziția vectorului de curent din stator poate fi controlată cu precizie.
Principiul de funcționare este după cum urmează: semnalele digitale provenite de la senzorii hall reflectă poziția rotorului; în urma interpretării acestor semanle de către circuitul electronic de comanda se realizează comutarea energiei electrice de pe o armătură pe alta cu ajutorul inversorului realizat cu tranzistori de tip N-MOS iar rezultatul acestei comutații este mișcarea rotorului. O dată cu aceasta senzorii de poziție trimit constant semnale către circuitul de comanda rezultând astfel rotirea continuă.
În absența contactului fizic dintre stator și rotor durata de viață a motorului crește iar costurile de întreținere sunt reduse. Vitezele care sunt atinse sunt mai mari decât vitezele motoarelor de curent continuu și datorită acestor avantaje motor brushless este tot mai popular și folosit pentru pompe, ventilatoare, aparate industriale, etc.
Comanda motoarelor brushless
Pentru a face rotorul să se învârtă, trebuie să existe un câmp electric în jurul acestuia. Acest câmp este creat la trecerea curentului electric prin armăturile din stator. Motoarele tipice brushless au trei înfășurări, din care două sunt parcurse simultan de curent pentru a se creea un câmp electric rotativ. Pentru a obține o mișcare cursivă, trebuie cunoscută poziția rotorului față de stator, ncționare este după cum urmează: semnalele digitale provenite de la senzorii hall reflectă poziția rotorului; în urma interpretării acestor semanle de către circuitul electronic de comanda se realizează comutarea energiei electrice de pe o armătură pe alta cu ajutorul inversorului realizat cu tranzistori de tip N-MOS iar rezultatul acestei comutații este mișcarea rotorului. O dată cu aceasta senzorii de poziție trimit constant semnale către circuitul de comanda rezultând astfel rotirea continuă.
În absența contactului fizic dintre stator și rotor durata de viață a motorului crește iar costurile de întreținere sunt reduse. Vitezele care sunt atinse sunt mai mari decât vitezele motoarelor de curent continuu și datorită acestor avantaje motor brushless este tot mai popular și folosit pentru pompe, ventilatoare, aparate industriale, etc.
Comanda motoarelor brushless
Pentru a face rotorul să se învârtă, trebuie să existe un câmp electric în jurul acestuia. Acest câmp este creat la trecerea curentului electric prin armăturile din stator. Motoarele tipice brushless au trei înfășurări, din care două sunt parcurse simultan de curent pentru a se creea un câmp electric rotativ. Pentru a obține o mișcare cursivă, trebuie cunoscută poziția rotorului față de stator, poziție dată de senzorii magnetici Hall. Aceasta este cea mai ușoară metodă de control a motoarelor brushless.
Schema de control a motorului este prezentată în Figura 2-1 și se compune din următoarele elemente:
Sursa de tensiune (acumulator) – rolul acesteia este de a furniza energia necesară driverului pentru alimentarea motorului;
Driverul – este unitatea de control răspunzătoare de comunicarea dintre PC și microcontroler, citirea senzorilor și comanda PWM a semipunților;
Motorul – este elementul de exectutie a comenzilor date de driver.
Figura 2-5. Schema de comanda a motorului brushless
Semnalul PWM (Pulse Width Modulation) este procesul de obținere a unui semnal digital cu un anumit factor de umplere numit și duty cycle (Figura 2-6). Acest tip de semnal poate fi folosit atât obținerea unei tensiuni variabile, cât și pentru a comanda motoare sau LED-uri la care se pot varia parametrii ca viteză sau intensitatea luminoasă.
Parametrii ce caracterizează un semnal PWM sunt următorii:
Perioada – este timpul parcurs între două fronturi crescătoare măsurată în secunde;
Frecventa – este numărul de ciclii a semnalului într-o secundă; frecvența este inversul perioadei și se măsoară în Hz;
Duty Cycle – este definit ca fiind perioada de timp în care pulsul stă în „1” logic
Figura 2-6. Semnalul PWM
În general, semnalul PWM este generat de către microcontrolere. Pentru controlul motoarelor, gama de frecvențe folosite este între 20 kHz și 30kHz. Urechea umană poate percepe sunetele rezultate în urma comutației, dacă aceasta se realizează sub 20kHz.
Eficiența maximă în controlul motoarelor se obține atunci când comutația se produce destul de rapid astfel încât curentul din înfășurări să nu ajungă la valori apropiate de 0 pe perioadă în care PWM-ul este în „0” logic.
Tehnici folosite in controlul mișcării motoarelor brushless
Comutarea unui motor brushless poate fi făcută folosind atât metodă de comutare trapezoidală, cu ajutorul senzorilor hall din interiorul motorului sau fără senzori, dar și prin metoda sinsoidala. Cele mai comune tehnici folosite sunt metoda cu senzori unde comutația este una de precizie iar astfel motorul poate atinge o gamă largă de viteze generând în accelasi timp cuplu mare și un bun control al accelerației; metoda fără senzori are avantajul fiabilității în timp, creșterea acesteia se datorează eliminării riscului de a se defecta senzorii.
Viteza motorului este direct proporțională cu tensiunea aplicată. Prin modificarea factorului de umplere al PWM-ului se modifică perioada în care fiecare înfășurare este parcursă de curent. Frecvența de comutație a motoarelor variază între 8 kHz și 25kHz, în funcție de specificațiile motorului.
Comutare de tip block sau trapezoidală
Varianta fără senzori hall
Datorită lipsei senzorilor hall dintr-un motor brushless, metodă de control fără senzori (senzorless) este soluția cea mai ieftină de a implementa comutația necesară mișcării rotorului. Această metodă prezintă un dezavantaj față de metoda clasică cu senzori și anume faptul că la pornire nu se cunoaște poziția rotorului și direcția în care se face comutația.
Aplicațiile în care este necesară o comutare dinamică nu sunt recomandate pentru acest tip de comutație deoarece la viteze mici motorul se dovedește a fi instabil iar accelerarea și decelerarea sunt făcute într-un timp mai lung.
Comutația fără senzori (Figura 2-8) se bazează pe alimentarea simulana a două înfășurări și citirea tensiunii induse în înfășurarea care nu este parcursă de curent. Atunci când tensinea de pe infasuare este egală cu 0, rotorul a parcurs 30° de la ultimul pas. Astfel se cunoaște exact momentul de timp în care rotorul s-a rotit la următorul pas.
Implementarea software a acestei metode este mai dificilă și presupune utilizarea unui timer care numără timpul scurs între două citiri ale tensiunii induse egale cu 0 și astfel rezultă momentul de timp când următoarea înfășurare trebuie alimentată. Dezavantajul acestei metode este când motorul este în blocaj sau viteza este prea mică și tensiunea indusă în cea de a treia înfășurarea să tindă spre 0.
Figura 2-8. Comutarea fără senzori
Varianta cu senzori hall
Senzorii cu efect hall (Figura 2-9) detectează poziția unghiulară a polilor magnetici de pe rotor; având în vedere că senzorii sunt poziționați la 120° diferență, generează un număr de șase semnale de ieșire pentru o revoluție completă a rotorului. Fiecare senzor produce un „1” logic atunci când polul Nord al magnetului trece pe deasupra lui și un semnal de „0” logic atunci când polul Sud trece pe deasupra lui. Nivelul de „1” logic este egal ca valoare cu 5V sau 3,3V în funcție de producătorul motorului iar nivelul de „0” logic este efal cu 0V. Aceste valori sunt obținute cu ajutorul unui trigger Schmitt cu histereza, conectat la ieșirea amplificatorului. Atunci când fluxul magnetic prin senzorul hall trece de o limită pre-stabilita, la ieșire se producerea din starea de OFF în starea de ON.
Ieșirile senzorilor se pot cabla direct pe pinii de GPIO a microcontrolerului. Sistemul de control interpretează semnalele și în funcție de un tabel cu combintiile posibile ale senorilor memorat în microcontroler și decide care faza trebuie energizata pentru a învârtii rotorul în sensul acelor de ceasornic sau invers acelor de ceasornic.
Viteza de rotație a motorului poate fi determinată cu ecuația:
În Tabel I si Tabel II sunt prezentate toate combinațiile posibile ale ieșirilor senzorilor hall și comutarea semipunțiilor.
Tabel I.
Rotație inversă acelor de ceasornic
Tabel II.
Rotație în sensul acelor de ceasornic
După cum se poate observa, există două combinații de semnale care nu sunt prezentate mai sus (1 1 1 și 0 0 0). Aceste combinații sunt folosite in cadrul diagnozei pentru a semnala un defect a senzorilor sau a liniei de alimentare. Astfel se poate face diagnoză și se pot lua măsuri de siguranță prin oprirea rotirii motorului.
Senzorii sunt reprezentați mai jos cu trei culori diferite roșu, verde și albastru iar combinațiile acestora sunt prezentate în tabel.
Figura 2-9. Comutarea cu senzori Hall
Avantajele folosirii senzorilor Hall sunt:
Pot opera până la 100kHz;
Nu au contact mecanic cu magnetul rezultând o durată de viață mare;
Temperatura de operare între -55°C și 150°C;
Nu produc bouncing la comutarea dintr-o stare în cealaltă;
Datorită capsulei senzorii pot opera în medii umede, cu praf, contaminate, etc.;
Au dimensiuni reduse.
Comutare de tip sinus
Datorită ajustării mai dese a curentului pe fază, se obține o comutație lină și de mare acuratețe. În mod obișnuit se folosesc aproximativ 2000 de impulsuri pe revoluție generând astfel un cuplu constant pentru aplicațiile care au nevoie de cuplu mare și precizie.
Figura 2-10. Comutare de tip sinus
Pentru a se realiza comutațiea sinus (Figura 2-10) este nevoie de o rezoluție foarte bună a poziției rotorului, rezoluție care nu poate fi dată de senzorii Hall. În consecință această metodă folosește un encoder digital cu rezoluție mare pentru feedback.
Randamentul comutației de tip sinus este mai mare și pierderile din miezul feromagnetic sunt mai mici.
Microcontrolerul
Un microcontroler este un circuit electronic integrat care cuprinde o unitate centrală de procesare CPU și o memorie împreună cu perifericele care îi permit interacționarea cu mediul exterior.
Descriere hardware
Microcontrolerul este proiectat să lucreze cu minimul de componente discrete necesare iar din această cauză acestea au devenit din ce în ce mai populare, ajungând să fie prezente în orice domeniu: industrial, aerian, automotive, în electrocasnice și medicină.
Unul din criteriile de clasificare a microcontrolerelor este lățimea BUS-ului de date care în funcție de puterea de calcul poate fi pe 4, 8, 16, 32 sau 64 de biți.
Din punct de vedere structural (Figura 2-11) un microcontroler este alcătuit din: microprocesor, memorie locală (RAM, EPROM, FLASH), memorie de tip RAM, memorie de date nevolatilă EEPROM bus de date, periferice de intrare-iesire, oscilator intern si watchdog.
Figura 2-11. Structura internă a microcontrolerului
Tehnologiile de fabricație a microcontrolerelor s-a schimbat cu timpul, la ora actuală folsindu-se tehnologie CMOS. Această soluție a fost aleasă datorită densității mare de integrare a tranzistoarelor, reducerea consumului și implicit a puterii disipate.
Variantele de încapsulare (Figura 2-12) diferă și ele în funcție de nevoile consumatorului, astfel distingem două mari categorii: tehnologie SMD (SOIC, TQFP, QFN, BGA) sau varianta THT (DIP, DIL).
Figura 2-12. Capsula SMD si THT
Microprocesorul (CPU)
Microprocesorul este compus intern din unitatea aritmetică logic (ALU) și unitatea de control. ALU este partea responsabilă cu efectuarea operațiilor aritmetice și logice asupra variabilelor. Pentru utilizatorul microcontrolerului este importantă cunoașterea întregului set de operanzi deoarece în acest fel se poate optimiza aplicația și scădea timpul de procesarea a instrucțiunii.
Unitatea de control este responsabilă cu decodificarea codului operației din codul unei instrucțiuni. În urma decodificării unitatea de control trimite semnale către celalalte blocuri funcționale din microprocesor pentru a putea finaliza execuția unei instrucțiuni. Arhitectura unitaii centrale de procesare este un criteriu important în alegerea microcontrolerului. Cu cât resursele din microprocesor sunt mai ușor de accesat, cu atât viteza de procesare crește. Astfel, acestea au fost standardizate sub formă mai multor arhitecturi.
Arhitectura de tip „van Neumann”
Este arhitectura standard pentru microprocesoarele de uz general, iar microcontrolerele bazate pe acesta arhitectura sunt mai lente datorită faptului că există un singur bus de date care este folosit pe rând pentru preluarea și executarea instrucțiunilor și a datelor.
Arhitectura de tip „Harvard”
Memoria în cazul arhitecturii de tip Harvard este distribuită în spații de memorie separată pentru program și date. Astfel există și bus-uri de date separate pentru fiecare tip de memorie, astfel preluarea și executarea instrucțiunilor poate fi simultană, rezultând o scădere a timpului de execuție. Bazat pe acest tip de memorie s-au dezvoltat microprocesoarele de semnal (DSP).
Figura 2-13. Arhitectură Harvard si von Neumann
CISC (Complex Instruction Set Computer)
Această metodă de implementare a instrucțiunilor este specifică prin existența a unui set uzual de 80 de instrucțiuni. Astfel instrucțiunile sunt specializate pentru operarea cu anumite spații de adrese sau registre iar altele permit numai anumite moduri de adresare.
RISC (Reduced Instruction Set Computer)
Această metodă de realizare a CPU este folosită la microprocesoarele de semnal și este alcătuită ditr-un set redus de instrucțiuni care sunt executate rapid și eficient; datorită numărului mic de instrucțiuni, suprafața ocupată de CPU este mai mică și se pot implementa memorii mai mari în microcontroler.
Tipuri de memorii
Memoria RAM (Random access memory) – memorie volatilă care poate fi scrisă și citită; ocupă mult loc în chip și are cost ridicat;
Memoria ROM (Read only memory) – se folosește la stocarea programelor din fabrică; costurile sunt mici iar implementarea ei este simplă. Este o memorie de tip read only;
Memoria PROM (Programmable read only memory) – este similară memoriei ROM însă aceasta poate fi scrisă și ștearsă de către utilizator. Se împarte în: EPROM (Erasable PROM), EEPROM (Electrical erasable PROM);
Memoria Flash – asemănătoare cu memoria EPROM cu un număr de aproximativ 10.000 cicluri de programarea. Flash-ul este folosit doar ca memorie de program.
Protocoale de comunicare
Un protocol de comunicare este o descriere a regulilor și standardelor care stau la baza comunicării dintre dispozitive. Un protocol definește formatul, structura mesajului, sincronizarea, ordinea și importanța mesajelor, arbitrarea pe busul de date și de asemenea verificarea sesiunii de comunicare.
În momentul de față există numeroase protocoale de comunicare însă cele mai populare sunt: USB, I2C, SPI, CAN, UART, RS232, GPIB, LIN, etc.
Comunicare CAN
Pentru transmiterea informațiilor pe distanțe mari, este obligatoriu să se folosească circuite speciale, interfețe, ce realizează amplificarea semnalului astfel încât atenuarea semnalului să nu reducă prea mult raportul semnal zgomot. Amplificarea se realizează în tensiune sau în curent.
O dată cu dezovoltarea industriei automotive și a electronicii tot mai avansate pe care autoturismele o încorporează, comunicarea de tip punct la punct nu am mai fost eficientă datorită costurilor ridicate de implementare, complexității și greutății cablurilor în mașini.
Cu excepția acestor interfețe, devenite clasice, în ultimii ani a apărut un protocol pentru interfețe ce operează în medii cu perturbații electrice puternice, asigurând o protecție mare împotriva erorilor, cu o arhitectură deschisă, un mediu de transmisie cu proprietăți definite de utilizator, adică interfața CAN (Controller Area Network). CAN este un sistem de magistrală serială destinată controlului distribuit, destinată inițial utilizării pentru automobile.
CAN-ul este un protocol de tip multi-master cu o rată de transfer de maxim 1 Mbps. Datorită succesului pe care acest protocol l-a avut atât în industria automotive cât și în alte industii, în anul 1993 acesta a fost adoptat ca și standard internațional (ISO).
Îmbunătățirea comportamentului automobilelor a făcut necesar ca sistemele de control, inclusiv senzorii lor, să schimbe informații între ele. Schimbul de informații era rezolvat prin interconectarea punct la punct a acestor sistemelor.
Din punct de vedere fizic, protocolul CAN (Figura 2-14) conține un bus de date, format din două fire răsucite și câte un circuit integrat de emisie-recepție (CAN transceiver). Firele pe care se transmite informația sunt răsucite pentru a elimina eventualele perturbații electromagnetice.
Informațiile transmise pe magistrala CAN sunt grupate în mesaje care conțin unul sau mai mulți parametrii. Un calculator poate transmite mai multe mesaje și în același timp poate recepționa unul sau mai mulți parametrii. Parametrii transmiși sunt notați cu Tx (transmitted) iar cei primiți cu Rx (received).
Figura 2-14. Rețea CAN bus
Exista doua tipuri de retele CAN, in functie de viteza de transfer a datelor:
CAN HS (High Speed) – comunicare de viteza mare (500 kbps – 1Mbps);
CAN LS (Low Speed) – comunicare de viteza mica (<125 kbps).
Circuitele integrate de emisie-recepție combină funcția de primire a mesajelor cu cea de trimitere, în aceeași componentă. CAN transceiver-ul este alimentat la o tensiune de 3.3V și 5V și are rolul de a face conversia tensiunilor electrice, de pe magistrală, în semnale digitale și invers.
Lungimea maximă a cablurilor poate să fie de 250m pentru comunicarea de mare viteză și 50 metrii pentru comunicarea de viteză mică. Numărul de noduri este de maxim 50 iar magistrala are în capete rezistențe de adaptare de 120Ω cu rolul de adaptare de impedanță și eliminarea reflexiilor cauzate de viteză de transfer.
Tensiunile de pe pinii de CAN_H și CAN_L sunt diferite, astfel pentru linia de CAN_H nivelul este între 2.5V și 3.5V iar pe linia de CAN_L nivelul este între 1.5V și 2.5V. Traducerea acestor valori de tensiune în semnal digital se face prin diferența celor două tensiuni. Când tensiunea pe cele două fire este de 2.5 V diferența este de 0 V, când cele două tensiuni au 3.5 și 1.5 V, diferența este de 2 V. Semnalul de tensiune cu valori între -1V și 0.5V este văzut ca „0” logic iar semnalul cu valori între 0.9V și 5V este interpretat ca „1” logic.
În protocolul CAN, nodurile de pe magistrală nu au o adresă specifică fiecăreia, informațiile referitoare la adresă fiind conținute în câmpul de ID al mesajului transmis.
Semnificația câmpurilor, biților și a altor termeni din figură este următoarea:
Start cadru – marchează începutul unui cadru de date sau cerere de date. Este folosit de toate nodurile pentru sincronizare.
Câmpul de arbitrare – constă în identificator și bitul RTR (este dominant pentru cadrele de date, respectiv recesiv pentru cadrele cerere de date). Pentru a fi păstrată compatibilitatea cu standardul CAN standard, standardul CAN extins 29 biți are identificatorul împărțit în două: identificator de bază și identificator extins între care se inserează biții SRR.
Câmpul de control – este format din 6 biți
Câmpul CRC – conține o secvență CRC și un delimitator. Secvența CRC este determinată pentru secvența de biți începând cu bitul de start. Delimitatorul constă într-un bit recesiv.
Câmpul de confirmare – este format din 2 biți: ACK SLOT și un delimitator.
Cadrele de date sau cerere de date – sunt terminate cu un câmp sfârșit cadru care conține 7 biți recesivi.
Indicatorul eroare – poate fi de două tipuri: activ sau. Indicatorul de eroare activ contrazice regula de adăugare a biților (maxim 6 biți consecutivi de același fel). Nodul pasiv așteaptă 6 biți consecutivi de aceeași polaritate începând cu startul indicatorului de eroare.
Figura 2-15 Cadru de date CAN-bus
Interfața CAN este larg folosită pentru automatizări industriale și automobile. Alte utilizări ale CAN sunt tehnică medicală, echipamente electronice pentru trenuri, sisteme de control securitate, automatizări casnice, mediu , pentru clădiri etc.
Comunicare SPI
Comunicarea serială sincronă este folosită pentru schimbul de date dintre microcontroler și perifericele de pe același PCB.
Aceast tip de comunicare necesită trei conexiuni: transmisie, recepție și semnalul de clock. Protocolul dintre emițător și receptor include o perioadă de sincronizare la inițierea transferului Sincronizarea se face la începutul transferului unui bloc de date și permite atingerea unor rate de transfer de până la 1Mbps.
Pentru a putea fi inițializată comunicarea, este necesară prezența unui dispozitiv master (de regula microcontrolerul) și unul sau mai multe dispozitive slave. Transferul de date poate fi inițiat doar de master.
Pinii asociați unei conexiuni seriale sincrone sunt următorii:
MISO (Master In Slave Out MISO) este configurat ca intrare într-un master și ieșire dintr-un slave. MISO este conexiunea prin care se transmit date într-un sens (de la slave la master);
MOSI (Master Out Slave In) –este configurat ca ieșire dintr-un master și intrare într-un slave. MOSI este cea de-a două conexiune prin care se transmit date în celălalt sens (de la master la slave);
SCK (Serial Clock) – este ieșire la un master și intrare la un slave. Prin această conexiune se transmite semnalul de sincronizare pentru transferul datelor pe liniile MISO și MOSI. Pe durata a opt perioade ale SCK se transferă între master și slave un byte de informație.
SSEL (Slave Select) – SSEL se aplică semnalul care selectează un dispozitiv slave; pentru un dispozitiv slave, semnalul trebuie să fie activ (low) pe toată durata unei tranzacții în care este implicat. Atunci când pinul de SSEL trece în „0” logic, slaveul ia în considerare semnalul de clock și datele ce sunt puse pe linia de MOSI.
Pachetul de date transmis este în mod normal pe 8- bits însă există și posibilitatea de transmisie pe 12-bits și 16-bit pentru dispozitivele de tip touchscreen, multimedia interface care necesită o rată mare de transfer de date.
In functie de numarul de dispozitive de pe un PCB care comunica pe SPI, s-au dezvoltat diverse metode de implementare, atat in software cat si in hardware.
Conexiune independentă a slaveurilor
Acest tip de conexiune (Figura 2-16) folosește un semnal de clock și o ieșire MOSI pentru comanda tuturor slaveurilor iar pentru selectarea fiecărui slave în parte se folosete un pin separat pe microcontroler.
Figura 2-16 Configurație independentă SSEL
Arhitectura este utilă în cazul în care există puține dispozitive slave pe PCB. Într-un sistem cu multe dispozitive slave, microcontrolerul trebuie să aibă disponibili un număr egal cu numărul acestora. Acest tip de arhitectură îngreunează rutarea pe placă traseelor.
Conexiune dasy chain
Arhitectura dasy chain (Figura 2-17) este o metodă mai ușor de implementat și folosită în multe sisteme complexe. Această metodă presupune transmiterea pachetelor de date de la ieșirea unui slave la intrarea altui slave. Întreaga configurație lucrează ca o shiftare de regiștrii, astfel la fiecare grup de semnale de clock slaveul trimite o copie a datelor primite de acesta la grupul de semnale de clock anterior.
O astfel de configurație necesită doar o linie pentru selectarea dispozitivelor slave.
Figura 2-17 Configurație de tip dasy chain
Concluzii
Chiar dacă prezența motoarelor brushless nu este întotdeauna vizibilă, acestea fac parte din viața modernă a omului prin varietatea de aplicații la care se pot folsite: în industrie, în domeniul automotive, în echipamentele destinate armatei dar și în robotică, aeromodelism, biciclete electrice.
Datorită caracteristicilor pe care aceste motoare le au sunt o soluție de lungă durată, de peste 10.000 de ore de funcționare, atunci când sunt folosite în condiții adecvate. Simplitatea construcției, randamentul crescut, vitezele pe care acestea le pot atinge dar și prețul care scade de la an la an le fac o soluție mai bună motoarelor de curent continuu.
Proiectarea unui smart-driver pentru controlul BLDC
Configurația hardware
Realizarea unui sistem pentru controlul unui motor brushless este un procedeu complex care presupune cunostiinte în materie de electronică, programare în limbaj C++ și mecanică.
Driverul creat conține din punct de vedere hardware mai multe blocuri ierarhice conectate între ele, care reprezintă o anumită funcționalitate a sistemului. În diagrama Figura 3-1 este reprezentată schema block a sistemului formată din: conector, bloc de alimentare, filtre și divizoare de tensiune, CAN, watchdog, microcontroler, driverul DRV8301 și cele trei semipunți cu măsurare de curenți pe două dintre ele.
Figura 3-1. Schema bloc a sistemului
Pentru a putea fi implementat un sistem este nevoie de parcurgerea mai multor pași: crearea schemei electrice, simularea filtrelor și a divizoarelor de tensiune, limitarea curenților pe pinii microcontrolerului, verificarea schemei, realizarea layoutului, generarea fișierelor de producție și a listei de componente.
Schema electrică și layoutul au fost realizate în ZUKEN, program CAD dezvoltat de compania japoneză Zuken Inc.
Placa (Figura 3-2) a fost realizată pe 4 straturi cu grosimea totală a plăcii de 1.6mm și grosimea stratului de cupru de 35µm. Semnalele au fost grupate pe layere dedicate pentru a îmbunătății emisiile din punct de vedere electromagnetic. Astfel pe primele două layere au fost rutate traseele de semnal digital (senzori hall, encoder), de comunicare (I2C, SPI, CAN) și alimentare; stratul al treilea a fost folosit ca plan de masă pentru separarea semnalelor agresive de cele analogice, iar pe ultimul strat au fost rutate semnalele analogice (măsurarea curenților de pe semipunți, măsurare de tensiuni și măsurarea temperaturii).
Lățimea traseelor diferă în funcție de curentul pe care acesta trebuie să îl poată conduce. Astfel traseele de semnal au fost rutate cu trasee mai subțiri (0.2mm) iar traseele de alimentare și traseele de pe semipunți au fost dimensionate astfel încât să poată suporta curenți de până la 20A. De asemenea pentru disiparea puterii de pe anumite componente (tranzistoare, regulatoare de tensiune, integrate) s-au folosit thermal-via și planuri via și planuri de cupru în jurul acestora.
Figura 3-2. Realizarea practică a driverului
Conectorul
Comunicarea sistemului cu mediul exterior se face prin intermediul unui conector (Figura 3-3) cu două camere (o cameră de 9 pini și cealaltă cameră de 14 pini) în care semnalele au fost împărțite în funcție de curenți și agresivitatea lor. Astfel alimentarea plăcii și fazele motoarelor au fost considerate semnale agresive și au fost repartizare pe pini de putere capabili să conducă curenți de până la 30A. Semnalele de comunicare și digitale de la senzorii hall sau encoder au fost de asemenea considerate semnale agresive.
Pinii nefolosiți au fost legați împreună la ground printr-un condensator de 22nF pentru a controla modul de închidere a curenților și a evita eventualele scurtcircuite care se pot produce în exterior.
Figura 3-3. Legătura alimentării și a semnalelor în conector
Blocul de filtrare și protecția la conectarea inversă a bateriei
Conectarea bornelor bateriei sau a sursei de tensiune la driver se face prin intermediul celor doi pini: BAT_P și BAT_M. Pentru filtrarea în frecvență a tensiunii de alimentare am folosit un filtru de tip daisy-chain cu condensatoare ceramice, de valori diferite.
Figura 3-4. Schemă filtru alimentare și protecție la alimentarea inversă
Filtrul (Figura 3-4) funcționează ca o cascadă de FTJ (filtru trece jos), fiecare din acestea având propria bandă de trecere. Funcționarea unui filtru este explicată mai jos.
În Figura 3-5 este prezentat modelul real al unui condesator. Acesta este format din capacitatea C, rezistența echivalentă serie ESR și inductanța serie echivalentă ESL.
Figura 3-5 Modelul real simplificat al unui condensator
Impedanța unui condensator este:
, unde
ESR = partea reală
= partea imaginară
Comportamenul în frecvență a condensatorului de 1µF este prezentat în Figura 3-6.
Figura 3-6. Comportamentul în frecvență a condensatorului de 1µF
Impedanța condensatorului (curba albastră) este formata din 3 componente:
Rezistenta echivalenta serie (curba verde) – constantă în frecvență;
Impedanța capacitivă (curba turcoaz) – descrescătoare cu frecvența ;
Impedanța inductivă (curba rosie) – crescătoare cu frecvența (.
Caracteristic acestui filtru este frecvența de rezonanță: frecvență la partea imaginară a impedanței este egală cu 0; la această frecvență impedanța condensatorului este minimă (ESR de ordinul mΩ). Înainte de frecvență de rezonanță, comportamentul condensatorului este de tip capacitiv (ponderea cea mai mare o are impedanța capacitivă) iar după frecvența de rezonanță comportamentul condensatorului devine inductiv (ponderea cea mai mare o are impedanță inductivă).
Filtrul de intrare de tip daisy-chain a fost simulat în MatLab pentru a determina comportamentul acestuia în frecvența. Rezultatul simulării este disponibil în Figura 3-7.
Figura 3-7. Simulare impedanță filtru daisy-chain
Comportamentul in frecventa a filtrului difera in functie de valoarea condensatoarelor, inductanta acestora si valoarea ESR-ului. Banda in care am simulat filtrul este intre 1kHz si 1GHz. Astfel caracteristica in frecventa a impedantei filtrului este prezentata in Tabel IV.
Frecventa de rezonanta este un parametru important a condensatoarelor la frecvente inalte si se calculeaza cu urmatoarea formula:
Tabel IV.
Proprietăți condensatoare MLCC SMD
Graficul simulării impedanței filtrului de pe alimentare este prezentat în (Figura 3-8).
Figura 3-8. Simulare impedanta filtru bottle-neck
În ceea ce privește așezarea condensatoarelor în layout acestea au fost plasate aproape de pinii de alimentare (Figura 3-9).
Figura 3-9. Layout si placement filtru bottle-neck
O altă măsură de siguranță luată a fost implementarea unei măsuri împotriva alimentării inverse a circuitului de la baterie sau sursa de tensiune. Folosirea unui trazistor de tip P-MOS este o soluție eficientă care permite trecerea de curenți mari. Astfel atunci când placa este alimentată corect la 12V, diferența de potențial dintre VG și VS este de -11 iar tranzistorul se deschide deoarece tensiunea de deschidere a acestuia VGS este de -4V.
Deoarece driverul este făcut să funcționeze într-o gamă largă de tensiuni, pentru protecția la tensiuni mări a tranzistorului am folosit o diodă zenner care limitează tensiunea VGS la 16V și o rezistență de 10kR pentru limitarea curentului prin diodă.
Figura 3-10. Simulare LT Spice – Protecție alimentare inversă (alimentare corectă)
Astfel dacă circuitul este alimentat invers, tranzistorul P-MOS nu se va deschide iar curentul electric nu poate trece, funcționând ca un comutator deschis.
Figura 3-11. Simulare LT Spice – Protecție alimentare inversă (alimentare inversă)
Sistemul cu microcontroler dsPIC33EP256MU806
Pentru realizarea sistemului, am ales ca soluție de implementare a microcontrolerului, un microcontroler fabricat de compania Microchip și anume un dsPIC33EP512MC806 (Figura 3-12).
Proprietățile principale ale acestui microcontroler sunt:
Arhitectura Harvard pe 16-bit;
Memorie flash de 280 Kbyte, 28 Kbyte RAM;
Tensiune de operare: 3,3V, curent consumat de 1mA/MHz;
7 generatoare de semnal PWM-uri, capabile să genereze câte două semnale PWM/generator, modul special pentru controlul motoarelor BLDC, DC;
Protocoale de comunicare suportate: SPI, I2C, USB 2.0, CAN;
DMA pentru SPI, I2C, USB 2.0, CAN;
Pini externi pentru întreruperi hardware.
Figura 3-12. dsPIC33EP256MU806
` Microcontrolerele din familia dsPIC33E fac parte din familia de controlere specializate pe prelucrarea de semnale digitale. Datorită acestor proprietăți, acestea sunt folosite la crearea de sisteme care să controleze motoarele BLDC, motoarele de curent alternativ și stepperele. Se pot implementa metode de control sensorless sau block commutation.
Tensiunea maximă pe pin variază în funcție de tipul acestuia. Pinii simbolizați mai jos cu culoare gri pot suporta tensiuni de până la 5V, astfel în funcție de configurația software a pinului acesta poate fi folosit ca pin analogic pentru măsurare de tensiuni sau ca pin digital pentru diferite protocoale de comunicare ce implică nivele de 5V (ex. USB 2.0).
Într-un sistem complex este nevoie de un număr cât mai mare de periferice iar folosirea pinilor dedicați acestor periferice nu este o soluție mulțumitoare. Din această cauză pinii notați cu RPn/RPIn pot fi remapati ca orice periferic însă există și anumite limitări, aceștia pot fi remapati doar către periferice digitale, incluzând comunicații seriale (UART și SPI), input și output compare și pini externi de întrerupere (Figura 3-13).
Pinii remapabili nu pot fi pini de PWM sau I2C, pentru aceste funcții exita pini dedicați.
Figura 3-13. Pini microcontroller dsPIC33EP256MU806
Programarea microcontrolerului se face cu ajutorul compilatorului MPLAB X și PICkit 3.
MPLAB este un compilator dezvoltate de firma Microchip Tehnology care permite utilizatorilor să scrie codul sursă, să editeze, să programeze și să facă debug pe controlerele Microchip.
PICkit 3 este un programator pentru familia de microcontrolere de la microchip. Cu ajutorul acestuia se poate programa și face debug pe microcontrolere și de asemenea poate fi programată și memoria EEPROM.
Pentru funcționarea corectă a microcontrolerului este nevoie de plasarea unor componente în jurul acestuia. Pe partea de alimentarea este necesară plasarea unor condensatoare ceramice de 100nF (Figura 3-14). Rolul acestora este de buffer de energie atunci. Suplimentar am plasat în paralel cu aceste condensatoare unele de capacitate mai mare, de 1uF.
Figura 3-14. Alimentare dsPIC
Datorită zgomotelor induse de microcontroler în planul de masă, acesta are ground separat, conectat la groundul general printr-un punct. Astfel se controlează modul de închidere a curenților din circuit.
Pentru setarea frecventei sistemului am folosit cu quartz cu frecventa de oscilatie de 20MHz (Figura 3-15). Pentru functionarea corecta a acestuia este necesara plasarea a doua condensatoare de 12pF in paralel si o rezistenta serie de 1kΩ.
Figura 3-15. Schemă aplicație quartz
Având în vedere frecvență mare de lucru a quartzului, pentru evitarea inducerii frecvențelor ridicate în circuit au fost necesare luarea unor măsuri în layout pentru minimizarea emișilor: traseele de legătură dintre pinii 39 și 40 a microcontrolerului cu quartzul au lungime minimă, s-a folosit o insulă de ground sub toată suprafața acestuia și conectarea acesteia într-un punct la planul de masă a microcontrolerului(Figura 3-16).
Figura 3-16. Conectarea quartzului la microcontroler
Modulul de reset (Figura 3-17)leagă toate sursele de reset la semnalul (semnalul de master reset). Sursele de reset pot fi:
power-on reset,
pinul extern de ,
instrucțiunea de reset,
watchdog timer, etc.
Figura 3-17. Diagrama block a resetului
Pinul de reset este un pin special, care nu poate fi multiplexat. Acesta necesită în jurul lui o structură formată din rezistențe și condensatoare (Figura 3-18) pentru a asigura funcționarea controlerului. Acesta trebuie să aibă o rezistență de pull-up externa către 3,3V și un filtru trece jos pentru a întârzia pornirea controlerului la alimentarea plăcii.
Figura 3-18. Schema electrică pin
Acest filtru este recomandat în foaia de catalgo de către producător și a fost simulat in LTspice Figura 3-19.
Figura 3-19. Simulare LT Spice – Alimentare initiala pin
Din graficul de mai sus se poate observa efectul filtrului pe pin, tensiunea fiind tinuta sub pragul de high (2.31V) timp de 1.4ms; peste pragul de 2.31V pinul de reset trece in high iar microcontrolerului incepe rularea programului. Aceasta intarziere este necesara pentru a astepta stabilizarea tensiunilor si incarcarea condensatoarelor de pe PCB.
Tensiunile de alimentare ale sistemului
Pentru funcționarea corectă a microcontrolerului și a integratelor de pe placă este necesară asigurarea unor tensiuni și curenți de alimentare care să se încadreze în parametrii de funcționare a acestora.
Reducerea tensiunii se poate face prin două metode:
Folosind un regulator liniar (randament scăzut, transformă energia în căldură);
Folosind o sursă în comutație (randament ridicat, aprox. 97%).
Având în vedere că tensiune de alimentare a driverului este cuprinsă între 6V și 60V, era necesară implementarea unei surse în comutație care să reducă tensiunea la 5V și mai apoi cu un regulator liniar la 3,3V. Astfel Folosind o sursă în comutație, pierderile de energie sunt minime, iar randamentul este de 95% la un curent de 1A.
Sursa în comutație responsabilă de trecerea de la tensiunea de alimentare la 5V este fabricată de Texas Instruments (TPS54160) cu tranzistor N-MOS integrat (Figura 3-21). Această sursă este integrată în driverul DRV8301. Tensiunea de 5V este necesară pentru linia externă de CAN, iar transcieverul responsabil de comunicarea necesită alimentare duală: 3,3V pentru comunicarea RX-TX cu microcontrolerul și 5V pentru CAN_L și CAN_H.
Alimentarea sursei se face prin intermediul pinului de PVDD1, pin separata fata de alimentarea predriverului de tranzistori MOSFET. Extern alimentarea necesita folosirea a doi condensatori cu rol de buffer de energie de 4.7uF si 100nF dar si un filtru format dintr-o rezistenta si un condesator in serie cu rolul de a atenua frecventele mari care pot aparea pe linia de alimentare.
Figura 3-21. Sursă comutație TPS54160
Frecvența de comutație este setabilă printr-un rezistor la masă pe pinul RT/CLK, între 100kHz și 2.5MHz. Pentru minimizaera dimensiunilor componentelor necesare sursei în comutație, frecvența de lucru aleasă este de 1MHz, iar formula de calcul este prezentată în datasheetul sursei:
Setarea tensiunii de ieșire (Figura 3-22) se face prin feedback pe ieșirea sursei, cu ajutorul divizor de tensiune pe pinul de VSNS. Ecuația pentru calculul tensiunii de ieșire este:
Valoarea cea mai apropiată în tabelul rezistențelor cu toleranță de 5% (E24) este de rezultând astfel o tensiune de ieșire de 4.8V care se încadrează în limitele de funcționare a dispozitivelor de pe PCB.
Figura 3-22. Setarea tensiunii de ieșire
Layoutul sursei a fost creeat astfel încât buclele care închid curenții să fie cât mai scurte, astfel emisile datorate frecvenței mari de comutație sunt reduse considerabil. În Figura 3-23 este prezentat layoutul sursei în comutație (diodă, bobină și condensatoare pe ieșirea sursei) și amplasarea componentelor pe PCB.
Figura 3-23. Layout și amplasarea componentelor sursei
Pentru funcționarea microcontrolerului și a transcieverului de CAN este necesară o tensiune de 3,3V obținută din tensiunea de 5V cu ajutorul unui regulator liniar LM3940 (Figura 3-24). Acesta este un LDO fabricat de Texas Instruments care are următoarele caracteristici:
suportă tensiuni de intrare între 4.5V și 5.5V;
cababil să furnizeze un curent de 1A;
protecție internă la temperatură și scurt circuit.
Figura 3-24. Circuit LM3940
Fiind un regulator liniar SMD (Figura 3-25) cu o cădere mică de tensiune, puterea disipată este mică iar singurele componente externe necesare fiind un condensator de 10µF pe tensiunea de intrare și unul de 10µF pe tensiunea de ieșire.
Figura 3-25 Regulator liniar LM3940
Puterea disipată de regulator este calculată cu ajutorul formulei:
În Figura 3-26 este prezentat graficul disipării maxime de putere în funcție de temperatura ambiantă. Se poate observa că la o temperatură ambientală de 25°C și o disipare de putere de 1.5W, capsula SOT-223 poate să disipe întreaga căldură pe o suprafață de răcire de cupru, cu aria de 6.5mm2, care are rolul de radiator.
Figura 3-26 Disipare maximă de putere vs.TAMB
Pentru alimentarea senzorilor Hall din motorul BLDC, am ales ca soluție de implementare un tracking regulator fabricat de Infineon Tehnologies (Figura 3-27). Acesta este un regulator liniar special, cu o tensiune maximă de intrare de 40V, proiectat să asigure tensiunea și curentul necesar senzorilor Hall.
Figure 3-27. Schema electrică TLE4252D
Regulatorul (Figura 3-28) are intern implementate funcții de protecție împotriva alimentării inverse, scurt circuitului la masă și la alimentare. Funcționarea acestuia se bazează pe urmărirea unei tensiuni de pe pinul ADJ, pin de referință pentru tensiunea dorită la ieșire. Curentul maxim este limitat intern la 250mA iar acuratețea de urmările a tensiunii de referință este de 0.2%.
Figura 3-28. Layout si plasare TLE4252D
Protocolul CAN
Comunicarea modulului cu exteriorul este posibilă prin intermediul protocolului de tip CAN. Pentru transmiterea informațiilor pe distanțe mari, este obligatoriu să se folosească circuite speciale, transceiver, ce realizează amplificarea și deplasarea de nivel a semnalului.
Din punct de vedere fizic, CAN-ul conține un bus de date, format din două fire răsucite, câte un circuit integrat de emisie-recepție (CAN transceiver) și adaptarea de linie. Firele pe care se transmite informația sunt răsucite pentru a elimina emisiile electromagnetice.
Transceiverul de CAN folosit este calificat pentru industria automotive și fabricat de Infineon Tehnologies. Acesta este optimizat pentru transmisia diferențială de date de mare viteză în cadrul aplicaților automotive și industriale. Există două versiuni ale acestui transceiver însă versiunea aleasă pentru modul este TLE6250GV33. Această versiune a fost aleasă datorită necesității de comunicare seriale pe 3,3V, între microcontroler și transceiverul de CAN.
Alimentarea este duală, cipul necesitând două tensiuni de alimentare: 5V necesari pentru linia externă de CAN și 3,3V pentru comunicarea RX-TX cu microcontrolerul.
Transceiverul este conceput pentru a funcționa cu minimul de componente, fiind nevoie doar de câte un condensator de 100nF pe alimentările acestuia. Schema de alimentare a acestuia este prezentată în (Figura 3-29)
Figura 3-29. Schema de aplicație TLE6250GV33
Filtrul de intrare (Figura 3-30) compus din condensatoarele C402, C403, C405,C406 si L400 reprezintă un filtru PI, utilizat de producătorii de autovehicule.
Figura 3-30 Filtru intrare CAN-bus și adaptare linie
Protecția la descărcări electrostatice (ESD) se realizează cu dioda TVS D400, compusă intern din 4 diode conectate două câte două în antiserie (Figura 3-32). Astfel la un puls ESD pozitiv, prima diodă se străpunge iar cea de a doua conduce; la un puls negativ, prima diodă conduce iar cea de a doua este străpunsă.
Figura 3-32. Transceiver CAN, filtru și adaptare de linie
Protocolul SPI
Implementarea hardware a SPI-ului se realizează prin cablarea directa a celor patru trasee de comunicare între microcontroler și driver.
Figura 3-33. Linii comunicare SPI
Datorită frecvenței mari de lucru între cele două dispozitive este necesară adaptarea de impedanța a liniei de comunicare. Aceasta este realizată prin plasarea, în serie, pe fiecare linie a unui rezistor de 100 recomandat de către producători (Figura 3-33). În cazul liniilor de SDO este necesară plasarea rezistorilor cât mai aproape de pinul de output a integratului.
Din punct vederea al implementării în layout (Figura 3-34) este necesară cablarea în paralel a traseelor, deasupra stratului de masă, pentru a reduce emisiile electromagnetice pe placă.
Figura 3-34. Layout SPI
Implementarea predriverului DRV8301
Controlul motorului este posibil prin comutarea semipunților într-o anumită ordine, în funcție de combinația de semnale ale senzorilor hall. Astfel, pentru aceasta am ales un integrat fabricat de Texas Instruments, DRV8301, un predriver specializat în controlul a trei semipunți cu tranzistoare N-MOS, pentru aplicațiile ce necesită controlul unui un motor cu trei faze.
Principalele caracteristici ale DRV8301 sunt:
Capabil să lucreze cu tensiuni între 6V și 60V;
Control cu 3 sau 6 PWM a semipunților;
Curent de source maxim în grile de 1.7A și curent de sink de 2.3A;
Măsurare de curenți pe semipunti;
Configurare regiștri interni și diagnoză pe SPI.
Acest integrat este capabil să controleze trei semipunți, cu două tranzistoare N-MOS fiecare. Pe lângă capabilitatea de a controla semipunțile se adăugă și funcții de diagnoză prin SPI, protecție termică, protecție la comutații greșite și supracurent. Prin intermediul SPI-ului se citesc regiștrii interni de diagnoză care pot raporta erori dar și seta modul de funcționare a integratului (Figura 3-35).
Integratul cuprinde și o sursă în comutație cu frecvența de comutație și tensiune de ieșire setabilă. Aceasta este capabilă să lucreze la tensiuni cuprinse între 3.5V – 60V și să ofere un curent de maxim 1.5A pentru alimentarea transceiverului de CAN, microcontrolerului și watchdogului.
Intern acesta include două canale de măsurarea a curentului, prin intermediul a două rezistoare de shunt, capabile să măsoare atât curenți pozitivi cât și curenți negativi prin setarea offsetului la valoarea de 3V.
Semipunțile sunt formate din câte doi tranzistoari de putere MOȘ cu canal N. Tranzistorii astfel aleși încât rezistența RDS(ON) și capacitatea CGS să fie cât mai mici.
Figura 3-35. Schema electrică simplificată DRV8301
Schema de aplicație (Figura 3-36) este recomandată de producător și implementată în funcție de cerințele sistemului.
Figura 3-36. Schema aplicație recomandată
Controlul motorului BLDC se face în două moduri, folosind simultan două din cele trei semipunți:
6 PWM control (control direct a fiecărui tranzistor);
3 PWM control (se controlează doar high side-ul tranzistorului, driverul controlând partea de low-side automat, în mod complementar).
Driverul DRV8301 are integrat protecție la supracurent, protecție termică și protecție la tensiuni de alimentare mici. Condițiile de eroare sunt semnalate prin intermediul pinilor nFAUL și nOCTW, dar și prin citirea regiștrilor interni de diagnoză prin SPI (Figura 3-38).
Figura 3-38. Pini diagnoza si SPI
Cele trei semipunți (Figura 3-39) sunt formate fiecare din câte doua tranzistoare de putere MOS cu canal N. Tranzistorii alesi sunt produsi de Infienon Tehnologies. Caracteristicile cele mai importante ale acestor tranzistori sunt:
Figura 3-39. Semipunți N-MOS comanda BLDC și shunt măsurare curent
Tranzistorii de comutație au fost grupați astfel încât puterea disipată să fie cedată carcasei de metal prin transferul termic dintre acestea. Traseele de curenți au fost dimensionate astfel încât să suporte curenți de 20A, cu vârfuri de 100A.
Puterea disipată pe tranzistoare este direct proporțională cu rezistența internă a tranzistorului și curentul care îl străbate. La calculul puterii disipate trebuie avut în vedere:
Frontul crescător al semnalului de comandă are un timp de 7.5ns cu cel al frontului descrescător de 10ns, astfel puterea disipată este:
Considerând un duty cycle (factor de umplere a PWM-ului) de 20%, adică 25µs și un curent mediu de 2A, puterea disipată când tranzistorul este saturat este:
Puterea totala disipata de tranzistor este :
Temperatura de lucru a tranzistorului în condițiile de mai sus este determinată de puterea disipată și rezistența termică jonctiune-capsula. Astfel, rezistența termică a tranzistorului este .
Măsurarea curentului se face prin intermediul a două rezistențe de shunt, plasate pe două din cele trei semipunți. Valoarea rezistențelor de shunt a fost aleasă astfel încât să poată fi măsurați curenții între 100mA și 7A. Puterea maximă disipată pe un singur shunt este de 1W.
Având în vedere frecvență mare de lucru a semipunților, energia rapidă necesară comutării fazelor este luată în prima fază din condensatorii din drena tranzistorilor apoi din filtrul LC de pe alimentare din Figura 3-41.
Figura 3-41. Filtru LC
Filtrul este format dintr-o bobină cu valoarea de 3.3µH și un condensator electrolitic de valoare 1.2mF. Rolul principal al acestui filtru este asigurarea energiei necesare comutării motorului. Acesta are efect doar în joasă frecvență datorită condensatorului electrolitic și bobinei de valori mari.
Blocul de filtrare
Înainte ca semnalele să fie procesate de către microcontoler acestea trec printr-un filtru de tip trece jos (FTJ) și un divizor de tensiune. În Figura 3-42 este prezentată schema de aplicație a FTJ pe una din intrările senzorilor hall.
Figura 3-42. Filtru trece jos intrare senzor hall
Având în vedere că linia de hall face legătura din conector în microcontroler este necesară protecția pinului de microcontroler prin plasarea unei diode ESD cât mai aproape de pinul conectorului. Aceasta este o diodă rapidă TVS, care are rolul de a proteja circuitul de descărcările electrostatice (care ajung pentru perioade scurte de timp, de ordinul ns, până la tensiuni de ordinul kV și curenți de vârf de 30A). . Modelul unei descarcari electrostatice este prezentat in Figura 3-43.
Figura 3-43. Puls ESD
Pentru implementarea filtrului este necesară cunoașterea timpului frontului crescător al semnalului. La un factor de umplere de 100% (viteza maximă) frontul crescător are un timp de 4.123µs (Figura 3-44).
Figura 3-44. Caracteristici semnal senzor hall
Frecvența frontului crescător este:
Frevența de tăiere a FTJ trebuie să fie de cel puțin 10 ori mai mare decât frecvența maximă (, aceasta fiind de 2MHz.
Tensiunea de ieșire a senzorului hall este de 5V, iar tensiunea maximă admisă pe pinul microcontrolerului este de 3.6V. Astfel a fost nevoie de implementarea unui divizor de tensiune care să coboare nivelul tensiunii. Pentru a fi într-o regiune sigură, tensiunea de ieșire din divizor a fost aleasă de 3V, tensiune suficient de mare pentru trecerea din low în high. Divizorul este format din rezistența serie R309 a cărui valoare a fost determinată de calculul FTJ și rezistența la masă R312.
Valorile acestora au fost calculate astfel:
Comportamentul în frecvență a filtrului este dependent de valoarea condensatorului, ESR și a rezistorul serie. Astfel atenuarea filtrului la -3dB, unde acesta își pierde jumătate din putere, este prezentată în Figura 3-45.
Figura 3-45. Simulare Matlab filtru semnale hall
Alimentarea acestora se face din sursă în comutație, de la VEDE. Curentul prin led a fost limitat la 3mA iar căderea de tensiune pe acesta este de 2V, astfel valoarea rezistorului de limitare este dat de relația:
Măsurarea tensiunilor de alimentare ale sistemului
O măsură de siguranță implementată este măsurarea tuturor tensiunilor de pe placă și luarea deciziilor necesare în caz că una din aceasta iese din limite: oprirea semipunților, resetarea sursei în comutație, resetarea controlerului, etc.
Folosirea divizoarelor de tensiune este cea mai simplă metodă de a măsura tensiunea, însă în cazul controlerului, măsurarea propriei tensiuni nu este plauzibilă.
Figura 3-47. Schema de aplicație NCV33161
Astfel există circuite specializate care fac acest lucru, unul dintre ele fiind un integrat fabricat de ON Semiconductor, NCV33161 (Figura 3-47) un circuit integrat compus din două comparatoare și o referință de 2.54V, folosită ca intrare de în controler pentru referința ADC.
Integratul este folosit cu rolul de detecție a tensiunii când aceasta crește peste pragul stabilit. Astfel, canalul 1 este folosit ca detector de undervoltage iar canalul doi este folosit ca detector de obervoltage. Conform foii de catalog avem patru praguri de tensiune care se pot configura în funcție de valorile a trei rezistențe. Acesta sunt prezentate în Figura 3-48.
Figura 3-48. Configurare NCV33161
Astfel valorile rezisțenelor sunt:
Conform formulelor de mai sus, valoare rezistentellor pentru pragurile sunt: R105=24kΩ, R104= 1.4kΩ, R103=15kΩ (Figura 3-49).
Figura 3-49. Plasare PCB NCV33161
Tensiunea de 5V din sursa de comutatie este masurata pe pinul de ADC, AN13. Deoarece tensiunea sursei depaseste tensiunea maxima admisa pe pin este nevoie de implementarea divizorului de tensiune din Figura 3-50. Pe langa divizor este plasat si un condensator pentru a forma un filtru trece jos pe intrarea analogica.
Figura 3-50. Măsurare tensiune VDD5
Tensiunea de 5V din sursa de comutație este măsurată pe pinul de ADC, AN13. Deoarece tensiunea sursei depășește tensiunea maximă admisă pe pin este nevoie de implementarea divizorului de tensiune din Figura 3-51. Pe lângă divizor este plasat și un condensator pentru a forma un filtru trece jos pe intrarea analogică.
Figura 3-51 Măsurare tensiune VDD5_Hall
Valorile acestor filtre au fost calculate astfel:
O altă tensiune monitorizată este alimentarea de pe baterie (Figura 3-52). Este important, ca în funcție de acumulatorul folosit, să nu se treacă sub un prag minim a tensiunii de acumulatorului, pentru a nu deteriora celulele din interiorul acestuia.
Figura 3-52. Masurare tensiune acumulator
La fel ca și în cazul celoralalte tensiuni, monitorizarea se face prin intermediul unui divizor de tensiune. Valorile acestuia sunt calculate mai jos:
Watchdog
Integratul care asigură funcția de watchdog a sistemului este fabricat de Texas Instruments (TPS3813) și face parte din familia de integrate specializate în inițializarea de circuite și supravegherea microcontolerelor, în special a celor de semnal (Figura 3-53). De asemenea acest integrat poate fi folosit și în industria automotive, fiind calificat conform standardelor, în domeniul medical și de uz caznic.
Figura 3-53. Watchdog sistem
Dimensiunile reduse ale capsulei (SOT23-6), consumul mic de curent și simplitatea implementării fac parte din avantajele folosirii acestui integrat.
Tensiunea de alimentare a acestuia este de 3.3V, are un consum de curent de 9µA și necesită un minim de componențe pentru funcționare. Astfel pe alimentarea acestuia este plasat condensatorul C801 cu rolul de buffer de energie și decuplaj.
Circuitul resetează controlerul în cazul în care acesta nu primește într-o anumită fereastră (configurabilă) un puls dreptunghiular pe pinul de WDI (watchdog timer input).
În Tabel V este prezentat modul de funcționare a acestuia care este definit în funcție de combinația de pe pinii WDT (watchdog delay input) și WDR (window rațio input). În foaia de catalog a circuitului este prezentat tabelul de configurare, iar în funcție de cum sunt cablați fizic acești pini, se selectează fereastra și lățimea pulsului.
Tabel V.
Tabel configurare watchdog
Implementarea în schemă este prezentata in Figura 3-54:
Figure 3-54. Cablare PCB pini WDT si WDR
WDT = 0V;
WDR = VDD , de unde rezulta următorii timpi: perioada 0.25s și puls cu lățime de 2ms.
Tehnologia de elaborare
Schema electrică și layout-ul au fost realizate într-un mediu CAD numit ZUKEN, dezvoltat de compania japoneză Zuken Inc.
Pentru obținerea unui PCB fizic este nevoie de parcurgerea mai multor pași:
Crearea unei scheme bloc a sistemului;
Alegerea principalelor integrate: microcontroler, driver, surse alimentare, etc.;
Calcularea valorilor componentelor (filtre, rezistențe limitare curent, divizoare tensiune, etc);
Crearea schemei electrice și verificarea acesteia;
Exportarea schemei electrice în mediul de creare a PCB-ului;
Plasarea componentelor în layout;
Dimensionarea traseelor în funcție de curenți și stabilirea straturilor pe care se face rutarea;
Rutarea traseelor și verificarea layoutului;
Exoportarea fișierelor de producție și trimiterea acestora către fabricant.
Placa a fost realizată pe 4 straturi cu o grosimea totală de 1.6mm și grosimea stratului de cupru de 35µm. Semnalele au fost grupate pe layere dedicate pentru a îmbunătății emisile din punct de vedere electromagnetic:
stratul unu și doi au fost folosite pentru rutarea traseelor de semnal digital (senzori hall, encoder), de comunicare (I2C, SPI, CAN) și alimentare;
stratul al treilea a fost folosit ca plan de masă pentru separarea semnalelelor agresive de cele analogice;
stratu al patrulea a fost folosit pentru rutarea semnalelor analogice (măsurarea curenților de pe semipunți, măsurare de tensiuni și măsurarea temperaturii).
În funcție de curentul pe care traseele trebuie să îl poată conduce și stratul pe care se află, lățimea acestora diferă. Astfel traseele de semnal au fost rutate cu tasee subțiri de 0.2mm, iar traseele de alimentare de la baterie și traseele de pe cele trei semipunți au fost dimensionate astfel încât să poată suporta curenți de până la 20A cu vârfuri de 100A. De asemenea pentru disiparea puterii de pe anumite componente (tranzistoare, regulatoare de tensiune, integrate) s-au folosit thermal via și planuri de cupru în juru acestora.
Pentru vizualizarea layoutului este necesar un program CAM în care se importă fișierele gerber.
Stratul 1 (Figura 3-55) – folosit pentru plasarea componentelor, rutarea semnalelor digitale, semnalelor de comunicare și alimentare
Figura 3-55. Stratul 1
Stratul 2 (Figura 3-56) – la fel ca și stratul 1 este folosit pentru rutarea semnalelor agresive si crearea de suprafete de cupru reprezentand insule de masa sub microcontroler si quartz.
Figura 3-56. Stratul 2
Stratul 3 (Figura 3-57) – este folosit ca strat de masă; acesta are rolul de a conecta toate componentele care necesită conexiune la masă dar și de a ecrana zgomotul electromagnetic provenit de la semnalele agresive de pe primele două straturi. Inclusiv pe stratul de masă au fost create zone de cupru pentru răcirea tranzistoarelor.
Figura 3-57. Stratul de masa
Stratul 4 (Figura 3-58) – este folosit pentru rutarea semnalelor analogice, de măsurare de curenți, tensiuni și temperatură. Deoarece rutarea semipunților necesită minim 3 straturi, a fost nevoie ca una din fazele motorului să fie rutata pe acest strat.
Figura 3-58. Stratul 4
Distribuirea semnalelor pe placă a fost făcută în cele două camere ale conectorului în funcție de natura acestora si sunt prezentate in Tabel VI si Tabel VII. Astfel semnalele agresive sunt reprezentate cu roșu și portocaliu iar semnalele de agresivitate medie cu verde. În tabelul xxxx este reprezentată prima cameră a conectorului cu 14 pini, iar în tabelul xxxx. Este reprezentată camera cu 9 pini.
Tabel VI.
Distribuirea semnalelor în conectorul de 14 pini
Programarea microcontrolerului
În Figura 3-59 este descrisă arhitectura software a sistemului, care este împărțita în:
arhitectura software a clientului;
arhitectura software a driverului.
Figura 3-59. Arhitectură sistem
Arhitectura software a driverului
Aceasta este alcătuită din următoarele componente: Task Scheduler, Task_40ms, Task_80ms, SPI_queue, Movement_queue și CAN_driver.
Modulul Task_Scheduler – este un organizator de taskuri în funcție de timp. Cele două taskuri folosite sunt executate la fiecare 40ms respectiv 80ms.
Funcția Task_40ms – este apelată la fiecare 40ms de task scheduler și interacționează cu SPI_queue. SPI_queue este o coadă care conține mesaje ce trebuie trimise pe busul de SPI către predriver. Astfel ca pe acest task, se scoate ultimul mesaj din coadă, în cazul în care există, și îl pune pe busul SPI. În urma acestei cereri se pune pe bus-ul de CAN un mesaj de confirmare că să realizat cu succes comanda. În cazul în care mesajul destinat predriverului este o citire de registru, mesajul de confirmare va conține și conținutul registrului din driver.
Funcția Task_80 – este apelată la fiecare 80ms de task scheduler, îs interacționează cu Movement_queue. Movement_queue este o coadă care conține mesaje destinate controlului motorului brushless. Aceste mesaje care descriu, mișcarea motorului precum viteza și sensul de rotație. După fiecare mesaj executat, se pune pe bus-ul de CAN un mesaj de confirmare, care reprezintă executarea cu succes a comenzii.
Modulul Input Capture – este un modul oferit ce controller, care are posibilitatea de a ridica o întrerupere când un anumit pin trece din 1 logic în 0 și invers. Pe acești pini au fost legați senzorii hall, având invederea că sunt 3, rezultă că vom avea 3 întreruperi. În aceste întreruperi se citesc starea senzorilor, și în funcție de acesta și sensul de rotație se modifică iesirie motorului U, V, W. Modificările se fac în funcție de tabelul de stare.
Modulul CAN_driver – gestionează transmisia și recepția mesajelor de pe bus-ul de CAN. În cazul mesajelor recepționate, în funcție de id-ul lor se realizează o filtarare. Iar în urma filtrării mesajele sunt mutate în coada SPI sau în coada Movement.
Arhitectura software a clientului
Aceasta este alcătuită din următoarele componente COM_Driver, Message_Queue, Ușer_Interface.
Modulul COM_driver – gestionează mesajele înspre și dinspre adaptorul CAN_USB, adică se trimite și recepționează mesaje. Interfațarea cu adaptorul se realizează prin intermediul fișierului ControlCAN.dll, oferit de producătorul adaptorului. La recepționarea unui mesaj, acesta se adaugă într-o coadă de mesaje. Această coadă fiind gestionată și de modulul User_interface.
Message_queue – este o coadă care conține mesajele recepționate de la driver prin intermediul busului CAN. Aceste mesaje sunt răspunsuri la comenzile ce le realizează driverul, prin care se află și conținutul regiștrilor din predriver.
Modulul User_interface – arată în timp real starea regiștrilor din predriver. Actualizarea acestora se realizează prin parcurgerea cozii de mesaje Message_queue, la fiecare 50ms prin intermediul unui timer. În momtentul trimiterii unei comenzi către driver acesta apelează direct interfața oferită de modulul Com_driver.
Interfața client pentru monitorizare și control
Pornirea motorului se poate face doar prin interfața client (Figura 3-60). Primul pas în pornirea interfeței este activarea acesteia prin apăsarea comenzii Activate din meniul de File.
Figura 3-60. Meniul File
În interiorul meniului File, pe lângă comanda Activate se găsesc comenzile de Open, Save și Exit. Comanda Save are rolul de a salva setările regiștrilor de configurare a driverului într-un fișier de tip *. Init.
Comanda Open permite utilizatorului să încarce un fișier de configurare salvat inițial. Astfel poate fi redus timpul de lucru și implicit erorile de configurare a regiștrilor. Închiderea interfeței se poate face prin comanda Exit sau prin apăsarea butonului de exit din partea dreaptă sus ferestrei. Următorul meniu este de Help în care utilizatorul găsește informații despre versiunea de interfață (Figura 3-61).
Figura 3-61. Meniu Help
Fereastra care se deschide în urma comenzii de Help este prezentată in Figura 3-62
Figura 3-62. Versiune interfață
Interfața este împărțită în trei tab-uri: Write Registers, Read Registers și History (Figura 3-63). Tabul de Write Registers este compus din cei doi regiștrii de control a driverului: CTRL_REG_1 și CTRL_REG_2, căsuța de setare a duty cycle-ului, sensul de rotație a motorului și butoanele de trmitere a regiștrilor.
Figure 3-63. Tab Write Registers
Registrul CTRL_REG_1 este responsabil cu setarea următorilor parametrii:
GATE_CURRENT – setează curentul în grilele tranzistoarelor din semipunți. Aceste valori pot fi selectate la 1.7A, 0.7A sau 0.25A. Când se controlează un curent mare prin tranzistor este recomandat folosirea unui curent mare în grile pentru încărcarea cât mai rapidă a capacității CGS a tranzistorului. La comutarea de curenți mici se poate folosi valoarea de 0.25A, avantajul fiind consumul redus de energie a integratului.
GATE_RESET – setare modului de reset a grilelor: resetarea grilelor pornind cu primul semnal de PWM de după reset sau resetarea regiștrilor de fault ce monitorizează grilele tranzistorilor;
PWM_MODE – driverul este capabil să interpreteze 3 sau 6 semnale de PWM. În cazul în care se alege setarea numărului de PWM-uri la 6, atunci microcontrolerul controlează direct semipunțile; în cazul în care se alege modul de lucru cu 3 semnale PWM, microcontrolerul controlează doar partea de high side a semipunților, cele de low side fiind generate automat de către driver ca semnale complementare.
OCP_MODE – setează acțiunea în cazul în care apare un supracurent: se pot dezactiva tranzistorii semipunții pe care a fost detectat supracurentul, se poate configura doar să raporteze eroarea sau se poate dezactiva protecția la supra curenți.
OC_ADJ_SET – este o căsuță în care se poate scrie tensiunea de pe shunt la care driverul să detecteze supracurent. Valoare dorită se introduce se selectează din Tabel VIII și se introduce valoarea hexazecimală corespunzătoare.
Tabel VIII.
Tabel setare curent limită
Registrul CTRL_REG_2 este responsabil cu setarea următorilor parametrii:
OCTW_MODE – se poate seta acțiunea în cazul în care temperatura integratului depășește valoarea maximă sau curentul stabilit în registrul OC_ADJ_SET.
SHUNT_GAIN – reprezintă amplificarea tensiuni primite de la shunt;
DC_CAL_CH1 și DC_CAL_CH2 – pentru calibrarea măsurătorilor de curent acestea trebuie amplificatoarele deconectate și citit pe ADC tensiunea de referință pentru fiecare amplificator în parte.
OC_TOFF – există două setări de control atunci când apare un supracurent: CBC (Cycle by Cycle) în care se detectează semipuntea cu supracurent și se va închide până apare următorul semnal de PWM când aceasta va fi activă din nou; cea de-a doua setare este Off-Time Control Mode în care semipuntea cu supracurent va limita curentul pentru o perioadă maximă de 64µs.
Căsuța de Duty Cycle este configurată pentru a primi valori între 0% și 100%. La apăsarea butonului de Set Duty Cycle, valoarea din căsuța va fi trimisă către microcontroler și setat duty cycle-ul. Sensul de rotație a motorului poate fi ales contrar acelor de ceasornic sau în același sens.
Regiștrii de configurare pot fi trimiși pe rând prin apăsarea butonului Send Register și Set Register 2 sau amândoi prin apăsarea butonului Send All.
Tabul de Read Registers are rolul de a citi configurarea din regiștrii de control dar și regiștrii de status STAT_REG_1 și STAT_REG_2 (Figura 3-64).
Figura 3-64. Tabul Read Registers
Registrul STAT_REG_1 este responsabil cu citirea următorilor parametrii:
GVDD_UV – este activat când tensiunea de alimentare a grilelor scade sub valoarea minimă de 8V;
PVDD_UV – este activat când tensiunea de alimentare a driverului scade sub valoare minimă de 5.9V;
OTSD – este activat când temperatura integratului trece de pragul de 150ᵒC;
OTW – este activat când temperatura integratului trece de pragul de 130ᵒC;
FETHx_OC – este activat atunci când pe unul din high-sideuri apare un supracurent;
FETLx_OC – este activat atunci când pe unul din low-sideuri apare un supracurent.
Registrul STAT_REG_2 este responsabil cu citirea următorilor parametrii:
GVDD_OV – este activat când tensiunea de alimentare a grilelor ajunge la valoarea maximă de 16V;
Device ID – este ID-ul unic al predriverului.
Citirea regiștrilor de status se face individual prin apăsarea butoanelor Read S_Register 1 și Read S_Register 2 sau ciclic la un interval de 150 ms prin bifarea Global Diagnose.
Cel de al treilea tab este de History în care sunt afișate toate mesajele care circulă pe bus-ul de CAN (Figura 3-65). Din punct de vedere al utilizatorului, acestea sunt grupate în două categorii: transmisie și recepție.
Figura 3-65. Tab History
Aplicații și experimente
In ……
Concluzii și contribuții
Această lucrare pune în evidență modul de control a unui motor brushless prin folosirea unui microcontroler specializat în controlul motoarelor și procesarea de semnale, un circuit integrat specializat în controlul, diagnoza prin transmiterea regiștrilor de diagnoză pe SPI către controler și o parte de putere responsabilă de comutarea curenților mari prin folosirea tranzistoarelor cu efect de câmp N-MOS.
Lucrarea începe cu un prim capitol introductiv în care sunt prezentate pe larg metodele de comandă a motoarelor brushless, un capitol teoretic în care sunt prezentate tipurile de motoare BLDC și metodele de comandă, un capitol în care este prezentată proiectarea modului, schema electrică și layout, interfața de comandă și programul scris pe microcontroler.
Lucrarea are un număr de 20 de referințe bibliografice, de actualitate și cuprinde lucrări de doctorat și articole științifice ale cercetătorilor de la universități de renume.
Capitolul unu este introductiv și prezintă un istoric al apariției motoarelor, primele metode de comandă și domeniile în care se pot folosii.
Capitolul doi este capitolul teoretic în care sunt aprofundate temele abordate. Astfel acesta este împărțit în subcapitole și abordează încă de la începutul principalele subiecte începând de la construcția motoarelor BLDC, metode de comandă care pot fi cu sau fără senzori de poziție incluzând metode de poziționare a rotorului, metode de pornire, respectiv metode de detecție a momentelor de comutație a fazelor la viteze mai mari bazate pe evaluarea semnalului back-EMF de pe semipuntea care nu comută. Se prezintă principiile pe care se bazează estimarea poziției rotorului. În ultima parte a capitolului este prezentată configurația internă a microcontrolerului și protocoalele de comunicare.
Capitolul trei are ponderea cea mai mare, de actualitate și de complexitate ridicată. Conține o propunere de arhitectură a unui sistem de comandă a motoarelor BLDC bazat pe un circuit integrat, fabricat de Texas Instruments, specializat în comanda motoarelor BLDC. Prima parte a capitolului prezintă schema bloc a sistemului și semnalele care circulă în sistem. Configurația hardware este prezentată în mai multe subcapitole, fiecare făcând referire strictă la o anumită parte a schemei electrice: conector, filtre și divizoare de tensiune, microcontrolerul, surse pentru obținerea tensiunilor de alimentare, protocoale de comunicare, implementarea schemei de aplicație a predriverului și măsurile de siguranță luate în interiorul sistemului.
Arhitectura sistemului este bazată pe tehnici și metode moderne, care se aplică în industria automotive și în anumite cazuri aeronautică și militară.
Printre ideile și metodele proprii dezvoltate se numără:
Blocul de alimentare format dintr-o sursă în comutație, una liniară și un voltage tracker;
Distribuirea în conector a semnalelor în funcție de natura lor;
Blocul de filtre pe intrările în controler ale senzorilor hall,
Măsurarea tensiunilor, curenților și a temperaturii sistemului;
Un protocol de comandă și comunicare a microcontrolerului cu mediul extern utilizând un transceiver de CAN;
O interfață pentru configurarea și monitorizarea regiștrilor interni ai microcontrolerului;
Un protocol de comandă și comunicare cu microcontrolerul, utilizând interfața serială SPI;
Implementarea unor măsuri de siguranță în cazul apariției erorilor sau depășirea limitelor admise;
În capitolul patru sunt prezentate rezultatele experimentale obținute în laborator, rezultate care demonstrează performanța ridicată a sistemului. Pentru efectuarea experimentelor sa construit un stand de testare a motoarelor BLDC, proiectat și executat. Acesta permite măsurarea semnalelor importante, simularea unor erori în sistem. Acesta cuprinde un acumulator Li-Po, un motor BLDC, driverul de comandă și o cutie de conectare pentru: comunicarea CAN, alimentarea driverului, fazele motorului, alimentarea și semnalele senzorilor hall.
Lucrarea se încheie cu capitolul cinci prin prezentarea concluziilor principale în urma studiului realizat și contribuțiile personale, din punct de vedere al designului și modului de control a motorului.
Bibliografia
[1] DRV8301 Three-Phase Gate Driver With Dual Current Shunt Amplifiers and Buck Regulator, Texas Instruments, SLOS719C –AUGUST 2011 –REVISED JANUARY 2015;
[2] dsPIC33EP256MU806 16-Bit Microcontrollers and Digital Signal Controllers with
[3] High-Speed PWM, USB and Advanced Analog, Microchip Tehnology, 2009-2012;
[4] I. Janpana, R. Chaisricharoenb, P. Boonyananta – Control of the Brushless DC Motor in Combine Mode -, 2012;
[5] IPD35N10S3L OptiMOS®-T Power-Transistor, Infineon Tehnologies, Rev. 1.1, 2011-10-06;
[6] Jeffrey Cain – Parasitic inductance of multilayer capacitors, AVX Corporation, 2013
[7]Justin Damele – Brushless DC Motor Design and Build – 2011;
[8] K.J. Tseng – DSP-based control of brushless DC drives for direct-driven robotic arms, Microprocessors and Microsystems, Volume 19, 1995
[9] LM3940 1A Low Dropout Regulator for 5V to 3.3V Conversion, Texas Instruments, SNVS114E –MAY 1999 –REVISED MARCH 2013;
[10] Mark Purvis – Brushless motors feature in built-in control electronics, World Pumps, Volume 1997, Issue 365, February 1997,
[11] MC34161, MC33161, NCV33161 Universal Voltage Monitors, ON Semiconductor, December, 2008 − Rev. 11
[12] Muhammad Mubeen, – Brushless DC Motor Primer, Motion Tech Trends, Iulie, 2008.
OCTOBER 2013
[13] Pavel Ripka, Karel Závěta – Handbook of Magnetic Materials, Chapter Three Magnetic Sensors: Principles and Applications, Volume 18, 2009;
[14] QingpingWua, Wenchao Tian – Design of Permanent Magnet Brushless DC Motor Control System Based on dsPIC30F4012, 2011;
[15] SUD50P06-15L P-Channel 60-V (D-S), P-MOSFET, Vishay, Document Number: 72250
Supervisory Circuits with Window-Watchdog, SLVS331G –DECEMBER 2000 –REVISED
[16] TLE4252 Tracking Regulator, Infineon Tehnologies, Rev. 1.4, 2007-03-20;
[17] TLE6250 High Speed CAN-Transceiver,Infineon Tehnologies, Datasheet, Rev. 3.9, August 2007;
[18] TPS3813J25, TPS3813L30, TPS3813K33, TPS3813I50, Texas Instruments, Processor
[19] TPS54160 1.5-A, 60-V, Step-Down DC/DC Converter with Eco-mode, Texas Instruments, SLVSB56C –MAY 2012 –REVISED FEBRUARY 2014
[20] Wang Huazhang – Design and Implementation of Brushless DC Motor Drive and Control System, Procedia Engineering, Volume 29, 2012;
Bibliografia
[1] DRV8301 Three-Phase Gate Driver With Dual Current Shunt Amplifiers and Buck Regulator, Texas Instruments, SLOS719C –AUGUST 2011 –REVISED JANUARY 2015;
[2] dsPIC33EP256MU806 16-Bit Microcontrollers and Digital Signal Controllers with
[3] High-Speed PWM, USB and Advanced Analog, Microchip Tehnology, 2009-2012;
[4] I. Janpana, R. Chaisricharoenb, P. Boonyananta – Control of the Brushless DC Motor in Combine Mode -, 2012;
[5] IPD35N10S3L OptiMOS®-T Power-Transistor, Infineon Tehnologies, Rev. 1.1, 2011-10-06;
[6] Jeffrey Cain – Parasitic inductance of multilayer capacitors, AVX Corporation, 2013
[7]Justin Damele – Brushless DC Motor Design and Build – 2011;
[8] K.J. Tseng – DSP-based control of brushless DC drives for direct-driven robotic arms, Microprocessors and Microsystems, Volume 19, 1995
[9] LM3940 1A Low Dropout Regulator for 5V to 3.3V Conversion, Texas Instruments, SNVS114E –MAY 1999 –REVISED MARCH 2013;
[10] Mark Purvis – Brushless motors feature in built-in control electronics, World Pumps, Volume 1997, Issue 365, February 1997,
[11] MC34161, MC33161, NCV33161 Universal Voltage Monitors, ON Semiconductor, December, 2008 − Rev. 11
[12] Muhammad Mubeen, – Brushless DC Motor Primer, Motion Tech Trends, Iulie, 2008.
OCTOBER 2013
[13] Pavel Ripka, Karel Závěta – Handbook of Magnetic Materials, Chapter Three Magnetic Sensors: Principles and Applications, Volume 18, 2009;
[14] QingpingWua, Wenchao Tian – Design of Permanent Magnet Brushless DC Motor Control System Based on dsPIC30F4012, 2011;
[15] SUD50P06-15L P-Channel 60-V (D-S), P-MOSFET, Vishay, Document Number: 72250
Supervisory Circuits with Window-Watchdog, SLVS331G –DECEMBER 2000 –REVISED
[16] TLE4252 Tracking Regulator, Infineon Tehnologies, Rev. 1.4, 2007-03-20;
[17] TLE6250 High Speed CAN-Transceiver,Infineon Tehnologies, Datasheet, Rev. 3.9, August 2007;
[18] TPS3813J25, TPS3813L30, TPS3813K33, TPS3813I50, Texas Instruments, Processor
[19] TPS54160 1.5-A, 60-V, Step-Down DC/DC Converter with Eco-mode, Texas Instruments, SLVSB56C –MAY 2012 –REVISED FEBRUARY 2014
[20] Wang Huazhang – Design and Implementation of Brushless DC Motor Drive and Control System, Procedia Engineering, Volume 29, 2012;
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: Smart Driver Pentru Alimentarea Si Controlul Motoarelor Brushless (ID: 163692)
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.
