Rev3.1 Last Revizuit [602360]

LUCRARE DE LICENȚĂ

Coordonator științific Absolvent: [anonimizat], 201 8Universitatea Tehnică de Construcții București
Facultatea de Hidrotehnică
Domeniul: Ingineria Sistemelor
Specializarea: Automatică și Informatică Aplicată

Sistem pentru monitorizarea
parametrilor și c ontrolul automat al
proceselor din cadrul unei ciupercării

Coordonator științific Absolvent: [anonimizat], 201 8Universitatea Tehnică de Construcții București
Facultatea de Hidrotehnică
Domeniul: Ingineria Sistemelor
Specializarea: Automatică și Informatică Aplicată

Cuprins

1. Introducere ………………………….. ………………………….. ………………………….. ………………………….. ………….. 5
1.1 Motivația alegerii temei ………………………….. ………………………….. ………………………….. …………………….. 5
1.2 Obiectivele propuse în cadrul lucrării ………………………….. ………………………….. ………………………….. ….. 6
1.3 Structura lucrării de licență ………………………….. ………………………….. ………………………….. ………………… 7
2. Aspecte teoretice privind microcontrolere ………………………….. ………………………….. ………………………. 7
2.1 Scurtă introducere în automatică ………………………….. ………………………….. ………………………….. …………. 8
2.2 Istoria microcontrolerului ………………………….. ………………………….. ………………………….. ………………….. 9
2.2.1 AVR Microcontroler – Arduino ………………………….. ………………………….. ………………………….. ……… 10
2.2.2 Set de instrucțiuni reduse – RISC ………………………….. ………………………….. ………………………….. ……. 11
2.2.3 Programarea microcontrolerului AVR ………………………….. ………………………….. …………………………. 12
2.2.3.1 Programarea în sistem ISP (Serial) ………………………….. ………………………….. ………………………….. . 12
2.2.3.2 Programarea în paralel ………………………….. ………………………….. ………………………….. ……………….. 14
2.3 Introducerea in Arduino ………………………….. ………………………….. ………………………….. …………………… 15
2.4 Deriva ții ale placi Arduino ………………………….. ………………………….. ………………………….. ……………….. 19
2.4.1 Arduino Genuino/Uno ………………………….. ………………………….. ………………………….. ………………….. 19
2.4.2 Arduino Nano ………………………….. ………………………….. ………………………….. ………………………….. ….. 19
2.4.3 Arduino Pro ………………………….. ………………………….. ………………………….. ………………………….. …….. 20
2.4.4 Arduino Mega 2560 ………………………….. ………………………….. ………………………….. ……………………… 20
2.4.4 Arduino Yun ………………………….. ………………………….. ………………………….. ………………………….. …… 21
3. Studiu introductiv privind sistemele SCADA ………………………….. ………………………….. ………………… 22
3.1 Infrastructura SCADA ………………………….. ………………………….. ………………………….. …………………….. 24
3.1.1 Inteligent Electronic Device ………………………….. ………………………….. ………………………….. …………… 24
3.1.2 Interfața om -mașina ………………………….. ………………………….. ………………………….. ……………………… 24
3.2 Vulnerabilități SCADA ………………………….. ………………………….. ………………………….. ……………………. 25
3.2.1 Malware ………………………….. ………………………….. ………………………….. ………………………….. …………. 25
3.2.2 Oamenii din interior ………………………….. ………………………….. ………………………….. ……………………… 26
3.2.3 Hackerii ………………………….. ………………………….. ………………………….. ………………………….. ………….. 26
3.3 Protocoale folosite in sistemul SCADA ………………………….. ………………………….. ………………………….. 27
3.4 The Internet of Things ………………………….. ………………………….. ………………………….. …………………….. 28
4. Infrastructura hardware și software folosita in implementarea proiectului ………………………….. … 29

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
4 4.1 Mediul de dezvoltare Arduino ………………………….. ………………………….. ………………………….. ………….. 29
4.2 Fritzing ………………………….. ………………………….. ………………………….. ………………………….. ……………… 32
4.3 Datele tehnice ale dispozitivelor și instrumentelor folosite în lucrare. ………………………….. …………….. 35
5. Studiu de caz: Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din
cadrul unei ciupercării ………………………….. ………………………….. ………………………….. ……………………….. 43
5.1 Descrierea Sistemului pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul
unei ciupercării ………………………….. ………………………….. ………………………….. ………………………….. ………… 43
5.2 Descrierea funcționalității unității centrale ………………………….. ………………………….. ……………………… 48
5.3 Testarea și rezolvarea erorilor ………………………….. ………………………….. ………………………….. …………… 58
5.4 Mufele folosite la conectarea dispozitivelor de Arduino ………………………….. ………………………….. …… 62
5.5 Procedura de lipire a componentelor pe plăcile de textolit ………………………….. ………………………….. … 63
5.6 Explicarea pe scurt a codului de bază folosit pentru citirea valorilor senzorilor ………………………….. .. 67
Concluzii și contribuții ………………………….. ………………………….. ………………………….. ……………………….. 68
Anexe ………………………….. ………………………….. ………………………….. ………………………….. …………………….. 70
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. …………….. 69

Lucrare de licență Cheresteșiu Adrian Albert

5 1. Introducere
1.1 Motivația alegerii temei
La ora actuală pe piața agricol ă exist ă o cerere din ce în ce mai mare pe partea de
automatizare a fermelor de ciuperci, datorita evoluției foarte rapid ă a automatelor programabile și
a senzorilor ce pot sa se conecteze la aceste automate programabile . Implementarea unui sistem de
monitorizare și control al procesului de creștere a ciupercilor a devenit mai accesibil, iar
monitorizarea și control ul procesului poate reduce costurile de întreținere . În același timp rezult ă
un produs cu o calitate superioară . Având un control foarte precis asupra p arametrilor măsurați
putem controla : temperatura , umiditatea și CO 2 (Dioxid de carbon) din aer și a altor parametrilor
astfel încât sa folosim o cantitate de apă ideală pentru a menține umiditatea de 75 -85%, rezultând
într-o economie de apa. Pe lângă asta, fiind un proces automatizat și monitorizat, este nevoie de o
singură persoan ă să culeagă ciupercile și un administrator care s ă monitorizeze parametrii și să
facă eventuale modificări în timp real . Atribuț iile sale ar putea consta în setarea temperatur ii,
umidității dar și a luminozit ății din ciupercărie . Acest sistem automat poate fi modular , astfel încât
să acomodeze mai mulți senzori , dar chiar și alte tipuri de ciuperci pentru o viitoare extindere .
Am venit cu ideea conceptului pentru monitorizare și control a procesului într-o ciupercărie
după o scurt ă vizită la o astfel de locație, amplasată pe lângă comuna Slătioara . În urma acestei
vizite , am observat o lipsă a controlului exact de umiditate și temperatură de unde rezult ă un
consum de apă și energie electric ă mărit. Sistemul propus de mine este un bun mod de a introduce
automatica pe piața de agricultură a ciupercilor . Ciupercile au nevoie de o temperatură controlată,
cuprinsă intre 15 -22 de gra de Celsius și o umiditate relativa intre 75-85%, lipsa întruniri i acestor
condiții rezultând într-un produs sub medie . Scopul sistemului este s ă asigure parametrii optimi
pentru creșterea ciupercilor și informarea personalului despre starea actuală a acestora folosind o
interfață ușor de folosit și foarte intuitiv ă pentru un utilizator care nu dispune de cunoștințe tehnice,
fără a-și face probleme pe partea de automatizare. Acest sistem face mult mai ușor accesul și
controlul asupra procesului pentru a cest tip de utilizatori, sistemul preluând rolul unui crescător
care are cunoștințe despre fiecare tip de ciuperc ă în parte, sistemul eliminând rolul unui specialist
în domeniul și care ține cont de nevoile de creștere a plantelor

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
6 1.2 Obiectivele propuse în cadrul lucrării
Obiectivele acestei lucrări de licență sunt de a monitoriza parametrii și controlul automat
al proceselor din cadrul unei ciupercări i cu ajutorul unui nou concept folosind o plac ă Arduino
Mega . Datorită avantajelor în termeni de economie și tendințele actuale ale pieței de agricultură
aceasta se încadrează cel mai bine pentru acest scop . Înainte de a vorbi despre monitorizarea
parametrilor și controlul automat al proceselor din cadrul unei ciuperc ării propus ă în această
lucrare, trebuie să avem o înțelegere de bază asupra ciupercil or.
Ciupercile sunt o categorie unic ă, nu sunt nici animale , nici p lante, ele fiind niște
organisme uni sau pluricelul are care leagă între ele cele dou ă categorii: plantele și animalele . Noi
vom vorbi despre cea mai comună ciuperc ă care se regăsește în orice piață, ciuperca pleurotus .
Este foarte comună datorită faptului că a re o rezi stență crescut ă față de boli. Pentru o creștere
ciupercile au nevoie de o temperat ura de 10 – 20 grade Celsius și o umiditate de 75 -85%, timpul
de incubare a ciuperci i fiind de la 12 până la 21 de zile în funcție de hibridul folosit. Recoltarea
ciupercilor se fac e în valuri cu o pauz ă de 10 -14 zile între recolte . Sunt 3 recolte principale, primele
două fiind cele mai abundente , iar perioada de fructificare durează în medie 50 -60 de zile.
În aceast ă lucrare voi face o scurt ă introducere în automatic ă și microcontrolere
programabile, setul de instrucțiuni RISC , programarea microcontrolerului AVR și despre
monitorizarea parametrilor și controlul automat al proceselor din cadrul unei ciupercării. Pentru
prelucrarea datelor vom folosi sisteme auxiliare, cum ar fi senzori și traductori prin care se
realizează achiziția de date și modul în care ele comunică . Pentru a înțelege cum funcționează
aceste sisteme, trebuie sa cunoaștem modul lor de programare, structura lor interna și modul în
care comunica intre ele.
În final voi defini câteva detalii tehnice despre m ediile de dezvoltare folosite,
componentele hardware , schemele folosite în circuitele din proiectul meu și problemele
întâmpinate (bug -uri) în realizarea acestui proiect și rezolvarea lor .

Lucrare de licență Cheresteșiu Adrian Albert

7 1.3 Structura lucrării de licență
În al 2-lea capitol va fi prezentat ă o scurtă introducere în automatic ă, voi prezenta tipurile
de automate și evoluția lor pana in prezent, din mai multe puncte de vedere, după care voi prezenta
componentele unui sistem automat . Urmează o introducere in noțiunea de Arduino , iar la sfârșit
vom discuta despre istoria dispozitivului Arduino .
În al 3-lea capitol se află o introducere privind sistemele SCADA (Monitorizare, Control
și Achiziții de Date), infrastructura sa, un mic rezumat de spre dispozitive electronice inteligente,
despre interfața om mașina , controlerul logic programabil, vulnerabilitățile la care este expus un
sistem SCADA și pe scurt tipurile de soluții adoptate de către producători pentru programarea
automatelor , tipurile de protocoale de comunicare și specificațiile lor folosite in prezent . De
asemenea vo i face o scurt ă prezentare despre IOT (The internet of things) , pentru a arăta potențialul
pe viitor al unui astfel de sistem și în alte domenii .
În al 4-lea capitol vom discuta pe scur t despre infrastructura har dware și software folosit ă
în implementarea proiectului . În speță despre mediul de dezvoltare Arduino , soluția open source
Fritzing și modul în care se poate crea o planș ă de lucru , și meto da folosita pentru crearea plăcilor
PCB. Vor fi enumerați și senzorii și restul de echipamente folosite in scopul realizării acestei
lucrări de licența .
În ultimul capitol este descri s sistem ul pentru monitorizarea parametrilor și c ontrolul
automat al proceselor din cadrul unei ciupercării, unde se află exemplificate cazurile de funcționare
pentru fiecare senzor în parte . Voi explic a logic a folosită pentru testarea fiecărui senzor cu scopul
de a ajunge la rezultatul final.
2. Aspecte teoretice privind microcontrolere

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
8 2.1 Scurtă i ntroducere în automatică
„Automatica este ramura științei care se ocupă cu studiul metodelor și mijloacelor prin
intermediul cărora se asigură conducerea proceselor tehnice, fără intervenția directă a
operatorului uman. Implementarea practică a acestor principii, met odele și mijloace de conducere
a proceselor se mai numește și automatizare ”[1].
Una din primele automatizări a fost ceasul pe bază de apă , care folos ea un mecanism similar
cu cel din rezervorul de la w.c . A fost inventat de grecul Ctesibius (300 î.Hr). Apa se scurge dintr –
un recipient mare într -un container inferior, iar pe măsură ce nivelul apei crește în recipientul
inferior, se ridica plutitorul aflat pe suprafața apei. Plutitorul este conectat la un băț cu crestături ,
iar pe măsură ce bățul se ridică crestăturile învârt o roată dințată care la rândul ei depla sează mân a
care indică timpul. [2]
În 1712, Thomas Newcomen inventează motorul atmosferic cu scopul de a scoate apa din
minele de cărbuni , iar în 1760 a fost creat cel mai puternic astfel de motor cu o putere de 20 cai,
care a fost folosit până în 1834 . Cilindrul motorului avea diametrul de 53 cm, motorul avea o
înălțime de 9.5m, 9.5m lungime și o lățime de 4.5m . Putea să pompeze 37 litri de apă de la o
adâncime de aproape 47 de metri. Motoar ele erau foarte rezistente și fiabile, iar motorul folosit la
Pentich a funcționat timp de 127 ani din momentul când a fost instalat. Thomas Newcomen a
primit puțin credit pentru invenția sa. [3]
În anul 1946 apare primul calculator cu program memorat , folosea 18.000 de tuburi
electrice și 1500 relee . Acesta a fost creat la Universitatea Pennsylvania și era capabil să facă 300
de operații pe secundă iar greutatea lui era de 27 de tone . Ca mediu de intrare folosea un cititor de
cartele perforate dezvoltat d e IBM. La 4 ani diferență, apare tranzistorul iar circuitele electronice
încep să fie folosite din ce în ce mai mult, ducând către o evoluție a automatizării.
În 1970 a apărut primul con troller programabil logic inventat de către Dick Morley. A fost
inven tat cu scopul de a elimina costul foarte mare implicat în înlocuirea sistemelor complicate de
control pe bază de relee . Din 1950 până în prezent, a avut loc o evoluție explozivă a automaticii.
[4]

Lucrare de licență Cheresteșiu Adrian Albert

9 2.2 Istoria microcontrolerului
Primul microcontroler a apărut în anul 1971, inventat de către inginerii Gary Boone și
Michael Cochran care lucrau la Texas Instruments. Gary Boone a proiectat un singur cip de circuit
integrat, care ar putea să încorporeze aproape toate circuitele esențiale pentru a forma un ca lculator,
doar ecranul și tastatura nu au fost incluse. [5]

Fig. 1. Primul Microcontroler – TMS1802NC
În esenț ă un microcontroler conține deja toate componentele care îi permit să funcționeze
independent și a fost conceput în special pentru monitorizarea sarcinilor și/sau de control. În
consecință, în plus față de procesor include memorie, diverse controlere de interfață, unul sau m ai
multe cronometre, un control ler de întreruperi și în ultimul rând pini I / O care îi permit să interfață
direct la mediul său. Microcontrolere includ, de asemenea, operațiunile de biți, care permit
schimbarea unui singur bit într -un octet, fără a atinge ceilalți biți. [5]

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
10
Astăzi, numărul de producție a microcontrolerelor este la nivelul de miliarde pe an, iar ele
sunt integrate în multe aparate cu care suntem obișnuiți , câteva exemple ar fi :
 Aparate de uz casnic (mașină de spălat, cuptor cu microunde, mașină de cafea, etc)
 Telecomunicații (telefoane mobile)
 Industria de automobile (injecție de combustibil, sistemul ABS )
Prin conceptul s ău, un microcontroler este foarte ușor de adaptat la funcționarea în mediul
industrial, poate opera pe o plajă largă de temperatura și umiditate și este foarte ușor de adaptat la
orice rol. Toate aceste caracteristici, la care se mai poate adaugă faptul că echipamentul este destul
de robust și relativ ieftin , dacă vorbim de automatizarea proceselor industriale, fac e ca
microcontrolere le să constituie o pondere importantă în automatizarea industrial ă. [5]
2.2.1 AVR Microcontroler – Arduino
Dezvoltat de Atmel, AVR se bazează pe o arhitectură modificat ă Harvard cu set de
instrucțiuni reduse . AVR nu este un acronim și nu reprezintă nimic și este doar un nume dat
microcontrolere lor bazate pe arhitectura modificata Harvard . In 2016 Atmel a fost cumpărata de
către Microchip Technology .

Fig. 2. AVR – Atmega328 Arduino
Familia de microcontrolere AVR este coerentă și ușor de înțeles, iar arhitectura sa este
potrivită în special pentru compilatorul C. GCC, o variantă a lui C+ este portată pentru a susține
procesorul AVR și este cunoscută ca AVR -GCC. Asta nu înseamnă că nu există sprijin pentru

Lucrare de licență Cheresteșiu Adrian Albert

11 limbajul de asamblare. Persoanele cu experiență în limbajul de asamblare pot foarte bine să profite
de controlul său la nivel scăzut. BASIC este de asemenea sprijinit pentru aceia interesați. [6]
2.2.2 Set de instrucțiuni reduse – RISC
Pentru a înțelege ce înseamnă într -adevăr RISC (calculatorul cu seturi de instrucțiuni
reduse) și cum funcționează astăzi computerele , trebuie să ne uităm pe scurt la modul în care s -au
dezvoltat procesoarele de calculatoare în anii 1970 și 1980 și cum com puterele au fost folosite
atunci.
Calculatoarele electronice anterioare au oferit programatorului foarte puține instrucțiuni de
mașină. Opțiunile se limitau la a dăugarea sau scăderea a două numere, deplasarea unei valori de
la un registru de stocare la al tul și încărcarea și salvarea registrelor la principalele memorie.
Persoanele care au programat aceste tipuri de mașini la sfârșitul anilor 1940 lucrau în
limbaj de asamblare pur: trebuiau să învețe valorile binare pentru fiecare instrucțiune pe care
mașin a să o înțelegea și construiască o mulțime de coduri binare pentru a fi executa te de procesor.
Nu existau ecrane, unități hard disk sau unități de dischetă, totul era introdus pe o bancă mare de
întrerupătoare și lumini. Cu toate acestea, pe măsură ce tehnologia a avansat în anii 1960 și 1970,
capacitățile sporite ale mașinilor au făcut posibilă apariția unor limb aje de programare de nivel
superior. Aceste limbi au fost implementate de compilatoare . Un compilator este un program care
conve rtește programe citibile de om, scrise în limbi precum FORTRAN, BASIC sau C în
instrucțiunile reale ale mașinii. Apariția compilatorilor ( și importanța și amploarea acestora din ce
în ce mai mari în perioada 1960 -1980) a însemnat că programatorii umani au devenit treptat izolați
de necesitatea de a cunoaște detalii complexe ale procesoarelor pentru a crea programe software.
[6]

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
12
2.2.3 Programarea microcontrolerului AVR
Cip-ul AVR suporta două metode de a instala software -ul pe care îl creați în cipul AVR:

2.2.3 .1 Programarea în sistem ISP (Serial)
Programarea în sistem (ISP) este mijlocul prin care puteți încărca codul dezvoltat în
microcontrolerul AVR , în timp ce AVR -ul este încă instalat în circui tul său de aplicație. O interfață
specială permite unui dispozitiv ISP să trimită blocuri de date către AVR, iar AVR programează
codul încărcat în șine puțin câte puțin. Această metodă este mai lentă decât programarea paralelă,
dar kit -ul care face acest l ucru este destul de ieftin și de fapt, funcționează mai repede, pentru că
nu transferați cipul din circuitul aplicației programatorului tot timpul. Traseul ISP este mult mai
rapid și mai practic pentru lucrările de dezvoltare. Plăcile Arduino din construcț ie încorporează un
port pentru pro gramarea ISP este încercuit în F igura 3 de mai jos.
Portul ISP este alcătuit din: MO SI – Memory serial In, MISO – Memory serial Out, SCKS
– Serial clock, pin -ul de Reset , și alimentarea VCC și GND . Protocolul constă în menținerea activă
a pinului RESET (adică la o valoare logică scăzută) și apoi, folosind în esență ceasul serial (SCK)
și memoria serial in (MO SI) și memoria serial out (MISO) c a port serial pentru a încărca
conținuturile noi într -o memorie de tip tampon. Mediul integrat de dezvoltare Arduino are integrat
mai multe exemple cu codul pentru programarea prin ISP. Față de programarea în paralel cip -ul
nu trebuie scos de pe placă pentru a fi programat. [7]

Figura. 3 . Conectorul ISP de pe placa Arduino Uno

Lucrare de licență Cheresteșiu Adrian Albert

13

În imaginea de mai jos , figura 4 , se poate vedea cum este folosita o placa Arduino Uno
pentru scrierea bootloader -ului de pe o alta placa Arduino Nano .

Figura. 4 . Exemplu conectare Host to Target Arduino
Prog ramarea cu ajutorul unei plăci A rduino se poate efectu a simplu și este cea mai ieftină
și accesibilă alternativă. Întregul proces de încărcare a codului în bootloader pentru a transforma
un microcontroler ATmega într-un Arduino este administra t de Software -ul Arduino (IDE) ,
Figura 5. Din mediul integrat de dezvoltare, se selectează Tools, acolo se regăsește submeniul
Programmer: Arduino as ISP , figura 5 de mai jos . [7]

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
14

Figura. 5. Arduino folosit ca ISP
2.2.3 .2 Programarea în paralel
Programarea paralelă este o tehnică în care se conectează toți pinii procesorului AVR și o
tratează aproape ca și cum ar fi fost doar un chip de memorie în care scrie datele. Programarea se
face prin plăci de programare multifuncționale, în special cele oferite de Atmel, cum ar fi
STK500 reprezentat in figura 6 de mai jos. De asemenea, programatorul STK500 oferă o serie de
capabilități utile de dezvoltare a sistemului . De exemplu, are mai multe LED -uri butoane pentru
teste, placa dispune de un port com RS -232 cu care se poate conecta direct cu un PC de tip
desktop print -un adaptor USB – RS-232 deoarece pc -urile de generație noua au renunțat la
porturile respective fiind o tehnologie învechita . [6]

Figura 6. Programator Atmel SKT500
Unul dintre cele mai mari dezavantaje în utilizarea programării paralele este datorat
faptului că în majoritatea cazurilor trebuie să se deconecteze cipul AVR din circuitul folosit și să
fie conectat la o placă de programare dedicată, și după scos iar din programator și apoi mutat
înapoi la circuitul folosit, asta se face de fiecare dată când se dorește o actualizare a codului. [6]

Lucrare de licență Cheresteșiu Adrian Albert

15 2.3 Introducerea in Arduino
În acest subcapitol vom acoperi programarea modulu lui Arduino . Componentele care
alcătuiesc un Arduino au evoluat de la introducerea sa în 2005 . Conceptual, Arduino este o
combinație de hardware și software, și este important în a avea o bună înțelegere a ceea ce este
implicat în ambele domenii, precum și zonele în care acestea se suprapun. Ardu ino a fost inițial
dezvoltat în Italia, numele Arduino prov enind de la semnificația în italiana a sintagmei „Prieten
puternic” .

Figura 7. Prima placa Arduino
În Fig ura 15 se poate observa prima placa Ardu ino, portul serial folosit , RS-232, iar mai
târziu a apărut și versiunea cu port serial USB. Din punct de vedere tehnic, toate versiunile de
intrări / ieșiri Arduino folosesc comunicația serială.
Arduino Uno a fost anunțat pe 25 septembrie 2011, la Maker Fair din New York. Numele
modelului Uno provine tot din limba italiană pentru numărul unu și este destinat să corespundă cu
„Uno Punto Zero ”, sau 1,0 de la versiunea software -ului Arduino. Edițiile anterioare, numerotate
0001 prin 0022 au fost luate în considerare ca versiune alfa, sau versiuni preliminare .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
16 De-a lungul anilor, procesorul a fost actualizat de două ori de la ATmega8, cu bytes 8KB
de memorie de program, la ATmega168 cu 16KB de memorie de program și apoi la ATmega328
cu bytes 32KB de memorie de program . Nouă pini RS 232 , conector serial și interfață și circuitele
au fost înlocuit e cu un port serial virtual, folosind diferite chipuri cu interfață USB. Alimentatorul
circuitel or a văzut unele îmbunătățiri cu plus de protecție supra -curent și selecție Intelligent Power –
source.

Figur a 8. Schema bloc Arduino Uno
Placa Arduino a fost bazată pe procesorul Atmel AVR ATmega8 și derivații acestuia. I /
O, de asemenea, conține un port USB Serial, surs ă de alim entare , conectori de expansiune precum
și diverse componente de sprijin .

Figura 9. Arduino Uno (stânga) și Arduino Uno SMD (dreapta)

Lucrare de licență Cheresteșiu Adrian Albert

17
Principalul „creier ” al Arduino Uno este ATmega328, blocul din plastic negru,
dreptunghiular, cu două rânduri de pini proeminen ți din laturile sale. Pe versiunea SMD,
procesorul este acel pătrat minuscul negru din dreapta, care este sudat direct pe PCB.
Acest dispozitiv este în esență un calculator pe un cip, care conține o unitate de procesare
centrală (CPU), memorie, ceas, și periferice într -un singur pachet. Vezi figura 8
Cip-ul ATmega328 este derivat din procesorul original Arduino, adică ATmega8. Acesta
conține mai multă memorie și co mpatibilitate la periferice mai mare decât predecesorul său în timp
ce utilizează mai puțină energie electrică. Procesorul ATmega328 poate opera pe o gamă largă de
tensiuni de alimentare cu energie, de la 1.8V la 5.5V. Acest lucru îl face perfect pentru ap licații în
care placa este alimentată de la baterii. La cele mai mici tensiuni, procesorul are o viteză maximă
de ceas de 4MHz (milioane de cicluri pe secundă). Daca c rește m tensiunea de alimentare la cel
puțin 2.7V, put em crește frecvența de ceas la 10MHz . Pentru a rula la frecvența maxima de
20MHz, cip -ul are nevoie de cel puțin 4.5V. Deși noul cip ATmega328 poate rula la o frecvență
până la 20MHz. Rata de ceas 16MHz a fost menținută pentru toate modelele Arduino ulterioare
pentru a păstra compatibilitate a.
Standardul USB permite furnizarea de la 100mA (miliamperi, sau 0,1 amperi) până la
500mA (0,5 amperi) de curent, la 5.0V. Acest lucru este mai mult decât suficient pentru energie
electrică pentru a aprinde mai multe LED -uri și alimenta câțiva senzori low -power , dar n u este
suficient pentru sarcini electrice mari, cum ar fi relee le, încălzitoare le, ventilatoare le, motoare le
sau solenoizi i. În cazul în care Arduino nu este conectat la un PC prin cablul USB, mai poate fi
alimentat și prin portul dedicat cu tens iuni de intrare de la 7V p ână la 9V, care este conectat direct
la un circuit regulator de 5V.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
18
In figura 5 sunt exemplificați pinii, care sunt pur și simplu numerotați de la D0 pana la D14
pentru pini digitali și A0,A1,A2,A3,A4 respectiv A5 pentru cei 6 pini analogici. Pinii digitali sunt
de-a lungul marginii de sus a plăcii, iar pinii analogici sunt pe marginea de jos , de asemenea se
poate observa și pinul de reset folosit pentru resetarea placi cu ajutorul unui buton extern . Un cablu
se conectează la pinul de reset și celălalt cablu la pinul de GND . Placa se poate alimenta prin portul
USB la 5V sau prin portul dedicat la o tensiune minima de 7V sau maxima de 9V .

Figura 9. Intrări/ Ieșiri și Comunicare

Lucrare de licență Cheresteșiu Adrian Albert

19 2.4 Derivații ale placi Arduino
Plăcile Arduino vin într -o varie tate de forme, dimensiuni și specificații , pentru a permite
o flexibilitate mare în alegerea pentru o soluția perfectă
2.4.1 Arduino Genuino/Uno
Arduino Genuino/Uno este prima placă cu microcontroler bazat pe ATmega328P, are 14
de intrări și ieșiri digitale, 6 intrări analogice, o conexiune USB, o mufă pentru alimentare
dedicată și un buton de resetare. Ea se prezintă în două revizii, Arduino Uno și Arduino Uno
SMD diferențele fiind de consum dar sunt minore . Placa a fost prezentată mai sus în figura 9.
2.4.2 Arduino Nano
Arduino Nano, este cea mai mica soluție oferit ă, placa fiind bazată pe unul din dou ă
microcontroler e, ATMega32 8 sau ATM ega168. Dispune de 14 de intrări și ieșiri digitale și 8
intrări analogice .

Figura. 10 Placa Arduino Nano

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
20 2.4.3 Arduino Pro
Arduino Pro (Figura 5) este o placă cu microcontroler bazat pe ATMega168 sau
Atmega328 . Vine în două versiuni: 3.3V și 8 MHz sau 5V respectiv 16 MHz. Are 14 de intrări și
ieșiri digitale, 6 intrări analogice, un jack de pentru a conecta la o baterie externă, un comutator
de alimentare, un buton de reset, și găuri pentru montarea unui jack de alimentare externă . Mai
dispun e de o locație pentru a montarea unei mufe pentru a putea fi programat , fiind destinată
pentru a fi folosită într -un domeniu mai profesional sau în obiecte de expoziții .

Fig. 11 Placa Arduino Pro
2.4.4 Arduino Mega 2560
Este cea mai complexă placă oferită, cu microcontroler bazat pe Mega2560, are 54 de
intrări și ieșiri digitale, 16 intrări analogice, o conexiune USB, o mufă pentru alimentare dedicată
și un buton de resetare. În revizia 2, placă vine o protecție supliment ară pe usb, dacă se aplică
mai mult de 500 mA la portul USB, siguranță va rupe în mod automat conexiunea până când
suprasarcina este eliminată, fiecare dintre ce i 54 de pini digital i de pe Mega po t fi utiliza ți ca
intrare sau ieșire , utilizând linia de comandă: pinMode(), digitalWrite() și digitalRead(), iar
tensiunea de ieșire pe porturi este de 5 volți.

Lucrare de licență Cheresteșiu Adrian Albert

21

Fig. 12 Placa Arduino Mega 2560
2.4.4 Arduino Yun
Arduino Yun, este o placă bazată pe microcontroler -ul Atmega32u4 și pe Atheros Ar9331
folosit pentru conectivitatea wireless . Dispune de o gam ă variată de conectivitate, are un port
pentru a fi conectată la internet, wireless, un port USB folosit pentru programare, un slot pentru
card micro -SD, 20 de intrări și ieșiri digitale și 16 intrări analogice. [8]

Fig. 13 Placa Arduino Yun

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
22
3. Studiu introductiv privind sistemele SCADA
O evoluție foarte importanta a automaticii este sistemul SCADA (Monitorizare, Control și
Achiziții de Date), este un centru de comandă care monitorizează și controlează un spațiu de
producție. Operațiile se execută de către un dispozitiv RTU (Unități Terminale Comandate la
Distanță) sau de către PLC -uri. În industria de automatică a apărut nevoi a unui terminal prietenos
pentru utilizator . Acest terminal se numește HMI (Interfață om -mașină) și permite unui utilizator
să vizualizeze și să facă ajustări ale procesului în timp real. [10]
În prezent, nevoia unui sistem care poate înlocui factorul uman în diverse procese, într -o
diversitate de do menii, a dus la crearea unui sistem avansat de control și monitorizare. Pentru a
înțelege în totalitate tema propusă, trebuie să înțelegem ce este un sistem SCADA. [10]
SCADA este o combinare a unor programe software și componente hardware utilizate
pentru procesul de control și colectare a datelor în timp real de la diferite locații , în scopul de a
controla echipamente și condiții . SCADA este folosit într -o varietate de industrii, inclusiv:
industria aerospațială , auto, centrale electrice, petrol și rafina rea de gaze, telecomunicații ,
transport, apă și controlul deșeurilor , energie, farmaceutic și o varietate de alte industrii.
Termenul SCADA se referă de obicei la un centru de comandă care monitorizează și
controlează un întreg spațiu de producție. Cea ma i mare parte a operațiunilor se execută automat
de către RTU – Unități Terminale Comandate la Distanță (Remote Terminal Unit) sau de către
PLC- Unități Logice de Control Programabile (Programmable Logic Controller). [10]

Fig. 14 Procesul de monitorizare și achiziții date a unui sistem SCADA

Lucrare de licență Cheresteșiu Adrian Albert

23 Sistemele SCADA includ componente hardware și software. Hardware -ul colectează date
într-un calculator care are software -ul SCADA instalat, apoi procesează aceste date și le prezintă
în timp r eal. De asemenea, înregistrează toate evenimentele într -un fișier stocat pe hard disk și le
trimite la o imprimantă. SCADA avertizează atunci când condițiile de proces devin periculoase
prin alarmare sonoră.
Achiziția de date începe la nivelul RTU sau PLC și implică citirea indicatoarelor de măsură
și a stării echipamentelor care apoi s unt comunicate la cerere către SCADA. Datele sunt apoi
restructurate într -o formă convenabilă operatorului care utilizează HMI, pentru a putea lu a
eventuale decizii care ar ajusta modul de lucru normal al RTU/PLC. (Un sistem SCADA include
componentele: HMI, controlere, dispozitive de intrare -ieșire, rețele, software și altele).
Un sistem SCADA tipic implementează o bază de date care conține elemente denumite
puncte. Un punct reprezintă o singură valoare de intrare sau ieșire monitorizată sau controlată de
către sistem. Punctele pot fi fie hard (fizice), fie soft (virtuale). Un punct hard este reprezentarea
unei intrări sau ieșiri conectată la sistem, iar un punct soft reprezintă rezultatul unor operații
matematice și logice aplicate altor puncte hard și soft. Valorile punctelor s unt stocate de obicei
împreună cu momentul de timp când au fost înregistrate sau calculate.
Sistemul SCADA este format din trei componente principale:
 Unul sau mai mult RTU sau PLC
 Stația Master și HMI
 Infrastructura de comunicație

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
24 3.1 Infrastructura SCADA

După cum spuneam, sistemele SCADA au avansat foarte mult și se regăsesc în centralele
de producere a energiei electrice, sisteme de transport, rafinării de petrol, fabrici chimice și
facilități de producție complexe. Operatorii trebuie să monitorizeze în permanență și să controleze
mai multe secțiuni diferite ale infrastructuri i pentru a asigura funcționarea corespunzătoare a
acest eia. În ultimele decenii această comandă de la distanță și control a fost făcută posibil datorită
dezvoltării tehnologiei de rețea .

3.1.1 Inteligent Electronic Device
IED-ul este un dispozitiv legat direct la procesul fizic prin intermediul traductoarelor de
tip analogic sau digital. Este capabil să execute automatizări simple, când se ocupă cu achiziția de
date și este capabil să comunice cu un nivel ierarhic superior. [10]

3.1.2 Interfața om-mașina
Industria de HMI/SCADĂ a apărut din nevoia unui terminal prietenos pentru utilizator într –
un sistem alcătuit cu unități RTU și sau PLC. Acesta este HMI – Interfață om -mașină (Human
Machine Interface) sau MMI (Man Machine In terface) [10]
HMI -ul mai are rolul de a aduna, combina și structura informațiile dintr -un PLC printr -o
formă de comunicație . Încă din anii 1990 rolul sistemelor SCADA în sistemele inginerești civile
s-a schimbat, necesitând o mai mare cantitate de operațiuni executate automat , iar un HMI elaborat,
poate fi de asemenea conectat la o baza de date pentru realizarea de grafice în timp real, analiză
datelor, proceduri de întreținere planificate, scheme detaliate pentru un anumit senzor sau utilaj,
precum și metode de depanare a sistemului. Din 1998, majoritatea producătorilor de PLC oferă
sisteme HMI/SCAD A integrate, cele mai multe folosind sisteme de comunicație și protocoale

Lucrare de licență Cheresteșiu Adrian Albert

25
deschise, neproprietare. Majoritatea sistemelor HMI/SCAD A oferă compatibilitate cu PLC -urile.
[10]

Fig. 15 Exemplu de proces de monitorizare prin intermediul HMI
3.2 Vulnerabilități SCADA
Din păcate, utilitatea acestor sisteme le -a făcut de asemenea vulnerabil e atacurilor . SCADA
este un sistem relativ necunoscut în afara diferite lor sale comunități industriale. Din acest motiv,
inginerii de control nu cred că este nevoie de un sistem de protecție . Astfel, pentru o mare parte
din istoria lor, instalații le SCADA au la baza securitate a prin obscuritate. Multe tehnologii ale
sistemului de control sunt proprieta re sau conțin componente extrem de specializate și astfel
necesită instruire și educație specifică. Adesea experți i SCADA provin din medii de proces sau de
inginerie mecanică, în loc să provină dintr -un mediu de informa tică sau programare. Astfel, deși
inginerii de control sunt foarte bun i la ceea ce fac, ei nu au fost pregătiți pentru noile tehnologii și
pericolele care apar cu noua tehnologie .
3.2.1 Malware
Viruși , viermi, și troieni sunt cei mai mari dușmani al sistemelor de IT. Sistemele SCADA
au început să includă mai multe tehnologii din domeniul IT, astfel ele devin mai vulnerabile la
amenințările de malware. Atacurile malware care nu vizează în mod direct SCADA v or avea un
impact tot mai mare pe aceste s isteme. .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
26
3.2.2 Oamenii din interior
În ultimii ani, s -a presupus că singura amenințare reală pentru un sistem de control a fost
de la un fost angajat, cu siguranță acum nu mai este o amenințare, dar este încă o preocupare
majoră. Desigur, cei care știu cel mai mult despre un sistem pot provoca și cele mai mar i pagube.
3.2.3 Hackerii
Un hacker este un expert în informatică, care se ocupă cu studiul în profunzime al
programelor informatice (sisteme de operare, aplicații), adesea folosind tehnici de inginerie inversă
(demontare), cu scopul de a obține cunoștințe care nu sunt accesibile publicului larg. Cei ce
folosesc aceste cunoștințe în scopuri ilegale, pentru a compromite securitatea sistemelor
informatice sau a aplicațiilor, sunt de fapt crackeri (spărgători), însă în percepția publicului
(formată de obicei de mass -media) noțiunile de hacker și cracker adesea se confundă. Multe
instrumente de hacking sunt cunoscute și pot provoca avarii sistemelor SCADA, iar utiliz area lor
ar putea d ăuna semnificativ mediului în care este folosit sistemul.

Lucrare de licență Cheresteșiu Adrian Albert

27 3.3 Protocoale folosite in sistemul SCADA
Protocoalele sunt limbajele, care permit unităților RTU și SCADA să comunice unul cu
altul. Toate arhitecturile de rețea sunt bazate pe Organizația Internațională pentru Standarde .
 RS-232 este prima transmisie serial, apărută în anul 1962 și este o transmisie point -to-point
și half-duplex sau full -duplex, cu distanță maximă de transmisie prin cablu de 15m, viteză
maximă 20kbps și tensiunea pe linie de maxim 25V .

 Urmează RS -422, tot transmisie serială, multidrop și diferențială (2 fire), Half -duplex,
distanța maximă este de 1200m iar viteză maximă:10Mbs și tensiunea pe linie, max ±6V.

 Un protocol foarte folosit este RS -485, de asemenea serială Multipoint, Diferențială, Half –
duplex, distanța maximă este de 1200m iar viteză maximă 10(35) Mb ps și tensiunea pe
linie 7 -12V.

 Un alt protocol este MODBUS, publicat de Modicon în 1979 pentru comunicarea cu
automatele programabile. Este un protocol utilizat pentru echipamente industriale de
măsură și control și este foarte răspândit din următoarele motive : este “open”, nu se
plătește licență pentru utilizarea sa, iar transportul de biți și cuvinte se face în format “brut”
fără să restricționeze implementarea. Realizează o rețea industrială relativ simplă și este
protocol serial, ușor de implementat pe RS -485. [10]

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
28 3.4 The Internet of Things
A apărut prima dată în 1999, internetul obiectelor (IOT) este o tehnologie nouă, cu scopul
de a interconecta obiectele folosit în fiecare zi . Țelul final este de a form a o rețea de Internet prin
care aceste obiecte pot comunica unul cu altul , lăsând în urmă interacțiunea om-la-om sau om –
computer. Acesta asigura conectivitatea la obiecte fizice, mai degrabă decât la dispozitive le de
conectare, cum ar fi laptop, desktop sau telefoane mobile . Fiecare dispozitiv în IOT trebuie să aibă
o identitate, în speță în cea mai mare parte o adresa IP.

Fig. 16 The internet of things
The internet of things se poate referi la o varietate mare de dispozitive, cum ar fi
implanturile de monitorizare a inimii, transpondere biochip folosite pe animale le de fermă,
automobile cu senzori încorporați sau dispozitive de operare pe teren care ajută pompieri i în
operații de căutare și salvare. Aceste dispozitive colectează date utile cu ajutorul u nor tehnologii
existente și apoi transferă fluxul de date între alte dispozitive. Exemple de piață curent ă includ
sisteme inteligente termostate (aerul condiționat, frigiderul) și mașină de spălat, sau alte
dispozitive care folosesc rețeaua WI-FI pentru monitorizare de la distanță. [11]

Lucrare de licență Cheresteșiu Adrian Albert

29
4. Infrastructura hardware și software folosita in implementarea proiectului
4.1 Mediul de dezvoltare Arduino
Cu software rul instalat, ar trebui să fie capabil să se conecteze Arduino la portul USB de
pe computer utilizând un cablu USB AB. Indicatorul de alimentare Arduino LED -va aprinde pe
placă , confirmând că are putere și este gata să funcționeze . Pe PC -uri bazate pe Windo ws este
necesar să instalam un driver pentru USB bord Arduino la convertor ul serial, așa cum se arată în
figura 17.

Fig. 17 Driver instalat automat de către Windows .

Înainte să începem programarea dispozitivului de dezvoltare Arduino Mega2560 trebuie
să setăm portul folosit pentru comunicații de către placă Arduino Mega2560, când se instalează
prima dată dispozitivul Arduino, la sfârșitul numelui apare și portul folosi t în cazul de față placă
folosește portul COM4, vezi figura 18 .

Fig. 18 Driver instalat automat de către Windows .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
30 Mediul de programare oferit de Arduino este unul open source, destul de simplist, rulează
pe computere personale obișnuite sau laptop -uri și permite utilizatorilor să scrie programe pentru
placa de dezvoltare Arduino, folosind un limbaj de programare asemănător cu C sau C++.
Comunicarea dintre plac ă și calculatorul personal se face serial prin intermediul unui port USB,
prin care se poate face achiziție de date sau trimitere de comenzi către placa de dezvoltare sau
programarea plăcii în sine. Interfața oferită de mediul integrat este foarte intuitivă și ușor de folosit,
exist ând chiar și un meniu de unde se pot încărca exemple de cod, prin care se pot programa diverse
aplicații, cum ar fi citirea unei mărimi analogice (senzor de temperatura) figura 19. [14]

Fig. 19 Interfața mediu de programare Arduino.
Mediul de dezvoltare va rula schița printr -un proces numit compilare . În cazul în care
mediul de dezvoltare are codul Arduino C pe care l -am scris, el le traduce într -un format binar care
va fi înțeles de către micro procesor . Dacă totul decurge bine, o notificare va apărea în partea de
jos a ferestrei care spune, "Done compiling" și se va comunica dimensiunea schiței în bytes.
Dacă există o eroare în timpul procesului de verificare, treceți și la verifica rea secțiunii
privind erorile comune pentru a vedea dacă vă puteți da seama ce a mers prost. Odată ce am

Lucrare de licență Cheresteșiu Adrian Albert

31 terminat de scris schiță, a fost verificat ă de erori, și totul se încheie cu succes, suntem gata pentru
a încărca schița la bord ul Arduino .
Putem folosi monitorul de serie încorporat în mediul dezvoltare Arduino pentru a comunica
cu o placă Arduino. Faceți clic pe butonul Serial Monitor din bară de instrumente sau folosiți
scurtătură (CTRL+SHIFT+M) pentru a începe monitorizarea, figura 20. Dar fără linia de comandă
Serial.prin t(valoare) nu va arat a nimic deoarece nu monitorizează niciun parametru . De exemplu
în figura 21 avem linia de comandă folosită pentru senzorul de temperatura [14]

Fig. 20 Serial Monitor

Fig. 21 Interfață de monitorizare valori analogice.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
32
4.2 Fritzing
Fritzing este o soluție software open source cu o interfață simplistă și intuitivă, ușor de
folosit pentru proiectarea circuitelor electrice . De asemenea permițându -ne să proiectăm o multiple
schematici pentru mai multe circuite printate, are și o funcție de a proiecta piese 3D într -un mod
foarte profesionist . Soluția software încorporează baza de date impresionantă cu componente
electrice, conectori, plăci de dezvoltare, motoare, senzori, etc . [12]
Pentru a re aliza plăcuțele cu martorii luminoși necesar sistemului de CO 2 și pentru a -mi
ușura muncă, prima dată am început prin a proiecta un model 3D pentru plăcuțele cu martorii
luminoși . M-am folosit de o placă cu găuri perforate și folosind diodele luminescente am realizat
prima componentă necesară sistemului și rezistenț a pentru a nu arde LED -urile. Cu ajutorul
programului putem și colora firele . Am folosit culoarea neagră pentru GND , verde pentru ledul
verde și albastru pentru ledul roșu, (Fig. 22) .

Fig. 22 Proiectarea plăcii în 3D cu martorii luminoși CO2.

Lucrare de licență Cheresteșiu Adrian Albert

33 A două etapă este proiectarea schematicii, care este esențială, deoarece putem vizualiza
conec țiunile realizate pe placă cu găuri perforate. Programul pune automat componentele folosite
în schem a 3D, dar fără legăturile (cone xiunile ) făcute . Această sarcina este preluată de către
proiectant . Pentru a realiza o cone xiune între componente trebuie doar să tragem (drag and drop)
firul între ele, iar când cone xiunea este realizată pinul se face verde, dacă există un scurt sau un
pin nu este conectat el este desemnat cu culoarea roșie. Am legat catodul în serie iar în capăt am
legat o rezistență pentru a proteja LED -urile, anodul fiecărui led fiind conectat în porturile
respective de pe placă Arduino (Fig. 23).

Fig. 23 Proiectarea schemei cu martorii luminoși CO2 .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
34 După cum se poate vedea, în figura 24 este o diagramă cu montajul la rece în versiunea
finală ale celor 3 plăci cu indicatoare vizuale în care am stabilit porturile finale pentru fiecare led
în parte. Am realizat cablaj ul astfel încât să fie cât mai organizat, programul ofer ind posibilitatea
de a colora firele prin a alege între 13 culori . Printre ele se regăsesc cele mai comune: alb, negru,
roșu, verde, albastru. Firul negru este comun pentru toate cele 3 plăci, și cone ctat la portul GND
de la placă Arduino Mega2560, pentru led -ul roșu am ales culoarea prestabilită de program
albastru, iar pentru LED -urile verzi am folosit culoarea verde din conveniență. Plăcile cu găurile
perforate au același dimensiune cu cele realizat e la sfârșitul acestei licenței .

Fig. 24 Cablarea plăcilor folosite pentru notificare .

Lucrare de licență Cheresteșiu Adrian Albert

35
4.3 Datele tehnice ale dispozitivelor și instrumentelor folosite în lucrare.
În acest capitol voi enumera senzorii folosiți pentru monitorizarea parametrilor . În
continuare vom detalia pe scurt dispozitivele folosite, alături de câteva specificații tehnice.
Placa textolit , este o placă folosită în special pentru circuite de tip prototip, care are rolul
mecanic de a susține mecanic și de a conecta electric un ansamblu de componente electrice, în
scopul de a realiza un produs final (Fig.25) .

Fig. 25 Placă prototip perforată cu găurii
Pentru avertizarea vizual ă, am folosit dioda electroluminiscen tă. O descriere buna este
făcută de către Domnul Profesor Popescu la curs : „Dioda electroluminiscen tă este cunoscută
frecvent sub numele de LED, adică Light Emitting Diode și este o diodă construită astfel încât
transform e o parte din energia electrică primită în energie luminoasă.”
O dioda electroluminiscen tă este polarizează direct, tensiunea de polarizare a vând valoarea
aproximativă de 2V . Curentul direct prin dispozitiv are intensitatea 10 ÷ 30 mA în funcție de
culoare , iar dacă este polarizează invers, prin diodă nu trece curent și nu va emite lumină.

Fig. 26 Dioda electroluminiscență de culoare roșie

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
36 Aceste diode au un consum foarte redus de energie și timpi de răspuns sunt foarte mici (de
ordinul nanosecundelor), prezintă o bună robustețe mecanică și au o durat ă de viață foarte mare .
Lumina emisă este de culoarea roșie, galbenă, verde, albastră etc. Un LED se comportă ca
o diodă obișnuită , dar care suplimentar emite lumină atunci când este polarizat direct. Rezistența
opusă trecerii curentului electric este mică în starea de conducție, adică în ca zul polarizării directe
și de aceea LED -ul trebuie înseriat cu o rezistență electrică care are rolul de limitare a intensității
curentului care îl străbate. În absența rezistenței de limitare, LED -ul se va defecta („arde”)
instantaneu, iar daca rezistenta este prea mare LED -ul se va aprinde cu o luminozitate mic ă, sau
chiar nu se aprinde deloc.
Caracteristicile LED -urilor folosite sunt:
 LED Roșu : 2V și 15mA
 LED Verde: 2.1V și 20mA
Stația de lipit este elementul activ în procesul de lipire și are sarcina de a furniz a căldura
necesar ă topirii cositorului (fludorului). Fludorul seamănă cu o sârma dar în realitate este un tub
de cositor (staniu + plumb) . Atunci când este expus la aer, cuprul se oxidează (își schimb ă suprafața
lucio asă în culoarea maro mat ă). Acest oxid împiedică lipirea cositorului de cupru. Pentru a fi
îndepărtat, se folosește pasta decapantă (Fig. 27)

Fig. 27 Rola de cositor (strângă), Pastă decapantă solidă (mijloc), Letconul (dreapta )

Lucrare de licență Cheresteșiu Adrian Albert

37  Senzorul temperatur ă
LM50 este un circuit integrat de precizie, calibrat direct din fabrica pentru grade Celsius .
Funcționează de la -40 °C pana la +125°C. Are o precizie de ±2°C specificată la + 25°C. Operează
cu voltaje de la 4.5V până la 10V și curent de comandă de 130 μA, nu se încălzește , pentru a
intro duce erori în citirea temperaturii și oferă o mărime de ieșire liniar ă.

Fig. 28. Senzor de temperatură LM 50
 Senzorul umiditate
DH11 este un senzor digital de temperatura și umiditate. Acesta încorporeaza un senzor de
umiditate capacitiv și un termistor, pentru a m ăsura aerul din jur și dă un semnal digital pe pinul
de date (nu necesit ă pini de intrare analogici). [13].

Fig. 29. Senzor de umiditate DH11.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
38
 Senzor de iluminare
Senzorul PT15 -21C/TR8 este o component ă care sesizează nivelul de iluminare al mediului.
Valoarea iluminării măsurate variază liniar între 0 și 1024.

Fig. 30. Senzorul PT15 -21C/TR8 de luminozitate
 Senzor C O2 (Dioxid de carbon)
Senzorul CO2 (Dioxid de carbon) poate să detecteze o concentrație de monoxid de carbon
între 20 și 2000ppm (părți la un milion). Acesta are nevoie de aproximativ un minut pentru a ajunge
la temperatura optimă pentru a putea măsură cu exactitate. Este alimentat cu 5 .0V. Acest kit vine
neasamblat și necesită montarea și lipirea pieselor pe placă . În figura 3 1 de la stânga la dreapta:
senzorul propriu zis , placă cu conectorul rezistență și potențiometrul , iar în dreapta este plac a cu
toate cone xiunile lipite .

Fig. 31. Senzorul CO2(Dioxid de carbon) sub formă de kit.

Lucrare de licență Cheresteșiu Adrian Albert

39
 Placa cu 3 LED -uri 5mm
Următorul echipament este o placa cu 3 LED -uri de 5 mm, dou ă LED -uri ro șii și un LED
verde conector tip Pin, Fig 31, pentru a simula o ieșire comandată și indica nivelul umidit atii.

Fig. 32. Placa cu 3 LED -uri 5mm
 Placa cu un LED -RGB de 5mm
Următorul echipament este o plac ă cu un LED RGB (Rosu, Verde, Albastru) cu scopul de a
indica vizual temperatu ra folosindu -se de trei culori . Albastru însemn ă că temperatura e rece, verde
însemn ă că temperatura se afl ă în parametrii specifica ți, galben temperatura a dep ășit pragul ideal,
roșu temperatur ă mare. În general LED -urile RGB au 4 pini (un catod și 3 pini folosi ți pentru ro șu,
verde și respectiv albastru ), combinând roșu, verde și albastru putem obține aproape orice culoare
dorim. Conector tip pin (Fig. 33).

Fig. 3 3. Placa cu 3 LED -uri 5mm

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
40  Placa cu 2 LED -uri 5mm
Placă cu 2 LED -uri de 5 mm, un led roșu și un led verde cu con ector tip pin (Fig. 34) , pentru a
afișa starea senzorului de CO2,culoarea verde indic ă că sistemul este in valori ideale , roșu indic ă
o defec țiune sau o dep ășire a pragului maxim admis de CO2
.
Fig. 34. Placa cu 3 LED -uri 5mm
 Placa cu un LED
Placa folosește un LED de 5 mm, de cu loare roșie cu conector tip pin ( Fig 35), pentru
avertizarea in cazul unei avarii sau alertă pentru depasirea pragului maxim de luminozitate .

Fig. 35. Placa un LED

Lucrare de licență Cheresteșiu Adrian Albert

41  Ventilatorul
Este un ventilator generic de mici dimensiuni cu o turație maxim ă de 2900 RPM și un
consum redus de energie . Este alimentat la 12V

Fig. 36 Ventilator de 70mm

 Modulul shield cu 4 relee

Oferă o soluție pentru controlul dispozitivelor de consum mărit, care nu pot fi
controlate direct prin Arduino datorită limitel or de curent și tensiune.

Fig. 37 Modulul shield cu 4 relee

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
42
 Shield conectori Grove
Următorul echipament este un shield cu conectori Grove, Fig 38, pentru Arduino Mega
2560, cu scopul de a simula un sistem standardizat în ceea ce privește intrările și conectorii, lucru
pe care îl vom discută în detaliu în capitolul care urmează. Shieldul reprezintă o extensie pentru
Arduino Mega 2560 , cu conectori Grove cu 4 pini pentru o mai ușoară legare a senzorilor de
temperatur ă și umiditate.
Fig. 38. Shield Grove pentru Arduino Mega

 Regulatorul de tensiune
Următorul și ultimul echipament este un regulator de tensiune , Fig 48, care este folosit
pentru alimentarea cu 5.0 V a modului cu 4 relee și de asemenea pentru alimentarea senzorului de
CO 2. Este compus dintr -un Circuit integrat 7805, care are o tensiune de intrare de la 8 .0V până la
18.0V și la ieșire 5.0V.

Fig. 39 Regulator de tensiune

Lucrare de licență Cheresteșiu Adrian Albert

43 5. Studiu de caz: Sistem pentru monitorizarea parametrilor și contr olul automat al
proceselor din cadrul unei ciupercării
5.1 Descrierea Sistemului pentru monitorizarea parametrilor și controlul automat al proceselor din
cadrul unei ciupercării
Scopul propus în aceast ă lucrar e de licență este de a aduce la cunoștință un sistem pentru
monitorizarea parametrilor și controlul automat al proceselor din cadrul unei ciupercării foarte
intuitiv și accesibil pentru ciupercăriile de mici dimensiuni . După cum am discutat în capitolele
precedente, se poate deduce ușor că în perioada apariției sistemului SCADA , mediul industr ial a
fost cel care beneficia t cel mai mult de aceast ă nouă invenție la momentul respectiv, iar
producătorii nu prea s -au îndepărtat de acest domeniu, dar piața s-a schimba notabil și tinde spre
sisteme le de buget, care au o interfaț ă ușor de utilizat și nu au nevoie de cunoștințe avansate pentru
a utiliza sistemul. Componentele sistemului se pot observa în schema de montaj din fig. 4 0, fiecare
componenta fiind ilustrat ă din punct de vedere al construcției circuitelor. Toate circuitele sunt
interconectat e pentru a realiza un întreg sistem automat funcțional pentru monitorizarea
parametrilor și controlul automat al proceselor din cadrul unei ciupercării . În continuare vom
detalia fiecare component ă a sistemului în parte, atât din punct de vedere al contribuției la tot
sistemul c ât și al construcției individuale.

Fig. 40 Schema Sistemului

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
44  Modul regulator tensiune de intrare.

Fig. 41 Regulator de tensiune
In fig ura 41 avem modulul de reglare a tensiunii de alimentare a unității centrale. Circuitul
este compus din:
 Baterie 9V
 Circuit integrat LM7805
 Un led de culoare verde alimentat la ieșirea din IC 7805
 Mufe de interconectare a diverselor componente
 O rezisten ță folosit ă pentru LED
 Placă pentru circuite prototip.

Rolul acestui modul este de a regla și a stabiliza la 5V tensiunea de intrare care poate s ă fie
de la 9V pana la 18V, deoarece placa Arduino nu are suficient ă putere pentru alimentarea cu 5
volți a modulelor de relee și senzori cu rezisten țe. Circuitul mai are rolul de a informa în cazul unei
avarii în modulul de reglare a tensiunii de alimentare a unității centrale. În cazul unei defecțiuni
ledul de culoare verde va fi stins semnificând că a avut loc o avarie. La proiectarea modului s-a

Lucrare de licență Cheresteșiu Adrian Albert

45 luat în considerat faptul că circuitul in tegrat LM7805 se poate defecta în cazul unui scurt circuit și
trebuie s ă poată fi înlocuit ușor.
 Modulul de control.

Fig. Regulator de tensiune

Fig. 42 Modul control
In figura 42 avem modulul de control a unității centrale. Circuitul este compus din:
 Placa Arduino Mega2560.
 Placa prototip pentru expansiune a pinilor de alimentare.
Rolul acestui modul este de a achiziționa datele transmise de către senzori și compararea
valorilor de referințe setate în sistem pentru a realiza o reglare automat ă a tuturor parametrilor
dintr -o ciupercărie . Aceasta este componenta principal ă și cea mai important ă a întregului sistem.
Placa prototip de expansiune are scopul de a realiza o mas ă comun ă a tuturor modulelor conectate
și pentru a alimenta diverse module de la aceeași sursă.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
46  Modulul pentru informarea vizual ă.

Fig. 43 Modul informare vizual ă
In Figura 43 se afl ă modulul pentru informarea vizuala. Circuitul este compus din:
 Un led RGB
 3 Leduri, 2 roșii unul verde.
 Doua leduri, unul verde și unul roșu
 Un led roșu.
 Rezistente pentru led -uri
 Mufe conectare
 Placa prototip
Rolul acestui modul este de a indica starea fiecărui parametru individual dintr -o ciupercărie
și sunt acționate de către modulul de control. Ledul RGB are rolul de a indica parametrii
temperaturii măsurate într-o ciupercărie . Cele 3 leduri, 2 roșii și unul verde au rolul de a indica
nivelul umidități . Ledul roșu, se ocupa cu atenționarea utilizatorului în cazul în care parametrii de
CO 2 și a luminozități i au valori prea mari. Mufele facilit ează o interconectare mult mai ușoar ă
pentru a putea fi depanat mai rapid în cazul unei mentenanțe . Rolul rezisten țelor este acela de a
limita tensiunea de alimentare a diode lor.

Lucrare de licență Cheresteșiu Adrian Albert

47  Modulul de reglare al parametri lor ciupercărie i.

Fig. 33 Modulul de acționare
In fig ura 33 este ilustrat modulul de relee care acționează diverse echipamente care au rolul de a
regla și păstra în anumite valori între parametrii esențiali unei ciupercării .
 Modul cu 4 relee comandate.
 Mufe pentru conectare
Rolul acestui modul este de a acționa echipamentele care au un consum mult mai mare
decât cel al sistemului pentru monitorizarea parametrilor și controlul automat al proceselor din
cadrul unei ciupercării . Mufele au rolul d e a face legătura ușoar ă pentru alimentarea cu o surs ă
extern ă.
În următorul subcapitol vom discuta funcționalitatea sistemului pentru monitorizarea
parametrilor și controlul automat al proceselor din cadrul unei ciupercării , alături de toate cazurile
în care se poate afla acest sistem și semnificația fiecărui parametru controlat.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
48 5.2 Descrierea funcționalității unității centrale
Sistemul folosește un sistem intuitiv de afișare a stării procesului. Dacă parametrii măsurați
se încadrează în valoarea stabil ită, ledul verde se va aprinde . În momentul în care parametrii
depășesc valoarea prestabilită sau valoarea este mai mică , se va aprinde ledul roșu.
După cum se poate vedea în figura 54 unitatea centrala este încorporat ă într-o carcasa cu
protecție IP 55 care facilitează prinderea modulelor cu șuruburi . Afișarea este prezent ă pe panoul
unității central e și se afl ă sub forma de martori luminoși după cum urmează :
 Martor avarie.
 Martor temperatura
 Martor CO2
 Martor Umiditate

Fig. 45 Unitatea centrala

Lucrare de licență Cheresteșiu Adrian Albert

49 Parametrii care trebuie sa fie monitorizați si controlați într-o ciupercărie sunt următorii :
 Temperatura
 Umiditate a
 Luminozitate a
 CO 2
La prima pornire a sistemului automat , suntem notificați de către martorul de avertizare
care se va aprinde intermitent timp de 2 minute p ână când senzorul de CO 2 ajunge la temperatura
optim ă de funcționare , dar înainte trebuie s ă ne asiguram c ă senzorii sunt conectați în locașul lor
special, și se va se verifica dac ă avem avarie pe partea de alimentare. Se va începe recepționarea
datelor de la senzori, senzorul de CO 2 având nevoie de aproximativ un minut pentru a ajunge la
temperatura optimă de operare pentru a evita o citire incorect ă a valorilor.
Sistemul pentru mon itorizarea a parametrilor și controlul automat al proceselor din cadrul unei
ciupercării tratează mai multe cazuri:
 Primul caz pe care îl vom tra ta este cel al temperaturii.

Fig. 46 Locație Martor Temperatur ă

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
50 Deoarece este foarte important s ă se mențină o temperatură constantă , diferențele de
temperatura între zi și noapte s ă nu fie în spațiul de cultura mai mari de 3 sau 4 grade Celsius .
Temperatura op timă este cuprins ă între 15 și 22 de grade Celsius . Dacă temperatura depășește
pragul de 22 de grade Celsius cultura de ciuperci se poate ofili, iar în situația opus ă în care
temperatura scade sub 15 grade Celsius cultura nu se va dezvolta.
Săgeata roșie din fig ura 46 semnalează locația martorul ui de temperatur ă. Sunt disponibile
4 culori, roșu care indic ă o temperatur ă foarte ridicat ă, culoarea galben ă indic ă o temperatur ă puțin
peste cea ideala, verde indic ă o valoare optim ă a temperaturii, iar albastru reprezintă o temperatur ă
prea scăzută .

Fig. 46 Martor Temperatur ă rece

Lucrare de licență Cheresteșiu Adrian Albert

51
In cazul în care tempera tura se afl ă sub 14 grade se va a prinde ledul Albastru conform
figur ii 46 și prin intermediul modulul ui de relee va fi acționat sistemul pentru încălzire prin
intermediul modului de relee p ână când temperatura ajunge la parametrul de referință .

Fig. 47 Martor Temperatur ă optim ă
Când temperatura a ajuns la parametrul de referință se aprinde ledul verde , ca în figura 47
iar sistemul monitorizează și așteaptă creșterea temperaturii p ână la pragul de 22 de grade Celsius .
În acel moment placa Arduino trimite un semnal către placa cu module și astfel se acționează
sistemul de încălzire până când temperatura ajunge la pragul prestabilit.
Se poate observa în momentul în care temperatura depășește pragul de 2 2 de grade se va
aprinde ledul galben din figura 48 de mai jos iar placa de control Arduino trimite un semnal către
placa cu module și astfel se acționează sistemul de răcire pana temperatura ajunge la pragul
prestabilit.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
52

Fig. 48 Martor temperatur ă crescut ă
După cum se poate observa în figura 49 ledul roșu s-a aprins, ceea ce semnific ă o
temperatur ă ridicat ă sau chiar o potențial ă defecțiune la sistemul de răcire . In cazul în care ledul
nu își modifica culoarea se recomand ă verificarea sistemul ui de răcire .

Fig. 49 Martori temperatur ă ridicat ă

Lucrare de licență Cheresteșiu Adrian Albert

53  Următorul caz pe care îl vom tra ta este cel al umidității .
Umiditatea este un criteriu foarte important pentru a avea recolte sănătoase . In cazul în care
umiditatea din aer este prea ridicata, poate favoriza apariția mucegaiului și a diverșilor paraziți ,
când umiditatea este posibil ca recolta sa nu se dezvolte corespunzător . In fig ura 50 de mai jos s e
poate vedea indicatorul de umiditate , care este din 3 leduri.

Fig. 50 Locație martori umiditate
Când umiditatea este sub limita impusă, se aprinde ledul de umiditate redusa și va acționa
pompa de apa, pana când aceasta ajunge la valoarea stabilita. In același mod în momentul în care
umiditatea creste prea mult va fi acționat sistemul de ventilație pana când ajunge la nivelul
prestabilit, astfel încât sa mențină condiții ideale pentru cultura.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
54
 Un alt caz pe care îl vom trata este cel al senzorului de CO2
Sistemul de detecție CO2 are doua scopuri: sa mențină o cantitate d e aer proaspăt în
ciupercărie , iar în cazul în care această cantitate nu se afl ă intre valori optime sa acționeze sistemul
de ventilație . In cazul în care e xista o cantitate dioxid de carbon , într-o concentrație foarte mare,
întrucât poate fi fatala pentru oameni , martorul roșu se va aprinde și va aduce la cunoștința o
defecțiune , urmând ca simultan sa pornească sistemul de ventilație și sa se aducă atmosfera în
condiții optime .

Fig. 51 Locație martorii de CO2
Săgeata roșie din figura 51 de mai sus indica martorul de prezenta a CO2, când este verde
nivelul este ok, când nivelul de CO2 se afla în cantități mari se aprinde martorul roșu și cel de
avertizare și automat se va pune în funcțiune și ventilatorul pentru a elimina excesul.

Lucrare de licență Cheresteșiu Adrian Albert

55
Deoarece ciupercile in general sunt destul de sensibile la lumin ă pe parcursul dezvoltării ,
astfel încât daca luminozitatea cumva depășește pragul maxim admis , sistemul va intra în modul
de avarie și va declanșa martorul pent ru defecțiune care se va aprinde avertizând utilizatorul ca
exista o avarie in sistem

Fig. 52 Martor avarie aprins.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
56
Pentru a facilita o schimbare ușoară a senzorilor de același tip in cazul unor eventuale
defectări , sau cazului unei viitoare modularitate , sistemul pentru monitorizarea parametrilor este
dotat cu un set de conectori, patru la număr, iar fiecare muf ă are același ordine ai pinilor (Fig. 53):
Diagrama mufelor este in număr crescător după cum urmează:
 Portul 1 – Senzorul de temperatura
 Portul 2 – Senzorul de umiditate
 Portul 3 – Senzorul de luminozitate
 Portul 4 – Senzorul de dioxid de carbon

 ( + ) Alimentare pozitivă
 ( – ) Alimentare negativa
 S – Semnal
Fig. 53 Mufa folosita la conectarea senzorilor

Lucrare de licență Cheresteșiu Adrian Albert

57 Ieșirile sunt un număr total de 4 mufe cu 2 pini fiecare (Fig. 54) . Pentru prezentare ele sunt
alimentate de la o baterie de 9 volți, dar se poate schimba bateria in folosul oricărui alta surs ă de
alimentare.
Ieșirile sunt direct corelate cu intrarea senzorilor și diagrama lor de conexiuni este după
cum urmează :
 Mufa 1 – Comanda încălzire
 Mufa 2 – Comanda răcire
 Mufa 3 – Comanda umiditate
 Mufa 3 – Comanda ventilație

Fig. 54 Mufe le folosite la comanda dispozitivelor de ieșire

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
58 5.3 Testarea și rezolvarea erorilor
În primul rând, toate componentele hardware ale sistemului au fost testate individual și s-
a asigurat că sunt într -o stare bună de funcționare. Prima componentă a fost senzorul de
temperatură, cu care m -am confruntat cu prima problemă, în momentul în care conectăm doar
senzorul de temperatură citirea o făcea corect, dar când senzorul de CO2 era conectat , citirile
efectuate erau eronat e, deoarece tensiunea produsă de placă Arduino scădea de la 5V la 4.5V, o
diferență mică dar care modific a citirea temperaturii cu 4 -10 grade Celsius. Testarea și validarea
senzorului de temperatură a fost efectuată cu ajutorul dispozitivului de aer condiționat din cameră,
setând temperatură dorită, ș i așteptăm circa 30 de m inute cât temperatură din cameră să se
stabilizeze.
În poză de mai jos, Figura 55, se poate observa cum temperatura a crescut brusc de la 24
de grade Celsius la ~33 de grade Celsius . Creșterea temperaturii s -a datorat faptului că a m atins
senzorul de temperatură cu vârful degetului .

Fig. 55 Serial Monitor Temperatura.

Lucrare de licență Cheresteșiu Adrian Albert

59
Următorul senzor testat a fost cel de umiditate. Umiditatea este afișată în procente, se
poate observa și linia cu cazurile folosite pentru diagnosticare, cazul 2 fiind reprezentat prin o
umiditate optimă iar cazul 3 reprezintă umiditatea prea mare iar cazul 1 fiind reprezentat de o
umiditate foarte scăzută.
Testarea funcționalității senzorului de umiditate a fost efectuată cu ajutor ul unei pahar cu
apă fierbinte, senzorul de umiditate a fost plasat deasupra paharului cu apa fierbinte , în Figură 5 6
de mai jos, se poate observa schimbarea umidității în momentul testării senzorului cu a jutorul
paharului cu apa fierbinte .

Fig. 56 Serial Monitor Umiditate .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
60 Senzorul de luminozitate nu a provocat probleme, a funcționat corespunzător din prima
încercare. Intensitatea luminii este măsurată în lumeni, care reprezintă cantitatea de lumina
produsă de o sursă de lumina(bec, soare, etc) .

Fig. 57 Serial Monitor Luminozitate .
Testarea a fost efectuata cu ajutorul unei lanterne, in Figura 57 regăsita mai sus, se poate
observa cum valoarea începe de la 11 lumeni și creste treptat la 559 lumeni, aceasta creștere brusca
este datorata testării cu ajutorul lanternei.

Lucrare de licență Cheresteșiu Adrian Albert

61
Ultimul senzor t estat a fost și cel mai dificil, mă refer la senzorul de CO2, acesta are nevoie
de o alimentare separata, deoarece are o rezistentă interna care se încălzește cu scopul de a aduce
senzorul la o temperatura optima de funcționare . Pe senzor se afla un potențiometru pentru reglaj,
acesta are scopul de a marii sau a micșora sensibilitatea , fiind un kit el vine necalibrat, in Figura
58 se observa o creștere a cantității in procente de dioxid de carbon.

Fig. 58 Serial Monitor dioxid carbon.

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
62 5.4 Mufele folosite la conectarea dispozitivelor de Arduino
 Martor Temperatura:
 Roșu – Pinul A10
 Verde – Pinul A9
 Pinul – Pinul A8

 Martor Umiditate:
 Mare – Pinul digital 16
 Ideala – Pinul digital 15
 Mica – Pinul digital 14

 Martor Avarie
 Martor avarie – Pin A4

 Senzor Temperatura:
 Pinul A1
 Senzor Luminozitate
 Pinul A2
 Senzor Dioxid de carbon
 Pinul A3
 Senzor Umiditate
 Pinul Digital 9

 Modulul de relee
 Releu nr. 1 – Pinul digital 4
 Releu nr. 2 – Pinul digital 5
 Releu nr. 3 – Pinul digital 6
 Releu nr. 4 – Pinul digital 7

Lucrare de licență Cheresteșiu Adrian Albert

63 5.5 Procedura de lipire a componentelor pe plăcile de textolit
Abilitatea cea mai de bază necesară pentru a asambla orice proiect electronic este aceea de
cositorire . Este nevoie de o anumită perioadă de practică pentru a face lipituri relativ decente , odată
învățată tehnica nu este niciodată uitată. Ideea de bază este simplă: să se unească împreună părțile
electrice pentru a forma o conexiune electrică, folosind un amestec topit de plumb și staniu.
Primul pas este o necesitate absolută pentru a se asigura că părțile care vor fi cositorite sunt
lipsite de grăsimi, oxidare și alte contaminări. In cazul plăcilor prototip cu găuri este recomand ata
folosirea alcoolului isoprop ilic care se regăsește sub forma de sticla (Fig. 60) pentru degresare
înainte de lipire pentru a asigura o cone xiune rezistenta in timp.

Fig. 60 Sticla cu alcool isopropilic
Un pas foarte important pentru o lipire ideal ă este asigurarea că temperatura tuturor pieselor
este ridicată la aproximativ același nivel înainte de aplicarea cositorului. Imaginați -vă, de exemplu,
încercarea de a lipi un rezistor în loc pe o placă cu circuite imprimate: este mult mai bine să încălziț i
atât placa PCB cât și piesa(componenta) în același timp , înainte de a aplica cositorul . Încălzirea
unei părți, dar nu a celeilalte, este o îmbinare mai puțin satisfăcătoare, așa că ideal este se asigur e
că vârful letconu -lui este în contact cu toate comp onentele înainte de a adauga cositorul .

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
64 Punctul de topire al celei mai multe lipituri este în regiunea de 180 de grade Celsius iar
temperatura vârfului de fier este de obicei 250-300 de grade Celsius .
Cele mai recente aliaje de lipire sunt cu puțin sau chiar fără plumb si necesită o temperatură
mult mai ridicată , si pot avea grosimi diferite , de exemplu in crearea plăcilor prototip pentru acest
proiect, s -a folosit fludor de grosimi 1mm sau 1.5mm, cum se poate ved ea si in poza de mai jos
(Fig. 61 )
Fig. 61 Rola de f ludor cu grosime de 1.5mm dreapta si 1mm stânga
Apoi, îmbinarea ar trebui să fie încălzită cu vârful pentru perioada de timp potrivită – în
timpul căruia se aplică fludor pe îmbinare. Nu utilizați letcon -ul pentru a aduce materi alul de lipit
topit la îmbinare. Încălzirea excesiv ă are șansa sa deterioreze componenta și probabil chiar sa
exfolieze foaia de cupru de pe circuit ul printat.
In cazul in care vrem sa lipim pe o placa textolit de poate utiliza o pasta decapanta corozivă
(Fig 62 de mai jos ), dar este recomandat ca după lipire sa se curețe pasta rămasă cu puțin alcool
isopropilic, deoarece este foarte coroziva in timp, si pot apărea întreruperi in circuit .

Lucrare de licență Cheresteșiu Adrian Albert

65

Fig. 62 Pasta decapa ntă
Încălziți îmbinarea cu vârful fierului, apoi continuați încălzirea în timp ce aplicați fludorul,
apoi ridicați vârful letconului și lăsați îmbinarea să se răcească (Fig. 63). Acest lucru ar trebui să
dureze doar câteva secunde. Perioada de încălzire depinde de temperatura fierului si de mărimea
rostului, iar piesele mai mari necesita mai multa căldură decât cele mai mici. Dar unele părți (diode
semiconductoare, tranzistori) sunt sensibile la căldură si nu ar trebui încălzite mai mult de câteva
secund e deoarece ar putea duce la defectarea lor.
Fig. 63 Exemplu de cositorire rezistență electrică

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
66
Dezlipirea este necesară atunci când componentele electronice trebuie să fie eliminate
dintr -un circuit, de obicei, deoarece acestea sunt defecte. Poate fi uneori necesar în timpul
încercării sau asamblării, dacă a fost montată o piesă greșită sau trebuie făcută o modificare. Dacă
utilizați o pompă de deszăpezire prin aspirație (Fig. 64), aplicați vârful fierului de lipit mai întâi
pentru a topi îmbinarea de lipit (1,2 secunde). Asigurați -vă că cu arc -ul pompei de dezlipire este
încărcat și pregătit
Fig.64 Pompa mecanica de cositor
Aparatura folosit ă pentru a lipi componentele a fost o stație de lipit digitala produsa de
Parkside (Fig 6 5), cu o gama de temperatur ă reglabil ă de la 200 de grade pana la maximum de
450 de grade Celsius.

Fig. 65 Stație lipit digitala

Lucrare de licență Cheresteșiu Adrian Albert

67 5.6 Explicarea pe scurt a codului de bază folosit pentru citirea valorilor senzorilor
 Cod senzor de lumin ozitate
int valoareIluminare = analogRead(light_in_Pin);
Definește pinul de pe care se fac citirile valori lor de pe senzor
Serial.println(valoareIluminare);
Afișează valoarea citita de către senzor

 Cod senzor de temperatur ă
int reading = analogRead(temp_in_Pin);
Definește pinul de pe care se face citirea valorii transmise de către senzor
float voltage = reading * 5.0;
Voltajul este decalat sub forma de float (număr cu zecimala) , care este valoarea citita * 5
voltage /= 1024.0;
Rezultatul de la voltaj este împărțit la 1024
Serial.println(voltage);
Comanda folosita pentru depanare
float temperatureCelsius = (voltage – 0.5) * 100 ;
Pentru a exprima citirea in grade Celsius , si rezultatul voltajului se scade cu 0.5 du pă care
toata suma se înmulțește cu 100
Serial.print(temperatureCelsius);
Afișează temperatura citita ca grade Celsius

 Cod senzor de umiditate
int chk = DHT.read11(humid_in_Pin);
Senzorul se folosește de librăria proprie pentru a convertii valoarea milivolți intr -un
număr citibil
percent_reading_humidity = DHT.humidity;
Serial.println(DHT.humidity);
Afișează umiditatea citita din aer in procente

 Cod senzor de CO2
analog_reading = analogRead(co2_in_Pin);
Asemenea senzorilor de mai sus, definește pi nul de pe care se face citirea datelor
transmise de către senzor
percent_reading=map(analog_reading, 0, 1023, 0, 100);
Map face o translatare a unui set de valori pe alt set de valori
Serial.println(percent_reading);
Afișează numărul in PPM (părți pe milion) al dioxidului de carbon

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
68 Concluzii și contribuții
O concluzie foarte importanta ar fi faptul ca datorita tendințelor actuale ale pieței , a apărut
nevoia unui sistem pentru monitorizarea parametrilor și controlul procesului pentru ciupercăriile
de mi ci dimensiunii, în prezent automatizarea pe piața de agricultura, care este în continua creștere .
Sistemul oferă o interfața simpla pentru utilizatorii ce nu au conștiințe tehnice în domeniu și cel
mai important factor este prețul foarte redus. Scopul acestui proiect este sa îndeplinească nevoile
actuale ale unei ciupercării , sistemul are incorporat și un sistem de siguranța în cazul in care nivelul
de dioxid de carbon depășește pragul presetat astfel se elimina riscul de accidente , deoarece
dioxidul de carbon este incolor și inodor, în concentrații mari poate fi fatal, daca nivelul de dioxid
de carbon depășește pragul maxim, sistemul pornește ventilația la maxim și aprinde ledul de avarie .
In final s -a testat sistemul de monitorizare în mai multe situații, pentru a remedia și optimiza
parametri astfel încât sa pot demonstra funcționalitatea acestor senzori la prezentare, da r doresc sa
adaug îmbunătățiri un exemplu ar fi o interfața grafica care sa permită contro lul de la distanta prin
internet, cu un grafic care sa salveze temperatura și umiditatea din ora in ora .
Concluzia finală este acea că, pe parcursul acestui proiect am observat cat de flexibil poate
fi un sistem de monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării folosind o placa de dezvoltare Arduino, ținând cont de tot ce s -a discutat până acum în
această lucrare, sistemul propus de către mine oferta cu o soluție foarte accesibila și eficienta ,
realizabilă cu costuri minime care își îndeplinește cu succes scopul pentru care a fost conceput. In
cele din urma, pe lângă reducerea costurilor de producție unui sistem de monitorizare și controlul
automat al parametrilor, sistemul pentru monitorizarea parametrilor și controlul automat a l
proceselor din cadrul unei ciupercării oferă o flexibilitate mărita deoarece sistemul se poate adapta
in funcție de necesitățile fiecărei in raport cu prețul de achiziție . Proiectul a fost a realizat într-un
timp de total aproximativ 7 luni . Perioada dedicata asamblării, testării si configurării a fost de 4
luni, reprezentând partea practică a proiectului. Partea teoretica s -a desfășurat in decursul a 3 luni.

Lucrare de licență Cheresteșiu Adrian Albert

69 Bibliografie

[1] Actionari și Automatizari, Editura Didactica și Pedagogica Bucuresti, paginile 180 -235, autori T Popescu, D
Mihoc, E Dumbrava, Ov Samoilescu, Anul apariției 1977
[2] Ancient Water Technologies, Editura Springel, P aginile 16 -17, Autor Larry W. Mays
[3] http://www.bbc.co.uk/devon/discovering/famous/thomas_newcomen.shtml 21.08 .2015 14:47
[4] Arhitectura Calculatoarelor – UNU Curs marinescu paginile 4-5 23.08.2015 15:44
[5] Introduction to Microcontrollers, Curs: Vienna University of Technology, Autori Gunther Gridling, Bettina
Weiss 17.04.2018 12:20
[6] Practical AVR Microcon trollers , Editura Technology in Action, Autor Alan Trevennor
[7] https://www.arduino.cc/en/Tutorial/ArduinoISP 12.05.2018 12:10
[8] www.arduino.cc 26.08.2015 12:37
[9] https://en.wikipedia.org/wiki/SCADA 27.08.2015 12:55
[10] Instrument Engineers' Handbook, Editura CRC Press, paginile 461 – 469, Bela G. Liptak, Anul apariției 2002
[11] Internet of Things with Arduino Blueprints, Editura Packt, Autor Pradeeka Seneviratne, Anul apariției 2015
[12] http://fritzing.org/download/ 2 9.08.2015 17:11
[13] https://www.robofun.ro/senzori/vreme/senzor -temperatura -umiditate -sns-dh11 08.06.2016 18:33
[14] Arduino by Example, Editura Packt, paginile 2-20 , Autor Adith Jagadish Boloor, Anul apariției 2015

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
70 Anexe
#include <dht.h>

dht DHT;

#define humid_in_Pin 9
#define nivel1 40
#define nivel3 80

#define nivel1_um 30
#define nivel2_um 50
#define nivel3_um 100

//RELEE – Atentie, HIGH = Releu ON , LOW = Releu OFF
#define ventilator_out_Pin 3
#define Pompa_umiditate_out_Pin 5
#define temperatura_rece_out_Pin 6
#define temperatura_cald_out_Pin 7

const int humidity_in_Pin = A0;
const int temp_in_Pin = A1;
const int light_in_Pin = A2;
const int co2_in_Pin = A3;

const int ledhazard_out_Pin = A4;
const int led1loadco2_out_Pin = A5;
const int led2loadco2_out_Pin = A6;
const int led1temp_out_Pin = A8;
const int led2temp_out_Pin = A9;
const int led3temp_out_Pin = A10;
const int led1humid_out _Pin = 14;
const int led2humid_out_Pin = 15;
const int led3humid_out_Pin = 16;
int brightness = 0;
int fadeAmount = 5;

// Variabile
int analog_reading = 0;
int percent_reading = 0;
int percent_reading_humidity =0;
int oldV;
unsigned long previousMillis = 0;
long interval = 2500;
int buttonState = 0;
long interval1 = 1600;
bool co2_on = false;
bool humid_on = false;
bool h_co2_on = false;
bool h_light_on = false;

Lucrare de licență Cheresteșiu Adrian Albert

71
void setup() {
//intrari sistem
pinMode(temp_in_Pin, INPUT);
pinMode(humidity_in_Pin, INPUT);
pinMode(light_in_Pin, INPUT);
pinMode(co2_in_Pin, INPUT);
// pinMode(panicbtn_in_Pin, INPUT);

//iesiri sistem
pinMode(ledhazard_out_Pin, OUTPUT);
pinMode(led1humid_out_Pin, OUTPUT);
pinMode(led2humid_out_P in, OUTPUT);
pinMode(led3humid_out_Pin, OUTPUT);
pinMode(led1loadco2_out_Pin, OUTPUT);
pinMode(led2loadco2_out_Pin, OUTPUT);
pinMode(led1temp_out_Pin, OUTPUT);
pinMode(led2temp_out_Pin, OUTPUT);
pinMode(led3temp_out_Pin, OUTPUT);

pinMode(ven tilator_out_Pin, OUTPUT);
pinMode(Pompa_umiditate_out_Pin, OUTPUT);
pinMode(temperatura_rece_out_Pin, OUTPUT);
pinMode(temperatura_cald_out_Pin, OUTPUT);

// comunicatie seriala
Serial.begin(9600);
}

void loop() {

//cod citire temp

int reading = analogRead(temp_in_Pin);
float voltage = reading * 5.0;
voltage /= 1024.0;
//Serial.println(voltage);
float temperatureCelsius = (voltage – 0.5) * 100 ;

//Serial.print(temperatureCelsius); // PT TEMPERATURA
//Serial.println(" C"); // TOT PT TEMPERATURA

if (temperatureCelsius <= 18.0){
analogWrite(led1temp_out_Pin,255);
analogWrite(led2temp_out_Pin,0);
analogWrite(led3temp_out_Pin,0);
digitalWrite(temperatura_cald_out_Pin,LOW);
digitalWrite(temperatura_rece_out_Pin,HIGH );
} else if (temperatureCelsius < 22.0 && temperatureCelsius > 25.0){
analogWrite(led1temp_out_Pin,0);
analogWrite(led2temp_out_Pin,255);

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
72 analogWrite(led3temp_out_Pin,0);
digitalWrite(temperatura_rece_out_Pin,HIGH);
digitalWrite(temperatura_cald_out_Pin,HIGH);
} else if (temperatureCelsius < 29.0 && temperatureCelsius > 27.0){
analogWrite(led1temp_out_Pin,0);
analogWrite(led2temp_out_Pin,255);
analogWrite(led3temp_out_Pin,255);
digitalWrite(temperatura_cald_out _Pin,HIGH);
digitalWrite(temperatura_rece_out_Pin,LOW);
} else if(temperatureCelsius > 32.0)
analogWrite(led1temp_out_Pin,0);
analogWrite(led2temp_out_Pin,0);
analogWrite(led3temp_out_Pin,255);
digitalWrite(temperatura_cald_out_Pin,HIGH);
digitalWri te(temperatura_rece_out_Pin,LOW);
}

delay(500);

int chk = DHT.read11(humid_in_Pin);
//Serial.print("Humidity = ");
//Serial.println(DHT.humidity);
percent_reading_humidity = DHT.humidity;

//Serial.println(percent_reading_humidity); // CITIRE BUNA
if (percent_reading_humidity > 1 && percent_reading_humidity < nivel1_um){
//Serial.println("Cazul 1 LOW");
digitalWrite(led1humid_out_Pin,HIGH);
digitalWrite(led2humid_out_Pin,LOW);
digitalWrite(led3humid_out_Pin,LOW);
humid_on = false;
//digitalWrite(ventilator_out_Pin,HIGH);
digitalWrite(Pompa_umiditate_out_Pin,LOW);
} else if (percent_reading_humidity < nivel2_um && percent_reading_humidity > nivel1_um ){
//Serial.println("Cazul 2 OK");
digitalWrit e(led1humid_out_Pin,LOW);
digitalWrite(led2humid_out_Pin,HIGH);
digitalWrite(led3humid_out_Pin,LOW);
//digitalWrite(ventilator_out_Pin,HIGH);
humid_on = false;
digitalWrite(Pompa_umiditate_out_Pin,HIGH);
} else if(percent_reading_humidity < nive l3_um && percent_reading_humidity > nivel2_um){
//Serial.println("Cazul 3 HIGH");
digitalWrite(led1humid_out_Pin,LOW);
digitalWrite(led2humid_out_Pin,LOW);
digitalWrite(led3humid_out_Pin,HIGH);
//digitalWrite(ventilator_out_Pin,LOW);
humid_on = true;
digitalWrite(Pompa_umiditate_out_Pin,HIGH);}

Lucrare de licență Cheresteșiu Adrian Albert

73 delay(500);

//cod CO2
unsigned long currentMillis = millis();

if(currentMillis – previousMillis > interval) {
//previousMillis = currentMillis;

analog_reading = analogRead(co2_in_Pin);
percent_reading=map(analog_reading, 0, 1023, 0, 100);
//Serial.println(percent_reading);
//Serial.println("PPM");
if (percent_reading < nivel1){
analogWrite(led1loadco2_out_Pin,255);
analogWrite(led2loadco2_o ut_Pin,0);
h_co2_on = false;
co2_on = false;
} else if (percent_reading < nivel3){
analogWrite(led1loadco2_out_Pin,0);
analogWrite(led2loadco2_out_Pin,255);
h_co2_on = true;
//analogWrite(ledhazard_out_Pin,255);
co2_on = true;
}
delay(500); // 500

}
else
{
analogWrite(led1loadco2_out_Pin,255);
analogWrite(led2loadco2_out_Pin,0);
//Serial.println("CO2");
delay(500);
analogWrite(led1loadco2_out_Pin,0);
analogWrite(led2loadco2_out_Pin,255);
//Serial.println("CO2 2");
delay(500);
//analogWrite(led1loadco2_out_Pin,0);
//analogWrite(led2loadco2_out_Pin,0);
//Serial.println("CO2 3");
//delay(500);

}

Sistem pentru monitorizarea parametrilor și controlul automat al proceselor din cadrul unei
ciupercării
74
if(co2_on && humid_on)
{
digitalWrite(ventilator_out_Pin,LOW);
}
else if(co2_on && !humid_on)
{
digitalWrite(ventilator_out_Pin,LOW);
}
else if(!co2_on && humid_on)
{
digitalWrite(ventilator_out_Pin,LOW);
}
else if(!co2_on && !humid_on)
{
digitalWrite(ventilator_out_Pin,HIGH);
}
delay(500);

//cod lumina
int valoareIluminare = analogRead(light_in_Pin);
Serial.println(valoareIluminare); // CITIRE BUNA
//Serial.println("Lumeni");
delay(10);
if(valoareIluminare > 300)
{
h_light_on = true;
}
else
{
h_light_on = false;
}

if(h_li ght_on && h_co2_on)
{
analogWrite(ledhazard_out_Pin, 255);
}
else if(h_light_on && !h_co2_on)
{
analogWrite(ledhazard_out_Pin, 255);
}
else if(!h_light_on && h_co2_on)
{
analogWrite(ledhazard_out_Pin, 255);

}

Lucrare de licență Cheresteșiu Adrian Albert

75

else if(!h_light_on && !h_co2_on)
{
analogWrite(ledhazard_out_Pin, 0);
}
delay(500);

}

int smooth(int data, float filterVal, float smoothedVal) {
if (filterVal > 1){ // check to make sure param's are within range
filterVal = .99;
}
else if (filterVal <= 0){
filterVal = 0;
}
smoothedVal = (data * (1 – filterVal)) + (smoothedVal * filterVal);
return (int)smoothedVal;

}

Similar Posts