Actionarea Geamului Electric Auto cu Microcontroller Dspic30f2010
LUCRARE DE LICENȚĂ
Acționarea geamului electric auto cu microcontroller DSPIC30F2010
Cap.1.Introducere
Ritmul alert de zi cu zi și adaptarea la societatea în care trăim a condus la inventarea unor mijloace care să sporească confortul in timpul conducerii unui autovehicul. Datorită procesului permanent de dezvoltare și adaptare la mediul în care trăim, au apărut îmbunătățiri constante în acest domeniu.
Timpul este unul din factorii necontrolabili si ireversibili care au o influență directă a evoluției umane. Acest factor a condus la crearea unor noi soluții și la dezvoltarea tehnologiei în vaste domenii. Aceste îmbunătățiri și dezvoltări permanente nu au ocolit nici domeniul electronicii care prin aplicațiile sale in general si in particular in domeniul auto ne ajută să economisim timp.
Acționarea electrică a geamurilor este un exemplu de aplicație care vine in sprijinul conducatorilor auto printr-un confort sporit si o creștere a siguranței datorată simplificării manevrei in raport cu varianta clasică (manuală). Aceasta a devenit uzuală in domeniul auto datorită progresului tehnologic in fabricarea componentelor electronice ( tranzistoare de putere și frecvență înaltă, microcontrollere etc. ) și a motoarelor electrice.
Cap.2. Analiza și sinteza literaturii de specialitate
2.1.Motorul de curent continuu
În lucrarea de față, motorul de curent continuu este elementul de execuție, deci v-a fi tratat ca fiind un element important al acționării ce se vrea a fi implementată. În acest sub-capitol se descriu importantele caracteristici ale motorului de curent continuu respectiv noțiuni ce trebuiesc cunoscute in prealabil deoarece punctul de plecare în ideea proiectării acestei acționări sunt caracteristicile motorului.
2.1.1 Legea inductanței
Dacă o tensiune trece printr-o bobină, vom avea un curent prin acea bobină iar acel curent va varia in timp, chiar dacă tensiunea e constantă. La fel, daca un curent variabil in timp trece printr-o bobină, vom avea o tensiune la bornele bobinei.
Legea fundamentală care definește relația dintre curent și tensiune intr-o bobină este dată de ecuația:
(1)
Două caracteristici importante ale bobinei care derivă direct din legea inductanței sunt:
-tensiunea dintr-o bobină rezultă doar dacă curentul este variabil în timp, un curent continuu care trece printr-o bobină nu produce tensiune la bornele acesteia.
-curentul care trece prin bobină nu își poate schimba valoarea instantaneu deoarece ar avea nevoie de o tensiune cu valoare infinită pentru a forța schimbarea valorii. Spre deosebire de curent, tensiunea își poate schimba valoarea instantaneu.
Figura 1. Relația curent tensiune într-o bobină
Parametrul important este termenul di/dt el fiind doar o măsură a variației curentului in timp. Când curentul este schițat in funcție de timp, valoarea di/dt este definită de pantă. Graficul din mijloc arată un curent care crește odată cu timpul și are o valoare di/dt pozitivă, rezultând o tensiune a bobinei pozitivă. Curentul care descrește odată cu timpul (graficul din dreapta) dă o valoare negativă raportului di/dt și tensiunii. Se precizează că o rampă liniară a curentului intr-o bobină (fie in creștere sau in scădere) apare doar atunci când tensiunea e constantă.
Figura 2. Principiul de funcționare al motorului de curent continuu
Figura 3. Structura unui motor de curent continuu
Pentru a explica funcționarea motorului de curent continuu și pentru a pune în evidență reversibilitatea mașinii de curent continuu vom relua figura explicativă a funcționării mașinii de curent continuu în regim de generator. Să înlocuim sarcina (rezistența/consumatorul) alimentată de generator cu o sursă de curent continuu având polul + conectat la polul + al generatorului. Sursa va debita prin spira rotorică un curent electric având sens opus curentului pe care îl debita mașina în regim de generator. Pe figură am indicat sensul acestui curent prin niște săgeți-bloc. Asupra laturii spirei aflată sub polul nord va acționa o forță electromagnetică:
F’ = B Ia’ l (3)
-având sensul indicat în figură, iar asupra laturii aflată sub, polul va acționa o forță egală și de sens contrar. B este inducția câmpului magnetic, l este lungimea laturii spirei aflată în câmp magnetic iar Ia’ este curentul din spira rotorică. Ca urmare asupra spirei va acționa un cuplu electromagnetic:
M’ = F’ d = B ( l d ) Ia’= B S Ia’ = Ф Ia’ (4)
care va roti spira în sensul de rotație pe care îl avea mașina în regim de generator.
În practică motoarele de curent continuu au în rotor o înfășurare de curent continuu cu mai multe spire astfel că în expresia cuplului electromagnetic mai intervine numărul de spire și alți coeficienți ce depind de construcția mașinii:
M’ = kM Ф Ia’ (5)
Se remarcă și de această dată rolul de redresor mecanic al colectorului (inel format din două segmente aici) astfel că totdeauna sensul curentului prin spiră/spirele de sub polul nord va fi același, deci și sensul de acțiune al cuplului electromagnetic este același. S-au notat cu indicele “prim” mărimile corespunzătoare regimului de “motor” al mașinii de curent continuu. În regim de motor sensul curentului rotoric Ia’ este opus față de sensul curentului Ia debitat de generatorul de curent continuu.
Trebuie menționat faptul că în spira ce se rotește în câmpul magnetic produs de înfășurarea de excitație de pe stator se va induce și în acest caz o tensiune electromotoare a cărei expresie este aceeași ca la generator, iar sensul ei este de asemenea același cu cel de la generator, deci invers sensului curentului absorbit de motor:
E = BSω/= B S Ω / = Ф ( 2 π n / 60 ) / = kE n Ф (6)
Deoarece valoarea acestei tensiuni electromotoare a mașinii de curent continuu este mai mică decât valoarea tensiunii de alimentare mașina va absorbi un curent electric și va funcționa în regim de motor electric. Coeficientul constructiv kE este în practică mai complex datorită construcției efective a mașinii; rotorul are o înfășurare de construcție specială conectată la lamelele unui colector pe care alunecă niște perii colectoare prin intermediul cărora se alimentează cu curent continuu înfășurarea rotorică numită și în acest caz indusul motorului de curent continuu.
Câmpul magnetic inductor este produs de bobine situate pe polii statorici ai motorului; acestea constituie înfășurarea de excitație a motorului de curent continuu. Alimentarea înfășurării de excitație a motorului de curent continuu se poate face în mai multe feluri:
-de la o sursă de curent continuu separată; motor cu excitație separată,
-de la bornele motorului, înfășurarea de excitație fiind conectată în paralel cu înfășurarea principală (indusul, înfășurarea rotorică); motor cu excitație derivație,
-de la bornele motorului, înfășurarea de excitație fiind conectată în serie cu înfășurarea principală (indusul, înfășurarea rotorică); motor cu excitație serie,
-de la bornele motorului, înfășurarea de excitație având două porțiuni, una conectată în paralel cu înfășurarea principală (indusul, înfășurarea rotorică) iar cealaltă conectată în serie cu indusul; motor cu excitație mixtă.Schemele de conexiuni ale înfășurării de excitație sunt aceleași ca la generatorul de curent continuu.
2.1.3. Caracteristicile motoarelor de curent continuu
Schema electrică echivalentă a unui motor de curent continuu este ca aceea prezentată în figura de mai jos.
Figura 4: Schema electrică echivalentă a unui motor de curent continuu
În această schemă Ra reprezintă rezistența înfășurării rotorice ( a indusului ) a motorului de curent continuu, U este tensiunea de alimentare a motorului iar Ia’ este curentul absorbit de motor (curentul principal din indusul motorului).
E reprezintă tensiunea electromotoare indusă în înfășurarea rotorică, aceasta are sens opus curentului rotoric.
Ex: este înfășurarea de excitație a motorului alimentată cu tensiunea Ue iar Ie este curentul absorbit de înfășurarea de excitație.
Scriind teorema a II-a a lui Kirchhoff pentru circuitul indusului avem:
-E = Ra Ia’ – U de unde: Ia’ = (7)
La pornire, când turația motorului este nulă, tensiunea electromotoare E indusă în înfășurarea rotorică este nulă și, ca urmare, curentul absorbit de motor este foarte mare, el poate fi de 6…20 de ori mai mare decât curentul nominal. Prin urmare este necesară reducerea acestuia cu ajutorul unui reostat de pornire înseriat cu circuitul rotoric. Curentul de pornire al motorului va fi:
(8)
Valoarea turației motorului de curent continuu se poate exprima astfel:
(9)
Această expresie ne arată care sunt factorii ce influențează turația motorului de curent continuu.
2.1.3.1 Motorul de curent continuu cu excitație în derivație sau separată
Are o caracteristică mecanică n(M’) rigidă deoarece fluxul magnetic de excitație Ф este constant (tensiunea Ue este constantă). Aceste motoare se folosesc în acționări electrice unde turația este practic constantă independent de sarcină (cuplul M’). Regalarea turației la aceste motoare se poate face prin modificarea tensiunii U de alimentare sau prin modificarea curentului de excitație (deci a fluxului de excitație Ф). Din expresia turației n se observă că la o eventuală funcționare în gol a motorului, când M’ = 0, dacă fluxul de excitație Ф scade turația motorului poate crește foarte mult.
Se prezintă în figura de mai jos caracteristica mecanică a motorului de curent continuu cu excitație derivație sau separată (cazul a) precum și caracteristicile mecanice la modificarea tensiunii (cazul b) și la modificarea curentului de excitație (cazul c).
Figura 5. Caracteristica mecanică a motorului de curent continuu
Se observă că turația se poate modifica în limite largi prin modificarea tensiunii de alimentare (cazul b) dar este necesară o sursă de curent continuu cu tensiune reglabilă.
Prin modificarea curentului de excitație turația se modifică, dar nu în limite prea largi. Se folosesc în practica acționărilor electrice sisteme cs combină cele două principii de modificare ale turației.
2.1.3.2. Motorul de curent continuu cu excitație serie
Are o caracteristică mecanică de forma celei prezentate în figura de mai jos.Caracteristica mecanică are o formă de variație suplă, favorabilă sistemelor de tracțiune electrică.
Astfel, se observă că la o creștere accidentală a cuplului rezistent, când intervine inerent o micșorare a turației motorului (când mașina urcă o pantă, de exemplu) cuplul dezvoltat de motor crește până ce va egala cuplul mecanic rezistent. Această caracteristică este extrem de utilă la mașinile de ridicat sau la mașinile de extracție. Este important de menționat faptul că motorul cu excitație serie nu poate funcționa în gol , adică fără să antreneze mecanic un utilaj care să aibă un cuplu rezistent.
Figura 6: Caracteristica motorului de c.c cu excitație serie
Dacă valoarea cuplului scade foarte mult turația motorului crește la valori foarte mari, inadmisibile. De aceea pentru a limita turația motorului la o valoare nmax este necesar ca valoarea cuplului să nu scadă sub o valoare minimă Mmin.
Turația motorului cu excitație serie se poate regla prin modificarea tensiunii de alimentare sau prin modificarea curentului de excitație.
2.1.3.3. Motorul de curent continuu cu excitație mixtă
Are două înfășurări de excitație: una conectată în derivație (paralel) și alta conectată în serie. De regulă înfășurarea serie este cuplată magnetic adițional rezultând astfel caracteristici mecanice de formă prin modificarea tensiunii de alimentare (cazul b) dar este necesară o sursă de curent continuu cu tensiune reglabilă.
Prin modificarea curentului de excitație turația se modifică, dar nu în limite prea largi. Se folosesc în practica acționărilor electrice sisteme cs combină cele două principii de modificare ale turației.
2.1.3.2. Motorul de curent continuu cu excitație serie
Are o caracteristică mecanică de forma celei prezentate în figura de mai jos.Caracteristica mecanică are o formă de variație suplă, favorabilă sistemelor de tracțiune electrică.
Astfel, se observă că la o creștere accidentală a cuplului rezistent, când intervine inerent o micșorare a turației motorului (când mașina urcă o pantă, de exemplu) cuplul dezvoltat de motor crește până ce va egala cuplul mecanic rezistent. Această caracteristică este extrem de utilă la mașinile de ridicat sau la mașinile de extracție. Este important de menționat faptul că motorul cu excitație serie nu poate funcționa în gol , adică fără să antreneze mecanic un utilaj care să aibă un cuplu rezistent.
Figura 6: Caracteristica motorului de c.c cu excitație serie
Dacă valoarea cuplului scade foarte mult turația motorului crește la valori foarte mari, inadmisibile. De aceea pentru a limita turația motorului la o valoare nmax este necesar ca valoarea cuplului să nu scadă sub o valoare minimă Mmin.
Turația motorului cu excitație serie se poate regla prin modificarea tensiunii de alimentare sau prin modificarea curentului de excitație.
2.1.3.3. Motorul de curent continuu cu excitație mixtă
Are două înfășurări de excitație: una conectată în derivație (paralel) și alta conectată în serie. De regulă înfășurarea serie este cuplată magnetic adițional rezultând astfel caracteristici mecanice de formă intermediară între cele ale motorului derivație și serie. Asemenea motoare se folosesc în tracțiunea electrică, de exemplu la troleibuze. La aceste motoare se poate modifica ușor turația prin reglarea curentului de excitație.
2.2 Studiul circuitului integrat BTS 7710 GP
Circuitul integrat, prescurtare în engleză: IC, de la integrated circuit, pronunție /ai si/ (v. AFI), prescurtare în română C.I., este un dispozitiv electronic alcătuit din mai multe componente electrice și electronice interconectate, pasive și active, situate pe o plăcuță de material semiconductor (făcută de exemplu din siliciu), dispozitiv care în cele mai multe cazuri este încapsulat într-o capsulă etanșă prevăzută cu elemente de conexiune electrică spre exterior, numite terminale sau pini („piciorușe”).
BTS 7710 GP este parte din familia TrilithIC conține trei tranzistoare într-o singură capsulă: Un transistor pe partea de high-side duble și două tranzistoare pe partea de low-side. Drenele celor trei tranzistoare DMOS sunt montate pe leadframe-uri separate. Sursele sunt conectate la pinii individuale, astfel încât BTS 7710 GP poate fi utilizat în configurație cu o punte H sau în orice altă configurație.Tranzistorul dublu de pe partea de high-side este fabricat în tehnologia SMART SIPMOS care combina tranzistoarele DMOS cu R scăzut cu circuitul de control in tehnologie CMOS. Tranzistorul de pe partea de high-side este pe deplin protejat și conține circuitele de control și diagnostic. Pentru a realiza R redus și comutare rapidă, tranzistoarele de pe partea de low-side sunt fabricate în tehnologie S-FET.
Produs echivalent standard este BUZ 103 SL. În contrast cu BTS 7710 G, care este format din aceleași cipuri într-un pachet P-DSO-28, P-PowerPack TO263-15-1 oferă o rezistență termică mult mai mică, care se deschide la cererile cu curenti chiar mai mare în industria auto și zona industrială.
Fig.7.Schema electrică de conexiune
Fig.8.Definiți pinii și funcțiile
2.3 Microcontrolerul DSPIC30F2010
2.3.1. Introducere
Primele controlere au fost concepute în tehnologii pur analogice și electromecanice. Microcontrolerele si-au avut inceputurile in cadrul dezvoltarii circuitelor integrate, datorită acestei dezvoltări a fost posibilă înmagazinarea a sute de mii de trsnzistoare într-un singur chip. In anul 1969, o echipă de ingineri japonezi de la compania BUSICOM sosesc in Statele Unite și propun companiei INTEL, realizarea unui circuit integrat a cărei funcționare să fie determinată de un program încorporat în el, lucru ce ar fi condus la o configurație mai simplă, dar aceasta ar fi presupus mai multă memorie decât ar fi presupus proiectul prezentat de ingineri japonezi. După o perioadă de timp, cu toate că inginerii de la INTEL au căutat o soluție mai simplă, ideea lui Marcian Hoff cel desemnat responsabil cu acest proiect s-a menținut, ba mai mult s-a pus în aplicare și astfel sa infințat primul microcontroler si doar in 9 luni INTEL a reușit să scoată pe piața un produs din prima sa concepție.
În același an apare pe piața un microprocesor de 4 biți cu o viteză de 6000 operații pe secundă. INTEL au continuat dezvoltarile pâna în anul 1974 astfel au lansat pe piața un microprocesor de 8 biți cu numele de 8080 ce avea capacitatea de a adresa 64Kb de memorie si dispunea 75 de instrucțiuni, iar pretul de pornire era de 360$.
Deja incepe sa apară concurența astfel compania americana Motorola au lansat pe piața un microprocesor de 8 biti 6800, pe langă acest microprocesor Motorola a facut si alte periferice cum ar fi 6820 si 6850. În acesiași perioadă multe companii cum ar fi MOS Technology și-au dat seama de importanța microprocesoarelor și-au început propriile lor dezvoltări, continuând să pună accentul pe dezvoltarea acestora, munca companiei a inceput sa dea roade așa că la expoziția WESCON din Statele Unite din anul 1975 s-a produs un eveniment important în istoria microprocesoarelor, compania MOS Technology anunțând că produce microprocesoarele 6501 respectiv 6502 (6502 este un microcontroler cu 56 de instrucțiuni pe 8 biți și o capacitate de adresare directă de 64Kb de memorie) la un preț redus de 25$ bucata, pe care cumpărătorii își permit sa îl achiziționeze imediat. Prețul foarte mic a destabilizat concurența astfel INTEL și Motorola din prima zi a expoziției au scazut prețurile pana la 69.95$ pentru fiecare produs. Microprocesorul 6502 a devenit foarte popular datorită prețului scazut și este instalat in computere ca: Apple I, Apple II, KIM-1, Atari, Comodore, Oric, Galeb, Oric, Galeb, Ultra si multe altele.
În anul 1976 Zilog anunță apariția lui Z80, un microprocesor mult mai puternic decât celelalte produse apărute până acum, acesta putea adresa direct 64Kb de memorie, o singură sursă, avea 176 instrucțiuni, o singură sursă, și viteză de lucru mult mai mare. Z80 a reprezentat o ‘’explozie’’ în acest domeniu, astfel toată lumea facând conversia de la 8080 la Z80 și Z80 devine cel mai de folosit microcontroler de 8 biți a acelui timp, fiind inima a multor calculatoare ca : Partner, TRS703, Spectrum si Galaxi.
În anul 1976, INTEL scoate pe piața o versiune îmbunatațița de microprocesor pe 8 biți sub numele 8085. Totusi, Z80 era mai bun astfel încât INTEL a apierdut batalia. Chiar daca au mai aparut pe piața câteva microprocesoare (2650, 6809,SC/MP etc.), totul fusese in zadar. Nu mai erau de facut îmbunatațiri importante asa ca 6502, Z80 împreuna cu 6800 au ramas ca cei mai importanți reprezentanți ai microprocesoarelor de 8 biți a acelui timp.
2.3.2 Microcontrolerul DSPIC30F prezentare generală
Acest circuit beneficiază de un set de instrucțiuni pe 24 de biți. Program counter-ul prezintă o capacitate de 23 de biți, cel mai putin semnificativ bit (este bitul 23) fiind pus mereu pe zero, iar cel mai semnificativ bit este ignorat in timpul de execuție al unui program obisnuit, excepție facand instrucțiunile specializate. Cu toate acestea program counter-ul are capacitatea de a adresa pană la 4M de instrucțiuni. Un mecanism de pre-fetch al instrucțiunilor este folosit pentru a menține acest flux de informații. Cu ajutorul instrucțiunilor DO si REPEAT sunt construite buclele de program, ambele instrucțiuni putand fi intrerupte in orice moment.
Regiștrii de lucru sunt regiștrii de 16×16 biți, fiecare dintre aceștia putand fi regiștrii de date, de adrese sau offset. în momentul apariției unei intreruperi un singur registru de lucru si anume (W15) operează ca și pointer al stivei.
Spațiul de memorie are capacitatea de 64 Kbytes și este imparțit in doua blocuri X si Y. fiecare bloc în parte are Unitate de Generare a Adreselor. Cele mai multe instrucțiuni folosesc numai blocul X de memorie, acest lucru dă impresia unui bloc unitar de memorie. Aceste blocuri de memorie X si Y sunt individualizate prin construcția circuitului si nu pot sa fie modificate de catre utilizator.
Programatorul este prezentat in figura de mai jos si conține 16 regiștrii de lucru pe 16 biți, doi regiștrii acumulatori pe 40 de biți(ACCA si ACCB), registrul STATUS (SR) registrul Data Table Page (TBLPAG), registrul Program Space Visibility Page (PSVPAG), regiștrii DO si REPEAT (DOEND, DOSTART, DCOUNT si RCOUNT) și Program Counter-ul.
Figura 9 Modelul programatorului
Unii regiștrii enumerați mai sus au asociat fiecare cate un registru „din umbră”. Aceștia sunt folosiți ca un registru de memorare temporară și in funcție de necesitați își pot transfera datele pe care le conțin in registrul principal. Nici unul dintre acești regiștrii nu sunt direct accesibili. În ce privește transferul datelor din și in shadow register este nevoie să se respecte anumite reguli, dupa cum urmează:
POP.S și PUSH.S
W1, W2, W3, SR (doar bitii DC, OV, N, Z si C sunt transferați)
Instrucțiunea DO
Regiștri shadow DOSTART, DCOUNT și DOEND sunt scriși la inceputul buclei cu instrucțiunea PUSH, iar la finalul buclei sunt mutați inapoi cu instrucțiunea POP.
Atunci cand are loc o operație la nivel de bit către un registru de lucru, cel mai puțin semnificativ bit al registrului țintă este afectat.
2.3.3 Semnificația pinilor
DSPIC30F2010 are un număr total de 28 pini. De obicei se găsește într-o capsulă de tip DIP28 este prescurtarea de la Dual In Package. Pinii microcontrolerului dsPIC30F2010 au următoarea semnificație:
Figura 10 – Semnificația pinilor
Pin nr.1MCLR Acest pin este folosit pentru resetarea microcontrolerului.
Pin nr.2AN0 Canalele cu intrari analogice.
Pin nr.3AN1 Canalele cu intrari analogice.
Pin nr.4AN2 Canalele cu intrari analogice.
Pin nr.5AN3 Canalele cu intrari analogice.
Pin nr.6AN4 Canalele cu intrari analogice.
Pin nr.7AN5 Canalele cu intrari analogice.
Pin nr.8VSS Referință de masă pentru modulul analogic.
Pin nr.9AN6 Canalele cu intrari analogice.
Pin nr.10AN7 Canalele cu intrari analogice.
Pin nr.11PGD1 Pinul 1 cu date de intrare sau ieșire al ICSP.
Pin nr.12RE6 Este un port bidirecțional de I-O
Pin nr.13VDD Tensiunea de alimentare pentru logic.
Pin nr.14PGD2 Pinul 2 cu date de intrare sau ieșire al ICSP.
Pin nr.15PGC2 Pinul 2 cu intrare clock
Pin nr.16RA9 Este un port bidirecțional de I-O
Pin nr.17RF8 Este un port bidirecțional de I-O.
Pin nr.18RF7 Este un port bidirecțional de I-O
Pin nr.19VSS Referință de masă pentru modulul analogic.
.Pin nr.20VDD Referinta de masă pentru modulul analogic.
.Pin nr.21RE5 Este un port bidirecțional de I-O
Pin nr.22RE4 Este un port bidirecțional de I-O
Pin nr.23RE3 Este un port bidirecțional de I-O
Pin nr.24RE2 Este un port bidirecțional de I-O
Pin nr.25RE1 Este un port bidirecțional de I-O.
Pin nr.26RE0 Este un port bidirecțional de I-O.
Pin nr.27AVSS Referintă de masă pentru modulul analogic.
Pin nr.28AVDDTensiune pozitivă de alimentare pentru modulul analogic.
2.3.4 Clock-ul microcontroller-ului
Clock-ul sau ciclul instrucțiune reprezintă starter-ul principal al microcontrolerului, acesta este realizat dintr-o componentă de memorie externă care este denumită "oscilator". Dacă comparăm un microcontroler cu un anume ceas de timp, "clock-ul" ar fi un ticăit care îl putem auzi de la ceasul de timp. În acesastă situație oscilatorul îl putem compara cu arcul care este răsucit astfel ca ceasul de timp să funcționeze. De asemenea, pentru a întoarce ceasul forța folosită poate fi comparată cu o sursă electrică. Clock-ul oscilatorului intră într-un microcontroler pe la pinul OSC1 unde cu ajutorul circuitului intern al microcontrolerului se divide clock-ul în 4 clock-uri egale ce nu se suprapun. Aceste clock-uri constituie un ciclu de o instrucțiune în timpul căreia instrucțiunea este executată. Executarea instrucțiunii porneste prin apelarea unei instrucțiuni care se gasește următoarea în linie. Din memoria program instrucțiunea este apelată la fiecare Q1 și este notată în registrul de instrucțiuni la Q4. Executarea instrucțiunilor sunt făcute între ciclurile Q1 și Q4.
În diagrama urmatoare se poate observa relația dintre clock-ul oscilatorului (OSC1) și ciclul instrucțiunii cât și aceea a clock-urilor interne Q1-Q4.
Figura 11
2.3.5 Unitatea de intrare-ieșire (I/O)
Pinii dispozitivului în afară de MCLR, VDD,VSS și OSC1 sunt conectați între portul paralel de intrare-ieșire și periferice. Pentru a îmbunătății imunitatea la zgomot pinii de intrare au câte un Trigger Schmitt.
În momentul în care un periferic este activat și un pin îi este asociat, utilizarea pinului cu scop de ieșire este dezactivată. Pinul intrare/ieșire poate fi citit dar va fi dezactivat driverul de ieșire pentru portul paralel.
Registrul LATx distribuie datele la ieșire și poate fi atât scris cât și citit iar direcția pinului este controlată de registru TRISx. Starea pinului de intrare este reprezentată de citirea registrului PORTx iar scrierea acestuia modifică conținutul registrului LATx. În figura 12 este prezentată schema bloc a unui pin.
Figura 12 –Schema bloc a unui pin
2.3.6 Porturile I/O (intrare/ieșire)
Toții pini microcontrolerului (cu excepția VDD, VSS, MCLR și OSC1/CLK) sunt imparțiti intre periferice și porturile paralele de intrare și iesire. Toate porturile de intrare I/O au intrari trigger schmit pentru imunitate imbunatațită la zgomot.
2.3.6.1 Porturile paralele I/O (PIO)
Cand un periferic este activat si perifericul conduce un pin asociat utilizarea pinului ca pin de ieșire este dezactivată. Pinul I/O poate fi citit dar driverul de ieșire pentru bitul portului paralel va fi dezactivat. Daca un periferic este dezactivat dar perifericul nu comandă un pin acel pin poate fi comandat de un port. Toți pini portului au 3 registre asociate direct cu operația pinului. Registrul de direcționare (TRISx) determină daca pinul este de intrare sau de ieșire. Dacă valoarea este 1 atunci pinul este declarat ca pin de intrare iar daca valoarea este cu 0 atunci pinul este declarat ca pin de ieșire. Toți pini portului sunt definiți ca intrari dupa reset.
Daca un pin este partajat cu alt periferic sau funcție care este definită doar ca intrare este totuși privită ca un port dedicat deoarece nu există nici o alta sursă concurentă de ieșire. Un port paralel care partajează un pin cu un periferic este in general subordonat perifericului. Datele ieșiri perifericului si semnalele de control sunt furnizate unei perechi de multiplexoare. Multiplexoarele selectează daca perifericele sau porturile asociate au dreptul de comandă asupra datelor de ieșire si semnalele de control ale suportului celulei.
În figura 13 arată cum sunt porturile partajate cu alte periferice si celulă asociată I/O la care sunt conectate:
Figura 13 Diagrama bloc a structuri unui port partajat.
2.3.6.2 Configurarea pinilor analogici ai portului
Utilizarea regiștrilor ADPCFG controlează operarea pinilor portului A/D. Daca bitul TRIS este setat 0 (ieșire) nivelul ieșiri digitale (VOH sau VOL) va fi convertit. Cand se citește registrul port toți pini configurați ca si canal de intrari analogice va citi valoare 0. Pini configurați ca intrari digitale nu vor converti o intrare analogica iar cand nivele analogice ale oricarui pin care este definit ca intrare digitală (incluzand pini ANx) poate duce la un consum de curent al bufferu-lui de intrare care depășește specificațiile dispozitivului.
2.3.6.3 Notificarea schimbării la intrare
Această funcție permite microcontrolerului dsPIC30F2010 să genereze permisiuni de întrerupere a procesorului ca raspuns la schimbarea unei stări pe pinii de intrare selectați. Această caracteristică este capabilă sa detecteze schimbări de stare ale intrarii chiar si in modul sleep cand clockurile sunt dezactivate. Există 8 semnale externe (CN7 la CN0) care pot fi selectate (activate) pentru generarea unei întreruperi la schimbarea unei stări. Sunt doua registre de control asociate modulului CN. Registrul CNEN1 conține bitul de control (CNxIE) pentru activarea intreruperii CN pentru fiecare pin de intrare a lui CN. Setând unul din acești biți activează o intrerupere CN pentru pinii respectivi. Fiecare pin CN are de asemenea o rezistență de pull-up conectată la pin. Rezistența de pull-up functionează ca o sursă de curent conectată la pin si elimină nevoia de rezistori externi cand sunt conectați la pini push butoane sau o tastatură. Rezistențele de pull-up se activează automat folosind registrul CNPU1 care conține biți de activare a pull-up-ului pentru fiecare dintre pini CN. Setând oricare dintre biți de control, activează pull-up-urile pentru pini respectivi. Pini de notificarea ai pull-up-ului ar trebui intodeauna sa fie dezactivați cand pini sunt configurați ca ieșiri digitale.
2.3.7 Memoria flash a programului
Microcontrolerul dsPIC30F2010 conține memorie flash internă pentru executarea codului scris de utilizator. Sunt doua metode prin care utilizatorul poate programa această memorie:
In circuit serial programming (ICSP) Programare serială in circuit
Run Time Self Programming (RTSP) Programarea automată in timpul rulării
Microcontrolerul dsPIC30F2010 poate fi programat serial la sfarsitul aplicației circuitului. Aceasta se realizează simplu cu două linii pentru programarea clockului și programarea datelor (care sunt numite PCG respectiv PGD) si alte trei lini pentru putere (VDD) masă (VSS) si (MCLR). Cu ajutorul ICSP producători pot vinde un produs neprogramat si apoi microcontrolerul poate fi programat inainte de livrare. Astfel poate fi instalat cel mai recent firmware.
2.3.8 Modulul I2C
Acest modul oferă urmatoarele funcții:
interfată I2C suportă operați master si slave
modul slave suportă 7 sau 10 biți de adresă
modul master suportă 7 sau 10 biți de adresă
portul I2C permite transferul bidirecțional intre master si slave
modulul I2C suportă operațiuni multi master, detectează coliziuni de magistrale si va acționa in consecintă.
Modulul I2C poate opera fie ca slave fie ca master pe un bus (magistrala) I2C.
Configurarea pinilor in modul I2C
Interfața I2C are 2 pini, pinul SCL care este clock-ul si pinul SDA care reprezintă datele transferate.
2.3.8.1 Registri I2C
I2CCON si I2CSTAT sunt regiștri de control respectiv status. Registrul I2CCON poate fi citit și scris. Cei mai nesimnificativi 6 biți ai I2CSTAT sunt doar pentru citire. Ceilalți biți pot fi si scriși si citiți. I2CRSR este registrul de schimbare folosit pentru shiftarea datelor iar I2CRCV este registrul buffer catre care octeți de date sunt scriși sau de unde octeți de date sunt citiți.
I2CRCV este bufferul de primire cum este ilustrat in figura 14
Figura 14 Diagrama bloc I2C
I2CTRN este registrul de transmitere in care biți sunt transmiși in timpul unei operații de transmitere, cum se arata in figura 2.1.8.1.1
Registrul I2CGD reține adresa slave-ului, I2CRB functionează ca si valoare de reîncarcare generator de baudrate, cand I2CCRSR primește un octet complet este transferat la I2CCRV si este generat un puls de întrerupere.
2.3.8.2 Adresele modulului I2C
Registrul I2CADD conține adresele modului slave, registrul I2CADD care este un registru de 10 biți. Daca al 10 bit al registrului I2CCON este ‘0’ adresa este interpretată de către modul ca o adresă pe 7 biți, cand este primită o adresă este comparată cu ultimi 7 cei mai nesemnificativi biți ai registrului I2CADD. Dacă bitul A10 M este 1 adresa este vazută ca o adresă pe 10 biți.
Cand o adresă este primită ea va fi comparată binar ‘1 1 1 1 0 A9 A8’ unde A9 si A8 sunt primi 2 cei mai semnificativi biți ai I2CCADD, daca sunt egale valorile adresele motoare vor fi comparate cu ultimi 8 biți cei mai nesemnificativi.
2.3.8.3 Operatiunea slave mode pe 10 biti
Specificațiile I2C spun ca un slave trebuie adresat pentru o operațiune de scriere, cu doi octeți de adresă care urmează după un bit de start, bitul A10M este un bit de control care atenționează ca este o adresă de 10 biți si nu una de 7 biți. Protocolul de detecție al adresei pentru primul octet al unui mesaj de adresă este identic pentru mesajele de 7 biți si 10 biți dar biții care sunt comparați sunt diferiți. I2KGD reține intreaga adresă de 10 biți. După ce primește o adresă care urmează după bitul de strat, I2CRSR este comparat cu ’1 1 1 1 0’ (adresa de 10 biți implicită) si I2CRSR <2:1>sunt comparați cu I2CADD <9:8>daca apare o egalitate si dacaR_W=0 pulsul întreruperi este trimis. Bitul ADD10 va fi pus pe 0 pentru a indică o egalitate partială, daca este o inegalitate si R_W=1 bitul ADD10 este pus in 10 si modulul se pune in starea de repaus.
Octetul cel mai puțin semnificativ al adresei este apoi primit si comparat cu I2CADD <7:0> daca apare o egalitate intre adrese este generat pulsul de întrerupere si bitul ADD10 este setat 1 indicând o egalitate completă a adresei de 10 biți. In caz contrar bitul ADD10 este setat ca 0 si modulul se intoarce in starea de repaus.
Transmisia modului slave pe 10 biți odată ce un slave are o egalitate cu intreaga adresă de 10 biți (ne vom adresa la această stare ca PRIOR_ADDR_MATCH) masterul poate sa inceapă să trimită octeți de date pentru operațaiunea de primire de către slave.
2.3.8.4 Recepția modului slave pe 10 biti
Odată adresat masterul poate genera un start repetat, resetează cel mai semnificativ octet al adresei și setează bitul R_W fară a genera un bit de stop inițind astfel o operațiune de transmitere de date.
2.3.9 Operațiuni ale masterului
Ca si master sunt suportate 6 operațiuni:
declară o condiție de start pe Sa și SCL
declară o condiție de restrat pe Sa și SCL
scrie în registrul I2CTRN inițind transmisiune datei/adresei
generează o condiție de stop pe SDA și SDL
configurează portul I2C pentru a primi date
generează o condiție ACK la sfarsitul unui octet de date primite
2.3.9.1 Transmisiunea masterului I2C
Transmisiunea unui octet de date pe 7 biți sau a doua jumatate a unei adrese de 10 biți este indeplinită prin simpla scriere a unei valori in registrul I2C TRN. Utilizatorul ar trebui să scrie in registrul I2C TRN numai cand modulul este în stare de asteptare acesta acțiune va seta TBF-ul (buffer full flag) si permite generatorului de baud rate să contorizeze și să inceapă urmatoarea transmisiune, fiecare bit de date sau adresă va fi introdus in pinul SDA pe frontul descrescator al SCL-ului. TRSTAT(I2CSTAT <14> )indică faptul ca transmisiunea masterului este in curs.
2.3.9.2 Recepția masterului
Modul de recepție al masterului este activat programand bitul de activare RCEN (I2CCON<3>) Modulul I2C trebuie adus in starea de repaus înainte ca bitul RCEN sa fie setat în caz contrar bitul RECEN nu va fii luat in considerare.
Generatorul de baud rate incepe sa numere și de fiecare dată cand depașeste valoarea maximă starea pinului SCL comută si datele sunt shiftate in registrul I2CRSR pe frontul crescator al fiecarui clock.
2.4.Studiul senzorului de curent bidirectional AD8210
Circuitul AD8210 are o singură alimentare, amplificatorul diferențial fiind ideal pentru a amplifica diferențe mici de tensiune in prezența unor tensiuni mari. Acesta poate functiona cu o tensiune cuprinsa intre -2V si +65V. Tensiunea tipica de alimentare este 5V.
Circuitul AD8210 este disponibil in capsula SOIC. Acesta poate funcționa la temperatura cuprinse intre -40C si +125C. Performanțele excelente in AC cat si in DC cu modificarea temperaturii ce oferă o eroare minimă in bucla de măsură. Deviația ofsset-ului si a castigului sunt garantate la un maxim de 8µV/ °C si respectiv 20ppm/°C.
Ofsetul de la iesire poate fi ajustat de la 0.05V pana la 4.9V cu o alimentare la 5V folosind pinul Vref1 si pinul Vref2. Cu pinul Vref1 conectat la V+ si pinul Vref2 conectat la GND, iesirea este setată la jumatatea tensiunii de alimentare. Conectand si pinul de Vref1 si pinul de Vref2 la GND vom avea o iesire unipolară, pornind aproape de 0V. Conectand si pinul de Vref1 si pinul de Vref2 la V+ iesirea va fi tot unipolara dar va porni de langă valoarea V+. Alte ofseturi pot fi obținute prin aplicarea unei tensiuni externe pe Vref1 si Vref2.
Schema bloc a circuitului AD8210 este prezentată in Figura 15.
Figura 15 Schema bloc AD8210
Specificațiile electrice ale circuitului sunt prezentate in Tabelul 1 de mai jos:
Tabelul 1 – Specificațiile electrice
În aplicațiile tipice, AD8210 amplifică o tensiune diferentială mică generată de curentul sarcinii care trece printr-un rezistor sunt. AD8210 rejecteaza tensiuni de pana la 65V si ofera o referință la masă pentru iesire care interacționează cu un convertor analog-numeric. În figura 16 este prezentată schema simplificată a circuitului AD8210.
Figura 16 – Schema simplificată a circuitului AD8210
AD8210 este format din doua blocuri principale, un amplificator diferential si un amplificator instrumental. Curentul de sarcină care trece prin rezistorul de sunt extern produce o tensiune la terminalele de intrare ale AD8210. Terminalele de intrare sunt conectate la amplificatorul diferantial A1 prin rezistentele R1 si R2. A1 anuleaza tensiunea aparuta intre terminalele de intrare ajustand curentul prin R1 si R2 cu tranzistoarele Q1 respectiv Q2. Cand semnalul de la intrarea lui AD8210 este 0V, curentul prin R1 si R2 este egal. Cand semnalul diferential este diferit de zero, curentul creste prin unul din rezistori si scade prin celalalt. Diferenta de curent este proportională cu marimea si polaritatea semnalului de intrare.
Curentul diferential care trece prin Q1 si Q2 este convertit intr-o tensiune diferentială de R3 si R4. A2 este configurat ca un amplificator instrumental. Tensiunea diferentială este convertită de catre A2 intr-o tensiune cu referință fata de GND. Castigul este setat intern cu un trimer de precizie.
Tensiunea de referință de la iesire este usor ajustabilă prin pinii Vref1 si Vref2. In configurație tipică, Vref1 este conectat la Vcc si Vref2 este conectat la GND. In acest caz, iesirea este centrată la Vcc/2 cand semnalul la intrare este 0V.
Modurile de funcționare
AD8210 poate fi configurat să functioneze unidirectional sau bidirectional.
Funcționarea unidirecțională
Funcționarea unidirectională permite circuitului AD8210 să masoare curentul printr-un sunt rezistiv doar intr-o directive. Modurile de baza pentru functionarea unidirectională sunt cu referintă fată de GND sau cu referintă fata de V+.
In functionare unidirectională, iesirea poate fi setată in apropierea punctului de GND sau in apropierea punctului de V+ cand semnalul de intrare este 0V. Iesirea se indreapta catre punctul opus cand este aplicata polaritatea corecta a semnalului de intrare. In acest caz , semnalul de intrare poate avea maxim 250mV. Polaritatea semnalului de intrare necesar depinde de configurarea iesirii. Daca iesirea este configurata la GND, polaritatea trebuie sa fie pozitiva ca iesirea sa se mute in sus, lucru evidentiat si in tabelul 4.Daca iesirea este configurata la V+, polaritatea semnalului de intrare trebuie sa fie negative pentru a muta iesirea in jos, se poate vedea si din tabelul 5.
Iesirea configurată la GND
Cand folosim AD8210 in acest mod, cele doua referinte sunt conectate la GND, ceea ce cauzează ca iesirea sa stea in punctul negativ cand semnalul diferential de la intrare este zero.
Tabelul 2
În figura 17 se poate observa modul de conectare.
Figura 17
Iesirea configurata la V+
Acest mod este setat cand ambii pini de referintă sunt conectati la V+. Este folosit pentru cazurile cand schema necesită o detectie a amplificatorului si a traseelor inainte ca sarcina să fie alimentată.
In figura 18 se poate observa modul de conectare.
Figura 18
În tabelul 3 se poate observa ce vom avea la iesire dacă amplificatorul este configurat la V+.
Tabelul 3
Functionarea bidirectională
Functionarea bidirectională permite circuitului AD8210 să masoare curentul print-un sunt rezistiv in doua directii. Ofsetul de la iesire poate fi configurat oricum in limitele iesirii. De obicei, este setat la jumatatea intervalului pentru a avea intervale măsurare egale in ambele directi. In alte cazuri, poate fi configurat la o altă tensiune de referintă dacă curentul nu este simetric.
În tabelul 4 se poate observa ce vom avea la iesire daca amplificatorul este configurat la V+/2.
Tabelul 4
Ajustarea iesirii se poate face si prin aplicarea unor tensiuni intrarii de referintă.
Cap.3.Contribuții proprii
3.1.Schema bloc a sistemului
În figura 19 este prezentată schema bloc a sistemului.
Fig. 19.Schema bloc
3.2. Proiectarea schemei electronice
In figura 20 este prezentată schema electronică.
Figura 20 – Schema electronică
3.2.1 Modulul de alimentare
Modulul de alimentare furnizează o tensiune continuă de 5V, tensiunea fiind utilizată in alimentarea celorlalte module.Acest modul este necesar, deoarece montajul este alimentat la o tensiune de 12V,iar tensiunea de alimentare a altor componente este de 5V.
Modulul este format dintr-un regulator de tensiune MC29371 caruia i se adaugă condensatorii de filtraj si rezistorii regulatorului necesari acestei bucle de reactie.
Regulatorul de tensiune este un regulator electric al cărui scop este menținerea constantă a nivelului de tensine. El conține fie un mecanism electro-mecanic, fie doar componente electronice. În funcție de construcția sa, poate fi folosit in reglarea uneia sau mai multor tensiuni continue sau alternative.
Regulatoarele de tensiune electronice pot fi găsite în dispozitive cum ar fi sursele de alimentare ale calculatoarelor unde stabilizează tensiunea continuă folosită de procesor și de alte elemente. În alternatoarele automobilelor și în centralele electrice, regulatoarele de tensiune controlează ieșirea acestora. În sistemele de distribuție a energiei electrice, regulatoarele de tensiune pot fi instalate în stațiile de distribuție sau de-a lungul liniilor asigurând consumatorilor un nivel constant al tensiunii neafectat de cât de multă energie se absoarbe din linia de distribuție.
În montajul realizat am folosit un regulator electronic de tensiune produs de MICREL. Acest regulator are o acuratețe mare a tensiunii de la ieșire, un curent maxim de ieșire de 750mA, protecție la supraîncălzire și limitare de curent.
Schema a fost inspirată din aplicațiile prezentate în datele de catalog ale circuitului și este prezentată în figura 21.
Ledul din această schemă a fost utilizat pentru a arăta prezența tensiunii în montaj.
Rezistorul R16 a fost utilizat pentru a limita curentul prin led.Valoarea lui s-a calculat astfel:
-alegem o valoare sigură a curentului care poate trece prin led
I = 5mA (20)
-calculăm valoarea rezistenței cu formula de mai jos
U=U+ I*R (21)
U=5V –tensiunea de la ieșirea regulatorului de tensiune (22)
U=1.2V –căderea de tensiune de pe led (23)
5=1.2+5*10*R (24)
R = 760 (25)
Pentru că nu avem rezistor standard de această valoare vom alege unul de o valoare apropiată sau de care dispunem si anume 1000.Curentul prin led va fi:
I= = 3.8mA (26)
Fig.21.Modulul de alimentare
3.2.2 Modulul de comandă
Este compus din două pushbutoane. Schema acestuia este prezentată in figura 22.
Cele două pushbutoane, în momentul când nu sunt apăsate lasă pinii controlerului în 1 logic prin cele două rezistoare de pull-up, iar în momentul când sunt acționate pun pinii în 0 logic. Cele patru rezistoare de 10k au fost puse de această valoare pentru a trece un curent cât mai mic prin pushbutoane în momentul acționării acestora.
C8,C9,C11 si C12 sunt pentru debounce, elimina oscilatiile contactului butonului.
R1,R2,R3 si R5 sunt pentru a proteja microcontrolerul in cazul in care se configurează pinii respectivi ca si iesire in 1 si se apasa butonul sa limiteze curentul prin pin.
Fig. 22.Modulul de comanda
3.2.4 Driverul pentru motor
Motorul este alimentat prin intermediul unei punți H. În figura 23 este prezentată puntea H.
Puntea H este constituită de circuitul integrat dedicat BTS7710GP.
Pe partea de alimentare a punții este înseriat un resistor șunt de pe care se citește căderea de tensiune în timpul funcționării motorului cu care putem calcula curentul prin bobina motorului.
Tensiunea citită pe șunt este filtrată printr-un filtru Y care are rolul de a elimina zgomotul de mod comun, care poate fi înlăturat cu un filtru cu o frecvență de tăiere de cel puțin 100Mhz.
În cazul acesta am considerat o frecvență de tăiere de 50Mhz si folosind formula 28.
f= (28)
– alegem valoarea rezistenței de 10 ohm și rezultă o valoare a condensatorului de 636pF.
Deoarece în 636pF nu este o valoare standard alegem 470pF iar frecvența de tăiere va fi 67Mhz.
Tensiunea citită de pe șunt este amplificată cu un amplificator diferențial cu amplificarea fixă de 25, dupa care este filtrata printr-un filtru RC.
Folosind formula (29):f= calculam frecvența de taiere a filtrului RC trece jos.
Astfel primul filtru are o frecvență de tăiere de 112Hz iar al doilea de 53Hz. S-au folosit două filtre RC pentru a obține o caracteristică cât mai bună, adică 6dB/octavă.
Fig. 23.Driver pentru motor
3.2.5 Modulul de protecție
În cazul in care puntea H se scurtcircuitează, cu ajutorul acestui circuit putem să intreruprem alimentarea acesteia. In figura 24 este prezentat acesta.
Fig. 24. Modulul de protectie
Semnalul ENA care comandă tranzistorul bipolar este dat de microcontroller. Acesta decide când sa întrerupă alimentarea dacă curentul depășeste valoarea maximă sau daca microcontrollerul nu mai funcționeaza.
În momentrul când tranzistorul bipolar este în conducție și mosfert-ul Q7 va fi deschis si punțile sunt alimentate.
3.3.. Realizarea cablajului
După realizarea schemei electrice în programul Eagle versiunea 5.8.0 Professional, am trecut la realizarea cablajului.
Cablajul imprimat(circuitul imprimat) – în engleză, termenul utilizat este PCB(Printed Circuit Board) este utilizat pentru a asigura suportul mecanic și conexiunile electrice a diverselor dispozitive electrice și/sau electronice în vederea obținerii unui produs final funcțional, în funcție de aplicația dorită.
Un cablaj imprimat brut este realizat dintr-un strat izolator, de grosime variabilă, de la câteva zecimi de milimetrii până la ordinul milimetrilor, având un(simplu strat) sau ambele(dublu strat) suprafețe acoperite cu un strat subțire de cupru. Grosimea stratului izolator este de obicei de 1,6 mm, iar ca material folosit este fibra de sticlă.
Suportul mecanic este asigurat de placa propriu-zisă, iar conexiunile electrice de către rutele de curent materializate prin stratul de cupru depus pe materialul izolator, realizate în conformitate cu schema electrică a circuitului.
Pentru a acesa partea de layout a schemei electronice realizate folosim butonul din bara de instrumente sau din meniu: File Switch to Board
Fig.25.Accesarea modului layout pentru schema electronica în ”Eagle”
Fig.26.Schema cablaj pentru sistem
Pentru realizarea cablajului am ținut cont de câteva reguli:
1) Organizarea PCB-ului pe module, ținând cont de schema electrică.
2) Condensatorul de deparazitare conectat în paralel cu pinii de alimentare trebuie plasat cât mai aproape de aceștia pentru a fi cât mai eficientă deparazitarea. Distanța maximă față de pin este de 100mils(2.54mm).
3) Traseele de alimentare vor fi trasate cu linii mai groase pentru a evita pierderile ce pot apărea datorită rezistivității.
3.3.1.Realizarea fizică a PCB-ului
1) După realizarea cablajului în format electronic, trebuie printat pe hârtie de calc (hârtie lucioasă) care va fi imprimat pe PCB.
Pentru a exporta imaginea layout-ului din meniul File Print. Pașii următori se pot vedea în imaginea de mai jos. Alegem imprimanta virtuală: ”Print to File”, trebuie să selectăm neapărat A4, în cazul nostru, iar ”scale”-ul să fie 1.
Fig.27. Exportarea layout-ului în format PDF
2) Urmează imprimarea pe foaie de calc A4. Printarea trebuie făcută la scara 1:1 pentru a respecta dimensiunile stabilite în cablaj. Pentru a trasa pe placă traseul respectiv, s-a folosit un dispozitiv cu ultraviolete, pus la dispoziție de laboratorul de electronică din cadrul facultății de Inginerie ”Hermann Oberth”. S-a așezat foaia de calc pe dispozitiv, cu partea imprimată în sus, iar pe foaie a fost pusă placa având grija ca partea placată cu cupru sa fie în jos și sa fie perfect aliniată cu colțurile cablajului.
3) După acest pas urmează developarea: se introduce placa în soluție de developat, care conține sodă caustică(NaOH). În urma acestui proces se poate observa traseul care va fi corodat.
4) După developarea PCB-ului, urmează corodarea plăcii, și anume îndepărtarea cuprului nedorit, care se va realiza prin introducerea plăcii în clorură feerică. Perioada de expunere a plăcii sub acțiunea clorurii ferice trebuie să fie suficient de mare pentru a asigura eliminarea completă a straturilor de cupru aflate în exces. La final, îndepărtăm clorura ferică de pe PCB clătind cu apă.
5) Dupa ce au fost realizați acești pași, urmează găurirea plăcii:
Am executat găurile necesare pentru fixarea componentelor de tip THT, microcontrolerul și găurile de prindere a LCD-ului, de sprijinire a placii. Am realizat acest proces folosind mașina de găurit PCB-uri din laboratorul Continental, din cadrul facultății.
6) Se curătă și se degresează placa folosind acetonă, apoi aplicăm un strat de flux de lipire care conține un aerosol colofoniu. Acest flux de lipire este util împotriva oxidării și asigură o aderare mai bună a fludorului. După aplicare, placa trebuie lăsată un interval de câteva ore pentru a o uscare completă.
7) Ultimul pas în realizarea plăcii electronice îl reprezintă lipirea componentelor electronice pe placă. Pentru început am lipit componentele integrate, care conțineau mai mulți pinii, după care am trecut la componentele THT.
În figura de mai jos se poate vedea stadiul final al PCB-ului cu toate componentele electronice:
Fig.28. Cablajul dispozitivului
3.4. Programarea microcontrolerului
Microcontrolerul DSPIC30F2010, are un numar de 28 de pini, dispuși pe 4 porturi: PORT B – 6 pini, PORT C – 3 pini, PORT D – 8 pini, PORT E – 8 pini.
Pe PORT A am conectat cele 2 butoane folosite în sistemul de comandă al dispozitivului.
Pe PORT B am conectat driverul BTS7710GP, folosit pentru comanda motorului de curent continuu.
Pe PORT C am conectat LCD-ul, led-ul de start și comanda butoanelor.
Pentru programarea microcontrolerului am folosit soft-ul MPLab de la firma Microchip. Este o soluție ieftină și cu performanțe foarte bune. Poate lucra și în modul debuger, cât și în modul programator în timp real pentru mai multe tipuri de microcontrolere PIC sau dsPIC.
3.4.1 MPLAB. Caracteristici
– conexiune USB sau RS 232(viteza maximă de 2Mb/s)
– în modul debuger procesarea este în timp real
– alimentare între 2 – 6 V
– încarcare automată a soft-ului de pe PC
– spațiu de memorie alocat microcontrollerului pentru scriere sau citire
– putem insera puncte stop în program(breakpoint)
Acest program reprezintă o interfață inteligentă între programator și partea de hardware, permițând programatorului un debugging foarte simplu și eficient, prin analiza regiștrilor, variabilelor, prin adăugarea unor ”breakpoint”-uri în cod.
3.4.2 Crearea unui proiect în MPLAB
Pentru a crea un proiect nou în MPLAB trebuie să urmăm o serie de pași.
Din meniul interfeței mergem la Project Project Wizard
Fig 29. Meniul Project MPLAB
Apăsăm butonul Next pentru a începe, iar urmatorul pas este alegerea dispozitivului pe care îl vom programa. În cazul nostru DSPIC30F2010.
Fig 30. Alegerea dispozitivului
După ce am ales dispozitivul, selectăm limbajul de programare folosit pentru compilare. În cazul nostru, codul a fost scris în C, deci vom alege ”HI-TECH Universal Toolsuite”
Fig .31. Alegerea limbajului de programare folosit la compilare
După ce am ales limbajul de programare, alegem apăsând butonul ”Browse” locul unde va fi salvat proiectul și îi asignăm un nume.
Fig. 32. Salvarea proiectului în locația dorită
În următorul pas putem aduce fișiere la proiectul creat. Dacă nu avem nici un fișier de adăugat la proiect apăsăm next.
Fig .33. Adăugarea unor fișiere existente la proiect
Acesta este ultimul pas, în care vedem un sumar al setărilor alese de noi.
Fig .34. Sumar al configurărilor pentru proiect
Fig .35. Adăugarea unor fișiere sursă(.c) sau fișiere header (.h)
Cap 4. Concluzie
Soluționarea temei conform acestui proiect scoate in evidență simplitatea schemei electronice prin folosirea microcontroller-ului, partea de comandă fiind implementată in program.
Cap. 5 Bibliografie
Kelemen, A. și col.: Electronică de putere, EDP, București, 1983
Ionescu, F.: Electronică de putere, Ed. Tehnică, București, 1998
Popescu, V. ș.a.: Electronică de putere, Ed. De Vest, Timișoara, 1998
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010337
http://www.bmh.nu/pdf/Igbt%20transistorer/L6565Quasiresonant%20contr%20appnote.pdf
http://www.datasheetcatalog.org/datasheet/motorola/SG3525AN.pdf
http://www.nomad.ee/micros/mc34063a/
http://www.irf.com/product-info/datasheets/data/iram136-3063b.pdf
http://www.okaya.com/RC1602-J.pdf
www.datasheetcatalog.org/
http://www.aaroncake.net/Circuits/stepper.asp
http://www.codeproject. com/KB/vbscript/Stepper_Motor_Control.aspx
Cuprins:
Cap.1.Introducere
Cap.2. Analiza și sinteza literaturii de specialitate
2.1.Motorul de curent continuu
2.1.1 Legea inductanței
2.1.2. Principiul de funcționare al motorului de curent continuu
2.1.3. Caracteristicile motoarelor de curent continuu
2.1.3.1 Motorul de curent continuu cu excitație în derivație sau separată
2.1.3.2. Motorul de curent continuu cu excitație serie
2.1.3.3. Motorul de curent continuu cu excitație mixtă
2.2 Studiul circuitului integrat BTS 7710 GP
2.3 Microcontrolerul DSPIC30F2010
2.3.1. Introducere
2.3.2 Microcontrolerul DSPIC30F prezentare generală
2.3.3 Semnificația pinilor
2.3.4 Clock-ul microcontroller-ului
2.3.5 Unitatea de intrare-ieșire (I/O
2.3.6 Porturile I/O (intrare/ieșire
2.3.6.1 Porturile paralele I/O (PIO
2.3.6.2 Configurarea pinilor analogici ai portului
2.3.6.3 Notificarea schimbării la intrare
2.3.7 Memoria flash a programului
2.3.8 Modulul I2C
2.3.8.1 Registri I2C
2.3.8.2 Adresele modulului I2C
2.3.8.3 Operatiunea slave mode pe 10 biti
2.3.8.4 Recepția modului slave pe 10 biti
2.3.9 Operațiuni ale masterului
2.3.9.1 Transmisiune masterului I2C
2.3.9.2 Recepția masterului
2.4.Studiul senzorului de curent bidirectional AD8210
Cap.3.Contribuții proprii
3.1.Schema bloc a sistemului
3.2.Proiectarea schemei electronice
3.2.1 Modulul de alimentare
3.2.2 Modulul de comanda
3.2.4 Driverul pentru motor
3.2.5 Modulul de protecție
3.3. Realizarea cablajului
3.3.1 .Realizarea fizică a PCB-ului
3.4. Programarea microcontrolerului
3.4.1 MPLAB. Caracteristici
3.4.2 Crearea unui proiect în MPLAB
Cap 4. Concluzie
Cap. 5 Bibliografie
Bibliografie
Kelemen, A. și col.: Electronică de putere, EDP, București, 1983
Ionescu, F.: Electronică de putere, Ed. Tehnică, București, 1998
Popescu, V. ș.a.: Electronică de putere, Ed. De Vest, Timișoara, 1998
http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010337
http://www.bmh.nu/pdf/Igbt%20transistorer/L6565Quasiresonant%20contr%20appnote.pdf
http://www.datasheetcatalog.org/datasheet/motorola/SG3525AN.pdf
http://www.nomad.ee/micros/mc34063a/
http://www.irf.com/product-info/datasheets/data/iram136-3063b.pdf
http://www.okaya.com/RC1602-J.pdf
www.datasheetcatalog.org/
http://www.aaroncake.net/Circuits/stepper.asp
http://www.codeproject. com/KB/vbscript/Stepper_Motor_Control.aspx
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: Actionarea Geamului Electric Auto cu Microcontroller Dspic30f2010 (ID: 161787)
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.
