Circuit, Care Simuleaza Comportamentul Unui Motor

Cuprins

I. Introducere:

II. Proiectare sarcină electronică

1. Modelul motorului:

2. Schema bloc:

a) Microcontroler pentru generare PWM

b) Circuit de conversie PWM- tensiune

c) Sursă de curent comandată în tensiune

3. Schema electrică:

a) Circuitul de alimentare:

b) Circuitul pentru generarea PWM- urilor:

c) Circuitul de conversie PWM -tensiune:

d) Sursa de curent comandată în tensiune:

e) Puntea redresoare:

4. Simularea schemei electronice:

5. Layout

III. Prelucrarea datelor obținute din formele de undă ale motorului de curent continuu

IV. Implementarea softului

1. Date despre microcontrolerul PIC16F887:

2. Inițializare regiștri utilizați în proiect

V. Realizarea practica a proiectului

1. Simulare părții software pe schema electrică în simulatorul ISIS (Proteus).

2. Implementarea părții practice

VI. Concluzii:

Sarcină electronică: Circuit care simulează comportamentul unui motor

de curent continuu cu perii colectoare

Introducere:

Lucrarea de față a fost începută în vara 2013 împreună cu Putrea Florin, colegul meu de facultate și a fost realizata în cadrul proiectului: „Today’s students, Tomorrow’s engineers” Continental, Iași.

Scopul acestei lucrări este de a proiecta și implementa o sarcină electronică ce simulează comportamentul unui motor de curent continuu. Proiectul urmează a fi utilizat în cadrul companiei Continental pentru ușurarea diverselor teste ce implică folosirea unui motor.

Lucrarea din care ne-am inspirat pentru proiectarea circuitului se intitulează „ A Closed-Loop, Wideband, 100A Active Load” în cadrul căreia Jim Wiliams descrie pașii pentru realizarea unei sarcini electronice de 100A. Din această lucrare am reușit să observăm caracteristicile amplificatoarelor operaționale folosite de autor, mai ales posibilitatea oferită de acestea de a regla tensiunea de decalaj de la intrare, respectiv de a putea ajusta amplificarea cu ajutorul unor rezistențe semireglabile. De asemenea, am ajuns la concluzia că, prin folosirea unei bucle de feedback, se obține o precizie mult mai bună a sarcinii.

Inițial proiectul a fost gândit cu două ramuri: o ramură care poate da maxim 10A (prin intermediul unui shunt de 10mΩ) și o ramura cu un curent de maxim 20A (folosind un shunt de 5 mΩ). Astfel, în regimul de funcționare continuă unde avem un curent de aproximativ 2A, se dorea să se folosească doar ramura cu shuntul de 10mΩ, iar pentru inrush și blocare se comanda și cea de a 2-a ramură. Am renunțat la această configurare în momentul în care am decis să reproduc și zgomotul de perii colectoare. Deoarece amplitudinea zgomotului în raport cu amplitudinea maximă a semnalului util este mult mai mică, m-am gândit să generez un semnal PWM pentru a forma semnalul util și un al 2-lea PWM pentru zgomot. Aceasta reprezintă varianta finală ce urmează a fi descrisă pe larg în următoarele capitole.

În capitolul II „Proiectare sarcină electronică” sunt descriși pașii realizați pentru proiectare. După ce am văzut forma de undă a curentului motorului de curent continuu cu ajutorul unei sonde de curent și a unui osciloscop, am creat un model al motorului. Inspirați din lucrarea lui Jim Wiliams, am realizat o schemă bloc a sarcinii electronice, o schemă electrică, după care a urmat simularea schemei create în simulatorul LTSpice. Rezultatele pozitive, date de simulator, au dus la implementarea fizică a întregului circuit. Funcționalitatea fiecare modul din schemă a fost descrisă pe larg în subpunctul 4 din capitolul II. Schematicul și layout-ul au fost create în programul Eagle.

Prelucrarea datelor ce conțin informații despre forma de undă a curentului motorului este descrisă în capitolul III. Aceasta etapă este necesară deoarece frecvența de eșantionare a semnalului, atunci când datele au fost salvate în fișier cu extensia .csv, a fost de 20kSample/s (20.000 de valori într-o secundă), iar microcontrolerul folosit pentru generarea PWM-urilor în funcție de aceste valori, nu poate stoca toate aceste date.

În capitolul IV se prezintă pașii programului software în cadrul căruia se creează semnalele PWM necesare pentru realizarea semnalelor de comanda a tranzistorilor ce funcționează în regiunea de triodă.

Ultimul capitol conține informații despre realizarea practică a proiectului. Înainte de aceasta, s-a făcut o simulare a programului software pe circuitul implementat în capitolul II pentru verificarea funcționalității. Tot în acest capitol sunt prezentate rezultatele parțiale obținute în urma unor teste pe o plăcuță test,precum și rezultatele finale.

Proiectare sarcină electronică

Modelul motorului:

Modelul a rezultat în urma unor teste efectuate asupra unui motor utilizat la macaraua de ridicare a geamului de la mașină (window lifter).

În ambele cazuri se disting trei regiuni:

Startul (inrush-ul):

Funcționarea continuă: în această regiune se observă cel mai bine zgomotul de perii colectoare

Blocarea

Pozele de mai sus corespund cazului în care motorul merge în gol. S-a analizat și situația în care motorul are sarcină. Drept sarcină s-a folosit o sticlă de plastic de 2 litri și s-au făcut măsurători la 0.5 litri, 1 litru, 1.5 litri și 2 litri. În urma acestor măsurători s-a putut constata că valoarea curentului din regimul de funcționare continuă crește de la 900 mA (când nu are sarcină) până la 2 A (pentru sarcina de 2 litri). Valoarea curentului de inrush este de 18.1 A iar cel de blocare de 21.6 A .

După observarea comportamentului motorului am putut ajunge la un model al motorului de curent continuu:

Parametri:

t_ rise: timpul de creștere a inrush-ului;

t_ fall: timpul de stabilire la sarcină constantă;

t_stop_switch _down: timpul de scădere a curentului în momentul opririi motorului cu ajutorul comutatorului( când se dorește geamul semiînchis);

t_stop_ switch _0: timpul de stabilire la 0;

t_stop: timpul în care motorul intră în blocare;

A_inrush_ up: amplitudinea inrush- ului;

A_inrush_ down: amplitudinea minimă la care se ajunge după pornirea motorului (din cauza inerției dată de spike-ul inițial);

A_ const: amplitudinea în sarcină(când motorul merge cu viteză constantă);

A_stop: amplitudinea maximă (în modul) la care se ajunge la oprirea motorului din comutator;

– A_blocare: amplitudinea la blocare;

Schema bloc:

În funcție de factorul de umplere al semnalului PWM (modularea impulsului în lățime), după filtrare se obține o tensiune continuă cuprinsă în intervalul 0V- 1V care va determina un anumit curent prin sarcină. La un factor de umplere de 100% se obține un curent maxim de 10A (cu ajutorul unui shunt de 10mΩ).

Microcontroler pentru generare PWM

Un semnal PWM (PULSE WIDTH MODULATION) este un generator de semnal dreptunghiular cu frecvență și amplitudine constantă și cu factor de umplere variabil.

Se poate spune de asemenea că un semnal PWM constă în codarea informației în lățimea impulsului deoarece în funcție de factorul de umplere al acestui semnal se obține o anumită tensiune medie. Factorul de umplere al unui semnal PWM se calculează cu relația:

D=Ti/T, unde Ti= durata impulsului și T= perioada semnalului.

Pulse Width Modulation “este o tehnică folosită pentru a varia în mod controlat tensiunea dată unui dispozitiv electronic” . În cadrul proiectului sarcină electronică, în funcție de factorul de umplere a semnalului PWM se obține o anumită tensiune de comandă a tranzistorului () care va deplasa punctul static de funcționare în regiunea liniară.

Cu ajutorul semnalelor PWM se pot obține semnale liniare (analogice) din cele digitale. Aceasta se folosește în multe aplicații deoarece permite înlocuirea unui circuit analogic complex de dimensiuni fizice mari cu un singur circuit digital integrat.

O schemă folosită pentru generarea semnalului PWM este prezentată mai jos:

Modulatorul PWM din figură este format dintr-un generator dinte de fierăstrău (saw-tooth generator), un amplificator de eroare si un comparator.

Dacă Vf =semnalul de reacție si VRef= tensiunea de referință,, deoarece Vf=VRef, .

Funcționare:

Amplificatorul de eroare: are rolul de a compara semnalul de reacție cu tensiunea de referință. Semnalul de reacție este de obicei obținut, printr-o divizare a tensiunii de ieșire. Dacă ieșirea acestuia este mai mare decât valoarea dintelui de fierăstrău atunci la ieșirea comparatorului vom avea ‘1’ logic (Ton). În caz contrar la ieșirea comparatorului vom avea ‘0’ logic (T off.).

Daca tensiunea de ieșire tinde să crească, atunci tensiunea de reacție va crește peste tensiunea de referință. În acest caz tensiunea de ieșire a amplificatorului de eroare va scădea, iar la ieșirea comparatorului vom avea ‘1’ logic pentru o durată mai mică. Daca tensiunea de ieșire scade, la ieșirea comparatorului vom avea o durată mai mare de ‘1’ logic.

În cazul în care tensiunea de ieșire este constantă aceasta este menținută la valoarea dorită cu ajutorul buclei de reacție negativă.

În cadrul acestui proiect cu ajutorul unui semnal PWM se vor comanda cele trei ramuri folosite pentru a forma semnalul util, iar cel de al 2-lea PWM este utilizat pentru a genera zgomotul de perii colectoare al motorului.

Circuit de conversie PWM- tensiune

Este format dintr-un divizor rezistiv (R1+ R2) care adaptează plaja de tensiuni de intrare:

0V- 5V în 0V- 1V pentru semnalul util;

0V- 5V în 0V~ 650mV pentru zgomot;

În funcție de factorul de umplere al celor 2 intrări: PWM1 și PWM2 ( cu frecvență de 20 KHz ), la ieșirea divizorului se obține o tensiune proporțională cu acesta cuprinsă în intervalul 0V- 1V, respectiv 0V~650mV.

Se folosește un filtru trece jos (R1+C1, respectiv R5+ C4) și un filtru activ de ordin II format dintr-un amplificator operațional LT1120, 2 rezistori si 2 condensatoare (R3, R4, C2, C3, respectiv R7, R8, C5, C6) pentru eliminarea zgomotului (figura 2.26, 2.27). Astfel, după aceste filtre se obține o tensiune cu un riplu de maxim 20μV. Referire la figură

Sursă de curent comandată în tensiune

Se implementează 4 surse de curent comandate în tensiune:

3 surse pentru a obține un curent maxim de 30A (fiecare sursă dă un curent maxim de 10A) folosite pentru a obține semnalul util;

o sursă folosită pentru zgomotul de perii colectoare (curentul maxim în acest caz este de aproximativ 650mA).

Fiecare circuit este format din:

– Integrator cu AO (format din amplificatorul LT1120 ,un condensator și un rezistor): are rol de comandă a tranzistorilor si susține în ieșire un curent suficient de mare pentru încărcarea condensatorului din grila tranzistorilor. De asemenea, el compară tensiunea din intrare cu cea din ramura de feedback pentru a obține o mai bună stabilitate a curentului din ieșire.

Pentru a obține aceeași impedanță pe intrările amplificatoarelor, se pun 2 rezistori de aceeași valoare.

Reglajul de offset pentru amplificatoare se realizează de asemenea cu un semireglabil de 5kΩ .

– Feedback : o bucla de reacție negativă care permite o mai bună reglare a curentului prin shunt. Această buclă este realizată cu un amplificator operațional LT1193 care, datorită configurației sale, permite ajustarea câștigului și a offset-ului cu ajutorul rezistorilor semireglabili.

Rezistorii folosiți la calculul amplificării realizate de amplificatorul LT1193, sunt rezistori cu peliculă metalică. Aceștia au coeficient mic de variație cu temperatura (25 ppm/K) și astfel se asigură o mai bună precizie și stabilitate termică a circuitului.

-Tranzistorii N-MOSFET: au rolul de a face conversia curent-tensiune.

Aceștia sunt comandați de către tensiunea din ieșirea amplificatoarelor LT1220.

– RSHUNT : s-a ales un shunt de 10mΩ pentru a obține un curent maxim de 10 A pentru fiecare ramură.

Pentru a micșora puterea disipată pe tranzistori, s-au folosit mai multe surse de curent comandate în tensiune.

Schema electrică:

Partea de putere a circuitul este alimentata la diverse tensiuni cuprinse în intervalul 8V- 16.1V (gama de tensiuni tipica pentru domeniul automotive), iar partea de comandă si control este alimentata separat de lsiți la calculul amplificării realizate de amplificatorul LT1193, sunt rezistori cu peliculă metalică. Aceștia au coeficient mic de variație cu temperatura (25 ppm/K) și astfel se asigură o mai bună precizie și stabilitate termică a circuitului.

-Tranzistorii N-MOSFET: au rolul de a face conversia curent-tensiune.

Aceștia sunt comandați de către tensiunea din ieșirea amplificatoarelor LT1220.

– RSHUNT : s-a ales un shunt de 10mΩ pentru a obține un curent maxim de 10 A pentru fiecare ramură.

Pentru a micșora puterea disipată pe tranzistori, s-au folosit mai multe surse de curent comandate în tensiune.

Schema electrică:

Partea de putere a circuitul este alimentata la diverse tensiuni cuprinse în intervalul 8V- 16.1V (gama de tensiuni tipica pentru domeniul automotive), iar partea de comandă si control este alimentata separat de la rețea. Amplificatoarele operaționale sunt alimentate la ±5V. Se folosesc condensatoare de decuplare pe alimentările amplificatoarelor operaționale ce au rolul de a filtra zgomotele din linia de alimentare si ajută la stabilitatea funcționării acestora. Comanda se face prin 2 intrări PWM la bornele PWM1 și PWM2.

Circuitul de alimentare:

Schema electrică:

Deoarece în cadrul proiectului se folosește un microcontroler și amplificatoare operaționale ce trebuiesc alimentate la +5V, respectiv la 5V, am ales un transformator simetric care are în secundar o tensiune de ±15V.

Convertirea tensiunii din secundarul transformatorului în tensiune continuă se realizează cu ajutorul unei punți redresoare. Aceasta s-a ales in funcție de tensiunea maxima de intrare si curentul necesar pentru alimentarea părții de comanda si control.

Pentru a obține tensiunea dorită, s-a utilizat un regulator de tensiune LM317 pentru alimentarea pozitivă și un LM337 pentru alimentarea negativă.

S-au folosit și regulatoare de tensiune deoarece tensiune necesară pentru amplificatoare și microcontroler trebuie să fie cât mai stabila, fără riplu, lucru care nu este îndeplinit de transformator.

Stabilizatorul de tensiune este un circuit ce furnizează o tensiune constantă la ieșirea sa, indiferent de curentul de sarcină (in limitele constructive), tensiunea de la intrare și de temperatură. În practica însă, se constată că tensiunea de ieșire depinde de acești parametrii. De la regulator la regulator, tensiune de ieșire este menținuta constantă pentru o anumită gamă a tensiunii de intrare si poate funcționa pentru un anumit interval de temperaturi.

Stabilizatoarele de tensiune pot fi de două tipuri:

Cu element de reglaj serie:

Cu element de reglaj derivație:

În cadrul celor două scheme se pot distinge următoarele blocuri:

-TR: traductorul de reacție. Acesta este realizat de obicei cu un divizor rezistiv.

– Vref: tensiunea de referință. Această tensiune este comparată cu tensiunea traductorului de reacție.

– AE: amplificatorul de eroare care realizează compararea celor două tensiune de la intrările sale. Amplificatorul de eroare este de obicei implementat cu un tranzistor sau cu un amplificator operațional.

– ECS: element de control serie, ECD: element de control derivație, realizate cu un tranzistor sau cu o conexiune Darlington (pentru putere mai mare).

– Funcționare: Dacă tensiunea de ieșire crește, crește și tensiunea de pe intrarea inversoare ceea ce va determina scăderea curentului din ieșirea amplificatorului de eroare. Scăderea acestui curent va determina creșterea tensiunii pe elementul de reglaj serie ce va duce la scăderea tensiunii de ieșire. Această funcționare este valabilă la regulatorul cu element de reglaj serie.

În cazul stabilizatorului cu element de reglaj derivație, creșterea tensiunii de ieșire va determina creșterea tensiunii de pe intrarea neinversoare. Aceasta va duce la creșterea curentului/tensiunii din ieșirea AE și în cele din urmă a curentului . Căderea de tensiune de pe rezistorul R se va mări iar tensiunea va scădea.

Regulatorul de tensiune LM317:

Gama de tensiuni precum și domeniu de temperatură în care lucrează acest stabilizator sunt date în tabelul de mai jos, extras din foaia de catalog.

Din tabel se observa că tensiunea de ieșire a acestui regulator poate fi cuprinsă între 3V și 40V. Tensiunea dorită este obținută cu ajutorul unui divizor rezistiv.

Relația de calcul a tensiunii de ieșire este: , =1.25V. Deoarece este 50µA, cel de al 2-lea termen se neglijează.

Relația tensiunii de ieșire rezultă din schema de mai jos:

În cadrul acestui proiect, pentru a obține 5V la ieșirea stabilizatorului, s-au folosit rezistorii și . Prin urmare:

Regulatorul de tensiune LM337:

Curentul de ieșire precum si domeniul în care poate varia tensiunea de ieșire sunt date mai jos:

Relația de calcul pentru tensiunea de la ieșirea stabilizatorului rezultă din schema următoare:

Ca și în cazul stabilizatorului LM317, al doi-lea termen se neglijează.

Tensiunea de -5V a fost obținută cu ajutorul rezistorilor și . Prin urmare:

Informațiile de mai sus au fost extrase din foaia de catalog a regulatorului realizat de firma Texas Instruments.

Condensatoarele de la intrările și ieșirile celor 2 stabilizatoare sunt folosite pentru stabilitate. Condensatoarele de 100nF sunt utilizate pentru filtrarea zgomotelor de înaltă frecvență.

Cele 2 diode și sunt folosite pentru protecție.

Pentru a se observa că circuitul furnizează tensiune la ieșire, s-au folosit doua leduri (LED1 și LED2): unul verde pentru -5V și un led portocaliu pentru alimentarea +5V. Limitarea curentului prin cele două leduri se face cu ajutorul a doi rezistori și .

Circuitul pentru generarea PWM- urilor:

Schema electrică:

Generarea celor două semnale PWM se realizează prin programarea unui microcontroler PIC 16F887 proiectat de firma Microchip.

Microcontrolerul este alimentat la +5V de la circuitul de alimentare. Pentru a crește viteza de lucru se folosește un cuarț extern de 20MHz împreună cu două condensatoare de 15pF.

Resetarea funcționării acestui circuit integrat se realizează de la un buton cu revenire conectat la pinul MCLR( Master Clear Reset).

O baretă de cinci pini este utilizată pentru a programa microcontrolerul. Programatorul utilizat este Pickit3 și se conectează ca în figura de mai jos:

Pentru realizarea modelului motorului se folosesc 2 PWM- uri:

Un PWM pentru comanda modulelor care formează semnalul util (pe pinul CCP1);

Cel de al 2-lea PWM pentru a obține zgomotul de perii colectoare (pe pinul CCP2);

Frecvența acestor două semnale este de 20kHz, iar factorul de umplere variază în funcție de datele încărcate în vectorii corespunzători semnalului util și semnalului de zgomot al periilor colectoare.

Geamul se închide sau se deschide atunci când primește comandă de la ECU (Electronic Control Unit).

Pentru a simula modul în care unitatea electronică de control dă comandă motorului care asigura mișcarea geamului se folosește un divizor rezistiv. Astfel, în momentul când ECU- ul generează comanda pentru ca geamul să se închidă sau să se deschidă (circuitul este alimentat), pe divizorul rezistiv ce este conectat la RB0, apare o tensiune și astfel starea pinului RB0 se schimbă din “0” în “1”.

În momentul în care apare întrerupere pe RB0 (întrerupere externă), se știe că s-a dat comandă de la ECU și astfel se configurează regiștrii pentru startare PWM.

Calcularea valorilor rezistențelor:

,

= tensiunea de intrare minimă pentru starea 1 logic,

Cu o marja de eroare:

Tensiunea de alimentare a circuitului de putere este cuprinsă între 8.9V și 16.1V.

Cazul limită este atunci când sarcina este alimentată la 8.9V.

Astfel: .

Rezultă că:

Se alege .

În paralel cu divizorul rezistiv se pune o dioda Zenner de 5.6V. În cazul în care tensiunea pe pinul RB0 depășește 5.6V(pentru tensiuni de alimentare mai mari de 8.9V), dioda limitează tensiunea la 5.6V și astfel se evită distrugerea microcontrolerului.

Circuitul de conversie PWM -tensiune:

Pentru a obține un semnal continuu dintr-un semnal de tip PWM se folosesc doua filtre trece jos: unul de ordin I și cel de al 2-lea este un filtru activ. Se utilizează ambele filtre pentru a obține un riplu cât mai mic.

Filtrele au o utilizare destul de vastă în domeniul electronicii. Ele se folosesc cu precădere în cazul transmiterii de date pe canale afectate de zgomot.

Tipuri de filtre ideale:

Filtru trece jos:

Schema electrică și caracteristica de transfer a acestui filtru:

Pulsația și frecvența de tăiere a filtrului:

,

Acest filtru lasă să treacă toate semnalele de frecvență din interiorul benzii și anulează semnalele de frecvență din exteriorul ei.

Filtru trece sus:

Caracteristica de transfer si schema electrica pentru filtru trece sus:

În acest caz, filtrul nu lasă să treacă semnalele de frecvență cuprinse în banda de blocare.

Filtru trece bandă:

Schema electrică și caracteristica de transfer a acestui filtru:

Pulsația centrală a filtrului trece bandă este dată de relația: .

Pulsațiile de tăiere: și sunt pulsațiile la care modulul funcției de transfer scade la valoarea:.

Se spune că filtru este cu atât mai selectiv cu cât banda sa este mai îngustă. Calitatea filtrului este apreciată prin selectivitatea sa.

Filtru oprește bandă:

Caracteristica de transfer si schema electrica pentru filtru oprește bandă:

Pulsația centrală a filtrului oprește bandă precum și pulsațiile de tăiere au aceleași formule ca în cazul filtrului trece bandă.

În cadrul acestui proiect se folosesc următoarele doua filtre:

Filtru trece jos de ordin I:cu frecvența de tăiere , a cărui schema electrică este reprezentată în figura 2.21.a).

Filtru trece jos activ:

Se pun următoarele condiții:

Acest filtru este cunoscut sub numele de Sallen Key și este un filtru cu doi poli (de ordin II) ceea ce face ca panta să fie mai abruptă.

Schema electrică a circuitului de conversie utilizat pentru semnalul util:

Rezistorii și formează un divizor rezistiv care adaptează tensiunea de la intrare din intervalul 0V- 5V în intervalul 0V- 1V. Prin urmare, dacă la intrare avem un semnal PWM cu factor de umplere 0%, la ieșirea acestui circuit vom avea 0V, iar pentru un factor de umplere de 100%, la ieșire se obține o tensiune continuă de 1V.

Frecvența semnalului PWM este de 20 KHz. Astfel,se alege ca filtru trece jos de ordin I (format din și )să aibă frecvența de tăiere de 4.82 kHz, iar componentele filtrului trece jos activ ( și amplificatorul LT1220) se aleg astfel încât să aibă o frecvență de tăiere de 2 kHz. Aceste frecvențe de tăiere sunt mai mici decât frecvența PWM-ului și mai mari decât frecvența maximă a semnalului care trebuie refăcut, aceasta fiind data de pulsul de pornire a motorului (inrush) care este de aproximativ 6ms => o frecventa de ~ 160Hz.

Schema electrică a circuitului de conversie utilizat zgomotul de perii:

Frecvența zgomotului este de aproximativ 800 Hz.

În cazul semnalului util, pentru un factor de umplere de 100%, se obține o tensiune continuă de 1V și un curent maxim de 30A. Pentru a putea reproduce semnalul de zgomot a periilor colectoare, se dorește ca pentru un factor de umplere de 100%, să avem un curent maxim de 650mA. Îndeplinirea acestei cerințe se realizează printr-un divizor rezistiv format din rezistorii și . Valorile lor rezultă din următoarele calcule:

1V pentru 30A

? pentru 650mA

Se dorește ca valoare lui să se rămână 33. Valoare lui va rezulta astfel:

Deci . În urma unor teste s-a ales ca .

Pentru a reproduce zgomotul cât mai bine, frecvențele de tăiere ale celor două filtre se aleg mai mari de 5kHz și mai mici de 20kHz. Astfel, frecvența de tăiere a filtrului trece jos de ordin I (format din și ) se alege de 14.61 kHz, iar pentru filtrul trece jos activ ( și amplificatorul LT1220) frecvență de tăiere este de 8 kHz.

Pentru reglajul de offset se folosește un rezistor semireglabil (trimmer) de 5KΩ .Valoarea a fost aleasă în urma unor calcule efectuate în programul Mathcad, calcule ce sunt atașate la acest proiect în anexa 1. Reglarea offset-ului se realizează prin scurtcircuitarea celor două intrări ale sale și punerea lor la masa. Semireglabilul se ajustează astfel încât sa avem 0V la ieșirea amplificatorului.

Sursa de curent comandată în tensiune:

Schema electrică:

Acest circuit este o sursă de curent comandată în tensiune. Comanda tranzistorului MOS se face cu ajutorul amplificatorului operațional LT1220.

Generalități amplificatoare operaționale:

Amplificatoarele operaționale au o gamă largă de utilizare în domeniul electronicii. Se pot folosi ca amplificatoare, filtre active, circuite de formare a impulsurilor, comparatoare, generatoare pentru diferite forme de undă.

Schema este reprezentată mai jos:

Amplificatorul este caracterizat de următoarea ecuație: .

Tensiunea de la ieșire este egală cu amplificarea în buclă deschisă A înmulțită cu diferența tensiunilor de intrare. Amplificarea A este o funcție ce depinde de frecvență, iar în curent continuu această amplificare are valoare maximă.

Proprietăți ale amplificatoarelor operaționale:

Ideal, amplificarea A nu trebuie sa depindă de mărimea semnalului de la Intrare. În realitate însă, A este dependentă de mărimea semnalului de intrare, de temperatură, de timp, de tensiunea sursei de alimentare

Sunt caracterizate de o tensiune de decalaj( offset) ce apare între cele două intrări . Această tensiune este diferită de zero, este dependentă de temperatură și variază de la un amplificator la altul. Astfel apare amplificarea de mod comun notată . În mod ideal, acesta tensiune este egală cu zero.

Ideal, curenții de polarizare sunt egali:.În realitate această condiție nu este îndeplinită.

Impedanța de intrare este infinită în mod ideal.

Ideal, impedanța de ieșire este egală cu zero.

Unele proprietăți ale amplificatoarelor pot fi îmbunătățite prin introducerea unei bucle de reacție negativă. Astfel stabilitatea circuitului se îmbunătățește, cresc banda și frecvența de lucru,se diminuează neliniaritățile.

Configurații ale amplificatoarelor operaționale:

Amplificator repetor:

În acest caz, factorul de reacție este egal cu 1.

Repetorul este caracterizat de următoarele relații:

. În cazul în care A1, 1.

Amplificator neinversor cu reacție negativă:

În acest caz, sursa de tensiune de intrare este conectată la intrarea neinversoare.

Relațiile ce caracterizează acest circuit:

, , poartă numele de factor de reacție

Amplificarea circuitului neinversor cu reacție ( este calculată cu formula:

Dacă amplificarea A este suficient de mare astfel încât: , atunci .

Amplificator inversor cu reacție negativă:

În cadrul acestei configurații, sursa de tensiune de la intrare este conectată la intrarea inversoare.

Circuitul este descris de următoarele relații:

Factorul de reacție pentru această configurație: , iar amplificarea cu reacție este dată de:

Dacă amplificarea A este suficient de mare astfel încât: , atunci amplificarea în buclă închisă devine: .

Amplificator diferențial cu reacție negativă:

Ecuațiile ce descriu funcționarea amplificatorului:

, și

, , și

Cu aproximările făcute mai sus, .

Amplificator operațional derivator:

Se definesc următoarele frecvențe:,

Pentru o frecvență f [1Hz, ], circuitul se comportă ca un derivator.

Pentru o frecvență f > , circuitul se comportă ca un amplificator inversor.

Amplificator operațional integrator:

Se definesc: și

Pentru o frecvență f [1Hz, ], circuitul se comportă ca un amplificator inversor, iar pentru [],circuitul este integrator.

Amplificatorul LT1220 în această schemă formează împreună cu un integrator. Acesta are rolul de a comanda tranzistorul MOS care funcționează(se plasează) în regiunea de triodă, obținându-se astfel forma de undă dorită. Cu ajutorul buclei de reacție negativă se asigură o mai bună stabilitate a tensiunii de la ieșirea amplificatorului. În acest caz, LT1220 are și rol de comparator: el compară tensiunea citită de pe shunt( cu ajutorul amplificatorului LT1993) de pe intrarea sa inversoare, cu tensiunea de pe intrarea neinversoare. În cazul în care apar diferențe între ce aceste tensiuni, amplificatorul LT1220 le compensează

Rezistorul nu are nici o influență asupra schemei, ci are rolul de a asigura bucla de reacție negativă la joasă frecvență, caz în care condensatorul se comportă ca un gol.

Timpul de integrare este calculat astfel încât să forma semnalului util. În cazul de față, cea mai rapidă variație din semnal (care nu trebuie afectată) este dată de pulsul de pornire a motorului (durata acestuia este de aproximativ 6ms)

Relația de calcul a timpului de integrare: . Pentru acest proiect:

Caracteristici ale amplificatorului:

Dintre caracteristicile prezentate mai sus, cele de interes pentru acest proiect sunt: tensiunea de decalaj de la intrare,tensiunea de drift.

Amplificatorul LT1193 este un amplificator diferențial ce permite controlul amplificării precum și reglajul tensiunii de offset.

Caracteristicile amplificatorului LT1193:

Se observă că acest amplificator are un slew rate de 500V/µs. Prin slew rate se înțelege viteza maximă de variație a semnalului de la ieșire. În acest caz, este avantajos ca semnalul de ieșire să varieze cât mai rapid . Astfel, amplificatorul LT1220 are posibilitatea de a compensa variațiile mai repede iar tensiunea de comandă este mai fină( cu riplu mic).

Tot din foaia de catalog a acestei componente, se citesc tensiunea de offset, tensiunea de drift, curentul de polarizare( date de interes).

Configurația folosită în cadrul acestui proiect:

Pentru realizarea amplificării se folosesc rezistori cu peliculă metalică: , . Aceștia au un coeficient de variație cu temperatura de 25ppm și toleranță de 0.1% ceea ce ajută la o mai bună stabilitate a amplificării și la o variație mai mică cu temperatura a acesteia. Pentru reglarea amplificării se utilizează un rezistor semireglabil . Valorile acestor componente s-au ales în urma calculelor atașate acestei documentații în anexa 1.

Câștigul amplificatorului LT1993 este dată de relația:

Amplificarea se reglează la curentul maxim pe care dorim să îl obținem.

Pe alimentările celor două amplificatoare operaționale,se pun două condensatoare: un condensator de 100nF pentru a filtra zgomotele de înaltă frecvență și un condensator de 4.7µF de tantal cu rolul de a oferi stabilitate.

Tranzistorul folosit în cadrul acestui proiect este un tranzistor MOS( Metal Oxide Semiconductor) cu canal N indus.

Acest tranzistor are trei terminale:

Grila( poarta) :electrodul ce comandă comportarea dispozitivului;

Drena: electrodul către care se îndreaptă sarcinile electrice;

Sursa: electrodul dinspre care pleacă sarcinile electrice;

Tranzistorul cu efect de câmp are simbolul și caracteristica de transfer ca mai jos:

La acest tranzistor, tensiunea controlează curentul de drenă.

Din caracteristica de transfer se pot distinge patru regiuni de funcționare ale acestei componente semiconductoare:

Regiunea de blocare: în această regiune tensiunea grilă sursă este mai mică decât

tensiunea de prag ( , iar 0. Nu se formează canal între drenă și sursă și din această cauză curentul de drenă este nul .

Regiunea de triodă: tranzistorul se comportă ca o rezistență a cărei valoare este

controlată în tensiune. Această regiune este caracterizată de următoarele relații:

Regiunea activă (de saturație):

Caracteristici:

,

Pentru , curentul de drenă rămâne constant și egal cu valoarea de le limita regiunii triodă.

În cadrul acestui proiect, tranzistorul lucrează în regiunea de triodă, regiune în care semiconductorul este o rezistență reglabilă ce depinde de tensiunea de comandă din grila sa. În funcție de tensiune primită, acesta deplasează punctul static de funcționare pe caracteristica sa astfel încât să se obțină forma de undă dorită.

BUK753R8-80E este tranzistorul utilizat în acest caz și a fost ales pentru următoarele caracteristici:

Am ales un tranzistor de putere cu un curent de drenă de minim 10 A. Conform datelor de catalog, se observă că putere maximă ce poate fi disipată pe tranzistor (cu radiator adecvat) este mai mare decât puterea rezultată din calcule.

Din graficul zonei de funcționare în condiții de siguranță, se poate observa că pentru o tensiune tranzistorul suportă un curent de 10A pentru un timp de 100ms.

În proiectul de față prin fiecare tranzistor va trece de un curent drenă de aproximativ 7A pentru un timp de 6ms( pentru inrush) și un curent aproximativ 8A la blocare pentru un timp de 500ms.

Din simularea realizată în programul LTSpice, se poate observa că tensiunea drenă sursă a tranzistorului MOS este de aproximativ 9V.

Din figura 2.39, se deduce că pentru o tensiune , poate circula un curent de 8A în mod continuu.

Alte informații utile din foaia de catalog sunt cele referitoare la caracteristicile termice necesare la calculul de puteri.

Deoarece puterile disipate pe tranzistori sunt suficient de ridicate, se folosește un radiator cu rezistență termică de 0.05 . Radiatorul s-au ales în urma unor calcule de puteri atașate acestei documentații în anexa 1.

Rezistorul: și condensatorul au rolul de a preveni propagarea zgomotelor care ar putea fi induse în intrarea amplificatorului când conectorul cu semnalul de comanda nu este conectat (să nu se lase intrarea flotantă).

Rezistorii: și de valoare 2.7kΩ sunt folosiți pentru a asigura aceeași impedanță pe intrarea inversoare și cea neinversoare a amplificatorului operațional, deci pentru a avea curenți de polarizare egali( .

Rezistorul are rolul de a limita vârfurile curentului de încărcare/descărcare a grilei transistorului MOS ce apar de obicei la pornire si oprire, dar si atunci când apare o diferența mare între curentul de drena si curentul prescris (conform cu forma de unda a curentului stocata in microcontroler).

Inițial, această parte din proiect a avut o alta configurație. Cu un singur amplificator operațional, se comandau trei tranzistori conectați în paralel.

În urma unor teste, s-a demonstrat că prin unii tranzistorii circula un curent mai mare, iar prin ceilalți un curent mai mic. Curentul prin tranzistorii conectați în paralel nu era același așa cum se dorea datorită capacității grila sursă care diferă de la componentă la componentă datorita dispersiei tehnologice. Astfel, trecerea tranzistorilor prin regiunea de triodă era diferită. Din acest motiv s-a ajuns la configurația actuală și anume fiecare tranzistor are comandă separată.

Alt avantaj este faptul că, dacă se dorește un curent mai mare, de exemplu de 50A, se mai adaugă două astfel de module.

Puntea redresoare:

Schema electrică:

Motorul de curent continuu se poate învârti în ambele sensuri:de la dreapta la stânga și de la stânga la dreapta,în funcție de polarizarea primită prin tranzistoarele care formează puntea H.

Pentru schema de mai sus, în momentul în care conduc tranzistorii N1 și P1, motorul se învârte de la stânga la dreapta, iar când conduc N2 și P2, motorul se învârte în sens contrar.

Deoarece în interiorul sarcinii electronice, curentul circulă într-un singur sens, pentru a putea simula comanda dată pentru ca motorul să se învârtă în ambele sensuri, se folosește o punte redresoare cu tranzistori. LT4320 este driver- ul utilizat pentru comanda acestor tranzistori și poate fi folosit pentru redresarea unor tensiuni continue sau tensiuni ce a frecvență de până la 600Hz.

Uzual, puntea redresoare este formată cu ajutorul a patru diode. Însă, pentru maximizarea tensiunii și pentru reducerea puterii disipate, diodele se înlocuiesc cu tranzistori. Tranzistorii au o rezistență drena – sursă mică și când se află în regiunea saturată, puterea disipată pe ei este mică.

Diferența dintre temperatura la care ajunge o diode și un tranzistor se poate vedea mai jos:

Tranzistorii care formează puntea H au o rezistență drenă – sursă .

Puterea disipată pe tranzistori se calculează astfel:

Pentru un curent maxim de 30A,

. Se folosește un radiator și în acest caz pentru a prelua o parte din puterea disipată pe tranzistori.

Schema finală:

Simularea schemei electronice:

Pentru simulare s-a folosit programul LTSpice produs de firma Linear Technology. A fost simulată o singură ramură pentru a se verifica funcționarea corectă a schemei.

La intrarea circuitului s-a folosit o sursa de tip PULS, iar pentru verificarea funcționării circuitului, a fost variat factorul de umplere. Perioada semnalului este de 50 (frecvența de 20kHz).

Astfel, la un factor de umplere de 10% (Ton=5), corespunde o tensiune de ieșire de 10mV, respectiv un curent de 1A (I= ).

Pentru un factor de umplere de 50% (Ton=25), corespunde o tensiune de ieșire de 50mV, respectiv un curent de 5A (I= ).

La un factor de umplere de 100% (Ton=50), corespunde o tensiune de ieșire de 100mV, respectiv un curent de 10A (I= ).

Se observă că schema electrică proiectată funcționează în mod corespunzător.

În etapa de simulare s-au ales și cele două filtre folosite pentru a converti semnalul PWM într-o tensiune continuă: filtru trece jos de ordin I și filtru trece jos activ de ordin II. În reprezentarea grafică de mai jos, semnalul cu albastru este semnalul de la ieșirea filtrului trece jos de ordin I, iar cel cu verde reprezintă semnalul de la ieșirea filtrului trece jos activ de ordin II.

După filtru trece jos de ordin I, semnalul are un riplu de 20mV, iar după filtru activ, riplul este de 0.15mV(150µV).

Layout

Atât schematicul cât și layout-ul au fost realizate în programul Eagle versiunea 6.3.

Deoarece nu au fost găsite toate componentele, s-au creat librarii pentru anumite componente. Câteva reguli ce au fost respectate:

Nu se fac trasee la 90°;

Grosimea traseului este direct proporțională cu valoare curentului care trece prin el

Se respectă o anumită distanță între componente și între trasee astfel încât să nu se

influențeze între ele;

Se pun condensatoare de filtrare pe fiecare intrare de semnal, deoarece conectarea

plăcuțelor se face prin intermediul unor cabluri care pot aduce zgomote de înaltă frecvență;

Componentele au fost distribuite astfel încât să nu se influențeze între ele;

PCB- urile pentru toate modulele:

Placa de alimentare:

Se poate observa că traseele de putere sunt mai groase deoarece curentul prin (puterea disipată pe) acestea este mai mare.

Placa cu microcontroler:

Placa pentru circuitul de filtrare:

Placa pentru sursa de curent comandată în tensiune:

Și în cazul acestui modul sunt trasee de diferite grosimi, în funcție de valoarea curentului care circulă prin ele.

Placa pentru puntea redresoare:

Deoarece sunt trasee prin care vor circula aproximativ 24A, acestea au fost întărite cu fludor.

Prelucrarea datelor obținute din formele de undă ale motorului de curent continuu

Datele obținute din formele de undă au fost salvate în format .dat și prelucrate în simulatorul Matlab versiunea 7.12. Eșantionarea semnalului de pe osciloscop s-a făcut cu o frecvență de 20KS/s ( 20000 de valori într-o secundă).

S- a încercat inițial ca datele să se salveze într-un singur vector însă, deoarece destinatarul care primește aceste date ( programul MPlab) este limitat, s-a renunțat la această idee. Astfel, s-a recurs la metoda de a împărți semnalul în trei vectori: inrush, continuu și blocare. De asemenea, deoarece amplitudinea zgomotului de perii colectoare de aproximativ 600mA este mult mai mică în comparație cu amplitudinea semnalului util (un maxim de aproximativ 22A), s-a ales să se prelucreze separat cele două semnale.

Datele prelucrate sunt cele din cazul în care motorul nu are sarcină.

Pașii din cadrul programului Matlab sunt:

Încărcarea semnalului inițial

Se elimină zerourile de dinaintea inrush- ului și după blocare

Pentru separarea zgomotului de semnalul util se folosește un filtru trece jos Butterworth. Semnalul filtrat arată ca mai jos:

S-a ales un filtru Butterworth de ordin 7 și cu frecvență de tăiere de 100Hz, zgomotul de perii având o frecvență de aproximativ 800Hz. .

Zgomotul de perii:

Deoarece zgomotul de perii este un semnal periodic, pentru a reduce din datele ce urmează a fi încărcate in MPlab, se memorează doar o perioadă din acesta în vectorul zgomot.

După extragerea zgomotului, semnalul util este reeșantionat cu o frecvență de 500Hz. S-a recurs la o reeșantionare pentru a reduce numărul valorilor din vectorii ce vor fi folosiți în MPlab, semnalul păstrându-și forma inițială.

Deoarece în funcție de aceste valori se generează un semnal PWM, pentru a avea sensibilitate maximă, se efectuează o re-scalare a datelor semnalului util. Astfel, pentru un curent maxim de 30A, vom avea un PWM cu factor de umplere de 100% (valorii 30 îi va corespunde valoarea 255).

Semnalul util este împărțit în trei semnale, memorate în 3 vectori: s_inrush, s_block, s_continuu.

Deoarece în funcționarea continuă, valoarea semnalului este aproximativ aceeași, semnalului continuu îi corespunde o singură valoare formată din media tuturor valorilor din această regiune:

l_continuu=length(s_continuu);

t_continuu=(0:l_continuu-1)/f_reesantionat;

medie_s_continuu=mean(s_continuu)

După aceste prelucrări, vectorii corespunzători celor trei regiuni: inrush, funcționare continuă și blocare, sunt salvați în fișiere .txt. Acești vectori conțin date de tip întregi pentru a ocupa mai puțin spațiu în memoria de date a microcontrolerului.

Codul corespunzător salvării vectorului inrush, de exemplu, este descris mai jos:

%inrush

fid=fopen('inrush_8biti.txt','w');

for i=1:l_inrush

fprintf(fid,'%d,', round(s_inrush(i)));

% if mod(i,100)==0,fprintf(fid,'\n');

% end

End

Și în cadrul zgomotului s-a recurs la o normalizare pentru a obține o sensibilitate cât

mai bună. Normalizarea în domeniu [0, 255] se realizează prin următorul cod:

%normalizare

minim=min(zgomot);

maxim=max(zgomot);

for i=1:length(zgomot)

zgomot(i)=((zgomot(i)-minim)/(maxim-minim))*255;

end

Astfel, valorii minime a zgomotului îi va corespunde valoarea 0, iar maximului zgomotului îi va corespunde 255.

Algoritmul ce descrie pașii de mai sus este atașat la sfârșitul acestei lucrări.

Înainte ca vectorii să fie folosiți în programul MPlab, s-a reconstituit semnalul din cei trei vectori pentru verificare.

Codul pentru reconstituirea semnalului din cei trei vectori este atașat în anexa 2 a acestei lucrări.

Implementarea softului

După formarea celor trei vectori, s-a trecut la formarea programului care generează semnalele PWM necesare pentru a se realiza comanda tranzistorilor MOS. Pentru aceasta, s-a folosit programul MPLab.

Microcontrolerul PIC16F887 este programat astfel încât să se genereze semnalele PWM corespunzătoare semnalului util și a zgomotului de perii colectoare a motorului de curent continuu.

Date despre microcontrolerul PIC16F887:

›memoria de date(RAM= Random Access Memory): are 368 bytes este împărțita pe patru bank- uri;

›memoria de program (ROM= Read Only Memory): are 8 kilobytes;

›memoria stivă este pe 13 biți și este o parte din memoria RAM. Stiva este folosită în rutina de întrerupere și alcătuită din 8 nivele;

›memoria EPROM (Electrically Erasable Programmable Read-Only Memory): are 256 bytes

›are disponibil mai multe module:

două comparatoare analogice;

convertor analog digital cu rezoluție de 10 biți și 14 canale;

PWM: poate fi simplu, jumătate de punte sau punte întreaga;

transmisie de date USART (Universal Synchronous Asynchronous Receiver

Transmitter);

›are trei circuite timer:

timer 0:timer/numărător pe 8 biți cu ;

timer 1:timer/numărător pe 16 biți;

timer 2: timer/numărător pe 8 biți;

›mai multe tipuri de întreruperi:

întrerupere pe timer 0;

întrerupere periferică ;

întrerupere externă;

întrerupere pe Portul B;

Registrul INTCON este cel care ține evidența tuturor întreruperilor. O întrerupere se realizează în momentul în care au loc doua evenimente:

bitul de ‘enable’ este pus în ‘1’ logic;

bitul de ‘flag’ este de asemenea ‘1’ logic;

Semnalele PWM au o frecvență de 20kHz. Inițial am încercat să generez semnalele PWM cu o frecvență de 66kHz pentru a avea o precizie mai bună, o redare mai exactă a zgomotului. Acest lucru nu s-a putut realiza deoarece microcontrolerul nu reușea să termine toate operațiile înainte de a intra într-o nouă întrerupere pentru a-și schimba valoarea încărcată în registrul pentru PWM.

Inițializare regiștri utilizați în proiect

Pentru generarea semnalelor PWM se folosește timer 2 ce conține informații despre acestea. Regiștrii folosiți sunt următorii:

PR2: este registrul ce conține informația asupra perioadei semnalului PWM.

Acest microcontroler poate genera două PWM- uri dar cu aceeași perioadă.

Formula de calcul a perioadei semnalului PWM este extrasă din foaia de catalog a microcontrolerului:

În cazul nostru: PWM Period= 50µs, TOSC=50ns, TMR2 Prescaler Value=1.

Din formula de mai sus rezultă că: .

PR2 este un registru pe 8 biți. În cazul în care PR2 era mai mare de 255, se alegea un prescarel mai mare ce are rol de divizare de frecvență.

T2CON: biții b1 și b0 conțin informații despre prescaler-ul timer-ului 2. Pentru

a seta prescaler- ul 1, acești biți se pun în 0 logic. De asemenea, pentru activare timer 2 răspunde bitul b3. Inițial, timer 2 este oprit, iar activarea lui se va face în momentul în care se alimentează sarcina electronică.

CCP1CON, CCP2CON: Structura acestor regiștrii este următoarea:

Biții cei mai semnificativi: P1M1, P1M0 sunt folosiți pentru a preciza configurația PWM- ului (în acest proiect b7b8=00: single output), iar biții 5 și 4 sunt biții cei mai nesemnificativi ai factorului de umplere pentru PWM.

CCPR1L, CCPR2L: conțin informația despre cei mai semnificativi biți ai

factorului de umplere a semnalelor PWM.

Deoarece se folosește un cuarț extern de 20 MHz, pentru un semnal modulat în impuls cu frecvența de 20kHz,nu se poate folosi decât o rezoluție de 9 biți. Acest lucru este ilustrat în tabelul de mai jos:

În program, am utilizat doar biții din registrul CCPRxL (x=1,2), iar biții cei mai puțin semnificativi au fost inițializați cu valoarea zero, neavând o importanță prea mare.

Calculul factorului de umplere se realizează cu formula:

Deoarece valorile vectorilor corespunzătoare celor trei semnale au fost reeșantionate înainte de a fi introduse în acest program, pentru a se obține forma de undă a semnalului final cu timpii corespunzători se folosește timer 0 cu rol de temporizare.

Vectorul corespunzător semnalului de zgomot, v_zgomot[], este un vector cu 22 de elemente. Acest semnal este un semnal periodic, iar pentru a nu încărca memoria de date a microcontrolerului, se folosește un vector ce conține valorile corespunzătoare unei singure perioade. Valorile se actualizează la un interval de 50µs și în acest fel se alege ca timer 0 să de o întrerupere odată la 50µs.

Semnalul util a fost reeșantionat cu o frecvență de 500Hz. Astfel, valorile celor trei vectori ce reprezintă semnalului util, trebuie schimbate odată la 2ms ce corespund la 40 de întreruperi ale timer-ului 0 (2ms= 40*50µs).

Pentru a seta ca întreruperea timer-ului 0 să se efectueze la 50µs, se utilizează următorii regiștrii:

TMR0: este încărcat cu o valoare pe 8 biți, astfel încât să se obține o

întrerupere la 50µs în acest caz. Principiul de calcul:

La 4 MHz 1 ciclu mașină = 1µs

La 20 MHz 1 ciclu mașină = 0.2 µs

Rezultă că pentru 50 µs corespund . TMR0 se încarcă cu 5 (255-5).

Numărul de inițializare pentru TMR0 se poate deduce și din calculul următor:

Același rezultat s-a obținut și din prima metodă de calcul.

În practică, TMR0 a fost programat să numere de la valoarea 93. Aceasta se datorează compilatorului care, codului scris în limbajul C îi asociază un cod în limbaj mașină. Pentru a nu apărea probleme de acest tip, se poate alege un alt compilator sau se poate programa microcontroler-ul în limbaj ASAMBLER.

Aceasta rezultă din următoarea diagramă:

Se dorește ca generarea semnalelor PWM să înceapă în momentul în care sarcina electronică este alimentată. Pentru a detecta acest moment, este folosită întreruperea externă pe pinul RB0. Dacă acesta este folosit pentru întreruperea externă, el trebuie să fie setat ca pin de intrare cu ajutorul registrului TRISB( RB0=input dacă bitul 0 al registrului TRISB este în 1 logic). De asemenea trebuie dezactivate și intrările analogice: regiștrii ANSEL și ANSELH se inițializează cu 0 .

Pe RB0 este conectat un divizor rezistiv alimentat la aceeași tensiune la care este alimentată și circuitul care simulează comportamentul motorului. În momentul în care sarcina electronică este alimentată, pe pinul RB0 apare o întrerupere și în acest moment se activează TMR2, generându-se astfel semnalele PWM.

Regiștri folosiți pentru întreruperile microcontrolerului sunt:

OPTION_REG: semnificația biților este prezentată mai jos:

b6= 0: întreruperea externă are loc pe frontul crescător, atunci când RB0 trece din 0 logic în 1 logic;

b5= 0: Sursa semnalului de clock pentru timer 0 este ;

b3= 1: Prescalerul este asignat “câinelui de pază” (Watch Dog) pentru ca prescalerul

timer-ului 0 să poată fi 1;

b2b1b0 =000: prescaler timer 0 este 1;

INTCON: este registrul întreruperilor.

b7: bitul întreruperilor globale. Acest bit trebuie activat (pus în ‘1’) atunci când se intră într-o rutină de întrerupere și dezactivat atunci când se iese din întreruperea respectivă. Dacă programul este scris în C, atunci GIE este activat/dezactivat în mod automat;

b5: T0IE= activare întrerupere timer 0. Întreruperea pe timer 0 este dezactivată inițial, aceasta urmând să se activeze în momentul alimentării sarcinii electrice;

b4: INTE=1: activare întrerupere externă (pe RB0);

b2: T0IF=0: stegulețul pentru timer 0. Acesta devine ‘1’ în momentul în care avem întrerupere pe timer 0. Inițial, valoarea sa este ‘0’ și trebuie pus în ‘0’ după fiecare întrerupere;

b1: INTF=0: stegulețul pentru întreruperea externă. Ca și în cazul timer-ului 0, acesta devine ‘1’ în momentul în care avem întrerupere pe pinul RB0. Inițializarea și resetarea lui se face la fel ca și pentru T0IF;

După inițializarea tuturor regiștrilor, se intră în programul principal compus dintr-o buclă repetitivă de tip while în care se așteaptă până în momentul în care apare o întrerupere. Inițial timer 0 este dezactivat, prin urmare, prima întrerupere în care se intră este rutina de întrerupere externă. Astfel, se știe că circuitul care simulează comportamentul motorului a fost alimentat, iar timer 0 și timer 2 sunt activate pentru generarea semnalelor necesare pentru formarea comenzii din grila tranzistorilor.

Pentru a ști când să se treacă de la un vector la altul (inrush, funcționare continuă, blocare) se știe lungimile acestor vectori. La final, se rămâne în ultima valoare din vectorul blocare până când se oprește alimentarea sarcinii electronice . Această acțiune este sesizată tot de o întrerupere a pinului RB0, care, după ce a fost alimentată sarcina, s-a modificat bitul b6 al registrului OPTION_REG astfel încât întreruperea pe RB0 să fie pe frontul căzător:

if(INTF==1)

if(INTEDG==1)

{ INTEDG=0;

TMR2ON=1; // Start PWM

T0IE=1; // Timer0=ON

i=0,j=0;

TMR0=93; //50us

T0IF=0; // Flag Timer0=0

INTF=0; // Flag RB=0

}Descrierea acestor operațiuni este atașată proiectului în anexa 3.

Realizarea practica a proiectului

Simulare părții software pe schema electrică în simulatorul ISIS (Proteus).

Înainte de implementarea practică a proiectului, s-a făcut o verificare a softului pe circuitul realizat în capitulul II. Simularea a fost realizată în programul ISIS.

Pentru schema electrică s-a folosit o singură buclă pentru semnalul util ( un curent maxim de 10A) și bucla pentru zgomot.

Formele de undă obținute în urma simulării:

Semnalul util:

Se poate calcula amplitudinea inrush- ului pentru a se verifica funcționarea corectă.

Se observă că funcționarea schemei proiectate se apropie de ceea ce se dorește.

Zgomotul de perii colectoare:

Se observă că perioada semnalului de zgomot este foarte aproape de perioada reală (1.25ms=).

Inițial s-a încercat ca semnalul PWM să fie pe o frecvență de 66kHz pentru o redare mai bună a semnalului de zgomot însă, în urma simulării în acest program, am ajuns la concluzia că microcontrolerul nu reușește să își termine ceea ce are de făcut în interiorul unei întreruperi că el ar trebuie să intre într-o altă întrerupere. Acest lucru se poate observa mai jos:

Deși semnalul de zgomot este reprodus mai bine față de cazul în care semnalul PWM are o frecvență de 20kHz, din forma de undă se poate observa de asemenea că perioada este de 4ms (de două ori mai mare decât ar trebui să fie). Practic, microcontrolerul face o întrerupere odată la 100µs și nu la 50µs la cât a fost programat (când microcontrolerul se află într-o întrerupere GIE este pus în zero și orice întrerupere care vine în acest timp, trebuie să aștepte până se iese din cea existentă).

Semnal util plus zgomot:

Sumarea celor doua semnale s-a realizat cu un amplificator operațional în configurația repetor.

Implementarea părții practice

Inițial am realizat circuitul pe o placă de test formată doar din două module și am

folosit un shunt mai mare(50mΩ ) pentru a reduce curentul și a micșora puterea disipată pe tranzistor. În acest fel s-a urmărit funcționarea corectă a schemei.

Rezultatele obținute:

Pentru un shunt de 50mΩ, curentul ce corespunde la un factor de umplere de 100%, este de 1.4A. Raportul este de , curentul este de 5 ori mai mic în acest caz.

Astfel, la un curent de 7A cât corespunde regiunii de blocare printr-o singură ramură, printr-un shunt de 50mΩ va corespunde un curent de: Deoarece pentru test s-au folosit 2 shunt-uri, curentul maxim ce se poate obține este de 2.8A.

Din forma de undă de mai sus se observă că la blocare, avem un curent de 6.7*400mA=2.68A.

Pe aceeași plăcuță de test am testat și softul pentru semnalul de zgomot. Rezultatul a fost următorul:

Forma de undă galbenă reprezintă tensiunea de comandă din grila tranzistorului iar cea cu verde corespunde curentului prin shunt. Amplitudinea curentului este de 1.5*100mA=150mA. Înmulțită cu 5 (deoarece avem un shunt de 50mΩ) ne dă o amplitudine vârf la vârf de 750mA.

După ce s-a verificat funcționarea circuitului proiectat și a softului s-a creat layout-ul pentru fiecare modul.

Pentru crearea plăcuțelor finale s-au parcurs următoarele etape:

S-a printat pe folie de retroproiector layout-ul pentru fiecare plăcuță;

Placa PCB, a fost curățată cu alcool și dată cu fotorezist;

După uscare, foliile au fost puse deasupra PCB-ului și au fost expuse la radiație UV timp de 10 minute. În urma expunerii s-au marcat traseele pe placă.

Fotorezistul din zonele în care nu erau de interes s-au curățat cu o de developat

Pentru reducerea suprafețelor de cupru, plăcuțele au fost introduse într-o soluție de

clorură ferică și au fost ținute în jur de o oră, până când procesul de corodare s-a încheiat.

După ce plăcuțele au fost finisate, s-au dat găuri pentru componentele true hole și

pentru conectori;

În urma acestor procese, s-au lipit componentele, s-au realizat conectorii și s-au conectat plăcuțele ca în schema finală.

Concluzii:

Sarcina electronică implementată va fi utilizată pentru diverse teste în cadrul companiei Continental.

Avantajele utilizării unei sarcini electronice în locul unui motor de curent continuu sunt:

Ansamblu compact pentru testare. În acest fel se renunță la partea mecanică (portiera mașinii);

Prețul mai scăzut se înlocuiește ansamblul motor împreună cu partea de mecanică necesare pentru mișcarea geamului, cu un singur dispozitiv;

Nu produce zgomot fonic ceea ce face posibilă folosirea sarcinii electronice implementate în birou;

Circuitul proiectat poate fi folosit pentru simularea diferitelor configurații: diferite motoare, sarcini. El poate fi reconfigurat (programat) pentru folosirea pe proiecte diferite.

Posibile optimizări:

Detecția opririi într-o poziție intermediară a motorului și adaptarea formei de undă pentru a pleca din acest punct. În cazul de față, s-a implementat ca sarcina electronică, atunci când este alimentat blocul de putere, să simuleze parcurgerea întregii curse. Însă, pentru a putea reproduce exact comportament motorului utilizat la macaraua de ridicare a geamului de la mașină (window lifter), forma de undă a curentului prin motor trebuie să arate ca în figura 2.2 b), când se dorește ca geamul să fie semideschis. De asemenea, dacă motorul nu este la capăt de cursă la un anumit moment și se dorește ca geamul să se închidă, în momentul în care se alimentează blocul de putere, forma de undă ar trebui să conțină inrush-ul, partea de funcționare continuă de durată ce corespunde distanței necesare motorului până la capăt și partea de blocare.

Implementarea unui modul care să simuleze senzorul Hall. De obicei, poziția motorului pe macara este cunoscută cu ajutorul senzorului Hall. Acesta are rolul de a detecta poziția magnetului permanent a motorului și dă un impuls la fiecare turație. Numărul de impulsuri este contorizat de către unitatea electronică de control care compară acest număr cu numărul de impulsuri ce corespunde unei întregi curse (acest număr este memorat în ECU). În momentul în care motorul ajunge la capăt de cursă (numărul de impulsuri contorizate este egal cu numărul de impulsuri corespunzătoare, unitatea electronică de control întrerupe alimentarea motorului.

Realizarea unei interfețe grafice;

Bibliografie

1.Generare PWM:

http://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fmce.utcluj.ro%2Flucrari%2FPWM.doc&ei=bzanU-LDMoLC7AbHpICwCA&usg=AFQjCNGJQG_g7weIybILwdngNnBthKTvFw&bvm=bv.69411363,d.bGE&cad=rja

http://mp-info.blogspot.ro/2014/03/modulul-periferic-adc-generare-semnal.html

2.Stabilizator

http://www.creeaza.com/tehnologie/electronica-electricitate/Lucrare-atestat-Tehnician-oper455.php

3.Filtre

http://www.tc.etc.upt.ro/docs/cercetare/carti/Filtre.pdf

http://www.calculatoredge.com/electronics/sk%20low%20pass.htm

4.Amplificatoare

Arpad Barna- Amplificatoare operaționale

5.Tranzistor MOS

http://users.utcluj.ro/~mbirlea/s/11s.htm

Bibliografie

1.Generare PWM:

http://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url=http%3A%2F%2Fmce.utcluj.ro%2Flucrari%2FPWM.doc&ei=bzanU-LDMoLC7AbHpICwCA&usg=AFQjCNGJQG_g7weIybILwdngNnBthKTvFw&bvm=bv.69411363,d.bGE&cad=rja

http://mp-info.blogspot.ro/2014/03/modulul-periferic-adc-generare-semnal.html

2.Stabilizator

http://www.creeaza.com/tehnologie/electronica-electricitate/Lucrare-atestat-Tehnician-oper455.php

3.Filtre

http://www.tc.etc.upt.ro/docs/cercetare/carti/Filtre.pdf

http://www.calculatoredge.com/electronics/sk%20low%20pass.htm

4.Amplificatoare

Arpad Barna- Amplificatoare operaționale

5.Tranzistor MOS

http://users.utcluj.ro/~mbirlea/s/11s.htm

Similar Posts