PROGRAMUL DE STUDII ELECTRONIC Ă APLICATĂ [612372]
UNIVERSITATEA DIN PITEȘTI
FACULTATEA DE ELECTRONICĂ, COMUNICAȚII ȘI CALCULATOARE
DEPARTAMENTUL ELECTRONICĂ, CALCULATOARE ȘI INGINERIE ELECTRICĂ
PROGRAMUL DE STUDII ELECTRONIC Ă APLICATĂ
PROIECT DE DIPLOMĂ
PRO IECTAREA ELEMENTELOR DE COMANDĂ
ALE UNUI SISTEM AUTOMATIZAT
PENTRU ACVARIU
Absolvent: [anonimizat] 2016
2 Cuprins
Capitolul 1. Introducere …………………………………………………………………………………………………….. 6
Capitolul 2. Ecosisteme întreținute ……………………………………………………………………………………… 8
Capito lul 3. Elemente teoretice ce stau la baza construcției microsistemului ………………………. 12
3.1. Surse de alimentare ………………………………………………………………………………………………….. 22
3.2. Arduino Mega 2560 ………………………………………………………………………………………………….. 31
3.3. Senzor de temperatură ………………………………………………………………………………………………. 45
3.4. Senzor de nivel
………………………………………………………………………………………………………………….. 54
3.5. Comanda cu relee ………………………………………………………………………………………………………………. 57
3.6. Sincronizare cu rețea ………………………………………………………………………………………………………….. 61
3.7. Afișor LCD 16×2 ……………………………………………………………………………………………………………….. 64
Capito lul 4. Proiectare hardware microsistem de monitorizare ecosistem acvariu ……………… 68
4.1. Proiectare senzori …………………………………………………………………………………………………….. 71
4.1.1. Proiectare senzor i de nivel ………………………………………………………………………………………. 71
4.1.2. Proiectare senzor de temperatură ……………………………………………………………………………… 73
4.2. Proiectare sursă de alimentare ……………………………………………………………………………………. 74
4.2.1. Proiectare sursă de alimentare izolată galvanic de 5V …………………………………………….. 74
4.2.2. Proiectare sursă de alimentare neizolată galvanic de 12V ……………………………………….. 76
4.3. Proiectare bloc sincronizare în fază cu rețeaua …………………………………………………………….. 77
4.4. Proiectare elemente de comandă ………………………………………………………………………………… 78
4.4.1. Proiectare bloc de comandă heater ……………………………………………………………………….. 78
4.4.2. Proiectare bloc de comandă completare apă …………………………………………………………… 79
4.5. Schemă electronică ARDUINO MEGA2560 ……………………………………………………………….. 81
4.6. Schemă electronică surse alimentare, sincronizare cu rețeaua și comandă heater ……………… 83
Capito lul 5. Citirea și analiza senzorilor de temperatură și de nivel și realizarea comandă
heater și completare apă ………………………………………………………………………………… 85
5.1. Citirea și analiza senzorului de temperatură și real izare comandă heater …………………………. 85
5.2. Citirea și analiza senzorilor de nivel și realizare comandă completare apă ………………………. 87
Concluzii …………………………………………………………………………………………………………………………… 89
Bibliografie ……………………………………………………………………………………………………………………… 91
ANEXE ……………………………………………………………………………………………………………………………. 92
3 Listă figuri
Figura 2.1. Prezentarea schematică a principalelor subsisteme ale ecosistemului ……………………….. 8
Figura 2.2. Intrări și ieșiri de energie într -un ecosistem tipic ……………………………………………………. 8
Figura 3.1. Schema bloc a unui microsistem ………………………………………………………………………… 13
Figura 3.2. Structura unui microprocesor …………………………………………………………………………….. 15
Figura 3.3. Schema bloc a unui microcontroler …………………………………………………………………….. 19
Figura 3.1.1. Schema bloc a unei surse de alimentare continuă ………………………………………………. 22
Figura 3.1.2. Schema electronică redresor monofazat bialternanță în punte ……………………………… 25
Figura 3.1.3. R edresor monofazat bialternanță în punte …………………………………………………………. 25
Figura 3.1.4. Stabilizator de tensiune …………………………………………………………………………………… 27
Figura 3.1.5. Model stabilizator ………………………………………………………………………………………….. 28
Figura 3.1.6. Circuit pentru polarizarea diodei Zener …………………………………………………………….. 29
Figura 3.1.7. a) Caracteristica curent tensiune a unei diode Zener;
b) Caracteristica liniarizată în regiunea de străpungere ……………………………………….. 29
Figura 3.1.8. Modelul diodei Zener …………………………………………………………………………………….. 30
Figura 3.2.1. Placa de dezvoltare Arduino MEGA2560 …………………………………………………………. 32
Figura 3.2.2. Atmega 256 – ilustrare pini ………………………………………………………………………………. 35
Figura 3.2.3. Arhitectura generală a microcontrolerului AVR ………………………………………………… 37
Figura 3.2.4. Harta memoriei ……………………………………………………………………………………………… 38
Figura 3.2.5. Structura internă a unui pin …………………………………………………………………………….. 39
Figura 3.2.6. Schema generală pentru un 1 bit dintr -un port I/O ……………………………………………… 39
Figura 3.2.7. Configurația pentru ieșire generală pentru 1 bit …………………………………………………. 40
Figura 3.2.8. Configurația pentru intrare generală pentru 1 bit ……………………………………………….. 40
Figura 3.2.9. Schemă logică RESET …………………………………………………………………………………… 41
Figura 3.2.10. ARDUINO MEGA – PINOUT DIAGRAM …………………………………………………….. 44
Figura 3.3.1. Determinarea constantei de timp τ …………………………………………………………………… 46
Figura 3.3.2. Arhitectura unui senzor de temperatură de tip: A contact, B noncontact ……………….. 47
Figura 3.3.3. Funcția de transfer a unui PTC ………………………………………………………………………… 47
Figura 3.3.4. Caracteristica intensitatea curentului – tensiune ………………………………………………… 48
Figura 3.3.5. Senzor de temperatură PTC, BS 18B20 …………………………………………………………….. 49
Figura 3.3.6. Senzorul de temperatură DS18B20, cip ……………………………………………………………. 50
Figura 3.3.6. Schemă bloc BS18B20 …………………………………………………………………………………… 51
Figura 3.3.7. Schema de alimentare a DS18 B20 folosind pul lup pe timpul conversiei de temperatură
………………………………………………………………………………………………………………………………………… 52
4 Figura 3.3.8. Schema de alimentare folosind sursă externă de alimentare ………………………………… 52
Figura 3.4.1. Tipuri de senzori de nivel ……………………………………………………………………………….. 54
Figura 3.4.2. Senzor de nivel flotant cu comutator ………………………………………………………………… 54
Figura 3.4.3. Mod de funcționare senzor de nivel florant ……………………………………………………….. 55
Figura 3.4.4. Dimensiuni senzor de nivel flotant ………………………………………………………………….. 55
Figura 3.5.1. Schemă bloc releu ………………………………………………………………………………………….. 57
Figura 3.5.2. Modul releu 5V ……………………………………………………………………………………………… 59
Figura 3.5.3. Schemă electrică modul releu ………………………………………………………………………….. 59
Figura 3.5.4. Funcționare releu SPDT …………………………………………………………………………………. 60
Figura 3.6.1. Schemă bloc sincronizare cu rețeaua ………………………………………………………………… 61
Figura 3.6.2. Forme de undă modul sincronizare cu rețeaua …………………………………………………… 63
Figura 3.7.1. Schemă bloc LC D ………………………………………………………………………………………….. 64
Figura 3.7.2. Schemă conectare LCD ………………………………………………………………………………….. 66
Figura 4.1. Schemă bloc sistem automatizat pentru acvariu ……………………………………………………. 68
Figura 4.1.1.1. Schemă electrică senzori nivel ……………………………………………………………………… 71
Figura 4.1.2.1. Schemă electrică senzor temperatură …………………………………………………………….. 73
Figura 4.2.1.1. Schemă electronică sursă de alimentare 5V ……………………………………………………. 74
Figura 4.2.1.2. Structură internă LM7805 ……………………………………………………………………………. 75
Figura 4.2.2.1. Schemă electronică sursă alimentare 12V ………………………………………………………. 76
Figura 4.3.1. Schemă electronică sincronizare în fază cu rețeaua ……………………………………………. 77
Figura 4.4.1.1. Schemă electrică comandă heater ………………………………………………………………….. 78
Figura 4.5.1. Schemă comandă completare apă …………………………………………………………………….. 79
Figura 4.5.2. Simulare modul releu pentru comandă "0" ……………………………………………………….. 79
Figura 4.5.3. Simula re modul releu pentru comandă "1 " ……………………………………………………….. 80
Figura 4.5.1. Schemă ARDUINO MEGA2560 …………………………………………………………………….. 81
Figura 4.5.2. PCB ARDUINO MEGA2560 – TOP ……………………………………………………………….. 82
Figura 4.5.3. PCB ARDUINO MEGA2560 – BOTTOM ……………………………………………………….. 82
Figura 4.6.1. Schemă surse alimentare, sincronizare cu rețeaua și comandă heater ……………………. 83
Figura 4.6.2. Cablaj surse alimentare, sincroniza re cu rețeaua și comandă heater – TOP ……………. 84
Figura 4.6.3. Cablaj surse alimentare, sincronizare cu rețeaua și comandă heater – BOTTOM ……. 84
Figura 5.1.1. Organigramă comandă HEATER …………………………………………………………………….. 85
Figura 5.2.1. Organigrama comandă completare apă …………………………………………………………….. 87
5 Listă tabele
Tabel 3.2.1. Specificații tehnice ARDUINO Mega2560 …………………………………………………………. 33
Tabel 3.3.1. Descriere pini BS18B20 …………………………………………………………………………………… 51
Tabel 3.5.1. Specificații releu SRD 05 …………………………………………………………………………………. 60
Tabel 3.7.1. Semnificație pini LCD 16×2 …………………………………………………………………………….. 65
Tabel 3.7.2. Tabel pentru conectarea pinilor LCD la pinii ARDUINO MEGA …………………………. 66
6 Capito lul 1. Introducere
Tema de proiectare a pornit din dorința de a controla, după diagrame prestabilite de
tempe ratură și după acțiunile specifice, interiorul unui a cvariu. Astfel de aplicații sunt necesare atât
în microsisteme, cât și în macrosisteme , la nivel industrial pentru a putea asigura un confort vietățiilor
din incintele respective, cum ar fi acvariu, hală industrială, casă.
Crearea de astfel de microsisteme dedicate care presupun timpi de dezvoltare mari, număr de
microsisteme produse mici, deci costuri de realizare mari ș i profituri mici, de aceea nu prezintă un
interes deosebit pentru producerea lor de către firmele producătoare de module electronice. Totuși ,
aceste microsisteme trebuiesc realizare, iar rolul universităților este esențial în dezvoltarea lor prin
programe de ce rcetare și proiecte de licență.
Scopul acestui proiect este de a realiza structura hardware si funcții generale de control pentru
a permite ulterior dezvoltarea software din care să r ezulte un microsistem care să rezolve cerințele
menționate mai sus. Proiectarea microsistemului trebuie să țină cont de elementele externe ce pot fi
conectate, de senzorii ce pot fi monitorizați, de elementele de comandă ce pot fi acționate pentru
realizar ea funcțiilor dorite și posibile upgradări ce sunt necesare. Împreună cu cadrele didactice ce m –
au îndrumat am încercat sa rezolv problema proiectării hardware a unui astfel de microsistem si să implementez câteva funcții software care să demonstreze funcț ionalitatea acestuia.
Scopul acestui proiect este de a proiecta un microsistem cu microcontroler care să permită
citirea datelor furnizate de senzorii plasați în incinta unui acvariu, prelucrarea datelor primite și pe
baza algoritmilor proiectați să genereze semnale de comandă pentru dispozitivele de control ale
acvariului.
Proiectarea microsistemului trebuie să țină cont de elementele externe ce pot fi conectate, de
senzorii ce pot fi monitorizați, de elementele de comandă ce pot fi acționate pentru realizarea
funcțiilor dorite și posibile upgradări ce sunt necesare.
În acest sens am ales proiectarea microsistemului în jurul unui microcontroler de tip Arduino
Mega2560 care are înglobarea în structura lui internă o serie de periferice cu ajutorul căror a putem
citi date de la diferite tipuri de senzori și emite comenzi către elementele ce acționează asupra
acvariului.
Ca elemente perifice folosite pentru implementarea proiectului avem:
– Display LCD 16×2 folosit pentru afișarea informațiilor și a meniului de programare
– Senzor de temperatură DS18B20 folosit pentru a citi temperatura apei din acvariu
– 1 releu folosit pentru comanda pompei de completare apă în acvariu
– 1 modul de comandă al heaterului pentru acvariu.
7 Pe lângă proiectarea elementelor de intrare ale microcontrolerului și elementele de comandă
necesare după analiza preluată de la senzori, mai avem nevoie de :
– O surs ă de alimentare de 5V pentru alimentarea circuitelor integrate, a microcontrolerului și a
releelor de comandă
– O sursă de 12V pentru blocul de sincronizare cu rețeaua a heaterului.
8 Capito lul 2. Ecosisteme întreținute
Ecosistemul sau sistemul ecologic reprezintă ceea ce ecologi i numesc unitatea organizatorică
elementară a biosferei. În principiu, a tunci când spunem ecosistem, înțelegem , de fapt , un sistem
deschis, cu o alcătuire complexă conferita de cele două subsisteme majore din care acesta este alcătuit,
si anume biotopul (mediul fizico -chimic abiotic) și biocenoza (totalitatea viețuitoarelor, comunitatea
de plan te, animale, microorganisme care au ca suport un anumit biotop). Principala caracteristica a
ecosistemului este aceea ca la nivelul acestuia se realizează producția biologică.
Ecosistemele sun t foarte variate ca dimensiune ș i complexitate.
Principalele subsisteme ale unui ecosistem sunt ilustrate în imaginea de mai jos :
Figura 2.1. Prezentarea schematică a principalelor subsisteme ale ecosistemului
Din punct de vedere al circulației materiei și energiei într -un ecosistem putem dezvolta
următoarea diagramă:
Figura 2. 2. Intrări și ieșiri de energie într -un ecosistem tipic
9 Date fiind informațiile de mai sus, ne propunem realizarea unui microsistem acvatic.
Acvaristica are secretele ei care, odată cunoscute, te transformă într -un prieten al peștilor, un
„stăpân” mult mai atent, mai grijuliu, dar și mai plin de satisfacții de pe urma lor. Peștii dintr -un
acvariu personal ar putea fi soluția ideală pentru cei care iubesc animalele, dar nu se pot hotărî nici
pentru un câine, nici pentru o pisică. Peștii prezintă și avantajul că îngrijirea lor necesită doar câteva
minute pe zi, eventual câte o oră la saptămână, nu deranjează ordinea din casă sau apartament , chiar
aduc un plus de frumusețe și rafina ment locului în care sunt plasați .
Un acvariu este un colț de natură î n propiile locuințe. Pe câ t posibil trebuie sc asigurate peștilor
și plantelor aceleași condiții ca în natură. Sunt peș ti care au nevoie de o temperatură mai ridicată, alții
trebuie tinuți la o temperatură mai joasă. Unii tolerează în jurul lor alte specii, iar alții sunt foarte
teritoriali.
De asemenea, dimensi unile acvariului trebuie alese în funcție de peștii pe care dor im să îi
creștem. Înainte de achiziționarea unui acvariu este bine să consultăm un acvarist sau să ne informăm
online ce presupune acest hobby.
Un acvarist inform at va avea rezultate excelente î ntr-un timp foa rte scurt. Nimic nu este mai
plăcut decât un ac variu frumos, cu plante vii și pești sănătoși. Dacă se sare peste pașii de început vor
exista pierderi, plantele nu vor crește și apa se va umple de alge.
Deci, mai intâ i se decide felul peștilor ce se doresc achiziționați, dacă se doresc mai multe
specii trebuie verificat dacă se potrivesc din punct de vedere al hranei, temperaturii, Ph și alte
elemente cheie. În funcț ie de aceastea se aleg dimensiunile acvariului, precum ș i plantele.
Un ecosistem acvatic presupune următoarele elemente:
– Bazinul
• Pentru început este indicat un bazin de dimensiuni mici, 45- 50 de litri. După câteva luni de
acvaristică și acumulare de mai multe informații se poate achiziționa un acvariu de peste 150 de litri. Un bazin mai mare se întreține mai ușor, însă la început este bine să învățăm “rutina”:
schimbatul apei, observarea cu atenție a pesților și plantelor. Într -un acvariu de mici dimensiuni,
se pot crește în jur de 5 -10 pești. La achiziționarea unui bazin ma i mare, cel mic poate fi păstrat și
folosit pe post de cantină pentru per ioadele de depunere a ouălelor.
– Echipamente
• În principiu, avem nevoie de urmă toarele elemente: încă lzitor cu termostat, pompa de aer
(piatra de aer , furtun), filtru (pompa de aer poa te lipsi); filtrarea se poate face și mecanic, prin
bureți actionați de jetul de aer, furtun pentru schimbarea apei, u n termometru v a indica permament
temperatura în acvariu și un neon va asigura iluminatul în acvariu, garantând și creș terea plantelor.
– Decor
• Nu trebuiesc folosite elemente de decor impropii, pietriș colorat, acvariul trebuie să arate pe
10 cât posibil, ca mediul natural al peș tilor.
– Substrat
• Se recomandă folosirea substratului de pietriș și nisip (bacteriile folositoare se formează î n
substrat). Nisipul trebuie să fie cu granulație mai mare, nu unul foarte fin (sufocă rădăcinile
plantelor). Pietrișul trebuie să fie din roci dure, nu calcaroa se. Rocile calcaroase modifica î n timp
apa, c eea ce poate fi fatal peștilor. Î n principiu, subs tratul ar trebui să aibă grosimea de 3 -5 cm.
Acesta trebuie pus mai subțire în partea din față a acvariului și mai gros în cea din spate, din motive
estetice: se creaza un fel de pantă, astfel se poate vedea tot ac variul, nu numai partea din față .
– Plante
• Plantele sunt folositoare (consumă din substanț ele organice descompuse î n bazin, oxigenează
apa, înfrumusețează acvariul ). Se recomandă folosi rea unor specii mai rezistente și/sau mai ieftine :
Elodeea, Valisneria, Bacopa, unii echinodoruș i și anubias sunt destul de rezistene. Plantele ce cresc
mari se vor pune mai î n spate, cele mai mici vor ocupa partea din față a acvariului. Peș tii mai mari
vor fi, astfel , obligați să înoate în partea din față a acvariului. Cei mici își vor găsi refugiul între
plantele mari din partea din spate a acvariului. Pe cat posibil se încearcă mascarea filtrului, a bureților și încălzitorului din spate.
– Pești
• Pentru început sunt indicați peștii vivipara, care nasc pui vii și se înmulțesc fără efort prea
mare. Ca pri ncipiu, un vivipar la 4 litri de apă este un minim recomandat. Sunt foarte frecven te
asocierile nepotrivite de pești făcute de începători (guppy și xipho alături de carași aurii, betta,
zebre ș i nigr o) sau pseudotrophe us auratus (cichlid african) alături d e xipho/guppy . Este
recomandată combinația: o pereche de xipho, una de moly și câț iva guppy.
• Un alt aspect care trebuie avut î n vedere este (pentru arm onizarea bazinului) cel al funcț iunilor
unor pești. Spre exemplu, într -un bazin pașnic cu leeri se pot ți ne niște kuhli sau corydoraș i pentru
a consuma mancarea de la fundul a pei, sau un ancistrus sau alt mâncător de alge pentru combaterea
acestora.
• Procurarea peștilor: pentru prima dată se recomandă achiziționarea de pești și plante de la
prieteni, astfel sc ade riscul ca acești să fie bolnavi. Cu un pește cumparat din târg sau din magazine
există riscul de a contamina acvariul cu diverse boli, unele dificil de tratat. Dacă, totuș i, este
cumparat un pește din magazin se recomandă plasarea acestuia separat de acvariu, în carantină,
timp de o lună. În această luna se poate observa dacă apar probleme. Nu este indicate cumpararea
de pești din acvarii în care s -au observant pești morți.
– Hrana
• Peștii trebuie hrăniți în funcție de necesitățile lor, pe cât posibil câ t mai variat. Este indicată
alternarea hranei industrială cu hrana vie (larve, libelule) ș i hrana conge lată (tubii / libelule /
11 artemii). Este important să nu se abuzeze cu hrana, r esturile neconsumate ajung pe fundul
acvariului, unde se descompun, apa își pierde claritatea, iar din punct de vedere chimic își schimbă
proprietățile și există riscul de a se pierde pești. Hrănirea se face prin luarea de hrană între două
degete, dacă aceasta este consumată, se repetă procedeul. Un pește hrănit în exces devine gr as și
își reduce durat a de viață. E ste suficient ă hrănirea peștilor de 2 -3 ori pe zi.
– Apa
• Apa din acvariu trebuie să fie clară, să nu aibe nuanț e ver zui. Schimbarea a 10- 15% din apă
trebuie să devină o rutină . În cazul în care se folosește apă de la robinet se procedează astfel: se
umple o găleată de plastic cu apă de la robinet (apă rece, nu caldă), se ține minim 2 -3 zile, abia
apoi se introduce în acvariu. Se procedează astfel deoarece în apa de la robinet există clor și alte
substanțe ce nu fac bine peștilor.
• La cumpărarea unui acvariu, înainte de a se pune peștii, se spală bine cu apă rece, fără
detergenți, se introduc pietrișul și nisipul, filtrul, termometrul, termostatul, apoi se umple acvariul
cu apă, lasându -se câțiva centimetrii liberi. După 15 minute se pornesc filtrul și încălzitorul cu
termostat. După două zile se pot introduce plantele și peștii . Iar iluminatul trebuie oprit noaptea.
– Întreținere bazin
• Se va face săptămânal sau măcar odată la două săptămâni. Apa nu trebuie schimbată în
întregime, ci în jurul a 10 – 30%, în funcție de mărimea bazinului și intervalul de timp (bazin mai
mare – procent mai mic). Apa va fi scoasă cu un furtun, aspirând deșeurile de la fundul bazinului.
De regulă, este de preferat schimbarea apei mai des și în cant itate mică, decât mai rar și cantitate
mai mare, deoarece un schimb masiv de apă produce schimbari bruște î n chimia apei (aciditate,
duritate ), ceea ce poate cauza pierderea unor peș ti mai sensibili.
• În timp, unele frunze mor și este bine sa le eliminăm din acvariu. Trebuiesc curățați
săptămânal bureții, cu apă rece, fără detergenți. În acești bureți există bacterii foarte utile care fac
să mențină echilibrul biologic al apei.
12 Capito lul 3. Elemente teoretice ce stau la baza construcției
microsistemului
Ce este un microsistem?
Sistemele de calcul bazate pe microprocesoare sau microcontrolere se numesc microsisteme
digitale. Există 2 tipuri de echipamente care sunt microsisteme digitale: microcalculatoarele și
sistemele de calcul orientate pe aplicații.
Microprocesoru l se poate defini ca fiind un circuit logic programabil de către utilizator, într -o
singură capsulă și cu funcție de procesor de uz general.
Microcontroleru l se poate defini ca un circuit logic, programabil de către utilizator, cu o structură
adaptată pentru rezolvarea unei largi game de aplicații de timp real. El nu este folosit ca procesor de
uz general ci ca procesor orientat pe aplicații, fiind, în general, inclus în echipamentul pe care îl
conduce.
DSP – prelucrează digital semnale analog ice
Istoria microprocesoarelor și microcontrolerelor
1971: primul microprocesor pe 4 biți, al firmei INTEL;
1972: primul microprocesor pe 8 biți, 8008 (INTEL);
1974: 8080, 8085 (INTEL), Z80 (ZILOG), 6800, 6502 (MOTOROLA);
1978: 8086 (INTEL) → familia x86;
1979: 68000 (MOTOROLA) → familia 680×0;
1985: 80386 (INTEL);
1989: 80486 (INTEL):
• introducerea memoriei cache în capsula microprocesorului,
• introducerea coprocesorului matematic în capsula microprocesorului,
• transferuri cu memoria în cicluri de tip rafală;
1993: Pentium I:
• arhitectură superscalară,
• predicția dinamică a ramificărilor;
• 1997: Pentium II;
• 1999: Pentium III:
• 2 nivele de memorie cache,
• microarhitectura de tip P6 care asigură execuția dinamică a instrucțiunilor;
• 2002: Pentium IV.
13 • 1981: primul PC conținea microcontrolerul 8048 în tastatură;
• există microcontrolere pe 4, 8, 16 și 32 biți;
• familii de microcontrolere: mai multe microcontrolere cu același nucleu, de ex. familia 8051;
• producător i: PHILIPS, MICROCHIP, MOTOROLA, ZILOG, HITACHI, TEXAS
INSTR UMENTS etc.
Direcții de dezvoltare diferite:
• microprocesoare: creșterea vitezei, a capacității de memorie adresabile, înglobarea unor
facilități pentru lucrul cu limbaje de nivel înalt pentru aplicații de uz general,
• microcontrolere: au fost optimizate pentru achiziții de date și aplicații de monitorizare și
control, în general pentru aplicații de timp real.
Grafic, un microsistem de calcul se reprezint ă astfel :
Figura 3.1. Schema bloc a unui microsistem
14 Unitatea centrală (UC): microprocesor sau microcontroler + alte circuite (generator de tact,
generator al semnalului de inițializare, amplificarea și demultiplexarea magistralelor);
Memoria fixă:
– implementată cu circuite ROM, OTP, EPROM, EEPROM sau Flash,
– memorează programe de sistem sau aplicative,
– la PC conține doar un set de rutine de bază pentru comunicarea procesorului cu periferia,
programe de test, variabile care fixează anumite particularități funcționale și un program încărcător
care va încărca sistemul d e operare de pe suport extern în memoria de tip RAM și îl va lansa în
execuție.
Memoria de scriere/ citire (RAM):
– pentru memorări temporare iar la PC și pentru memorarea, în timpul unei sesiuni de lucru, a
sistemului de operare,
– SRAM (RAM static) și DRAM (RAM dinamic).
Porturi de intrare/ ieșire:
– asigură interfața dintre unitatea centrală și echipamentele de intrare/ ieșire,
– convertește informația din formatul unității centrale în cel al perifericelor și invers.
Decodificatorul de memorie (DECM) :
– generează semnale de selecție pentru circuitele de memorie,
– are ca intrări linii din magistrala de adrese.
Decodificatorul de porturi (DECP):
– generează semnale de selecție pentru circuitele de memorie,
– are ca intrări linii din magistrala de adr ese.
Magistrale externe de adrese, date, comandă și control.
Elementele microsistemului comunica prin intermediul unor magistrale (bus -uri). Un bus este
constituit dintr -un manunchi de fire pe care se vehiculeaza semnale avand aceleasi semnificatii logi ce.
In mod uzual sunt trei categori de magistrale (bus -uri):
– magistrala de adrese (BA) ce contine informatii emise de unitatea centrala in vederea adresarii
locatiilor de memorie si a circuitelor de intrare – iesire. Prescurtat, acest tip de informatii se numesc
adrese. In anumite situatii particulare, rolul de generare al semnalelor de adresa nu mai revine unitatii centrale. De exemplu, in cazul folosirii circuitelor DMA (direct memory access), rolul generarii
adreselor revine acestor circuite.
– magist rala de date (BD) contine liniile fizice pe care se vehiculeaza informatiile propriu -zise.
Prescurtat, acest tip de informatii se numesc date. Magistrala de date este bidirectionala. Sensul de
parcurgere al magistralei poate fi de la procesor la circuitele de intrare – iesire sau memorii, atunci
15 cand unitatea centrala efectueaza operatii de scriere, sau de la memorie sau circuitele de intrare –
iesire catre procesor, in situatia efectuarii operatiilor de citire de catre UC. In situatii particulare,
datele p ot sa circule intre circuitele de intrare – iesire si memorii, fara a se mai trece prin unitatea
centrala (cazul transferurilor DMA).
– magistrala de comenzi (BC) contine semnale prin care procesorul se sincronizeaza in functionare,
cu elementele externe. Ea nu este o magistrala bidirectionala propriu -zisa, ci contine semnale care
sunt generate de unitatea centrala si, respectiv, semnale care sunt receptionate de aceasta. Prin
intermediul semnalelor din cadrul acestei magistrale se gestioneaza transferul de date intre unitatea
centrala ș i resursele microsistem ului ( memorii si circuite de I /O ).
Structura unui microprocesor
Figura 3.2. Structura unui microproces or
Resurse externe: magistralele.
Prin magistrală se înțelege un grup de linii cu caracteristici comune funcționale, logice și
electrice și cu posibilitatea de a permite conectarea directă la ea a mai multor blocuri care îndeplinesc,
însă, anumite cerințe. Condiții:
– uniformitate funcțională înseamnă că rolul și scopul liniilor să fie același, uniformitate logică
înseamnă nivelul activ al semnalelor să fie același iar uniformitate electrică înseamnă că liniile să
aibă aceleași caracteristici electrice;
16 – blocuri cu ieșiri cu 3 stări.
Orice microprocesor are 3 magistrale:
– de adrese,
– de date,
– de comandă și control .
Magistrala de adrese:
– indică celula de memorie sau circuitul de I/E,
– ieșiri sau bidirecționale dacă microprocesorul conține memorie cache,
– capacitatea = 2n locații, n fiind numărul liniilor de adresă.
Magistrala de date:
– stabilește “numărul de biți” ai unui microprocesor, 8, 16, 32, 64,
– bidirecționale, sensul de transfer este stabilit de mic roprocesor.
Magistrala de comandă și control:
– indică ce operații va executa microprocesorul, cînd și cu cine,
– i se poate comunica faptul că resursele sunt prea lente,
– i se poate cere să elibereze resursele sistemului, etc.
Resurse interne:
– magistrale interne,
– unitate aritmetică și logică, UAL sau ALU,
– dispozitiv de comandă și control, DCC:
– pentru controlul tuturor transferurilor interne,
– pentru controlul tuturor transferurilor externe.
– decodificator al codului instrucțiunii, DCI: coamndă DCC,
– registrul instrucțiunii, RI: memorează temporar instrucțiunile,
– numărător de adrese, PC,
– tampoane de date și adrese,
– setul de registre:
– memorie internă foarte rapidă dar de capacitate mică,
– caracteristică a arhitecturii unui microprocesor,
– în strînsă legătură cu setul de instrucțiuni;
17 – registre cu funcțiuni generale: pot fi accesate prin intermediul instrucțiunilor, minimizând
numărul de accese la memorie: generale, de date, de adrese și de control și stare,
– registre speciale: conțin informații pentru controlul execuției programelor și pen tru realizarea
unor facilități.
Probleme specifice ale unui proiectant de microprocesor legate de setul de registre:
– raportul registre cu funcțiuni generale/ registre speciale (sau, al tfel spus: cum se asigură
performanță maximă: cu mai multe registre cu funcțiuni generale sau cu mai multe registre
speciale),
– numărul de registre (cum se asigură performanță maximă: cu mai multe sau cu mai puține
registre).
Alte caracteristici importante ale microprocesoarelor:
– setul de instrucțiuni:
– indică programatorului posibilitățile microprocesorului,
– determină evoluția microprocesoarelor.
– terminalele:
– comunicarea microprocesorului cu exteriorul,
– legată de posibilitatea de încapsulare: cerințe de număr mare de terminele/ limitări de cost și
spațiu:
– multiplexarea unui număr de terminale: avantaj pentru proiectantul de microprocesor,
dezavantaj pentru proiectantul de sistem hardware, larg aplicată la microcontrolere,
– capsu le cu număr mare de terminale:
– DIL la microprocesoare simple,
– pe 4 laturi, și mai multe rînduri, la microprocesoarele evoluate cu sute de terminale.
Noțiuni despre microcontroler e
La modul general un controler ("controller" – un termen de origine anglo -saxonă, cu un
domeniu de cuprindere foarte larg) este, actualmente, o structură electronică destinată controlului
unui proces sau, mai general, unei interacțiuni caracteristice cu mediul exterior, fără să fie necesară
intervenția operatorului uman.
Primele controlere au fost realizate în tehnologii pur analogice, folosind componente
electronice discrete și/sau componente electromecanice (de exemplu relee). Cele care fac apel la tehnica numerică modernă au fost realizate inițial pe baza logicii cablat e (cu circuite integrate
numerice standard SSI și MSI ) și a unei electronici analogice uneori complexe, motiv pentru care
18 "străluceau" prin dimensiuni mari, consum energetic pe măsură și, nu de puține ori, o fiabilitate care
lăsa de dorit.
Apariția și utilizarea microprocesoarelor de uz general a dus la o reducere consistentă a
costurilor, dimensiunilor, consumului și o îmbunătățire a fiabilității. Există și la ora actuală o serie de
astfel de controlere de calitate, realizate în jurul unor microprocesoar e de uz general cum ar fi Z80
(Zilog), 8086/8088 (Intel), 6809 (Motorola), etc.
Pe măsură ce procesul de miniaturizare a continuat, a fost posibil ca majoritatea
componentelor necesare realizării unei astfel de structuri să fie încorporate (integrate) la nivelul unui
singur microcircuit (cip). Astfel că un microcontroler ar putea fi descris ca fiind și o soluție a
problemei controlului cu ajutorul a (aproape) unui singur circuit. Legat de denumiri și acronime utilizate, așa cum un microprocesor de uz ge neral este
desemnat prin MPU (MicroProcessor Unit), un microcontroler este, de regulă, desemnat ca MCU, deși semnificația inițială a acestui acronim este MicroComputer Unit.
O definiție, cu un sens foarte larg de cuprindere, ar fi aceea că un microcontrol er este un
microcircuit care incorporează o unitate centrală (CPU) și o memorie împreună cu resurse care -i
permit interacțiunea cu mediul exterior.
Resursele integrate la nivelul microcircuitului ar trebui să includă, cel puțin, următoarele
componente:
a. o unitate centrală (CPU), cu un oscilator intern pentru ceasul de sistem
b. o memorie locală tip ROM/PROM/EPROM/FLASH și eventual una de tip RAM c. un sistem de întreruperi
d. I/O – intrări/ieșiri numerice (de tip port paralel)
e. un port serial de tip asincron și/sau sincron, programabil f. un sistem de timere -temporizatoare/numărătoare programabile
Este posibil ca la acestea să fie adăugate, la un preț de cost avantajos, caracteristici specifice sarcinii de control care trebu ie îndeplinite:
g. un sistem de conversie analog numerică(una sau mai multe intrari analogice)
h. un sistem de conversie numeric analogic și/sau ieșiri PWM (cu modulare în durată)
i. un comparator analogic j. o memorie de date nevolatilă de tip EEPROM
k. facilități suplimentare pentru sistemul de temporizare/numărare (captare și comparare)
l. un ceas de gardă (timer de tip watchdog)
m. facilități pentru optimizarea consumului propriu.
19 Un microcontroler tipic mai are, la nivelul unității centrale, facilități de prelucrare a
informației la nivel de bit, de acces direct și ușor la intrări/ieșiri și un mecanism de prelucrare a
întreruperilor rapid și eficient.
Utilizarea unui microcontroler constituie o soluție prin care se poate reduce dramatic
numărul c omponentelor electronice precum și costul proiectării și al dezvoltării unui produs.
Utilizarea unui microcontroler, oricât de evoluat, nu elimină unele componente ale interfeței
cu mediul exterior (atunci când ele sunt chiar necesare):
– subsisteme de prelucrare analogică (amplificare, redresare, filtrare, protecție- limitare),
elemente pentru realizarea izolării galvanice (optocuploare, transformatoare), elemente de comutație
de putere (tranzistoare de putere, relee electromecanice sau statice).
Figur a 3.3. Schema bloc a unui microcontroler
Toate aplicațiile în care se utilizează microcontrolere fac parte din categoria așa ziselor
sisteme încapsulate -integrate (“embedded systems”), la care existența unui sistem de calcul
incorporat este (aproape) tra nsparentă pentru utilizator. Pentru ca utilizarea lor este de foarte ori
sinonimă cu ideea de control microcontrolerele sunt utilizate masiv în robotică și mecatronică.
Există la ora actuală un număr extrem de mare de tipuri constructive de microcontrolere. Un
criteriu de clasificare care se poate aplica întotdeauna este lungimea (dimensiunea) cuvântului de date. Funcție de puterea de calcul dorită și de alte caracteristi ci se pot alege variante având
dimensiunea cuvântului de date de 4, 8,16 sau 32 de biți (există chiar și variante de 64 de biți!). Nu este obligatoriu ca dimensiunea cuvântului de date să fie egală cu dimensiunea unui cuvânt mașină
(cuvânt program). Există și multe variante zise dedicate, neprogramabile de utilizator la nivel de cod
mașină, strict specializate pe o anumită aplicație, prin intermediul codului preprogramat și al
20 resurselor hardware, utilizate pentru comunicații, controlul tastaturilor, controlul aparaturii
audio/video, prelucrarea numerică a semnalului, etc.
Arhitectura unității centrale de calcul (CPU) este unul din elementele cele mai importante care
trebuie avut în vedere în analiza oricărui sistem de calcul. Principalele concepte luate în considerare
și întâlnite aici sunt următoarele:
a. Arhitecturi de tip " von Neumann "
Cele mai multe microcontrolere sunt realizate pe baza acestei arhitecturi de sistem.
Microcontrolerele bazate pe această arhitectură au o unitate centrală (CPU) caracter izată de existența
unui singur spațiu de memorie utilizat pentru memorarea atât a codului instrucțiunilor cât și a datelor ce fac obiectul prelucrării. Există deci o singură magistrală internă (bus) care este folosită pentru
preluarea a instrucțiunilor (fe tch opcod) și a datelor; efectuarea celor două operații separate, în mod
secvențial, are ca efect, cel puțin principial, încetinirea operațiilor. Este arhitectura standard (cea mai des întâlnită) și pentru microprocesoarele de uz general.
b. Arhitecturi de tip " Harvard "
La această arhitectură există spații de memorie separate pentru program și date. În consecință
ar trebui să existe și magistrale separate (de adrese și date) pentru codul instrucțiunilor și respectiv
pentru date. Principial există astfel posibilitatea exec uției cvasiparalele (suprapunerii) a celor două
operații menționate anterior. Codul unei instrucțiuni poate fi preluat din memorie în timp ce se execută operațiile cu datele aferente instrucțiunii anterioare. Este posibilă (cel puțin teoretic) o
execuție m ai rapidă, pe seama unei complexități Microcontrolere 1. Introducere 5 sporite a
microcircuitului, mai ales atunci când există și un pipeline. Este arhitectura standard pentru procesoarele numerice de semnal (DSP). Datorită costului mare al implementării u nei astfel de
arhitecturi, în cazul microcontrolerelor se întâlnește mai ales o arhitectură Harvard modificată, cu spații de memorie separate pentru program și date, dar cu magistrale comune pentru adrese și date.
c. CISC
Aproape toate microcontrolerele au la baza realizării CPU conceptul CISC (Complex
Instruction Set Computer). Aceasta înseamnă un set uzual de peste 80 instrucțiuni, multe din ele foarte puternice și specializate. De obicei multe din aceste instrucțiuni sunt foarte diferite între ele: unele
operează numai cu anumite spații de adrese sau registre, altele permit numai anumite moduri de
adresare, etc. Pentru programatorul în limbaj de asamblare există unele avantaje prin utilizarea unei
singure instrucțiuni complexe în locul mai multor instrucțiuni simple (analog macroinstrucțiunilor
clasice dintr -un limbaj de asamblare) .
21 d. RISC
RISC (Reduced Instruction Set Computer) este un concept de realizare a CPU care a început
să fie utilizat cu succes de ceva timp și la realizarea microcontrolerelor. Pr in implementarea unui set
redus de instrucțiuni care se pot executa foarte rapid și eficient, se obține o reducere a complexității
microcircuitului, suprafața disponibilizată putând fi utilizată în alte scopuri. Printre caracteristicile
asociate de obicei unui CPU RISC se pot menționa: – arhitectură Harvard modificată sau von
Neumann – viteză sporită de execuție prin implementarea unui pipeline pentru instrucțiuni – set de
instrucțiuni ortogonal (simetric): orice instrucțiune operează cu orice spațiu de adr ese (de memorie)
sau orice registru, instrucțiunile nu prezintă combinații speciale, excepții, restricții sau efecte colaterale.
22 3.1. Surse de alimentare
Sursa de alimentare sau blocul de aliment are este o componentă vitală într -un circuit
electronic, care alimentează cu energie electrică toate celelalte componente cu cantitatea exactă de
curent de care au nevoie și astfel asigură funcționarea lor. Sursele de alimentare cu tensiune continuă
redresează curentul curentului alternativ, furnizând o tensiune continuă care să prezinte variații cât mai mici. Aceasta deoarece circuitele cu dispozitive semiconductoare necesită o tensiune de
alimentare cât mai constantă și cu pulsație mică.
Sursele obișnuite transformă curentul alternativ de 110V sau 230V în diverse măsuri de curent
continuu, de regulă 3,3V, 5V și 12V.
Tensiunile de 3.3V și 5V sunt tipice pentru alimentarea circuitelor digitale, în timp ce
tensiunea de 12V este folosită pentru pornirea motoa relor de mici dimensiuni.
Componenta principală a unei surse de alimentare o constitui e watt -ul, care este produsul
dintre tensiunea în volți și curentul în amperi.
În imaginea de mai jos avem schema bloc a unei surse de tensiune continue :
AC
220V 50Hz
L1 L2Transformator
Elemente
redresoareFiltruStabilizator
de
tensiune
Sarcină
Redresor
Figura 3.1.1. Schema bloc a unei surse de alimentare continuă
Redresorul este un circuit electronic ce realizează conversia energiei de curent alternativ în
energie de curent continuu.
Un redresor poate conține:
– Transformator;
– Elemente redresoare;
– Filtru;
Transformatorul se alimenteaz ă la intrare cu tensiune alternativă de la reț ea ( – 220 V, 50 Hz)
și furnizeaz ă la ieșire o tensiune alternativ ă de o anumit ă amplitudine, în func ție de tensiunea necesar ă
la ieșirea redresorului.
Blocul elementelor redresoare realizeaz ă conversia tensiunii alternative î ntr-o form ă de und ă
cu componenta continuă diferit ă de zero.
Filtrul are rolul de a micș ora ondula țiile (varia țiile) tensiunii redresate, f ără să micș oreze
componenta continuă . Ca urmare, se utilizeaz ă filtre trece jos.
23 Clasificare redresoare:
a) După control :
– Redresoare necomandate;
– Redresoare comandate (con țin cel puțin un tiristor ).
b) După numărul de faze :
– Redresoare monofazate;
– Redresoare polifazate (uzual trifazate).
c) După filtru:
– Redresoare fără filtru;
– Redresoare cu filtru (uzual capacitiv).
Caracteristicile redresoarelor sunt:
Caracteristica extern ă se defineș te pentru componenta medie a tensiunii de la ieșirea
redresorului, V O și reprezintă variația acesteia în funcție de curentul mediu prin sarcină, I O. Odată cu
creșterea curentului I O, tensiunea VO scade, deoarece căderea de tensiune pe rezistența internă a
redresorului crește.
O O in V VIR= −⋅
Randamentul redres ării (η) se defineș te ca raportul dintre puter ea de curent continuu pe
sarcină și puterea totală.
,L CC R
tP
Pη=
Factorul de ondulație ( γ ) se defineș te pentru tensiunea de ie șire a redresorului, VO, ca
raportul dintre amplitudinea componentei alternative de frecvență minima și mărimea componentei
continue ( componenta medie ). γ caracterizează forma de unda a tensiunii de la ie șirea redresorului.
Valorile maxime ale parametrilor uzuali ai diodelor sunt:
AOI – curentul mediu;
AMI – curentul maxim, repetitiv;
AMMI – curentul maxim maximorum (accidental);
ARMV – tensiunea inversă ma ximă .
Valorile acestor parametri trebuie să fie mai mici decâ t cele ale parametrilor de catalog ai diodei:
24 IAO FAVM
AM FRM
AMM FSM
ARM RRMI
II
II
VV<
<
<
<,
unde,
IFAVM – (Maximum Average Forward Current) curentul direct mediu maxim;
FRMI – (Repetitive Peak Forwar d Current) curentul direct de vâ rf repetitiv;
FSMI – (Surge Forward Current) curentul direct de vârf de suprasarcina accidentală ;
RRMV – (Repetitive Peak Reverse Voltage) tensiunea inversă de vârf repetitivă.
25 Redresorul monofazat bi alternanță în punte
Redresor ul monofazat bilaternanță în punte este alimentat de la o sursă monofazată de
tensiune alternativă de tip necomandat, care furnizează o tensiune de valoare medie U d constan tă,
fiind constituit numai cu diode.
Figura 3.1.2. Schema electronică redresor monofazat bialternanță în punte
Figura 3.1.3. Redresor monofazat bialternanță în punte
Dacă considerăm tensiunea secundară, sinsuU ϕ = , formată din tensiunile măsurate față de
un punct secundar median fictiv , avem următoarele relații:
1
12
211sin22
11sin22ss
ss s
ssu uU
uuu
u uUϕ
ϕ= =⇒= −
= =.
26 Pentru ()0, ϕπ∈ avem 0su>, deci diodele D 1 și D4 conduc , D2 și D3 sunt blocate.
23sin
sin sin
sinds
ds
DD su uU
Uii IR
uu uUϕ
ϕϕ
ϕ= =
= = =
= = −= −
Pentru ( ),2 ϕ ππ∈ avem 0su<, deci diodele D 2 și D3 conduc , D1 și D4 sunt blocate.
41sin
sin sin
sinds
ds
D Dsuu U
Uii IR
u u uUϕ
ϕϕ
ϕ= = −
= −= − = −
= = =
Avem relaț iile de calcul :
– Valoarea medie a tensiunii redresate:
012sindUU Udπ
ϕϕππ= = ∫;
– Valoarea efectivă a tensiunii redresate: ( ) ( )2
01sin
2d RMSUU Udπ
ϕϕπ= = ∫.
Ținând cont că secundarul și primarul au o singură înfășurare (m = n = 1), puterile de calcul
(aparente) pentru transformator sunt date de relațiile:
( ) ( )
( ) ( )1,11 1,11 1, 23
1,11 1,11 1, 23
1, 232p dd d s RMS s RMS
p s
p d dd p RMS p RMS
sp
sp
tdSU I U I P
n nSU I U I Pnn
SSSP= ⋅ = ⋅ ⋅ ⋅≈ ⋅
= ⋅ = ⋅⋅ ⋅ ⋅⋅ ≈ ⋅
+= =
Obținem coeficienții de utilizare ai transformatrului:
1, 23
1, 23
1, 23d
s
s
d
p
p
d
t
tPcS
PcS
PcS= =
= =
= =,
deci factorii de putere ai transformatorului sunt: 10,813s
sfc= = și 10,813p
pfc= = .
27 Stabilizatoare liniare de tensiune
Stabilizatorul de tensiune continuă este un circuit electronic ce menține cât mai constantă
tensiunea de ieș ire în raport cu:
– variația tensiunii de intrare, ()ivt∆ ;
– variaț ia sarcinii, LR∆ (sau a curentului de sarcina,Li∆);
– variatia termperaturii ambiante, aT∆.
Figura 3.1.4. Stabilizator de tensiune
Necesitatea utiliz ării stabilizatoarelor electronice de tensiune este impus ă de cerin țele de
alimentare a anumitor tipuri de circuite electronice.
Din definiț ia stabilizatorului rezultă că tensiunea de ieș ire dep inde de tensiunea de intrare,
curentu l de sarcină și temperatura med ului ambiant. Presupunând o dependență liniară a tensiunii de
ieșire de cele trei variabil e, prin diferențiere se obț ine ooo
o iL
iLvvvdv dv di dTvi T ∂∂∂ =++ ∂∂∂ .
Plecând de la relația anterioară și considerând variații finite mici, în continuare se definesc
parametrii de lucru ai stabilizatoarelor.
a) Coeficientul de stabilizare a tensiunii de ie șire, în gol, în raport cu variația tensiunii de intrare,
ovS se defineș te ca raportul dintre variația tensiunii de intrare și variația tensiunii de ieș ire, pentru
temperatura ambiantă constantă și sarcina infinită ( 0Li=). Val oarea acestui coeficient exprimă de
câte ori a fost redus ă componenta variabil ă de că tre stabilizator și trebuie s ă fie c ât mai mare.
..o
LLii
v
T ct T ct ooRRvvSvvδ
δ
→∞ →∞= =∆= ≅∆
b) Rezistenț a de ieș ire, R o
..
ii iioo
o
T ct T ct LLvV vVvvRiiδ
δ = =
= =∆=− ≅−∆
Pentru curenț i mari de sarcină, R o trebuie să fie mică.
28 c) Coeficientul de stabilizare a tensiunii de ie șire, în sarcin ă, în raport cu varia ția tensiunii de
intrare, VS se defineș te ca și
ovS , dar pentru un curent de sarcin ă diferit de zero.
..1
o
LI LI LLii O
vv
T ct T ctoo Liivv RSSvv Rδ
δ
= == = ∆=≅= + ∆
d) Coeficientul de stabilizare a tensiunii de ie șire, în raport cu variaț ia temperaturii ambiante, S T
se defineș te ca raportul dintre variaț ia tensiunii de ie șire și variaț ia temperaturii ambiante, pentru
tensiunea de intrare ș i curentul de ie șire constanț i. Este de dorit ca acest coeficient sa fie câ t mai mic.
ii ii
LI LI LLoo
TvV vV
iivvSTTδ
δ
= == =∆= ≅∆
Pentru stabilizatoarele integrate se define ște factorul de ondulaț ie al tensiunii de ie șire (
oovV∆ ) sau numai varia ția tensiunii de ie șire pentru o anumit ă variați e a tensiunii de intrare (iv∆) și
pentru o anumită variație a curentului de sarcină ii∆. De exemplu, la s tabilizatorul integrat kA7805,
pentru o variație a tensiunii de intrare, v i între 8 V și 12V, la ie șire variația tipică este de 1,6 mV și
cea maximă de 50 mV. Pentru o variaț ie a curentului de sarcină î ntre 250 mA ș i 750 mA, la ie șire
variația tipică este de 4 mV ș i cea maxima 50 mV. La un curent de sarcină de 5 mA , 0.8TS mV C= −° .
În Figura 3.1.5. este ilustrat modelul unui stabilizator electronic de tensiune folosind
parametrii definiti anterior. S -a urm ărit numai modelarea comportă rii la ieșirea stabilizatorului.
Figura 3.1.5. Model stabilizator
29 Stabilizatoare parametrice cu diode Zener
Diodele Zener sunt utilizate în special pentru stabilizarea tensiunilor, motiv pentru care se mai
numesc și diode stabilizatoare. În polarizare inversă, în regiunea de stră pungere, tensiunea pe dioda
depinde foarte slab de curentul prin dioda. A ceasta proprietate este folosită î n stabilizatoarele de
tensiune cu diode Zener. Astfel, tensiunea de străpungere este parametru cel mat important pentru
diodele Zener, fiind controlată în procesu l de fabricaț ie.
Modelarea diodei Zener în regiunea de stră pungere
Figura 3.1.6. Circuit pentru polarizarea diodei Zener
În figura 3.1.6. este prezentat un circuit pentru polarizarea inversă a diodei Zener. Cu ajutorul
acestuia se poate determina caracteristica
()Z ZZI IV= , în care am notat ZAII= − ;I ZAVV= − .
Figura 3.1.7. a) Caracteristica curent tensiune a unei diode Zener;
b) Caracteristica liniarizată în regiunea de străpungere
În figura 3.1.7. a) este ilustrată caracteristica diodei Zener. Pentru I ZM > l z > I Zm caracteristica
poate fi aproximata cu una liniara, așa cum se observă în figura 3.1.7. b). Panta caracteristicii în
regiunea de străpungere fiind constantă , poate fi modelata cu rezistenta r z, dată de relaț ia:
tg Z
z
ZVrIα∆= =∆
30 Modelul liniar al diodei Zener, ilustrat în figura 3.1.8., mai c uprinde o baterie de tensiune V z0.
Tensiunea pe dioda Zener are expresia: 0 Z z zZV V rI= +⋅ .
Figura 3.1.8. Modelul diodei Zener
Pentru I Z < IZm, tensiunea pe dioda Zener scade rapid ș i modelul din figura 3.1.8. nu mai este
valabil. Dacă IZ = IZM, atunci puterea disipată pe dioda Zener este egală cu cea maximă admisă. Ca
urmare, depășirea curentului maxim determină depăș irea puterii maxime admisib ile, ceea ce conduce
la o supraîncă lzire a dispozitivului ș i, în final , o distrugere a acestuia. Circuitului de polarizare al
diodei Zener trebuie să realizeze limitarea curentului I Z la o valoare sub cea maximă.
31 3.2. Arduino Mega2560
În forma sa cea mai simplă, o plac ă de dezvoltare ARDUINO poate fi considerat ă ca un mic
computer c ăreia î i poți controla intr ările ș i ieșirile de la chip.
ARDUINO este cunoscut ă ca fiind o platform ă fizică sau integrate, ceea ce î nseamn ă că este
un sistem interactiv ș i, astfel , prin utilizarea hardware și software poate interacț iona cu mediul.
Placa de baz ă ARDUINO este alcatuită dintr -un microprocesor, un cristal sau un oscil ator
(defapt este un ceas brut care trimite impulsuri că tre microcontr oler pentru a -i permite o viteză de
operare corectă) și un regulator liniar de 5V .
ARDUINO Mega are un conector USB pentru a permite conectarea la PC prin portul US B.
De asemenea, placa dispune de un anumit numă r de pinii pentru intrare (Input Pins) și pentru ieș ire
(Output Pins) prin intermediul cărora să poată fi conectatate alte cir cuite (senzori, LED -uri, motoraș e,
etc.)
Plăcile de dezvoltare ARDUINO pot fi folosite pentr u a dezvolta obiecte de sine stătătoare
interactive sau pot fi conectate la un calculator pentru a pr elua sau pentru a trimite date și apoi să
acționeze pe baza acelor date.
Pentru programare se u tilizează ARDUINO IDE (Integrated Development Environment), care
este un soft oferit gratuit de ARDUINO pentru a permite programarea microcontrolerului î n limba jul
specif ic acestuia.
Limbajul de programare ARDUINO se bazeaz ă pe “Wiring”, o platform ă de calcul fizic
similar ă, care se bazeaza pe mediul de programare de procesare multimedia. Pe scurt, limbajul pe
care ARDUINO îl folos ește este C.
ARDUINO IDE permite scrierea programului pe calculator, care este format dintr -un set de
instrucțiuni pas cu pas ce vor fi încărcate apoi în ARDUINO. După încă rcarea programului propriu –
zis pe placa de dezvolt are, ARDUINO va efectua instrucțiunile date ș i va inter actiona cu mediul.
ARDUINO numeș te aceste programe “S ketches” (schiț e).
32 Prezentare Arduino Mega2560
Figura 3.2.1. Placa de dezvoltare Arduino Mega2560
Platforma este dezvoltată cu ajutorul controller -ului ATMEGA 2560, este astfel gândită
pentru a face facil accesul la intrările și ieșirile MCU, operarea cu consum redus de energie si pentru a avea o interfață de depanare, programare, de comunicație și control în vederea depanării.
Bootloader -ul si programul din microcontroller poate fi evitat prin interfață ICSP ( In Circuit Serial
Programming).
Este compatibilă cu accesorii Arduino™, permițând astfe l numeroase posibilități de conectare
de shield -uri care se portivesc cu platforma. Platforma este, de asemenea, creată pentru a fi ușor
programată cu software- ul IDE ARDUINO care permite o inițializare mult mai rapidă, lăsând mai
mult timp creării. Dispoz itivul ATMEGA 2560 are o frecvență maximă de funcționare de 16MHz,
256 KB de flash, 4 KB EEOROM, 8 KB SRAM și o mulțime de periferice analogice și digitale.
ARDUINO Mega2560 este un microcontroler bazat pe ATmega 256. Placa de dezvoltare
conține :
– 54 pini de intrare/ie șire digitali (dintre care 15 pini pot fi folosiți ca ieșiri PWM) ;
– 16 pini analogici de intrare ;
– 4 conectori USART ( Universal Synchronous/Asynchronous Receiver/Transmitter)
– 1 oscilator de 16 MHz ;
– 1 conector USB ;
– 1 conector de alimentare;
33 – 1 conector ICSP (In-Circuit Serial Programming );
– 1 buton de Reset.
Specificații tehnice :
Microcontroler ATmega 2560
Tensiune de operare 5V
Tensiune de intrare (recomandată) 7-12V
Tensiune de intrare (limită) 6-20V
Pini de intrare/ieșire digitală 54 (din care 15 sunt ieșiri PWM)
Pini de intrare analogică 16
Curent DC pe pinii de intrare/ieșire 20 mA
Curent DC pentru pinul de 3.3V 50 mA
Memorie FLASH 256KB, din care 8KB sunt folosiți de bootloader
SRAM 8 KB
EEPROM 4 KB
Frecvență de lucru 16 MHz
Tabel 3.2.1. Specificații tehnice ARDUINO Mega2560
MEGA2560 are o siguranță resetabilă care protejează porturile USB ale computerului de scurt
și supracurent. Cu toate că majoritatea computerelor furnizează propria lor protecție internă, siguranța
oferă un strat suplimentar de protecție. Dacă sunt aplicați mai mult de 500mA pe portul USB,
siguranța automat va întrerupe conexiunea. Placa de dezvoltare ARDUINO MEGA2560 diferă de celelalte plăci de dezvoltare datorită
faptului c ă acesta nu folosește un driver FTDI ( Future Technology Devices Internationa l) pentru
USB -Serial, în schimb, dispune de un Atmega8U2 progr amat ca un convertor USB -Serial.
Placa de dezvoltare poate fi alimentată prin intermediul conexiunii USB sau cu o sursa externă
de alimentare. Sursa de alimentare este selectată automat. Alimentarea externă (non USB) poate provenii de la un adaptor AC -DC sau o baterie.
Placa poate funcț iona pe o sursă externă de 6V până la 20V. În cazul în care este alimentată
cu mai putin de 7V, pinul de 5V poate furniza mai puțin de 5V și placa devine instabilă. În cazul în
care se alimentează cu mai mult de 12V, regulatorul de tensiune se poate supraî ncălzi si deteriora
placa. Intervalul recomandat este de 7V până la 12V.
34 Pinii de alimentare sunt următorii :
– Vin – tensiunea de intrare în placa atunci când este folosită o sursă externă de alimentare (în
detrimentul alimentării cu 5V prin USB sau de la altă sursă reglată de alimentare). Se aplică tensiunea
pe acest pin, sau în cazul aplicării unei surse de tensiune prin conectorul de alimentare, putem avea
acces la această tensiune prin acest pin.
– 5V – acest prin oferă o tensiune reglată de 5V de către stabilizatorul propriu al plăcii. Placa
poate fi alimentată prin conectorul de alimentare (7 -12V), prin conectorul USB (5V) sau prin pinul
Vin (7 -12V) . Alimentarea prin pinii de 5V sau de 3.3V nu are accest la stabilizator ceea ce poate
afecta placa.
– 3.3V – este o tensiune generată de stabilizatorul propriu cu un curent maxim de 50mA.
– GND – pinii de masă.
ATmega 256 are 256 KB (din care 8KB sunt ocupați de bootloader). De asemenea, are 8 KB
de memorie SRAM și 4 KB de memorie EEPROM (carea poate fi citită și scrisă prin intermediul
librăriei EEPROM).
35 Intrări și ieșiri
Fiecare dintre cei 54 pini ai plăcii de dezvoltare Arduino MEGA2560 pot fi folosiți ca intrări
sau ca ieșiri, configurarea acestora se face soft ware prin metodele pinMode(), digitalWrite() și
digitalRead(). Ei pot furniza maxim tensiunea de 5V și un curent de 40mA fiind cuplați la rezistențe
pull-up (care sunt deconectate în mod implicit ) de valori cuprinse între 20 -50K.
Microcontrolerul Atmega 2560 este un dispozitiv Atmel într -un pachet TQFP 100.
Figura 3.2.2. Atmega256 – ilustrare pini
Caracteristicile Atmega 2560 MCU includ:
• Procesorul pe 8- biți Atmega 328 :
o Funcționare de până la 16 MHz;
o Architectura RISC
o 32 x 8 Registri de uz general
o Multiplicator 2 -cicluri pe Chip
36 • Memorii:
o 256KB Flash;
o 4 KB EEPROM
o 8 KB SRAM;
o 10000 Flash/ 100000 EEPROM ciculuri scriere/ citire.
• Funcții periferice :
o 54 linii I/O programabile
o Două timere/ countere pe 8 biți cu prescalare separată și mod comparare
o Patru timere/ countere pe 16 biți cu prescalare separată, mod comparare și mod captură
o Un counter in timp real cu oscilator separat
o Patru canale PWM pe 8 biți
o Șase canale PWM de cu rezoluție programabilă de la 2 la 16 biți
o 8 canale ADC de 10 biți
o Patru canale serial USART programabile
o Interfața seriala Master/ Slave SPI
o Interfața seriala orientată pe octet pe 2 fire (I2C)
o Timer Watchdog cu programabil cu oscilator pe chip separat
o Comparator analogic pe chip
o Întrerupere si trezire la schimbarea stării pinului
• Caracteristici speciale microcontroler :
o Power -on Reset și detectare Brown -out programabil
o Oscilator intern calibrat
o Surse de întrerupere externe și interne
o Șase moduri de sleep: Idle, ADC Noise Reduction, Power -save, Power -down,
Standby, Extended Standby
37 Arhitectura generală a microcontrol er-ului AVR
o Mașina RISC (Load -store cu doua adrese)
o Arhitectura Harvard modificată – exista instrucțiuni speciale care pot citi datele din
memoria prog ram
o Pipeline pe două nivele: citire instrucțiune (Fetch) si execuție
Figura 3.2.3. Arhitectura generală a microcontrolerului AVR
38 Harta memoriei AVR
o Primele 32 de adrese – blocul de registry 64 de adrese – regiștri I/O accesabili prin
o instrucțiuni speciale
o 160 adrese – spațiu I/O extins, accesabil prin instrucțiuni standard de acces la memorie
o Următoarele adrese: RAM intern sau extern
Figura 3.2.4. Harta memoriei
39 Port intrare/ ieșire la AVR
o Porturile de intrare/ieșire: PORTA … PORTL
o PORTA… PORTE pot fi accesate prin instrucțiuni speciale in, out
o PORTF si PORTK servesc si ca intrări analogice pentru convertorul A/D
o Fiecare bit din fiecare port poate fi configurat ca intrare sau ca iesire, prin scrierea registrului
de direcție D DRx
o Scrierea portului se face prin registrul PORTx
o Citirea starii pinilor se face prin PINx
o Diode de protecție, impotriva electricitatii statice
o Rezistenta “pull up”, care poate fi activată/ dezactivată
Figura 3.2.5. Structura internă a unui pi n
Figura 3.2.6. Schema generală pentru un 1 bit dintr -un port I/O
40
Figura 3.2.7. Configurația pentru ieșire generală pentru 1 bit
Figura 3.2.8. Configurația pentru intrare generală pentru 1 bit
41 Semnalul de RESET
Semnalul de Reset este conectat extern la un buton, RESET, și de asemenea la shield -ul de
ethernet. Butonul de resetare poate fi folosit pentru a forța un eveniment de resetare externă în
microcontrolerul țintă.
Figura 3.2.9. Schemă logică RESET
42 Descriere porturi microcontroler ATmega 2560
– VCC – alimentarea cu energie
– GND – pinul de masă
– Port A (PA7. .PA0) – portul A este un port bidirecțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer- ul de ieșire al portului B, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului A există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului A sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port B (PB7. .PB0) – portul B este un port bidirecțional de intrare / ieși re pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului B, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În acel ași timp, pe pinii portului B există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului B sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port C (PC7. .PC0) – Portul C este un port bi direcțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului C, are
caracteristici atât de port de ieșire asig urând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului C există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului C sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port D (PD7. .PD0) – portul D este un port bi direcțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer- ul de ieșire al portului D, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului D există un potențial scăzut provenit de la sursa de
curent, dac ă rezistențele de polarizare sunt activate. Pinii portului D sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port E (PE7. .PE0) – portul E este un port bi direcțional de intrare / ieșire pe 8 bi ți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului E, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului E există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului E sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
43 – Port F (PF7. .PF0) – portul F este folosit pentru intrările analogice ale convertorului analog /
digital. Portul F este folosit de asemenea ca port de intrare -ieșire pe 8 biți, dacă convertorul analog /
digital nu este folosit. Pinii portului au rezistențe interne de polarizare (selectabile pentru fiecare bit
în parte). Buffer -ul de ieșire al portului F, are caracteristici atât de port de ieșire asigurând un curent
necesar, cât și de port de intrare având o impedanță mare. În același timp, pe pinii portului F există
un potențial scăzut provenit de la sursa de curent, dacă rezistențele de polarizare sunt activate. Pinii
portului F sunt de tip tri -state, atât timp cât condițiile de reset devin active, chiar dacă ceasul intern
este oprit.
– Port G (PG7. .PG0) – portul G este un port bi direcțional de intrare / ieșire pe 6 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului G, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului G există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului G sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port H (PH7. .PH0) – portul H este un port bi direcțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al por tului H, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului H există un potențial scăzut provenit de la sursa de curent, dacă rezistențele de polarizar e sunt activate. Pinii portului H sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port J (PJ7. .PJ0) – portul J este un port bidirecțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului J, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului J există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului J sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– Port K (PK7. .PK0) – portul K este folosit pentru intrările analogice ale convertorului analog /
digital. Portul K este folosit de asemenea ca port de intrare -ieșire pe 8 biți, dacă convertorul analog /
digital nu este folosit. Pinii portului au rezistențe interne de polarizare (selec tabile pentru fiecare bit
în parte). Buffer -ul de ieșire al portului K, are caracteristici atât de port de ieșire asigurând un curent
necesar, cât și de port de intrare având o impedanță mare. În același timp, pe pinii portului K există un potențial scăzut provenit de la sursa de curent, dacă rezistențele de polarizare sunt activate. Pinii
portului K sunt de tip tri -state, atât timp cât condițiile de reset devin active, chiar dacă ceasul intern
este oprit.
44 – Port L (PL7. .PL0) – portul L este un port bidir ecțional de intrare / ieșire pe 8 biți, cu rezistoare
interne de polarizare (selectabile pentru fiecare bit în parte). Buffer -ul de ieșire al portului L, are
caracteristici atât de port de ieșire asigurând un curent necesar, cât și de port de intrare având o
impedanță mare. În același timp, pe pinii portului L există un potențial scăzut provenit de la sursa de
curent, dacă rezistențele de polarizare sunt activate. Pinii portului L sunt de tip tri -state, atât timp cât
condițiile de reset devin active, chiar dacă ceasul intern este oprit.
– RESET – intrare de reset. Un nivel scăzut al potențialului acestui pin, ceva mai mare decât
nivelul impulsului minim, va genera un reset, chiar dacă ceasul este oprit. Pentru impulsurile mai mici nu se garantează că vor genera reset -ul.
– XTAL1 – intrare pentru oscilatorul amplificatorului inversor și intrare pentru circuitul de
reglare a ceasului intern.
– XTAL2 – ieșire pentru oscilatorul amplificatorului inversor.
– AVCC – este pinul de alimentare cu curent pentru portul F și convertorul analog -digital. El va
fi conectat în exterior la Vcc, chiar dacă convertorul analog -digital nu funcționează. În cazul în care
convertorul analog -digital funcționează, el va fi conectat la Vcc prin intermediul unui filtru trece -jos.
– AREF – pinul semnalului analogic de referință, pentru convertorul analog -digital.
Figura 3.2.10. ARDUINO MEGA – PINOUT DIAGRAM
45 3.3. Senzor de temperatură
Măsurarea temperaturii constituie una dintre cele mai uzuale procese de măsurare. Probabil,
cel mai simplu și mai des folosit fenomen în măsurarea temperaturii este dilatarea termică. Acesta
este principiul ce stă la baza termometrelor din sticlă cu lichid. Pentru a transforma energia termică
în semnal electric se folosesc detectori rezistivi, termoelect rici, optici și piezoelectrici.Când un senzor
(sonda) este introdus într -un obiect sau plasat pe suprafața obiectului, va exista un transfer de căldură
între sondă și obiect: senzorul se va răci sau se va încălzi. Același fenomen va apărea și în cazul
transferului de energie termică sub forma de radiație energetică în IR, senzorul va absorbi sau emite
radiație IR în funcție de temperatura corpului monitorizat.Orice senzor, indiferent de cât de mic este, va pert urba rezultatele măsurătorii și, deci, este o p roblemă majoră în a minimiza erorile introduse de
senzor și în a adopta o metodă optimă de măsurare.Există două metode de procesare a semnalului în
măsurătorile de temperatură: metoda echilibrării și metoda predictivă. În primul caz, temperatura se
va măsu ra doar în momentul în care nu mai există gradientde temperatură între senzor și obiect (au
aceeași temperatură), iar în cazul metodei predictive, punctul de echilibru nu este atins niciodată, ci
este determinat din viteza de schimbare a temperaturii senzo rului. Folosind metoda echilibrării,
timpul necesar atingerii temperaturii de echilibru poate fi de durată foarte mare (mai ales când
suprafața de contact este uscată) .
În cazul sesizării prin contact a temperaturii, cantitatea de căldură transferată va fi
proporțională cu gradientul de temperatură dintre elementul senzitiv al termometrului cu temperatura
instantanee T și obiectul a cărei temperatură este de măsurat T
1:
( )1 dQ a A T T dt= ⋅− ,
unde a este conductivitatea termic ă a mediului de transfer de căldură dintre senzor și obiect,
A este aria suprafeței de emisie a căldurii.
Căldur ă absorbită de senzorul de masă m și căldura specifică c este:
dQ m cdt= ⋅ .
Intro ducem constanta de timp termică τ T ca:
Tmc
aAτ⋅=⋅.
ecuația diferențială
( )1 a A T T dt m cdt⋅− = ⋅
va avea soluția
10Tt
T T Teτ−
= −∆ ⋅ ,
46 unde unde ΔT 0 este o constantă și reprezintă gradientul inițial de temperatură. O constantă de timp τ T
reprezintă timpul necesar ca temperatura T să atingă 63% din valoarea gradientului inițial ΔT 0.
Figura 3.3.1. Determinarea constantei de timp τ
Cu cât constanta de timp va avea o valoare mai mică cu atât senzorul va răspunde mai repede
la o modificare a temperaturii. Dacă în ecuația 10Tt
T T Teτ−
= −∆ ⋅ , t → ∞ , atunci temperatura senzorului
T va deveni e gală cu temperatura obiectului T 1, adică este nevoie de un timp ce tinde la infinit pentru
ca cele două temperaturi să devină egale. Dar , deoarece, nu avem atâta timp la dispoziție, în practică ,
se va urmări atingerea unei stări de cvasiechilibru , stare ce se poate atinge după 5 până la 10 constante
de timp termice. De exemplu la timpul t = 5τ T temperatura senzorului va diferi de cea a obiectului cu
0,7% din valoarea grad ientului de temperatură inițial ΔT 0, iar pentru t = 10τ T diferența va fi de doar
0,005% .
Un senzor de temperatură de contact tipic va fi format din următoarele părți componente:
1. Un element senzitiv – un materia l ce-și modifică propri etățile în funcție de temperatură.
Materialul trebuie să aibă căldură specifică mică, conductivitate termică ridicată,
senzitivitate mare la temperatură și o bună predictibilitate.
2. Contactele sunt fire sau p lăci (pad) conductive ce asigură interfața dintre elementul
senzitiv și circuitul electronic exterior. Contactele trebuie să aibă o conductivitate termică
și o rezistență electrică cât mai mică. În general , se folosesc și pentru susținerea senzorului.
3. Un strat protector ce separă fizic elementul senziti v de mediul exterior. Materialul
protector trebuie să aibă rezistență termică mică, să fie un bun izolator electric și să fie
impermeabil. Un senzor de temperatură de tip noncontact se aseamănă, în principiu , cu
senzorii de tip contact, excepție făcând mod ul de transfer al căldurii: la senzorii de tip
contact transferul se face prin conducție termică, în timp ce la cei de tip noncontact
transferul se face prin radiație termică.
47
Figura 3.3.2. Arhitectura unui senzor de temperatură de tip: A contact, B noncontact
Termistorii PTC
Termenul de termistor provine de la prescurtarea cuvintelor termic și rezistor. În general
denumește un senzor metal – oxid fabricat sub formă de bară, cilindru, film e subțiri sau droplets.
Termistorii se împart în două mari grupe NTC (coeficient de temperatură negativ) și PTC(coeficient de temperatură pozitiv).
În principiu, orice metal poate fi folosit ca material PTC, dar coeficientul lor de temperatură
este destul de mic. Spre deosebire de metale, coeficientul de temperatură al materialelor ceramice
este relativ mare și pe un domeniu larg de temperatură. Materialele ceramice se obține în urma
sinterizării unei substanțe ceramice policristaline, de obicei, titanat d e bariu sau o soluție solidă de
titanat de bariu și stronțiu, materiale ce devin semiconductoare la dopare.
În figura 3.3.3. este prezentată funcția de transfer a unui PTC în comparație cu funcțiile de
transfer a unui NTC și RTD .
Figura 3.3.3. Funcția de transfer a unui PTC
48 Deoarece forma curbei funcției de transfer implică o aproximare matematică destul de
avansată, fabricanții de PTC specifică de obicei termistorii prin următorul set de valori:
1. Rezistența materialului R 25 la temperatura de referi nță de 25șC;
2. Rezistența minimă R m – valoarea rezistenței la temperatura la care coeficientul de
temperatură a termistorului își schimba semnul, trece de la o valoare pozitivă la una negativă ;
3. Temperatura de tranziție T τ – temperatura la care rezist ența începe să se modificeîn mod
rapid. Temperatura tipică de tranz iție este în domeniul – 30 ÷ 160șC ;
4. Definiția standard a coeficientului de temperatură rezistiv este dată de ecuația
1 R
RTα∆= ⋅∆.
Deoarece RTC are o creștere considerabilă la creșterea temperaturii pentru un anumit domeniu
de temperatură, valoarea RTC se specifică pentru un anumit punct, x.
5. Tensiunea maximă E max – tensiunea maximă la care termistorul iși mai păstrează
proprietățile la orice temperatură .
Este important de subliniat faptul că există doi factori cheie ce influențează funcționarea unui
termistor PTC: temperatura mediului înconjurător și efectul de autoîncălzire.
Sensibilitatea termistorului față de temperatură este reflectată în caracteristica intensitate a
curentului – tensiune, figura 3.3.4.
Figura 3.3.4. Caracteristica intensitatea curentului – tensiune
49 Conform legii lui Ohm un rezistor cu un TCR apropiat de zero, va avea o caracteristică liniară.
Pantă funcției I = f (U) a unui termistor NTC este una pozitivă. O implicație a negativității RTC este
aceea că un termistor conectat la o sursă de tensiune ideală (tensiune constantă indiferent de curentul
consumat) autoîncălzirea determină reducerea rezistenței, ce va determina la rând ul ei o creștere a
curentului concretizata în creșterea temperaturii termistorului datorată efectului de autoincălzire și
așa mai departe. Dacă disiparea căldurii din termistor este limitată, autoîncălzirea poate genera o
supraîncălzire ducând la distruger ea dispozitivului.
Deoarece metalele au un TCR pozitiv, RTD -urile nu se vor supraîncălzi datorită fenomenului
de autolimitare. De exemplu, un filament dintr -o lampă cu incandescență conectat la o sursă de
tensiune ideală nu se va arde deoarece creșterea t emperaturii determină o creștere a rezistenței ce
generează la rândul ei o scădere a curent ului prin filament. Acest efect de autolimitare apare în mod
pregnant la PTC -uri. Forma funcției I = f (U) indică faptul că pe un domeniu de temperatură relativ
îngust, termistorul PTC va prezenta o rezistență negativă:
x
xVRi= − .
Aceasta generează o reacție de feedback negativ ce face din term istorul PTC să funcționeze
ca un termostat cu autoreglaj la temperatura de echilibru T 0, figura 3.3.4. Eficiența termistorilor PT C
este cu atât mai mare cu cât T 0 are valori mai mari (peste 100 șC) și scade semnificativ pentru valor i
scăzute ale temperaturii T 0. Prin natura lor termistorii PTC se folosesc la temperaturi semnificativ
mai mari decât temperat ura mediului înconjurător.
În proiectul de față am decis utilizarea unei senzor de temperatură tip termistor PTC ca în
figura de mai jos :
Figura 3.3.5. Senzor de temperatură PTC, BS 18B20
50 În interiorul carcasei de oțel avem cipul din figura 3.3.6.
Figura 3.3.6. Senzorul de temperatură DS18B20, cip
DS18B20 este un senzor de temperatur ă digital ce indică gradele Celsius cu precizie de 9 bi ți
până la 12 bi ți; comunic ă pe magistrala 1 -Wire, ceea ce definește un singur fir de date (și masa), cu
un micr ocontroler. S e poate alimenta direct din firul de date (“putere parazită”), eliminând nevoi a
unui surse de curent externe. F iecare circuit integrat are un co d de identificare unic de 64 biți, ceea
ce permite funcționarea pe aceeași magistrală 1- Wire a mai multor senzori;
Este simplu de ut ilizat cu un singur microcontroler , acesta permițând controlarea mai multor
senzori DS18B20 distribuiți într -o arie mai mare.
Acest s enzor e un produs des utilizat în proiectele de data -logging și de control a temperaturii.
Fiind un senzor senzor submersibil, etanș este ușor de folosit în aplicațiile ce utilizează apa.
Specificaț ii:
– lungime cablu: 1 m;
– carcasa o țel inoxidabil;
– dimensiune carcas ă inox (L x d): 50 x 6 mm;
– interfa ța de comunicaț ie 1-Wire;
– cod de identificare unic stocat în memoria ROM de 64 biți ;
– nu necesit ă componente exterioare;
– poate fi alimentat din magistrala de date sau separat î n intervalul: 3.0V – 5.5V;
– interval de masur ă: -55 – +125 grade Celsius;
51 – acurateț e -0.5/+0.5 î n intervalul: – 10 – +85 grade Celsius;
– rezolu ția termometrului este selectabilă de utilizator: 9 – 12 biț i;
– conve rtește temperatura într -un cuvant de 12 biți î n 750 ms (maxim).
Descriere pini:
BS18B20
(TO-92) Denumire pin Descriere pin
1 GND Masă
2 DQ Pin de date de intrare/ieșire, drenă deschisă
3 VDD Pin de alimentare
Tabel 3.3.1 . Descriere pini BS18B20
Schemă bloc
Figura 3.3.6. Schemă bloc BS18B20
Schema bloc (figura 3.3.6.) prezintă circuitele alimentate cu paraziți. Aceste circuit e "fură"
puterea ori de câte ori DQ sau pinii VDD sunt alimentați. DQ va oferi suficientă putere, atâta timp cât sunt îndeplinite cerințele specificate de sincronizare și de tensiune. Avantajele puterii parazite
sunt duble: 1) prin parazitarea pinului, nu e ste nici o sursă de aliment are locală pentru detecția
temperaturii, și 2), ROM -ul poate fi citit în absența alimentării.
Pentru ca DS18B20 să fie capabil de a efectua conversii precise de temperatură, trebuie
asigurată o suficientă putere asupra liniei DQ atunci când o conversie a temperaturii are loc. Din
moment ce curentul de funcționare al DS18B20 este de până la 1,5 mA, linia DQ nu va avea suficientă
putere datorită rezistenței de pullup ( ce trage DQ la VDD ) de 5k. Această problemă este deosebit de
acută în cazul în care mai mulți senzori sunt pe aceelași DQ și se încearcă converti rea simultan.
52 Există două modalități de a asigura că DS18B20 are curent suficient de alimentare în timpul
ciclului său de conversie activă. Primul este acela de a oferi un put ernic pullup pe linia DQ ori de câte
ori conversii de temperatură sau copii în memoria E2 au loc. Acest lucru se poate realiza prin
utilizarea unui MOSFET pentru a trage linia DQ direct la sursa de alimentare așa cum se arată în
figura 3.3.7. Linia DQ treb uie să fie trecut ă la un pull-up puternic în termen de 10 µs maxim după
emiterea oricărui protocol care implică copierea pe memoria E2 sau inițiază conversii de temperatură. Când se utilizează modul de alimentare parazit, pin ul VDD trebuie să fie legat la masă.
Figura 3.3.7. Schema de al imentare a DS18B20 folosind pullup pe timpul c onversiei de temperatură
O altă metodă de a furniza curent către DS18B20 este prin utilizarea unei surse de alimentare
externă legat la pinul VDD, așa cum se arată în figura 3 .3.8. Avantajul este că linia DQ nu mai
necesită un pullup puternic, iar masterul de magistrală nu mai trebuie forțat să țină linia la VDD în
timpul conversii de temperatură. Acest lucru permite traficul de alte date pe magistrala 1 -Wire în
perioada de conversie. În plus, pot fi introduse oricâți senzori DS18B20 pe magistrala 1-Wire, iar
dacă folosesc alimentare externă, aceștia pot efect ua simulta n toate conversii le de temperatură prin
emiterea comenzii Skip ROM și , apoi, emite comanda Convert T. De reținut este faptul că atâta timp
cât sursa de ali mentare externă este activă, pin ul GND nu poate fi lăsat în aer .
Figura 3.3.8. Schema de alimentare folosind sursă ex ternă de alimentare
53 Folosirea puterii parazite nu este r ecomandată peste 100°C, din moment ce nu poate fi în
măsură să susțină comunicațiile având în vedere curenții de scurgere mai mari ai DS18B20 la aceste
temperaturi. Pe ntru aplicațiile în care astfel de temperaturi sunt probabil, se recomandă ca VDD să
fie aplicat la DS18B20.
Pentru situațiile în care masterul de magistrală nu știe dacă DS18B20 pe magistrală are putere
parazită sau de alimentare cu VDD extern, se face o dispoziție pentru DS18B20 de a semnala schema
de alimentare utilizată. Masterul de magistrală poate determina dacă sunt mai mulți senzori legați de
aceeași magistrală, ceea ce necesită un pullup puternic prin trimiterea unui protocol Skip ROM , apoi
emite comanda de citire a sursei de alimentare . După ce această comandă este trimisă , masterul emite
înapoi intervalele de timp citite . DS18B20 va trimite înapoi "0" de pe magistrala 1 -Wire în cazul în
care este alimentat de paraziți; acesta va trimite înapoi un "1" în cazul în care este alimentat de la
pinul VDD. În cazu l în care masterul primește un "0", acesta știe că trebuie să furnizeze un pullup
puternic pe linia de DQ în t impul conversi ei de temperatură.
54 3.4. Senzor de nivel
Senzorii nivelului de lichid sunt utilizați , adesea, atunci cand un volum de lichid trebuie s ă fie
măsurat și controlat; există trei tipuri de senzori ai nivelului de lichid: senzori de plutire, optici ș i
capacitivi, î n func ție de tipul de lichid care este m ăsurat.
La mă surare continuă se detecteaz ă înalțimea de umplere f ără trepte, care este transformat ă în
semnal electric ș i afișată . Pentru prelucrarea î n continuare folosesc, î n func ție de execu ția aparatelor,
ieșiri de comutare liber programabile sau ie șiri analogice.
Exist ă mai multe tipuri de senzori de nivel :
• Detectarea nivelului la materiale solide : senzori cu punct vibrant, senzori cu palete rotative;
• Detectarea nivelului la lichide : senzori cu plutitor magnetic sau mec anic, pneumatic, conductive;
• Detectarea niv elului ș i monitorizarea continu ă: senzor de nivel ultrasonic, optic, magnetorezistiv.
Figura 3.4.1. Tipuri de senzori de nivel
În proiectul de față vom utiliza un sensor de nivel flotant cu comutator . Acest tip de senzor
este des utilizat în momentul în care se știe un ni vel maxim de lichid la care se d orește să se ajungă.
Figura 3.4.2. Senzor de nivel flotant cu comutator
55 Acest tip de senzor cu comutator prezint ă 2 fire : unul se va lega la +5V ș i celălalt la pinul de
de intrare al microcontrolerului. În momentul în care comutatorul se închide, tensiunea de 5V cu care
este alimentat se duce la microcontroler, dându -i un semnal “high”, de nivel digital “1”, astfel ș tiindu –
se că s -a ajuns la nivelu l dorit de lichid.
În figura 3.4.3. este prezentat modul de funcționare al unui senzor de nivel florant:
Figura 3.4.3. Mod de funcționare senzor de nivel florant
Senzorul de nivel flotant se găsește sub diferite forme și mărimi. Senzorii utilizați în proiect
au următoarele dimensiuni :
Figura 3.4.4. Dimensiuni senzor de nivel flotant
56 Caracteristici:
– Realizat din material de înaltă calitate
– Dimensiuni mici, dar rezistent
– Acuratețe mare, performanță și stabilitate mari
– Simte nivelul și în chiuvetă
– Un comutator plutitor proiectat în unghi drept, care se poate adapta la mediul aspru.
Specificații:
– Contact de tip Reed
– Sarcin ă maximă : 50W
– Tensiunea maxim ă comutată: 250V DC
– Tensiunea minim ă: 100V DC
– Curentul maxim de comutare: 1 A
– Rezisten ța maximă de cont act: 0.4Ω
– Material: polipropilenă
– Gama de temperaturi: -20 – +80°C
– Greutate: 11g.
Se recomandă utilizarea pentru comanda unui releu intermediar, care să lucreze la tensiune
redusă 5-24V (pentru a mări puterea comutată , dar, și pentru a evita pericolul de electrocutare).
57 3.5. Comanda cu relee
Releul este un aparat de protecț ie, cu acț iune automată, care la o anumită valoare a
parametrului de intrare (mărimea supravegheată) produce modificarea în salt a valorii parametrului
de ieșire. Dintre aceste mărimi cel puți n una este de natură electrică. Dacă mărimea de ieșire este de
natură electrică, atunci aparatul este un releu indirect.
În cazul general, un releu are trei elemente funcț ionale:
– elementul de recep ție (sau elementul sensibil);
– elementul comparator (elementul de măsură și comparare);
– elementul de execu ție.
Figura 3.5.1. Schemă bloc releu
Elementul de recep ție sesizează modificarea mărimii de intrare (de exemplu , a curentului sau
a tensiunii) la care releul reacț ionează și, într -o formă oarecare, transm ite impulsul primit elementului
intermediar. Elementul intermediar măsoară mărimea primită, o compară cu valoarea stabilită prin reglaj și, dacă aceasta a atins valoarea fixată, transmite acț iunea elementului de execu ție. Elementul
de execu ție, recep ționând impulsul transmis, produce o schimbare brus că a mărimii de ieșire. Astfel,
elementul de execu ție îndeplinește lucrul mecanic specific tipului respectiv de releu (de exemplu,
închide rea circuitului de declanșare).
Clasificarea releelor :
a) După principiul de func ționare a elementului de recep ție (elementul sensibil ):
– relee electromagnetice;
– relee magnetoelectrice;
– relee electrodinamice;
– relee de induc ție;
– relee magnetice;
– relee elctro termice;
– relee electronice.
58 b) După principiul de func ționare a elementelor executoare:
– relee cu contacte;
– relee fară contacte (relee magnetice și electronice).
c) După natura mărimii de intrare:
– relee de curent;
– relee de tensiune;
– relee de putere;
– relee de frecven ță;
– relee de timp.
d) După felul cum este realizată ac țiunea faț ă de o anumită valoare a mărimii de intrare:
– relee maximale. Actionează la apari ția sau creșterea mărim ii date peste o anumită valoare maximă;
– relee minimale. A cționează la dispari ția sau scăderea mărimii date sub valoare limită;
– relee direcț ionale. Ac ționează la schimbarea semnului mărimii date;
– relee diferen țiale. Acț ionează când există o diferen ță între valorile unei mărimi.
e) După modul de montare în cir cuitul principal :
– relee secundare, acelea ce sunt conectate prin intermediul transformatoarelor de măsură în circuitul
principal;
– relee primare, acelea ce sunt conectate direct în circuitul principal;
– relee intermediare, acelea ce sunt acț ionate prin intermediul e lementelor executoare ale altor relee.
f) După modul cum ac ționează asupra aparatului principal al schemei:
– relee directe, la care elementul de execu ție acț ionează direct asupra aparatului principal al schemei;
– relee indirecte, la care el ementul de execu ție acț ionează indirect asupra aparatului principal al
schemei (prin închiderea unor contacte din circuitul bobine i de conectare și deconectare a aparatului
principal).
59 În proi ect voi utiliza un modul de releu ce va fi comandat la tensiunea de 5V. Cu acesta voi
realiza comanda de completare apă ce se va face cu o pompă de apă alimentată la rețea. Releul este
configurat ca fiind, inițial, normal închis, iar în momentul în care va fi alimentat cu 5V va comuta,
închinzând contactul pentru pompa de apă.
Modul de releu arată ca în figura 3.5.2.
Figura 3.5.2. Modul releu 5V
Modulul conține un releu electromecanic și permite comanda unui dispozitiv electric, prin
intermediul unui port digital tip Arduino.
Tensiunea de alimentare: 5V
Curentul consumat: 1mA idle, 30mA pentru releu acționat.
Modulul se poate alimenta direct din pinul de 5V de la Arduino.
Modulul releu Arduino 5V este compatibil cu toate plăcile compatibile Arduino sau alte
circuite electron ice similare.
Circuitul ce descrie funcționarea modulului de releu este prezentată în figura 3.5.3.
Figur a 3.5.3. Schemă electrică modul releu
60 Schema conține :
– 2 diode LED, una pentru semnalizare alimentare optocuplor si una care semnalizează
alimentarea bobinei;
– Un optocuplor ce izolează partea de comandă provenită de la microcontroler de partea de
execuție cu releu, acesta este alimentat de cei 5V proveniți de la microcontroler ;
– Un jumper care poate fi folosit, opțional, în momentul în care nu avem sursă de alimentare de 5V pentru releu și va primii alimentare prin comanda de 5V de la microcontroler;
– O rezistență de 1K de limitare a curentului pe ntru optocuplor, acesta având nevoie de un
curent maxim de alimentare de 50mA ;
– O rezistență de 510Ω de limitarea a curentului prin baza tranzistorului 2N5551.
Releul este de tip SPDT ( Single Pole Double Throw ) cu următoarea funcționare :
Figura 3.5.4. Funcționare releu SPDT
Releul este normal închis (NC), iar la alimentarea bobinei cu 5V trece în starea normal deschis
(NO).
Specificații :
Sensibilitatea
bobinei Tensiune
nominală
(VDC) Curent
nominal
(mA) Rezistența
bobinei
(Ω) ± 10% Putere
consumată
(W) Tensiune
de pull
in
(VDC) Tensiune
drop out
(VDC) Tensiune
maximă
admisă
SRD
(Sensibilitate
mare) 5 71.4 70 până la
0.36W maxim
75% minim
10% 120%
SRD
(Standard) 5 89.3 55 până la
0.45W maxim
75% minim
10% 110%
Tabel 3.5.1. Specificații releu SRD 05
61 3.6. Sincronizare cu rețea
Blocul de sincronizare cu rețeaua presupune un invertor de rețea care se sincronizează cu
frecvența de la rețea cu scopul de a da comandă triacului, care la rândul său va comanda alimentarea
de la rețea a heaterului.
Pentru generarea comenzilor de reglare în fază se va utiliza o întrerupere externă, prin care se
preia trecerea prin 0 a semnalului alternativ sinusoidal de la rețea și un port prin care s e trimit
impulsuri de comandă.
O schemă bloc a unui modul de sincronizare cu rețeaua este prezentat în figura 3.6.1.:
Figura 3.6.1. Schemă bloc sincronizare cu rețeaua
Circuitul este compus dintr –un bloc de sincronizare, un detector de nul, un generator de
rampă, un comparator, un monastabil, un bloc logic și două etaje de ieșire. Alimentarea circuitului se
face de la o sursă stabilizată de tensiune +V de 12V și trebuie să asigure un curent de sarcină de
100mA. De asemeni, pentru funcționarea circuitului, este nevoie de o sursă de curent neg ativă -I de
15…25 mA aplicată î ntre pinii 3 și 13. Valoarea curentului –I este dată de valoarea sursei –V și
rezistența R3 , tensiunea –V fiind mai mare de 10 V.
Tensiunea de sincroni zare este furnizată, de regulă, de rețeaua de curent alternativ (220V, 50
Hz), dar există situații când această tensiune diferă de tensiunea rețelei.
62 Blocul de sincronizare și detectorul de nul au rolul de a sesiza trecerile prin zero ale
tensiunii de sincronizare externe și, împreună cu grupul format din rezistențele R1, R2, limitează
semnalul la terminalul 9 la valoarea ± 0.7V (corespunzătoare tensiunilor V BE1, VBE2 ale tranzistoarelor
interne T1, respectiv T2 ). Divizorul rezistiv format din R1 și R2 are rolul de a fixa durata impulsului
de nul dT și de a controla viteza de variație a semnalului de sincronizare la trecerile prin z ero. Această
viteză de variație trebuie să asigure la terminalul 16 un impuls de tensiune de 5V și durată Dt. În caz
contrar, de exemplu, dacă viteza de variație este prea rapidă, impulsul de nul este scurt și nu atinge
valoarea de 5 V, condensatorul C3 nu mai poate să se încarce, iar dacă viteza de variație este prea
lentă , din semiperioada T /2 corespunzătoare dinamicii maxime a unghiului de conducție de 180°, nu
se poate folosi decăt durata (T/2) – dT/2, reducând astfel dinamica unghiului de conducție. Limitarea
curentului absorbit de circuit prin pinul 9 de la semnalul de sincronizare este făcută de rezistența R1.
La trecerile prin zero ale tensiunii de sincronizare, detectorul de nul furnizează impulsuri de
sincronizare de 50- 100µs (c e se pot vizualiza la pinul 16 ) și semnale de blocare – selectare pentru
etajele de ieși re.
Generatorul de rampă încarc ă rapid condensatorul C2 la +8V la fiecare i mpuls de nul, după
care acesta se descarcă aproximativ liniar prin R5 și P1 către tensiunea – 8V în perioada dintre două
impulsuri de sincronizare. Semireglabilul P1 a fost intro dus pentru ajustarea timpului de descărcare
t = C2(R5+kP1) a condensatorului C2, în vederea obținerii unei forme corecte a tensiunii triunghiulare
de pe condensatorul C2, formă ce poate fi afectată, de exempl u, de instabilitatea termică a diodelor
din com ponența generatorului de rampă. Concomitent cu încărcarea condensatorului C2, se încarcă
și condensatorul C3 conectat între pinul 2 și +V, stare echivale ntă cu activarea monostabilului
( așteptarea momentului de declanșare a impulsului de aprindere ).
Com paratorul , prin cele două intrări ale sale, permite setarea sau inhibarea monostabilului.
El va compara cele două aplicate la intrările sale, tensiunea liniar variabilă de pe C2 de la intrarea
neinversoare cu tensiunea de comandă și reglaj al unghiului de conduc ție de la intrarea inversoare,
pinul 8. Atât timp cât tensiunea v 7>V 8 (rampa de tensiune este descrescătoare), comparatorul nu
basculează și monostabilul rămâne în starea de așteptare (corespunzătoare unghiului de aprindere α).
Când tensiunea v 7 = V8, comparatorul basculează, modificând starea monostabilului și determinând
descărcarea condensatorului C3. Inhibarea comparatorului se poate realiza prin aplicarea la pinul 6 a tensiunii +V.
Monostabilul și componentele externe C3, P2 și R6 au rolul de a stabili durata impulsurilor
de aprindere. Funcționarea monostabilului este controlată de generatorul de rampă și comparator.
Declanșarea monostabilului este realizată de către impulsurile de nul, la fiecare tr ecere prin zero a
tensiunii de sincronizare. B locarea monostabilului coincide cu blocarea comparatorului, care are loc
atunci când cele două tensiuni de pe intrările sale sunt egale. În aceste condiții, pinul 2 este pus la
63 masă și, cum C3 este încărcat și nu acceptă un salt brusc de tensiune, face ca la pinul 11 să avem un
salt negativ de tensiune. Prezența semireglabilului P2 în circuitul de d escărcare al condensatorului
C3, are rolul de a varia tensiunea de la pinul 11, controlând în acest fel timpul de descărcare al
condensatorului, tp = (R6+P2)C3, care determină durata impulsului de aprindere de la ieșirea
circuitului integrat.
Blocul logic și etajele de ieșire formează impulsuri rectangulare de durată tp și le furnizează
la cele două ieșiri ale integratului, pinul 14, respectiv pinul 10. Se obțin astfel, la pinul 14, impulsuri
de aprindere sincronizate cu alternanța pozitivă, iar la pinul 10 impulsuri de aprindere sincronizate cu
alternanța negativă.
Deoarece ieșirile sunt de tip “colector în gol” pentru apariția impulsurilor este necesară
conectarea rezistențelor R7 și R8 ca în figura 3.6.1. la tensiunea de alimentare a integratului. În ceea
ce privește modul de utilizare al circuitului integrat, putem spune că acesta poate să comande direct
circuitul poartă – catod al unui tiristor, dar, de cele mai multe ori, pentru o funcționare eficentă, se
impune să se realizeze o separare galvanică a acestuia de tiristor .
Izolarea galvanică implică o separare a circuitului de comandă de poarta tiristorului, cât și a
circuitului de sincronizare, izolarea realizându -se de cele mai multe ori cu ajutorul transformatoarelor
de impulsuri sau optocuploare. În final, menționăm că pentru com anda tiristoarelor (triacurilor ),
există o gamă destul de mare de circuite de comandă specializat e, dar bineînțeles, folosirea lor în
aplicații rămâne la latitudinea fiecărui utilizator .
Figura 3.6.1. Forme de undă modul sincronizare cu rețeaua
64 3.7. Afișor LCD 16×2
LCD -ul este un dispozitiv de ieșire care primește informație de la microcontroller. Afișajul
este limitat doar la reprezentarea textului monocrom și este întâlnit în mod frecvent la copiatoare, fax, imprimante și alte dispozitive de uz comun. LCD -ul utiliz at este 1602, acesta este un afișaj de 16X2
caractere (16 coloane și 2 linii). Conține o memorie DDRAM cu 80×8 biți pentru digiți, o memorie CGROM, o memorie CGRAM.
Memoria DDRAM este memoria pentru afișare. Înregistrările în această memorie vor putea fi
vizibile pe ecran. Astfel, la înregistrarea valorii 0x31 la adresa 0x00, se va genera apariția pe ecran a caracterului „1”.
Memoria DDRAM este cu mult mai mare decât regiunea vizibilă a afișorului. Ca regulă,
memoria DDRAM conține 80 de locații, a căte 40 pentru fiecare linie. Afișarea la ecran se face după
principiul ferestrei mobile, și ca urmare, pentru afișorul 16×2 regiunea vizibilă va cuprinde câte 16
de adrese, din fiecare rând, păstrând același deplasament pentru fiecare rând.
Afișorul poate fi c onectat în două moduri, pe 8 biți și pe 4 biți ai liniei de date. În modul pe
8 biți, transferul de date este mai simplu (nu este nevoie de a înregistra tetradele consecutiv), în cel de 4 biți tetradele se vor trimite de 2 ori.
Schem ă bloc LCD
Figura 3.7.1. Schemă bloc LCD
65 Pinii LCD -ului
Sunt în număr de 16 și au următoarea poziționare pe modulul LCD -ului:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Semnificația pinilor:
Nr. Pin Simbol Funcția
1 VSS Masa modulului
2 VDD Alimentarea modulului la +5V
3 V0 Pin pentru setarea contrastului
4 RS Register Select;
RS = 0… Registru de instrucțiuni;
Rs = 1… Registru de date
5 R/W Read/Write; R/W = 1… Citește date;
R/W = 0… Scrie date;
6 EN Registru pentu Enable.
7 DB0
Magistrala de adrese bidirecțională;
Transferul de data este efectuat o data prin DB0~DB7, în cazul
datelor de interfațare pe 8 biți; și de două ori, prin DB0~DB7, în
cazul datelor de interfațare pe 4 biți.
Primii 4 biți sunt MSB, iar următorii 4 biți sunt LSB
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7
15 LED –(K) Alimentarea pentru Backlight 16 LED +(A)
Tabel 3.7.1. Semnificație pini LCD 16×2
Pentru a interfața LCD -ul cu modulul de dezvoltare s -au utilizat pinii 2,3,4,5,6,7,8,9,10,11 de
la microcontroller. La acești pini s -a legat magistrala de adrese a LCD -ului (DB0~DB7). Prin
intermediul acestor pini se vor efectua transferurile de date și co menzile de la microcontroller către
LCD.
În continuare pentru a alimenta modulul LCD -ului s -a tensiunea furnizată de sursa de
alimentare de pe pcb. Pentru a conecta pinul 6 al modulului LCD -ului (registrul de Enable) s -a utilizat
pinul 10 al microcontroll er-ului. Pinul 6 al LCD -ului configurat, software, corespunzător va putea
pune registrul Enable în ON respectiv în OFF.
Pentru a conecta pinul 4 al modulului LCD -ului (registrul RS) s -a utilizat pinul 11 de la
microcontroller. Pinul 4 al LCD -ului configur at, software, corespunzător va permite LCD -ului fie
primirea comenzilor, fie primirea datelor de la microcontroller.
Pinul 5 al modulului LCD -ului (registrul R/W) a fost legat la GND (modul Write).
Pinul 3 al modulului LCD -ului reprezintă pinul pentru setarea contrastului (0V contrast
maxim, 5V contrast minim). Acest pin va fi conectat la masă printr -un potentiometru de 10 K.
66 Tabelul pentru conectarea pinilor plăcii de dezvoltare și pinilor modulului LCD -ului:
Nr. Pin
LCD Semnificație
PIN LCD Nr. Pin
microcontroller Semnificație
PIN
microcontroller
1 VSS – GND
2 VDD – +5V
3 V0 – GND
4 RS 11 D7
5 R/W GND GND
6 EN 10 D8
7 DB0 9 –
8 DB1 8 –
9 DB2 7 –
10 DB3 6 –
11 DB4 5 D9
12 DB5 4 D10
13 DB6 3 D11
14 DB7 2 D12
15 LED –(K) – GND
16 LED +(A) – +5V
Tabel 3.7.2. Tabel pentru conectarea pinilor LCD la pinii ARDUINO MEGA
Schema electronică de conectarea cu modulul LCD
Figura 3.7.2. Schemă conectare LCD
67 Programarea LCD -ului
Pentru a va fi mai ușoara interfațarea unui modul LCD a fost scrisă o mică librărie de funcții
(API) pe care le pot folosi în dezvoltarea proiectului. Funcțiile pot fi folosite ca atare sau modificate ca să îndeplinească necesitățile proiectului.
Programarea folosind modul pe 8 linii de date și controlul pinilor RS si E.
În programul principal comenzile care sunt necesare pentru controlul LCD -ului sunt
urmatoarele:
– Includerea librăriei LiquidCrystal în program
o #include <LiquidCrystal.h>
– Inițializarea librăriei cu numarul pinilor care se folosesc pentru interfațare
o LiquidCrystal lcd(11, 10, 9, 8, 7, 6, 5, 4, 3, 2); Initializare modul LCD trebuie apelata inainte
de a se face orice operatie cu LCD -ul. Inițializarea este făcută considerând o interfațare pe 8 fire.
– Setarea numărului de coloane și rânduri
o lcd.begin(16, 2); Declararea numărului de linii si coloane
– Plasarea cursorului la o anumită coordonată
o lcd.setCursor(16, 0); Plasarea cursorului la coloana 16 și linia 0
– Curățare a ecranului
o lcd.clear(); Curățarea afișorului
– Pentru afișare se folosesc comenzile
o lcd.print(thisChar); Afișare conținutul variabilei “thisChar” acolo unde este setat cursorul.
o LCD.WRITE("HELLO"); Trimite date către LCD pentru afișare
68 Capito lul 4. Proiectare hardware microsistem de monitorizare
ecosistem acvariu
În lucrarea de față mi -am propus realizarea unui microsistem automatizat ce are rolul de
întreținere a unui mediu acvatic (acvariu). În acest scop, ne -am propus următoarea schemă bloc :
Unitatea centr ală
Arduino Mega 2560
Senzori nivel
apăSenzor
temperatur ăComandă heaterComandă relee :
– completare apăTransformator
Redresor
Stabilizator
Sursă de alimentare izolată
galvanic
Sursă de alimentare
neizolată galvanic
12V DC
Sincronizare cu rețeauaBloc izolare galvanică
comenzi+5V DC
AC
220Vac 50Hz
HEATER5V uC 5V uCBloc afi șare
Figura 4.1. Schemă bloc sistem automatizat pentru acvariu
În lucrarea de față mi -am propus proiectarea unei surse de alimentare continue care să
furnizeze la ieșire tensiunea de 5V pentru alimentarea releelor și a circuitelor integrate, precum
microcontrolerul, optocuploare și o tensiune de 12V necesară în comanda heaterului.
Sistemul automatizat propus trebuie să realizeze următoarele cerin țe:
– Să poată comanda un încălzitor alimenatat de la rețea
– Să asigure o izolare galvanică între partea de comandă a heaterului și logica de decizie și
control
– Să asigure o alime ntare de 5V a circuitelor integrate
– Să citească și să interpreteze datele de la senzori pentru a putea da comenziile necesare.
69 Sursa de alimentare neizolat ă galvanic are rolul de a furniza energia necesară circuitelor de
comandă ale heaterului și circuitelor de sincronizare rețea, a fost aleasă proiectarea unui circuit
neizolat galvanic față de rețeaua de 230V deoarece comanda heaterului se face cu ajutorul unui triac
a cărui comandă se face față de nulul rețelei de alimentare, iar circuitul de sincronizare rețea are
nevoie chiar de faza rețelei pentru a furniza informațiile despre trecerile prin zero ale rețelei. Acest
bloc a fost proiectat pe ntru a furniza o tensiune de 12Vcc ce poate furniza un curent de 100mA.
Sursa de alimentare izolată ga lvanic se alimen tează direct de la rețeaua de 22 0Vca pe care
o coboară prin intermediul unui transformator de rețea care are rolul de a asigura și izolare galvanică
între înfășurări , apoi prin intermedi ul unei punți redresoare și a unui stabilizator liniar de tip serie să
furnizeze tensiunea de 5Vcc necesară funcționării corecte microcontrolerului și elementelor conectate
în jurul lui.
Blocul de comandă a heaterului are rolul ca pe baza comenzilor date de microcontroler să
furnizeze tensiunea și curentul necesar deschiderii corecte a triacului ce va comanda transformatorul Filtru EMI (Filtru de perturbații electromagnetice) ce are rolul de a elimina componentele parazite
introduse în rețea în urma tranzițiilor de comutație la comanda comutatorului electronic. Inexistența acestui filtru ar face ca paraziții rezultați, să afecteze funcționarea altor aparate conectate la rețea.
Blocul de sincronizare rețea este folosit p entru funcționarea corectă a comenzii în fază
deoarece este necesară cunoașterea fiecărui început de semiperioadă pentru a ști exact momentul de
comandă a comutatorului electronic și de a asigura posibilitatea de realiza un control liniar al încălzirii. El se bazează pe informațiile provenite de la faza rețel ei, pe care le adaptează, ca nivel de
tensiune, ș i le va furniza microcontrolerului care va calcula întârzierea după care se va da comanda
triacului.
Blocul transmisie/recepție comenzi izolate galvanic este necesar deoarece acest
microsistem nu va fi tota l independent și va comunica cu alte entități care la contactul direct cu rețeaua
pot avea funcționarea afectată, este necesar ca liniile de legătură dintre circuitele neizolate și unitatea centrală să fie izolate galvanic. De aceea comanda triacului va veni de la microcontroler pri ntr-un
optocuplor, de asemenea ș i microcontrolerul va primi comenzile de sincronizare de la comparator tot
printr -un optocuplor.
Blocul unitate centrală este realizat cu ajutorul unui controler ARDUINO MEGA 2560 care
este pilota t de un oscilator cu quarț cu frecvența de 16 MHz. Acesta are rolul de a prelua datele
provenite de la senzorul de temperatură , senzorii de nivel , de la blocul sincronizare rețea, de a le
prelucra și în funcție de deciziile luate de a genera comenzi către blocul comandă a heaterului, către
releu . Programul după care va lucra microcontrolerul va fi introdus în acesta prin intermediul
conectorului JTAG .
70 Senzorul de temperatură – pentru a prelua informațiile de temperatură a fost ales un senzor
specializat care alimentat de modul va putea face conversia informației de temperatură in informație
digitală serială de tip I2C .
Senzorii de nivel sunt niș te comutatoare cu plutitor, folosiț i foarte des în industria apei.
71 4.1. Proiectare senzori
4.1.1. Proiectare senzor i de nivel
În capitoulul anterior am stabilit că vom utiliza doi senzori de nivel flotanți pentru a stabilii
valorile de minim și maxim de apă ce se doresc în acvariu.
Astfel, în urma, documentării, am construit o schemă el ectrică care să corespundă funcț ionării
acestor doi senzori.
Figura 4.1.1.1. Schemă electrică senzori nivel
Cei doi senzori de nivel flotanți sunt conectați la pinul de 5V ai microcontrolerului, iar în
momentul în care există contact închis dau un nivel logic de “1” pe intr ările de date ale
microcontrolerului.
După cum se observă în schemă s -au folosit și două rezistențe de pull -down.
Senzorii sunt conectați la pinii de 5V ai microcontrolerului și la un pin de date fiecare.
Deoarece pinii de date la care sunt co nectați senzorii sunt intrări, acesția nu trebuie lăsați neconectați
atunci când contactul este deschis, astfel rezistențele de pull -down conectate între pinii de date și
masă au rolul de a da pe pinii de intrare un potențial bine definit, practiv acela de 0V, echivalent cu
nivelul “0” logic.
Funcționare:
– Senzorul LOW define ște un nivel minim de apă în acvariu, iar în momentul în care contactul
acestuia este închis se va da comandă de completare cu apă a acvariului ;
– Senzorul HIGH definește un nivel maxim de apă ce se dorește în acvariu. În momentul în care
contactul acestuia este închis se dă comandă de completare cu apă până când contactul se
deschide;
– În momentul în care ambii senzorii de nivel au contactele închise se dă comandă de completare
cu apă ;
72 – Dacă senzorul LOW eare contactul deschis (adică nivelul apei a trecut de el) și senzorul HIGH
are contactul închis se dă comandă de completare apă până când acest contact se deschide.
73 4.1.2. Proiectare senzor de temperatură
În capitolul anterior am stabilit faptul că vom utiliza senzorul de temperatura DS18B20.
Acest senzor de temperatură are rolul de a indica temperatura în timp real din incinta acvariul,
dar are și rol de comandă în momentul în care temperatu ra din acvariu este mai mică decât cea dorită.
Senzorul de temperatură este realizat cu ajutorul circuitului specializat DS18B20 ș i prezentat
în figura 4.1.2.1, acest senzor pentru o funcționare corectă are nevoie de o alimentare de +5V . Cu
ajutorul rezis torului R1 este stabilită adresa la care răspunde circuitul când este adresat pentru a
comunica cu microcontrolerul. Acest senzor are o rezoluție pentru conversia anal og digitală a
temperaturii de 12 biți, o rezoluție de măsurare a temperaturii de 0.5 grade, o durată de conversie de
750m s, maxim, pentru fiecare măsurare, o gamă de măsură intre -55 și +125 grade celsius cu o
tensiune de alimentare cu valori cuprinse între 3 – 5.5Vcc ș i un curent absorbit de maxim 1.5mA.
Figura 4.1.2.1. Schemă electrică senzor temperatură
74 4.2. Proiectare sursă de alimentare
4.2.1. Proiectare sursă de alimentare izolată galvanic de 5V
Sursa izolată galvanic de 5V este folosită pentru alimentarea cu 5V a circuitelor integrate,
precum placa de dezvoltare ARDUINO MEGA2560, senz ori, afișorul LCD și modulul de comandă
cu relee.
În figura 4.2.1.1. este prezentată schema electronică a sursei de alimentare de 5v realizata cu
o punte de diode și un stabilizator de tip LM7805.
Figura 4.2.1.1. Schemă electronică sursă de alimentare 5V
Sursa de alimentare este realizată cu ajutorul unui transformator încapsulat care are rolul de a
realiza separare galvanică între rețea si alimentarea unității centrale și de a reduce tensiunea rețelei la o valoarea de 12V ce sunt, apoi, redresați prin puntea de diode, la stabilizator LM7805 ajung 11.4V,
la ieșirea stabilizatorului ajungând 5V convenabili pentru obținerea tensiunii de alimentare a unității
centrale.
Partea de redresare este construită cu ajutoru l a patru diode 1N4007, iar C 6 și C5 filtrează
tensiunea obținută și , anume 12Vcc cu posibilitatea de a furniza un curent de maxim 1A. Deoarece
curentul maxim absorbit de unitatea centrală nu depășește valoarea de 0,4A am optat pentru un
stabilizator linia r serie de tipul LM78S05 ce poate furniza un curent maxim de 2A deci acoperitor
pentru funcționarea corectă a montajului , iar puterea maximă disipată va fi 2,8W deci nu este nevoie
de radiator sau dacă îl vom pune va fi unul cu o suprafața mica pană în 2cm pătrați. Pentru filtrarea
tensiunii obținute de la stabilizatorul de 5Vcc s -au folosit C7 și C8.
75 Circuitul integrat LM7805
Este un stabilizator de tensiune pozitivă cu mai multe variante de prezentare, ceea ce îl face
folositor într -o gamă largă de aplicații. Fiecare tip folosește o limitare internă de curent, o stopare
termică și o arie de lucru sigură, ceea ce îl face, teoretic, indestructibil. Dacă îi este asigurat un regim
de lucru adecvat poate livra un curent de ieșire de peste 1A. De asemenea, cu ajutorul unor
componente externe, se pot obține tensiuni și curenți reglabili.
Schema inter nă a circuitului integrat LM7805 este următoarea:
Figura 4.2.1.2. Structură internă LM7805
Caracteristici:
– curent de ieșire: peste 1A;
– tensiuni de ieșire: 5;
– protecție la supraîncărcare termică;
– protecție la scurt circuit;
– protecție cu tranzistor pe ieșire.
Pentru a funcționa corect sau pentru a avea o tensiune stabilizată la 5V la ieșire (pinul 3),
tensiunea de intrare pe pinul 1 la LM7805 ar trebui să fie între 7V și 35V. În funcție de curentul
consumat de montaj vom folosi tipul corespunzător de stabilizat or de tensiune LM7805. Sunt diferite
versiuni de LM7805. Pentru consum de curent de până la un 1A am folosit versiunea în capsulă TO-220 cu posibilitatea de răci re adițională.Condensatoarele C6 și C7 electrolitice asigură filtrarea
tensiunii iar condensat oarele C5, C8 ceramice asigură tensiunea pentru eventualele vârfuri de curent
și are si rolul de filtrare a zgomotului.
76 4.2.2. Proiectare sursă de alimentare neizolată galvanic de 12V
Acest bloc are rolul de a sigura tensiunea de 12Vcc necesară funcți onarii celor două blocuri
comandă a heaterului ș i sincronizare a cu rețeaua.
Schema electrică a susei de alimentare neizolată galvanic și este realizată cu ajuto rul
componentelor din figura 4.2.2.1., unde R1 și C1 au rolul de a coborî tensiunea de la rețea la o valoare
apropriată de ce a de alimentare a celor două blocuri.
Diodele D3 realizează o redresare monoalternanță, pe cea pozitivă , iar dioda zener are rol de
referință de 12V, după ea se mai realizează o filtrare de vârfuri ce pot apărea pe tens iunea de 12V.
Figura 4.2.2.1. Schemă electronică sursă alimentare 12V
Partea d e filtrare este realizata de C2 ce asigur ă curentul nece sar la comanda triacului, adica
cele 4 X 30μs cu un curent de aproximativ 70mA la fiecare 10ms.
Partea de redresoare – stabilizare este realizata de diodele D1, D2, D3 care poate asigura
montajului un curent de pana la 100mA.
Condesatoarele C3 și C4 asigura netezirea tensiunii de alimentare in momentul consumurilor
mari de curent pe durate scurte de timp .
77 4.3. Proiectare bloc sincronizare în fază cu rețeaua
Sincronizarea cu rețeaua este folosită pentru a știi în fiecare moment trecerea prin “0” a
tensiunii de la re țea, această informație fiindu -mi necesară în comanda triacului ce va comanda la
rândul său alim entarea heaterului.
Schema necesară sincronizării cu rețeaua este prezentată în figura 4.3.1.:
Figura 4.3.1. Sche mă electronică sincronizare î n fază cu rețeaua
Folosim cele trei rezistențe de 220k în scopul de a scădea curentul, acesta ajungând la valoarea
de
2200.33220 220 220VI mAkkk= =++.
Deoarece tensiunea de la reț ea este alternativa o vom compara cu referinta. Pentru a face
posibil acest lucru tensiunea de la retea trebuie coborata sub nivelul tensiunii de alimentare a compar atorului pentru a nu- l distruge. Astfel R 8, R9, R10 au rolul de a limita curentul prin diodele
D1 si D2 la o valoare de 20 mA in momentul cand tensiunea de la retea atinge valorile maxime pe
ambele alternante U = I
dmax • (R8 +R9+R10) de unde rezulta valoarea Rserie de 700KΩ , iar pe intrarea
comparatorului vom avea indiferent de alternanta maxim 0.6V, diodele D1 si D2 au fost monta te
invers una fata de cealalta în tocmai pentru ca tensiunea de intrare pe comparator sa nu depinda de
alternanta retelei. Sau ales trei rezistori in serie pentru a evita strapungerea acestora datorata supratensiunii si de a evita incalzirea acestora. Rezultatul compararii este trimis optocuplorului U 2
care va asigura izolarea galvanica intre blocul de s incronizare si microcontroler. C and alternanta este
pozitiva iesirea comparatorului este + 12V, iar emitatorul de lumina din interiorul optocuplorului este
pornită , iar cand avem alternanta negativa iesirea comparatorul ui va avea valoarea zero nealimentand
dioda emitatoare din interiorul optocuplorului. Se observa astfel ca la schimbarea de alternante se
schimba si starea diodei emitatoare din interiorul optocuplorului si, deci, starea fototranzistorului care
va trece d in blocat in saturat si invers, saturarea va determina blocarea si saturarea tranzistorului Q3
si astfel microcontrolerul va primi intreruperi ce vor semnaliza trecerile prin zero a le retelei.
78 4.4. Proiectare elemente de comandă
4.4.1. Proiectare bloc de comandă heater
Blocul de comandă a heaterului primește impulsuri PWM (Pulse Width Modulation) de la
microcontroler ținând cont de comanda de sincronizare cu rețeaua .
Schema blocului de comandă a heaterului este prezentat în figura 4.4.1.1.:
Figura 4.4.1.1. Schemă electrică comandă heater
Triacul este comandat de blocul de sincronizare cu rețeaua astfel pe alternan ța pozitivă de la
tensiunea rețelei (adică palierul pozitiv al PWM) triacul este blocat și pe alternanța negativă (nivelul
de “0” al PWM ) triacul se deschide și heaterul este alimentat de la rețea.
Prin intermediul Q2 microcontrolerul trimite comenzi catre ledul emitator al optocuplorului,
care va asigura izolarea galvanica intre microcontroler si comanda efectiva a triacului, iar saturar ea
fototranzistorului va determina saturarea tranzistorului Q1 si , deci , deschiderea triacului Q 12.
Triacul odata deschis va ramane in aceasta stare pana la trecerea prin zero cand triacul se va
bloca. Pentru deschiderea rapida a triacului s -a ales un curent mai mare de circa 100mA, iar pentru a
nu afecta consumul energetic si a nu arde grila triacului, tensiunea de comanda vine in 4 i mpulsuri de
cate 30μs, rezultand un consum mediu de 2,2mA.
V
CC = V R3 + V G => V R3 = V CC – V G => VR3 = I G ∙ R 3 => 3
312120100R
GV VRI mA= = = Ω
79 4.4.2. Proiectare bloc de comandă completare apă
Blocul de comandă pentru completare apă în acvariu este comandat de microprocesor prin
informațiile primite de la senzorii de nivel. Schema blocului de comandă completare apă este prezentată în figura
Figura 4.5.1. Schemă comandă completare apă
Comanda de completare apă este realizată cu un releu alimentat la 5V ce va comanda pompa
de apă.
Atunci când se primește comandă “0” de la microcontroler releul este activat și normal deschis
al releului se va închide, astfel pornind pompa de apă. Comanda va fi activă până când se va primi
comanda de “ 1” de la microcontroler, aceas tă comandă provenind din analiza senzorului de nivel
maxim.
Modulul de releu alimentat la 5V are o parte de izolare galvanică între partea de comandă de
la microcontroler și partea de comandare pompă ce lucrează la 220V.
Optocuplorul este alimentat de la microcontroler, iar releul de la o sursă externă tot de 5V.
Dacă s -ar alimenta tot de la microcontroler nu mai există partea de izolare galvanică.
În figura 4.5.2. este prezentată simularea pentru releu atunci când primește “0” de la
microcontroler :
Figura 4.5.2. Simu lare modul releu pentru comandă "0"
80 În figura 4.5.3. este prezentată simularea pentru releu atunci când primește “1” de la
microcontroler :
Figura 4.5.3. Simulare modul releu pentru comandă "1"
81 4.5. Schemă electronică ARDUINO MEGA2560
Figura 4.5.1. Schemă ARDUINO MEGA2560
82 Cablajul plăcii de dezvoltare ARDUINO MEGA2560 este prezentat în figura 4.5.2. și figura
4.5.3.:
– suprafața TOP
Figura 4.5.2. PCB ARDUINO MEGA2560 – TOP
– suprafața BOTTOM
Figura 4.5.3. PCB ARDUINO MEGA2560 – BOTTOM
83 4.6. Schemă electronică surse alimentare, sincronizare cu rețeaua și comandă
heater
Figura 4.6.1. Schemă surse alimentare, sincronizare cu rețeaua și comandă heater
84 Cablajul aferent schemei surse alimentare, sincronizare cu rețeaua și comandă heater este:
– suprafața TOP (componentele sunt situate pe TOP, trasele cu culoarea roșu fiind pe TOP)
Figura 4.6.2. Cablaj surse alimentare, sincronizare cu rețeaua și comandă heater – TOP
– suprafața BOTTOM
Figura 4.6.3. Cablaj surse alimentare, sincronizare cu rețeaua și comandă heater – BOTTOM
85 Capito lul 5. Citirea și analiza senzorilor de temperatură și de nivel și
realizarea comandă heater și completare apă
5.1. Citirea și analiza senzorului de temperatură și realizare comandă heater
Organigrama aferentă programului de citire și analiză a senzorilor de nivel, respectiv de comandă
completare apă es te prezentată în figura 5.1.1.:
Start
Comanda faza =
“1”
NUDA
Temp > 30
Si
Temp < 35
COMANDA “1” PE
TRIAC
(PORNESTE
HEAT ER )COMANDA “0” PE
TRIAC
(OPRESTE HEATER )NU
DA
Figura 5.1.1. Organigramă comandă HEATER
Codul sursă corespunzător diagramei este :
#include<OneWire.h>//librarie necesare pentru citire date senzor temp de pe un
singur pin de date
#include<DallasTemperature.h>//librarie specifica senzorului de temp DS18B20
#define ONE_WIRE_BUS 44 //pin Arduino la care este conectat pinul de date al
senzorului de temp
#include "LiquidCrystal.h" //librarie necesara pentru a putea lucra cu afisorul
86 OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(11, 10, 9, 8, 7, 6, 5, 4, 3, 2);
const byte com_faza = 49;
#define HEATER 48 // COMANDA HEATER
void setup()
{
Serial.begin(9600); delay(1000);
Serial.println("Temp = "); lcd.begin(16, 2);
sensors.begin();
lcd.setCursor(0,0);
pinMode (HEATER, OUTPUT);
}
void loop ()
{
com_heater();
}
void com_heater()
{
sensors.requestTemperatures(); float temp;
temp = sensors.getTempCByIndex(0);
if ((temp > 30) and (temp < 35)) and (com_faza == HIGH))
{
digitalWrite(HEATER, LOW); delay(6);
}
else
{
digitalWrite(HEATER, HIGH);
delay(4);
}
lcd.setCursor(2,0);
lcd.print("Temp = ");
lcd.print(temp);
lcd.setCursor(0,0);
Serial.print("Temp = "); Serial.print(temp);
}
87 5.2. Citirea și analiza senzorilor de nivel și realizare comandă completare apă
Organigrama aferentă programului de citire și analiză a senzorilor de nivel, respectiv de
comandă completare apă este prezentată în figura 5.2.1.:
Start
SENZOR NIVEL
MINIM = 1NU
COMANDĂ
COMPLETARE APĂDA
SENZOR NIVEL
MAXIM = 1DA NUSenzorul de nivel în ambele cazuri
dă “1” logic dac ă nivelul apei este
sub ei și “0” logic în caz contrar
NU SE DĂ COMANDĂ
PENTRU
COMPLETARE APĂ
Figura 5.2.1. Organigrama comandă completare apă
Codul sursă corespunzător diagramei este :
const byte switchPinDown = 45; // declarare prin senzor plutitor nivel minim pe
pinul 45 ARDUINO
const byte switchPinUp = 47; // declarare pin senzor plutitor nivel maxim pe pinul
47 ARDUINO
#define POMPA_APA 46 // POMPA APA pe pinul 46 ARDUINO
void setup ()
{
pinMode (switchPinDown, INPUT); //stabilire senzor nivel minim ca intrare
pinMode (switchPinUp, INPUT); //stabilire senzor nivel maxim ca intrare
pinMode (POMPA_APA, OUTPUT); //stabilire releu ce comanda pompa de apa ca
iesire
88 }
void loop ()
{
nivel_apa(); //functia de completare apa
}
void nivel_apa()
{
if (digitalRead (switchPinDown) == HIGH) // daca senzorul este normal inchis {digitalWrite(POMPA_APA, LOW); // comanda alimentare pompa apa
if (digitalRead (switchPinDown) == LOW and digitalRead (switchPinDown) ==
HIGH)
digitalWrite(POMPA_APA, LOW);}
else digitalWrite(POMPA_APA, HIGH); }
89 Concluzii
În lucrarea prezentă mi- am propus :
– realizarea unei surse de alimentare de 5V atât schematic, cât și fizic ;
– realizarea unei surse de alimentare de 12V atât schematic, cât și fizic ;
– realizarea unui modul de sincronizare cu rețeaua și comanda heaterului, atât schematic, cât și fizic;
– citirea și analiza datelor de la senzorii de nivel, respectiv de temperatură și conceperea
comenzilor corespunzătoare completării cu apă și pornire heater.
În realizarea cablajelor s -au întâmpinat probleme de calcul al unor rezistențe de la modul de
sincronizare cu rețeaua și a trebui t să recalculez deoar ece apărea un curent mult prea mare care risca
să deterioreze comparatorul LM393.
La sursa de alimentare de 12V aveam un curent mult prea mic pentru a putea alimenta
comparatorul și optocuplorul din modulul de sincronizare cu rețeaua și a trebuit plasarea unei
rezistențe de valori mai mici.
Cunoștințele necesare pentru realizarea acestui proiect sunt de proiectare software și hardware
a microsistemului, de realizare optimă a cablajelor electronice, precum și de programare a microcontrolelor.
La proiectarea hardware a sistemului s -a ales o soluție de comandă în fază pentru reglajul
puterii, utilizarea de optocuploare pentru separarea galvanică, utilizarea unui microcontroler de uz
general cu un preț relativ mic.
La proiectarea cablajelor s -a urmărit utilizarea maxim a două suprafețe (top și bottom),
macheta să aibă un aspect didactic (puncte de măsură lejere și evitarea curentării utilizatorului).
Programul care rulează pe microsistem a fost proiectat modular. Există câte un bloc specializat
pentru anumite funcții. Cu microcontrolerul reușind să îmbin partea de comandă în fază hardware cu
partea de prelucrare temperatură, având nevoie să alimentez h eaterul doar când se dorește o
temperatură mai ridicată și, în același timp, o comandare a heaterului în fază cu rețeaua.
Pe de altă parte, subrutina de tratare a întreruperii externe se ocupă de detectarea trecerii prin
“0” a semnalului sinusoidal. Progr amul principal se ocupă cu citirea senzorilor de nivel, analizează
datele și, în funcție de rezultat, se dă comanda către pompa de completare apă. În același timp,
microcontrolerul preia datele de la senzorul de temperatură și de la modulul de sincronizare cu rețeaua
pentru ca, în final, să se poată comanda o temperatură stabilă în incinta acvariului, aceasta prin comanda din microcontroler a triacului ce face posibilă alimentarea heaterului direct de la rețea.
Ca direcții viitoare de dezvoltare pornind de la acest proiect aș menționa controlul puterii altor
dispozitive ce se alimentează la rețeaua de 220V , gestionarea de la distanță a puterii unor dispozitive,
90 utilizând logica de comandă prezentată în acest proiect , precum ș i setarea diferi lor variabile de mediu
de la distanță necesare fiecărui tip de pești din acvariu.
91 Bibliografie
[1] M. Raducu, Electronic ă analogică. Teorie și aplicații, Editura MATRIX ROM, Bucure ști, 2009.
[2] E. Sofron, Dispozitive electronice cu semiconductoare, Ed. MATRIX ROM, Bucure ști, 2008.
[3] Nicu Bizon, Electronică industrială, Ed. U niversității , Pitești, 2000.
[4] http://webhost.uoradea.ro/agacsadi/EP_AGacsadi_2009.pdf
[5] http://arh.pub.ro/lab/cid1/old/verilab6.htm
[6] https://www.arduino.cc/
[7] http://www.atmel.com/
[8]http://www.instructables.com/id/How -to-use-the-TMP36 -temp -sensor -Arduino-
Tutorial/step4/The -Code/
[9] http://www.acelectric.ro/senzori_nivel_presiune_temperatura.html
[10]http://elth.ucv.ro/student1/Cursuri/Echipamente%20electrice%20I/Laborator/Studiul%20releelo
r%20si%20declansatoarelor.pdf
[11] http://www.electroschematics.com/9598/spdt- relay -switch/
[12] http://www.scritub.com/geografie/ecologie/Ecosistemul204207156.php
[13]http://www.csid.ro/lifestyle/casa -gradina -animale- de-companie/iti- doresti -un-acvariu -cu-pesti –
iata-ce-trebuie -sa-stii-13356709/
[14] http://www.etc.ugal.ro/lfrangu/cursSA -4-comanda -dispozitivelor.pdf
[15] http://www.acvariu.ro/ghid -incepatori
[16] https://vhurgoiacvaristica.wordpress.com/
[17]http://www.ele.ro/casa -si-gradina/sfaturi -utile/informatii- elementare -despre -acvariu -si-pesti-133
[18] https://ro.scribd.com/doc/45979130/6- senzori -de-temperatura
92 ANEXE
Listing program complet comandă completare apă și comandă heater :
#include<OneWire.h>//librarie necesare pentru citire date senzor temp de pe un
singur pin de date
#include<DallasTemperature.h>//librarie specifica senzorului de temp DS18B20
#define ONE_WIRE_BUS 44 //pin Arduino la care este conectat pinul de date al senzorului de temp
#include "LiquidCrystal.h" //librarie necesara pentru a putea lucra cu afisorul
16 x 2 OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(11, 10, 9, 8, 7, 6, 5, 4, 3, 2);
const byte switchPinDown = 45; // declarare prin senzor plutitor nivel minim
const byte switchPinUp = 47; // declarare pin senzor plutitor nivel maxim
const byte com_faza = 49;
#define POMPA_APA 46 // POMPA APA
#define HEATER 48 // COMANDA HEATER
void setup()
{
Serial.begin(9600);
delay(1000);
Serial.println("Temp = ");
lcd.begin(16, 2);
sensors.begin();
lcd.setCursor(0,0);
pinMode (switchPinDown, INPUT);
pinMode (switchPinUp, INPUT);
pinMode (com_faza, INPUT);
pinMode (HEATER, OUTPUT);
pinMode (POMPA_APA, OUTPUT);
}
void loop ()
{
nivel_apa();
com_heater();
}
void nivel_apa()
{
if (digitalRead (switchPinDown) == HIGH)
93 {digitalWrite(POMPA_APA, LOW);
if (digitalRead (switchPinDown) == LOW and digitalRead (switchPinDown) ==
HIGH)
digitalWrite(POMPA_APA, LOW);}
else digitalWrite(POMPA_APA, HIGH);
}
void com_heater() {
sensors.requestTemperatures(); float temp;
temp = sensors.getTempCByIndex(0);
if ((temp > 30) and (temp < 35)) and (com_faza == HIGH)) {
digitalWrite(HEATER, LOW); delay(6);
}
else {
digitalWrite(HEATER, HIGH); delay(6);
}
lcd.setCursor(2,0);
lcd.print("Temp = ");
lcd.print(temp);
lcd.setCursor(0,0);
Serial.print("Temp = ");
Serial.print(temp); }
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: PROGRAMUL DE STUDII ELECTRONIC Ă APLICATĂ [612372] (ID: 612372)
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.
