Sunteți pe pagina 1din 103

UNIVERSITATEA MARITIM DIN CONSTANA

FACULTATEA DE ELECTROMECANIC NAVAL


SPECIALIZARE TEHNOLOGII I SISTEME DE
TELECOMUNICAII

LUCRARE DE LICEN

Coordonator tiinific

Absolvent

Prof.univ.dr.ing. Mihaela HNATIUC

Valentin SOLOMON

CONSTANA 2013

UNIVERSITATEA MARITIM DIN CONSTANA


FACULTATEA DE ELECTROMECANIC NAVAL
SPECIALIZARE TEHNOLOGII I SISTEME DE
TELECOMUNICAII

SISTEM DE
MONITORIZARE A
FACTORILOR DE RISC
PENTRU LOCUINE

Coordonator tiinific

Absolvent

Prof.univ.dr.ing. Mihaela HNATIUC

Valentin SOLOMON

CONSTANA 2013

Declaraie de onestitate academic

Prin prezenta declar c lucrarea cu titlul Sistem de monitorizare al factorilor de risc


pentru locuine , prezentat n cadrul Facultii de Electromecanic Naval, secia de Tehnologii
i Sisteme de Telecomunicaii din cadrul Universitii Maritime din Constana ca cerin parial
pentru obinerea titlului de Inginer n domeniul Tehnologiilor i sistemelor de telecomunicaii,
programul de studii 2009-2013, este scris de mine i nu a mai fost prezentat niciodat la o
facultate sau instituie de nvmnt superior din ar sau din strintate.
Declar c toate sursele utilizate,inclusiv cele de pe Internet, sunt indicate n lucrare ca
referine bibliografice.Fragmentele de text din alte surse,reproduse exact,chiar i n traducere
proprie din alt limb,sunt scrise n ghilimele i fac referin la surs. Reformularea n cuvinte
proprii a textelor scrise ntre ghilimele de ctre ali autori face referin la surs. neleg c
plagiatul constituie infraciune i se sancioneaz conform legilor n vigoare.
Declar c toate rezultatele simulrilor, experimentelor i msurtorilor pe care le prezint
ca fiind fcute de mine, precum i metodele prin care au fost obinute, sunt reale i provin din
respectivele simulri, experimente i msurtori. neleg c falsificarea datelor i rezultatelor
constituie fraud i se sancioneaz conform regulamentelor n vigoare.

Constana , data

Absolvent
Solomon Valentin

Cuprins
Introducere....................................................................................................................................5

CAP 1. SECURITATEA UMAN..............................................................................................6


1.1.

Aspecte
generale.......................................................................................................................6
1.2. Sistemul integrat de securitate
(SIS).........................................................................................6
1.3. Tipuri de sisteme de avertizare i echipamente
aferente...........................................................8
CAP2. COMPONENTE SPECIALIZATE I INTERFEE DE COMUNICAIE.............14
2.1. Microcontroler - creierul digital............................................................................................14
2.2. Senzori - organele de sim ale microcontrolerului..................................................................21
2.3. LCD-ul....................................................................................................................................23
2.4. Interfee de comunicaie serial..............................................................................................24
2.4.1. Interfaa I2C............................................................................................................25
2.4.2. Interfaa USB..........................................................................................................28
CAP3 MODULE DE COMAND I CONTROL...................................................................32
3.1. Microcontrolerul ATmega328P..............................................................................................32
3.2. Placa de dezvoltare Seeeduino v2.21......................................................................................44
3.3. Senzori analogici i digitali.....................................................................................................48
3.3.1. MQ2..........................................................................................................................49
3.3.2. TMP275....................................................................................................................51
3.3.3. DHT11......................................................................................................................58
3.3.4. ELB14D2P................................................................................................................61
3.4. Schieldul LCD 1602 cu tastatur............................................................................................62
3.5. Modul GSM Seka sms............................................................................................................70
3.6. Sirena (buzzer piezoceramic)..................................................................................................76
CAP4. IMPLEMENTAREA SISTEMULUI DE MONITORIZARE A FACTORILOR DE
RISC PENTRU LOCUINE......................................................................................................78
4.1. Alegerea componentelor.........................................................................................................78
4.2. Construirea machetei..............................................................................................................78
4.3. Interconectarea componentelor...............................................................................................79
4.4. Mediul de programare PROCESSING................................................................................81
4.5. Configurarea modulului Seka sms..........................................................................................83
4.6. Funcionarea sistemului..........................................................................................................86
CONCLUZII..................................................................................................................................88
BIBLIOGRAFIE............................................................................................................................89
CODUL SURS............................................................................................................................91
LISTA FIGURILOR......................................................................................................................95
LISTA TABELELOR....................................................................................................................97
ANEXE..........................................................................................................................................98

INTRODUCERE

Motivaia alegerii temei


Tema constituie un subiect intens discutat i mediatizat n zilele noastre, i anume
securitatea, cu toate aspectele ei. Tratnd acest subiect, am cercetat s gsesc o soluie optim
pentru implementarea unui sistem de securitate hibrid care s monitorizeze o serie de factori ce
pot reprezenta un risc pentru locuine.
Scopul lucrrii
Prezenta lucrare vrea s demonstreze c sistemul dezvoltat n capitolele urmtoare este
unul capabil s preia stri reale din mediu ambiant i s le prelucreze n timp util pentru a-i
dovedi eficacitatea. La finalul acestei lucrri, cititorul v-a nelege principiile utilizate i nu n
ultimul rnd, va contientiza c un astfel de sistem este unul vital pentru securitatea personal, ce
necesit un timp relativ scurt de implementare, desigur, cu costuri acceptabile fa de sistemele
integrate de pe pia. Oricum, o comparaie este inutil deoarece, lucrarea i implementarea au
caracter exclusiv didactic.

Capitolul 1
SECURITATEA
1.1. Aspecte generale
Conceptul de securitate uman este utilizat frecvent n analizele de securitate. Acest
lucru se datoreaz faptului c subiectul de pornire al securitii este nsui individul uman, iar
gradul securitii indivizilor trebuie s fie punctul de plecare al fiecrui studiu n acest domeniu,
oricare ar fi nivelul analizat ( local, zonal, regional, naional sau global). Deci putem afirma c
securitatea uman este caracterizat de percepia absenei pericolelor, riscurilor i ameninrilor
la adresa existenei, intereselor indivizilor i a valorilor.
Prin ameninare, se nelege un pericol potenial, ce trebuie evideniat funcie de natura
procesului care trebuie protejat i de caracteristicile mediului din care acesta face parte i care,
dac se concretizeaz, poate produce consecine dezastruoase. Evaluarea ameninrii se face
printr-un studiu al inteniilor i capabilitilor adversarilor poteniali.
Vulnerabilitatea, conform publicaiilor de specialitate, reprezint fie o zon a aciunii
invocate avnd un grad de ameninare vizibil sau ridicat, fie un mediu favorabil neglijenei sau,
n general, criminalitii, care, dac este exploatat de un potenial duman, poate conduce , de
asemenea la consecine nefaste.
Prin risc se nelege probabilitatea de a se produce i capabilitatea de a nfrunta un
pericol, o situaie neprevzut sau de a suporta o pagub, un eec n aciunea ntreprins. Deci,
riscul poate fi considerat o evaluare a probabilitii ca o ameninare s foloseasc cu succes o
vulnerabilitate i s produc o consecin dezastruoas.
Ca proces n devenire, securitatea are ca principal obiectiv stabilitatea sistemelor. Ea are
o legislaie specific, un suport tehnologic avansat i se bazeaz pe strategii, norme, metodologii,
procedee, aciuni i instituii specializate, capabile s ofere servicii de siguran, protecie,
supraveghere i condiii pentru viabilitatea sistemelor i a utilizatorilor acestora. n consecin,
securitatea este un parametru principal de calitate al tuturor proceselor i sistemelor, fr de care
eficient nu este posibil.
1.2. Sistemul integrat de securitate SIS

SIS reprezint un ansamblu de echipamente tehnice, resurse umane i proceduri


operaionale destinat prevenirii, deteciei i avertizrii ncercrilor de intruziune n zonele cu
acces limitat, precum i supravegherii accesului n acestea.
Componenta unui sistem de securitate, integrat, care rspunde cerinelor de securitate i
obiectivelor propuse, poate fi urmtoarea:
-subsistem de securitate perimetral;
-subsistem de control al accesului;
-subsistem de detecie i alarmare la efracie;
-subsistem de supraveghere prin TVCI;
-subsistem de detecie i semnalizare la incendii, inundaii, CO2, CH4, substane
toxice,etc.
-subsistem de comunicaii de securitate;
-subsistem de dispecerat;
-subsistem de electroalimentare.
Din punct de vedere al specificului componentelor, SIS conine dou pri
fundamentale:
1. partea Hardware (echipamente, dispozitive, instalaii, cabluri, mobilier, etc);
2. partea Software (programe interne ncorporate n dispozitive, echipamente i aplicaiile
software, dedicate, de securitate).
Pentru c prezena lucrare trateaz detecia factorilor de risc pentru locuine, n cele
ce urmeaz voi detalia urmtorul subsistem:
Subsistem de detecie i semnalizare la incendii, inundaii, CO2, CH4, substane toxice, etc.
Conceptul general de protecie la foc pentru orice cldire are ca scop urmtoarele
obiective:
- protecia vieii oamenilor;
- protecia bunurilor materiale;
- prevenirea ntreruperii activitii.
Riscurile la foc sunt diferite ntr-un concept multi nivel de protecie la foc care definete
obiectivele de protecie specifice. Aceasta nseamn c fiecare incint trebuie protejat prin
msuri adecvate astfel nct nici un foc incipient s nu se dezvolte ntr-un incendiu serios.
Funciile sistemului de detecie i semnalizare incendiu, inundaii sunt:

Detectarea incipient a incendiilor prin identificarea unuia sau mai multor fenomene
tipice focului, cum ar fi produii de combustie, fum, flcri sau cldur;

Anunarea operatorilor cu privire la apariia unui incendiu sau a unei alarme tehnice, cu
indicarea zonei n care s-a produs aceasta;

Alarmarea sistemului de televiziune n scopul verificrii alarmei i evalurii


evenimentului;

Transmiterea ctre aplicaia software de management a securitii, a semnalelor de


alarm de incendiu sau tehnice, oferind acesteia controlul activrii i dezactivrii
zonelor de detecie incendiu;

Dezactivarea individual a zonelor de detecie incendiu, n cazul n care este necesar


efectuarea de lucrri care ar duce la generarea de alarme false;

Testarea integral sau pe zone a sistemului de detecie;

Semnalizarea apariiei unui incendiu prin dispozitivele de alarmare locale (hupe, lmpi,
mesaje sonore prenregistrate);

Comanda echipamentelor de stingere (pompe de incendiu, rezervoare de ageni de


stingere, etc) i a altor componente: instalaia de ventilare, instalaia de evacuare
mecanic a fumului, ui antifoc,etc.

Alertarea automat a forelor de intervenie, conform cu algoritmul prevzut n Planul


de aprare al obiectivului mpotriva incendiilor;

Detectarea apariiei inundaiilor i alertarea echipamentelor de intervenie;

Detectarea existenei radiaiilor periculoase i/sau substanelor toxice;

Detecia gazelor toxice i semnalizarea acesteia;

ntiinarea personalului prin sistemul de adresare public.

1.3. Tipuri de sisteme de avertizare i echipamente


Sistemele de detecie i avertizare la incendiu au rolul de a detecta rapid nceputul de
incendiu i de a alarma cu ajutorul sirenelor ( acustice / optice i acustice) personalul responsabil
sau persoanele din acel obiectiv sau locuina. Aceste sistemele de detecie i avertizare la
incendiu sunt formate dintr-o reea de detectoare, butoane manuale (declanatoare manuale) de
alarmare, sirene i alte componente capabile s acioneze diferite echipamente n cazul
condiiilor de incendiu ( fum, gaze, temperatur ridicat). Informaii preluate din aceast reea
sunt analizate de central de incendiu, care este capabil s ia decizii n funcie de felul
informaiilor primite din reea ( alarma automat - de la detectoarele de fum, temperatur, gaz,
monoxid de carbon, alarma manual de la butoanele roii de incendiu, (declanatoarele
manuale), alarma tehnic ( cablu din reea ntrerupt, lips echipamente, detectori, butoane,
sirene, etc).
Toate sistemele de detecie i avertizare mpotriva nceputului de incendiu trebuie
proiectate i executate respectnd legislaia, standardele, specificaiile fiecrui echipament n
parte precum i a normativelor (locul amplasrii detectorilor, nlimea de montaj a acestora,

felul acestora n funcie de obiectivul ce urmeaz a fi protejat cu diferitele tipuri de detectoare,


etc.)
Descriere / termeni folosii n sistemele de detecie i avertizare mpotriva incendiilor:
[C.I] - Central de detecie i avertizare mpotriva incendiului;
Centralele de detecie i avertizare mpotriva incendiilor culeg informaiile de la
detectoarele de fum, le analizeaz, n funcie de starea acestora iau deciziile de a activa sirenele
de avertizare. Ele pot suna local sau pot suna integral, acestea se stabilesc de comun acord cu
beneficiarul sau n funcie de scenariul de incendiu al proiectantului. Centralele pentru detecia i
avertizarea la incendiu se mpart n dou categorii:

Centrale convenionale ce permit conectarea unui numr limitat de detectoare pe o zon


de detecie, n caz de alarm acestea indicnd zona aflat n alarm.

Centrale analog adresabile, acestea permit conectarea mai multor detectoare de fum care
pot fi localizate cu exactitate, aceste detectoare se eticheteaz cu numere de la 1 la 128
( majoritatea centralelor permit maxim 128 de detectoare pe o bucl de detecie, aceste
centrale pot fi echipate cu mai multe bucle de detecie 1, 2, 3, 4, 5, 8, 16).

[D.F.] - Detector de fum;


[D.T.] - Detector de temperatur;
[D.M.] - Detector multi senzor;
[D.IR.] - Detector de flacra;
[D.CH4] - Detector de gaz metan;
[D.CO] - Detector de monoxid de carbon;
[B.I.] - Buton manual de alarmare;
[B.Fum] - Barier de fum - se folosesc pentru a acoperi suprafee mari (50 - 100 de metri);
[S.Int.] - Siren de interior;
[S.Ext.] - Siren de exterior;

FIG1.1. Organigrama instalaiei de semnalizare a incendiilor [18]

FIG1.2. Exemplu de instalaie detecie incendiu [12]


Declanator manual de alarm.
Rolul funcional al acestui dispozitiv este iniierea unui semnal de alarm la acionarea
butonului. Din acest motiv locul de amplasare trebuie s fie uor vizibil.

10

FIG1.3. Buton manual de alarm [19]


Detectoare automate de incendiu
Din punct de vedere al formei zonei de detecie detectoarele pot fi: punctuale ( rspund
la un parametru sesizat n vecintatea unui punct fix), multi punctuale ( rspund la parametru
sesizat n vecintatea mai multor puncte fixe) i liniare (rspund la parametru sesizat n
vecintatea unei linii continue). Din punct de vedere al numrului de parametrii monitorizai pot
fi: mono senzor sau multi senzor. O alt clasificare poate fi din punct de vedere al mrimii sau
vitezei parametrului msurat. Putem avea detector: static (iniiaz o alarm cnd mrimea
parametrului msurat depete o anumit valoare pentru un interval de timp suficient) ,
diferenial ( iniiaz o alarm cnd diferena ntre mrimile parametrului msurat n dou sau mai
multe locuri depete o anumit valoare pentru un interval de timp suficient) i detector de rat
de cretere(se mai numete velometric i iniiaz o alarm cnd rata de schimbare a parametrului
msurat cu timpul depete o anumit valoare pentru un interval de timp suficient). Din punct
de vedere al parametrului msurat, detectoarele pot fi: de fum cu camer de ionizare (sensibil la
produsele de combustie capabile s afecteze curenii de ionizare din interiorul detectorului),
optice de fum (sensibile la produse de combustie capabile s afecteze absorbia sau difuzia unei
radiaii n domeniul IR, vizibil i/sau ultraviolet a spectrului electromagnetic, de gaz (sensibil la
produsele de combustie i/sau descompunere termic), de flacr (rspund la radiaia
electromagnetic emis de flcrile unui incendiu) i de cldur (punctuale statice sau
velometrice).
Detectoare punctuale de fum
Acestea funcioneaz avnd la baz fenomene de reflexive, refractive, difracie sau
atenuare a unei radiaii din spectrul optic. n cele mai multe cazuri se utilizeaz gama de
frecvene din domeniul infrarou dar exist i dispozitive ce folosesc fascicule din spectrul
vizibil, ultraviolet sau laser. Sunt sensibile la incendii cu particule mari de fum.

11

FIG1.4. Principiul de funcionare al unui detector optic [20]

FIG1.5. Detector de fum [21]


Detectoare cu camer de ionizare
Principiul de funcionare al acestui tip de detector are la baz modificarea curentului
aprut ntre ecran i plcile metalice ca urmare a apariiei particulelor de fum ionizate n
interiorul camerei.
Ionizarea este procesul prin care atomii ctig sau pierd electroni . Pot aprea dou
cazuri: atomii pot pierde electroni sau electronii sunt capturai de cmpul nucleului atomului
rezultnd ionii pozitivi i, respectiv, negativi.

FIG1.6. Principiul de funcionare al detectorului cu camer de ionizare [22]


Sursa radioactiv este aleas astfel nct emisia ei s fie preponderent n particule cu
distana de penetrare redus pentru ca materialele obinuite s o poat opri. Uzual se utilizeaz
surse cu americium sau diveri izotopi ai acestuia sub form de folie sau n form gazoas.
Americiul este un element chimic sintetic din sistemul periodic al elementelor cu simbolul Am i
numrul atomic 95. Este un metal radioactiv din seria actinidelor.

12

Detectoarele cu camer de ionizare sunt sensibile la incendii ce produc particule mici n


procese de ardere rapid. Eficient lor este mai mic n cazul incendiilor mocnite cu fum dens ce
conine particule de dimensiuni mari. Indiferent dac detectorul de fum este cu camer de
ionizare sau optic, dup tipul semnalului transmis poate fi: convenional (cu dou sau mai multe
stri; ex: veghe, alarm i/sau stri anormale de funcionare) sau analogic ( genereaz un semnal
la ieire ce reprezint variaia parametrului msurat).
Detectoare de fum liniare
Aceste detectoare analizeaz valoarea medie a obturaiei produse de fum n lungul liniei
de detective fiind perfect adaptate spaiilor largi sau sub tavanele nalte n care dispersia fumului
poate mpiedica funcionarea normal a unui detector punctual.

FIG1.7. Detector liniar cu emitor i receptor


Detectoare de cldur
Detectoarele de cldur funcioneaz pe principiul modificrii parametrilor electrici
pentru o variaie a temperaturii ambientale. Pot fi detectoare statice sau velometrice. Constructiv
pot fi mecanice (cu contacte bimetal), pneumatice (incinte nchise ce i modific dimensiunile la
variaii de temperatur), sau electronice utiliznd jonciuni semiconductoare sau alte materiale cu
proprieti electrice variabile funcie de temperatur.

FIG1.8. Senzor tipic de temperatur [12]


Detectoare de flcri

13

Flacra este acea regiune a unui incendiu unde arderea (oxidarea) produce emisii de
radiaii n spectrul vizibil, infrarou i ultraviolet. Detectarea prezenei flcrii confer
certitudinea existenei unui incendiu ns exist scenarii n care fumul dens poate absorbi radiaia
luminoas mpiedicnd detecia.detectoarele de flcri cu UV folosesc lungimi de und sub
300nm. Acestea detecteaz incendii i explozii n termen de 3-4 milisecunde datorit radiaiilor
UV emise la momentul aprinderii lor. Alarmele false pot fi declanate de surse de UV precum
fulgerele, arcurile electrice, lumina soarelui, etc. Pentru reducerea acestor alarme false, la
proiectarea detectoarelor de flacr, se ntroduce o ntrziere de 2-3 secunde n procesul de
detecie.

FIG1.9. Detector de flcri [23]

Capitolul 2
COMPONENTE SPECIALIZATE I METODE DE COMUNICAIE
Deoarece domeniul electronicii este extrem de vast, componentele electronice
specializate au fost clasificate n funcie de tipul de aplicaie pe care designerul de sistem a
urmrit s o dezvolte. Totui, lsnd deoparte aspectul diversitii, toate sistemele conin o serie
de componente vitale.
2.1. Microcontroler creierul digital
Controlerul este un sistem hardware-software ce poate executa o serie diversificat de
operaii n cadrul unei secvene special programate. Putem afirma c un controler este un circuit

14

integrat ce dispune de o unitate central pentru prelucrarea datelor i o serie de periferice


eseniale pentru funcionarea autonom ntr-un sistem de control stabilit. Pentru a obine un
sistem rapid, performant, eficient i ieftin este foarte important alegerea corect a procesorului.
Diferene ntre microprocesor i microcontroler
Prima diferen se concretizeaz din punctul de vedere al funcionalitii;
microprocesorului i sunt necesare elemente externe de tip memorie sau componente de
transmitere/recepionare date. Microcontrolerul deine toate aceste elemente ntr-un singur
circuit. Deci, utiliznd un uC salvm timp i spaiu. Putem afirma c un controler este apt s
schimbe canalul televizorului, s afieze ora pe un ceas digital, s execute setul de instruciuni
aferente programului mainii de splat sau, de ce nu, poate s controleze lumina, variind
intensitatea ei n funcie de perioada zilei. n schimb, microprocesorul este capabil s ruleze
sisteme de operare precum Linux, Ubundu sau chiar i Windows, jocuri, extensii video i audio,
etc.
Datorit varietii domeniilor de utilizare ale comenzilor numerice n aplicaiile din
industrie a dus la o separare unanim a unitii centrale i, desigur, a procesului pe care aceasta l
utilizeaz. n acest sens s-a ajuns la o clasificare a procesoarelor:

Microcontrolerele (8051, MSP430) sunt structuri integrate ce nglobeaz ntr-o singur


capsul totalitatea componentelor necesare

construirii unui microsistem ( unitatea

central, periferice, memorie, circuite specializate ca CAN sau CNA). Aplicabilitatea


acestor componente este extrem de vast, de la echipamente de tip industrial, pn la
Smartphoneuri, aparatur electrocasnic i medical.

Procesoarele de semnal reprezint o categorie de microprocesoare ce au o secvene de


instruciuni dedicate exclusiv prelucrrii digitale a semnalelor. Aceste procesoare sunt
construite pe o arhitectur Harvard ceea ce nseamn c magistralele adreselor sunt
paralele cu magistralele de date. Compania Texas Instruments a lansat pe pia o serie de
astfel de procesoare:

TMS 320C10, C50 sunt procesoare n virgul fix,


C30 sunt procesoare n virgul mobil
C40 sunt procesoare cu arhitectur paralel
C80 sunt procesoare multimedia dedicate prelucrrii imaginilor i vocale

Transputerele fac parte din categoria procesoarelor ce execut seturi complexe (CISC
complex instruction set computer) sau reduse (RISC-reduced instruction set computer) de
instruciuni, instruciuni care se execut extreme de rapid. o caracteristic aparte este cea

15

a arhitecturii interne ce permite conectarea ntr-o reea a mai multor transputere ceea ce
mrete puterea de procesare.Ca i implementare, aceste transputere sunt folosite n aria
inteligenei artificiale i recunoaterii automate a formelor, domenii n care parametrul
vitez de procesare este primordial.
Principii

Aritmetica n virgule fix aici intervin probleme n scalarea valorilor i eroarea de


depire.

Aritmetica n virgul mobil doar cu ajutorul mantisei i exponentului se pot reprezenta


valori.

Magistrala cnd avem o singur magistral intern arhitectura este una de tip von
NEUMANN; toat informaia este transmis secvenial pe unic magistral (datele,
adresele, comenzile).
Cnd avem dou magistrale interne arhitectura este de tip HARVARD; aici datele sunt
transmise pe una dintre magistrale, iar adresele i comenzile pe cealalt magistral.

Numrul biilor de operare este furnizat de dimensiunea regitrilor interni de lucru: 8,


16,32 sau 64 de bii. Limea magistralei de date influeneaz acest numr de bii.

Viteza de procesare depinde de frecvena ceasului intern, de arhitectura m Psi de numrul


mediu de cicli de instruciune. MIPS (millions instructions per second) este unitatea de
msur a vitezei de procesare a procesoarelor n virgul fix i MFLOPS (millions
floating operations per second) n cazul procesoarelor ce lucreaz n virgul mobil.

Dimensiunea memoriei este dependent de numrul de bii afereni magistralei ce o


acceseaz.

Optimizarea codului este dependent de aptitudinile setului de instruciuni al


procesorului sau controlerului utilizat.
O teorem important n acest domeniu este cea numit Shannon/Nyquist care afirm c

frecvena eantionrii unui semnal trebuie s fie de dou ori mai mare dect frecvena maxim a
sistemului; n acest caz intervin probleme semnificative cnd se revine la analiza aplicaiei n
domeniul timp (ALIASING-ul).
Elemente fundamentale ce compun un controler:

CPU sau unitatea central de prelucrare

MEM sau memoria

I/O fiind unitile de intrare respective ieire

16

Perifericele. n aceast categorie avem:

Ceasuri interne i externe programabile (WDT sau watch dog timer, WDTR sau watch
dog trigger;
Convertoare AN i NA (cele mai folosite sunt cele pe 14 bii adic
pentru semnale
cuprinse ntre +/- 10 V rezult 1,22 mV fiecrui bit);
Bloc pentru semnale numerice de I/O;
Circuite folosite n special pentru automatisme (semnale PWM);
Bloc de adugare memorii pentru testare, date de proces sau extensii de programe de
aplicaii.

FIG 2.1. Structur tipic a unui Controler [15]


Aplicaiile ce utilizeaz controlere industriale sunt clar diferite de cele ce utilizeaz
procesoare clasice. Frecvent viteza de calcul i cea de prelucrare a informaiilor sunt puse n
umbr datorit diferitelor facilitate n puls.
n zilele noastre, microprocesoarele clasice cu regitrii de 16 bii nu se mai gsesc n
comer deoarece piaa controllerelor este dominat de mP pe 8 bii. Aceste controlere pe 8 bii
sunt utilizate preponderant deoarece aplicaiile nu necesit prelucrri de date importante
(emularea calculelor pe 16 bii). Ortogonalitatea setului de instruciuni este o caracteristic
important a setului de instruciuni ce mparte familiile de controlere n dou categorii:
-

Arhitecturi vechi sau foarte specializate ce folosesc un registru acumulator pentru a


deservi toate operaiile

17

Implementri noi (frecvent RISC) ce dein mai mult memorie sunt orientate spre
folosirea regitrilor de uz general printr-un set de instruciuni ortogonal (adic orice
registru poate fi accesat cu orice instruciune)
Avantajul este c setul de instruciuni este redus la strictul necesar, controlerul

neutiliznd calcule n virgule mobile. Liniile I/O pot fi controlate individual.


CPU
CPU sau unitatea central de prelucrare este compus din dou pri: unitatea de control
(CU) ai unitatea de calcul aritmetic (ALU). Prima unitate are rol de control n executarea
instruciunilor programului, iar cea de-a doua are ca sarcin executarea operaiilor aritmetice i
logice. Aceste dou entiti nu sunt singurele component ale CPU; exist i un numr redus de
locaii de memorie, numite regitrii de stocare a informaiei (procesat la un anumit moment).
Viteza de lucru a controlerului este determinat n mod direct de dimensiunea
magistralei de date, de numrul de locaii interne de memorie ale CPU i de frecvena ceasului.
Exemple de regitrii interni de stocare:

PC sau Program Counter (contorul de program) memoreaz adresa urmtoarei


instruciuni ce trebuie executat SP sau Stack Pointer (indicatorul stivei) memoreaz

adresa ultimei intrri n stiv definind vrful acestei stive.


ACC sau State Register (registrul de stare) conine 4 bii de stare, 2 bii de activare a
ntreruperilor i 2 bii rezervai. Biii de stare sunt rezultatul ultimei instruciuni
executate.

Memorie
Controlerele folosesc diferite tipuri de informaii, care sunt stocate n diferite tipuri de
memorii. Instruciunile care controleaz funcionarea MC trebuie stocate ntr-o memorie
nevolatil, unde informaiile se pstreaz i dup oprirea i repornirea sursei de alimentare.
Rezultatele intermediare i variabilele pot fi nscrise ntr-o memorie volatil, la acestea este
important s se poat face scrierea /citirea rapid i simplu n timpul funcionrii.
Tipuri de memorii
RAM (Random Access Memory) este o memorie volatil care poate fi citit sau scris
de unitatea central. Locaiile din RAM sunt accesibile n orice ordine. Pe chip, memoria RAM
ocup mult loc i implicit costurile de implementare sunt mari. De aceea un MC include de
obicei puin RAM. Memoria RAM static alimentat de la baterie se folosete pentru stocarea
nevolatil a cantitilor mari de date, la o vitez de acces mare i cu un numr nelimitat de
tergeri i renscrieri.

18

ROM (Read Only Memory) este cea mai ieftin i cea mai simpl memorie i se
folosete la stocarea programelor n faza de fabricaie. Unitatea central poate citi informaiile,
dar nu le poate modifica.
PROM (Programmable Read Only Memory) este similar cu memoria ROM, dar ea
poate fi programat de ctre utilizator. Dup posibilitile de tergere, aceast memorie poate fi
de mai multe feluri:
1.Memoria EPROM (Erasable PROM) care se poate terge prin expunere la raze ultraviolete.
MC cu EPROM au un mic geam de cuar care permite ca chip-ul s fie expus la radiaia
ultraviolet. tergerea este neselectiv, adic se poate terge doar ntreaga informaie i nu numai
fragmente. Memoria poate fi tears i rescris de un numr finit de ori.
2. OTP (One Time Programmable PROM) se folosete pentru multe serii de MC. Memoria
OTP este de fapt o memorie EPROM, dar chip-ul a fost capsulat ntr-o capsul de material
plastic fr fereastr, care este mult mai ieftin. Memoria nu se poate terge sau reprograma.
3. EEPROM (Electrically Erasable Programmable Read Only Memory) poate fi tears
electric de ctre unitatea central, n timpul funcionrii. tergerea este selectiv, iar pentru
renscriere trebuie parcuri mai muli pai. n memoria EEPROM se memoreaz un mic numr
de parametri care se schimb din timp n timp. Memoria este lent i numrul de tergeri/scrieri
este limitat (aprox 10 000).
4. FLASH este o memorie asemntoare EPROM i EEPROM n sensul c poate fi tears i
reprogramat n sistemul n care este folosit (fr a fi necesar un sistem dedicat). Are
capacitatea unui EPROM, dar nu necesit fereastr pentru tergere. Ca i EEPROM, memoria
FLASH poate fi tears i programat electric. Memoria FLASH nu permite tergerea
individual de locaii, utilizatorul poate s tearg doar ntregul coninut.
Magistrala
Magistrala sistemului sau BUS-ul este canalul de comunicaii care conecteaz CPU de
modulele periferice. Uzual, magistralele au 8, 16 sau mai multe linii de comunicaie clasificate n
trei categorii:

Linii de date faciliteaz transferul datelor actuale pe lungimea magistralei la diferite


module ale sistemului;
Linii de adres permite CPU-ului s specifice destinaia i sursa datelor transferabile;
Linii de control conin semnale de control ce permit controlerului s gestioneze
transferul de informaie de-a lungul magistralei.
Unitatea CPU are intern o magistral special pentru realizarea transferului de date ntre

ALU, CU i regitrii; aceast magistral exist pe considerente ce in de viteza de execuie a


operaiilor. Capacitatea magistralei de date este primordial ntr-un sistem bazat pe utilizarea

19

controlerelor industriale fiindc ea determin fluxul de bii informaionali ce poate fi transferat


de la sau ctre CPU ntr-o singur operaie.
Unitatea de Intrare-ieire (UIO)
Aceast unitate cumuleaz o serie de interfee ntre controler (spre exemplu magistrala
sistemului) i unul sau mai multe subsisteme externe ( spre exemplu CAN-uri externe, etc).
Cheia acestor uniti I/O este circuitul de interfaare. n aplicaii mai lejere, un registru poate fi
utilizat pentru stocarea intermediar a datelor nainte de transferul acestora. Interfeele sunt
folosite pentru sincronizarea transferului de date. De asemenea , ele pot fi folosite i pentru
trecerea controlului sau a informaiilor de stare ntre subsistemele exterioare i controler.
Unitatea de ceas
Unitatea de ceas (timer-ul) este blocul care furnizeaz informaia de timp, durat,
protocol de comunicaie. Ea este alctuit din mai multe numrtoare, unul sau mai muli
regitrii de comparare i unul sau mai muli regitrii de achiziie / comparare pentru a furniza,
compara i nregistra diverse funciuni. Numrtorul primete impuls de ceas de la ieirea unui
ceas de sistem prescalat. Circuitele funciilor de comparare sunt alctuite din regitrii de scriere /
citire a datelor i din logica de comparare a valorii curente a numrtorului cu valoarea stocat n
registrul de comparare la fiecare perioad a sistemului ceas. Validarea unei egalitii ntre cele
dou valori poate fi configurat s reseteze numrtorul la zero, s produc o ntrerupere sau s
furnizeze un impuls extern (timer) pentru tehnicile de comand Puls Width Modulation (PWM).
Watchdog timer
Unitatea de ceas watchdog presupune implementarea unei funcii speciale a ceasului
care poate fi programat s genereze o ntrerupere, atunci cnd este depit ciclul de numrare al
numrtorului pe n bii. Aceast funcie are rolul de a monitoriza funcionarea hardului cu
ajutorul unui program special pentru a nu se pierde controlul asupra programului n execuie.
Un program este considerat pierdut dac ntr-un anumit interval de timp, programul nu
scrie o valoare anume, precizat de la nceput de ctre programator, ntr-o locaie de memorie
precizat i aceasta de la nceput.
Convertor analog numeric
Un convertor analog - numeric este un convertor de intrare, care poate msura fie
raportul dintre dou tensiuni, fie valoarea absolut a unei tensiuni de intrare. El este util i
datorit faptului c semnalele achiziionate de la perifericele din sistem sunt diferite de cele pe

20

care un controler le poate interpreta (unu i zero). Astfel informaia primit de la diferii senzori
i traductoare din sistem este convertit mai nti n semnale de tensiune cu valori standardizate,
ca apoi cu ajutorul convertorului analog numeric acestea s fie convertite mai departe n semnale
procesabile de ctre un controler.
Acest modul este de fapt un convertor de aproximri succesive, uzual pe 8 bii, cu
circuit integrat de Sample/Hold. Prezint 8 canale de intrare analogice multiplexate. Deci
procesorul poate converti secvenial nivelul de tensiune de la 8 surse distincte.
Blocurile CNA-ului:

Multiplexorul analogic (de IN i de referin);


CAN-ul de aproximri succesive cu circuit intern de SHl;
Circuitul de ntrerupere logic a programului

2.2. Senzori organele de sim ale uC


Ce este senzorul?
Definiia senzorului nu a fost niciodat unitar i complex, motiv ce a lsat de-a lungul
timpului o serie de incertitudini i interpretri asupra acestui termen. Oricum ar fi, denumirea de
senzor provine din latinescul sensus ce desemneaz simul; pn s fie adoptat de dispozitivele
tehnice, termenul a fost utilizat pentru a desemna capacitile organelor de sim ale oamenilor i
ale organismelor vii, de a culege i prelucra informaii din mediul nconjurtor i a le transmite
creierului.
Sistemele mecatronice trebuie s fie capabile s identifice, n anumite condiii i limite,
parametri ai mediului ambiant i s reacioneze la modificri ale acestora. Extrapolnd
consideraiile despre sistemele senzoriale ale lumii vii la sistemele mecatronice, prin senzor se
va nelege dispozitivul tehnic destinat nzestrrii mainilor cu simuri. Are rolul determinrii
unei sau unor proprieti, i, n funcie de nivelul de integrare, poate avea funcii mai simple sau
mai complexe. Senzorul cuprinde traductorul/traductoarele pentru transformarea mrimii de
intrare ntr-un semnal electric util, dar i circuite pentru adaptarea i conversia semnalelor i,
eventual, pentru prelucrarea i evaluarea informaiilor. Senzorul care include i unitile
micromecanice i microelectronice de prelucrare, realizate prin integrare pe scar larg (LSI) sau
foarte larg (VLSI), se ntlnete n literatura de specialitate i sub denumirile de "sistem
senzorial" sau "senzor inteligent" (smart-sensor).
Clasificare
Exist astzi senzori pentru mai mult de 100 de mrimi fizice, iar dac se iau n
considerare i senzorii pentru diferite substane chimice, numrul lor este de ordinul sutelor. Se

21

pot pune n eviden circa 2000 de tipuri distincte de senzori, oferite n 100.000 de variante, pe
plan mondial [ROD03].
Datorit marii diversiti a principiilor de conversie a mrimilor fizice n mrimi
electrice, precum i a soluiilor de implementare a acestor principii, exist i o multitudine de
criterii de clasificare a senzorilor, dintre care vor fi enumerate cteva dintre cele mai importante.
n funcie de tipul mrimii fizice de intrare senzorii pot fi clasificai n:

absolui, cnd semnalul electric de ieire poate reprezenta toate valorile posibile ale
mrimii fizice de intrare, raportate la o origine (referin) aleas;
incrementali, cnd nu poate fi stabilit o origine pentru toate punctele din cadrul
domeniului de msurare, ci fiecare valoare msurat reprezint originea pentru cea
urmtoare.
Foarte important este clasificarea n funcie de tipul mrimii de ieire, n:
senzori analogici, pentru care semnalul de ieire este n permanen proporional cu
mrimea fizic de intrare;
senzori numerici (digitali), la care semnalul de ieire poate lua numai un numr limitat de
valori discrete, care permit cuantificarea semnalului fizic de intrare.
Privind problema semnalului de ieire din punctul de vedere al numrului de valori posibile, pot
fi puse n eviden alte dou clase distincte:
senzori binari, care prezint la ieire numai dou valori distincte;
senzori cu un numr mare de valori, pentru msurarea unei mrimi ntr-o anumit
plaj; pot fi analogici sau numerici.
Un alt criteriu de clasificare ine cont de numrul elementelor traductoare i de numrul
de dimensiuni atribuite valorilor msurate i clasific senzorii n:

scalari (un traductor, o dimensiune);


vectoriali (msurri dup trei direcii ortogonale) i matriciali (un anumit numr de
traductoare dispuse dup o matrice mono -, bi - sau tridimensional).

FIG 2.2. Schem bloc a unui senzor cu semnale de intrare i ieire [26].
Parametrii
Sensibilitatea unui senzor este definit ca panta curbei caracteristicii de ieire sau, mai general,
intrarea minim a parametrilor fizici care va crea o variaie a ieirii.
Eroarea de sensibilitate este punctul de plecare pentru panta ideal a caracteristicii curbei.

22

Domeniul de acoperire al senzorului este maximul i minimul valorilor aplicate parametrilor care
pot fi msurate. Domeniul dinamic reprezint domeniul total al variaiei senzorului de la minim
la maxim. Relaia matematic ce descrie domeniul dinamic : Rdyn=Ymax- I-YminI
Precizia se refer la gradul de reproducere al msurtorii. Cu alte cuvinte, dac exact aceleai
valori au fost msurate de un anumit numr de ori, atunci un senzor ideal va scoate la ieire
aceeai valoare de fiecare dat.
Rezoluia reprezint detecia celui mai mic parametru de intrare care poate fi detectat din
semnalul de ieire.
Acurateea unui senzor este dat de diferena dintre valoarea actual i valoarea indicat la
ieirea senzorului.
Eroarea de offset a unui traductor este definit ca valoarea ieirii care exist atunci cnd ar trebui
s fie zero, sau diferena dintre valoarea real de la ieirea traductorului i valoarea de la ieire
specificat de o serie de condiii particulare.
Liniaritatea unui traductor este expresia cu care curba msurat al senzorului se difereniaz de
curba ideal.
Un traductor trebuie s fie capabil s urmreasc schimbrile parametrilor de intrare indiferent
din ce direcie este fcut schimbarea, histerezis-ul fiind msura a acestei proprieti.
Timpul de rspuns poate fi definit ca fiind timpul necesar ieirii valorilor unui senzor de a trece
din starea precedent spre o valoare stabilit n limitele unui domeniu de toleran a noii valori
corecte.
2.3. LCD - ul
Display-ul cu cristale lichide, denumit pe scurt i LCD este alternativa ce a nlocuit
tubul cinescop. Cristalele lichide au textur aproape transparent;

dac moleculele acestor

cristale nu sunt excitate de o for exterioar, ele tind s intre n starea numit mezofaza
(specific unei structuri cristaline a unui corp solid),pe cnd la apariia unui cmp electric, aceste
molecule se aranjeaz haotic, aranjament specific unui lichid. Moleculele cristalelor lichide sunt
oarecum ovale i prezint la capete sarcini electrice de semn contrar. Putem deosebii 3 tipuri de
cristale lichide, clasificarea fcndu-se n funcie de orientarea relative a moleculelor:
a) Nematice moleculele se orienteaz paralel ntre ele (pe direcie vertical), putnd s se
mite pe direcia axei lor mari.
b) Smectice moleculele sunt aranjate tot n paralel, dar n straturi, micarea pe vertical
fiind imposibil, ea fiind permis doar n interiorul stratului.

23

c) Colesterice- moleculele sunt dispuse orizontal, paralel ntre ele, tot pe straturi, dar axele
moleculelor dintr-un strat sunt orientate cu cca 20 de grade fa de stratul urmtor i tot
aa, oferind o imagine de sus asemenea unui evantai.
LCD-ul are dou principii constructive:
1. Se folosete un `sandwich` compus din dou plci de sticl ce prezint pe feele interioare
anuri paralele; aceste plci sunt rotite cu 90 de grade una fa de cealalt, iar ntre aceste
plci sunt dispuse cristale lichide. Cnd nu exist cmp electric generat din exterior,
lumina ptrunde prin aceast structur, urmrete orientarea n spaiu a moleculelor
cristalelor i mai apoi sufer o rotire cu 90 de grade n planul ei de polarizare. n prezena
unei tensiuni electrice, moleculele se aranjeaz vertical, iar lumina va putea trece fr s
sufere vreo modificare n planul de polarizare.

FIG 2.3. Straturile unui LCD [29]


2. Se face referire la proprietile filtrelor de polarizare i ale luminii. Planurile de
polarizare ale luminii natural sunt orientate aleatoriu. Filtrele de polarizare sunt practic
reele de linii paralele ce opresc radiaiile luminoase a cror planuri de polarizare nu sunt
paralele cu aceste linii. Folosirea unui al doilea filtru de polarizare cu linii dispuse
perpendicular pe liniile primului filtru este menit s blocheze radiaia luminoas care a
trecut de primul filtru.

24

FIG 2.4. Aceast imagine reprezint rotirea planului de polarizare a luminii ntr-un LCD de
tip TN (twisted nematic) [28]
2.4. Interfee de comunicaie serial
Microcontrolerele folosesc ca mijloc de comunicare cu alte dispozitive sau cu
elementele de circuit, comunicaia serial; acest mod de comunicare are ca scop reducerea
numrului de pini ai capsulei. Uzual, microcontrolerele dispun de cele dou interfee de
comunicaie i anume:
-

SINCRON (denumirea n englez fiind serial peripheral communication sau SPI);

ASINCRON (denumirea n englez fiind serial communication interface sau


SCI/UART de la Universal Asynchronous Receiver Transmitter).
Interfa Sincron prezint frecvent (dar nu tot timpul) o linie separat pentru ceas.

Aceast linie are un avantaj n sensul c simplific interfa ntre RX i TX , dar pe de alt parte
prezint dezavantajul n cazul distanelor mari unde este perturbat de zgomot. Toate transmisiile
de pe SPI sunt sincronizate la un semnal de ceas unic generat de master (uC). Slave-ul, cel care
recepioneaz, folosete acest semnal la achiziia irului de bii seriali. Acest mod de comunicaie
folosete 4 semnale:
a. MOSI (master out slave n) = semnal generat de master i recepionat de slave; se mai
numete i Serial N (I) sau Serial Data N (SDI)
b. MISO (master in slave out) = semnal produs de slave, dar controlat de master; se mai
numete i Serial OUT (SO) sau Serial Data OUT (SDO)
c. Chip Select = (/CS) generat prin intermediul unui port I/O digital al masterului; la unele
procesoare exist semnalul de chip select dedicat SPI numit i Slave Select (/SS)
d. Serial Clock = (SCLK sau SCK)
Interfaa Asincron se deosebete fa de cea sincron prin faptul c i RX i TX au
propriile lor ceasuri independente unul de cellalt, realizndu-se o resincronizare fiecrui bit
dup bitul de start. Aceast interfa UART folosete dou fire, unul pentru transmisie (TXD) i
unul pentru recepie (RXD). Unul dintre exemplele acestui mod de comunicaie este RS422
folosit n comunicaii la distane mari, n medii perturbatoare fiind eficient datorit perechilor de
fire torsadate att pentru TXD ct i pentru RXD.
Exemple de interfee seriale
2.4.1. Interfaa I2C

25

Este o interfa sincron multi-master ce funcioneaz pe principiul master-slave. Modul


de comunicaie este unul half-duplex: SCL (serial clock line) i SDA (serial Data)

FIG 2.5. Sistem realizat pe structura I2C


Caracteristici:
-

Este o magistral sincron,de vitez mic, bidirecional, de cost redus dar foarte
eficient

Adugarea sau deconectarea unui dispozitiv la magistral nu afecteaz celelalte


componente

Este o magistral de tip multi-master

Se ating viteze de date de 100 kbps (n mod standard) i 400 kbps (n mod extins)

Dispozitivele conectate la I2C pot fi transmitoare i/sau receptoare i au adres unic


Liniile acestei magistrale sunt activate de circuite open-drain; rezistoare de Pull-up

ridic liniile la tensiune pozitiv. n modul idle, ele sunt la nivelul 1 logic sau HIGH.

FIG 2.6. Exemplu de conectare a dou circuite pe magistrala I2C [24]


Transferul de date pe I2C

26

Atunci cnd magistrala este n repaus (idle), liniile SDA i SCL sunt la nivel HIGH; o
achiziie pe I2C ncepe cu linia de date SDA la LOW dup care un semnal pe linia SCL. Dac
linia SCL este la LOW, iar pe SDA se face o tranziie HIGH-LOW urmeaz o transmisie
(condiie de start). Fie c se transmite 1 sau 0 pe linia SDA, valoarea liniei SCL trebuie s fie
HIGH n orice caz. Valoarea binar de date este eantionat pe frontul de cretere al liniei SCL.
Achiziia se termin cu linia SCL n HIGH i o tranziie HIGH-LOW pe linia SDA (condiie de
stropi).

FIG 2.7. Definirea condiiilor de Start i Stop [24]


Aspecte funcionale
Slave-ul poate mri durata LOW a ceasului (dar nu i pe cea HIGH) att ct este util.
Receptorul poate trage, la nevoie, linia SCL n LOW (eveniment `wait`) pentru a ntrzia un
octetul de date ce urmeaz unui octet ce a ajuns la aceeai adres. n cazul n care dou
dispozitive disput controlul aceleiai linii (fie SCL fie SDA) circuitele cu colectorul n gol
previn erorile fizice, iar ambii masteri trebuie s respecte magistrala n timpul comunicaiei
pentru a nu interfaa cu alt mesaj. Dup oricare 8 bii transmii pe SDA urmeaz un semnal
(ACKNOWLEDGE). Pentru a confirma o recepie corect, receptorul trage linia SDA la LOW
pe durata impulsului al 9-lea de ceas.
Nivelul legturii de date
Orice dispozitiv I2C are o adres. Adresele unice sunt determinate de designerul
sistemului. Adresa prezint 7 bii conform I2C-ului (la versiunea extins, adresele se ntind pe 10
bii). `General call` are adresa 0000000 este o emisie pentru magistral ce poate fi utilizat
pentru a avertiza sau transmite simultan tuturor dispozitivelor conectate. O tranzacie const
dintr-un ir de octei transmii, primul de adres urmat de unul sau mai muli de date.

FIG 2.8. Byte-ul de adres


Arbitrare I2C

27

Fiind o magistral Multi-Master nseamn c mai multe dispozitive de tip Master au


permisiunea de a porni transmisia simultan. Masterul transmite un bit 0 dac trage linia SDA la
LOW i un bit 1 dac lsa linia SDA la HIGH. Dac masterii ncep transmisia n acelai timp, cel
ce are transmite 1 i citete 0 pe magistral va renuna pentru c a detectat o transmisie cu
prioritate mai mare.

FIG 2.9. Pachet transmis pe I2C [38]

FIG 2.10. Transferul unui mesaj pe I2C [38]

2.4.2 Interfaa USB (Universal Serial Bus)


USB a fost creat datorit necesitii simplificrii unor interconexiuni dintre calculator
i periferice; ntr-un sistem ce dispune de o magistral de tip USB, perifericele se pot conecta n
serie sau ntr-o topologie stea pe nivele multiple. Magistrala USB s-a impus fa de porturile
seriale i paralele printr-o rat de transfer mai ridicat. Dac primele versiuni (1.0 i 1.1) ale
USB-ului ofereau o rat maxim de transfer de 12 Mbii/sec, o dat cu apariia versiunii 2.0, s-a
putut obine o rat de transfer de aproximativ 480Mbiti/sec.
Transmisia semnalelor i a tensiunii de alimentare pe magistral se realizeaz cu un
cablu cu patru fire. Semnalele difereniale de date se transmit pe traseele D+ i D-, formate din
dou fire torsadate. Semnalul de ceas este codificat mpreun cu datele. Metoda de codificare
folosit se numete NRZI (Non Return to Zero Invert). n cazul acestei metode, cnd bitul are
valoarea 1 avem lips a schimbrii nivelului tensiunii, iar cnd bitul are valoarea 0 avem o
schimbare a nivelului tensiunii, fr revenire la tensiunea de referin (zero) ntre biii codificai.
Sunt inserai bii suplimentari n datele transmise pentru a asigura tranziii suficiente ale

28

semnalelor, n scopul asigurrii unei sincronizri corecte. Este introdus un bit de valoare 0 dup
fiecare ase bii consecutivi de 1 nainte de codificarea datelor, pentru a fora o tranziie n irul
de date. Fiecare pachet de date este precedat de un cmp de sincronizare pentru a permite
receptorilor sincronizarea ceasului lor de recepie.

FIG 2.11. Semnificaia culorilor firelor ce compun interfaa USB [39]


Cablul USB transmite o tensiune de alimentare pentru periferice pe liniile Vcc i GND.
Tensiunea pe linia Vcc este de +5 V la surs. Pentru a asigura nivele de tensiune corecte la
intrarea perifericelor i o adaptare de impedan, se utilizeaz terminatori la fiecare capt al
cablului.

Tipuri de transfer
Arhitectura USB cuprinde 4 tipuri de transfer de date:
1. de control aceste transferuri se folosesc de driverele computerului gazd pentru
configurarea dispozitivelor care sunt conectate la sistem.
2. De ntrerupere - sunt transferuri ce se utilizeaz pentru date care trebuie transmise cu o
ntrziere limitat.
3. De date voluminoase (bulk) acest tip de transferuri se utilizeaz cu periferice de tipul
imprimantelor sau scanerelor. Aceste date sunt secveniale.
4. Izocrone (isos=egal, chronos=timp) transferuri ce se utilizeaz pentru datele care
trebuie furnizate cu o anumit rat de transfer constant i a cror sincronizare trebuie
garantat. Un exemplu tipic de date izocrone este reprezentat de imaginile video. Dac
rata de transfer a acestor iruri de date nu este meninut, va avea loc pierderea unor date
datorit depirii capacitii bufferelor. Chiar dac datele sunt furnizate de magistrala
USB cu rata adecvat, ntrzierile introduse de programe pot afecta negativ aplicaiile
care utilizeaz aceste date, cum sunt aplicaiile pentru videoconferine.

29

Protocolul USB
Ca i alte interfee, interfaa USB folosete un protocol orientat pe pachete. Toate
transferurile sunt coordonate de controlerul USB al calculatorului gazd. Tranzaciile de pe bus
implic transmisia a patru tipuri de pachete:

Pachet antet (simbol token);


Pachet de date;
Pachet de confirmare (handshake);
Pachet special.

Iniierea unei tranzacii se face n momentul n care controlerul USB transmite, pe baza
unei planificri, un pachet antet care descrie tipul tranzaciei, direcia acesteia, adresa
dispozitivului USB i numrul punctului terminal. Sursa tranzaciei transmite apoi un pachet de
date coninnd datele care trebuie transferate, sau poate indica faptul c nu are date de transmis
prin faptul c pachetul de date nu conine informaii utile. n general, destinaia rspunde cu un
pachet de confirmare indicnd dac transferul s-a terminat cu succes sau dac punctul terminal
nu este disponibil.
Descriptori USB
Dispozitivele USB au o ierarhie de descriptori care descriu atributele lor. Aceti
descriptori sunt utilizai pentru raportarea atributelor dispozitivelor calculatorului gazd. Un
descriptor reprezint o structur de date cu un format definit de standardul USB. Fiecare
descriptor ncepe cu un octet care conine numrul total de octei ai descriptorului, urmat de un
octet care indic tipul descriptorului. Pe lng descriptorii standard, dispozitivele USB pot
returna i descriptori specifici unei clase de dispozitiv sau unui productor.
Principalele tipuri de descriptori standard sunt urmtoarele:

Descriptori de dispozitiv;
Descriptori de configuraie;
Descriptori de interfa;
Descriptori ai punctelor terminale;
Descriptori de tip ir de caractere.
Ierarhia de descriptori are ca rdcin la nivelul superior descriptorul de dispozitiv. La

nivelul urmtor se afl descriptorii de configuraie; exist cte un asemenea descriptor pentru
fiecare configuraie a dispozitivului. Pentru fiecare configuraie pot exista unul sau mai muli
descriptori de interfa, n funcie de numrul de interfee ale configuraiei respective. n sfrit,
pentru fiecare punct terminal al fiecrei interfee exist cte un descriptor al punctului terminal.

30

FIG 2.12. Arborescena descriptorilor USB


Procesul de enumerare
Procesul de enumerare se realizeaz atunci cnd un dispozitiv USB este conectat/
deconectat la magistrala USB, i este realizat de calculatorul gazd; acest proces se execut n
vederea determinrii modificrilor aprute n schema sistemului USB. n momentul conectrii
unui dispozitiv USB la bus, se execut operaiile:
1. Distribuitorul la care este conectat dispozitivul detecteaz conectarea acestuia cu ajutorul
rezistenei utilizate ca terminator al magistralei de la captul dispozitivului.
2. Calculatorul gazd determin tipul modificrii aprute i portul la care a aprut modificarea
prin interogarea distribuitorului.
3. Calculatorul gazd ateapt un timp de cel puin 100 ms pentru ca tensiunea de alimentare a
dispozitivului s devin stabil, dup care transmite o comand de validare i de resetare a
portului
4. Dup terminarea procedurii de resetare, portul este validat. Dispozitivul se afl acum n starea
implicit i poate absorbi un curent de maxim 100 mA de pe linia VBUS a magistralei.
5. Calculatorul gazd solicit descriptorul de dispozitiv, iar dispozitivul transmite acest
descriptor prin intermediul conductei implicite.
6. Calculatorul gazd asigneaz o adres unic dispozitivului.
7. Calculatorul gazd solicit descriptorii de configuraie, iar dispozitivul transmite
calculatorului gazd aceti descriptori.
8. Pe baza informaiilor de configuraie, calculatorul gazd asigneaz o anumit configuraie
dispozitivului. Dispozitivul se afl acum n starea configurat i toate punctele terminale ale
acestei configuraii sunt configurate conform caracteristicilor specificate n descriptorii acestora.

31

Capitolul 3
MODULE DE COMAND I CONTROL

3.1. uC ATmega 328P


Acest microcontroler este de tip CMOS pe bii, ce are un consum redus de curent.
Arhitectura RISC a lui 328P este una mbuntit de AVR. Vitezele de procesare sunt n jur de
1MIPS/MHz, datorit executrii instruciunilor ntr-un singur ciclul de ceas.

FIG 3.1. Schema bloc a microcontrolerului [2]

Nucleul dezvoltat de AVR contopete multitudinea de instruciuni cu registrele de uz


general. Toate cele 32 de registre sunt legate direct de ALU, iar n acest mod exist posibilitatea
accesrii a dou registre separate printr-o unic instruciune executat ntr-un singur ciclu de

32

ceas. Arhitectura mbuntit este mai eficace din punctul de vedere al programrii obinndu-se
viteze de procesare de 10 ori mai mari dect majoritatea microcontrolere-lor uzuale CISC.
Caracteristici ATmega328P
-

Memorie Flash de 8KB


Memorie EEPROM de 1KB
Memorie SRAM de 2KB
23 de ci I/O de uz general
32 de registre de uz general
3 timere/numrtoare cu moduri de comparare
interfa serial de programare USART
Un port serial SPI
interfa serial I2C, orientat pe bit
Convertor AN de 10 bii cu 6/8 canale
Un ceas special Watchdog cu oscilator intern programabil
5 moduri software pentru reducerea consumului de putere.
Atmel, firma productoare, a dezvoltat o tehnologie nevolatil cu densitate ridicat i a

implementat-o pe acest dispozitiv. Memoria de program poate fi reprogramat prin interfaa SPI,
printr-un programator uzual de memorii nevolatile sau prin programul integrat de boot ce ruleaz
n nucleul AVR.
Programul de boot sau bootloader-ul, poate utiliza orice interfa pentru a ncrca
programul n memoria de program. Softul din seciunea de bootare a memoriei Flash va rula fr
ncetare ct timp seciunea de program a memoriei este ncrcat, asigurnd o operaie de citire
n timp de scriere real.
Nucleul AVR
Funcia principal a nucleului CPU este s asigure execuia corect a programului; deci
CPU-ul trebuie s fie capabil s acceseze memorii, s execute calcule, s controleze perifericele
i s se ocupe de ntreruperi.

33

FIG 3.2. Diagrama bloc a Arhitecturii AVR [2]

Pentru a maximiza performanele, AVR apeleaz la o arhitectur Harvard cu memorii i


magistrale diferite pentru program i date. Instruciunile din memoria de program sunt executate
prin pipeline pe un singur nivel. Ct timp ce o instruciune este executat, urmtoarea este
extras (fetch) din memoria de program. Acest concept permite instruciunilor s fie executate n
fiecare ciclu de ceas. Memoria de program este o memorie Flash reprogramabil integrat.
Fiierul de acces rapid al Registrelor conine 32 de registre de uz general pe 8 bii
fiecare, cu un timp de acces ntr-un singur ciclu de ceas. Acest lucru permite ca operaiile
aritmetico-logice s fie executate ntr-un singur tact. 6 dintre cele 32 de registre pot fi folosite ca
3 registre de adresare indirect pe 16 bii, permind astfel calcule eficiente ale adreselor. Unul
din aceti pointeri de adres poate fi folosit ca pointer de adres a tabelelor din memoria Flash
de program.
Unitatea Aritmetic Logic (UAL) suport operaii aritmetice i logice ntre registre sau
ntre un registru i o constant. Pot fi executate i operaii cu un singur registru. Dup o operaie
aritmetic, Registrul de stare este rescris, pentru a reflecta informaii referitoare la rezultatul
operaiei. Spaiul memoriei Flash este divizat n 2 pri, partea programului de boot i partea
programului de aplicaii. Fiecare seciune are bii de blocare dedicai pentru protecie la scriere i
citire/scriere.

34

Rularea programului este furnizat de salturi condiionate/necondiionate i de


instruciuni de apel, capabile s adreseze direct ntregul spaiul de memorie. Majoritatea
instruciunilor AVR au pentru un cuvnt un format de 16 bii. Fiecare adres a memoriei de
program conine instruciuni pe 16 / 32 de bii. n timpul ntreruperilor i subrutinelor de apel,
adresa returnat de Contorul de Program (PC) este memorat n stiv. Stiva este efectiv alocat
n memoria de date generale SRAM. Toate programele utilizatorului trebuie s iniializeze
indicatorul de stiv (SP) n rutina de Reset (nainte ca ntreruperile sau subrutinele s fie
executate). Indicatorul de stiv este accesibil pentru citire/scriere n spaiul I/O. Datele din
memoria SRAM pot fi accesate uor prin 5 metode de adresare suportate de arhitectura AVR.
Unitatea Aritmetico Logic (ALU)
Unitatea ALU opereaz n conexiune direct cu toate cele 32 de registre de uz general.
Astfel ntr-un ciclu de ceas, sunt executate operaii aritmetice ntre registre de uz general, sau
ntre registru i o constant. Operaiile ALU sunt mprite n 3 categorii principale: aritmetice,
logice i de bit. Unele implementri ale arhitecturii asigur i un multiplicator puternic ce suport
multiplicri cu/ fr semn sau n format fracionar.
Registrul de stare
Registrul de stare deine informaii referitoare la rezultatul ultimei operaii aritmetice.
Aceast informaie poate fi folosit pentru a modifica rularea programului n scopul de a executa
operaii condiionate. Registrul de stare este actualizat dup fiecare operaie a unitii ALU. n
multe cazuri, acest fapt va elimina nevoia de a folosi instruciuni de comparaie dedicate,
rezultnd un cod mai rapid i mai compact.
Registrele de uz general
Fiierul registrelor este optimizat pentru setul mare de instruciuni RISC ale AVR-ului.
n scopul de a atinge performana i flexibilitatea dorit, urmtoarele scheme de intrare/ieire
sunt suportate de fiierul cu registre:
-

Un opernd pe 8 bii de ieire i o intrare pe 8 bii de rspuns,

Doi operanzi pe 8 bii de ieire i o intrare pe 8 bii de rspuns,

Doi operanzi pe 8 bii de ieire i o intrare pe 16 bii de rspuns,

Un opernd pe 16 bii de ieire i o intrare pe 16 bii de rspuns.

35

FIG 3.3. Cele 32 de registre cu scop general de lucru [2]

Majoritatea instruciunilor ce se desfoar n fiierul de registre au acces direct la toate


registrele, i majoritatea sunt instruciuni pe un singur ciclu de ceas. Conform figurii de mai sus,
fiecrui registru i este atribuit o adres de memorie, grupndu-le n primele 32 de locaii din
spaiul de date (DS). Chiar dac nu sunt implementate fizic ca locaii de memorie SRAM,
aceast organizare a memoriei ofer o flexibilitate ridicat la accesul registrelor, deoarece
registrele pointer X- ,Y- i Z- pot fi puse s arate ctre oricare registru din fiier.
Registrele indici X- ,Y- i ZRegistrele R26-31 au o serie de funcii suplimentare adugate utilizrii lor generale.
Aceste registre sunt pointeri de adres pe 16 bii, pentru adresarea indirect n spaiul memoriei.

FIG 3.4. Registrele X,Y,Z [2]

Pentru diferitele moduri de adresare, aceste registre de adres, au funcii cum ar fi:
incrementare/decrementare automat.
Indicatorul de stiv (Pointerul de Stiv)

36

Indicatorul de stiv este n principal folosit pentru a stoca datele temporare, pentru
stocarea variabilelor locale i pentru stocarea adreselor de ntoarcere dup ntreruperi i subrutine
de apel. Pointerul de stiv ntotdeauna indic vrful stivei. De reinut c stiva este implementat
de la locaiile de memorie mari la cele mici. Aceast presupune ca operaia PUSH a stivei
decrementeaz pointerul de stiv. Stiva memoriei de date SRAM trebuie definit de program
nainte de fiecare apelare a subrutinelor sau ntreruperilor. Valoarea iniial a plnsului de stiv
este ultima adres a memoriei SRAM. Pointerul este decrementat cu 1 de fiecare dat cnd datele
sunt introduse n stiv folosind instruciunea PUSH i este decrementat cu 2 cnd adresa de
ntoarcere este introdus n stiv cu subrutine de apel sau ntreruperi.
Pointerul de stiv al AVR conine 2 regitri de 8 bii n spaiul I/O. Numrul de bii
folosii n realitate este dependent de implementare. n unele implementri ale arhitecturii AVR,
spaiul de date este att de mic nct doar registrul SPL(Stack Pointer Low) este necesar, registrul
SPH(Stack Pointer High) nu va fi prezent.

FIG 3.5. Regitrii pointerului de stiv (high/low)[2]

Memoriile AVR
Arhitectura AVR este divizat n dou spaii principale de memorie, memoria de date i
memoria de program. n plus ATmega328p deine i o memorie EEPROM pentru stocarea
datelor. Toate cele 3 spaii de memorie sunt liniare i regulate.
Memoria integrat Flash
ATmega328P are o memorie flash reprogramabil integrat de 32 KB. Deoarece toate
instruciunile AVR sunt de 16/32 de bii, memoria Flash este organizat ca 16 KB x 16. Pentru
securitatea softului, spaiul memoriei Flash este mprit n dou seciuni: cea de Boot i cea de
program de aplicaii. Memoria Flash rezist la cel puin 10.000 de cicluri scriere/tergere.

37

FIG 3.6. Memoria de program [2]

Memoria SRAM
Atmega328p este un microcontroler complex cu mai multe uniti periferice dect pot fi
suportate n cele 64 de locaii rezervate n Opcode (operation code) pentru instruciunile de
intrare/ieire. Ultimele 2303 locaii de memorie sunt repartizate dup cum urmeaz: primele 32
locaii aparin Registrului Fiier, urmtoarele 64 de locaii sunt repartizate memoriei de
intrare/ieire, apoi urmeaz 160 de locaii pentru extensia memoriei I/O, iar ultimele 2048 locaii
de memorie acceseaz datele interne SRAM.

FIG 3.7. Harta memoriei SRAM [2]

Cele 5 moduri de adresare a memoriei de date sunt: direct, indirect cu deplasament,


indirect, indirect cu pre-decrementare i indirect cu post-incrementare. n fiierul registrelor,
registrele R26 pn la R31 conin registrele pointer pentru adresarea indirect. Adresarea direct
atinge ntreg spaiul de date. Adresarea indirect cu deplasament atinge 63 de locaii de adrese de
la adresa de baz dat de registrele Y- sau Z- . Atunci cnd se folosete adresarea indirect cu
registre cu pre-decrementare i post-incrementare automat, registrele de adrese X,Y i Z sunt
decrementate sau incrementate. Cele 32 de registre de uz general, 64 de registre de intrare/ieire,
cele 160 de extensii ale registrelor I/O i cei 2048 de octei de memorie intern SRAM sunt
accesibili prin toate aceste moduri adresare.
Memoria de date EEPROM

38

Capacitatea acestei memorii este de 1KB. Ea este organizat ca un spaiu de date


separat, n care fiecare byte poate fi scris i citit. EEPROM-ul rezist de minim 100000 de cicluri
scriere/tergere. Regitrii de acces ai EEPROM-ului sunt accesibili n spaiul I/O.
Ceasul sistemului
Schema urmtoare prezint principalele sisteme de ceas ale AVR-ului i distribuia lor.
Nu este necesar ca aceste sisteme s fie active toate n acelai timp, i pentru a reduce consumul
de energie, modulele de ceas pot fi oprite folosind diverse moduri de hibernare (sleep)

.
FIG 3.8. Distribuia ceasului n uC [2]
Ceasul CPU este pus la dispoziie componentelor ce se ocup cu funcionarea nucleului
AVR. Exemple de astfel ce componente sunt Fiierul cu Registre de Uz General, registrele de
stare i memoria de date ce ine pointerul de stiv. Oprind ceasul CPU-ului inhib nucleul s
execute operaii generale i calcule.
Orice surs de ceas necesit o tensiune Vcc adecvat pentru a ncepe oscilaia i un
numr minim de cicluri de oscilaie, nainte ca s poat fi considerat stabil. Pentru a asigura o
tensiune Vcc suficient, dispozitivul emite un reset intern cu o ntrziere de time - out (t TOUT)
dup ce reset-ul dispozitivului este eliberat de ctre toate celelalte surse de reset. ntrzierea este
msurat de Oscilatorul Wachdog, iar numrul de cicluri de ntrziere este dat de biii fuzibili
SUTx i CKSELx. ntrzierile selectabile sunt reprezentate n tabelul urmtor:
Time-out
(Vcc=5V)
0 ms

tipic

Time-out
(Vcc=3V)
0 ms

tipic

Numrul de cicluri
0

39

4.1 ms

4.3 ms

512

65 ms

69 ms

8.192

TAB 3.1. ntrzierile selectabile [2]

Principalul scop al ntrzierii este s menin AVR-ul n reset pn cnd acesta este
alimentat cu tensiunea Vcc minim. ntrzierea nu monitorizeaz tensiunea i va fi necesar
selectarea unei ntrzieri mai mari dect timpul de cretere al tensiunii Vcc. Dac acest lucru nu
este posibil, un circuit de detecie Brown-Out intern sau extern va trebui folosit. Un circuit BOD
ar asigura suficient tensiune Vcc, nainte de a elibera reset-ul, iar ntrzierea de time-out poate fi
dezactivat.
Managementul consumului i modul Sleep
Modul Sleep permite aplicaiei s opreasc modulele nefolosite de MCU, salvnd astfel
consumul. AVR pune la dispoziie o serie de moduri Sleep, oferindu-i utilizatorului posibilitatea
de a-i alege consumul de putere n funcie de cerinele aplicaiei.
Pentru a intra n oricare din modurile Sleep, bitul SE din registrul SMCR(Sleep Mode
Control Register) trebuie pus n 1 logic i trebuie executat o instruciune SLEEP. Biii SM2,
SM1 i SM0 din registrul SMCR selecteaz care mod Sleep va fi activat de instruciunea SLEEP
conform cu tabelul de mai jos:

TAB 3.2. Bii ce selecteaz modul de Sleep [2]

Dac o ntrerupere a fost activat, n timp MCU este n modul Sleep, acesta se
trezete. Unitatea MCU este apoi oprit pentru 4 tacturi de ceas n momentul timpului de
pornire, se execut rutina de ntrerupere i se reia execuia ce urmeaz dup SLEEP. Coninutul
fiierului de registre i memoria SRAM nu sunt alterate atunci cnd dispozitivul se trezete din
modul Sleep. Dac apare o instruciune de reset n timpul modului SLEEP, unitatea MCU se
trezete i execut de la vectorul de reset.
Modul Idle
Atunci cnd biii SM2..0 sunt scrii 000, instruciunea SLEEP face ca unitatea MCU s
intre n modul idle, oprind unitatea CPU, dar permind SPI, UART, Comparator Analogic, ADC,
interfaa serial, Timer, Watchdog i sistemului de ntreruperi s funcioneze n continuare. Acest
mod practic oprete ceasul CPU i Flash, n timp ce permite celorlalte s funcioneze.
Modul ateptare permite unitii MCU s se trezeasc dintr-o ntrerupere generat
extern ct i generat intern. Dac o ntrerupere de la Comparatorul Analog nu este necesar,

40

acesta este oprit prin setarea bitului ACD. Astfel se va reduce consumul de energie n modul idle.
Dac ADC-ul este activat, o conversie pornete automat atunci cnd se intr n acest mod.
Modul oprire
Atunci cnd biii SM2..0 sunt scrii 010, instruciunea SLEEP face ca unitatea MCU s
intre n modul oprire. n acest mod, oscilatorul extern este oprit, n timp ce ntreruperile externe,
interfaa serial, Watchdog-ul continu s funcioneze. Numai un reset extern, un reset
Watchdog, un reset Brown-out, o ntrerupere extern pe INT7:4, INT3:0 sau o ntrerupere pe
schimbare de pin poate s trezeasc unitatea MCU.
Revenirea din modul Oprire se face cu o ntrziere, din momentul n care condiia de
revenire este lansat pn n momentul revenirii efective. Aceast permite ceasului s
reporneasc i s devin stabil dup ce a fost oprit.

Modul economie de putere


Atunci cnd biii SM2..0 sunt scrii 011, instruciunea SLEEP face ca unitatea MCU s
intre n modul economie de energie. Acest mod este identic cu modul Oprire cu o singur
excepie:
Dac Timer/Numaratorul2 este activ, va continua s ruleze n timpul modului.
Dispozitivul se poate trezi fie de la un eveniment de tip Timer Overflow sau Output Compare de
la Timer/Numrtorul, dac biii corespunztori ntreruperii sunt setai n TIMSK2, i bitul
ntreruperilor globale este setat n SREG. Dac Timer/Numrtorul nu este activ, se recomand
modul Oprire.
Minimizarea consumului de energie
Sunt cteva aspecte de care trebuie inut cont atunci cnd se ncearc minimizarea
consumului de energie ntr-un sistem avnd la baz AVR. n general, modurile Sleep trebuie
folosite ct mai mult, i trebuie selectat modul n care ct mai puine funcii ale dispozitivului s
fie funcionale. Toate funciile care nu sunt folosite ar trebui dezactivate.
Porturi digitale generale I/O
Acestea sunt porturi I/O bidirecionale cu rezistene pull-up interne opionale. n Anexa
3 se va gsi diagrama complet a porturilor de I/O a microcontrolerului Atmega328P.
Comparatorul Analog Numeric
Acesta prezint urmtoarele specificaii
-

10 bii Rezoluie,

2 LSB Eroarea absolut,

13 260 s Timp de conversie,

6 canale multiplexate de intrare,

0 Vcc limitele tensiunii de intrare ADC,

Senzor de temperatur la canalul de intrare,

Tensiune de referin selectabil 1.1V,

41

Declanarea unei ntreruperi atunci cnd conversia este finalizat,

Atenuarea zgomotului n modul Sleep.

Atmega328p prezint un convertor analog digital cu aproximri succesive, cu


rezoluie pe 10 bii. Convertorul este conectat la un multiplexor analog pe 8 canale care
permite construirea a 8 tensiuni de intrare din pinii Portului A. Dispozitivul conine un circuit
de eantionare i memorare care asigur meninerea, tensiunii de alimentare, constant n
timpul conversiei . Convertorul are un pin separat de alimentare, AVCC, care nu trebuie s
difere mai mult de 0.3V faa de Vcc.
Referinele interne de tensiune 1.1V sau AVCC sunt integrate. Convertorul analog
digital transform tensiunea analogic de intrare ntr-o valoare digital pe 10 bii, prin
aproximri succesive. Valoarea minim o reprezint GND(0V), iar valoarea maxim o
reprezint AREF minus 1 LSB. Opional, AVCC sau o tensiune intern de referina 1.1V poate
fi conectat la pinul AREF prin scrierea biilor ai REFSn din registrul ADMUX. Tensiunea de
referin intern poate astfel fi decuplat printr-un condensator extern la pinul AREF pentru a
mbunti imunitatea la zgomot. Canalele analogice de intrare sunt selectate prin scrierea
prin multiplexor bii n ADMUX i ADCSRB. Oricare dintre pinii de intrare ADC, i GND
de asemenea, poate fi selectat ca intrri uni-sens ctre ADC. ADC.

FIG 3.9. Schema bloc convertor analog numeric [2]


Unitatea I2C

42

Modulul I2C (TWI) cuprinde cteva submodule. Toi regitrii ncadrai cu linie groas
sunt accesibili prin intermediul magistralei de date AVR.

FIG 3.10. Diagrama bloc a unitii I2C [2]

Unitatea de generare a ratei de bit - controleaz perioada liniei SCL cnd opereaz n
modul Master. Perioada SCL-ului este controlat prin setri n TWBR i n biii Prescalatorului
din registrul de stare I2C (TWRS).
Unitatea de interfaare a Magistralei - conine registrul de schimbare a datelor i
adreselor (TWDR), controlerul de start/stop i un dispozitiv de detecie arbitrar. TWDR-ul
conine adrese sau octei de date ce trebuie transmise sau adrese/octei de date recepionate.
Controlerul de start/stop este responsabil cu generarea i detecia condiiilor de start, repetare
start i stop. Controlerul este capabil s detecteze condiiile de start/stop chiar i n cazul cnd
MCU se afl ntr-unul din modurile de sleep. n cazul transmisiei I2C ca Master, hardware-ul de
detecie arbitrar va monitoriza continuu transmisia ncercnd s determine dac preconizarea
este n proces.
Unitatea de fixare a adreselor verific dac octeii adresei recepionate se potrivesc
adresei de 7 bii n TWAR(registrul de adres I2C).
Unitatea de control monitorizeaz magistrala I2C i genereaz rspunsuri
corespunztoare setrilor Registrului de control I2C (TWCR).

3.2. Seeeduino v2.21

43

Seeeduino este o plac de dezvoltare asemntoare cu celebra Arduino UNO. Designul


sau este bazat pe schema Diecimilia, 100% compatibil cu programul sau existent, shield-ul i
IDE-ul (din englez Integrated Development Environment- mediul de dezvoltare a programelor
de calculator). Pe partea hardware s-au fcut schimbri remarcabile pentru a mbuntii
flexibilitatea i experiena utilizatorului. Procesorul este optimizat s ruleze cod scris ntr-un
limbaj de programare apropiat ca structur codului C++.

FIG 3.11. Semnificaia componentelor [40]

ICSP ( in-circuit serial programming) = este o tehnic prin care un dispozitiv


programabil este programat dup ce acesta este plasat ntr-o plac de circuit. Plac
Seeeduino dispune de un astfel de port prin care utilizatorul poate rescrie bootloaderul
microcontrolerului de exemplu.

Oscilator cu cristal de 16MHz = acesta este ca o inim pentru microcontroler. Oscilatorul


prevede un ritm care determin uC s ia msuri. n seria de uControlere AVR fiecare
impuls de ceas execut o singur instruciune ( unele instruciuni au nevoie de mai mult
de un ciclu de ceas pentru a executa). Pentru o sincronizare exact se recomand un
oscilator cu cristal. n general la AVR-uri se folosesc cristale de la 1MHz la 16 MHz ,
depinde de aplicaie.

Regulator de tensiune (3.3 sau 5V) = este folosit pentru a menine un nivel constant al
tensiunii.

PWM (Pulse-width modulation) = 6 dintre pinii plcii de dezvoltare Seeeduino sunt


capabili s genereze la ieire semnale PWM.

44

Termenul PWM aparine limbii engleze i se traduce prin Pulse Witdh Modulation. n
traducere liber nseamn Semnal Modulat n Durat. Semnalele PWM sunt utilizate ndeosebi
pentru controlul vitezei unui motor de cc sau pentru variaia intensitii unui led s.a.m.d. n cazul
motoarelor n cc, acestea permit controlul vitezei prin mrirea sau micorarea tensiunii de
alimentare dar astfel, viteza variaz neliniar. Pentru corecia acestui inconvenient se recurge la
opiunea de control prin semnale PWM unde putem obine o variaie liniar a vitezei motorului.
Relaia matematic prin care putem calcula factorul de umplere al semnalului PWM este:
D=

unde este durata impulsurilor iar T este perioada semnalului.

FIG 3.12. Schema simplificat a unui circuit de obinere a semnalului PWM

FIG 3.13. Reprezentarea semnalului PWM

Frecvena de lucru a generatorului este fixat de valoarea constantei de timp RC.


Amplificatorul de eroare are rol n compararea tensiunii de referin (Vref) i
semnalului de reactive (Vf). Vf se obine, uzual, prin divizarea tensiunii de ieire:
Vf = *V0 fiindc Vf = Vref i V0 = Vref/

45

Principiu de funcionare
n comparator valoarea Va este comparat cu valoarea Vr; n cazul n care Va > Vr
atunci la ieirea comparatorului vom obine valoarea `1` (Ton), iar n caz contrar vom obine
valoarea `0`(Toff). Creterea tensiunii de ieire determin Vf s creasc peste Vref ceea ce va
rezulta o scdere a Va, deci durata pentru `1` logic la ieirea comparatorului va fi mai scurt. n
cazul scderii tensiunii de ieire atunci vom obine o durat mai mare pentru `1`logic la ieirea
comparatorului. Variaia limii impulsului n funcie de tensiunea de ieire se datoreaz
factorului de umplere ( n englez : duty cicle).

Convertor USB- serial UART = FT232R este un dispozitiv de interfaare ntre USB i
serial UART care simplific configuraia USB-serial i reduce numrul componentelor
externe (prin integrarea unui EEPROM pentru configurare, a unor rezistori terminali
USB i a unui circuit integrat de ceas care nu necesit cristal extern) n dispozitiv. Acest
dispozitiv a fost optimizat pentru a opera eficient cu un controler gazd USB prin
utilizarea ct mai redus posibil a benzii de transmisie disponibil USB-ului.

FIG 3.14.Modul de conexiune al interfeei USB cu interfaa UART prin FT232R [41]

Semnificaia Pinilor integratului FT232R


Vcc
= pinul de alimentare cu tensiune cuprins ntre 3.3v i 5.25v;
USBDM = Minusul semnalului de date al USB-ului;
USBDP = Plusul semnalului de date al USB-ului;
3V3OUT = ieirea de 3.3V a regulatorului integrat. Acest pin ar trebui s fie decuplat de GND
printr-un condensator de 100nF. Principal utilizare a acestui pin este de a oferi alimentare
intern de 3.3V pentru celula de emisie-recepie USB i pinului USBDP printr-un rezistor de
pull-up de 1.5 kohmi;
CBUS0 = pin configurabil I/O. Funcia acestui pin este configurat n EEPROM-ul intern al
dispozitivului. n acest caz acest pin administreaz oscilatorul de 12 MHz;

46

TXD
RXD
RTS
CTS
VCCIO

= transmitor asincron de date de ieire;


= receptor asincron de date de intrare;
= Request to Send Control Output / Semnal de Handshake;
= Clear To Send Control Input / Semnal de Handshake;
= pin ce alimenteaz interfaa UART.

Sumar Seeeduino
-

Microcontroler: ATmega328P

Tensiune de operare: 5V

Tensiune de intrare (recomandat): 7 - 12V

Tensiune de intrare (limite): 6 - 20V

Pini I/O digitali: 14 (dintre care 6 PWM de ieire)

Pini I/- analogici: 6

Curent continuu pt fiecare pin I/O: 40mA

Memoria Flash: 32 KB dintre care 0.5 KB folosii de bootloader

SRAM: 2 KB

EEPROM: 1KB

Vitez de ceas (clock speed): 16 MHz

Seeeduino poate fi alimentat prin conectorul USB sau de la o surs de alimentare extern.
Input i Output
Fiecare din cei 14 pini de plac pot fi folosii fie ca input sau ca output, folosind
funciile pinMode(), digitalWrite() sau digitalRead. Ei pot opera la 5 voli. Fiecare pin poate
genera sau primi maxim de 40 mA i conine un rezistor de ridicare(pull-up) intern (deconectat
prin default ) de 20-50 kOhmi. Ba mai mult, unii pini au funcii specializate, precum:
-

serial: 0(RX) i 1 (TX) . Folosit s recepioneze (RX) i s transmit (TX) date seriale
TTL.

ntreruperile externe: 2 i 3. Aceti pini pot fi configurai pentru a declana o ntrerupere


la o valoare joas, o ridicare , o scdere sau o schimbare a valorii.

PWM: 3, 5, 6, 9, 10 i 11. Ofer un semnal PWM de ieire de 8 bii cu funcia


analogWrite().

SPI: 10 (SS), 11(MOSI), 12 (MISO), 13(SCK). Aceti pini suport comunicaia de tip
SPI folosind librria SPI.

LED: 13. Acesta este un LED ncorporat conectat la pinul digital 13. Cnd pinul este la
nivelul logic 1, ledul este aprins, iar cnd este la 0 logic , ledul este stins.

47

Seeeduino v2.21 are 6 intrri analogice, etichetate de la A0 la A5, fiecare genernd o


rezoluie de 10 bii (echivalentul a 1024 de valori). n modul default ei msoar de la 0 la 5 voli,
chiar dac este posibil schimbarea limitei superioare a intervalului lor folosind pinul AREF i
funcia analogReference. n plus, unii pini au funcii specializate:
-

TWI: pinul A4 ( SDA) sau pinul A5 ( SCL). Susin comunicarea TWI folosind librria
WIRE

Ali pini :

AREF: tensiunea de referin pentru intrri analogice. Este folosit cu funcia


analogReference.

Reset: aduce linia la nivelul logic 0 s reseteze microcontrolerul. Este folosit de obicei
pentru a aduga un buton de resetare pentru shield-urile care l blocheaz pe cel deja
existent.

Comunicaie
Seeeduino are multiple faciliti pentru comunicarea cu computerul, cu un alt Seeeduino
sau cu un alt microcontroler. ATmega328 dispune de o comunicare de tipul UART TTL (5V)
care este disponibil pe pinii digitali 0 (RX) sau 1(TX). Pe Windows este necesar un fiier de
tip .inf. Software-ul Arduino dispune de un serial monitor care permite transmiterea datelor
simple textuale ctre i de la Arduino. LED-urile TX i RX de pe plac vor pulsa cnd dat este
transmis prin convertorul USB-serial i de la conexiunea USB la computer . O librrie
SoftwareSerial permite comunicarea serial pe orice pin al plcii. uC ATmega328 susine de
asemenea comunicaiile I2C (TWI) i SPI. Software-ul Arduino include o librrie Wire pentru a a
simplifica utilizarea busului I2C.
Protecia USB-ului la supracurent
Seeeduino v2.21 are un polifuzibil resetabil care protejeaz portul USB de
scurtcircuitri i suprasarcini. Dei majoritatea calculatoarelor i asigur protecia intern,
sigurana fuzibil ofer un nivel superior de protecie. Dac portului USB i sunt aplicai mult de
500mA, atunci sigurana va nchide conexiunea n mod automat pn cnd scurtcircuitul i
suprasarcina vor fi eliminate.

3.3. Senzori analogici i digitali


3.3.1. MQ-2
Senzorii de gaz MQ2 sunt senzori ce genereaz la ieire semnal analogic; acetia sunt
utilizai pentru detecia scurgerilor de gaze a echipamentelor din locuina i industrie.

48

FIG 3.15. Senzorul MQ2 [3]

Materialul senzitiv al acestui tip de senzor este SnO2 i are conductivitate foarte redus
n aerul curat. Cnd o int de gaz exist, conductivitatea senzorului este mai ridicat pe msura
ce concentraia de gaz crete. Senzorul are pe shield un poteniometru rezistiv ce este utilizat
pentru alegerea sensibilitii. Senzorul MQ-2 are sensibilitate crescut fa de GPL, propan i
Hidrogen, dar reacioneaz de asemenea i n cazul metanului sau a altor combustibili ( chiar i
la fum).

FIG 3.16. Structura i configuraia senzorului [3]

1.
2.
3.
4.
5.
6.
7.
8.
9.

Zon sensibil la gaz ( SnO2);


Electrod (Au);
Linia electrodului (Pt);
Bobin de nclzire ( aliaj Ni-Cr);
Tub ceramic (Al2O3);
Reea antiexplozie (plas din oel inoxidabil);
Inel de prindere (cupru placat cu nichel);
Strat de rin (bachelit);
Pini (cupru placat cu nichel).
Structura i configuraia senzorului de gaz MQ2 este reprezentat mai sus, acesta fiind

compus dintr-un microtub ceramic Al2O3, un strat senzitiv de oxid de staniu, iar electrodul de
msurare i cel de nclzire sunt fixai pe un nveli realizat din plastic i o plas din oel
inoxidabil. nclzitorul confer condiii de lucru necesare pentru componentele senzitive. MQ-2

49

prezint 6 pini, 4 dintre acetia fiind utilizai pentru transmiterea semnalelor, iar ceilali 2 pentru
a genera curent de nclzire.

TAB 3.3. Specificaii MQ2 [3]

FIG 3.17. Circuitul de test al senzorului [3]

Senzorul are nevoie de dou tensiuni: tensiunea nclzitorului (VH) i tensiunea de test
(VC). VH era folosit pentru a asigura temperatur de lucru senzorului, n timp ce VC este
utilizat pentru detectarea tensiunii (VRL) pe rezistorul de sarcin (RL) care este pus n serie cu
senzorul. Senzorul are polaritate slab, VC avnd nevoie alimentare n curent continuu. VC i
VH pot folosi aceeai putere cu condiia s asigure performan senzorului. Pentru a asigura o
mai bun performan senzorului, este necesar o valoare RL potrivit.

50

FIG 3.18. Caracteristici de sensibilitate [3]

n aceast figur, ordonata reprezint raportul de rezisten al senzorului (Rs/Ro), iar


abscisa figureaz concentraia de gaze. Rs este rezistena la diferite concentraii de gaze, pe cnd
Ro reprezint rezistena senzorului n 1000ppm Hidrogen.

3.3.2. TMP275
Senzorii de temperatur TMP275 sunt senzori cu o acuratee de 0.5 grade Celsius, ce
comunic pe interfaa I2C genernd un semnal digital la ieire; aceti senzori sunt disponibili n
dou variante de ncapsulare MSOP-8 sau SO-8. Ei sunt capabili s citeasc temperaturi cu o
rezoluie de 0.0625 grade Celsius.

FIG 3.19. Senzorul TMP275 i Structura intern a acestuia [8]

51

:
FIG 3.20. Schema de conectare celor 4 senzori de temperatur

TMP275 nu necesit nici o component extern pentru a opera, cu excepia rezistorilor


de ridicare (pull-up) pe SCL i SDA; se mai recomand un condensator de decuplare (bypass
capacitor) de 0.1 microfarazi.
Condensator de decuplare
Este folosit pentru prevenirea intrrii n circuite a zgomotului electric. Acest
condensator reduce componenta continu ( riplul) tensiunii. De regul se folosete cte un
condensator de decuplare pentru orice component de circuit.

FIG 3.21. Aciunea unui condensator de decuplare n prezena unei tensiuni zgomotoase.

52

FIG 3.22. Structura intern a regitrilor [8]

Registrul pointer
Registrul Pointer de 8 bii al dispozitivului este utilizat pentru a adresa un registru de
date dat. Registrul pointer utilizeaz cei doi LSB pentru a identifica care dintre regitrii de date
ar trebui s rspund la o comand de citire sau scriere. Tabelul de mai jos identific biii din
byte-ul unui Registru Pointer.

TAB 3.4. Byte-ul Registrului Pointer [8]

TAB 3.5. Adresele pointer [8]


Registrul de Temperatur
Acest registru de 12 bii, este unul de tip read-only (doar pentru citire) care stocheaz
rezultatul celei mai recente conversii.

TAB 3.6. Octeii Registrului de Temperatur (MSB i LSB) [8]

53

TAB 3.7. Formatul datelor temperaturii [8]


Registrul de Configurare
Registrul de configurare este unul de tip citire/scriere de 8 bii; este folosit pentru a
stoca bii care controleaz modurile operaionale ale senzorului. Operaiile de citire/scriere sunt
efectuate de MSB.

TAB 3.8. Formatul Registrului de Configurare [8]


SD (shutdown mode) permite utilizatorului s economiseasc putere maxim prin nchiderea
tuturor circuitelor dispozitivului, altele dect cele ale interfeei seriale, reducnd n acest fel
consumul de curent la mai puin de 1A.
TM (thermostat mode) bitul acestui mod indic dispozitivului modul de operare i anume:
modul comparator (TM=0) sau modul ntrerupt (TM=1)
POL (polarity) bitul polaritii permite utilizatorului s regleze polaritatea de ieire a pinului
ALERT.
F1/F0 (fault queue) o condiie de defect este definit ca atunci cnd temperatura msurat
depete limitele setate de utilizator n regitrii Thigh i Tlow.
R1/R0 (converter resolution) biii convertorului de rezoluie controleaz rezoluia convertorului
analog digital intern. Acest control permite utilizatorului s maximizeze eficiena de programare
pentru o rezoluie ridicat sau un timp de conversie mai rapid.

TAB 3.9. Biii de rezoluie i relaia dintre rezoluie i timpul de conversie [8]

54

Interfaa serial
Senzorul TMP275 opereaz doar ca dispozitiv slave pe magistrala I2C. Conexiunile la
magistral sunt fcute prin liniile I/O open-drain (tehnic de circuit care permite mai multor
dispozitive s comunice bidirecional pe un singur fir) SDA i SCL. Pinii SDA si SCL dein filtre
integrate de suprimare a spike-urilor pentru a minimiza efectele spike-urilor i zgomotului de pe
magistral, la intrare.
Adresele magistralei seriale
Pentru a comunica cu senzorul, masterul este primul care trebuie s se adreseze
dispozitivelor slave prin intermediul unui byte de adres. Acest octet este format din 7 bii de
adres i un bit de direcie care indic intenia execuiei ( o operaie de scriere sau de citire).
Senzorul are 3 pini de adres, iar pe bus se pot conecta pn la 8 dispozitive. Adresele pinilor
senzorului sunt citite dup reset, la nceputul comunicaiei sau ca rspuns la o cerere de
dobndire a adresei I2C. n urma citirii strii pinilor, adresa este memorat (latched) pentru a
minimiza disiparea puterii asociat cu detecia.

TAB 3.10. Pinii de adres i adresele dispozitivelor slave [8]


Prezentarea magistralei
Dispozitivul care iniiaz transferul este numit MASTER, iar dispozitivele controlate de
acesta se numesc SLAVE. Magistrala trebuie controlat de un dispozitiv master care genereaz
semnal serial de ceas (SCL), controleaz accesul magistralei i genereaz condiiile de start i
stop. Pentru a aborda un dispozitiv specific, este iniiat o condiie de start, indicat prin tragerea
luniei de date (SDA) de la nivelul logic 1 la nivelul logic 0 ct timp linia SCL este la nivelul
logic 1. Toate slash-urile de pe magistral schimb n byte-ul de adres a spaiului, cu ultimul bit
indicnd dac o operaie de citire sau scriere este destinat. Pe durata celui de-al noulea impuls
de ceas, slav e-ul abordat rspunde masterului prin generarea unui ACKnowledge i trgnd linia
SDA la nivelul logic 0.
Transferul de date este apoi iniiat i trimis peste opt impulsuri de ceas urmate de un bit
de ACKnowledge. n timpul transferului de date linia SDA trebuie s rmn stabil ct timp
linia SCL este la nivelul logic 1. Cnd toate datele au fost transferate, masterul genereaz o

55

condiie de stop indicat prin tragerea liniei SDA de la nivelul logic 0 la nivelul logic 1 ct timp
linia SCL este la nivelul logic 1.
Parametrii Diagramelor de timp
1. Magistrala inactiv ambele linii rmn la nivelul logic 1.
2. Start transferului de date o modificare a strii liniei SDA de la nivelul logic 1 la 0, ct timp
linia SCL este la nivelul logic 1, definete condiia de start. Fiecare transfer de date este
iniiat cu o condiie de start.
3. Stop transferului de date o schimbare a strii liniei SDA de la nivelul logic 0 la 1, ct timp
linia SCL este la nivelul logic 1, definete condiia de stop. Fiecare transfer de date este
terminat cu repetarea condiiilor de start i stop.
4. Transferul de date numrul byilor de date transferai ntre condiia de start i cea de stop
nu este limitat i este determinat de dispozitivul master.
5. ACKnowledge fiecare dispozitiv de recepie, atunci cnd este abordat, este obligat s
genereze un bit de ACK. Un dispozitiv care recunoate trebuie s trag la nivelul logic 0
linia SDA pe perioada impulsului de ceas al recunoaterii n aa fel nct linia SDA s fie
stabil la 0 logic n cursul perioadei nivelului logic 1 al impulsului de ceas al recunoaterii.

FIG 3.23. Diagramele de timp I2C [8]


Scrierea/citirea senzorului TMP275

56

Accesarea unui anumit registru de pe senzor este realizat prin scrierea valorii
corespunztoare n Registrul Pointer. Valoarea pentru Registrul Pointer este primul byte
transferat dup byte-ul adresei slave cu R/W la nivel logic 0. Orice operaie de scriere pe tmp275
necesit o valoare pentru Registrul Pointer (referine se pot gsi la figura 5 din datasheet-ul
TMP275). Cnd citim de pe TMP275, ultima valoare a operaiei de scriere stocat n Registrul
Pointer este utilizat pentru a determina care registru este citit de o operaie de citire. Pentru a
schimba Registrul Pointer pentru o operaie de citire, o nou valoare trebuie scris n Registrul
Pointer. Acest lucru este realizat prin emiterea unui byte de adres al spaiului cu bitul R/W la
nivelul logic 0, urmat de byte-ul Registrului Pointer. Nu este nevoie de date suplimentare.
Masteratul poate genera apoi o condiie de start i trimite byte-ul de adres a slav e-ului cu bitul
R/W la nivelul logic 1 pentru a iniia o comand de citire. Dac se dorete citirea repetat din
acelai registru, nu mai este necesar s se trimit continuu octe ii Registrului Pointer, pentru c
TMP275 reine valoarea RP pn cnd aceasta este schimbat de urmtoarea operaie de scriere.

FIG 3.24. Imagine capturat pe osciloscop n timpul comunicrii pe I2C a celor 4 senzori cu
Seeeduino
Caracteristici generale:
- 8 adrese disponibile;
- Ieire digital: interfa I2C;
- Rezoluie: 9 12 bii, selectabile de ctre utilizator;
- Acuratee 0.5 grade Celsius ntre -20 de grade i +100 de grade;
- Consum curent: 50uA;
- Plan larg de alimentare: 2.7V la 5.5V

57

FIG 3.25. Pinii senzorului TMP275 [8]

3.3.3. DHT11
Senzorul DHT11 este un senzor mixt ce red valoarea umiditii i a temperaturii. El
utilizeaz un senzor capacitiv de umiditate i un termistor pentru a msur aerul nconjurtor i
emite un semnal digital pe pinul de date (nu este necesar nici un alt pin analog de intrare).
Modul de funcionare a unui senzor capacitiv de umiditate
Componenta sensibil reprezint o pelicul a unui polimer ce absoarbe vapori de ap
din mediul ambiant, n funcie de creterea sau scderea umiditii relative. Caracteristicile
peliculei de polimer din punct de vedere dielectric sunt strns legate de cantitatea vaporilor de
ap pe care aceasta o conine. Prin urmare, capacitatea electric a dispozitivului se modific n
funcie de umiditatea aerului nconjurtor. Relaia dup care umiditatea relativ variaz n
domeniul 0-100% este:

Exist, de asemenea i un cip de baz ca face o conversie analog numeric i genereaz


un semnal digital pentru temperatur i umiditate.

58

FIG 3.26. Senzorul DHT11 [5]

Shield-ul pe care este montat senzorul are 3 pini (fig stnga) i nu 4 (fig dreapt). Acest
lucru se datoreaz faptului c pinul de Vcc este trapat cu pinul NC. Deci pe shield vom avea n
stnga pinul de date, apoi Vcc-ul i GND-ul. Vom regsi i un rezistor de 4,7 Kohmi plasat ntre
linia de date i Vcc, acesta avnd rol de ridicare (pull-up) a liniei de date.
Caracteristici generale:
-

Alimentare 3.5 pn la 5.5 V;


2.5 mA curent consumat n timpul funcionrii;
Ideal pentru citirea umiditii ntr-un interval cuprins ntre 20 i 95% cu acuratee de 5%;
Ideal pentru citirea temperaturii ntre 0 i 50 de grade Celsius cu acuratee de +/- 2 grade;
Rata de conversie 1 Hz (o afiare pe secund).

Particulariti:
-

Plana larg de temperatur;


Msurare a temperaturii i umiditii relative;
Semnal digital calibrat;
Stabilitate foarte bun pe termen ndelungat;
Nu necesit alte componente;
Distan mare de transmisie;
Consum redus de putere;
Pachet cu 4 pini complet interschimbabili.
Interfaa serial pe un singur fir face ca interogarea sistemului s fie rapid i uoar.

Dimensiunea mic, consumul redus i distana de transmisie de pn la 20 de metrii fac din


DHT11 cea mai bun alegere pentru diverse aplicaii, chiar i n cazul celor mai solicitante.
Procesul de comunicare : interfaa serial ( un singur fir pentru transmisie i recepie)
Un lucru interesant legat de acest modul este protocolul folosit pentru a transfera
informaii. Toate citirile senzorilor sunt transmise folosind un singur cablu de bus care reduce
costul i mrete distana. Pentru a trimite data printr-un bus trebuie s descrie felul n care

59

aceasta va fi transferat, astfel nct transmitorul i receptorul s se neleag reciproc. Aceasta


este funcia unui protocol. Pe DHT11 firul de bus este ridicat cu un rezistor la Vcc. n consecin,
dac nu se constat nici un semnal, voltajul de pe bus va fi egal cu Vcc.
Formatul de comunicaie poate fi separat n 3 stagii:
1. cerere: pentru a determina senzorul DHT11 s trimit date trebuie s trimii o cerere. Cererea
reprezint trecerea busului de date la GND mai mult de 18 ms pentru a permite senzorului s
neleag i apoi busul trebuie ridicat la voltajul Vcc cca.40uS.
2. rspuns: ceea ce urmeaz dup cerere este rspunsul senzorului DHT11. Este un rspuns
automat ce indic faptul c acesta a primit cererea. Pe perioada rspunsului busul este tras la
valoarea GND-ului aproximativ 54uS, iar apoi ridicat la valoarea Vcc-ului timp de 80uS.
3. citirea datelor: ceea ce urmeaz dup rspuns sunt datele senzorului. Datele vor fi mpachetate
n 5 segmente a cte 8 bii fiecare. 5 x 8 = 40 bii

FIG 3.27. Imagini capturate pe osciloscop n timpul comunicrii 1WI a senzorului cu Seeeduino.
Primele dou segmente reprezint citirea umiditii(valoarea ntreag i zecimal).
Urmtoarele dou segmente in de datele referitoare la temperatur (valoare ntreag i
zecimal), iar ultimul segment reprezint suma primelor 4 segmente. Dac numrul rezultat n

60

acest segment nu este egal cu suma primelor 4 segmente, nseamn c data recepionat nu este
corect.
Cum se indentific biii ?
Fiecare bit trimis este urmat de o secven de 54 uS unde busul este la GND apoi de 24
pn la 70 uS cnd linia busului este la VCC, acest lucru depinznd de valoarea bitului.
Bitul 0 : 54 uS LOW ( la GND) i 24 uS HIGH ( la VCC)
Bitul 1 : 54 uS LOW (la GND) i 70 uS HIGH (la VCC)
Final de frame
La sfritul pachetului transmis de DHT11, pe o perioada de 54 uS busul este LOW,
apoi busul este ridicat HIGH i intr n modul de idle.

3.3.4. ELB145D2P
Senzorul de inundaie ELB145D2P este un sensor simplu destinat detectrii apei,
precipitaiilor, nivelului unui lichid sau chiar detectarea scurgerilor de lichide cu densitate
moderat. Kitul este alctuit din 3 componente: un conector (3 pini: GND, VCC i SIG), un
rezistor pull-up de 1Mohm (utilizat ca divizor rezistiv) i un pieptn format din cteva linii
conductoare paralele. Senzorul msoar conductivitatea i indic dac este uscat, umed sau
complet scufundat n ap. Exist cteva linii pe partea fontal a senzorului. Unele dintre ele sunt
conectate la GND, iar celelalte sunt conectate la pinul de semnal. Ele sunt separate una de
cealalt. Aceast arie este folosit pentru detectarea ploii de exemplu.

FIG 3.28. Senzorul ELB145D2P [9]

Circuitul poate funciona cu pinii digitali I/O ai plcii Arduino, dar se poate conecta i la
pinii analogici ai acesteia pentru a detecta cantitatea de ap indus contactului dintre GND i
liniile senzorului.

61

Cazuri de funcionare:
1. n absena apei
n absena apei, linia GND i cea de semnal sunt separate. Pinul de semnal este conectat la
rezistorul de pull-up i acest pin va furniza o valoare analogic de tensiune ridicat.
2. n prezena apei
n prezena apei, cnd aceasta se afl pe partea frontal a senzorului va deveni un rezistor.
Apa va conecta ntre ele linia GND cu cea de semnal. Valoarea acestui rezistor este de cteva
sute de Kohmi, mult mai mic dect valoarea de 1Mohm a rezistorului de pull-up. Pinul de
semnal va furniza o valoare analogic de tensiune joas.

FIG 3.29. Reprezentarea celor dou cazuri [9]

Caracteristici generale:
-

Alimentare ntre 3.3V i 5.25 V


Curent consumat < 20mA;
Temperatur de funcionare ntre 10 i 30 de grade Celsius;
Umiditatea de funcionare (fr condensare) ntre 10 i 90%.

3.4. SHIELD-ul LCD 16 x 2 cu tastatur


Shield-ul LCD + tastatur este compatibil cu plcile de dezvoltare Arduino, asigurnd o
interfa user frendly care permite utilizatorului o serie de faciliti. Acest shield dispune de un
LCD 16 coloane x 2 linii, ce poate afia caractere de culoare alb pe fundal albastru. Tastatura
are 5 butoane select, up, right, down i left. Pentru a salva pinii I/O digitali, interfaa tastaturii
utilizeaz doar un canal CAD. Valoarea tastei este citit printr-un divizor de tensiune n 5 trepte.

62

FIG 3.30. LCD-ul cu tastatur

Afiorul cu cristale lichide (LCD) Hitachi HD44780


n funcie de mrimea caracterelor, se pot afia 16 caractere pe o linie, n acest caz
afiarea realizndu-se pe dou linii. Memoria DDRAM , generatorul de caractere i dispozitivul
LCD cerut pentru afiarea matricii de cristale lichide sunt furnizate intern pe un chip. Tensiunea
de alimentare a LCD-ului este de la 4.7V pn la 5.5V. Poate fi configurat s ruleze un afiaj
matricial cu cristale lichide sub controlul unui microprocesor de 4 sau 8 bii. . Un sistem minim
poate interfaa cu acest controler/driver. Controlerul HD4470 fabricat de compania Hitachi este
utilizat pentru comandarea afioarelor LCD. Afiorul poate afia cu ajutorul acestui controler
caractere alfanumerice i diferite simboluri de tipul 5x8 sau 5x10.
Sunt foarte multe display-uri cu 16 segmente disponibile pe pia, majoritatea fiind
compatibile ntre ele, prezentnd o metod standard de interfaare pe 16 pini. LCD-ul prezint o
interfa paralel , ceea ce nseamn c microcontrolerul trebuie s manipuleze mai mul i pini n
paralel, n acelai timp, pentru a controla display-ul. n funcie de aplicaie i de numrul de pini
disponibili, utilizatorul poate opta pentru o comunicaie paralel pe 4 sau 8 bii.

63

FIG 3.31. Pinii LCD-ului [42]

TAB 3.11. Semnificaia pinilor [10]

64

FIG 3.32. Schema bloc a dispozitivului de afiare HD44780 [4]

Afiorul LCD HD44780 are doi regitrii pe 8 bii: unul de instruciuni (sau de comand)
[IR] i unul de date [DR].

Registrul de instruciuni (IR) conine coduri de instruciuni, de exemplu tergerea


afiorului i deplasarea cursorului, informaii de adres pentru afiarea datei RAM
(DDRAM) i generatorului de caractere RAM (CGRAM). IR poate fi scris de la interfaa
unitii de procesare a memoriei (MPU).

Registrul de date (DR) stocheaz datele temporar pentru a fi scrise n DDRAM, CGRAM
sau citite din acestea. Data scris de MPU n DR este scris automat n DDRAM sau
CGRAM. Cnd adresa informaiei este scris n IR, data este citit i apoi salvat n DR
de la DDRAM sau CGRAM. Transferul de date ntre MPU este apoi completat cnd
MPU citete DR. Dup citirea datei din DDRAM sau CGRAM urmtoarea adres este
trimis la DR pentru urmtoarea citire de la MPU. Registrele sunt selectate prin semnalul
selector de registre (RS).

Numrtorul de adrese (AC) atribuie adrese la ambele memorii RAM i este reprezentat
pe 7 bii, de la bitul 0 la bitul 6. Cnd o adres a instruciunii este scris n IR, informaia
adresei este trimis de la IF la AC. Selectarea uneia dintre memorii se realizeaz
concurent prin instruciuni. Dup scriere sau citire n DDRAM sau CGRAM, registrul
numrtor este incrementat automat. Coninutul lui AC este apoi scos la ieire pe pinii
DB0 pn la DB6 cnd RS=0 i R/W=1.

Afiarea datei din RAM (DDRAM) - stocheaz data afiat care este reprezentat n cod
de caractere de 8 bii. i poate extinde capacitatea la 80x8 bii sau 80 caractere. Partea de
memorie neutilizat poate fi folosit pentru date generale. n figurile de mai jos sunt
prezentate corespondenele dintre adresele DDRAM i poziiile n cristalele cu lichide.
Dac prin program este setat N=1 afiarea se face pe o linie (TAB 3.13.), iar dac este 0
afiarea este pe dou linii (TAB 3.14.). Dac sunt mai puin de 80 de caractere, afiarea
ncepe pe poziia de sus.

Exemplu: Moduri de afiare a caracterelor pe ecran


00

01

02

03

04

.........

4E

4F

TAB 3.12. Afiarea pe o linie, afiarea poziiei, adresa DDRAM [14]

65

00

01

02

03

04

05

06

07

Afiare poziie
adres DDRAM

00

01

02

03

04

05

06

07

Pentru deplasare
stnga

4F

00

01

02

03

04

05

06

Pentru deplasare
dreapta

TAB 3.13. Afiarea pe linie a 8 caractere [14]

Generatorul de caractere ROM (CGROM) genereaz caractere de 5x8 puncte sau 5x10
puncte de la codul de caractere pe 8 bii (Tabel Anex). Poate genera 208 caractere de
mrime 5x8puncte i 32 caractere de 5x10 puncte. Pot fi valabile, de asemenea, paternuri pentru caractere nedefinite pentru programarea unei mti ROM.

Generator Caracter RAM (CGRAM) - n acest caz utilizatorul poate citi ablonul de
caractere prin program. Pot fi scrise opt caractere de 5x8 puncte sau patru de 5x10
puncte. Scrie n DDRAM codul caracterului al crei adres este indicat n coloana din
stnga a tabelului Anex.

Exemplu: Legtura dintre adresa CGRAM, codul caracterului DDRAM i patern-ul caracterului
(Data CGRAM).

FIG 3.33. Generare caractere [14]

Nr.crt
.

1.

Tip
pin

RS

Intrare/
Ieire

Nr. de
linii

Dispozitivul
interfaeaz

MPU

66

Funcia

Selecie registre:
0: Registru de instruciuni
(pentru scriere)

Flag ocupat: numrtor de


adrese (pentru citire)
1: Registru de date (pentru
scriere i citire)
Selecie pentru citire sau
scriere
0: Scriere
1: Citire
Start citire/scriere date. Cnd
E este pe front descendent,
dispozitivul citete datele de
la liniile DB7 - DB4
Magistral pentru transferul
datelor. Pinul DB7 poate fi
utilizat ca flag ocupat
Magistral pentru transferul
datelor, nu se utilizeaz atunci
cnd dispozitivul lucreaz n
modul 4 bii
Semnal de ceas transmis la un
latch D pentru transmiterea
datelor serial la dispozitivul
extins
Impuls de ceas pentru
deplasarea datelor serial
Semnal de ntrerupere pentru
conversia analog - digital
Caractere
model
corespunznd
la
fiecare
segment de semnal
Semnalele comune nu sunt
utilizate

2.

R//W

MPU

3.

MPU

4.

DB4DB7

I/O

MPU

5.

DB0DB3

I/O

MPU

6.

CL1

Dispozitiv
extins

7.

CL2

8.

9.

Dispozitiv
extins
Dispozitiv
extins
Dispozitiv
extins

10.

COM
1COM
16
SEG1
SEG4
0
V1V5
Vcc,
GND
OSC1
,
OSC2

16

LCD

40

LCD

Semnalele segment

Alimentare

Alimentare

Tensiune de alimentare
VCC V5 = 11 V (max)
VCC: 2.7V la 5.5V, GND: 0V

Oscilator

11.

12.
13.
14.

Cnd oscilatorul cu cristal


este utilizat, un rezistor este
conectat n exterior. Cnd
pinul de intrare este folosit ca
un ceas extern, el trebuie s
fie intrare la OSC1.
TAB3.14. Funciile pinilor [14]

Modul de lucru 4-bii

67

n modul de lucru 4 bii, liniile DB3, DB2, DB1 i DB0 nu sunt utilizate. Datele sau
instruciunile reprezentate pe 8 bii vor fi trimise pe 4 bii. Mai nti se trimit primii patru bii mai
semnificativi i apoi cei mai puini semnificativi. Cnd pe pinul de validare se face trecerea de pe
nivel sus pe nivel jos, dispozitivul va citi pinii DB7-DB4 i se va salva data citit n IR (dac este
trimis o instruciune RS=0) sau DR (dac este trimis o data (RS=1). Iniial, modulul este pe
modul 8 bii i trebuie setat de programator pe modul 4 bii. Aceasta se realizeaz prin trimiterea
instruciunii Function Set.
2-linii, font de 5x8 puncte: Nibble cel mai puin semnificativ trebuie trimis cu N=1 (se seteaz
numrul de linii pentru afiare) i F=0 (seteaz mrimea fonturilor 5x8).

FIG 3.34. Exemplu de transfer date pe 4 bii [4]

Protocolul de iniializare al dispozitivului LCD


Observaie. Timpul de execuie este maxim pentru fcp sau fosc de 270 kHz.
Nr.eta
p.
1.
2.
3.
4.
5.
6.
7.
8.
9.

Etape de iniializare
Alimentare circuit
ntrziere de 15ms dup conectarea la alimentare a circuitului
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
1
1
ntrziere de mai mult de 4,1ms
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
1
1
ntrziere de mai mult de 100 ms
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
1
1
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
1
0
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
1
0

68

10.
11.
12.
13.
14.
15.
16.
17.

RS R//W DB7 DB6 DB5 DB4


0
0
N
F
* *
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
0
0
RS R//W DB7 DB6 DB5 DB4
0
0
1
0
0
0
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
0
0
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
0
1
RS R//W DB7 DB6 DB5 DB4
0
0
0
0
0
0
RS R//W DB7 DB6 DB5 DB4
0
0
0
1
I/D S
Sfrit iniializare LCD
TAB 3.15. Etape de iniializare LCD [14]
Modulele memoriei ROM conin setul de caractere ASCII. De exemplu, codul ASCII

pentru litera W este 87, nregistrat n locaia 87, n modulul RAM. Aceasta uureaz afiarea i
scrierea unui text.
n tabelul urmtor este figurat corespondena dintre codurile numerice i caracterele
ASCII ce pot fi afiate pe ecranul LCD. Dup cum se observ, codul simbolurilor caracter ce
poate fi reprezentat pe afior este asemenea celui ASCII al computerelor uzuale. Tocmai din
acest motiv, codul caracterului ce urmeaz a fi tiprit nu trebuie transmis n format binar, dect n
cazuri excepionale n care nu se poate scrie n alt mod.

FIG 3.35. Tabela ASCII a LCD-ului [4]

69

3.5. Modul GSM SEKA SMS


Acest modul este utilizat pentru a realiza o transmisie rapid a mesajelor de alarm de
la centrale antiefracie sau antiincendiu direct spre utilizator, utiliznd reeaua de telefonie
mobil GSM.
Caracteristici generale:
-

6 porturi configurabile de intrare/ieire


SMS-uri att la activarea, ct i la dezactivarea porturilor
Text SMS configurabil pentru activare i dezactivare individual per port intrare,
max. 15 caractere
Timp configurabil de activare per port ieire de la 1 la 254 secunde sau permanent
Activarea portului prin apel telefonic cu respingere sau prin SMS
Activare temporar, permanent sau dezactivare prin SMS

Programare prin SMS-uri (3 nivele de acces)


9 filtre pentru trimitere selectiv a evenimentelor
Activare individual / utilizator a porturilor

FIG 3.36. Modulul Seka SMS [13]

Porturi de I/O

70

Modulul este dotat cu 6 porturi programabile pentru intrri/ieiri. Att activarea ct i


dezactivarea oricrui port de intrare poate fi transmis la utilizator. Porturile care sunt definite de
tip ieire pot fi activate/dezactivate de ctre utilizator. Semnalele de intrare trebuie s fie active
pe o durat de cel puin 500 de milisecunde pentru a fi acceptate de ctre modul. Orice semnal cu
o durat mai mic este ignorat pentru a evita vrfuri de tensiune accidentale respectiv
interferene pe fir.
Modulul SEKA SMS utilizeaz o cartel SIM pentru a memora diverse date necesare
operrii normale, ca de exemplu utilizatorii definii sau mesajele de trimis. Prin urmare s-a
introdus un SIM nainte de configurarea modulului. Definiiile utilizatorilor sunt stocate n
cartela SIM. nainte de punerea n funciune a modulului s-a resetat acesta cu tergere complet
a cartelei SIM, pentru a evita trimiterea SMS-urilor spre numerele preprogramate de operatorii
GSM n cartela (exemplu: poliie, salvare, asistent, csu potal voce.)
Modul de monitorizare
Modulul monitorizeaz permanent evenimentele de pe porturile de intrare. n momentul
apariiei unui eveniment, maxim de 16 utilizatori pot fi informai prin SMS.
Indicatoarele Led
Modulul SEKA SMS este prevzut cu dou grupuri de LED-uri:

Grupa GPRS, care indic starea curent a comunicaiei cu terminalul GSM i cu reeaua
GSM.
Grupa CTRL, care indic starea curent a comunicaiei cu centrala de alarm.
Grupa GPRS este format din dou leduri, D16-rou i D17-verde. Cu aceste LED-uri

se prezint starea comunicaiei cu reeaua GSM precum i confirmrile operaiunilor pe care


modulul le efectueaz. Astfel, strile modulului sunt figurate n cele ce urmeaz, cu precizarea c
fiecare impuls are un interval de timp de secunde:

71

TAB 3.16. Semnificaia pulsurilor ledurilor [13]


Dac modulul nu reuete s transmit informaia, o memoreaz ntr-un buffer de
maximum 32 evenimente i reiniializeaz modulul, inclusiv cu paii de conectare, ataare la
GSM i nregistrare n sistem, dup care transmite mesajele. n acest mod se pstreaz
integritatea datelor, chiar i n situaia n care reeaua GSM este temporar nefuncionala. Antena
modulului se plaseaz ntr-un loc ct mai deschis din punct de vedere radio, eliminnd
posibilitatea ecranrii i perturbrii datorate altor echipamente radio.
Antena GSM de tip BY-GSM&AMPS-03
Frecvena de lucru a antenei este 850MHz/1900MHz sau 900MHz/1800MHz.

72

FIG 3.37. Curba caracteristic [44]

FIG 3.38. Diagrama de radiaie [44]


Specificaii tehnice ale ansamblului Anten-ghid de und.
-

Domeniul de frecven [MHz]: 824-894/1710-1990 sau 870-960/1710-1990


Limea de band [MHz]: 90/280
Raportul de und staionar VSWR: <1.5

Und staionar
Pe o linie de transmisie, semnal compus prin nsumarea a dou semnale care se propag
n sensuri opuse. De obicei, unda staionar se formeaz atunci cnd semnalul injectat la unul din
capetele liniei se propag pn la captul opus, de unde se ntoarce napoi (se reflect) integral
sau parial din cauza unei dezadaptri ntre impedana liniei i impedana sarcinii pe care este
nchis linia. n situaia n care semnalul incident este, de exemplu, sinusoidal, semnalul
reflectat va fi de asemenea sinusoidal, iar unda staionar va fi constituit dintr-o succesiune de
maxime (ventre) i minime (noduri) situate la distane regulate de-a lungul liniei de transmisie.
Raportul dintre amplitudinea maximelor i amplitudinea minimelor de putere sau
tensiune ale undei staionare formate pe o linie de transmisie poart numele de raport de und

73

staionar. VSWR constituie o msur a gradului de adaptare dintre impedana liniei i


impedana sarcinii pe care este nchis linia. n situaia ideal n care cele dou impedane sunt
identice, VSWR = 1. Aceast valoare indic un transfer maxim al undei radio de la emitor ctre
anten.
-

Ctigul (dBi) : 3.5


Ctigul reprezint raportul dintre cantitatea de energie radiat pe direcia principal i

cea radiat de o anten nedirectiv (radiator izotrop).


-

Putere maxim de intrare (W): 60


Impedana de intrare (ohmi): 50
Tipul polarizrii: vertical
Polarizarea undei este determinat de poziia cmpului electric (component a undei

radio alturi de cmpul magnetic) i de direcia lui n raport cu suprafa Pmntului. n general
cmpul electric este n acelai plan cu antena.
-

Lungimea antenei[mm]: 135


Lungimea feederului[mm] i tipul acestuia : 2300 , RG58A/U (50ohmi)
Tipul conectorului: SMA58

SIM900

FIG 3.39. a) Chip-ul Sim 900 (fa / spate); b) Diagrama funcional a modulului [7]

Interfaa cartelei SIM

74

TAB 3.17. Definirea pinilor interfeei SIM [7]

FIG 3.40. Circuitul de referin pentru o cartel SIM cu 6 pini [7]


Cnd diodele redresoare normale ajung la limita de strpungere, acestea se distrug.
Totui, exista i diode speciale ce pot accepta tensiunea de strpungere fr a se distruge
complet. Acest tip de diode se mai numesc diode Zener. Dioda din circuitul de mai sus are rol de
stabilizare a tensiunii.
Interfaa antenei
Modulul sim900 dispune de o interfa pentru antena de radiofrecven. Impedana
liniei microstrip care leag suportul antenei de placa de circuit trebuie s fie de 50 de ohmi.

75

TAB 3.18. Diferii parametrii ai interfeei pentru anten [7]

3.6. Sirena (buzzer piezoceramic)


Orice sistem de securitate, fie c vorbim de un sistem antiefracie, antiincendiu sau alte
tipuri de sisteme de avertizare a unor factori, are n dotarea sa ca element de baz, cel puin o
siren (buzzer).

FIG 3.41. Buzzerul piezoceramic.[30]

n prima imagine termenul reacie se refer la linia de reacie care furnizeaz un


voltaj proporional cu tensiunea principalului piezo element. Acest voltaj poate fi folosit la
crearea unui circuit simplu, auto oscilant. Imaginea a doua prezint un buzer piezo des utilizat
numit de altfel i traductor piezo care opereaz n curent continuu.
.Buzzerul piezoceramic se bazeaz pe inversul principiului electricitii piezo descoperit
n 1880 de Pierre i Jacques Curie. Este fenomenul de generare a energiei atunci cnd se aplic o

76

presiune mecanic la anumite materiale i invers. Astfel de materiale sunt numite materiale
piezoelectrice. Acest tip de materiale se gsesc n natur sau pot fi fabricate de om.
Piezoceramica face parte din clasa materialelor fabricate de om, care prezint un efect
piezoelectric i sunt des utilizate pentru a fabrica discul, care este practic inima unui buzzer
piezo.

77

Capitolul 4
IMPLEMENTAREA SISTEMULUI DE MONITORIZARE A FACTORILOR DE RISC
PENTRU LOCUINE
Sistemul prezentat are scop exclusiv didactic i nu face obiectul supunerii normelor i
reglementrilor aliniate la standarde tehnice internaionale, valabile i n Romnia. Funcionarea
sistemului se apropie teoretic de funcionarea unui sistem real de avertizare cu meniunea c
exist diferene semnificative de amplasare a echipamentelor, de topologie i de calitate a
echipamentelor n conformitate cu normele PSI.

4.1. Alegerea componentelor


Implementarea sistemului de monitorizare a factorilor de risc pentru locuine s-a realizat
n mai multe etape. n primul rnd, s-a avut n vedere gsirea unor componente care s nu pun
mari probleme la interconectare i configurare. n acest sens s-au achiziionat:
Plac de dezvoltare Seeeduino v2.21 compatibil cu caracteristicile Arduino Diecimila.
Site-ul de achiziie : www.seeedstudio.com
Patru Senzori de temperatur TMP275 (au fost montai pe plcute cu cablaj imprimat).
Site-ul de achiziie : www.ti.com
Doi Senzori de gaz/fum MQ2 senzorii sunt montai pe shield pentru o interconectare
uoar.
Site-ul de achiziie : www.seeedstudio.com
Un sensor de inundaie ELB145D2P (water sensor/rain sensor).
Site-ul de achiziie : www.seeedstudio.com
Un sensor de Umiditate DHT11 senzorul este montat pe un shield pentru o
interconectare uoar.
Site-ul de achiziie: www.dx.com
Un LCD shield cu tastatur shield-ului I s-au adugat pini pentru conexiune lateral.
Site-ul de achiziie : www.dx.com
Un modul GSM Seka sms modulului necesit alimentare separate de 12V cc care se
realizeaz printr-un alimentator standard achiziionat din comer.
Site-ul de achiziie : www.security.ro
4.2. Construirea machetei
Macheta acestui proiect a fost construit dintr-un carton special i a fost asamblat cu
ajutorul unui lipici acrilic transparent. Pentru un design mai plcut, macheta a fost mbrcat n
autocolant de diferite culori.

78

FIG 4.1. Asamblarea prilor componente ale machetei


4.3. Interconectarea echipamentelor
Cea de-a doua etap a constat n elaborarea schemei bloc i schemei electrice. n
aceast etap s-au avut n vedere aspecte legate de alimentrile componentelor, de curentul
consumat de fiecare element i de punile de legtur dintre componente. Fiecare dintre pinii
plcii de dezvoltare Seeeduino furnizeaz un curent de alimentare de pn la 40mA ; cercetnd
documentaiile celorlalte componente prezentate n Capitolul 3, s-a constat c elementele
sistemului se ncadreaz n parametri. n Anexa 1 se va gsi schema de conectare , iar n Anexa
2 se va gsi schema bloc.
Datorit numrului redus de pini de alimentare ai plcii s-a recurs la construirea unui
bloc de alimentare pentru a facilita conectarea tuturor senzorilor la tensiunea de 5V; pentru
aceasta s-a folosit o diode 1N4001 pentru a evita cazurile de polaritate invers, aceasta fiind
montat pe o plac perforat . Tot pe plac s-a montat i un jumper folositor pentru o deconectare
rapid a alimentrii.
O alt problem ntmpinat a fost cea a conexiunii dintre placa Seeeduino i modulul
GSM; tensiunea pe intrarea modului era constant de 8,5V. Avnd n vedere diferena de tensiune
a celor dou dispozitive, s-a recurs la interconectarea acestora printr-un circuit compus dintr-un
transistor bipolar de tip NPN i un releu de 5V .

79

FIG 4.2. Circuitul de conectare

Calculul curentului care va curge prin bobina releului


U=I*R , R = 125 Ohmi i U= 5V => I = U/R = 5/125=0.04 (40mA)
Alegerea tranzistorului optim
S-a utilizat un transistor bipolar NPN : BC548. Ic-ul acestui transistor, conform
datasheet-ului este 100mA (deci mai mare dect curentul maxim ce poate trece prin bobina
releului), iar Vceo=30V ( este mai mare dect sursa de alimentare de 5V).
Pentru o analiz a comportrii tranzistorului n acest caz se recurge la notarea celor dou
jonciuni cu dou diode: dioda emitor De i diode colector Dc.

FIG 4.3. Asemnarea celor dou jonciuni ale tranzistorului cu dou diode
Dac UBE este mai mic dect tensiunea de deschidere a De, ntre E i C nu circul
curent. Spunem astfel c tranzistorul este blocat pe zona C E , deci

acioneaz ca un

ntreruptor deschis.
Dac tensiunea de input crete, De se deschide i permite trecerea electronilor ntre E i
C, peste Dc polarizat invers (reverse bias); UCE va scdea rapid. Curentul n C va crete i UCE
se va micora pn n momentul n care se ajunge n regim de saturaie, iar De i Dc sunt n stare
de conducie. Acesta este regimul de lucru saturat (tensiunea ntre C i E n acest regim este mic
~ 0.1-0.2 V). Concluzionnd, n regimul de blocare De i Dc sunt blocate, curentul de colector
fiind = 0, iar n regimul de saturaie , De i Dc sunt n conductive, curentul n colector fiind diferit
de 0 i tensiunea C-E fiind de aprox 0,1-0,2V.

80

Calculul rezistenei din baza tranzistorului


Valoare a tranzistorului se poate gsi n documentaia acestuia.
Pentru BC548 spre exemplu, este 75 la 10mA i 10V. Nu este foarte precis deoarece e foarte
dificil s produci un tranzistor cu o valoare corect.
= Ic / Ib
tiind i Ic trebuie s calculm Ib:
Ib = Ic /
pentru BC548:
Ib = 0.04 A / 75
Ib = 0.0005 A => 0.5 mA
conform legii lui Ohm:
R = U / Ib
R = 5V / 0.0005 A
R = 10000 Ohm

FIG 4.4. Switch-ul ce face posibil transmiterea semnalului de alarm de la Seeeduino la


Modulul GSM
4.4. Mediul de programare Processing
Pentru rularea sistemului a fost necesar scrierea unui cod. Avnd n vedere c
microcontrolerul folosit este produs de compania Atmel, acesta se putea programa n IDE-ul pus
la dispoziie de aceast companie dar, deoarece acest mediu de programare este rigid s-a apelat
la opiunea oferit de MIT Media Lab, i anume mediul de programare special pentru
dispozitivele Arduino bazat pe limbajul Processing. Mediul de programare a fost descrcat
gratuit de pe site-ul: http://www.processing.org
Orice plac Arduino (n acest caz Seeeduino) conine deja un BOOTLOADER pe
fiecare microcontroler, pentru interfaarea i rularea aplicaiilor scrise n mediul Arduino:

81

FIG 4.5. Rularea IDE-ului


Conectarea plcii la PC
Seeeduino utilizeaz un convertor paralel-serial, de tip UART,

pentru a asigura

comunicarea serial prin USB. Pentru aceasta, s-au instalat driverele FTDI USB drivers din
directorul Drivers, al IDE-ului Arduino. Dup instalarea driverului UART , n seciunea Device
Manager a computerului a aprut un port COM virtual ce indic dispozitivul Arduino.

FIG 4.6. Portul serial COM 5 corespunztor plcii Seeeduino


Configurarea IDE-ului
Din meniul Instrumente , seciunea Plac de Dezvoltare s-a ales Arduino Duemilanove
w/ ATmega328. Apoi din acelai meniu , seciunea PORT SERIAL s-a ales COM5, iar din
seciunea Programator s-a bifat AVRISP mkII (opiunea d acces utilizatorului de a face
modificri n programul bootloader-ului sau EEPROM-ului prin interfa ISP sau PDI).

82

Organizarea programului Arduino


Programul Arduino are dou seciuni: cea de setup (rulat o singur dat n momentul
alimentrii plcii sau apsrii butonului Reset; este practic seciunea ce iniializeaz uC) i cea
de loop (ce ruleaz ntr-un ciclu, ct timp este alimentat placa)

FIG 4.7. Exemplu de cod

4.5. Configurarea modulului seka SMS


Din fabric, modulul are configurai toi pinii ca pini de intrare. Pentru asigurarea indeplinirii
acestui considerent, s-au reconfigurat aceti pini prin metoda pus la dispoziie de productor i
anume, s-a trimis un sms pe numrul de telefon asignat cartelei SIM cu comand: Input<x>on ;
prin urmare secvena trimis a fost : Input 1 on corespunztoare portului P1 prezent n linia de
conectare a dispozitivului
Primul SMS recepionat de ctre modul este acceptat automat (deoarece nu exist nc nici un
utilizator).
Modulul poate fi configurat direct de pe telefonul mobil, de un utilizator definit ca i
Master.Secvena SMS-ului iniial este urmtoarea: add.<pos>.<numr>.<drepturi filtre>

add = comand pentru adugarea unui nou utilizator

pos = poziia n lista de contacte (cartea de telefon) din cartela SIM. Este important s se
rein poziia, deoarece tergerea utilizatorilor se efectueaz pe baza acestei poziii.
Numerotarea poziiilor ncepe cu numrul 1.

numr = este numrul de telefon al utilizatorului. Dac utilizatorul urmeaz s primeasc


SMS-uri de la modul, acest numr de telefon trebuie s fie alocat ntr-o reea de telefonie
care suport serviciul SMS (deci n nici un caz reele de telefonie fix).

drepturi filtre = descrie drepturile utilizatorului i tipurile de mesaje pe care urmeaz


s le primeasc (filtrele de mesaje). Primele dou poziii (tip i port) din acest cmp sunt
obligatorii, restul sunt opionale. Structura acestui cmp este dup cum urmeaz:

<Tip> este compus dintr-o singur liter, care poate fi una dintre M, U sau L. M stabilete
utilizatorul ca fiind de tip Master, care poate aduga, modifica i terge utilizatori, poate aciona

83

porturi de ieire i poate primi SMS-uri. U stabilete utilizatorul ca fiind de tip User, care poate
aciona porturi de ieire i poate primi SMS-uri. L stabilete utilizatorul ca fiind de tip Limited
user, care poate doar primi SMS-uri.
<port> este numrul portului de ieire pe care modulul SEKA SMS s-l activeze n momentul
n care primete un apel telefonic de la acest numr de telefon. Acest cmp va fi obligatoriu
prezent i pentru utilizatorii de tip Limited user (dei valoarea sa este ignorat.) Dac nu se
dorete activarea unui port la primirea apelului, se specific numrul 0.
<filtre> este un cmp opional compus din zero sau mai multe litere reprezentnd diversele tipuri
de evenimente recunoscute de ctre modul. Se pot defini urmtoarele filtre de evenimente:
A - SMS-uri de alarm/restabilire.
B - SMS-uri tehnice de alarm/restabilire.
C - SMS-uri de armare/dezarmare.
D - SMS-uri de armare/dezarmare special.
E - Mesaje speciale.
F - SMS-uri de activare porturi de intrare 1, 2 i 3.
G - SMS-uri de dezactivare porturi de intrare 1, 2 i 3.
H - SMS-uri de activare porturi de intrare 4, 5 i 6.
I - SMS-uri de dezactivare porturi de intrare 4, 5 i 6.
Sub aceste aspecte s-a configurat modulul prin urmtorul sms:
add.1.0721878111.M0AB. Sms-ul a fost trimis de pe un numr de telefon oarecare.
Pentru configurarea unui port definit port de intrare a fost necesar trimiterea unui sms
cu urmtoarea secven: conf.<pgm>.0.<textact>.<textdeact>. Cmpurile care constituie corpul
SMS-ului sunt desprite prin caracterul punct i semnificaia lor este dup cum urmeaz:

Pgm = este numrul portului (de la 1 pn 6).

0 = este cifra zero.

textact = este textul care se trimite prin SMS n cazul activrii portului de intrare. Acest
text nu poate s conin caracterul punct. Lungimea minim este de 1 caracter, iar cea
maxim de 15 caractere.

textdeact este textul care se trimite prin SMS n cazul dezactivrii portului de intrare.
Acest text nu poate s conin caracterul punct. Lungimea minim este de 1 caracter, iar
cea maxim de 15 caractere.

Spre modul s-a trimis sms-ul urmtor: conf.1.ALARM.RESTABILIRE


Funcionarea serviciului de mesaje scurte

84

Serviciul de mesaje scurte este un mecanism de livrare al mesajelor scurte ctre reelele
mobile. Este o cale de stocare i transmitere a mesajelor ctre i de la mobile. Mesajul (doar text)
ce provine de la staia mobil expeditoare este stocat ntr-un centru de mesaje scurte numit
SMSC care apoi le nainteaz ctre staia mobil destinat.

FIG 4.8. Organizarea tipica a elementelor intr-o retea GSM care suporta serviciul SMS
SMSC-ul reprezint entitatea cu rol de a stoca i de a transmite mesaje ctre i de la
staia mobil. Staia mobil se gasete i sub denumirea de SME (Short Message Entity) i poate
fi localizat n reeaua fix sau mobil, recepionnd sau expediind mesaje scurte.
SMS GMSC (SMS gateway MSC) este o poart MSC care poate de asemenea primi
mesaje scurte. Poarta MSC este un punct de contact al reelei mobile cu alte re ele, de exemplu
reelele fixe PSTN, ISDN, etc. Cnd primete mesajul scurt de la centrul de mesaje scurte,
GMSC-ul folosete algoritmul special al sistemului de semnalizare SS7 pentru a interoga pozi ia
curent a staiei mobile din baza de date HLR ( home locator register ).
HLR-ul este baza de date principal n reeaua mobil. Aceasta deine informaii
referitoare la profilul terminalului mobil i de asemenea informaii de rutare ale abonatului,
aceasta nsemnnd aria (acoperit de MSC) unde mobilul se afl situat. GMSC-ul este astfel
capabil s transmit mesajul la MSC-ul corespunzator.
MSC-ul (Mobile Switching Center) este o entitate n reeaua GSM care se ocup cu
comutarea conexiunilor ntre staiile mobile sau ntre staiile mobile i cele fixe.
VLR-ul (Visitor Location Register) corespunde fiecrui MSC i conine informa ii
temporare despre mobil, informaii precum indentificarea terminalului i ID-ul celulei unde
mobilul este situat. Utiliznd informaii din VLR, MSC-ul este capabil s comute informa ia
(mesajul scurt) ctre BSS-ul (Base Station System = BSC+BTS) care transmite mesajul scurt
ctre mobil. BSS-ul este alctuit din transceivere, care trimit i primesc informa ii prin eter, ctre
i de la staia mobil. Informaia este transmis peste canalele de semnalizare astfel nct mobilul

85

s poat primi mesaje chiar dac un apel vocal sau de date este n desfa urare.
4.6. Funcionarea sistemului
n momentul alimentrii plcii Seeeduino se ncepe procedura de iniializare a programului:
void setup() {
Serial.begin(9600);
Wire.begin();
lcd.begin(16, 2);
}
Aceast secven ruleaz o singur dat sau ori de cte ori este apsat butonul reset.
Pe ecranul LCD-ului se va afia Sufragerie acesta fiind numele primului cadru. Se observ c
pentru aceast zon factorii monitorizai sunt umiditatea i temperatura:
void loop () {
float t0 = getTemperature(0);
float h0 = dht.readHumidity();
}

FIG 4.9. Cadre aferente celor 5 zone de monitorizare


Secvena de cod de schimbare a cadrelor prin apsarea butoanelor este urmtoarea:
int b = button();
if(b > -1) {
if(b == 1 && cadru < 4) { incrementare cadru , b==1 reprezint buton SUS
cadru++;
}
if(b == 2 && cadru > 0) { decrementare cadru, b==2 reprezint buton JOS
cadru--;
}
}
Secvena de cod corespunztoare pinului (pin digital nr 3) ce se activeaz cnd exist o
alarm , pin ce este conectat la switch-ul format din tranzistor bipolar i releu:

86

pinMode(3, OUTPUT)
digitalWrite(3, HIGH);
digitalWrite(3, LOW);
Secvena de cod pentru starea de Alarm i cea de Avertisment:
if(alarm == 1 && ack == 0) { // ALARM
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ALARM!");
lcd.setCursor(0, 1);
lcd.print("aps SEL-> ACK");
tone(11, 900);
delay(100);
tone(11, 300);
delay(100);
}
else {
noTone(11);
}
if(ack == 1) {
lcd.setCursor(13, 0);
lcd.print("ACK");
}
if(avertisment == 1 && ack == 0) //AVERTISMENT
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Inundaie");
lcd.setCursor(0, 1);
lcd.print("Aps SEL-> ACK");
tone(11, 100);
delay(400);
tone(11,300);
delay(600);
}
else {
noTone(11);
}

FIG 4.10. Afiarea celor dou stri ale sistemului

87

CONCLUZII
n aceast lucrare, s-a urmrit dezvoltarea un sistem hibrid de monitorizare a unei
locuine, implementat cu ajutorul unor senzori de: gaz, fum, temperatur, umiditate, inundaie,
montai pe o machet ce simbolizeaz o locuina; senzori sunt conectai la o central de comand
ce dispune de un element de vizualizare de tip LCD, o siren pentru starea de alarm i un
comunicator sms pentru informarea la distan a utilizatorului asupra strii sistemului.
Proiectul fizic constituie imaginea unei puni de legtur ntre diferite sisteme de
monitorizare i avertizare a factorilor de risc, unificat ntr-un singur sistem funcional i foarte
practic accesibil tuturor celor ce trateaz cu seriozitate propria securitate. Prin utilizarea unui
limbaj uor de neles, derivat din limbajul C, s-a reuit obinerea unui program destul de bine
optimizat pentru a face fa cerinelor minimale urmrite. Acest program poate fi mbuntit
oricnd dorete utilizatorul, prin accesarea mediului de programare oferit de Arduino;
documentaia oferit de mediul virtual este vast i actualizat permanent.
Direcii viitoare
Unui astfel de sistem i se pot aduga o serie ntreag de mbuntiri; dintre acestea se
pot enumera:

datorit posibilitii de setare a fiecrui port al modului SEKA sms ca fiind de Intrare/
Ieire, n cazul configurrii unui port ca fiind de Ieire, se adaug un releu (n cazul
n care curentul absorbit nu este mai mare de 25mA) i diode antiparalel contra
tensiunilor autoinduse. Modulul poate activa prin apel telefonic de la utilizator acest
port de ieire conectat la circuitul unui sistem de evacuare, o alarm sau orice alt
dispozitiv. (spre exemplu sistemul de control acces dintr-o instituie poate fi
interconectat cu sistemul de avertizare la incendiu; n momentul unei alarme, toi
electromagneii uilor s se deschid pentru a facilita evacuarea persoanelor)

avnd n vedere multitudinea de porturi a plcii de dezvoltare Seeeduino, putem


integra i alte tipuri de senzori care s ofere o plan amplificat a domeniului de
securitate. Dintre aceti senzori se pot aminti: PIR (folosii n detecia micrii),
senzor pentru detecie geam spart, senzori de oc(folosii spre exemplu pentru seifuri
sau pentru semnalizare la cutremur), etc

alt mbuntire ce se poate aduce sistemului prezentat n aceast lucrare reprezint


adugarea de module RFID pentru control acces sau pentru accesul la diferite puncte
de interes ale locuinei (camera copilului, seifuri,etc). Aceste module, n combinaie
cu Seeeduino i cu celelalte elemente sporesc gradul de securitate al locuinei.

88

BIBLIOGRAFIE
1. Biomedical Equipment Technology, Third Edition, Prentice Hall - Joseph J. Carr John
M. Brown
2. Datasheet Atmega328P
3. Datasheet gas sensor MQ2
4. Datasheet Hitachi HD44780
5. Datasheet humidity and temperature sensor DHT11
6. Datasheet module SIM900
7. Datasheet SIM900
8. Datasheet temperature sensor TMP275
9. Datasheet water sensor brick
10. Facultatea de Automatica si Calculatoare E.P.I.P- Laborator 4: Dispozitive periferice de
I/O sub FreeBSD
11. Glosarul de termeni tehnici eseniali n comunicaiile electronice INSCC Bucureti
12. INGINER PENTRU SISTEME DE SECURITATE (2010) A.R.T.S.
13. Manual de instalare si configurare Seka SMS
14. Mediul de dezvoltare EdSim51 Mihaela Hnatiuc
15. Microcontrolere pentru toti (2011) Vasile Surducan si Wouter van Ooijen
16. Noiuni de televiziune (2009) Dan Popa
17. TEHNICIAN PENTRU SISTEME DE DETECIE, SUPRAVEGHERE VIDEO,
CONTROL ACCES (2011) A.R.T.S.
18. http://www.antipyr.ro/proiectare-instalatii-de-semnalizare-alarmare-si-alertare.php
19. http://eurotehnicaitc.ro/detectie-incendiu-adresabil/182-buton-de-incendiu-adresabil-deinterior-bentel-fc420cp.html
20. http://thesmokedetector.umwblogs.org/how-it-works/
21. http://dogsinthepark-suenestnature.blogspot.ro/2013/05/smoke-detectors-and-r-and-rsystem-of.html
22. http://curriculum.cna.ca/curriculum/cna_nuc_tech/smoke_detectors-eng.asp?bc=Smoke
%2520Detectors&pid=Smoke%2520Detectors
23. http://www.esser-systems.com/en/press/presse-detail/article/self-monitoring-false-alarmproof-and-easy-to-maintain-the-new-univario-uv-flame-detector-by-es.html
24. http://www.meo.etc.upt.ro/materii/cursuri/ISMT/5.pdf
25. http://users.utcluj.ro/~baruch/sie/labor/Interfata-USB.pdf
26. http://webbut.unitbv.ro/Carti%20on-line/BSM/BSM/capitol4.pdf
27. www.wikipedia.com
28. http://bca-in-ggnimt.blogspot.ro/2012/07/displaydevices-modernday-computers-use.html
29. http://www.engineersgarage.com/insight/how-lcd-works?page=3
30. http://www.cui.com/product/resource/buzzers-buzzersounds.pdf
31. http://www.et.upt.ro
32. http://content55.wuala.com/rawcontent/9-LgtHanLL9Tcd7eIFulZPN7oGdvlTtS53N8Q8CBq7ZBaVPukNR0hRwPxZH2I3ZniGNQXVaBTFV_5bZ_JTIeoeqJdOhg
7ISeVQHvG5WPNFCB5wQ9dPl7CupjNYykkR_ftKxzTZnU1_i7myH8oMK0FuSjAFxMMUu3phAJxtIFIRnwUvBStI2AvKtiXiwIGX/Introd.
%2520Controlere.pdf
33. http://www.asgrup.ro/detectie-si-avertizare-la-incendiu.htm
34. www.atmedia.ro
35. http://vega.unitbv.ro/~romanca/psci/3-PSCI-caracteristici-MC-4spp.pdf
vega.unitbv.ro/~ogrutan/materiale%202011/A-microcontrollere2010.ppt
36. http://www.scribd.com/doc/50539933/Curs-Microcontrolere
37. http://www.security.ro/produse.php?idCategorie=4707&idProdus=19824
38. http://vega.unitbv.ro/~romanca/psci/4-PSCI-Interf-Comm-MC-4spp.pdf

89

39. http://universallyaware.ning.com/photo/usb-cable-wiring-colours
40. http://www.seeedstudio.com/wiki/Seeeduino_v2.21
41. http://www.eternal.sk/forum/viewthread.php?thread_id=1
42. http://www.engineersgarage.com/electronic-components/16x2-lcd-module-datasheet
43. http://www.radartutorial.eu/06.antennas/an05.ro.html
44. http://www.es.co.th/schemetic/pdf/by-gsm-03.pdf
45. www.pighixxx.com

CODUL SURS

90

IDE : arduino 1.03 Proccessing


Dimensiunea schiei: 11.232 bytes (din maxim 30.720 bytes)
Dat: 23.06.2013
#include <Wire.h> // librrie interfa i2c
#include "DHT.h" // librrie senzor de umiditate
#include <LiquidCrystal.h> // librrie LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // definirea pinilor RS,E,D4,D5,D6,D7
#define DHTPIN 12
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
int cadru = 0; // definirea variabilelor de tip int i intializarea lor cu 0
int alarm = 0; //
int avertizment = 0; //
unsigned int time, ack;
void setup() {
Serial.begin(9600);
Wire.begin(); // nceperea transferului de informaii ntre master i slave-uri pe magistrala
I2C
lcd.begin(16, 2); // iniializarea LCD-ului (16 coloane, 2 rnduri)
pinMode(3, OUTPUT); // definire pin 3 ca pin de output
}
void loop() {
time = millis(); // pornete timer
int b = button();
if(b > -1) {
if(b == 1 && cadru < 4) { // secvena pentru incrementare cadru , b==1 reprezint buton
SUS
cadru++;
}
if(b == 2 && cadru > 0) {

// secvena pentru decrementare cadru, b==2 reprezint


buton JOS

cadru--;
}
if(b == 4) {

// secvena pentru oprire siren alarm sau avertizment, b==4 reprezint


buton SELECT

ack = 1;
}
Serial.println(cadru); //afiare cadru
lcd.setCursor(0, 0);
delay(100);

91

lcd.clear();
}
// Variabile
float t0 = getTemperature(0);
float t1 = getTemperature(1);
float t2 = getTemperature(2);
float t3 = getTemperature(3);
float g0 = analogRead(A1) * 5.0 / 1024 *20; // *20 pentru procente
float g1 = analogRead(A2) * 5.0 / 1024 *20;
float i0 = analogRead(A3) * 5.0 / 1024 *27; // *27 (ajustare software pentru afiaj 0100% uscat)
float h0 = dht.readHumidity();
// Alarme
if(t0 > 35 || t1 > 35 || t2 > 35 || t3 > 35 || g0 > 15 || g1 > 25 || i0 < 10) // condiiile de alarm
{
alarm = 1;
}
else {
alarm = 0;
}
//Avertizment
if(i0 < 50 && i0 > 10 || h0 > 60)
{
avertizment = 1;
}
else {
avertizment = 0;
}
switch (cadru) {
case 0:
lcd.setCursor(0, 0);
lcd.print("Sufragerie");

// Sufragerie

lcd.setCursor(0, 1);
lcd.print("U=");
lcd.print(h0, 0);
lcd.print("%");
lcd.setCursor(10, 1);
lcd.print("T=");
lcd.print(t1, 1);
break;
case 1:

// Bucatarie

92

lcd.setCursor(0, 0);
lcd.print("Buctrie");
lcd.setCursor(0, 1);
lcd.print("G=");
lcd.print(g0, 1);
lcd.print("%");
lcd.setCursor(10, 1);
lcd.print("T=");
lcd.print(t3, 1);
break;
case 2:
lcd.setCursor(0, 0);
lcd.print("Baie");

// Baie

lcd.setCursor(0, 1);
lcd.print("I=");
lcd.print(i0, 1);
lcd.print("% uscat");
break;
case 3:
lcd.setCursor(0, 0);
lcd.print("Hol");

// Hol

lcd.setCursor(10, 1);
lcd.print("T=");
lcd.print(t0, 1);
break;
case 4:
lcd.setCursor(0, 0);
lcd.print("Garaj");

// Garaj

lcd.setCursor(0, 1);
lcd.print("G=");
lcd.print(g1, 1);
lcd.print("%");
lcd.setCursor(10, 1);
lcd.print("T=");
lcd.print(t2, 1);
break;
}
if(alarm == 1 && ack == 0) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("ALARM!");

// ALARM

93

lcd.setCursor(0, 1);
lcd.print("apas SEL-> ACK");
digitalWrite(3, HIGH); // activare pin 3 n momentul alarmei
tone(11, 900);
delay(100);
tone(11, 300);
delay(100);
}
else {
noTone(11);
digitalWrite(3, LOW); // dezactivare pin 3 la restabilire
}
if(ack == 1) {
lcd.setCursor(13, 0);
lcd.print("ACK");
}
if(avertizment == 1 && ack == 0) //AVERTISMENT
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Inundaie");
lcd.setCursor(0, 1);
lcd.print("Apasa SEL-> ACK");
tone(11, 100);
delay(400);
tone(11,300);
delay(600);
}
else {
noTone(11);
}
} // sfritul rutinei loop
int button() {
static int NUM_KEYS=5;
static int adc_key_val[5] ={
30, 150, 360, 535, 760 // valorile pentru rezistenele butoanelor
};
int k, input;
input=analogRead(0);
for (k = 0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k])
{
return k;
}

94

}
if (k >= NUM_KEYS)
k = -1; // nicio tast apsat nu este valid
return k; // 0=RIGHT, 1=UP, 2=DOWN, 3=LEFT, 4=SELECT
}

float getTemperature(int adresa){ //


adresa = 72 + adresa*2; // 72+0*2, 72+1*2, 72+2*2, 72+3*2
Wire.requestFrom(adresa,2);
byte MSB = Wire.read();
byte LSB = Wire.read();
//it's a 12bit int, using two's compliment for negative
int TemperatureSum = ((MSB << 8) | LSB) >> 4;
float celsius = TemperatureSum*0.0625;
return celsius;
}

Lista figurilor
FIG1.1. Organigrama instalaiei de semnalizare a incendiilor......................................................9
FIG1.2. Exemplu de instalaie detecie incendiu...........................................................................10
FIG1.3. Buton manual de alarm..................................................................................................10
FIG1.4. Principiul de funcionare al unui detector optic..............................................................11
FIG1.5. . Detector de fum ............................................................................................................11
FIG1.6. Principiul de funcionare al detectorului cu camer de ionizare ...................................12
FIG1.7. Detector liniar cu emitor i receptor.............................................................................12
FIG1.8. Senzor tipic de temperatur.............................................................................................13
FIG1.9.
Detector
de
flcri............................................................................................................13
FIG 2.1. Structur tipic a unui Controler ...................................................................................17
FIG 2.2. Schem bloc a unui senzor cu semnale de intrare i ieire.............................................22
FIG
2.3.
Straturile
unui
LCD.........................................................................................................24
FIG 2.4. Aceast imagine reprezint rotirea planului de polarizare a luminii ntr-un LCD de tip
TN
(twisted
nematic)......................................................................................................................24
FIG 2.5. Sistem realizat pe structura I2C......................................................................................26
FIG 2.6. Exemplu de conectare a dou circuite pe magistrala I2C..............................................26
FIG 2.7. Definirea condiiilor de Start i Stop .............................................................................27
FIG 2.8. Byte-ul de adres.............................................................................................................27
FIG 2.9. Pachet transmis pe I2C...................................................................................................28
FIG 2.10. Transferul unui mesaj pe I2C .......................................................................................28
FIG 2.11. Semnificaia culorilor firelor ce compun interfaa USB...............................................29
FIG 2.12. Arborescena descriptorilor USB..................................................................................31

95

FIG 3.1. Schema bloc a microcontrolerului .................................................................................32


FIG 3.2. Diagrama bloc a Arhitecturii AVR..................................................................................34
FIG 3.3. Cele 32 de registre cu scop general de lucru .................................................................36
FIG 3.4. Registrele X,Y,Z...............................................................................................................36
FIG 3.5. Regitrii pointerului de stiv (high/low).........................................................................37
FIG 3.6. Memoria de program......................................................................................................38
FIG 3.7. Harta memoriei SRAM....................................................................................................38
FIG 3.8. Distribuia ceasului n uC...............................................................................................39
FIG
3.9.
Schema
bloc
convertor
analog
numeric..........................................................................42
FIG 3.10. Diagrama bloc a unitii I2C........................................................................................43
FIG 3.11. Semnificaia componentelor..........................................................................................44
FIG 3.12. Schema simplificat a unui circuit de obinere a semnalului PWM.............................45
FIG 3.13. Reprezentarea semnalului PWM...................................................................................45
FIG 3.14. Modul de conexiune al interfeei USB cu interfaa UART prin FT232R.....................46
FIG
3.15.
Senzorul
MQ2................................................................................................................49
FIG
3.16.
Structura
i
configuraia
senzorului..............................................................................49
FIG 3.17. Circuitul de test al senzorului......................................................................................50
FIG
3.18.
Caracteristici
de
sensibilitate........................................................................................51
FIG 3.19. Senzorul TMP275 i Structura intern a acestuia........................................................51
FIG
3.20.
Schema
de
conectare
celor
4
senzori
de
temperatur...................................................52
FIG 3.21. Aciunea unui condensator de decuplare n prezena unei tensiuni zgomotoase..........52
FIG 3.22. Structura intern a regitrilor.......................................................................................53
FIG 3.23. Diagramele de timp I2C................................................................................................56
FIG 3.24. Imagine capturat pe osciloscop n timpul comunicrii pe I2C a celor 4 senzori cu
Seeeduino.......................................................................................................................................57
FIG
3.25.
Pinii
senzorului
TMP275...............................................................................................58
FIG 3.26. Senzorul DHT11............................................................................................................59
FIG 3.27. Imagini capturate pe osciloscop n timpul comunicrii 1WI a senzorului cu
Seeeduino.......................................................................................................................................60
FIG 3.28. Senzorul ELB145D2P....................................................................................................61
FIG 3.29. Reprezentarea celor dou cazuri..................................................................................62
FIG 3.30. LCD-ul cu tastatur......................................................................................................63
FIG
3.31.
Pinii
LCDului...............................................................................................................63
FIG 3.32. Schema bloc a dispozitivului de afiare HD44780.......................................................65
FIG 3.33. Generare caractere.......................................................................................................66
FIG
3.34.
Exemplu
de
transfer
date
pe
4
bii.................................................................................68
FIG 3.35. Tabela ASCII a LCD-ului..............................................................................................69
FIG
3.36.
Modulul
Seka
SMS.........................................................................................................70
FIG
3.37.
Curba
caracteristic ....................................................................................................73
FIG 3.38. Diagrama de radiaie....................................................................................................73
FIG 3.39. FIG 3.39. a)
Chip-ul Sim 900 (fa / spate);
b) Diagrama funcional a
modulului.......................................................................................................................................74

96

FIG 4.40. Circuitul de referin pentru o cartel SIM cu 6 pini...................................................75


FIG
3.41.
Buzzerul
piezoceramic...................................................................................................76
FIG
4.1.
Asamblarea
prilor
componente
ale
machetei...............................................................79
FIG 4.2. Circuitul de conectare.....................................................................................................80
FIG 4.3. Asemnarea celor dou jonciuni ale tranzistorului cu dou diode...............................80
FIG 4.4. Switch-ul ce face posibil transmiterea semnalului de alarm de la Seeeduino la
Modulul
GSM.................................................................................................................................81
FIG 4.5. Rularea IDE-ului............................................................................................................82
FIG 4.6. Portul serial COM 5 corespunztor plcii Seeeduino...................................................82
FIG 4.7. Exemplu de cod..............................................................................................................83
FIG 4.8. Organizarea tipica a elementelor intr-o retea GSM care suporta serviciul SMS..........85
FIG 4.9. Cadre aferente celor 5 zone de monitorizare..................................................................86
FIG 4.10. Afiarea celor dou stri ale sistemului.......................................................................87

Lista tabelelor
TAB 3.1. ntrzierile selectabile...................................................................................................39
TAB 3.2. Bii ce selecteaz modul de Sleep..................................................................................40
TAB 3.3. Specificaii MQ2............................................................................................................50
TAB 3.4. Byte-ul Registrului Pointer............................................................................................53
TAB 3.5. Adresele pointer.............................................................................................................53
TAB 3.6. Octeii Registrului de Temperatur (MSB i LSB)........................................................53
TAB 3.7. Formatul datelor temperaturii.......................................................................................54
TAB 3.8. Formatul Registrului de Configurare............................................................................54
TAB 3.9. Biii de rezoluie i relaia dintre rezoluie i timpul de conversie................................54
TAB 3.10. Pinii de adres i adresele dispozitivelor slave...........................................................55
TAB 3.11. Semnificaia pinilor......................................................................................................64
TAB 3.12. Afiarea pe o linie, afiarea poziiei, adresa DDRAM................................................65
TAB 3.13. Afiarea pe linie a 8 caractere.....................................................................................66
TAB 3.14. Funciile pinilor...........................................................................................................67
TAB 3.15. Etape de iniializare LCD............................................................................................69
TAB 3.16. Semnificaia pulsurilor ledurilor................................................................................72
TAB 3.17. Definirea pinilor interfeei SIM ..................................................................................75
TAB 3.18. Diferii parametrii ai interfeei pentru anten.............................................................76

97

ANEXA 1. Schema electric

98

99

ANEXA 2. Schema bloc

100

ANEXA 3. Pinii microcontrolerului ATmega328P

101

ANEXA 4. Poze tehnice

102

103