Conferențiar Dr.Ing. Dan Marius Dobrea Absolvent : Ferenț Marius Lucian UNIVERSITATEA “GHEORGHE ASACHI” DIN IAȘI FACULTATEA DE… [307379]

UNIVERSITATEA “GHEORGHE ASACHI” [anonimizat] :

Conferențiar Dr.Ing. Dan Marius Dobrea

Absolvent: [anonimizat] “GHEORGHE ASACHI” [anonimizat] :

Conferențiar Dr.Ing. Dan Marius Dobrea

Absolvent: [anonimizat] 1: INTRODUCERE – 3 –

1.1 Memoriu justificativ – 3 –

1.2 Structura lucrării – 4 –

CAPITOLUL 2: FUNDAMENTARE TEORETICĂ – 5 –

2.1 Sarcinile electrice. Generalități. – 5 –

2.2 Tipuri de sarcini electrice. – 7 –

2.3 Tranzistorul MOSFET – 10 –

2.4 Amplificatorul operațional – 12 –

2.5 Circuitul integrat LM555 – 15 –

2.6 Microcontrolerul – generalităti – 17 –

2.6.1 ATmega 328 – 18 –

2.6.2 Arduino Nano – 2 –

2.7 Modulul de afișare LCD – 4 –

CAPITOLUL 3: REALIZAREA PRACTICĂ A PROIECTULUI – 7 –

3.2 Designul – 9 –

3.2.1 Hardware – 10 –

3.2.1.2 Modul 2 [anonimizat]. – 18 –

3.2.1.3 Alegerea componentelor – 19 –

3.2.1.4 Realizarea unui prototip – 22 –

3.2.1.5 Realizare layout și placă PCB – 26 –

3.2.1.6 [anonimizat] – 32 –

3.2.1.7 Masurători – 34 –

3.2.2 Software – 40 –

3.2.2.1 Elemente de interfață cu utilizatorul – 41 –

3.2.2.2 [anonimizat] C – 43 –

CAPITOLUL 4: REZUMAT. CONCLUZII. – 50 –

4.2 Concluzii – 51 –

ANEXE – 52 –

BIBLIOGRAFIE – 62 –

CAPITOLUL 1: INTRODUCERE

1.1 Memoriu justificativ

Odată cu tehnologia care este într-o [anonimizat] a crescut datorită necesității de a avea măsurători cât mai bune și mai precise care să se potrivească și noilor tehnologii. Pentru majoritatea sistemelor și aplicațiilor electronice este important ca acestea să fie cât mai eficiente din punct de vedere energetic și să aibă o sursă de energie electrică cât mai sigură. Din acest motiv apare necesitatea de a [anonimizat] a [anonimizat], etc.

[anonimizat]-[anonimizat], configurații și metode de implementare.

Intenția acestei lucrări este de a [anonimizat] a [anonimizat] o serie de măsurători și teste care să valideze funcționarea conform cerințelor.

[anonimizat]:

Stabilirea specificațiilor;

Realizarea unei scheme funcționale;

Simulări;

Layout;

Prototip;

Realizarea schemei și a cablajului final;

Măsurători.

A doua etapă își propune realizarea:

[anonimizat];

controlul dispozitivului cu ajutorul unui sistem cu microcontroler.

1.2 [anonimizat]:

Capitolul 1 – Introducere: [anonimizat], justificarea alegerii făcute și descrierea structurii lucrării;

Capitolul 2 – Fundamente Teoretice: conține noțiunile teoretice pentru realizarea proiectului;

Capitolul 3 – Realizarea Practică A Proiectului: în acest capitol sunt prezentate și descrise etapele de proiectare si implementare;

Capitolul 4 – rezumat. Concluzii: cuprinde o serie de idei ce surprind punctele esențiale ale proiectului;

Anexe: în acest capitol sunt atașate schemele, layout, codul sursă.

Bibliografie.

CAPITOLUL 2: FUNDAMENTARE TEORETICĂ

2.1 Sarcinile electrice. Generalități.

O sarcină electrică este un dispozitiv, sau ansamblu de circuite care simulează o sarcină pe un circuit electric. Sarcinile electrice sunt utilizate în diverse aplicații cum ar fi: convertoare, invertoare, sisteme UPS (Uninterruptible Power Supply), baterii, celule solare, etc. Cu alte cuvinte, o sarcină electrică este un circuit sau o componentă care consumă putere electrică, fiind opusă unei surse de energie. Termenul de consum de energie se poate referi, de asemenea la puterea consumată de un circuit. Acest termen poate fi folosit în sens mai larg în electronică pentru un dispozitiv conectat la un semnal sursă, indiferent daca este sau nu un consum de energie. De exemplu, dacă un circuit are un port de ieșire la care sunt conectate o pereche de terminale, care prezintă exteriorului un semnal electric, circuitul conectat la aceste terminale este o sarcină (consumator).

Daca ne referim la efectele pe care le are o sarcină asupra circuitului la care este conectată, putem face abstracție de design-ul circuitului, fiind de interes doar circuitul echivalent rezultat în urma aplicării teoremei lui Thévenin.

Figura 1-curcuit fără sarcină conectată la bornele de ieșire

În figura 1 putem observa un circuit în care secțiunea A reprezintă o sursă de tensiune ideală în serie cu rezistența internă, iar în secțiunea B bornele de ieșire ale circuitului la care nu este conectată nici o sarcină. În acest caz (fără a avea conectată o sarcină) considerăm circuitul ca fiind circuit deschis, iar comportarea acestuia va fi diferită.

Figura 2- curcuit cu sarcină conectată la bornele de ieșire

În figura 2 putem observa un circuit în care secțiunea A reprezintă o sursă de tensiune ideală în serie cu rezistența internă, iar în secțiunea B rezistorul Rl care poate fi considerat ca fiind rezistența sarcinii conectate la bornele circuitului. Adăugând acest rezistor circuitului, acesta devine circuit închis, vom avea o cădere de tensiune atât pe rezistorul Rs cât si pe Rl, iar valoarea finala a tensiunii de ieșire va fi dată de formula:

2.2 Tipuri de sarcini electrice.

O sarcină electrică este componentă dintr-un circuit, sau din exteriorul circuitului, care are rolul de a converti curentul electric în lumină, căldură sau lucru mecanic. Cu alte cuvinte, dacă un circuit are un port de ieșire bine definit, componenta sau circuitul (impedanța de intrare) conectat la terminalele sale este considerată o sarcină. Ca și exemple de sarcini electrice putem avea: becul incandescent, un rezistor, un motor, sau un circuit complex care să realizeze diferite funcții. Așadar putem clasifica sarcinile electrice din punct de vedere al naturii ca fiind :

I)Pasive

II)Active

În cele ce urmează vom trata prima categorie de sarcini și anume cele pasive.

Elementele de circuit pasive nu necesită surse de energie electrică pentru a putea funcționa și totodată nu pot mări valoarea puterii electrice în circuit. În această categorie putem include rezistorul, condensatorul, bobina.

Sarcinile electrice rezistive:

Acest tip de sarcină în mod natural opune rezistență circulației curentului electric convertind o parte din acesta în energie termică, sau luminoasă ( dorită sau nedorită ).

În categoria sarcinilor electrice rezistive putem include:

Becul incandescent: produce lumină la trecerea curentului electric printr-un filament aflat în vid.

Elemente termice: produc energie termică la trecerea curentului electric printr-un element rezistiv.

Caracteristici ale sarcinilor electrice rezistive:

Rezistența ( R ) se măsoară în ohmi ( Ω ), iar puterea în wați;

Curentul și tensiunea sunt în fază; dacă tensiunea variază într-o anumită direcție și curentul va urmări aceeași variație;

Curentul și tensiunea fiind în fază factorul de putere va fi unitar;

Sarcini electrice inductive:

O bobină înmagazinează energie în câmpul magnetic produs în momentul trecerii curentului electric prin aceasta, energia fiind eliberată în momentul când circulația curentului este întreruptă.

În categoria sarcinilor electrice rezistive putem include:

Motorul electric: doua câmpuri magnetice de sens opus determină rotirea axului motorului;

Transformatorul electric: este format din două bobine numite ’’înfășurare primară’’ și ’’înfășurare secundară’’. Câmpul magnetic din înfășurarea primară determină apariția unui câmp magnetic în cea de-a doua înfășurare;

Caracteristici ale sarcinilor electrice inductive:

Inductanța ( L ) este măsurată în Henry ( H );

Se opun modificării sensului curentului, astfel încât în momentul măsurării curentul va avea o întârziere în comparație cu tensiunea;

La creșterea curentului către o valoare maximă, valoarea tensiunii scade;

Forma de undă a curentului și a tensiunii sunt defazate;

Sarcinile inductive absorb o mare cantitate de curent la prima încărcare; după mai mulți ciclii de acest fel curentul se stabilește la o anumită valoare;

Timpul necesar pentru ca valoarea sa fie stabilită depinde de frecvența și/sau de valoarea inductanței sarcinii;

Sarcini electrice capacitive:

Un condensator acumulează energie electrică. Două suprafețe conductoare de curent electric sunt separate de un izolator. Acestea nu sunt atât de mult folosite, dar am putea considera ca fiind sarcini capacitive defibrilatoarele medicale sau becurile de tip flash.

Caracteristici ale sarcinilor electrice capacitive:

Capabilitatea unui condensator de a acumula energie electrică se numește capacitate ( C ), iar unitatea de măsură este faradul ( F ).

Creșterea tensiunii într-un condensator conduce la scăderea curentului prin acesta; în timpul descărcării unui condensator curentul crește, iar tensiunea scade;

Forma de undă a curentului va determina forma de undă a tensiunii, dar cu toate acestea cele doua forme de undă vor fi defazate;

Sarcinile capacitive au de asemenea putere reactivă, dar cu polaritate opusă celei inductive;

Pentru a putea înțelege tema acestui proiect vom continua cu prezentarea sarcinilor active.

O sarcină activă este un dispozitiv care simulează sarcini în curent continuu sau curent alternativ, lucru necesar pentru a realiza teste funcționale diferitelor dispozitive precum surse în comutație, baterii, celule solare, etc. Acestea sunt realizate din componente active precum tranzistori, cu rolul de a avea impedanță mare care nu necesită o cădere mare de tensiune, așa cum s-ar întâmpla în cazul folosirii unor rezistori mari.

Sarcinile active, sau altfel spus, sarcinile electronice sunt sisteme complexe numite și sarcini programabile cu ajutorul cărora se pot face o serie de teste precum: modificarea valorii sarcinii, curbe de descărcare a bateriilor, teste în regim tranzitoriu care pot fi complet automatizate și pot fi realizate fără a introduce perturbații care ar putea modifica corectitudinea măsurării sau funcționării dispozitivului testat.

Cu alte cuvinte, o sarcină electronică programabilă este asemănătoare unei surse în comutație ce aplică tensiune de anumită valoare și absoarbe curent ( absoarbe putere ). Acest lucru este necesar în simularea sarcinilor reale când polaritatea curentului, sau a tensiunii fac sarcina să aibă un comportament asemănător cu cel al unei surse de energie. De exemplu în cazul circuitelor cu componente capacitive, sau inductive la curent alternativ, sau la modificarea valorilor curentului continuu. Fiind capabil să schimbe direcția curentului, sarcina programabilă se va comporta ca un rezistor programabil, rămânând în același timp o sursă programabilă. În orice caz cele mai multe sarcini electronice programabile din comerț nu pot genera energie nefiind surse de energie, ci pot absorbi energie. Cele mai des întâlnite sunt cele care folosesc un tranzistor/FET, sau o matrice de tranzistori/FET conectați în paralel pentru a putea funcționa și la curenți mari. Circuitul intern din acest dispozitiv monitorizează curentul printr-un tranzistor, îl compară cu cel dorit de utilizator și cu ajutorul unui amplificator de eroare modifică tensiunea aplicată tranzistorului care își va modifica în mod semnificativ rezistența. În acest fel se creează o ”reacție negativă” provenită de la compararea succesivă a curentului dorit cu cel provenit de la dispozitivul testat, indiferent de alte schimbări ce apar în tensiunea aplicată, sau orice alte variabile. Dacă dispozitivul testat nu este capabil să furnizeze energia cerută, sarcina programabilă va limita curentul la o anumită valoare.

Majoritatea sarcinilor de curent continuu din comerț sunt echipate cu un microprocesor și alte circuite ce ajută utilizatorul nu doar să seteze curentul dorit prin sarcină ( curent constant ) ci și să seteze o rezistență constantă, sau să mențină o putere disipată constantă. Sarcinile programabile avansate sunt prevăzute cu funcții suplimentare și controale interne care pot detecta oscilații și le pot stabiliza. În acest mod, prin eliminarea oscilațiilor și a șpițurilor de curent, o sarcină programabilă poate proteja împotriva deteriorării componentelor electronice. Aceste sisteme avansate de testare de cele mai multe ori necesită moduri speciale de funcționare precum: tensiune constantă, curent constant, rezistență sau putere constante. În funcție de aplicație, aceste dispozitive complexe pot oferi pante rapide alte tensiunii (eng. slew rate) și diverse forme de undă cu ajutorul cărora se fac măsurătorile cum ar fi unde sinusoidale, triunghiulare, semnal rampă, trapezoidal, posibilitatea setării și modificării timpului de funcționare. În ziua de azi cele mai avansate sarcini electronice programabile au o rezoluție a măsurării de 16 biți.

Figura 3-Sarcină electronică activa B&K Precision

(sursa foto: http://www.bkprecision.com/products/dc-electronic-loads/8500-300-w-programmable-dc-electronic-load.html)

În figura 3 este prezentată o astfel de sarcină electronică programabilă profesională, realizată de compania B&K Precision.

2.3 Tranzistorul MOSFET

Tranzistorul cu efect de câmp FET (Field Effect Transistor) este un dispozitiv electronic semiconductor folosit pentru a comanda intensitatea curentului electric dintr-un circuit. Asemenea dispozitive sunt întâlnite și sub denumirea de tranzistoare unipolare deoarece conducția electrică este asigurată de un singur tip de purtători electronici de sarcină, electroni sau goluri (după cum canalul este de tip n, respectiv p). Funcționarea se bazează pe variația conductibilității unui canal, accesibil prin terminalele numite sursă și drenă, ce se realizează prin aplicarea unei tensiuni între grila (poarta) și substratul dispozitivului, astfel obținându-se, modificarea dimensiunii transversale a canalului semiconductor sau a concentrației de purtători electronici din acesta.

În funcție de modul de realizare a grilei cele mai frecvente configurații de tranzistoare cu efect de câmp întâlnite sunt tranzistoare cu grilă izolată de semiconductor prin intermediul unui strat de oxid de siliciu foarte subțire (MOSFET) și tranzistoare cu o joncțiune invers polarizată(JFET). În figura 4 este prezentată structura unui astfel de tranzsitor MOSFET.

Figura 4-structura internă tranzistor MOSFET

Pentru protecția tranzistorului, unele dispozitive prezintă între grilă și substrat o diodă Zenner. Aceasta protejează tranzistorul însă reduce rezistența de intrare. O altă metodă de protecție a tranzistoarelor implementată din fabricație este introducere unei diode de descărcare conectată între drenă și sursă, menită să asigure cale de închidere a energiei inductive care se poate întoarce de la sarcină.

Tranzistorul MOSFET spre deosebire de tranzistor bipolar are avantajul unei impedanțe de intrare mari, curentul de comandă pe grilă fiind semnificativ mai mic (de ordinul zecilor de picoamperi).

În figura 5 putem observa simbolizarea MOSFET-ului de tip N si cel de tip P.

Figura 5-simboluri MOSFET tip N și tip P

2.4 Amplificatorul operațional

Amplificatorul operațional (AO) este un circuit integrat care are calitatea de a furniza la ieșire o tensiune proporțională cu diferența potențialelor celor două intrări ale sale. Factorul de amplificare a acestei diferențe este foarte mare (de ordinul 105 ).

Amplificatoarele operaționale au în structura lor circuite de intrare care le asigură o rezistență de intrarea foarte mare, amplificatoare diferențiale, circuite de amplificare și circuite de ieșire care le asigură o rezistență de ieșire foarte mică. Simbolul folosit pentru amplificatorul operațional este prezentat în figura6.

Figura 6-amplificator operațional

Amplificatorul operațional este alimentat cu tensiuni simetrice (V+ și V-) pentru ca la ieșire să poată fi obținute atât tensiuni pozitive cât și tensiuni negative fată de un potențial de referință care este potențialul bornei comune a celor două surse de alimentare. Trebuie menționat faptul că amplificatorul operațional ca circuit integrat nu are o bornă de masă. Curenții care ies din amplificator se întorc la sursele lor prin traseul comun. Denumirea de amplificator operațional i-a fost atribuită acestui circuit integrat la începuturile existenței lui, când a fost folosit în electronica analogică și pentru efectuarea de operații aritmetice.

Notațiile folosite în figura 6 au următoarele semnificații:

V+, V- : tensiunile de alimentare simetrice;

“+” , ”-“ : intrarea neinversoare și intrarea inversoare;

u+, u- : diferențele de potențial față de traseul comun ale intrărilor neinversoare și inversoare (tensiuni de intrare).

i+, i- : curenții de intrare în amplificatorul operațional;

v : diferența de potențial dintre ieșire și traseul comun (tensiunea de ieșire).

Tipurile de conexiuni ale amplificatorului operațional se definesc în funcție de modul în care sunt conectate elementele de circuit exterioare amplificatorului operațional. Vom porni de la o conexiune generală, cu surse de tensiune și rezistențe conectate la ambele intrări, care se numește conexiunea diferențială. În figura 7 este prezentată acest tip de conexiune.

Figura 7-amplificator operațional-conexiune diferențială

Pentru analiza schemei vom aplica condiția de egalitate a potențialelor celor două intrări ale amplificatorului operațional : u+ = u- si amintim faptul ca amplificatorul operațional este considerat ideal si i+ = i- = 0.

Potențialul intrării inversoare față de masă este: u-=u1 + V

Potențialul intrării neinversoare față de masă este: u+=u2

Tensiunea de ieșire: v=u2 -u1

Din punctul de vedere al utilizatorului este de dorit să fie amplificate doar diferențele tensiunilor de intrare. Această înseamnă că dacă u1 = u2, tensiunea de ieșire trebuie să fie nulă, v = 0, așadar se obține egalitatea : = . Această condiție este obligatorie pentru ca amplificatorul în conexiune diferențială să opereze în condiții optime. În practică, de cele mai multe ori se lucrează în condițiile: R3 = R1 și R4 = R2.

Expresia factorului de amplificare al conexiunii diferențiale este dată de relația:

A==

Se poate observa ca factorul de amplificare al amplificatorului diferențial construit cu un amplificator operațional nu depinde de factorul de amplificare în buclă deschisă al acestuia din urmă. Acest lucru este o consecință a reacției negative puternice.

Un alt tip de circuit care are la baza amplificatorul operațional este comparatorul( figura 8). Comparatoarele sunt circuite neliniare care produc la ieșire două sau mai multe valori discrete (cel mai des două nivele de tensiune), dependente de nivelul semnalului de intrare. Dacă presupunem un comparator cu două nivele la ieșire, atunci sub o anumită valoare a semnalului de intrare, numită de prag, la ieșire se obține unul dintre cele două nivele iar dacă semnalul de intrare depășește puțin valoarea de prag, ieșirea trece în celălalt nivel. In cazul comparatoarelor realizate cu AO, cele două nivele de ieșire sunt tensiunile de saturație. Comparatoarele sunt elementele principale în sistemele de conversie analog-numerică și numeric-analogică. Se folosesc, de asemenea, la realizarea oscilatoarelor și a generatoarelor de forme de undă.

Pentru acest tip de circuit putem considera o singură intrare si anume diferența dintre u+ si u-, adică

ud = u+ – u-

Figura 8-comparator

Dacă : ud > 0, adică u+ > u-, ud = vOH

ud < 0, adică u+ < u-, ud = vOL

Figura 8b- caracteristica de ieșire a comparatorului

2.5 Circuitul integrat LM555

Circuitul integrat 555 este un circuit destinat aplicațiilor de temporizare ( măsurare timp ) de precizie, generare de impulsuri, modularea impulsurilor in durata, generare de semnale dinte de fierăstrău, etc.

Tensiunile de referința pentru comparatoarele C1 si C2 sunt fixate de către rețeaua rezistivă R1- R1- R1 care divide tensiunea Vcc.. Circuitul poate funcționa ca CBA (circuit basculant astabil ) sau CBM (circuit basculant monostabil ).

În figura 9 putem observa schema internă a acestui circuit.

Figura 9-structura internă circuit integrat LM 555

2.6 Microcontrolerul – generalităti

Un microcontroler este un sistem electronic miniaturizat destinat controlului unui proces, sau al unei interacțiuni cu mediul exterior, intervenția operatorului uman nefiind necesară. Inițial controlerele erau realizate folosind componente electromecanice și componente electronice discrete. Construcția lui era foarte robustă având un consum mare de energie și fiabilitate lăsând de dorit. Cu timpul acesta a început să capete forme din ce în ce mai mici, toate componentele necesare au fost integrate pe același chip.

Datorită prețului scăzut, în prezent microcontrolerele se regăsesc în aproape toate dispozitivele electrocasnice (televizor oare, mașini de spălat, imprimante, frigidere, cuptor cu microunde etc.). De asemenea microcontrolerele sunt folosite pe scară largă și în industrie. În industria automobilelor de exemplu este integrat în unitatea de control ( ECU ) și poate realiza controlul frânări și al direcției( ABS ), controlul injecției carburantului, controlul dispozitivelor de siguranță( Airbag ), reglarea scaunelor și oglinzilor, climatizarea, diagnoza.

La ora actuală există un număr foarte mare de tipuri constructive de microcontrolere. Printre cei mai cunoscuți producători de microcontrolere sunt: Motorola, Intel, Microcip, Frescele, Texas Instrument, Atmel, Zilog. Acești producători scot pe piață chip-uri tot mai performante, dedicate anumitor aplicații specifice. Toate acestea sunt realizate în tehnologia CMOS (Complementary metal–oxide–semiconductor), tehnologie care permite obținerea celor mai mari viteze de operare la o putere consumată foarte redusă, realizarea structurilor cu densitate foarte mare de integrare și o imunitate ridicată la perturbații.

Microcontrolerul în structura sa internă poate include o unitatea centrală (microprocesor), un temporizator/numărător, un generator de tact ( de obicei un circuit RC ), o memorie volatilă ( RAM ) și o memorie nevolatilă ( ROM/EPROM/EEPROM/FLASH ), un sistem de întreruperi ( ISR ), un dispozitiv I/O intrări/ieșiri atât seriale cât și paralele, un convertor A/D și D/A, un comparator analogic , un generator de PWM, periferice și alte resurse. Dimensiunea cuvântului de date reprezintă un prim criteriu de clasificare, astfel funcție de acesta și de puterea de calcul dorită întâlnim microcontrolere cu o lungime a cuvântului de date cuprinsă între 4 și 64 de biți.

Cel mai important aspect în ceea ce privește analiza oricărui sistem de calcul se referă la arhitectura sa internă. Dintre cele mai întâlnite arhitecturi amintim: arhitecturi de tip " Von Neumann " și arhitecturi de tip " Harvard ".

Fiindcă dezvoltarea aplicațiilor presupune pe lângă proiectarea circuitelor electronice aferente și specificarea prin instrucțiuni a sarcinilor pe care sistemul trebuie să le îndeplinească, microcontrolerele dispun și de un circuit microprogramabil.

Limbajul mașină este singurul mod prin care microcontrolerul poate interpreta informația. Însă acest limbaj nu este deloc la îndemâna unui programator. Acesta va utiliza un limbaj de programare (ASM, C/C++ ) în care o instrucțiune are corespondent o instrucțiune (sau mai multe )în limbajul mașină. Conversia instrucțiunilor din limbajul de programare în limbaj mașină va fi realizată automat de un compilator.

2.6.1 ATmega 328

Microcontrolerul ATmega 328 este un microcontroler creat de compania Atmel cu arhitectură pe 8 biți AVR (arhitectură Harvard modificată), cu set redus de instrucțiuni (RISC). În figura 10 putem vedea diagrama pinilor pentru capsula 32MLF

Figura 10.

Dintre caracteristicile importante amintim:

ISP flash memory cu capacitate de 32 KB

EEPROM 1 KB

SRAM 2 KB

23 de pini intrare/ieșire

32 registre de lucru cu scop general

3 regiștri timer flexibili

Întreruperi externe și interne

Poate fi programat serial prin UART

Port serial SPI

Convertoare A/D cu rezoluție de 10 biți pe 6 canale

Timer watchdog programabil cu oscilator intern

În figura 11 este prezentată arhitectura internă a acestui microcontroler.

Figura 11-arhitectura internă ATMega 328

2.6.2 Arduino Nano

Arduino este o companie open-source care produce, atât plăcuțe de dezvoltare bazate pe microcontrolere, cât și partea de software destinată funcționării și programării acestora. Aceste plăci pun la dispoziția utilizatorului pini I/O, digitali și analogici, care pot fi interfațați cu o gamă largă de plăcuțe numite scuturi (shield-uri) și/sau cu alte circuite. Plăcile au interfețe de comunicații seriale, inclusiv USB pe unele modele, pentru a încărca programe din calculatoarele personale. Pentru programarea microcontrolerelor, Arduino vine cu un mediu de dezvoltare integrat( IDE ), care include suport pentru limbaje de programare ca C și C++.

O plăcuță Arduino este compusă dintr-un microcontroler Atmel AVR de 8, 16 sau 32-biți (deși începând cu 2015, s-au folosit microcontrolere de la alți producători) cu componente complementare care facilitează programarea și încorporarea în alte circuite. Un aspect important la Arduino este că acesta dispune de conectori standard, care permit utilizatorului să conecteze plăcuța cu procesorul la diferite module interschimbabile numite shield-uri. Unele shield-uri comunică cu Arduino direct prin pinii digitali sau analogici, dar altele sunt adresabile individual prin magistrala serială (I²C) permițând utilizarea mai multor module în paralel. Până în anul 2015, plăcuțele Arduino oficiale au folosit cipuri Atmel din seria megaAVR, în special ATmega8, ATmega168, ATmega328, ATmega1280 și ATmega2560, iar în 2015 au fost adăugate cipuri de la alți producători.

Un microcontroler instalat pe Arduino vine preprogramat cu un bootloader care simplifică încărcarea programelor pe memoria flash a cipului, în comparație cu alte dispozitive care necesită programatoare externe. Acest aspect face Arduino o soluție simplă, permițând programarea de pe orice computer obișnuit.

Arduino, oferă un mediu integrat de dezvoltare (IDE), care este o aplicație cross-platform ( multi-platformă), scrisă în Java. Este proiectat pentru a introduce programarea în lumea artiștilor și a celor nefamiliarizați cu dezvoltarea software. Include un editor de cod cu funcții ca evidențierea sintaxelor, potrivirea acoladelor și spațierea automată, și oferă mecanisme simple cu un singur click, pentru a compila și a încărca programele în plăcuța Arduino. Un program scris în IDE pentru Arduino se numește ”sketch”.

Un sketch tipic Arduino scris în C/C++ este compus din două funcții care sunt compilate și legate cu un ciot de program main(), într-un program executabil cu o execuție ciclică:

setup(): o funcție care este rulată o singură dată la începutul programului, când se inițializează setările.

loop(): o funcție apelată în mod repetat până la oprirea alimentării cu energie a plăcuței.

După compilarea și legarea cu GNU toolchain, inclus, de asemenea, în IDE, mediul de dezvoltare Arduino trimite comandă către programul avrdude pentru a converti codul executabil într-un fișier text codat hexazecimal, care poate fi încărcat în placa Arduino de un program de încărcare.

Arduino Nano este o placă mica, completă și ușor de folosit împreună cu breadboard, avănd la bază microcontrolerul ATmega328. Ca și functionalități este asemănător cu Arduino Duemilanove, dar într-un format diferit. Îi lipsește totuși o mufa de alimentare jack, iar conexiunea între calculator-placă se face prin intermediul unui port Mini-B USB.

Arduino Nano dispune de 14 pini digitali ce pot fi utilizați ca intrări sau ieșiri utilizănd funcțiile  pinMode(), digitalWrite() și digitalRead(). Fiecare pin funcționează la o tensiune de 5V si au o capabilitate de curent de 40mA. Unii pini au funcții specializate precum:

Serial: 0 (RX) și 1 (TX): folosiți pentru a recepționa(RX) și pentru a transmite (TX) date prin comunicație serială.

Întreruperi externe: pinii 2 și 3: acești pini pot fi folosiți pentru a activa o întrerupere exernă.

PWM: pinii 3,5,6,9,10 si 11: acești pini pot furniza semnal PWM pe 8 biți.

SPI: pinii 0 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): acești pini suportă comunicația SPI.

LED: pinul 13: pe placa de dezvoltare se afla un LED conectat la pinul 13.

Nano are 8 intrări analogice, fiecare fiind capabil de a furniza o rezoluție de 10 biți. De asemenea unii pini pot avea funcții specializate precum:

I2C: A4 (SDA) și A5 (SCL): suportă comunicația I2C, cu ajutorul librăriei ”Wire”.

AREF: tensiune de referință pentru intrările analogice.

Reset: resetarea microcontroler-ului.

La un nivel conceptual, toate plăcile Arduino sunt programate printr-o conexiune serială RS – 232, dar modul în care aceasta este pusă în aplicare variază în funcție de versiunea hardware. Plăcile seriale Arduino conțin un circuit schimbător de nivel logic,  pentru a converti între RS – 232 și nivelul de semnale. Plăcile Arduino curente sunt programate prin USB, implementat folosind chip-uri adaptoare USB – serie, cum ar fi FTDI FT232.

În figura 12 se poate vedea o astfel de placă, precum si modul de dispunere al pinilor si funcționalitățile acestora.

Figura 12-pinii plăcii Arduino Nano

(sursa foto: https://wiki.eprolabs.com/index.php?title=Arduino_Nano)

2.7 Modulul de afișare LCD

Pentru afișarea mesajelor ce vor informa utilizatorul asupra modului de funcționare a sistemului, se utilizează un dispozitiv de afișare cu cristale lichide (LCD) datorită ușurinței de lucru cu acesta precum și a costului relativ scăzut.

În lucrarea de față se va folosi un afișaj LCD ce permite afișarea caracterelor alfanumerice în format matricial 5×7, pe 2 linii, cu câte 16 caractere pe linie. Afișajul permite afișarea a 192 de caractere ASCII. De asemenea se pot afișa caractere dorite de utilizator cu ajutorul unui generator de caractere.

LCD-ul poate fi programat în mai multe moduri, astfel se poate șterge afișajul, cursorul poate fi vizibil sau nu pe ecran, caracterele pot apărea licărind, etc.

Afișajul poate fi interfațat cu microcontrolerul în două moduri: pe 8 biți, când transferul de date se realizează folosind toți biții de date DB7-DB0 ai afișajului și pe 4 biți, caz în care transferul de date se realizează doar prin intermediul liniilor DB7-DB4, iar un transfer de date este complet după ce 4 biți de date au fost transmiși de două ori (întâi cei mai semnificativi 4 biți ai cuvântului apoi cei mai puțin semnificativi 4 biți).

În figura 13 este prezentată schema de conectare a acestui modul la placa Arduino. Din această schemă se poate observa ca se lucrează cu afișajul folosind conexiunea cu doar 4 linii de date (D7-D4), care vor fi conectate la un port paralel al microcontroler-ului. Întrucât dorim doar săscriem pe LCD nu să și citim, pinul RW al afișajului poate fi conectat la masă. Potențiometrul din figură este folosit pentru ajustarea contrastului ecranului.

Figura 13-modul de conectare Arduino – modul LCD

2.8 Convertorul ADC

Convertorul ADC (sau convertor analogic-digital) reprezintă un bloc sau un circuit care poate accepta o mărime analogică (curent, tensiune) la intrare, furnizând la ieșire un număr care reprezintă o aproximare a valorii analogice a semnalului de la intrare.

Spre deosebire de o mărime analogică ale cărei valori se pot găsi în orice punct din domeniul său de variație, mărimea numerică (sau digitală) posedă numai o variație în trepte. Astfel, întreg domeniul de variație este divizat într-un număr finit de „cuante” ( trepte ) de mărime determinată de rezoluția sistemului. În acest fel, diferența între cele mai apropiate valori numerice nu poate fi făcută mai mică decât această treaptă elementară, ceea ce face ca, principial, reprezentarea informației sub forma numerică să fie legată de introducerea unei erori, numită eroare de cuantificare.

Odată transformate în forma numerică, datele pot fi prelucrate matematic, sortate, analizate sau folosite pentru diverse funcții de control mult mai precis, rapid și flexibil decât sub formă analogică. De asemenea, forma numerică prezintă un avantaj considerabil în cazul păstrării datelor pentru durate mari, prin posibilitatea stocării lor în memorii nevolatile de mare capacitate.

În cazul folosirii acestui tip de convertor integrat într-un microcontroler, este bine de știut ca nu toți pinii microcontroler-ului prezintă această funcționalitate. În special pentru plăcile de dezvoltare Arduino acești pini au litera ”A” în față pentru a indica faptul că pot citi valori analogice. Convertorul ADC de pe aceste plăci de dezvoltare sunt convertoare pe 10 biți, adică pot detecta 1024 (210) nivele de tensiune.

Deoarece la ieșirea convertorului ADC vom avea o valoare rațiometrică, adică o tensiune 0V – 5V va fi cuantizată în valori cuprinse între 0-1023, așadar este necesară conversia valoare digitală – tensiune. Conversia se face astfel:

=

Tensiunea în urma conversiei =

CAPITOLUL 3: REALIZAREA PRACTICĂ A PROIECTULUI

3.1 Specificații si descrierea proiectului

Pentru realizarea proiectului va fi prezentă în continuare schema bloc a acestuia, urmând să fie detaliate în continuare modul de funcționare, modul de implementare și modul de validare a funcționarii acestuia.

În figura 14 este prezentată schema bloc a acestui dispozitiv.

Figura 14-schma bloc

Interfața cu utilizatorul: va fi realizată cu ajutorul unui LCD 16X2 pe care se vor afișa modurile dorite si alte informații despre proiect. Pentru selectarea acestor moduri utilizatorul se va folosi de cele două butoane aflate pe placa de control. Întregul ansamblu va fi controlat cu ajutorul unei plăci de dezvoltare Arduino.

Generator semnal de control: este format dintr-un circuit integrat LM555, care va avea la ieșire un semnal dreptunghiular cu factor de umplere 50%, cu o frecvență de 100Hz;

Sarcină: acesta este circuitul principal al schemei de funcționare si are rolul de a sigura funcționarea circuitului atât la curent constant cât si de a aplica diferite regim tranzitoriu.

Dispozitiv testat: în acest caz va fi reprezentat de o sursă în comutație a cărei ieșiri vor fi conectate la circuitul realizat.

În figura 15 este prezentat un grafic de funcționare a sarcinii electronice.

Operare la curent constant

B

Figura 15-graficul specificațiilor

Valori maxime absolute:

Tensiune maximă D.T. =100V;

Curent de sarcină maxim D.T.=5A;

Putere maximă disipată=25W;

Temperatura maximă ambientala de funcționare 35℃ cu temperatura radiatorului avănd valoarea maximă de 65 ℃;

Specificațiile sarcinii electronice:

Curent de sarcină minim 10mA;

Curent de sarcină maxim 5A;

Panta de curent minimă: 1mA/us și maximă: 15mA/us;

Offset ”A” de la 0A la 5 A;

”B” de la 0A la 5A;

Așadar conform figurii 5, putem deduce foarte ușor funcționarea circuitului și cerințele de proiectare: realizarea unei sarcini electronice active ce poate fi folosită în testarea surselor în comutație. Aceasta poate aplica la ieșirea dispozitivului testat (în cazul nostru sursa în comutație) sarcina dorită cu posibilitatea de a seta un curent constant sau de a aplica o anumită sarcină care să poată fi modificată de către utilizator.

Pentru realizarea unui dispozitiv cât mai compact si mai ușor de utilizat, atât partea hardware cât și cea software vor fi integrate pe o placă de PCB comună, aspectul final fiind asemănător cu cel din figura 16.

Figura 16.

3.2 Designul

Această parte a proiectului se referă la identificarea componentelor fizice ale sistemului, a modului de funcționare și a interdependențelor lor, urmărind specificațiile și anumiți pași specifici acestui proces.

Pentru realizarea acestuia, proiectul va fi împărțit în două mari categorii: design hardware, care cuprinde majoritatea specificațiilor tehnice, precum și a implementării acestuia. A doua categorie este de design software, care cuprinde modul de interfațare cu utilizatorul și programare a plăcii de dezvoltare Arduino Nano în limbaj C.

De asemenea, simularea circuitelor se va face cu ajutorul programului LTspice IV, iar realizarea schemelor și a layout-ului placilor PCB cu programul Kicad.

3.2.1 Hardware

Această parte conține realizarea și implementarea hardware (circuit analogic), fiind împărțită în două, corespunzătoare regimurilor de funcționare, adică la curent constant (cu posibilitatea de a putea fi modificat cu ajutorul unui potențiometru), sau funcționare în regim tranzitoriu, cu posibilitatea modificării pantelor unui semnal trapezoidal.

3.2.1.1 Modul 1 de funcționare – regim tranzitoriu

Pentru îndeplinirea temei propuse, se dorește realizarea unei surse de curent care să aibă rolul de a absorbi curentul dorit din D.T. Această sursă de curent este prezentată in figura 17.

Figura 17-sursă de curent cu AO și MOS

Drena tranzistorului MOSFET este conectată la una dintre ieșirile sursei (în cazul nostru o baterie de 12V), iar grila acestuia este polarizată de tensiunea de ieșire unui amplificator operațional LMC6482.

Curentul de sarcină trece prin rezistorul R20, a cărui rezistență este de 0,1 ohmi, fiind o rezistență de șunt, sau Rsense deoarece aceasta va servi la citirea curentului absorbit din D.T. Această metodă de ”citire” a curentului de sarcină cu ajutorul unui rezistor de șunt poartă denumirea de sesizare rezistivă în configurație flotantă(low side current sensing) deoarece tensiunea de mod comun are o valoare apropiată de masa circuitului. În acest fel citirea curentului va fi independentă de tensiunea provenita de la D.T. Căderea de tensiune pe rezistorul R20 reprezintă potențialul de masă al D.T. Daca această tensiune este prea mare, ar putea apărea probleme în momentul în care sistemul va intra în contact cu un alt sistem a cărui tensiune de masă este 0V.

Amplificatorul diferențial realizează o amplificare cu 10 , dată de raportul rezistorilor R23, R24, R25, R26 astfel:

Observăm ca R23= R25 si R24= R26, deci relația care va da amplificarea este:

A=== 10.

Figura 18-simulare sursă curent cu AO și MOS

În urma simulării circuitului( figura 18 ) se pot observa 2 forme de undă: prima, cea roșie reprezintă forma de undă cu amplitudinea de 0,45V preluată de pe rezistorul R20.Cea de-a doua formă de undă, de culoare verde, este preluată de la ieșirea amplificatorului diferențial si are o amplitudine de 4,5V.

Așadar putem observa ca raportul între cele doua semnale preluate este 10, adică reprezintă amplificarea diferențiala calculată mai sus.

La cea de-a doua intrare, ”+”, este o tensiune de referință realizată de o altă parte a circuitului. Forma de undă a acestei tensiuni este importantă în funcționarea circuitului deoarece ea va determina tensiunea de polarizare aplicată tranzistorului și deci întreaga funcționare a sarcinii active, atât la curent constant cât și prin aplicarea formei de undă trapezoidală cu posibilitatea de a putea modifica pantele de creștere și descreștere.

Forma de undă este cea din figura 15, iar cerințele proiectului impun posibilitatea modificării pantelor de creștere si descreștere cu valori între 0.1mA/us și 100mA/us. Aceste cerințe impun folosirea unor amplificatoare operationale cu caracteristici speciale, caracteristici care vor fi tratate în alt subcapitol.

Realizarea circuitului care va genera această forma de undă, precum și modul de control al pantelor va fi prezentat în continare.

Pentru început va fi prezentat generatorul de semnal dreptunghiular realizat cu ajutorul unui circuit integrat LM555. Semnalul de la ieșire trebuie sa aibă o frecvență de 100 Hz și factor de umplere de 50%.

Condensatorul C2 se încarcă prin rezistorii R12 si R13 si se descarcă prin R12. Factorul de umplere poate fi reglat cu precizie prin raportul celor doi rezistori.

În figura 19 este prezentată schema circuitului.

Figura 19-schema electrică LM555

Pentru îndeplinirea acestor cerințe dimensionarea componentelor a fost făcută astfel:

Thigh=0.693(R13+R12)xC2=0.693(76.2×103)x0.1u= 5.2 ms

Tlow=0.693x R12x C2=0.693x68x103x0.1u=4.7 ms

Perioada semnalului Ttotal=T1+T2=5.2 ms + 4.7 ms = 9.9 ms

Frecvența f== =101 Hz

Factorul de umplere (duty cycle) = == 50%

Din simularea prezentată în figura 20 și figura 21 se poate observa că aceste cerințe de proiectare au fost respectate.

Figura 20-simulare LM555-măsurare Tlow

Figura 21- simulare LM555-măsurare Thigh

Deoarece circuitul integrat este alimentat la o tensiune între -5V și 12V, amplitudinea semnalului va avea aceleași valori. Aceste valori sunt necesare pentru stabilirea parametrilor de funcționare a circuitului ce urmează.

Modalitatea de reglare a celor două pante A și B va fi realizată cu ajutorul unui circuit denumit ”push-pull”, care reprezintă un amplificator în clasă B.

În figura 22 este prezentată schema electrică a acestui circuit. Din figură se poate observa că acest circuit este simplu, realizat cu ajutorul a doi tranzistori MOS, unul de tip N si unul de tip P. Modificând valorile rezistorilor R6 și R7 se vor obține diferite tensiuni la ieșirea comună celor doi tranzistori, tensiuni ce vor corespunde celor două praguri de tensiune A si respectiv B.

Figura 22-schema electrică circuit push-pull

Forma de undă de la ieșire va fi următoarea:

Figura 23.

În figura 23 este prezentată forma de undă pentru o valoare a rezistorului R6=500 ohmi. Pentru a evidenția funcționarea circuitului, în figura 24 este prezentată o a doua forma de undă, dar pentru o valoare a rezistorului R6=5k ohmi.

Figura 24.

Se poate observa că pragul de tensiune de sus va avea o valoare mai scăzută, datorită tensiunii mai mici din drena tranzistorului MOS. Pentru a ușura reglarea celor doua nivele de tensiune rezistorii R6 si R7 vor fi înlocuiți cu două potențiomentre avand o valoare de 5kΩ, iar cei doi tranzistori N și P vor fi integrați pe aceeași capsulă.

În acest moment au fost îndeplinite cerințele cu privire la realizarea unui semnal dreptunghiular, căruia sa i se poată modifica cele două praguri de tensiune.

Pentru a putea modifica pantele de creștere/descreștere, se va realiza un circuit cu amplificatoare operaționale, reprezentând o sursă de curent constant pentru încărcarea si descărcarea unui condensator.

Pantele de încărcare și descărcare vor putea fi modificate cu ajutorul unor divizoare rezistive care vor genera diferite tensiuni. Schema electrică a circuitului este prezentată in figura 25 și este realizată din 3 amplificatoare operaționale care vor forma doua bucle de reacție negativă. Pentru a putea îndeplini cerințele impuse la începutul proiectului, pentru o funcționare cât mai bună amplificatoarele operaționale vor trebui aleși în urma unor parametrii bine stabiliți.

Figura 25-circuit realizare pante

La intrarea neinversoare a amplificatorului operațional A1 va fi aplicat semnalul provenit de la circuitul push-pull, de modificare a pragurilor de tensiune, iar la intrarea inversoare o tensiune de referință numită ”Cref”, tensiune ce reprezintă întocmai tensiunea de pe condensatorul C1.

La ieșirea amplificatorului operațional A1 se află divizoarele de tensiune ce vor determina rapiditatea de încărcare/descărcare a condensatorului C1. Rezistențele și tensiunile echivalente sunt următoarele:

Fiecare dintre aceste 4 tensiuni vor fi amplicate intrării neinversoare a amplificatorului operational A2. Se poate observa că selecția succesivă a acestor divizoare se face prin folosirea unor tranzistori de tip N MOS( pentru simulare am conectat pe rând fiecare rezistor la masă). La grilele fiecărui tranzistor de va aplica succesiv o tensiune de 5V, ceea ce va produce deschiderea tranzistorului si conectarea fiecărui rezistor, succesiv, la masa circuitului, astfel realizăndu-se cele 4 tensiuni necesare. Controlul celor 4 tranzistori MOS de tip N care vor realiza selecția rezistorilor R21, R16, R17, R18 va fi facută cu ajutorul unui microcontroler. Partea software de interfațare si selecție va fi prezentată într-un subcapitol viitor.

Amplificatorul operațioanl A2 va avea la ieșire o tensiune asemănătoare celei din figura 5. Pentru a putea monitoriza tensiunea de încarcare al condensatorului va fi adăugat un rezistor cu valoare de 100Ω, asupra căruia se va face o citire diferențială a tensiunii de către amplificatorul operațional A3. Condensatorul C1 va fi conectat între intrarea inversoare a amplificatorului A3 și masă, permitănd încarcarea si descărcarea lui succesivă. Pentru a realiza o funcționare mai buna, fără oscilații a fost introdus condensatorul C7 si rezistorul R15. Valorile acestor componente au fost determinate experimental prin simulări și au îmbunătățit semnificativ funcționarea circuitului în ceea ce priveste compensarea oscilațiilor.

Tensiunea astfel formată pe condensatorul C1, denumită ”Cref” va fi aplicată în două puncte diferite ale circuitului. În primul caz va fi aplicată intrării inversoare a amplificatorului operațional A1 astfel realizăndu-se o buclă de reacție negativă ce va transforma forma de undă dreptunghiulară în forma de undă trapezoidală cu posibilitatea modificării pantelor de creștere/descreștere.

În al doilea caz, tensiunea ”Cref” va fi conectată la intrarea neinversoare a amplificatorului operațional LMC6482 AI, aflat in grila tranzistorului MOS de tip N. Această tensiune va polariza grila tranzistorului, care va lucra în regim activ, curentul de drenă fiind dependent de tensiunea VDS.

Din figura 26 se poate observa ușor regimul de funcționare al acestui tranzistor, unde V(load) reprezintă tensiunea de drenă, V(n003) reprezintă tensiunea de la grila tranzistorului, iar Vr1 reprezintă tensiunea de la sursa acestuia.

Figura 26-simulare sursă curent cu MOS și AO la funcționare în regim tranzitoriu

Astfel, prin generarea unei tensiuni trapezoidale, cu posibilitatea modificării pantelor de creștere/ descreștere, circuitul va funcționa în regim de regim tranzitoriu( în regim tranzient ), acest regim de funcționare fiind important în testarea surselor în comutație și în stabilirea performanțelor acestora cu privire caracterisicile lor dinamice. Cu alte cuvinte, acest regim de funcționare permite simularea unei sarcini în mod dinamic și testarea surselor în comutație analizănd capacitatea acestora de a se stabiliza la modificarea curentului de sarcină.

Curentul va urmări forma de undă a tensiunii și variația acestuia va putea fi modificată prin reglarea celor două potențiometre care înlocuiesc rezistorii R6 si R7. Variatia maximă a acestuia va fi între valorile 0-5A.

3.2.1.2 Modul 2 de funcționare – curent constant.

Acest regim funcționare va fi realizat foarte ușor, avand la dispoziție toate circuitele necesare pentru implementarea acestei cerințe. Așadar, in figura 27 va fi prezentată modificarea ce va fi adusă circuitului. Aceasta constă în aplicarea unei tensiuni constante la intrarea neinversoare a amplificatorului operațional LMC6482, aflat în grila tranzistorului N MOS. Astfel tranzistorul va fi polarizat cu o tensiune constantă, curentul de drena fiind în continuare puternic dependent de tensiunea de grilă. Deoarece dispunem de un circuit care poate oferi o tensiune constantă, usor de modificat cu ajutorul unui potențiometru va fi întreruptă bucla de racție negativă ”Cref – intrarea neinversoare LMC6482”, fiind realizată o altă buclă de reacție ”rezistorul R6 – intrarea neinversoare LMC6482”.

Curentul va fi reglat cu ușurintă prin modificarea valorii potențiometrului și va putea varia între 0-5A maxim.

Figura 27-circuit funcționare la curent constant

Modul în care se va face această modificare între cele două regimuri de funcționare se va face manual și va fi prezentat în subcapitolul 3.2.1.6 .

3.2.1.3 Alegerea componentelor

Pentru îndeplinirea cerințelor și pentru realizarea unui circuit funcțional alegerea componentelor și performanțele acestora sunt foarte importante. Așadar alegerea componentelor a urmărit în primul rând satisfacerea cerintelor de funcționare, fiecare componentă în parte avand specificații și caracteristici electrice cât mai bine stabilite. Prezentarea acestor caracteristici și motivația alegerii acestora vor fi prezentate în continuare.

Tranzistorul MOS de tip N de putere

Acest element al circuitului va fi cea care va fi în contact direct cu dispozitivul testat și asupra căreia se va disipa întreaga putere. Principalele caracteristici ale acestei compoente au fost:

– curent de drenă ID mare;

– rezistență RDS(on) cât mai mică – rezistența canalului când tranzistorul este deschis. Acest parametru este important la funcționarea în comutație, unde acest parametru determină pierderile datorate conducției;

– capacitate de drenă cât mai mică Qg – aceasta poate să întârzie intrarea în saturație a tranzistorului, sau să afecteze semnalul la intrarea acestuia;

– tensiune de prag Vth cât mai mică – aceasta reprezintă tensiuna între poartă și sursă de la care începe să treacă un curent între drenă si sursă;

În urma acestor caracteristici tranzistorul ales este IRF305Z cu o capsulă TO-220 având urmatoarele valori ale caracteristicilor mai sus menționate: curent drenă ID = 110A, rezistență RDS(on) = 8.0 mΩ, capacitate Qg =146 nC (valoare maximă), tensiune de prag Vth = min 2V , max 4V.

Amplificatoarele operaționale

Pentru amplificatoarele operaționale care comandă grila tranzistorului MOS avem urmatoarele cerințe:

– capabilitate mare de curent;

– să fie stabile la sarcină capacitivă -în aceasta situație, impedanța de ieșire (care are un caracter rezistiv) formează, împreună cu această capacitate, un filtru trece-jos care coboară și mai mult amplificarea la frecvențe mari pe calea directă și poate produce ooscilații;

– tensiune de offset mică;

– domeniul tensiunii de ieșire cât mai apropiat de alimentare- ”rail-to-rail”;

– slew rate ridicat;

Amplificatorul ales în această situație este LT1492 cu urmatoarele caracteristici: curent minim de ieșire 20mA, tensiune de offset maxim 180µV, domeniul tensiunii de ieșire este ”rail-to-rail”, stabilitate bună la sarcini capacitive (maxim 1000pF), slew rate 3V/µs.

Amplificatoarele operaționale care formează pantele

– banda de frecvența >1Mhz;

– domeniul tensiunii de intrare/ieșire ”rail-to-rail”;

– precizie ridicată;

– zgomot redus;

– slew rate ridicat;

Amplificatorul ales este LM833P cu următoarele caracteristici: câștigul în bandă 16Mhz, slew rate 7V/µs, domeniul tensiunii de intrare/ieșire ”rail-to-rail”.

Amplificatorul operațional cu rol de comparator

– capabilitate mare de curent;

– să fie stabile la sarcină capacitivă -în aceasta situație, impedanța de ieșire (care are un caracter rezistiv) formează, împreună cu această capacitate, un filtru trece-jos care coboară și mai mult amplificarea la frecvențe mari pe calea directă și poate produce ooscilații;

– tensiune de offset mică;

– domeniul tensiunii de ieșire ”rail-to-rail” la sarcină rezistivă mare;

– slew rate ridicat;

Amplificatorul ales în această situație este LMC6482AI avand: domeniul tensiunii de intrare/ieșire ”rail-to-rail”, tensiune de offset mică 0,75 mV, domeniul tensiunii de ieșire ”rail-to-rail” la sarcină rezistivă mare ( abatere de 20 mV la sarcini de 100kΩ ).

Toate amplificatoarele folosite vor fi în capsulă SMD SO-8.

Rezistorul de șunt (Rsense)

Acest rezistor este folosit pentru citirea diferențială a curentului ce va fi absorbit din D.T. Deoarece citirea cât mai precisă a curentului este importană, toleranța acestui rezistor trebuie să fie cât mai mica, iar puterea maximă admisă cât mai mare.

Componenta aleasă este CRA2512, cu o valoare a rezistenței de 0,1Ω, toleranța ±1%, puterea maximă 3W la o temperatură de 70°C. Producătorul asigură o funcționare de 1000 de ore la temperatura +170°C.

Calcul putere disipată pe Rsense :

Pentru calculul puterii aplicăm legea lui Ohm: știm R=0,1 Ω, Curent= 5A max.

U=R*I U= 0.1 Ω * 5A = 0.5V căderea de tensiune pe Rsense

P=U*I P= 0.5V * 5A = 2.5W

Așadar putem observa că puterea maximă calculată va fi mai mică decăt cea maximă admisă pe această componentă.

Alegerea radiatorului pentru răcirea tranzistorului MOS de putere.

Conform specificațiilor puterea maximă va fi următoarea:

P=U*I P=5V * 5A = 25W

Temperatura ambientală de funcționare este 35°C iar temperatura maximă de încălzire a radiatorului este 65°C. Pentru alegerea unui radiator corespunzător se va calcula rezistența termică. De asemenea pentru alegerea acestui radiator vom ține cont și de faptul că tranzistorul MOS este intr-o capsulă TO-220.

Rth = = = = 1,2

Radiatorul cu specificații cât mai apropiate de cerințe este FISCHER ELEKTRONIK  SK 04/100 SA cu Rth =1,5.

Deoarece temperatura regulatoarelor de tensiune nu atinge valori ridicate acestea nu au nevoie de radiator. Totuși în cazul atingerii unei temperaturi alarmante (temperaturi mai mari de 150°C), layout-ul a fost conceput astfel încât regulatoarele să poată fi prinse de placa PCB, aceasta funcționănd în acest caz ca o suprafată de răcire.

3.2.1.4 Realizarea unui prototip

Pentru a ne asigura de funcționarea acestui circuit conform simulărilor și calculelor făcute am realizat un circuit de test. Acest circuit include doar partea hardware de generare a pantelor și cea de alimentare.

Realizarea unui prototip a fost utilă deoarece am reușit să identific problemele precum oscilații sau să efectuez mai multe teste cu diferite modele de amplificatoare operaționale, posibilitatea de a alege cel care îndeplinea cele mai bune performanțe în urma măsurătorilor pentru aplicatia testată și posibilitatea de compensare pas cu pas prin teste experimentale.

Alimentarea este diferențială și sunt folosite 2 regulatoare de tensine reglabile: LM317AT care modifică tensiunea de intrare de la 12V la 5V și LM337T care modifică tensiunea de intrare de la -12V la -5V. Aceste tensiuni ne sunt necesare pentru circuitul integrat LM555 și pentru alimentarea amplificatoarelor operaționale.

Atât schema cât și layout-ul placii PCB au fost făcute în programul KiCad. Placa de PCB a fost realizată la un CNC (Computer Numerical Control ). În figurile 28 și 29 sunt prezentate primele versiuniale schemei electrice și ale layout-ului.

Figura 28-print screen schema electrică prototip

Figura 29-print screen realizare cablaj PCB prototip

Un exemplu de de astfel de exemplu este testul în care amplificatorul operațional cu rol de comparator LM6482AI a fost înlocuit cu un amplificator LT1490 pentru a vedea în care din cele două cazuri supracreșterile de comutație și oscilațiile sunt mai mici. În figura 30 se poate observa că în cazul folosirii amplificatorului LT1490 aceste supracreșteri precum și oscilațiile semnalului au fost mai mari ( decât în cazul folosirii amplificatorului LMC6482 AI – figura 31 ).

Figura 30-simulare protitip cu LT1490

Figura 31-simulare prototip cu LMC6482AI

Figurile de mai sus reprezintă două print screen-uri ale osciloscopului folosit pentru măsurători.

Analizănd baza de timp și amplitudinile semnalelor am constatat că folosirea amplificatorului LMC6482AI este mai indicată. În același fel am făcut și compensarea pas cu pas a circuitului, alegănd valori ale condensatorilor folosiți în reacțiile cu amplificatoare operaționale astfel încat oscilațiile să fie cât mai reduse.

În continuare vor fi prezentate căteva imagini ilustrează modul de realizare și testare a acestui prototip.

Figura 32-realizare PCB prototip Figura 33-testare prototip

Figura 34-testare prototip

După verificarea și testarea funcționării circuitului am realizat o nouă placă PCB care să permită integra si partea software și de interfațare cu utilizatorul ( LCD, butoane, microcontroler).

3.2.1.5 Realizare layout și placă PCB

Ca și la realizarea prototipului, programul folosit este KiCad, care este un program complex de realizare de scheme, layout, vizualizare 3D a layout-ului dupa finalizarea acestuia, calculator grosime traseu PCB.

Schema finală conține elementele de interfațare cu utilizatorul și diverși conectori pentru a ușura testarea și realizarea măsurătorilor.

Pentru a minimiza dimensiunile totale ale placii PCB am folosit componente SMD. Folosirea componentelor SMD este indicată și datorită faptului că în comparație cu componentele THT au inductanțe mai mici, deci emisiile RF vor fi mai reduse, datorită lipsei pinilor de conectare și se pot lipi mai aproape. Componentele pasive (rezistori, condensatori) au capsulă 0805, amplificatoarele operaționale au capsulă SO-8, iar regulatoarele de tensiune și tranzistorul MOS de putere au capsulă TO-220.

În figura 35 este prezentată schema finală. Aceasta este un print screen al ecranului pe care am lucrat, însă va fi atasată la anexe într-un format mai mare.

Figura 35-print screen schema electrică finală

Figura 36 prezintă layout-ul PCB final si dimensiunile de care am ținut cont pentru realizarea găurilor pentru diverse componente care au fost montate pe acesta. Se poate observa că layout-ul este realizat pe o singură față ( top layer ), dar pentru a elimina crearea unor bucle sau folosirea unor trasee foarte lungi, unele dintre acestea prezintă conexiuni care vor fi realizate manual cu fire izolate pe partea din spate a plăcii ( bottom layer ).

Figura 36-print screen realizare layout PCB final

Tot cu ajutorul programului Kicad am putut face o simulare 3D a plăcii PCB înainte de a trece la următorul pas și anume realizarea fizică a cablajului. Figurile 37,38 vor fi prezentate aceste simulări 3D. Acestea au fost utile deoarece am putut vedea si preveni divrese probleme precum suprapunearea unor componente sau spațiu prea mic între ele, ceea ce ar fi condus la îngreunarea lipirii și asamblării finale.

Figura 37-layer top simulare 3D Figura 38-layer bottom simulare 3D

Pentru realizarea layout-ului am ținut cont de un set de reguli, precum:

Grosimea traseelor – deoarece în general, la o funcționare normală a circuitului, curentul este de ordinul zecilor sau sutelor de miliamperi, așadar pentru aceste trasee grosimea minimă poate fi 0,3-0,5 mm, însă există și o serie de limitări impuse de mașina care va realiza placa PCB, deoarece grosimea minima pe care aceasta o poate realiza fără riscul afectării traseului este 0,6 mm. Așadar pentru aceste trasee am folosit o grosime de 0,8mm, iar pentru cele de la alimentare o grosime de 1 mm. Singura excepție de la această regulă o face traseul care face conexiunea între D.T. și tranzistorul MOS de putere, deoarece în această situație putem avea curent cu o valoare de 5A sau mai mare. În acest caz pentru a calcula grosimea traseelor am folost calculatorul traseelor inclus în programul KiCad. Figura 39 prezintă acest calculator, variabilele de interes în calcularea traseelor PCB și grosimea minimă a traseului mai devreme menționat. Se observă ca pentru o grosime a traseului de 2,5mm temperatura acestuia va creste cu 12°C. Pentru a elimina acest efect de încălzire a traseului ce ar putea avea consecințe nedorite în timp, acesta va fi acoperit cu un strat de cositor. În general folosirea unor trasee cât mai late posibil este indicată.

Figura 39-print screen calculator grosime trasee

Lungimea traseelor – pentru a reduce pe cât posibil inductanțele și rezistențele datorită lungimii traseelor componentele au fost poziționate astfel încât lungimea traseelor să fie minimă.

Împărțirea layout-ului pe zone – gruparea componentelor pe zone în funcție de funcționalitatea acestora este importantă deoarece acest lucru poate preveni efectele nedorite ale semnalelor rapide asupra celor de viteză mai scăzută. Așadar partea de alimentare și circuitele analogice ce lucrează la o frecvență scăzută vor fi separate și cât mai îndepartate posibil de microcontroler sau de circuitul analogic care realizeazază semnalul trapezoidal.

Plan de masă – emisiile elecotromagnetice în cazul traseelor circuitului reprezită o problemă importantă. Folosirea unui plan de masă conduce la reducerea impedanței de masă, astfel reducăndu-se influenta EMI. În acest mod se elimină și buclele de masă.

În continuare vor fi prezentate câteva imagini cu realizarea fizică a plăcii și lipirea componentelor.

Figura 40-realizare placă PCB

Figura 41-rezultat final dupa prelucrarea la CNC

Figura 42-asamblare finală a componentelor principale

Figura 43-modul de prindere al radiatorului și al trazistorului MOS

Pentru prelucrarea plăcii PCB la CNC am trecut prin următoarele etape:

Creare layout

Generare fișier cu extensia .DXF și .DRL pentru fiecare layer separat

Încărcarea fișierului cu extensia .DXF în programul Cat2D care va face conversia .DXF în .TAP (extensie care va putea fi citită de controlerul CNC)

Se setează în Cat2D grosimea,dimensiunile plăcii, tipul de freză, setări care vor fi incluse în fișierul .TAP

Setarea coordonatelor x,y,z pentru începerea frezării

3.2.1.6 Controlul dispozitivului – schimbarea celor două regiumuri de funcționare

După cum a fost prezentat până acum dispozitivul are două regimuri de funcționare, primul fiind la curent constant, iar cel de-al doilea în regim tranzitoriu. Modalitatea de selecția a acestor două regimuri de funcționare va fi prezentată în figura 44.

Figura 44-modul de selecție a celor două regimuri de funcționare

Prin selectarea pinilor care formează grupul A circuitul va funcționa în regimul de curent constant. Selectând grupul B, regimul de funcționare va fi în regim tranzitoriu. Această selecție se va face înaintea alimentării dispozitivului cu ajutorul unui jumper.

Schema electrică este prezentată în figura 45.

Figura 45-schma electrică-modul de selecție a celor două regimuri de funcționare

Pe ecranul LCD vom avea urmatoarele informații referitoarele la curenții și tensiunile de interes, prezentat în figura 46.

Figura 46-foto ecran LCD în timpul funcționarii

A= valoarea de tensiune la care se află panta A

B= valoarea de tensiune la care se află panta B

Curent= valoarea curentului absorbit din D.T.

3.2.1.7 Masurători

Pentru a arâta că dispozitivul funcționeaza au fost facute o serie de măsuratori pentru semnalele de înteres. Măsuratorile ce vor fi prezentate în continuare reprezîntă print screen-uri ale osciloscopului cu care au fost făcute.

În figura 46 este prezentată forma de undă a semnalului provenit de la circuitul întegrat LM555. Aceasta este o formă de undă dreptunghiulară care va fi folosită în funcționarea circuitului în modul “regim tranzitoriu”.

Figura 46-print screen osciloscop-semnal ieșire LM555

Se observă că sunt măsurate în mod automat cele două mărimi de interes ale acestui semnal: factorul de umplere si frecvența, care au aceleasi valori ca cele calculate. De asemenea mai putem observa că pe canalul pe care se face măsurarea (canalul C1) offsetul este de 0.00 mV și este reglat pe 5V/diviziune, deci amplitudinea semnalului măsurat, în acest caz va fi 12V.

În continuare va fi prezentat semnalul de ieșire în urma amplificatorului în clasa B, push-pull, cu ajutoul căruia putem modifica valorile pantelor A si B. Reamintim că modificarea pantelor se face cu ajutorul a două potențiometre monotură cu valoarea 5kΩ maxim.

În figura 47 este prezentată formă de undă pentru care am ales ca valorile pantelor să fie A=0V, B=5V. Prin reglarea în acest mod dispozitivul va functiona la putere maximă, îndiferent de modul de functionare, fie constant fie în sarcini commutate.

Figura 47- print screen osciloscop-formă de undă la ieșirea circuitului push-pull

Se poate observa că frecvența si factorul de umplere sunt aceleasi, însa de această dată amplitudinea semnalului este de 5V(semnal ce variaza între 0V-5V).

În figura 48 este prezentat acelasi semnal, dar de această dată pantele vor fi modificate astfel: A=0V si B=2,5V.

Figura 48- print screen osciloscop-formă de undă la ieșirea circuitului push-pull

Se poate observa că și de acesată dată amplitudinea semnalului s-a modificat, frecvența și factorul de umplere rămănând constante.

În continuare va fi prezentat semnalul trapezoidal cu cele 4 tipuri de pante ce au fost obtinute. Măsurătorile au fost făcute la funcționarea la putere maximă a dispozitivului. Se vor prezenta vitezele de variație ale pantelor care reprezintă creșterea/descresterea curentului printr-un condensator de 1 nF.

În primul caz (figura 49 ), este un semnal trapezoidal cu pantele cele mai lente din punct de vedere a timpului de crestere/descrestere.

Se poate observa că viteza de creștere a pantei este de 3,19, iar cea de descreștere . Amplitudinea semnalului va fi de aproximativ 5V. Timpul de creștere/descreștere este dependent de amplitudinea semnalului. Pentru a arăta această depdendeță a timpului de creștere/descreștere a pantelor în figura 50 va fi prezentat același mod de funcționare dar pentru un curent maxim de 2A.

Figura 49- print screen osciloscop-mod 1 de funcționare, curent 5A

Figura 50- print screen osciloscop-modul 1 de funcționare, curent 2A

Se observă că de această dată cei doi timp au scăzut la valorile 1,41 și 966,9 .

Modul 2 de functionare este prezentat în figura 51.

Figura 51- print screen osciloscop-modul 2 de funcționare, curent 5A

Se observa ca de această dată pentru o amplitudine a semnalului de 5V pantele de creștere/descreștere s-au modificat astfel: creștere 1,41 si descreștere . Această modificare a pantelor confirmă functionarea circuitului.

Figura 52 prezintă modul 3 de funcționare.

Figura 52 print screen osciloscop-modul 3 de funcționare, curent 5A

Pentru acest mod de funcționare vitezele pantelor sunt următoarele: creștere 935,5 si descreștere 833.6. Și de această dată circuirul a functionat și pantele au fost modificate.

Ultimul mod de funcționare este prezentat în figura 53. Pentru acest mod de funcționare timpii de înteres sunt : creștere 369,4 și descreștere 471.

Figura 53- print screen osciloscop-modul 4 de funcționare, curent 5A

Pentru o utilizare mai ușoară vor fi prezentate în tabelul de mai jos valorile timpilor de creștere exprimată în A/ms. Calculele au fost facute pentru curentul maxim egal cu 5A. Pentru funcționare la curent mai mic, viteza acestor pante va scădea.

Deoarece există o mică diferență între cele două pante pentru fiecare mod de funcționare, în calculul vitezei de variație a fost folosită viteza cea mai mare ( panta cea mai lentă ), acesta fiind cel mai defavorabil caz.

Se poate observa că viteza de variație a celei mai lente pante este 0,638 A/ms și cea mai rapidă este de 0,094 A/ms ceea ce corespunde specificațiilor.

3.2.2 Software

Acest subcapitol conține aplicația software, elementele de interfață cu utilizatorul (butoane, ecran LCD) și modul de implementare al acestora.

Scopul principal al aplicației software este de a ușura folosirea dispozitivului, de a afișa cu ajutorului ecranului LCD informații cu privire la diverși parametrii de interes (curent, tensiune). Prin intermediul aplicației utilizatorul va putea selecta cu ușurință pantele de creștere/descreștere.

Microcontrolerul va fi conectat cu partea hardware cu ajutorul unor fire de legătura embedded. Figura 54 prezintă pinii de interes ce vor ajuta interconectarea celor două parți.

Figura 54-pinii de conexiune hardware-software

Se poate observa că legătura între cele două parți hardware și software va fi realizată prin intermediul unui conector cu 7 pini. Pinii 1,2,3,4 vor fi cei utilizați pentru controlul pantelor, având astfel posibilitatea de a alege succesiv 4 moduri de reglare a acestora.

Figura 55-diagrama software

3.2.2.1 Elemente de interfață cu utilizatorul

Așa cum spuneam mai devreme, pentru ca utilizarea dispozitivului să fie cât mai ușoară, acesta va dispune de două butoane SMD și un ecran LCD 16X2.

Schema electrică a butoanelor este prezentată în figura 56.

Figura 56-schema electrică butoane

Se poate oberva cu ușurință modul de implementare al acesora. Rezistorii RSW1 si RSW2 sunt rezistori de pull-down asupra cărora, la apăsarea unui buton, va apărea o cădere de tensiune care va fi imediat sesizată de microcontroler. În funcție de butonul apăsat microcontrolerul va executa anumite operații descrise prin limbaj C. Condensatorii CB1 si CB2 sunt adăugați pentru a filtra posibilele oscilații nedorite apărute la apăsarea butoanelor.

În figura 57 este prezentat modul de inițializare al butoanelor și pinii folosiți.

Figura 57-inițializarea software butoanelor

Se poate observa că pinii folosți pentru monitorizarea apăsării butoanelor sunt pinii digitali 6 si 7.

Pinii afișajului LCD și conectarea acestora sunt prezentate mai jos în figura 56. Se lucrează cu afișajul

folosind conexiunea cu doar 4 linii de date (D7-D4), acestea vor fi conectate la un port paralel al microcontrolerului. Întrucât dorim doar să scriem pe LCD nu să și citim, pinul RW al afișajului

poate fi conectat la masă. În layout-ul plăcii PCB va fi adăugat un potențiometru pentru reglarea contrastului ecranului, prezentat în figura 58.

Figura 58-schema electrică potențiometru ajustare contrast LCD

În figura 59 este prezentata includerea librăriei LCD și initializarea pinilor

Figura 59-includere librărie LCD și initializare pini

Se poate observa că pentru a putea folosi ecranul LCD a fost necesară includerea unei librării speciale care să indeplinească această funcție. Pinii folositi sunt pinii digitali 2,3,4,5,11,12.

Pe ecranul LCD vor fi afișate diferite mesaje sau informații cu privire la valoarea anumitor parametri de interes în funcționarea dispozitivului.

3.2.2.2 Aplicația software -cod limbaj C

Deoarece partea software a proiectului a fost facută pe o platforma Arduino NANO, pentru scrierea codului s-a folosit mediul de dezvoltare specific acesteia denumita Arduino Software (Integrated Development Enviroment) versiunea 1.6.9. Programul poate fi descărcat gratis de pe site-ul oficial Arduino ( de la urmatoarea adresă: https://www.arduino.cc/en/Main/ Software) fiind foarte ușor de folosit.  Un mediu de dezvoltare combină toți pașii necesari creării unui program (editarea codului sursă, compilarea, depanarea, testarea, generarea de documentație) într-un singur soft care, de regulă, oferă o interfață grafică prietenoasă.

Inițializarea variabilelor se va face înaintea celor două funcții principale care sunt create automat. Figura 60 prezintă variabilele folosite și inițializarea acestora.

Figura 60-inițializare variabile

Funcția void setup este o funcție apelată automat la pornirea programului și este folosită pentru definirea de variabile, încărcarea bibliotecilor etc. Figura 61 prezintă această funcție.

Figura 61-funcția setup

Funcția pinMode definește pinii ca fiind un pin digital de ieșire sau de intrare. În cazul nostru, pinii cu care vom controla tranzistorii MOS de tip N care vor comuta rezistorii din divisorul de tensiune, vor fi pini de ieșire. Așadar cu ajutorul acestor pini vom aplica o anumită tensiune în grila tranzistorilor, aceștia deschizăndu-se și modificănd astfel tensiunea cu care se va comanda sursa de curent constant.

Pinii de intrare vor fi pinii cu ajutorul cărora se va verifica dacă unul dintre butoane a fost apăsat. La alimentarea dispozitivului va apărea de asemenea un mesaj inițial de întampinare a utilizatorului. După afișarea acestui mesaj se va aștepta apăsarea unui buton.

Funcția loop este funcția principală ce va fi rulată de controler la infinit. Aici va fi pus codul în limbaj C principal.

Figura 62 prezintă prima parte a acestei bucle. Se poate observa din imaginea atașată ca în bucla ce va rula la infinit, cât timp sistemul este alimentat, faptul că întreaga funcționare a algoritmului începe cu citirea celor două butoane. Această citire se face cu funcția numită ”digitalRead”, iar valoarile citite vor fi atribuite variabilelor de tip int denumite buton1 respectiv buton2. Aceste două variabile vor fi folosite în continuare când va fi necesară cunoașterea stării butoanelor.

Pentru a putea afișa în mod activ modificarea valorilor parametrilor de interes precum curent,tensiune, tot la începutul funcției loop va fi facută și implementarea funcționalitații ADC. Pentru aceasta folosim 3 canale analogice care pot îndeplini funcționalitatea mai devreme menționată. Funcția de citire a celor 3 canale analogice se numeste ”analogRead”. Aceasta citeste tensiunea analogică de pe pin și o atribuie unei variabile. În cazul nostru se folosesc 3 variabile de tip int:

”val” căreia i se va atribui valoarea analogică de pe pinul A0

”valA” căreia i se va atribui valoarea analogică de pe pinul A1

”valB” căreia i se va atribui valoarea analogică de pe pinul A2

În continuare se va face conversia din valoarea analogică care poate varia între 0-1023 (1023 deoarece convertorul ADC este un convertor pe 10 biți) într-o valoare de interes și anume tensiune. Valoarea nou calculată va fi salvată intr-o variabilă nouă de tip float, deoarece ne interesează o valoare cât mai precisă a acesteia, acest tip de date permițănd afișarea cu două zecimale a numarului. Variabilele noi create sunt următoarele:

”voltageA” – care va stoca valoarea tensiunii date de potențiometrul A, care va selecta valoarea tensiunii pragului de jos a semnalului trapezoidal;

voltageB” – care va stoca valoarea tensiunii date de potențiometrul B, care va selecta valoarea tensiunii pragului de sus a semnalului trapezoidal;

”voltage” -această variabilă va fi folosită pentru a afla curentul pe rezistorul de șunt Rsense.

Pentru a afla valoarea curentului se va folosi legea lui Ohm:

I = I = , unde r = 0,1Ω.

Variabila ”r” este de tip float și este declarată la inceputul programului.

Figura 62-bucla ”loop”

După aflarea valorilor acestea vor fi afișate. A fost introdus un delay de 100 ms pentru a întarzia afișarea astfel încat citirea să se facă atăt pe pragul de jos cât și pe cel de sus.

În continuare va fi prezentat modul de implementare al butonului1. Figura 63 prezintă aceasta.

Figura 63-implementare funcționalitate buton 1

Pentru a limita numărul de butoane, alegerea modurilor de funcționare va fi facută cu ajutorul butonului 1. Variabila ”stare” va contoriza numărul de apăsări a butonului. Dacă în momentul apăsării butonului starea precedentă a butonului este diferită de cea actuală, variabila stare va fi incrementată.

Construcția ”switch” va evalua valoarea variabilei ”stare” și în funcție de valoarea acesteia se va alege una din cazuri. Aceste cazuri reprezintă întocmai modurile de funcționare ce modifică pantele semnalului trapezoidal. Variabila ”mode_state” memorează ultima stare care a fost selectată.

Pentru a ne asigura că semnalul primit de la buton nu va avea oscilații, iar răspunsul microcontroler-ului va fi corect, bucla va fi încetinită prin folosirea unui delay de 50 ms.

Funcționalitatea și modul de implementare al butonului 2 va fi prezentată în continuare în figura 64.

Figura 64-implementare buton 2

După cum se poate observa, funcția butonului 2 este doar de a afișa pe ecran diferite mesaje. La fiecare apăsare a butonului 2 pe ecran va fi afișat timp de 2,5-3 secunde un mesaj, după care se vor afișa din nou informațiile despre curentul și tensiunile de interes. La o nouă apăsare va fi afișat urmatorul mesaj. Acest ciclu poate fi întrerupt de terminarea mesajelor disponibile sau de apăsarea butonului 1.

CAPITOLUL 4: REZUMAT. CONCLUZII.

4.1 Rezumat

Lucrarea de față și-a propus realizarea unei sarcini electrice active, cu două regimuri de funcționare și anume curent constant sau regim tranzitoriu, utilă pentru testarea surselor în comutație.

Obiectivul principal al acestui proiect a fost realizarea și implementarea parții hardware care stă la baza funcționării circuitului, iar pentru a ușura comanda și pentru a avea o interfată grafică ușor de folosit de câtre utilizator, a fost necesară și o parte software. Așadar cele două parți ale proiectului nu prezintă o dependență funcțională una față de cealaltă, deci pot fi testate și utilizate în mod independent.Totodată împartirea în cele două categorii hardware-software a proiectului a avut avantajul de a scurta timpul de realizare al acestuia.

Pașii urmați pentru a realiza acest dispozitiv sunt prezentați pe larg în 2 dintre capitolele lucrării. În prima parte ( Capitolul 2 ) sunt prezentate noțiunile teoretice necesare pentru implementarea proiectului. Printre aceste noțiuni se numără: generalităti despre sarcinile electrice, tipurile de sarcini electrice, tranzistorul MOSFET, microcontrolere și două module foloste în proiect ( modulul ADC și LCD )

În partea a doua ( Capitolul 3 ) este prezentat modul prin care noțiunile teoretice au fost transpuse în practică. Cu alte cuvinte este prezentat procesul de design începănd de la specificații la simulări, alegerea componentelor, realizarea unui protitip și testarea acestuia, realizarea cablajului final, a părții software și măsurătorile.

Prin îmbinarea noțiunilor teoretice cu abilitățile practice s-a implementat cu succes sarcina electronică activă cu pante de curent programabile.

4.2 Concluzii

Dezvoltarea acestui proiect a fost realizat în cadrul companiei Continental Automotive Iasi, la departamentul HEV ( Hibrid Electrical Vehicle ) ), in cadrul unui proiect de diplomă la care am fost înscris și a început în vara anului 2015. Timpul de lucru cumulat a fost de 5 luni (2 luni jumate în anul 2015 și 2 luni jumate în anul 2016, corespunzand cu programul de diplomă la care eram înscris în cadrul companiei), fiind finalizat la începutul verii 2016.

La începutul proiectului au fost o serie de modificări ale schemei de funcționare și au fost făcute un număr mare de simulări pentru a găsi varianta cea mai bună de funcționare și modalitatea optimă de implementare. Din acest motiv partea hardware fiind considerată cea mai importantă parte a proiectului i-a fost alocată mai mult timp. Tot în timpul realizării acestui proiect au apărut cele mai multe probleme începănd de la realizarea cablajului prototip, la testarea acestuia, și găsirea punctelor slabe ale schemei, pana la realizarea unei noi versiuni de cablaj, mult mai bine optimizată. Pentru realizarea părții hardware și alegerea componentelor a fost necesară cunoașterea parametrilor și a caracteristicilor electrice ale componentelor( amplificatoare operaționale, tranzistori ), precum și influenta acestora în funcționare.

Partea software deși a beneficiat de timp mai scurt de realizare, implementare și testare, nu a presupus atât de multe modificări, problemele apărute fiind minore. Pentru a economisi timp, în perioada de asteptare a componentelor comandate, parte software a fost realizată și testată cu ajutorul unei placi de test ( breadboard ) și a câtorva leduri si butoane. În acest fel la primirea comenzii am putut trece direct la realizarea cablajului PCB. Deși nu prevăzusem, în cadrul proiectului au apărut și probleme de natura mecanică în momentul asamblării plăcii PCB împreună cu placa de dezvoltare Arduino și radiatorul. Datorită greutății radiatorului au fost date găuri de prindere de placa PCB cât și în radiator, găuri care au trebuit a fi foarte precis masurate.

Prin realizarea acestui proiect am reușit să consolidez o bună parte din noțiunile teoretice învățate în cei patru ani de facultate și să imi dezvolt aptitudinile tehnice.

ANEXE

1.Schema electrică a circuitului.

2.Layout placa PCB finală:

Pentru a putea fi mai ușor prezentat va fi prezentat pe mai multe layere.

Layer Top

Layer Front Silks

Layer bottom și drill

Layout prototip – top layer

Cod sursă limbaj C – Arduino Nano.

//librarii folosite

#include <LiquidCrystal.h> //libraria pentru LCD

//initializare libraria LCD cu pinii de interfata

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

//analog pin

int analogPin = 3;

int val;

// LED

const int ledPin1 = 1; // pin D1>>LED1

const int ledPin2 = 8; // pin D9>>LED2

const int ledPin3 = 9; // pin D10>>LED3

const int ledPin4 = 10; // pin D13>>LED4

//BUTOANE

const int butonPin1 = 6; //pin D6>>buton1

const int butonPin2 = 7; //pin D7>>buton2

// VARIABILE FOLOSITE

int buton1 = 0;

int buton2 = 0;

int buton3 = 0;

int stare_precedenta = 0;

int mode_state = 0;

int stare = 0;

int stare2 = 0;

int i = 0;

// VARIABLIE TIMMER

int s, h, m;

// setare pinii digitali de iesire

pinMode(ledPin1, OUTPUT); // LED 1

pinMode(ledPin2, OUTPUT); // LED 2

pinMode(ledPin3, OUTPUT); // LED 3

pinMode(ledPin4, OUTPUT); // LED 4

// setare pinii digitali de intrare

pinMode(butonPin1, INPUT); //buton 1

pinMode(butonPin2, INPUT); //buton 2

//mesaj initial

lcd.begin(16, 2);

lcd.print("Electronic Load");

delay(1500);

lcd.setCursor(0, 2);

lcd.print("Lucrare diploma");

delay(1000);

lcd.clear();

lcd.print("Buton 1");

delay(120);

lcd.setCursor(0, 2);

lcd.print("Meniu principal");

delay(1500);

lcd.clear();

lcd.print("Buton 2");

delay(120);

lcd.setCursor(0, 2);

lcd.print("Informatii");

delay(1500);

}

void loop()

{

buton1 = digitalRead(butonPin1); //citire buton 1

buton2 = digitalRead(butonPin2); //citire buton 2

buton3 = digitalRead(butonPin3); //citire buton 3

val = analogRead(analogPin);

lcd.setCursor(0, 2);

s = millis() / 1000;

m = s / 60;

s = s – m * 60;

m = m – h * 60;

//functionalitate BUTON 1

if (buton1 != stare_precedenta && buton1 == HIGH)

{

stare++; //daca butonul a fost apasat, incrementeaza starea butonului

lcd.clear();

lcd.print("Buton 1 apasat");

}

stare_precedenta = buton1; //memoreaza de cate ori a fost apasat

//pana in prezent

if (mode_state != stare)

{

//daca nu a fost apasat butonul nu face nimic

switch (stare) {

case 2:

digitalWrite(ledPin4, LOW);

lcd.clear();

lcd.print("Ai ales starea 1");

digitalWrite(ledPin1, HIGH);

lcd.setCursor(0, 2);

break;

case 3:

digitalWrite(ledPin1, LOW);

lcd.clear();

lcd.print("Ai ales starea 2");

digitalWrite(ledPin2, HIGH);

break;

case 4:

digitalWrite(ledPin2, LOW);

lcd.clear();

lcd.print("Ai ales starea 3");

digitalWrite(ledPin3, HIGH);

break;

case 5:

digitalWrite(ledPin3, LOW);

lcd.clear();

lcd.print("Ai ales starea 4");

digitalWrite(ledPin4, HIGH);

break;

default:

digitalWrite(ledPin4, LOW);

lcd.clear();

stare = 1;

lcd.print(" Alege o stare");

delay(750);

lcd.setCursor(0, 2);

lcd.print(" prin apsarea");

delay(750);

lcd.clear();

lcd.print(" butonului 1");

break;

}

}

mode_state = stare; // memoreaza ultima stare

delay(50); //incetinire repetare bucla pentru debounce

//functionalitate BUTON 2

if (buton2 == HIGH)

{

stare2++;

lcd.clear();

if (stare2 == 1)

{

lcd.clear();

lcd.print("Butonul 2 apasat");

}

if (stare2 == 2)

{

lcd.clear();

lcd.print("LUCRARE DIPLOMA");

delay(200);

lcd.setCursor(0, 2);

lcd.print(" 2016 ");

delay(200);

}

if (stare2 == 3)

{

lcd.clear();

lcd.print(" CONTINENTAL ");

delay(200);

lcd.setCursor(0, 2);

lcd.print("Automotive Iasi");

delay(1900);

stare2 = 0;

stare = 0;

}

}

}

BIBLIOGRAFIE

Pentru realizarea acestei lucrări de diploma m-am folosit de următoarele surse:

http://www.electrical-knowhow.com/2012/03/electrical-load-classification-and.html

http://www.electrical-knowhow.com/2012/03/electrical-load-classification-and.html

https://en.wikipedia.org/wiki/Electrical_load

https://ro.wikipedia.org/wiki/Convertor_analogic-numeric

https://en.wikipedia.org/wiki/Active_load

http://www.phys.ubbcluj.ro/~anghels/teaching/Electronics/capitole%20electronica%20pdf/Amplificatorul%20operational.pdf

http://www.bel.utcluj.ro/dce/didactic/cef/13_Temporizator555.pdf

https://ro.wikipedia.org/wiki/Arduino

http://www.ti.com/lit/an/szza009/szza009.pdf

Similar Posts