Anexa 6 la Procedura de înscriere on-line la examenele de finalizare a studiilor valabilă în cursul anului universitar 2019-2020 PROIECT DE DIPLOMĂ… [306357]

Anexa 6 [anonimizat] a studiilor
valabilă în cursul anului universitar 2019-2020

PROIECT DE DIPLOMĂ

Îndrumător proiect/[anonimizat].dr.ing. George Adrian Ifrim Absolvent: [anonimizat] 2020

PROGRAMUL DE STUDII:Automatică și informatică aplicată

Proiectarea și automatizarea unui sistem de creștere fotosintetică a [anonimizat].dr.ing. George Adrian Ifrim Absolvent: [anonimizat] 2020

Rezumat

Această lucrare propune proiectarea dar și realizarea fizică a unui sistem automatizat de creștere fotosintetică pentru diferite culturi de microalge folosind cunoștințele practice și teoretice acumulate în cei patru ani de facultate dar și din studiul individual.

Partea fizică a [anonimizat].

[anonimizat] a microalgelor.

[anonimizat] a standului și testarea lui.

[anonimizat]. Acesta mai cuprinde și noțiuni generale despre procesul de creștere fotosintetică și variabilele de stare care pot fi identificate în proces.

[anonimizat]. În capitolul doi se poate vedea numărul de componente și specificațiile lor cum ar fi: dimensiunea, [anonimizat].

Al treilea capitol cuprinde detalii privind proiectarea standului. [anonimizat].

Ultimul capitol cuprinde asamblarea standului care se va face în mai multe etape precum: o partea de montaj a componentelor, o parte de programare și una de testare.

CUPRINS

Introducere 5

Capitolul 1. Microalgele 6

1.1. Ce sunt microalgele ? 6

1.2. De ce le cultivam? 7

1.3. Condiții de creștere 10

1.4 Metode de cultivare a microalgelor 11

1.4.1 Cultivarea în sistem deschis 12

1.4.2 Cultivarea în sistem închis 12

1.5 Variabile de stare ale procesului 13

1.6 Controlul proceselor 14

1.7.1 Controlul în buclă închisă cu regulator PID 15

Capitolul 2. Componente Folosite 19

2.1 Microcontrolerul Arduino 19

2.1.1 Generalități 19

2.1.2 Avantajele platformei Arduino 19

2.1.3 [anonimizat] 19

2.1.4 Semnalul PWM 21

2.1.5 Arhitectura unui program pentru Arduino 22

2.1.6 Microcontrolerul Arduino Mega 23

2.2 Surse de tensiune 25

2.2.1 Sursă coborâre tensiune 25

2.3 Modulul IRF520 26

2.4 Modulul și senzorul de pH 27

2.4.1 Întreținerea senzorului de ph 28

2.4.2 Calibrarea senzorului de ph 28

2.5 Fotorezistorul 29

2.6 Electrovalva 30

2.7 Ventilatorul 31

2.8 Ledul full spectrum 32

2.9 Alte componente 32

Capitolul 3. Proiectarea și Automatizarea Standului 34

3.1 Sistemul de agitare 34

3.1.1 Sistem de control în buclă deschisă 36

3.2 Sistemul de iluminare 37

3.2.1 Sistem de control în buclă deschisă 39

3.2.2 Sistem de control în buclă închisă 41

3.3 Sistemul de control al pH-ului 45

3.3.1 Controlul pH-ului în buclă deschisă 46

3.3.2 Controlul pH-ului în buclă închisă 47

Capitolul 4. Asamblarea și Punerea în Funcțiune 48

4.1 Asamblarea 48

4.1.1 Pasul 1 48

4.1.2 Pasul 2 50

4.1.3 Pasul 3 51

4.2 Programare și testarea standului 53

4.2.1 Testarea 54

Concluzii 57

Bibliografie 58

Anexa 1 59

Anexa 2 61

Anexa 4 72

Anexa 5 73

Anexa 6 74

LISTA FIGURILOR

Fig. 1 Procesul de transformare a algelor în biocombustibili 7

Fig. 2 Spectrul de lumină pentru fotosinteză 11

Fig. 3 Fermă agricolă de microalge pentru biocombustibili tip bazin 12

Fig. 4 Sistem de cultivare a microalgelor cu agitare pe baza de zbaturi 12

Fig. 5 Fotobioreactor de laborator tip air-lift cu leduri pentru crestere fotosintetică 13

Fig. 6 Fotobioreactor tip placă ,Universitatea ”Dunărea de Jos” Galați 13

Fig. 7 Structura unui sistem de control automat 15

Fig. 8 Structura unui sistem de reglare cu regulator PID 15

Fig. 9 Simularea unor semnale PWM cu diferite cicluri folosind Arduino 21

Fig. 10 Interfața programului Adruino IDE 22

Fig. 11 Diagrama pinilor la Arduino Mega 24

Fig. 12 Modul coborâre tensiune LM2569 25

Fig. 13 Modul IRF520 26

Fig. 14 Senzor pH cu modul ph4502c 27

Fig. 15 Fotoresistor GL12528 29

Fig. 16 Electrovalvă 30

Fig. 17 Ventilator Nidec Betav TA450DC 31

Fig. 18 Specificații conector ventilator 31

Fig. 19 LED full spectrum cu putere de 10W 32

Fig. 20 Buton ON/OFF 32

Fig. 21 Ecran lcd compatiil cu arduino 33

Fig. 22 Potențiometru 33

Fig. 23 Magnetizare axială 34

Fig. 24 Model 3d ventilator cu magneți și bară magnetică 34

Fig. 25 Schemă electrică pentru realizarea sistemului de agitare 35

Fig. 26 Sistem de control în buclă deschisă 36

Fig. 27 Circuit electric cu rezistență și led 37

Fig. 28 Ansamblu ventilator led 38

Fig. 29 Schemă electrică pentru realizarea sistemului de iluminare 39

Fig. 30 Sistem de control în buclă deschisă 40

Fig. 31 Sistem de control în buclă deschisă cu microcontroler 40

Fig. 32 Amplasarea fotorezistorului în brațul flexibil 41

Fig. 33 Schemă electrică pentru conectarea fotorezistențelor 42

Fig. 34 Sistem de control în buclă închisă cu Regulator PI 42

Fig. 35 Sistem de control în buclă închisă cu Regulator PI, senzor și microcontroler 42

Fig. 36 Răspunsul sistemului unde Kp = 0.1 43

Fig. 37 Răspunsul sistemului unde Kp = 0.2 44

Fig. 38 Răspunsul sistemului unde Kp = 0.09 , Ki = 0.17 44

Fig. 39 Schemă electrică pentru conectarea sistemului de control al pH-ului 45

Fig. 40 Sistem de control în buclă închisă cu regulator bipozițional 47

Fig. 41 Reprezentare 3d a carcasei 48

Fig. 42 Schemă de montare a componentelor faza 1 49

Fig. 43 Pozița conectorilor și a butonului de pornire/oprire 49

Fig. 44 Schemă de montare cu poziția ventilatoarelor și a ledurilor 50

Fig. 45 Suport comandă 51

Fig. 46 Reprezentare 3d a standului final 52

Fig. 47 Prima versiune a standului 52

Fig. 48 Selectarea mirocontrolerului 53

Fig. 49 Selectarea portului 53

Fig. 50 Încarcarea programului 53

Fig. 51 Afișare mesaj când nu este selectat nici un mod de control 54

Fig. 52 Afișare mesaj când nu este selectat nici un mod de control 55

Fig . 53 Testarea standului pe modul automat 55

Fig. 54 Mesaj de eroare apărut la selectare modului de control 56

LISTA TABELELOR

Tabel 1. Valori pentru acordarea a parametrilor regulatorului PID 17

Tabel 2. Specificații Microcontroler Arduino Mega 22

Introducere

Lucrarea de față propune proiectarea și implemetarea unei soluții eficiente și economice pentru creșterea rapidă a unui inocul concentrat de microalge viabil, acesta fiind necesar atunci când dorim să cultivăm o cantitate mai mare de microalge în fotobioreactor.

Pentru acest lucru s-a propus realizarea unui stand experimental care poate fi utilizat în laborator pentru creșterea inoculului dar și pentru testare unor noi culturi de microalge în cantități reduse într-un timp relativ scurt.

Standul este proiectat să permită controlul procesului de creștere fotosintetică fiind dotat cu leduri pentru creșterea plantelor, cu un sistem de agitare experimental, cu electrovale pentru controlul dioxidului de carbon și diverși senzori. Acesta este structurat în două părți controlate de același microcontroler, o parte principală și una secundară.

Partea principală va permite controlul pH-ului fiind dotată cu un senzor pentru măsurarea pH-ului iar în partea secundară se va implementa un program care va introduce dioxid de carbon la un anumit interval de timp în recipientul de cultivare.

Sistemele implementate se vor putea controla manual sau automat. Controlul manual va fi facut de la potențiometre iar cel automat va fi realizat cu diverse regulatoare și algoritmi de control. De exemplu iluminarea standului va fi controlată de la potențiometru daca este selectat programul manual sau cu un regulator PI dacă este selectat programul automat.

S-a ales ca standul să fie realizat din componente ce au un preț relativ scăzut dar în același timp pot satisface necesitățile procesului de fotosinteză dar și necesitățile unui laborator unde studenții pot pune în aplicare informațiile de la curs.

Au fost alese componente care sunt compatibile cu microcontrolerul arduino deoarece acesta are un mediu de programare ușor, o durată mare de viată și conectarea cu alte dispozitive se face usor.

Standul funcționează la o tensiune de 12(V) pentru a nu exista nici un pericol în caz de defectare sau utilizare incorectă.

Lucrarea propune câteva componente ce au un rol important în poziționarea și funcționarea standului iar pentru modelarea 3d a acestor componente s-a utilizat mediul de proiectare Autodesk Inventor 2019, iar fabricarea lor s-a realizat prin printare 3d.

Autorul iși propune îmbunătățirea și dezvolatea standului pe viitor prin implemetarea unui program care să imite evoluția soarelui pe parcursul unei zile sau proiectarea unor anexe pentru cultivarea unei cantități mai mari de microalge.

Capitolul 1. Microalgele

1.1. Ce sunt microalgele ?

Microalgele sunt un grup de organisme fotosintetice acvatice care au necesități de nutriție foarte scăzute, printre aceste necesități de nutriție se numără: energia solară, dioxidul de carbon (CO2) și nutrimente anorganice (azot și fosfor). Acestea folosesc energia luminii, dioxidul de carbon (CO2) și ioni dizolvați în apă pentru sinteza moleculelor complexe și pentru producerea de biomasă .

Asemanator plantelor terestre, microalgele utilizează energia soarelui pentru procesul de fotosinteza. Procesul de fotosinteză este desfășurat în centri de reacție fotosintetici care conțin clorofilă, o moleculă capabilă să recolteze lumină.

Spre deosebire de plantele mai mari, microalgele nu au rădăcini, tulpini sau frunze, ele sunt special adaptate la un mediu dominat de forțe vâscoase. Capabile de a produce fotosinteză, acestea sunt importante pentru viața pe pământ, producând aproximativ jumătate din oxigenul atmosferic.

Sunt unele dintre cele mai vechi organisme de pe pământ și sunt specii unicelulare care trăiesc în mod individual sau în grupuri fiind componente ale fitoplanctonului, acesta stând la baza nutriției organismelor marine.

În funcție de specie, dimensiunea lor variază de la câțiva micrometri până la câteva sute de micrometri. Microalgele pot trăi oriunde: în ape dulci sau sărate, pe gheață polară, în pământ sau în cele mai improprii medii de viață.

Chiar dacă microalgele sunt minuscule, biomasa algală are valori nutritive ridicate, putând conține până la 65% proteină ceea ce le face cea mai hrănitoare sursă de hrană.

Compoziția chimică a microalgelor nu este un factor intrinsec constant, aceasta variază în limite largi, în funcție de specie și de condițiile de cultivare. Unele specii au capacitatea de a se aclimatiza la modificările condițiilor de mediu prin schimbarea compoziției chimice. În prezent se cunosc peste 30.000 de tipuri de microalge dintre care putem aminti: Spirulina, Chorella, Dunaliella salina , Nannochloropsis.

În timp ce uleiul de pește a devenit faimos pentru conținutul său de acizi grași omega-3, peștele nu produce de fapt omega-3, în schimb acesta acumulează rezerve prin consumul de microalge. Microalgele constituie alimentul de bază pentru numeroase specii de acvacultură, în special pentru speciile bivalve dar mai sunt folosite și drept hrană în primele zile de viață a unor specii de pești.

1.2. De ce le cultivam?

Microalgele sunt un grup de organisme fotosintetice acvatice având un rol benefic în diverse domenii de activitate. Printre principalele domenii se numără industria: biocombustibililor, farmaceutică, alimentară, agricolă.

Producerea Biocombustibililor

Biodiesel-ul este un biocombustibil alternativ care este produs prin reacția chimică dintre un ulei vegetal sau grăsime animală, cu un alcool cu catenă scurtă, cum ar fi metanol, butanol, sau etanol și un catalizator.

Acesta poate fi folosit de unul singur sau amestecat cu motorină care provine din rafinarea petrolului în diferite cantități, fiind o alternativă ecologică mai puțin poluantă.

Biodiesel-ul pare a fi unul din combustibilii viitorului, în principal datorită resurselor foarte mari din care se poate produce. Acesta este un combustibil ecologic ce oferă avantajul că poate fi obținut din uleiuri vegetale ( rapiță, soia, palmier, floarea-soarelui ) și alge marine.

Microalgele sunt surse potrivite pentru producerea biocombustibilului și absorbția emisiilor de CO2. Microalgele se hrănesc cu nutrimente anorganice, pe care le transformă în lipide. Unele dintre uleiurile astfel rezultate pot fi transformate în biocombustibili ceea ce face din alge o sursă de energie regenerabilă foarte eficientă.

Fig. 1 Procesul de transformare a algelor în biocombustibili

Cel mai mare avantaj al algelor este că se poate obține de 30 de ori mai mult biodiesel decât din porumb sau soia. Acestea își dubleaza masa într-o singura zi și au un continut de ulei de maxim 50 % din masa celulară uscată.

Avantajele utilizări algelor în defavoarea plantelor terestre sunt: necesitățile lor vitale sunt mai mici și mai ușor de satisfăcut, n-au nevoie decât de apă, de dioxid de carbon și de soare, iar acestea sunt ușor de procurat, nu au nevoie de lucrări agricole complicate și costisitoare și nici de suprafețe foarte mari de teren arabil.

Un alt avantaj al utilizării biocombustibililor care sunt produși în urma proceselor de transformare a algelor este acela că elimină o cantitate mică de dioxid de carbon, aceasta fiind egală cu cantitatea absorbită în perioada creșterii.

Selecția algelor trebuie să țină cont de cerințele mediului de creștere, conținutului de ulei, compoziția uleiul de alge, viteza de creștere a algelor și posibilitatea de creștere în bioreactoare.

Speciile de alge alese sunt acelea care sunt capabile să sintetizeze cantități mari de lipide (substanțe grase), pentru că din aceste substanțe se poate obține, printr-un proces chimic – transesterificare , biodiesel-ul în sine. Un exemplu ar fi specia de microalge ”Botryococcus braunii”, care în mod special este predispusă la îngrășare.

Obținerea biofertilizanților sau agricultură

Algele mai pot fi folosite și ca stimulatori biologici la cultivarea plantelor agricole, fiind utilizate în calitate de fertilizatori biologici ai solului. Datorită proprietății de fixare biologică a azotului atmosferic, algele cianofite sunt folosite la stimulare plantelor de cultură. De exemplu, unele culturi de alge cum ar fi Nostoc și Oscillatoria sunt folosite pentru sporirea producției de orez.

Cu toate că aplicarea biofertilizanților algali nu este atât de eficientă ca și în cazul administrării fertilizanților chimici, aceasta însă contribuie la reducerea aplicării în sol a fertilizanților chimici ce conțin azot, minimizează riscurile ecologice apărute ca rezultat al aplicării fertilizanților chimici și contribuie la obținerea producției ecologice a plantelor de cultură.

Pentru hrana umană

O sursă incontestabilă în alimentație o reprezintă algele, care conțin în biomasa sintetizată, în funcție de specie, până la 65% proteină comestibilă. Pe lângă aceasta, biomasa algală conține până la 25-40% glucide, 10-50% lipide, minerale și multe vitamine.

Un exemplu ar fi spirulina care este foarte bogată în proteine: 100g spirulină contine 60 – 70 g proteine, de 3 ori mai mult decât carnea de porc, de 2 ori mai mult decât carnea de vita, pește și de 1,5 ori mai mult decât boabele de soia.

Producere produselor de cosmetică și farmaceutice

Microalgele marine sunt folosite și la fabricarea multor preparate cosmetice, în special cele bio. Extrasele din alge sunt folosite în componența unor creme pentru uz extern, produse de demachiere, măști pentru ten sau pastă de dinți.

Componentele active din microalge intră în componența numeroaselor produse farmaceutice cum ar fi suplimentele pe bază de omega3 sau omega6, aceștia având rol benefic asupra afecțiunilor cardiovasculare.

În industria farmaceutică mai sunt folosite la fabricarea de pansamente, preparate pe bază de alge ce au calități foarte apreciate.

Pigmenți

Microalgele produc pigmenți importanți care includ clorofilă, beta-caroten, astaxantină, ficocianină, luteină etc. În prezent, coloranții sintetici sunt folosiți în industria alimentară, cosmetică, farmaceutică etc. Cu toate acestea, din cauza problemelor asociate cu efectele nocive ale coloranților sintetici, exploatarea pigmenților din microalge ca sursă de culori naturale devine o opțiune atractivă.

Câteva exemple de pigmenți din microlage sunt : clorofila, luteina, astaxanthinul, ficocianina, beta-carotenul, etc. .

Clorofila

Clorofila este un pigment de culoare verde, esențial în procesul de fotosinteză, prin intermediul acesteia având loc transformarea energiei luminoase în energie chimică.

În industrie clorofila a fost utilizată pe scară largă ca agent de colorare și este cunoscut sub denumirea de E140 fiind un colorant care este folosit în uleiuri, ceară, dulciuri etc.

Luteina

Luteina este o substanță considerată a fi un scut împotriva radiațiilor luminoase care duc în timp la obosirea retinei mergând până la distrugerea ei cu consecințe legate de orbire. Rolul luteinei este de a filtra componenta albastră a luminii solare sau artificială pe care ochiul până la retină nu este capabil să le oprească.

Componenta albastră din razele de lumină, dar și radiațiile UV în exces sunt dăunătoare retinei pe care o pot distruge ireversibil. Aceste substanțe apără pata galbenă de la distrugerea sub acțiunea stresului oxidativ dat de radiațiiile luminoase necorespunzătoare.

Astaxanthinul

În anul 1944 biochimicianul Tisher a identificat că responsabil pentru culoarea roșiatică a algelor Haematococcus pluvialis este oxidantul astaxanthin.

Astăzi astaxanthinul este cunoscut ca fiind cel mai puternic antioxintant din lume care leagă și depozitează algele în cantități mari ca și reacție naturală împotriva stresurilor exterioare. Datorită funcției de apărare ale astaxanthinului, Haematococcus pluvialis poate face față verilor aride și iernilor geroase într-un somn adânc în lipsa de hrană sau apă peste 40 de ani. Doar dacă condițiile meteorologice sunt din nou potrivite, algele se trezesc din somn, devin active și își recapătă culoarea verde. Astfel, aceste alge au făcut făță condițiilor climatice vitrege de acum milioane de ani, au supraviețuit secetelor și erelor glaciare datorită scutului protector oferit de astaxanthin.

Ficocianina

Ficocianina este un pigment albastru, ce poate fi găsit în algele albastre. Acest pigment este atașat la membranele fotosintetice. De asemenea, îndeplinesc funcția de molecule de depozitare a nitrogenului(azotului). Ficocianina absoarbe lumina roșie, ce pătrunde în apă, și emite lumină albastră.

Ficocianina care se gasește în Spirulină are multe proprietăți anti-inflamatorii și antioxidante. Pigmenții albaștrii din spirulină pot fi folosiți în industria alimentară, acest tip de colorant fiind destul de rar întâlnit în alte produse naturale.

Beta-carotenul

Există peste 400 de carotenoizi disponibili în natură, iar beta-carotenul este poate cel mai important. Unele dintre aceste molecule sunt provitamina A și au o serie de funcții și acțiuni biologice diverse. Cercetătorii au raportat că beta-carotenul exercită numeroase beneficii pentru corpul uman, deoarece corpul uman transformă beta-carotenul în vitamina A prin țesutul corpului.

Beta-carotenul din microalgele Dunaliella este utilizat drept colorant alimentar pentru a îmbunătăți aspectul la unele produse cum ar fi: margarina, brânza, sucuri de fructe, produse coapte, produse lactate, conserve și produse de cofetărie pentru a atrage consumatorii.

1.3. Condiții de creștere

Pentru creșterea microalgelor este necesară o sursă de carbon, nutrimente anorganice (azot, fosfor etc.), și o sursă de lumină. Acestea sunt folosite la procesul de formare a substantelor organice din substanțe minerale în prezența luminii, și poartă numele de fotosinteza. Prin procesul de fotosinteză se eliberează oxigenul care rezultă din urma reacțiilor chimice.

Nutrimentele anaorganice (azotul și fosforul)

Aceste nutrimente nu sunt utilizate direct de către microalge, acestea sunt absorbite și stocate intracelular. Astfel, activitatea fotosintetică a microalgelor va continua și după epuizarea nutrimentului din mediul de cultură câteva zile pe baza rezervelor intracelulare.

În ceea ce privește asimilarea fosforului, acesta are un rol extrem de important în producția de biomasă a microalgelor. Cea mai accesibilă forma a fosforului o reprezinta fosfații.

Fosforul reprezintă o componentă importantă a acizilor nucleici, a lipidelor și proteinelor. Deficitul de fosfor în mediul nutritiv duce la acumularea unor mari cantități de lipide în biomasa respectivă.

Dioxidul de carbon (CO2)

Ca surse de carbon, majoritatea microalgelor folosesc dioxidul de carbon dizolvat în apă, respectiv ionul carbonic și cel bicarbonic.

Mediul de creștere al micicroalgelor îl constituie soluțiile apoase, aici dioxidul de carbon este prezent în diferite forme, în funcție de pH, de cantitatea de elemente alcaline, de temperatură și de cantitatea de CO2 din atmosfera.

În afară de rolul său de substrat, dioxidul de carbon este utilizat pentru scăderea pH-ului culturii de microalge deoarece este un acid slab.

Lumina

Lumina este considerată substrat și este un factor important în creșterea microalgelor, acestea pot absorbi fotoni doar in domeniul vizibil cuprins între 400-700 nm care mai este numit și radiație activă fotosintetică (PAR). PAR se măsoară în μmol fotoni/m2/s, cu alte cuvinte reprezintă cantitatea de fotoni căzuți într-o secundă pe o suprafață de 1 metru pătrat.

În procesul de fotosinteză lumina poate fi naturală de la soare sau arificială ce provine de la leduri sau becuri speciale ce au un spectru compatibil cu fotosinteza.

Pentru a realiza fotosinteza, microalgele folosesc Clorofila, care are urmatoarele varfuri de folosire a spectrului:

Clorofila A: Albastru 430nm și Rosu 662nm;

Clorofila B: Albastru 453nm și Rosu 642nm.

Fig. 2 Spectrul de lumină pentru fotosinteză

1.4 Metode de cultivare a microalgelor

Microalgele se cultivă în fotobioreactoare, care sunt, de fapt, bioreactoare care conțin o sursă de lumină pentru a întreține procesul de fotosinteză.

Cultivarea microalgelor în funcție de natura sursei de lumină se poate face în următoarele moduri:

Cultivare în sistem deschis

Cultivare în sistem închis

1.4.1 Cultivarea în sistem deschis

Cultivarea microalgelor în sistem deschis se face in fotobioreactoare solare care pot fi bazine, helestee deschise, care folosesc energia solară pentru procesul de fotosinteză.

Bazinele deschise (Fig. 3) sunt cele mai simple sisteme de cultivare și cele mai frecvent utilizate pentru producerea de microalge, în prezent peste 90% din cantitatea de alge care este produsă în scop comercial este cultivată în astfel de sisteme.

De asemenea, mentenanța periodică, construirea și curățarea acestor sisteme este ușor de realizat, având costuri reduse, dar au dezavantajul că sunt expuse la condițiile atmosferice și bacterii iar producția de microalge este dependentă de energia solară.

Fig. 3 Fermă agricolă de microalge pentru biocombustibili tip bazin

Fig. 4 Sistem de cultivare a microalgelor cu agitare pe baza de zbaturi

1.4.2 Cultivarea în sistem închis

Cultivarea în sistem închis se face în fotobioreactoare luminate artificial care sunt de obicei utilizate pentru productia la scară mică. Au avantajul că lumina poate fi controlată indiferent de ciclurile zi/noapte.

Fotobioreactoarele închise se construiesc în plan vertical sau orizontal, iar microalgele se dezvoltă în recipiente tip saci, pungi, tuburi, coloane. Acest lucru permite ca bioprocesul de creștere să poată fi reprodus oriunde pe pământ, inclusiv în zone neproductive precum zonele deșertice.

Fig. 5 Fotobioreactor de laborator tip air-lift cu leduri pentru crestere fotosintetică

ICSTCC 2019- Multivariable control strategy for the photosynthetic cultures of microalgae

Fig. 6 Fotobioreactor tip placă ,Universitatea ”Dunărea de Jos” Galați

1.5 Variabile de stare ale procesului

Variabilele de stare sunt componente care caracterizează procesul și care pot fi măsurate sau estimate. În procesul de cultivare a microalgelor putem măsura sau estima următoarele variabile de stare: ph-ul, temperatura, oxigenul dizolvat și intensitatea luminii.

pH-ul

Noțiunea de pH reprezintă potențialul de hidrogen al unei substanțe și exprimă cantitativ aciditatea sau bazicitatea acesteia.

Valorile pH-ului pot varia de la 0 la 14, indicele de 7.0 este considerat neutru. Toate valorile peste 7.0 indică un grad mai mare de alcalinizare, iar valorile sub 7.0 arată un nivel mai mare de aciditate.

La creșterea microalgelor pH-ul are un rol important iar menținerea acestuia la un nivel optim se va face prin introducerea de CO2 sau de aer în amestec cu CO2 în mediul de dezvoltare. Acesta poate varia de la o specie la alta, de exemplu studiile arată că Spirulina se dezvoltă bine între valorile 9-10.5 iar Chlorella între valorile 7-8.

Temperatura

Ca și în cazul altor procese metabolice, se constată un efect pozitiv al temperaturii asupra fotosintezei până la 30 ͦC, după care se constată o acțiune depresivă, urmată de încetarea procesului către 45 ͦC. Intensitatea fotosintezei crește odată cu temperatura, atingând nivelul optim la 30-35 ͦC apoi coboară rapid către zero la temperatura de 40-45 ͦC. Partea fotochimică a fotosintezei este independentă de temperatură, în vreme ce partea biochimică, enzimatică este strict dependentă de temperatură. Cu toate acestea există unele alge albastre din lacurile termale care cresc și la temperatura de 80 ͦC.

Temperatura minimă, optimă și maximă a fotosintezei nu este fixă, ci diferă de la o specie la altă .

Oxigenul dizolvat

Oxigenul dizolvat reprezinta cantitatea de oxigen rămasă dizolvată în apă la o anumită presiune și temperatură.

Oxigenul dizolvat se găsește în apă sub formă de molecule. Acesta provine din dizolvarea oxigenului în contact cu apa sau din fotosinteza plantelor acvatice.

Producția oxigenului de către plantele acvatice este influențată de lumină, astfel încât dacă nu avem lumină nu are loc procesul de fotosinteză.

Intensitatea luminii

Intensitatea luminii, în cazul creșterii dirijate a microalgelor, reprezintă un factor de mediu extrem de important, nu numai prin semnificația sa, în sine, de element determinant al fotosintezei, ci și prin faptul că pe parcursul derulării procesului de creștere a microalgelor, odată cu mărirea densității suspensiei în mediul nutritiv, apare un efect de umbrire în cadrul populației algale. Acest lucru reprezintă scăderea intensității radiației luminoase la nivelul culturii în ansamblul său.

1.6 Controlul proceselor

Bioreactoarele sunt dispozitive care sunt instrumentate cu diferiți senzori cum ar fi cei de temperatură, oxigen dizolvat, pH etc.. Achiziția semnalelor de la senzori se face cu ajutorul unei plăci de achiziție sau orice altă componentă electronică capabilă să transmită semnale către elementele de execuție ( electrovalve, pompe, motoare etc.).

Astfel, putem controla în buclă închisă diferite variabile ( temperatură, intensitate luminoasă, pH-ul, oxigenul dizolvat etc.).

Controlul proceselor se face cu diferite tipuri de regulatoare iar alegerea tipului de regulator pentru un proces dat este determinată de caracteristicile procesului tehnologic și de performanțele impuse sistemului de reglare. Câteva tipuri de regulatoare folosite ar fi : regulatoare PID, Fuzzy, Neuronale, Bipoziționale etc.

Un sistem de control automat este proiectat pentru a genera un semnal de comandă care să corecteze comportamentul unui proces astfel încât să aducă ieșirea procesului la o valoare dorită numită referință.

1.7.1 Controlul în buclă închisă cu regulator PID

Regulatoarele PID sunt cele mai folosite în practică atunci când se doresc performanțe bune pentru sistemul automat. Ele pot fi configurate astfel încât să funcționeze cu algoritm P, PI, PD sau PID.

Fig. 8 Structura unui sistem de reglare cu regulator PID

Algoritmul cu acțiune proporțională(de tip P)

Aceste regulatoare stabilesc între mărimea de ieșire u(t) reprezentând mărimea de comandă și mărimea de intrare ε(t) reprezentând eroarea, o relație de dependeță proporțională descrisă de relația 1.1 :

(1.1)

unde KP este factorul de amplificare al regulatorului.

De multe ori în loc de KP se utilizează factorul numit bandă de proporționalitate BP definit ca fiind acel procent din domeniul mărimii de intrare în regulator ε(t) pentru care regulatorul de tip P determină o valoare u(t) egală cu 100% din domeniul posibil pentru mărimea de ieșire.

Când domeniul de variație al erorii ε este egal cu domeniul de variație al mărimii de comandă u(t) (cazul regulatoarelor unificate), banda de proporționalitate este cuprinsă între 1 – 400 % și se determină cu relația 1.2 :

(1.2)

Regulatorul P introdus într-o buclă de reglare poate conduce la o funcționare stabilă, însă cu o eroare staționară ε ≠ 0 (semnalul de comandă u, nu va atinge niciodată valoarea necesară pentru anularea erorii).

Creșterea factorului de amplificare KP, determină o reducere a erorii staționare ε (deci o creștere a preciziei) și o reducere a constantei de timp (timpul necesar intrării în regim staționar) a sistemului.

Algoritmul cu acțiune integrală (de tip I)

Aceste regulatoare stabilesc între mărimea de ieșire u(t) și mărimea de intrare ε(t) o relație de dependență descrisă de relația 1.3 :

(1.3)

Mărimea u(t) depinde de integrala în timp a erorii ε(t). Constanta Ti se numește constantă de integrare și are dimensiunea timp.

Parametrul ajustabil al regulatorului I este timpul de integrare care poate fi variat în diverse limite, de la ordinul fracțiunilor de secundă până la zeci de minute, în funcție de tipul regulatorului, pentru procese rapide sau procese lente.

Algoritmul cu acțiune proporțională integrală(de tip PI)

Aceste regulatoare reprezintă o combinație între un regulator de tip P și unul de tip I și stabilesc între mărimea de ieșire u(t) și mărimea de intrare ε(t) o relație de dependență conform relației 1.4 :

(1.4)

Factorii KP și Ti constituie parametrii de acordare ai regulatorului de tip PI și pot fi modificați în limite largi, în funcție de performanțele impuse sistemului de reglare automată și pot fi modificați independent unul de celălalt.

Prin introducerea componentei integrative, regulatorul de tip PI anulează eroarea staționară la intrare treaptă, însă duce la un suprareglaj mai mare decât la regulatorul P și la o valoare mare a timpului de răspuns tr;

Efectul regulatorului, în funcție de valoarea parametrului KP este același și este reflectat tot de banda de proporționalitate BP, care rămâne cuprinsă tot între valorile de 1 – 400%.

Algoritmul cu acțiune proporțională derivativă (de tip PD)

Aceste regulatoare, similar cu cele de tip PI, reprezintă o combinație între un regulator de tip P și unul de tip D și stabilesc între mărimea de ieșire u(t) și mărimea de intrare ε(t) o relație de dependență descrisă de relația 1.5 :

(1.5)

unde factorul Td se numește constantă derivativă și are dimensiunea timp.

Algoritmul cu acțiune proporțională integrală derivativă (de tip PID)

Aceste regulatoare sunt cele mai complexe regulatoare cu acțiune continuă, care asigură performanțe de reglare superioare, atât în regim staționar cât și în regim tranzitoriu. Ele înglobează efectele proporțional P, integral I și derivativ D conform legii de reglare 1.6 :

(1.6)

Regulatoarele PID au trei parametri ajustabili KP, TI, TD, ceea ce asigură posibilități mult mai largi în asigurarea legilor de reglare decât la oricare din regulatoarele descrise anterior și explică performanțele superioare ale sistemelor de reglare automată prevăzute cu aceste regulatoare. Evident că regulatoarele PID au construcții mai complexe și necesită o acordare atentă a valorilor celor trei parametri.

În completarea avantejelor oferite de un controller PI, un controller de tip PID este îmbunătățit prin intermediul componentei de tip D. Aceasta ia în calcul și frecvența de schimbare a abaterilor sistemului.

Dacă se ține seama de realizarea constructivă a regulatorului, relația 1.6 poate fi scrisă:

(1.7)

Acordarea regulatoarelor PID

A acorda un regulator convențional PID presupune determinarea valorilor optime ale parametrilor Kp, Ti și Td care asigură pentru un proces dat comportarea dorită a SRA în raport cu referința și perturbațiile ce actionează asupra procesului.

Pentru calcularea unui regulator de tip PID avem la dispoziție în primul rând metoda experimentală Ziegler-Nichols care are la bază creșterea gradată a factorului proportional Kp până când sistemul ajunge la marginea de stabilitate. Acest lucru înseamnă că sistemul va avea oscilații constante. Odată ajuns în acest punct se determină perioada unei astfel de oscilații pe care o vom nota cu Tlim iar Klim este ultima valoare introdusă la creșterea treptată a lui Kp.

Cu ajutorul acestor valori putem determina parametrii Ti și Td utilizând formulele din tabelul de mai jos.

Tabel 1. Valori pentru acordarea a parametrilor regulatorului PID

Capitolul 2. Componente Folosite

2.1 Microcontrolerul Arduino

2.1.1 Generalități

Platforma Arduino a fost lansată de către Ivrea Interaction Design Institute ca o unealtă pentru realizarea de prototipuri într-un timp foarte scurt, fiind inițial dedicată studenților fără cunoștințe avansate în electronică și programare.

Foarte repede a fost adoptată de un număr din ce în ce mai mare de utilizatori, fiind adaptată pentru noi proiecte, de la aplicații IoT (Internet of Things), imprimante 3d până la aplicații încorporate în cadrul unor companii multinaționale.

Primul Arduino a fost lansat în 2005, având ca țintă asigurarea unei soluții foarte ieftine și simple pentru începători și profesioniști pentru a crea dispozitive capabile să interacționeze cu mediul.

Este o platformă electronică bazată pe o arhitectură hardware și software flexibilă și ușor de utilizat. Comunicarea cu mediul înconjurător se face prin recepția semnalelor de la anumiți senzori dar poate interacționa și funcționa cu butoane, LED-uri, motoare, potențiometre, unități GPS, dispozitive GSM, camere video,internet și chiar poate conlucra cu un smartphone sau un televizor.

Pentru afișarea informațiilor preluate, există ecrane LCD pentru Arduino, începând cu cele mai simple (LCD-uri text cu 16 caractere) până la ecrane LCD cu touchscreen.

2.1.2 Avantajele platformei Arduino

Mediu de programare ușor de folosit – limbajul de programare este bazat pe

limbajul C/C++ iar programul Arduino IDE este disponibil pe sistemele de operare Windows, Linux și Macintosh OSX;

Ieftină – microcontrolerele arduino sunt foarte ieftine în comparație cu

alte platforme Software și Hardware open-source;

Oricine dorește poate dezvolta platforma atat pe partea de software

cât și hardware. De asemenea se pot realiza propriile biblioteci în limbajul C++ pentru a ușura munca.

2.1.3 Convertorul analog-numeric al platformei Arduino

Microcontrolerele Arduino sunt capabile să detecteze semnale digitale dar și analogice. Când un microcontroler este alimentat în tehnologie TTL la o tensiune de 5(V) curent continuu, acesta interpretează tensiunea de 0(V) ca fiind 0 logic și cea de 5(V) ca fiind 1 logic.

Lumea nu este chiar atât de simplu construită, în sensul că nu e totul așa cum ne dorim. Cum ar fi dacă semnalul ar fi 3.14(V)? Acest nivel de tensiune reprezintă 0 sau 1?

De cele mai multe ori avem nevoia de a măsura niveluri de tensiune intermediare, acestea fiind exprimate prin semnale analogice.

Un senzor analogic alimentat la 5(V) poate să aibă la ieșire niveluri de tensiune cuprinse între 0.00(V) și 5.00(V). Aproape toate microcontrolerele dețin o componentă integrată care le permite să transforme tensiunea de alimentare în valori utilizate în luarea unor decizii sau doar pentru simpla achiziție.

Acestea au un convertor analog numeric (ADC) care este un dispozitiv ce transformă tensiunea analogică aplicată pe un pin analogic în semnale numerice. Nu orice pin al microcontrolerului are abilitatea de a transforma un semnal analogic într-unul digital. Pe plăcile Arduino, pinii analogici au înscrisă litera ”A” în dreptul pinului corespunzător(A0 – An). ADC-urile pot varia destul de mult în funcție de producătorul microcontrolerului.

Convertorul analog-digital utilizat de Arduino este unul cu aproximări succesive și are o rezoluție de 10 biți, ceea ce reprezintă 1024 de niveluri discrete de tensiune pe care le poate detecta, acestea fiind cuprinse între 0 și 1023.

În cazul în care se folosește pinul AREF au loc anumite schimbări în limita superioară a intervalului iar rezoluția și valorile obținute sunt diferite.

Dacă semnalul de la intrare este prea mic în amplitudine, convertorul are facilitatea de preamplificare a acestuia în două setări, de 10x sau de 200x.

ADC întoarce o valoare raportată. Asta presupune că ADC consideră tensiunea de alimentare (5Vcc în cazul tehnologiei TTL) ca fiind 1023, iar orice nivel de tensiune sub cel maxim va fi raportat la cel maxim.

(2.1)

Dacă tensiunea analogică introdusă într-un pin analogic este 2.68(V),valoarea citită de ADC se determină din ecuația 2.1 .

Prin urmare, la o tensiune analogică de intrare de 2.68(V), ADC va citi valoarea 548.

Un exemplu de citire a unei valori analogice folosind funcția ”analogRead()” este prezentat mai jos:

void loop() {

// se citeste valoarea de pe pinul analog A0

int sensorValue = analogRead(A0);

// se afișează valoare citită

Serial.println(sensorValue);

delay(1);

}

2.1.4 Semnalul PWM

Semnalul PWM reprezintă o modalitate prin care putem varia în mod controlat o tensiunea dată unui dispozitiv electronic. Această metodă este caracterizată prin schimbarea foarte rapidă a tensiunii oferite dispozitivului respectiv din ON în OFF și invers, deci au loc treceri rapide din HIGH în LOW.

Perioada de timp corespunzătoare valorii ON dintr-un ciclu ON-OFF se numește factor de umplere ”Duty Cycle” și reprezintă, în medie, tensiunea pe care o va primi dispozitivul electronic, astfel, se pot controla circuite analogice din domeniul digital.

Factorul de umplere reprezintă raportul dintre durata în care semnalul generat este maxim și durata în care semnalul este zero. Acesta se exprimă în procente și reprezintă cât la sută din perioada unui semnal acesta va fi pe nivelul ON.

În Fig. 9 se pot vedea 3 semnale PWM cu un factor de umplere care are diferite valori.

Fig. 9 Simularea unor semnale PWM cu diferite cicluri folosind Arduino

Funcția analogWrite (DigitalPin, value) determină generarea unui semnal PWM pe pinul ”DigitalPin”, cu factorul de umplere specificat la ”value”. Factorul de umplere poate fi cuprins între 0 și 255. Pinul pe care se dorește generarea unui semnalul PWM trebuie configurat ca pin de ieșire.

Frecvența la care lucrează un pin al microcontrolerului Arduino este de 500Hz (default) și putem simula orice voltaj cuprins între 0 și 5V.

Astfel, pentru generarea unui semnal PWM care reprezintă un voltaj de 2.5V microcontrolerul va genera pentru 50% din timp 5V, iar pentru 50% va genera 0V pe un pin care suportă pwm.

2.1.5 Arhitectura unui program pentru Arduino

Pentru dezvoltarea de noi programe și pentru programarea platformelor Arduino, se utilizează mediul de programare Arduino IDE. Programele scrise pentru platformele Arduino poartă denumirea de „sketch”. Acestea sunt alcătuite din două funcții importante și anume ”void setup()” și ”void loop()”. Cele două funcții sunt introduse în program având următoarea structură:

void setup (){

instrucțiunile introduse aici se execută o singură dată, la pornire și se utilizează pentru setări și inițializări

}

void loop() {

instrucțiunile de aici se execută în buclă până la oprirea alimentării cu energie a sistemului

}

Prima funcție prezentată mai sus este utilizată pentru inițializarea variabilelor, a comunicației seriale (de exemplu baud rate), pentru declararea pinilor ca fiind de ieșire sau de intrare și diverse funcții pentru inițializarea unor senzori.

Această funcție este executată imediat la pornire sau după resetarea sistemului de dezvoltare Arduino, fiind rulată o singură dată. A doua funcție ”loop ()” este funcția similară cu ”main()” din limbajul de programare C și este rulată în buclă, adică la sfârșitul execuției ultimei instrucțiuni din funcție se reîncepe execuția primei instrucțiuni din această funcție, totul fiind un ciclu care se repetă continuu.

Fig. 10 Interfața programului Adruino IDE

2.1.6 Microcontrolerul Arduino Mega

În cadrul acestui proiect este utilizat microcontrolerul Arduino Mega, acesta este una dintre platformele de procesare de la Arduino destinate proceselor complexe cu un număr foarte mare de componente și este bazată pe microcontrolerul Atmega2560. Are 54 de pini digitali de intrare/iesire (dintre care 15 suportă semnal PWM și 4 ca porturi seriale ), functionează la 16 MHz, și dispune de o conexiune cu calculatorul printr-o mufă USB tip A/B.

Arduino Mega se poate conecta la PC sau poate funcționa cu o sursă externă care are o tensiune cuprinsă între 7-12(V). În cazul în care tensiunea de alimentare este mai mică de 7(V), pinul pentru alimentarea cu 5(V) poate deveni instabil. Iar în cazul în care tensiunea de alimenare este mai mare de 12(V), plăcuța se poate supraîncălzi.

Aceste reguli de alimentare a plăcuței de dezvoltare sunt bine cunoscute pentru a preveni deteriorarea componentelor hardware, dar și pentru a asigura o bună funcționare a sistemului fără să apară anumite probleme în timpul funcționări.

Cei 54 de pini digitali de intrare / ieșire funcționează la o tensiune de 5(V) și sunt controlați cu diferite funcții și au rolul de a executa anumite comenzi și operează pe o intensitate a curentului electric de 40(mA) cu o rezitență internă de 20 – 50 (k Ω) .

Platforma dispune și de un număr de 16 pini analogici numerotați de la A0 până la A15, acești pini analogici au rolul de a furniza o rezoluție de 10 biți, sau 1024 de valori diferite.

Următorul tabel conține principalele caracteristici ale platformei Arduino Mega

Tabel 2. Specificații Microcontroler Arduino Mega

Fig. 11 Diagrama pinilor la Arduino Mega

Mai jos sunt amintite câteva funcții bine definite pe care le au pinii utilizați pentru intrare sau ieșire.

Pinul serial RX, este un pin utilizat în mod uzual pentru recepția datelor seriale asincrone. Acest protocol este foarte utilizat în domeniul electronici deoarece are rolul de a transmite dar și de a primi anumite date de la dispozitivele periferice conectate;

Pinul serial TX – este utilizat în mod special pentru datele asincrone;

Arduino mega este dotat cu 4 perechii de pini RX-TX;

Pinul denumit (External interrupts) este utilizat doar pentru a opri sau întrerupe pentru perioade scurte de timp o anumită aplicație sau conexiune, dar și pentru a schimba o valoare a tensiuni de intrare;

Reset- este folosit pentru a reseta microcontrolerul sau pentru a adăuga un buton pentru resetare

SDA– Data Line – Este utilizată pentru comunicarea I2C;

SCL – Line Clock– Este folosită pentru comunicarea I2S;

Mai există și o serie de pini care sunt utilizați pentru alimentare dar și pentru ieșire.

Vin -Tensiunea de alimentare externă;

GND -Este utilizat pentru masă ;

5V – Acest pin este utilizat pentru alimentarea componentelor externe cu 5(V);

3.3V -Acest pin este utilizat pentru alimentarea componentelor externe cu 3.3 (V);

Reset – Acest pin are rolul de a reseta microcontroler-ul de la alt dispozitiv;

IOREF -Este utilzat pentru a comuta automat o tensiune de referință de la Arduino cu o tensiune de 3.3(V) și 5(V);

2.2 Surse de tensiune

Pentru alimentarea generală a standului se poate folosi orice sursă de curent continuu ce are o tensiune de maxim 13(V) cu un amperaj de minim 2000mA.

Conectarea conectorului pentru alimentare pe carcasă se va face conform schemei electrice prezentă la anexe.

2.2.1 Sursă coborâre tensiune

Sursa aleasă este un circuit care conține integratul LM2596 care este o sursă de joasă tensiune în comutație, reglabilă DC-DC, cu tensiune de intrare de 3.0-35(V) și tensiune de ieșire de 1,5-33(V).

În cadrul acestui proiect modulul este alimentat la o tensiune de 12-13(V) și este setat pentru a avea la ieșire o tensiune de 9(V). Tensiunea de 9(V) este folosită pentru alimentarea microcontrolerul arduino și pentru a alimenta ledurile de stare încorporate în butoane.

Pentru modificarea tensiuni se va roti de potențiometrul de culoare albastră situat pe placă în sensul acelor de ceas pentru a crește tensiunea și invers pentru a scădea.

Modulul utilizat are următoarele specificații:

Tensiune intrare: 3.0 – 35(V);

Tensiune ieșire: 1.5 – 33(V);

Curentul maxim la ieșire: 3(A) -necesită răcire;

Putere ieșire: 50(W) fără răcire, 70(W) cu răcire;

Temperatură de funcționare: -40 +85 (°C);

Eficiență: max 92%;

Protecție la scurtcircuit: 8(A);

Protecție la supratemperatură: da;

Protecție la alimentare inversă: NU;

Fig. 12 Modul coborâre tensiune LM2569

2.3 Modulul IRF520

Modulul IRF520 este un circuit electronic care conține un tranzistor MOSFET IRF520, el poate fi utilizat împreună cu un microcontroler. Acest modul este capabil să comute la sarcini DC mari printr-un singur pin digital.

Obiectivul acestui driver este să ofere o cale "low cost" și este capabil să controleze elemetele de execuție (motoare DC, LED-uri etc.) în aplicații din domeniul roboticii, dar poate fi utilizat și pentru a controla majoritatea sarcinilor DC de mare curent.

În cadrul acestui proiect modulul este folosit pentru a controla intensitatea luminii, acesta primește o tensiune între 0 și 5(V) pentru a controla tensiunea de alimentare a ledului. Tensiunea va fi generată de un semnal pwm iar în funcție de valoarea primită la intrare, intesitatea ledului va fi variată.

De exemplu, pentru a avea o intensitate de 25% din puterea ledului vom genera un semnal pwm cu un ”duty cycle” de 25% pe un pin care suportă pwm. Un duty cycle de 25% reprezintă valoarea 64.

Modulul utilizat are următoarele pecificatii:

Tensiune de operare: 3.3-5(V);

Tensiune de iesire sarcină: 0-24(V);

Curent de iesire sarcină: <5(A) -peste 1(A) este necesar un radiator;

Platforme compatibile: Arduino, MCU, ARM, Raspberry Pi;

PWM ajustabil;

Comandă pânâ la 24(V) permițând sarcini precum: LED-uri, motoare DC, mini pompe, valve solenoid etc.;

Dimensiuni : 33mm x 25mm;

Fig. 13 Modul IRF520

2.4 Modulul și senzorul de pH

Determinarea valorii pH-ului unei soluții se face cu ajutorul a doi electrozi care generează o tensiune în funcție de valoarea pH-ului. Senzorul de pH este format dintr-un electrod de lucru și un electrod de referință, sau un electrod combinat care poate îndeplini ambele funcții.

Electrozii combinați sunt mult mai ușor de folosit decât doi electrozi separați, din această cauză, aceștia fiind cei mai folosiții. În electrodul combinat, electrodul de sticlă sensibil este înconjurat concentric de electrodul de referință umplut cu electrolit de referință.

În cadrul acestui proiect este utilizat modulul ”ph4502c” deoarece are un electrod combinat și dimensiuni reduse.

Modulul are următoarele specificații:

Tensiune de lucru: 5 ± 0.2(V) ;

Consum: 5-10(mA);

Putere consumată: ≤0.5(W);

Intervalul de măsurare: pH 0-14;

Timp de răspuns: ≤5(s);

Timp de stabilizare: ≤60(s);

Temperatura de lucru: -10 ~ 50 (°C);

Tip conector: BNC;

Fig. 14 Senzor pH cu modul ph4502c

2.4.1 Întreținerea senzorului de ph

Din cauza sensibilității electrozilor, curățarea sondelor este esențială pentru acuratețe și precizie. Sondele sunt, în general, menținute umede atunci când nu sunt utilizate, într-un mediu adecvat pentru respectiva sondă, care este de obicei o soluție apoasă disponibilă de la producătorul sondei.

Producătorii de sonde oferă instrucțiuni pentru curățarea și menținerea modelelor lor de sonde. Pentru ilustrare, un producător al pH-metrelor de laborator oferă instrucțiuni de curățare pentru anumiți contaminanți: curațenie generală (15 înmuieri într-o soluție de înălbitor și detergent), sare (soluție de acid clorhidric, urmată de hidroxid de sodiu și apă), grăsime (detergent sau metanol), înfundarea joncțiunii de referință depozite de proteine (pepsină și HCl, soluție 1%) și bule de aer.

2.4.2 Calibrarea senzorului de ph

Măsurătorile foarte precise solicită ca pH-metrul să fie calibrat înainte de fiecare utilizare. Calibrarea senzorului este necesară deoarece electrodul de sticlă nu dă un potențial electrostatic reproductibil pe perioade mai lungi de timp.

În concordanță cu principiile de bună practică de laborator, calibrarea este efectuată cu cel puțin două soluții tampon standard care acoperă intervalul de valori pH ce urmează a fi măsurate. Pentru scopuri generale, soluții tampon de pH 4.00 și pH 10.00 sunt potrivite. pH-metrul are o calibrare de control pentru a seta citirea ca fiind egală cu valoarea primului tampon standard, și un al doilea control care este folosit pentru a seta citirea contorului la valoarea celui de-al doilea tampon. Măsurătorile mai precise, uneori necesită calibrare la trei valori diferite ale pH-ului.

Calibrarea senzorului pentru masurarea pH-ului folosind microcontrolerul Arduino se va face folosind funcția SerialMonitor din mediul de programare Arduino IDE în următorul fel:

Pentru calibrareea senzorului avem nevoie de librăria ph_grav.h care se instalează din managerul de librării.

Se va conecta microcontrolerul la calculator folosind un cablu usb;

Se va încărca programul specific pentru calibrare care se găsește la anexe înainte de încărcarea programul final ;

Se va accesa SerialMonitor din meniul Tools;

Se va introduce senzorul de pH în soluția tampon având valoare 4 și se va tasta în consolă comanda CAL,4 pentru a calibrare ;

Se va introduce senzorul de pH în soluția tampon având valoare 7 și se va tasta în consolă comanda CAL,7 pentru calibrare;

Se va introduce senzorul de pH în soluția tampon având valoare 10 și se va tasta în consolă comanda CAL,10 pentru calibrare;

Valorile de calibrare se vor salva automat în memoria EEPROM și sunt folosite de programul final pentru citirea valorilor corecte. Dacă se dorește recalibrarea senzorului se va tasta în consolă comanda CAL,CLEAR și se vor urma pași de mai sus.

2.5 Fotorezistorul

Fotorezistorul este o rezistență care își modifică valoarea rezistenței pe care o are în funcție de lumina care cade pe suprafața sensibilă. Adică atunci când nu cade deloc lumină pe suprafața sensibilă a fotorezistenței aceasta are o rezistență foarte mare și nu permite trecerea curentului prin ea. Când se luminează suprafața fotorezistenței, aceasta începe să lase să treacă curentul prin ea, cu cât este mai puternică lumina incidentă care cade pe suprafața sensibilă cu atât fotorezistența își scade valoarea rezistenței permițând trecerea unei valori mai mari a tensiuni.

Suprafața fotosensibilă a fotorezistorului poate varia între 1mm2 și câțiva centimatri pătrați. Dispozitivul se încapsulează în plastic, metal, ceramică sau sticlă.

Fotorezistența este realizată dintr-o structură pe bază de cristal și utilizează proprietăți fotoconductive. Cele mai comune cristale folosite la realizarea acesteia sunt Cadmiu – Sulf(CdS) și Cadmiu – Seleniu(CdSe).

Pentru acest proiect este utilizat modelul GL12528, acesta are baza ceramică si este realizat din Cadmiu-Sulf impurificat cu atomi de Cu , având un diametru de 12mm.

Rolul acestui fotorezistor în cadrul proiectului este de a măsura cantitatea de lumină care va trece prin biomasă.

Fotorezistorul are următoarele specificații:

Număr pini: 2;

Temperatura de operare:- 30~+70 (˚C);

Tensiune de lucru: maxim 250(V) ;

Puterea disipată: maxim 250 (mW);

Rezistența la întuneric:– 2 (MΩ);

Timp de răspuns: 20 (ms);

Dimensiuni: 12.1 x 10.3 x 2.1 (mm);

Fig. 15 Fotoresistor GL12528

2.6 Electrovalva

Electrovalvele funționează ca un electromagnet. Acest lucru înseamnă că avem o înfășurare, o bobină, prin care trece un curent electric, însă doar atunci când îi dăm voie să treacă, acest curent electric transformă bobina într-un electromagnet. Cu alte cuvinte, când este pătrunsă de curent, bobina va functiona ca un magnet, care poate să atragă sau să respingă un magnet permanent, care se va mișca înainte sau înapoi în funcție de prezența sau absența curentului în bobină.

Astfel, în electrovalvele cu solenoid, atunci când se oprește curentul prin bobină, câmpul ei magnetic va împinge magnetul permanent până când acesta va acoperi gaura prin care curge fluidul din instalați/circuit, închizându-se astfel circuitul. Pentru deschiderea circuitutului, se va activa curentul prin bobină, iar câmpul magnetic va atrage magnetul permanent din gaură, lăsând din nou fluidul să curgă.

În cadrul acestui proiect este utilizată o electrovalvă ”normal închis” alimentată la o tensiune de 12(V). Pentru o conectare rapida la gaz electrovalva este dotată cu un sistem de cuplare rapidă.

Rolul acestei electovalve este acela de a deschide fluxul de gaz care va fi introdus în fotobioreactor pentru reglarea pH-ului.

Modulul are următoarele specificații:

Tensiune de operare: 12(V) ;

Timp de răspuns: sub 50(ms);

Presiune de funcționare :1.2(Mpa);

Puterea bobinei : 6.5(W);

Temperatura de funcționare : -10 până la 80 (°C);

Fig. 16 Electrovalvă

2.7 Ventilatorul

În cadrul acestui proiect ventilatorul este utilizat pentru a efectua agitarea în fotobioreactor care are rolul de a sparge bulele de CO2 și de a împiedica depunerea microalgelor pe fundul vasului.

Acest ventilator mai are rolul de a efectua răcirea componentelor datorită fluxului de aer care va circula prin carcasă dar și răcirea ledului care va fi amplasat deasupra lui.

Pentru realizarea standului se folosesc două ventilatoare cu 4 pini dar se pot folosi și ventilatoare cu 3 pini. În cazul în care folosim ventilatoare cu 3 pini nu putem citi numărul rotațiiilor.

Ventilatorul are următoarele specificații:

Număr pini: 4;

Tensiune de operare: (12V);

Tipul de control: PWM;

Dimensiuni ventilator 1: 120mm x 120mm x 38mm;

Dimensiuni ventilator 2: 80mm x 80mm x 25mm

Număr de rotații: maxim 3600;

Fig. 17 Ventilator Nidec Betav TA450DC

Fig. 18 Specificațiile conectorilor prntru diferite ventilatoare

2.8 Ledul full spectrum

Așa cum a fost precizat în capitolele anterioare că procesul de fotosinteză nu poate avea loc în lipsa luminii pentru acest proiect este utilizat un led care are rolul de a produce cantitatea de lumină necesară procesului de fotosinteza .

În cadrul proiectului au fost alese ledurile produse de către compania Epistar Corp special concepute pentru creșterea plantelor.

Ledul ales are următoarele specificții:

Spectrul de lumină: 380-850nm;

Tensiunea de alimentare: 9-11 V;

Curentul direct: 400 -600 mA;

Fluxul luminos: 200 – 300 lumeni;

Dimensiuni: 20x20x3.3 mm;

Putere: maxim 10W;

Fig. 19 LED full spectrum cu putere de 10W

Ledurile reprezintă o alternativă ce nu consumă multă energie și au un volum redus. În plus, ele pot avea și o durată de funcționare mare datorită faptului că nu se încălzesc foarte tare.

2.9 Alte componente

Buton ON/OFF

În cadrul proiectului sunt folosite 5 butoane care îndeplinesc diferite funcții conform programului implementat pe microcontroler.

Specificațiile acestuia sunt:

Tip – cu reținere;

Led stare – da;

Diametru–16-19 mm ;

Tensiune Led – 9V;

Număr pini – 5;

LCD 2004

Rolul acestui ecran este pentru afișarea informațiilor din procesul de cultivare fotosintetică a microalgelor.

Pe acest ecran se poate vedea starea procesului, valoarea pH-ului, intensitatea luminoasă, etc..

Conectarea ecranului la microcontroler se va face conform schemei electrice care se găsește la anexe.

Ecranul are următoarele specificații:

Număr pini: 4;

Tensiune de operare: (5V);

Număr linii: 4

Număr caractere pe linie: 20

Dimensiune Caracter: 2,95 x 4,75 (mm)

Dimensiune Pixel: 0,55 x 0,55 (mm)

Fig. 21 Ecran lcd compatiil cu arduino

Potențiometru

Potențiometrul este un rezistor la care utilizatorul poate modifica în continuu sau în trepte rezistența într-un anumit interval determinat de procesul de fabricație.

Pentru acest proiect se folosec 5 potențiometre cu valori cuprinse între 1 și 10 kΩ.

Rolul acestor potențiometre este acela de a putea seta o valoare necesară pentru controlul sitemului de agitare și a celui de iluminare.

Capitolul 3. Proiectarea și Automatizarea Standului

Standul realizat permite creșterea dirijată a microalgelor fiind dotat cu un sistem de agitare experimental, o iluminare specifică procesului de fotosinteză și un sistem de menținere a pH-ului sub control.

Rolu acestui stand este de a crește rapid un inocul concentrat de microalge viabil, acesta fiind necesar atunci când dorim să cultivăm o cantitate mai mare de microalge în fotobioreactor. Standul este format din două părți controlate de același microcontroler dar cu funcționalități diferite.

Partea principală a standului este formată dintr-un ventilator cu o dimensiune de 120mm iar cea secundară este formată dintr-un ventilator cu o dimensiune de 80mm.

Sistemele prezentate în urmatoarele subcapitole pot fi implementate atât în partea principală cât și în cea secundară.

3.1 Sistemul de agitare

Agitarea este magnetică realizată de un ventilator cu 2 magneți neodim și o bara magnetică. Magneții sunt de tip disc cu o magnetizare axială (Fig.23), adică polii magnetici se află pe cele două fețe circulare plane ale discului. Lipirea magneților se face folosind un adeziv rezistent cu care poate lipi metal.

Fig. 23 Magnetizare axială

Distanța maximă dintre cei doi magneți amplasați pe ventilator și bara magnetică când are loc procesul de agitare trebuie să fie de maxim 3 cm (Fig.24), în acest fel câmpul magnetic este destul de puternic pentru a putea roti bara magnetică.

Fig. 24 Model 3d ventilator cu magneți și bară magnetică

Pentru a putea porni ventilatoarele avem nevoie de doua relee ”normal deschis” care vor fi controlate de căre microcontroler. Acestea vor fi conectate la tensiunea de 5V din placa arduino la pinul Vcc. La primirea semnalului logic de pe pinii aferenți schemei electrice microcontrolerul Arduino Mega realizează cuplarea releului de alimentare a ventilatorului.

Conectarea sistemului de agitare la microcontroler și alimentarea acestuia cu tensiune se face conform schemei electrice (Fig.25) urmând pași de mai jos:

Pinul PWR al ventilatorului principal prin care se face alimentarea cu tensiune se conectează la pinul Feed al releului 2;

Pinul PWM al ventilatorului principal se conectează la pinul digital D5;

Pinul Tach al ventilatorului principal este pinul pentru citirea rotațiilor și se conectează la pinul digital D19;

Pinul S al releului 2 se conectează în serie cu o diodă 1N4007 la pinul digital D34;

Pinul PWR al ventilatorului secundar prin care se face alimentarea cu tensiune se conectează la pinul Feed al releului 1;

Pinul PWM al ventilatorului secundar se conectează la pinul digital D6;

Pinul Tach al ventilatorului secundar este pinul pentru citirea rotațiilor și se conectează la pinul digital D19;

Pinul S al releului 1 se conectează în serie cu o diodă 1N4007 la pinul digital D36;

Fig. 25 Schemă electrică pentru realizarea sistemului de agitare

3.1.1 Sistem de control în buclă deschisă

Standul va permite controlul turației în buclă deschisă în două moduri:

Referința sistemului este setată din programul arduino și nu poate fi schimbată în timpul funcționării

Referința sistemului este setată dintr-un potențiometru conectat la microcontroler și poate fi modificată în timpul funcționării de câte ori se dorește.

Avantajul folosirii unui potențiometru este acela că putem controla turația în timpul funcționări fără a fi nevoie să modificăm programul atunci când dorim o agitare mai puternică.

Fig. 26 Sistem de control în buclă deschisă

Pentru a controla ventilatorului avem nevoie de libraria ”FanController.h” care se poate instala din managerul de librării.

În urmatorul cod pentru microcontrolerul arduino este prezentată partea de control în buclă deschisă folosind un potențiometru.

void setup(void)

{

fan_1.begin();

}

void loop(void)

{

unsigned int viteza_fan_1 = fan_1.getSpeed();

int potent1 = analogRead(A0);

byte target = max(min(input, 100), 0);

fan_1.setDutyCycle(target);

byte dutyCycle = fan_1.getDutyCycle();

Serial.print("Duty cycle: ");

Serial.println(dutyCycle, DEC);

}

3.2 Sistemul de iluminare

Intensitatea luminii, în cazul creșterii dirijate a microalgelor, reprezintă un factor de mediu extrem de important în realizarea fotosintezei, iluminarea standului este realizată cu ledul prezentat în capitolul precedent.

Deoarece ledul funcționează la o tensiune de maxim 11(V) este folosit driver-ul IRF520 care permite controlul tensiuni la ieșire în funcție de semnalul pwm primit la intrare.

LED-ul trebuie să aibă un rezistor conectat în serie cu ledul pentru a limita curentul care trece prin LED, altfel se va arde aproape instantaneu.

Pentru a putea fi calculată valoarea rezistorului avem nevoie de următoarele specificații ale circuitului electric:

UA = 12.50 V (tensiunea de alimentare)

Uled = 9 – 11 V (tensiunea de funcționare a ledului)

ILED = 500 mA (intensitatea curentului prin led)

RLED = valoarea rezistenței în Ohm [Ω]

Putere RLED = puterea rezistenței în Watt [W]

(3.1)

(3.2)

Fig. 27 Circuit electric cu rezistență și led

(3.3)

(3.4)

Valoare calculată a rezistenței conform relației (3.3) este de 5[Ω] și puterea rezistenței conform relației (3.3) este de 1.25 [W] , dar pentru siguranța circuitului vom alege o rezistență cu 10% mai mare decât valoarea calculată iar puterea acesteia va fi cu 30 – 60% mai mare decât cea calculată pentru disiparea temperaturii.

După efectuarea calculelor, valorile rezistenței sunt urmatoarele:

RLED = 5.5[Ω]

Putere RLED = 1.5 – 5 [W]

Controlul sistemului de iluminat se poate face în mai multe moduri în funcție de necesitate. Acesta poate fi facut de un sistem de control în buclă deschisă sau închisă folosind un regulator PI. Opțional se mai poate implementa și un program care să imite evoluția soarelui pe parcursul unei zile.

Ansamblul din Fig.28 ne arată poziția ledului, acesta este realizat dintr-un ventilator deasupra căruia a fost amplasată o componentă de susținere care a fost proiectată 3d și realizată prin printare 3d la dimensiuni specifice ambelor ventilatoare.

Componenta de susținere realizată are rol de suport pentru led dar în interiorul acesteia se află o platbandă realizată dintr-un material cu o conductivitate termică ridicată. Pentru a menține ledul rece acesta este lipit pe platbandă cu pastă termoconductoare care facilitează schimbul de căldură.

Fig. 28 Ansamblu ventilator led

Conectarea sistemului de iluminare la microcontroler și alimentarea acestuia cu tensiune se face conform schemei electrice (Fig.29) în felul urmator:

Ledul LED1 care se află pe ventilatorul de 120 mm se conectează la modulul IRF520 la pinii V- și V+;

Ledul LED2 care se află pe ventilatorul de 80 mm se conectează la al doilea modul;

La pinul de ieșire V+ al modulului IRF520 se va conecta rezistența de 5.5

Alimentarea modulelor se va face de la sursa de tensiune care are o tensiune cuprinsă între 11 și 12[V] la pinii GND și VIN;

Pinii GND ai modulelor se vor conecta la pinul GND al microcontrolerului Arduino Mega sau la orice altă componentă care are un pin GND și este conectată la microcontroler;

Pinul SIG de pe modulul 1 se va conecta la pinul digital D8;

Pinul SIG de pe modulul 2 se va conecta la pinul digital D7;

Pinii Vcc ai modulelor se vor alimenta cu tensiune de 5V de la microcontroler

Fig. 29 Schemă electrică pentru realizarea sistemului de iluminare

3.2.1 Sistem de control în buclă deschisă

Standul realizat va permite controlul intensității luminii în buclă deschisă în două moduri.

În primul mod referința sistemului este setată din programul arduino și nu poate fi schimbată după ce a fost încărcat programul în microcontroler sau în timpul funcționării.

În al doilea mod referința sistemului poate fi setată sau modificată dintr-un potențiometru conectat la microcontroler și poate fi schimbată în timpul funcționării de câte ori se dorește.

Fig. 30 Sistem de control în buclă deschisă

În funcție de poziția potențiometrului, microcontrolerul va citi o valoare cu ajutorul convertorului analog digital. Această valoare o va trasmite către driverul ledului sub formă de semnal pwm pentru reglarea intensități.

Avantajul folosirii unui potențiometru este acela că se poate controla intensitatea luminii în timpul funcționări fără a fi nevoie de modificarea programul atunci când se dorește o intensitate mai puternică.

Aceste două moduri de control au dezavantajul că nu avem feedback iar în acest caz nu știm dacă cantitatea de lumina este potrivită pentru dezvoltarea culturii.

Fig. 31 Sistem de control în buclă deschisă cu microcontroler

În urmatorul cod pentru microcontrolerul arduino este prezentată partea de control în buclă deschisă cu intensitatea luminii setată la 50% din puterea ledului.

#define LED_PIN 10;

int intensLumi = 124; //127 reprezinta 50% din semnalul pwm

void setup(void)

{

pinMode(LED_PIN, OUTPUT); //setare pin pe output

}

void loop(void)

{

analogWrite(LED_PIN, intensLumi);

}

3.2.2 Sistem de control în buclă închisă

Pe parcursul derulării procesului de creștere fotosintetică a microalgelor, are loc mărirea densității suspensiei în mediul nutritiv, astfel apare un efect de umbrire în cadrul populației algale. Acest lucru reprezintă scăderea intensității radiației luminoase la nivelul culturii.

Pentru a elimina efectul de umbrire și pentru a se realiza un stand cât mai complex s-a ales folosirea unui sistem de control în buclă închisă. Rolul sistemului de control în buclă închisă este acela de a genera o intensitate luminoasă pe toată perioada de dezvoltare a microalgelor.

Pentru a putea aplica sistemul de control în buclă închisă avem nevoie de un fotorezistor pentru a putea măsura intensitatea luminoasă. Acesta este introdus într-un braț flexibil (Fig.3) pentru a putea fi manevrat în funcție de dimensiunea vasului în care se vor cultiva microalgele. Brațul se poate monta oriunde pe stand, poziția acestuia stabilindu-se în funție de construcția vasul în care se vor cultiva microalgele și locația de unde dorim să achiziționăm informații despre intensitatea lumini.

Fig. 32 Amplasarea fotorezistorului în brațul flexibil

Proiectarea standului este realizată pentru a permite controlul intensității folosind un regulator pentru ambele părți ale standului. Primul prototip al standului va permite controlul intensității doar în partea principală a standului. Schema electrică este realizată pentru conectarea a două fotorezistențe iar conectarea lor la microcontroler se va face conform schemei electrice (Fig.33) în felul următor:

Conectorii ”jack mamă ” se vor conecta la pinul A5 cel Principal iar cel secundar la pinul analogic A6;

Fotorezistorii se vor conecta fiecare la câte un conector ”jack alimentare tată”

Se vor folosi două rezistențe cu o valoare de 10kΩ care se vor conecta la circuit conform schemei electrice (Fig.33).

Fig. 33 Schemă electrică pentru conectarea fotorezistențelor

Pentru realizarea sistemului de control în buclă închisă este folosit un regulator PI, acordarea regulatorului este făcută cu metoda experimentală Ziegler Nichols.

Fig. 34 Sistem de control în buclă închisă cu Regulator PI

Sistemul de control în buclă închisă nu este lipsit de perturbații. Pe timpul zilei lumina soarelui poate duce la achiziția unor valori foarte mari dar acest lucru nu afectează procesul de creștere a microalgelor. În cazul în care perturbațiile apar de la lumina unor dispozitive de iluminat ce nu au un spectru luminos care să se încadreze în cerințele procesului de fotosinteză, realizarea procesului de creștere este încetinită.

Fig. 35 Sistem de control în buclă închisă cu Regulator PI, senzor și microcontroler

Acordarea regulatorului folosind metoda Ziegler Nichols

Acordarea regulatorului se face într-o incintă unde nu pătrunde lumina folosind codul de la anexe pentru acordare.Deoarece acesată metodă este una experimentală nu ne așteptăm ca sistemul să fie foarte stabil.

Pentru acest proiect a fost ales un regulator PI iar aflarea valorilor pentru Kp și Ki se va face folosind mediul de dezvoltare Arduino și programul de acordare în mai multe etape.

Prima etapă

Introducem programul pentru acordarea regulatorului în mediul de dezvoltare unde vom seta valorile variabilelor Ki și Kd egale cu zero.

Deoarece Ki și Kd sunt egale cu zero pentru acordare vom folosi doar valoarea Kp pe care o vom crește treptat până sistemul devine instabil;

După ce alegem Kp apoi încărcăm programul pe microcontroler și deschidem din meniul Tools ” Serial Plotter”;

Alegem valoarea lui Kp = 0.1 și se poate vedea în Fig. 36 că sunt prezente oscilații mici iar ieșirea sistemului este sub referință

Fig. 36 Răspunsul sistemului unde Kp = 0.1

Alegem Kp = 0.2 apoi încărcăm programul în microcontroler și deschidem Serial Plotter iar rezultatul se poate vedea în Fig. 37 că sistemul a devenit instabil și sunt prezente oscilații aproximativ constante;

Fig. 37 Răspunsul sistemului unde Kp = 0.2

A doua etapă

A doua etapă cuprinde calcularea lui Tlim care reprezintă durata unei oscilații.

În Fig.37 se poate vedea că sunt 24 de perioade în 5 secunde de unde rezultă că o perioadă durează 0.208 secunde deci valoare lui Tlim este egală cu 0.208 iar valoare lui Klim reprezintă ultima valoare a lui Kp, deci Klim = 0.2 .

Pentru aflarea valorilor finale ale lui Kp și Ki aplicăm formulele din tabelul 1 prezentat în capitolul 1.

(3.5)

(3.6)

Conform relațiilor 3.5 și 3.6 rezultă Kp = 0.09 și Ki = 0.17.

Fig. 38 Răspunsul sistemului unde Kp = 0.09 , Ki = 0.17

După calcularea parametrilor regulatorului se poate vedea în Fig.38 că amplitudinea oscilațiilor s-a redus considerabil iar sistemul a devenit mai stabil.

Dacă apar modificări asupra standului parametri regulatorului se pot ajusta în jurul valorilor sau se face acordarea regulatorului din nou.

Parametri regulatorului se vor implementa în programul final în funcție de modul de funcționare ales .

3.3 Sistemul de control al pH-ului

Controlul pH-ului se face prin introducerea de dioxid de carbon sau de aer în amestec cu dioxid de carbon în cultură prin diferite metode. Pentru introducerea de dioxid de carbon vom folosi un releu care va acționa o electrovalvă conform algoritmului de control.

Standul va permite controlul pH-ului în două moduri:

Control în buclă deschisă

Control în buclă închisă .

Standul este proiectat pentru a permite controlul pH-ului în partea principală în buclă închisă iar în partea secundară va permite controlul în buclă deschisă.

Toate aceste componente se vor conecta conform schemei electrice (Fig.39) în felul următor:

Pentru conectarea modulului aferent senzorului de pH principal se va realiza o conexiune între pinul Po și pinul analogic A8 al microcontrolerului;

Electrovalva principală se va conecta la releul principal care este conectat la pinul digital D40;

Piniul V+ se va conecta la tensiunea de 5V de la microcontroler;

Electrovalva secundară se va conecta la releul secundar care este conectat la pinul digital D42;

Releele se vor alimenta și ele la tensiunea de +5V

În prima fază a proiectului nu se vor conecta pinii pentru citirea temperaturii aceștia având notația To;

Fig. 39 Schemă electrică pentru conectarea sistemului de control al pH-ului

3.3.1 Controlul pH-ului în buclă deschisă

Această metodă nu este recomandată pentru controlul pH-ului deoarece nu putem controla cantitatea necesară de gaz pentru a avea un pH cu o valoare optimă dar este implementată în partea secundară pentru testare.

Referința sistemului va fi de tip milisecunde și va fi introdusă în program înainte de a fi transferat pe microcontroler.

Controlul pH-ului în buclă deschisă în partea secundară se va face folosind una din cele două metode descrise mai jos.

Metoda 1

Prima metodă constă în modificarea programului principal prin intruducerea unui algoritm care actionează electrovalva de exemplu o dată la 4 minute fiind deschisă timp de 70 de secunde, timp în care se vor introduce 5 mililitri de gaz.

Pentru implemetarea acestui program a fost creată o funcție care are 2 parametri aceștia reprezentând durata de timp în care electrovalva este pornită și durata de timp în care aceasta este oprită.

Urmatoarea portiune de cod reprezintă structura funcției pentru controlul pH-ului

în buclă deschisă.

void Reglare_pH_Timp_Princ( unsigned long TimpPornit, unsigned long TimpOprit)

{

unsigned long TimpTotal = TimpPornit + TimpOprit; // timpul total al unui ciclu pornit/oprit

time = millis(); // numară în milisecunde 1 minut = 60000

if (time <= TimpPornit) { // diferența dintre valori este de 70 secunde

analogWrite(releuValvaPrinc, LOW); //se cuplaeză releul

lcd.setCursor(0, 1);

lcd.print("CO2- ON ");

}

else if (time >= TimpPornit && time <= TimpOprit + TimpPornit)

{

analogWrite(releuValvaPrinc, HIGH); // se decupleza releul

lcd.setCursor(0, 1);

lcd.print("CO2- OFF ");

}

else

{

setMillis(new_value);// se reseteaza timpul si reincepe ciclul

lcd.setCursor(0, 1);

lcd.print("CO2- OFF ");

analogWrite(releuValvaPrinc, HIGH);

}

}

La apelarea funcției duratele de timp ce sunt introduse ca parametri se vor transforma în milisecunde, un exemplu de apelare este următorul:

”Reglare_pH_Timp_Princ(40000,180000)”

• Valoarea 40000 reprezinta 40 de secunde în care electrovalva va fi deschisă și va fi introdus dioxidul de carbon în cultură;

• Valoare 180000 reprezintă 180 de secunde perioadă în care electrovalva va fi închisă deci nu va mai fi introdus dioxid de carbon;

Trebuie ținut cont că cantitatea de gaz introdusă poate varia din diverse motive cum ar fi: regulatorul de la butelie nu este reglat bine sau butelia de gaz este aproape goală sau plină.

Metoda 2

A doua metodă constă în deschiderea electrovalvei la începutul programului și va rămane deschisa pe toată durata funcționării.

Cantitatea de gaz introdusă se poate modifica direct din regulatorul conectat la butelia de gaz pentru reducerea presiunii.

3.3.2 Controlul pH-ului în buclă închisă

Pentru controlul pH-ului în buclă închisă se folosește un regulator neliniar mai exact un regulator bipozițional pentru că introducerea gazului în fotobioreactor se face acționând un releu care deschide o electrovalvă iar aceasta are două stări, deschis sau închis .

Referința sistemului reprezintă valoarea optimă a pH-ului ce este cuprinsă între două valori, o valoare minimă și una maximă. Comanda ”u” la ieșirea din regulator are două stări ”0” și ”1” adică deschis și închis.

Sistemul de control al pH-ului va funcționa în felul următor:

Dacă valoarea pH-ului crește peste valoarea maximă regulatorul bipozițional trece în starea “0” și comandă cuplarea releului la care este conectată electrovalva iar introducerea de gaz va fi pornită .

Dacă valoarea pH-ului scade sub valoarea minimă regulatorul bipozițional trece în starea “1” și comandă decuplarea releului la care este conectată electrovalva iar introducerea de gaz va fi oprită .

Fig. 40 Sistem de control în buclă închisă cu regulator bipozițional

Cele două valori care vor reprezenta pragul de maxim și minim al regulatorului și vor fi setate în programul arduino în funcție de specia de microalge cultivată sau în funcție de necesitatea testării.

Capitolul 4. Asamblarea și Punerea în Funcțiune

Pentru realizarea fizică a standului s-a proiectat și realizat prin printare 3d o carcasă cu dimensiunile 250x250x82 mm. Aceasta este formată din două părți, prima parte reprezentând suportul pentru ventilatoare și componentele pentru control iar partea a doua reprezintă suportul pentru butoane, potențiometre și ecranul de afișaj.

Carcasa este realizată cu fante pentru disiparea căldurii și a fluxului de aer generat de ventilatoare. Aceasta are orificii cu diferite dimensiuni pentru conectarea din exterior a diferitelor componente inclusiv alimentarea.

Modelul carcasei se poate vedea în Fig.41

Fig. 41 Reprezentare 3d a carcasei

4.1 Asamblarea

Deoarece locul în carcasă este limitat integrarea componentelor într-o structură unitară se va face în mai mulți pași, acest lucru ne permite efectuarea unor reglaje specifice componentelor fără a mai interveni după montaj.

4.1.1 Pasul 1

Unele componente electrice se vor monta sub ventilatoare pentru a avea parte de o răcire bună fără a se mai folosi radiatoare pentru disiparea temperaturii. Aceste componente se vor monta conform schemei (Fig. 42).

Prima dată se vor monta:

modulele IRF520;

modulul pentru coborârea tensiunii;

microcontrolerul Arduino mega;

modulul pentru senzorul de pH;

modulul cu relee;

se vor conecta la electrovalve cuple rapide pentru conectarea la rețeaua de gaz și apoi se vor atașa pe carcasă;

butonul de pornire care se va monta în spatele carcasei;

conectorul pentru alimentarea cu tensiune și cei pentru conectarea fotorezistențelor conform schemei (Fig. 43) .

După conectarea acestor componente se vor face conexiunile între module și microcontroler conform schemelor electrice specifice fiecărui sistem.

Fig. 42 Schemă de montare a componentelor faza 1

Fig. 43 Pozița conectorilor și a butonului de pornire/oprire

4.1.2 Pasul 2

Pasul 2 cuprinde montarea componentei care are rol de suport pentru led pe ventilatoare, lipirea firelor pentru alimentarea ledurilor și montarea ventilatoarelor în carcasă conform schemei (Fig. 44) .

Montarea componentelor se va face în felul urmator:

se introduc două fire prin canalele suportului

se lipesc firelor pentru alimentarea ledului apoi acesta este introdus în suport;

se montează suportul pe ventilator și se prinde cu două șuruburi;

se conectează rezistența ledului la modulul IRF520

se conecteză firele ledului la modulul IRF520

se pune fiecare ventilator pe poziția corespunzătoare dimensiunii și se vor fixa cu 4 șuruburi;

se conectează ventilatoarele la microcontroler și la relee conform schemei electrice;

Fig. 44 Schemă de montare cu poziția ventilatoarelor și a ledurilor

4.1.3 Pasul 3

Pasul 3 cuprinde montarea potențiometrelor, butoanelor și a ecranului de afișare pe suport conform schemei (Fig. 45) și montarea acestuia la carcasă.

Montare acestora se va face în felul următor:

se lipesc cu aparatul de lipit 3 fire de culori diferite la potențiometre iar pinul pentru masă se va lipi la pinul de masă de la următorul potențiometru, această operație se va efectua și pentru pinul de +5V al potențiometrelor iar la finalul operațiunii vom avea un singur fir pentru masă și un singur fir pentru +5V;

se introduc butoanele în orificiile de 16mm și se fixeză cu piulița specifică butonului;

se introduce conectorul specific ledului și se va efectua conexiunea între firele de masă pentru a rezulta un singur fir;

se introduc potențiometrele în orificiile de 3 mm apoi se atașează fiecărui potențiometru câte un capac;

se introduce ecranul de afișare și se va fixa ;

se conectează firele conform schemelor electrice iar firele pentru ledurile de stare ale butoanelor se conectază la tensiunea de 9(V) de la iesirea modulului de coborâre a tensiunii;

Schemele electrice pentru conectarea butoanelor și a ecranului de afișaj se gasec la anexe.

Fig. 45 Suport comandă

După montarea componentelor și efectuarea conexiunilor se va monta suportul pe carcasă și fixarea acestuia se va face folosind 4 șuruburi M6 imbus.

În locul rămas liber se va monta un capac transparent din plexiglas sau acrylic cu dimensiunea de 166×245 mm și o grosime de maxim 5mm.

După efectuare primilor 3 pași standul ar trebui să fie aproximativ identic cu cel din Fig. 46 sau Fig.47 prima versiune a standului.

Fig. 46 Reprezentare 3d a standului final

Fig. 47 Prima versiune a standului

4.2 Programare și testarea standului

Acest subcapitol cuprinde programarea controlerului și testarea funcționalităților.

Programarea microntrolerului se face folosind unul din programele care se gasesc la anexe în funcție de necesitate în felul următor:

în timpul programări standul;

se conectează cablul usb la microcontroler apoi la calculator;

se deschide mediul de programaree Arduino;

se deschide fișierul care conține programul dorit;

se selecteaza din meniul Tools Arduino mega (Fig.48)

Fig. 48 Selectarea mirocontrolerului

se selectează portul din meniul Tools (Fig. 49) ;

Fig. 49 Selectarea portului

se încarcă programul pe microcontroler cu tastele Ctrl+U sau accesând meniul Sketch Upload (Fig. 50) ;

Fig. 50 Încarcarea programului

se deconectează cablul usb și se alimentează standul cu tensiune;

După alimentarea standului cu tensiune și pornirea acestuia pe ecranul de afișare o sa avem mesajul oprit pentru partea principală și oprit pentru partea secundară(Fig. 51).

Fig. 51 Afișare mesaj când nu este selectat nici un mod de control

4.2.1 Testarea

Prima testare a standului cuprinde testarea sistemului de iluminare și agitare care se va face pe modul manual în felul următor:

se pornește standul de la butonul

se apasă butonul Manual 1 și se modifică intensitatea și numărul de rotații ale ventilatorului din potențiometrele Led1 și Agitare1

se va repeta pasul precedent pentru Manual 2 cu Led2 și Agitare2

În Fig. 52 se poate vedea selectarea modului de control Manual1 și Manual2 iar pe ecranul de afișare se poate vedea: modul de control selectat , intensitatea lumini și starea electrovalvei.

Fig. 52 Afișare mesaj când nu este selectat nici un mod de control

A doua testare cuprinde testarea sistemului de iluminare și agitare pe modul automat și se va face conectând fotorezistențele la stand și apăsând butoanele Automat 1 pentru partea principală și Automat 2 pentru partea secundară (Fig. 53).

Fig . 53 Testarea standului pe modul automat

Dacă se face testarea cu o singură fotorezistență se va testa prima data partea principală apoi partea secundară.

Ultima testare reprezintă testarea cu un recipient Erlenmeyer în care se va introduce o cultură de microalge și se vor respecta urmatoarele instrucțiuni.

În vas se va introduce un furtun cu dimensiuni reduse ce are un diametru de 2-3 mm care se va conecta la electrovalvă la conectorul de ieșire;

Se conectează standul la coloana de gaz;

Se introduce senzorul de pH în vas;

Se apasă butonul Automat 1 și se urmărește valoare pH-ului și celelelte funcționalități pe ecranul de afisaj;

Standul este conceput în așa fel încât sa nu permită utilizarea a două moduri de control din aceeași parte a standului, de exemplu dacă se apasă butonul Manual1 și Automat1 din partea principală a standului pe ecranul de afișare apare urmatorul mesaj (Manual sau Automat), acest mesaj ne atenționează că putem selecta un singur mod de control. Același mesaj este afișat și în partea secundară daca sunt apăsate ambele butoane.

În Fig. 54 se poate vedea mesajul care apare daca sunt selectate ambele moduri de control.

Fig. 54 Mesaj de eroare apărut la selectare modului de control

Concluzii

Scopul acestui proiect a fost găsirea unei soluții potrivite pentru a putea avea un inocul viabil intr-o perioadă de timp relativ scurtă.

Versiunea inițială a standului a constat doar în partea principală dar a fost ales să se realizeze standul prezentat deoarece se pot crește două culturi diferite sau de același fel cu programe diferite de control.

Construcția standului îi permite o funcționare de lungă durată deorece componentele electrice nu se încălzesc.

S-a constatat că folosirea unui regulator bipozițional pentru controlul pH-ului este cea mai bună alegere pentru acest stand deoarece elementul de execuție este un releu iar durata de viață a acestuia este limitată. Dacă se încearcă alt tip de control cum ar fi un regulator PID releul va oscila foarte rapid între deschis și închis ceea ce duce la distrugerea sa.

Datorită agitări magnetice poate fi folosit la agitarea diferitelor substanțe.

Folosirea microcontrolerului Arduino Mega a fost necesară datorită numarului foarte mari de pini digitali dar si analogici ai acestuia. Acest lucru va permite dezvoltarea pe viitor a standului prin:

Implementarea și testarea de noi funcționalități care sunt necesare în laborator;

Conectarea unei pompe pentru recircularea biomasei dacă agitarea experimentală nu funcționează bine sau dacă dorim să creștem o cantitate mai mare de microalge;

Implementarea unui regulator PID pentru controlul pH-ului;

S-a constatat ca magneții trebuiesc lipiți cu un adeziv foarte puternic deoarece aceștia vor fi supuși unor forțe centrifuge datorită rotațiilor.

Bibliografie

[1] Cristina Gonzales-Fernandez, Raul Munoz, ”Microalgae-Based Biofuels and Bioproducts: From Feedstock Cultivation to End-Products”, Editura Elsevier ,2017, ISBN 9780081010273

[2] Faizal Bux, Yusuf Chisti, ” Algae Biotechnology Product and Proces ”, Editura Springer Switzerland, 2016 , ISSN 1865-3529;

[3] Florin M., Elemente de comandă și control pentruacționări și sisteme de reglare automată, Editura Economică Preuniversitară, București , 2002

[4] George Adrian Ifrim, ” Sisteme informatice în conducerea avansată a proceselor biotehnologice -lucrări practice ” Editura Fundației Universitare ”Dunărea de Jos”- Galați ,2018, ISBN 978-973-627-607-1

[5] Gaurav Verma, Matt Weber, ”Inventor 2018 Black Book ”publicat de Cadcamcae Works, USA, 2017, ISBN 9781988722139

[6] Gaurav Verma, Matt Weber, ”Inventor 2018 Black Book ”publicat de Cadcamcae Works, USA, 2017, ISBN 9781988722139

[7] Ioan Dumitrache, ”Ingineria Reglării Automate”, Editura Politehnica Press București, 2005

[8] Julien Bayle, ”C Programming for Arduino”, Editura Packt Publishing UK, 2013

ISBN 978-1-84951-758-4;

[9] Locul și rolul regulatorului automat în sistemul de reglare automată- Note de curs – Universitatea “Titu Maiorescu” din București Facultatea de Informatică

[10] Steve Tudor, ”Arduino Programming: The Practical Beginner's Guide To Learn Arduino Programming In One Day Step-By-Step”, Editura Independently Published, 2020;

[11] Sergiu Dobrojan, Victor Șalaru, Vasile Șalaru, Victor Melnic, Galina Dobrojan, ”Cultivarea Algelor ”, Editura Centrul Editorial-Poligrafic al USM Chișinău, 2009 , ISBN 978-9975-71-736-6

[12] Mânzu Viorel , ”Bazele sistemelor automate”, Editura Didactică si Pedagogică București,2002

[12] https://www.arduino.cc/en/tutorial/analogreadserial, 25-06-2020.

[13] https://ro.wikipedia.org/wiki/spectru_vizibil, 8-07-2020

[14] https://www.scribd.com/document/94697877/tipuri-de-alge 15-07-2020

[15] https://en.wikipedia.org/wiki/Potentiometer_(measuring_instrument)

[16] https://www.scribd.com/doc/43377004/Sisteme-de-Reglare-Automata

[17] https://www.fastcompany.com/1736521/ why-monsanto-backing-algae-fuel-startup, – 01-07-2020

[18]Availability and Utilization of Pigments from Microalgae. https://www.researchgate.net/publication/273953725_Availability_and_Utilization_of_Pigments_from_Microalgae ; 18 – 07 – 2020

[19] https://en.wikipedia.org/wiki/PH_meter, 6-03-2020

Anexa 1

Program Arduino pentru calibrarea senzorului de pH

#include "ph_grav.h"

Gravity_pH pH = Gravity_pH(A0);

uint8_t user_bytes_received = 0;

const uint8_t bufferlen = 32;

char user_data[bufferlen];

void parse_cmd(char* string) {

strupr(string);

if (strcmp(string, "CAL,7") == 0) {

pH.cal_mid();

Serial.println("Calibrare Cu Valoare Medie");

}

else if (strcmp(string, "CAL,4") == 0) {

pH.cal_low();

Serial.println("Calibrare Cu Valoare Mica");

}

else if (strcmp(string, "CAL,10") == 0) {

pH.cal_high();

Serial.println("Calibrare Cu Valoare Mare");

}

else if (strcmp(string, "CAL,CLEAR") == 0) {

pH.cal_clear();

Serial.println("Calibrarea A Fost Stearsa");

}

}

void setup() {

Serial.begin(9600);

delay(200);

Serial.println(F("Foloseste comanda \"CAL,7\", \"CAL,4\", and \"CAL,10\" Pentru calibrarea circuitului și a senzorului"));

Serial.println(F("Folosește comanda \"CAL,CLEAR\" pentru a sterge calibrarea"));

if (pH.begin()) {

Serial.println("Loaded EEPROM");

}

}

void loop() {

if (Serial.available() > 0) {

user_bytes_received = Serial.readBytesUntil(13, user_data, sizeof(user_data));

}

if (user_bytes_received) {

parse_cmd(user_data);

user_bytes_received = 0;

memset(user_data, 0, sizeof(user_data));

}

Serial.println(pH.read_ph());

delay(1000);

}

Anexa 2

Program principal

#include <FanController.h> //librarie pentru ventilatoare

#include <Wire.h>

#include <LiquidCrystal_I2C.h>// librarie pentru ecran

#include <PID_v1.h> // librarie pentru regulatorul pid

#include "ph_grav.h" //librarie pentru ph // toate se gasesc in managerul de librarii

//tipul de display

LiquidCrystal_I2C lcd(0x27, 20, 4);

//variabile pentru resetare timp la pH

unsigned long time;

extern volatile unsigned long timer0_millis;

unsigned long new_value = 0;

//Variabile PID

double Setpoint, Input, Output;

double Kp = 0.09, Ki = 0.17, Kd = 0;

PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);

//declararea pinilor

#define SENSOR_PIN1 22 // pin pentru citire rotatii ventPrincipal

#define SENSOR_PIN2 24 // pin pnetru citire rotatii ventSecundar

#define Vent_Princ 5

#define Vent_Sec 6

#define releuValvaPrinc 30

#define releuValvaSec 32

#define releuVentPrinc 34

#define releuVentSec 36

#define SENSOR_THRESHOLD 800 /// variabila pentru pt citire rotatii mai mic mai bun citiri dese

//leduri plante

#define LED_1 7

#define LED_2 8

//!!!!

//!!!!!!!!! Atentie la final se afla functia pentru citirea si pornire electrovalvei

//variabile pH minim si maxim

Gravity_pH pH1 = Gravity_pH(A8); //pinul Analogic A8

double pH_Optim = 7;// aici se trece valoarea dorita a pH-ului

double pH_min = 6.50; // pragul minim de pH

double pH_max = 7.30;// pragul maxim de pH

// declarare potentiometre

int potLed_1 = A0; // potentiometru led 1 partea principala programul manual

int potVentPrinc = A1; // potentiometru crestere viteza ventilator 1 partea principala

int potLed_2 = A2; // potentiometru led 2 partea secundara programul manual

int potVentSec = A3; //potentiometru crestere viteza ventilator 2 partea secundara

int FotorezPrinc = A5;//fotorezistenta pentri regulatorul PID partea principala

//int FotorezSec = A6;// daca se implementeaza in partea secundara reulator pid se foloseste pinulA6

//Butoane pentru programe

const int btnManual_1 = 33;

const int btnAutomat_1 = 31;

const int btnManual_2 = 35;

const int btnAutomat_2 = 37;

const int prgSolar = 39;

// variables de stare:

int stare_btnManual_1 = 0;

int stare_btnAutomat_1 = 0;

int stare_btnManual_2 = 0;

int stare_btnAutomat_2 = 0;

int stare_btnPrgSolar = 0;

// variabile pentru salvaea valorilor citite de

//la potentiometre sau pentru valori puse direct din program

int intensLed_1;

int rotVentPrinc;

int intensLed_2;

int rotVentSec;

//apelare functii pentru ventilatoare

FanController ventPrinc(SENSOR_PIN1, SENSOR_THRESHOLD, Vent_Princ);

FanController ventSec(SENSOR_PIN2, SENSOR_THRESHOLD, Vent_Sec);

void setup()

{

lcd.clear(); // golore ecran afisare

lcd.init(); //initializare ecran afisare

lcd.backlight();

lcd.begin(20, 4); // tipul ecranului

reglare_pH();// initializare functie pH

Serial.begin(9600);

// initializare led pentru iesire

pinMode(LED_1, OUTPUT);

pinMode(LED_1, OUTPUT);

// pentru rotatii si intensitate

pinMode(LED_1, OUTPUT); //ledul 1 intensitate

pinMode(LED_2, OUTPUT); //setare pin pe input

pinMode(releuVentPrinc, OUTPUT);

pinMode(releuVentSec, OUTPUT);

ventPrinc.begin();

ventSec.begin();

//Start a serial connection to send data by serial connection

Serial.begin(9600);

//Set point : Here is the brightness target

Setpoint = 60;

//Turn the PID on

myPID.SetMode(AUTOMATIC);

//Adjust PID values

myPID.SetTunings(Kp, Ki, Kd);

}

void(* resetFunc) (void) = 0;

void loop()

{

lcd.clear();

stare_btnManual_1 = digitalRead(btnManual_1);

stare_btnAutomat_1 = digitalRead(btnAutomat_1);

stare_btnManual_2 = digitalRead(btnManual_2);

stare_btnAutomat_2 = digitalRead(btnAutomat_2);

stare_btnPrgSolar = digitalRead(prgSolar);

digitalWrite(releuVentPrinc, HIGH);

//partea principala

//manual

if (stare_btnManual_1 == HIGH && stare_btnAutomat_1 == LOW)

{

digitalWrite(releuVentPrinc, LOW);

intensLed_1 = map(analogRead(potLed_1), 0, 1023, 0, 220);//pentru caacitatea ledului la maxim scriem 255

analogWrite(LED_1, intensLed_1);

/*

if(pH_min < 7 ){

digitalWrite(releuVentPrinc,HIGH);

}

else

{

digitalWrite(releuVentPrinc,HIGH);

}

*/

rotVentPrinc = map(analogRead(potVentPrinc), 0, 1023, 0, 50);

byte target = max(min(rotVentPrinc, 50), 0);

ventPrinc.setDutyCycle(target);

byte dutyCycle = ventPrinc.getDutyCycle();

//Serial.println(rotVentPrinc);

int afisareIntensitatePrin = map(intensLed_1,0, 220, 0, 100);// se mapeaza valorile citite de la pot in 100 de valori

lcd.setCursor(0, 0);

lcd.print("M-intensL-");

lcd.print(afisareIntensitatePrin);

lcd.print("% ");

lcd.setCursor(13, 0);

lcd.print("Agit-");

lcd.print(rotVentPrinc);

//Apelare functie control ph dupa timp

//Reglare_pH_Timp_Princ(4000, 6000);

}

//partea principala automat

else if (stare_btnAutomat_1 == HIGH && stare_btnManual_1 == LOW)

{

digitalWrite(releuVentPrinc, LOW);

//reg PID

//Read the value from the light sensor. Analog input : 0 to 1024. We map is to a value from 0 to 255 as it's used for our PWM function.

Input = map(analogRead(FotorezPrinc), 0, 1024, 0, 255);

//PID calculation

myPID.Compute();

//Write the output as calculated by the PID function

intensLed_1 = Input;

analogWrite(LED_1, Output);

//Send data by serial for plotting

//Serial.print(Input);

//Serial.print(" ");

//Serial.println(Output);

//reg PID

rotVentPrinc = 30;

byte target = max(min(rotVentPrinc, 50), 0);

ventPrinc.setDutyCycle(target);

// Serial.println(rotVentPrinc);

//Serial.println(intensLed_1);

int afisareIntensitatePrincAut = map(intensLed_1,0, 255, 0, 100);// mapare pentru 100 de valori folosite la afisare

lcd.setCursor(0, 0);

lcd.print("Aut-intesL-");

lcd.print(afisareIntensitatePrincAut);

lcd.print("% ");

//lcd.setCursor(0, 1);

// lcd.print("pH-");

//lcd.print(""); // variabila ph

reglare_pH();

}

else if (stare_btnManual_1 == HIGH && stare_btnAutomat_1 == HIGH)

{

//Serial.println("Alegeti doar un singur program");

analogWrite(LED_1, 0);

digitalWrite(releuVentPrinc, HIGH);

lcd.setCursor(0, 0);

lcd.print(" Manual sau Automat ");

lcd.setCursor(0, 1);

lcd.print(" ");

}

else

{

analogWrite(LED_1, 0);

//Serial.println("Partea principala este oprita");

//byte target = max(min(0, 0), 0);

//ventPrinc.setDutyCycle(target);

digitalWrite(releuVentPrinc, HIGH);

lcd.clear();

lcd.setCursor(0, 0);

lcd.print(" Oprit ");

}

//partea secundara

//manual

if (stare_btnManual_2 == HIGH && stare_btnAutomat_2 == LOW)

{

digitalWrite(releuVentSec, HIGH);

intensLed_2 = map(analogRead(potLed_2), 0, 1023, 0, 220);

analogWrite(LED_2, intensLed_2);

rotVentSec = map(analogRead(potVentSec), 0, 1023, 0, 30);

byte target = max(min(rotVentSec, 40), 0);

// Set fan duty cycle

ventSec.setDutyCycle(target);

// Serial.println(rotVentSec);

//Serial.println(intensLed_2);

int afisareIntensitateSec = map(intensLed_2,0, 220, 0, 100);// se mapeaza valorile citite de la pot in 100 de valori

lcd.setCursor(0, 2);

lcd.print("M-intensL-");

lcd.print(afisareIntensitateSec );

lcd.print("% ");

//

//Reglare_pH_Timp_Secund(10000,15200); se fa folosi doar daca se renunta la cel din partea principala

//

}

/// Automat

else if (stare_btnAutomat_2 == HIGH && stare_btnManual_2 == LOW)

{

digitalWrite(releuVentSec, HIGH);

intensLed_2 = 50;// reprezinta 50% din putere maxim 240;

rotVentSec = 20;

byte target = max(min(rotVentSec, 40), 0);

ventSec.setDutyCycle(target);

//Serial.println(rotVentSec);

//Serial.println(intensLed_2);

int afisareIntensitateSecAut = map(intensLed_2,0, 240, 0, 100);// mapare pentru 100 de valori folosite la afisare

lcd.setCursor(0, 2);

lcd.print("A-intesL-");

lcd.print(afisareIntensitateSecAut);

lcd.print("% ");

lcd.setCursor(0, 3);

lcd.print("CO2-OFF ");

lcd.print(""); // variabila ph

}

else if (stare_btnManual_2 == HIGH && stare_btnAutomat_2 == HIGH)

{

//Serial.println("Alegeti doar un singur program");

analogWrite(LED_2, 0);

digitalWrite(releuVentSec, LOW);

lcd.setCursor(0, 2);

lcd.print(" Manual sau Automat ");

lcd.setCursor(0, 3);

lcd.print(" ");

}

else

{

analogWrite(LED_2, 0);

Serial.println("Partea principala este oprita");

byte target = max(min(0, 0), 0);

ventSec.setDutyCycle(target);

digitalWrite(releuVentSec, LOW);

lcd.setCursor(0, 2);

lcd.print(" Oprit");

}

delay(300);

}

//!!!!!

//!!!!

// functie pentru returnarea ph-ului si pornirea electrovalvei + afisare pe ecran

void reglare_pH()

{

pH1.begin() ;

double valoare_pH = pH1.read_ph();

lcd.setCursor(0, 1);

lcd.print("pH- ");

lcd.print(valoare_pH);

if(valoare_pH > pH_Optim)

{

digitalWrite(releuValvaPrinc, LOW); // se cupleaza releul

lcd.setCursor(8, 1);

lcd.print(" CO2- ON ");

}

else

{

digitalWrite(releuValvaPrinc,HIGH); // se decupleza releul

lcd.setCursor(8, 1);

lcd.print(" CO2- OFF ");

}

}

//

//

//functie resetare contor time

void setMillis(unsigned long new_millis) {

uint8_t oldSREG = SREG;

cli();

timer0_millis = new_millis;

SREG = oldSREG;

}

//Functie pentru ph cu temporizare

//se vor face doua functii unde singura duferenta este setarea cursorului pentru display

//prima functie va fi Reglare_pH_Timp_Princ pentru partea principala

//a doua va fi Reglare_pH_Timp_Secund pentre partea secundara

///

//

//Se va folosi doar o functie deoarece arduino mega are un singur oscilator si

//nu se pot implementa doua numaratori

void Reglare_pH_Timp_Princ( unsigned long TimpPornit, unsigned long TimpOprit)

{

unsigned long TimpTotal = TimpPornit + TimpOprit; // timpul total al unui ciclu pornit/oprit

time = millis(); // numară în milisecunde 1 minut = 60000

if (time <= TimpPornit) { // diferența dintre valori este de 70 secunde

digitalWrite(releuValvaPrinc, LOW); //se cuplaeză releul

lcd.setCursor(0, 1);

lcd.print("CO2- ON ");

}

else if (time >= TimpPornit && time <= TimpOprit + TimpPornit) //dacă sau depășit cele 70 de secunde

{

digitalWrite(releuValvaPrinc, HIGH); // se decupleza releul

lcd.setCursor(0, 1);

lcd.print("CO2- OFF ");

}

else

{

setMillis(new_value);// se reseteaza timpul si reincepe ciclul

lcd.setCursor(0, 1);

lcd.print("CO2- OFF ");

digitalWrite(releuValvaPrinc, HIGH);

}

}

//

//!!!!!! ATENTIE

// se va folosi doar

//a doua functie de reglarea a pH ului pentru partea secundara

void Reglare_pH_Timp_Secund( unsigned long TimpPornit, unsigned long TimpOprit)

{

unsigned long TimpTotal = TimpPornit + TimpOprit; // timpul total al unui ciclu pornit/oprit

time = millis(); // numară în milisecunde 1 minut = 60000

if (time <= TimpPornit) { // diferența dintre valori este de 70 secunde

digitalWrite(releuValvaPrinc, LOW); //se cuplaeză releul

lcd.setCursor(0, 3);

lcd.print("CO2-ON ");

}

else if (time >= TimpPornit && time <= TimpOprit + TimpPornit) //dacă sau depășit cele 70 de secunde

{

digitalWrite(releuValvaPrinc, HIGH); // se decupleza releul

lcd.setCursor(0, 3);

lcd.print("CO2-OFF ");

}

else

{

setMillis(new_value);// se reseteaza timpul si reincepe ciclul

lcd.setCursor(0, 3);

lcd.print("CO2-OFF ");

digitalWrite(releuValvaPrinc, HIGH);

}

}

Anexa 3

Cod arduino pentru acordarea regulatorului PI sau PID

#include <PID_v1.h>

//Variables

double Setpoint, Input, Output;

//PID parameters

double Kp=0.09, Ki=0.17, Kd=0;

//Start PID instance

PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);

void setup()

{

//Start a serial connection to send data by serial connection

Serial.begin(9600);

//Set point : Here is the brightness target

Setpoint = 60;

//Turn the PID on

myPID.SetMode(AUTOMATIC);

//Adjust PID values

myPID.SetTunings(Kp, Ki, Kd);

}

void loop()

{

Setpoint = 60;

//Read the value from the light sensor. Analog input : 0 to 1024. We map is to a value from 0 to 255 as it's used for our PWM function.

Input = map(analogRead(0), 0, 1024, 0, 255);

//PID calculation

myPID.Compute();

//Write the output as calculated by the PID function

analogWrite(10,Output);

//Send data by serial for plotting

Serial.print(Input);

Serial.print(",");

Serial.print(Output);

Serial.print(",");

Serial.println(Setpoint);

delay(50);

}

Anexa 4

Schemă electrică de conectare a butoanelor

Anexa 5

Schemă electrică de conectare a ecranului de afișare

Anexa 6

Schemă electrică de conectare a potențiometrelor

Similar Posts