Contextul proiectului [307411]
CUPRINS
INTRODUCERE
Contextul proiectului
Sistemul care face subiectul acestui proiect servește la monitorizarea calității apei care intră în analizoarele de biochimie și prevenirea posibilului eveniment de funcționare eronată a acestora. [anonimizat]-o baie de incubare cu apă la 37°C, iar citirea analizei se face prin această apă. Această apă trece prin filtre (numite Rășini) și intră în analizoare. [anonimizat]. [anonimizat]. Toți parametri se pot vizualiza pe calculator și daca aceștia intră în limitele admise.
Calitatea apei se determină în funcție de caracteristicile organoleptice (miros, gust), fizice, chimice, biologice și bacteriologice.
Conform legii nr. 458 din 8 Iulie 2002 parametrii de monitorizare a apei potabile sunt:
Domeniul temei lucrării de diplomă
Lucrarea de diplomă „Proiectarea și realizarea unui sistem de monitorizare a calității apei” se referă la măsurarea apei care intră în bazinul unde se regăsesc cuvele analizoarelor de biochimie. Acest sistem se va monta pe conducta principală de unde este extras un eșantion cu ajutorul unei pompe electrice. [anonimizat] a determina dacă apa intră în toleranțele impuse sau nu.
[anonimizat], se va face cu ajutorul unui calculator. Pe acest calculator se va regăsi interfața sistemului de monitorizare a [anonimizat].
[anonimizat] 64 de bytes.
[anonimizat]-ul să poată citi valorile acestora.
[anonimizat] a [anonimizat] o treabă excelentă pentru purificarea apei. [anonimizat]. [anonimizat], [anonimizat].
[anonimizat], nu există un astfel de sistem. Există sisteme de filtrare a apei dar nu și monitorizarea acesteia.
Din acest motiv s-a determinat că un astfel de sistem ar fi necesar pentru a [anonimizat] a preveni ca apa cu calitate scăzută să intre în aparatele medicale.
STADIUL ACTUAL AL CERCETĂRILOR ȘI REALIZĂRILOR PRIVIND SISTEMELE DE MONITORIZARE A CALITĂȚII APEI
Analiza critică a soluțiilor existente și justificarea soluției preconizate
Un sistem de monitorizare al parametrilor apei reprezintă un sistem care să aibă în vedere un scop (ce parametri trebuie monitorizați), să aibă destule elemente senzoriale pentru determinarea parametrilor necesari, un sistem hidraulic pentru manipularea eșantioanelor de apă, și afișarea parametrilor măsurați, fie printr-un ecran, fie prin LED-uri de stare (dacă parametrul corespunde unei valori setate), fie imprimare.
Sistemul IQ Sensor Net
Este un controlor digital modular, flexibil, care poate monitoriza până la 20 de parametri diferiți (pot fi conectați până la 20 de senzori). Interfața digitală permite distanțe mari între senzori și sistemul de măsurare, transmiterea semnalului imună la interferențe și calibrarea automată prin transmiterea semnalului de calibrare prin bluetooth din laborator. Fiecare stație de monitorizare ape completă poate fi ajustată conform cerințelor și nevoilor specifice situației și aplicației. [1]
Este echipată cu numeroase facilități ce creează condiții optime de prelevare, analiză și monitorizare:
• Modul controlor: System Controller
• Module de analiza:
1) Modul NH4-Module (Ammonium-Nitrogen)
2) Modul NO3-Module (Nitrate-Nitrogen)
3) Modul NO3/SAC-Module (Nitrate-Nitrogen și SAC)
4) Modul NO2-Module (Nitrite-Nitrogen)
5) Modul PO4-Module (Orthophosphate)
6) Modul P-Module (Total Phosphorus)
• Sistem de montare
• Unitate de alimentare
Fig.2.1. Sistem IQ Sensor Net [1]
HORIBA Seria U
Toate tipurile de sisteme de monitorizare a calității apei, seria U – produse de HORIBA GmbH sunt aparate foarte performante, care se caracterizează prin: Funcție de calibrare automată, care permite calibrarea instrumentului pentru toți parametrii pentru care este setat doar cu ajutorul unui buton; Memorie internă, care permite stocarea datelor obținute pentru maxim 20 de probe, care pot fi readuse ulterior din memorie și eventual tipărite; Corecție automată de salinitate; Opțional rezultatele pot fi afișate cu un digit suplimentar; Senzor submersibil, rezistent la presiuni diferite, în funcție de model; Instrumentul se oprește automat, după 30 de minute de nefuncționare.[2]
Familia de sisteme de monitorizare a calității apei, seria U, este formată din următoarele modele: 10, 20XD, 22XD, care diferă prin numărul de parametri analizați:
Tabel 2.1 Specificații HORIBA seria U [2]
HANNA HI 991405
Instrumentele HANNA® HI 991404 și HI 991405 din seria Combo au fost proiectate pentru măsurarea continuă, cu mare acuratețe a valorilor de pH, EC/TDS și temperatură. Aceste aparate cu microprocesor monitorizează continuu trei dintre cei mai importanți parametrii ai nutrienților folosiți în hidroponică, sere și aplicații horticole. Aparatele sunt dotate cu display LCD de mari dimensiuni, cu două nivele și iluminare, pentru a permite utilizatorilor citirea simultană a valorilor de pH, EC sau TDS și temperatură, chiar și de la distanță. La pornire, instrumentele efectuează un test de auto-diagnosticare pentru a asigura condiții optime de lucru. Pentru obținerea unor rezultate cât mai exacte, HI 991404 și HI 991405 sunt dotate cu indicator de stabilitate a citirilor și funcție HOLD pentru menținerea citirilor pe display în vederea notării acestora cu ușurință. Calibrarea și compensarea termică sunt automate, iar factorul de conversie EC/TDS și coeficientul de temperatură (ß) sunt ajustabile de către utilizator în funcție de măsurătorile specifice fiecărei aplicații. [3]
Fig.2.2. HANNA HI 991405 [3]
După cum se observă în fig.2.2 acest sistem este compact, ușor de utilizat, dar nu are monitorizarea turbidității, nu are comunicație PC și nu memorează datele măsurate decât până la stingerea aparatului.
Hydrolab DS
Pentru flexibilitate si capabilitate maximă, multi-sonda DS oferă 17 senzori incorporați pentru monitorizarea apei. Acest dispozitiv datorită celor 6 porturi de extensie, acesta poate măsura 15 parametri de calitate a apei simultan. Decalibrarea sondelor datorită inactivității pe termen lung se poate preveni cu încă un modul de acumulatori, care ține activ memoria sondelor cu valorile calibratoare. Aceasta multi-sonda poate înregistra până la 120,000 de citiri în memoria sa internă. Acest sistem mai conține și funcția de curățare automată pentru a lungii durata de viața al dispozitivului. [4]
Fig. 2.3 Hydrolab DS[4]
Senzori de măsurarea parametrilor de calitatea a apei sunt:
LDO (luminescent dissolved oxygen)
Temperatură
Oxigen disolvat
Conductivitate
pH
Nivel
Turbiditate: Auto-curățare
Turbiditate: 4-raze
ORP (Oxygen Redox Potential)
Clorofilă
Alge verzi-albastre
Gazul total dizolvat
Electrozi pentru ioni (Amoniu, Nitrat, Clor)
PAR (senzor de radiație solara6)
Pentair MP47
Pentair MP47 este un senzor multiparametru cu care oferă măsurări în gama largă privind aplicații de monitorizare de apă, acesta mai oferă și memorare de date. Acesta poate măsura 6 parametri aceștia fiind:
Presiune
pH
ORP (Oxygen Redox Potential)
Conductivitate
Temperatură
Turbiditate
ODO (Optical Dissolved Oxygen)
Dispozitivul memorează intern datele care apoi pot fi transferate în mod serial prin comunicație RS232 sau RS485 sau opțional se poate atașa un modul SDI12 cu care se pot transfera datele prin telemetrie.[5]
Fig. 2.4 Pentair MP47 [5]
CONSIDERAȚII TEORETICE PRIVIND SISTEMELE DE MONITORIZARE A CALITĂȚII APEI
Structura generală a unui sistem de monitorizare a calității apei
Structura generală a unui sistem de monitorizare a calității apei are ca elemente componente o unitate de procesare, senzori pentru parametri diferiți, memorie, interfața de comunicație, afișare și eventual elemente de acționare. Sensul datelor ce circulă prin aceste module este reprezentat in Fig. 3.1.
Fig. 3.1 Schema generală a sistemelor de monitorizare a calității apei
Unitate de procesare
Unitatea de procesare are ca scop gestionarea tuturor datelor, cum ar fi informații de la senzori, comenzi pentru elementele de acționare și pre-acționare, afișare, comunicație ș.a.m.d. Acesta fiind “creierul” trebuie ales cu mare atenție să fie capabil să prelucreze toate datele necesare.
Se pot folosi plăci de dezvoltare cum ar fi Raspberry PI sau Arduino acestea fiind cele mai populare și cele mai utilizate în diferite aplicații pentru că oferă o felxibilitate mare, datorită bibliotecilor și softurilor open source Se mai pot folosi și microcontrollere cu PCB-uri (Cablaje imprimate) personalizate aplicației specifice. Această metodă ar fi cea mai bună din punct de vedere flexibilitate, performată și preț. Oferă libertate deplină la proiectarea aplicației ceea ce este un bonus uriaș față de plăcile de dezvoltare existente pe piață.
Dacă se ia în considerare varianta Arduino, pentru un astfel de sistem este necesar un Arduino MEGA (fig.3.2) , deoarece varianta UNO nu are destui pini de intrări/ieșiri ca să gestioneze toate componentele dintr-un astfel de sistem, chiar dacă acestea sunt minime.
Fig. 3.2 Arduino MEGA[6]
Raspberry PI ar fi o soluție optimă pentru o aplicație mai complexă, dar pentru domeniul medical este de ajuns să se monitorizeze doar 4 parametrii. Această placă de dezvoltare nu ar avea nevoie de comunicație cu PC, pentru ca interfațarea se poate face direct pe ea, întrucât poate să ruleze sistemul de operare Linux.
Fig. 3.3 Raspberry PI[7]
Ca și microcontroler cu un cablaj imprimat dedicat, este cea mai optimă soluție pentru acest proiect, pentru că are un cost redus față de plăcile de dezvoltare, oferă flexibilitate privind funcțiile incorporate în acesta, precum și libertatea de alegere al interfeței de comunicație.
Fig.3.4 Microcontroler PIC18f2550[8]
Sisteme de afișare
Sistemele de afișare joacă un rol important în informarea utilizatorului despre funcționarea aparatului, despre informații privind datele de la senzori, starea ieșirilor ș.a.m.d.
Următoarele sisteme sunt cele mai utilizate:
Sisteme de afișare cu cristale lichide
Sisteme de afișare cu display de 7-segmente
Sisteme de afișare cu LED-uri.
Toate informațiile fiind afișate pe PC, cea mai optimă soluție a fost folosirea unui sistem de a afișare cu trei LED-uri care indica numai starea dispozitivului.
Senzori
Cei mai utilizați senzori pentru măsurarea calității apei sunt senzor de turbiditate, electro- conductivitate, pH și temperatură. Acești patru senzori sunt de ajunși și pentru monitorizarea apei din aparatura medicală, pentru ca principiul de măsurare din analizoarele de biochimie spune că apa care intră în baia de incubare trebuie sa fie curată (non tulbure), să nu conțină săruri care pot influența spectrofotometrul din analizor, iar pH ul apei să fie neutru.
Electro conductivitate
Conductivitatea electrică a apei reprezintă proprietatea acelei soluții de a conduce curentul electric, în funcție de cantitatea de ioni prezenți în apă.
Conductivitatea apei este un test ușor de realizat, acest test este folosit ca o modalitate de a monitoriza schimbările compoziției de ioni dintr-un lac, izvor sau alte surse de apă, utilizând un senzor. Valorile conductivității se vor schimba când în apă se introduc săruri, acizi sau gaze solubile, de asemenea și când senzorul este introdus în apă dură.
Principiul de funcționare
Pentru determinarea conductivității există două procedee: primul pe baza măsurării directe al conductanței G și pe baza folosirii constantei celulei de măsurare și al doilea pe baza etalonării lanțului direct în unități de conductanță cu soluții etalon. În primul procedeu, cunoscând constanta celulei de măsurare K [m-1] sau[cm-1], și măsurând conductanței G cu ajutorul punții, din relația k=GK, se obține conductivitatea k. În procedeul bazat pe etalonarealanțului de măsurare este necesar sădispunem de un set de soluții etalon cu conductivități k cunoscute și de posibilitatea unor reglaje de zero și de pantă la punte la afișaj. Prin aceste reglaje, pe baza valorilor soluțiilor etalon, aparatul este pus să afișeze direct valori ale conductivității.[9]
Turbiditate
Turbiditatea apei se datorează prezenței în apă a particulelor de dimensiuni mici (organice și anorganice) ce se află în suspensie și care sedimentează sau nu sedimentează în timp. Apa tulbure prezintă pericol epidemiologic deoarece particulele în suspensie pot constitui un suport pentru germenii patogeni. Turbiditatea sau tulbureala prezintă efectul optic de împrăștiere a unui flux luminos la trecerea printr-un mediu fluid care conține particule în suspensie sau în stare coloidală (efectul Tyndall).
Principiul de funcționare
Determinarea turbidității cu turbidimetrul (nefelometrul) are la bază efectul Tyndall conform căruia apa tulbure devine strălucitoare dacă este traversată de un fascicul luminos, datorită faptului că particulele în suspensie difuzează lateral o parte din razele luminoase.
Determinarea spectrofotometrică se bazează pe măsurarea absorbției luminii de către particulele aflate în suspensie.
Fig.3.5 Principiul de măsurare a turbidității apei [10]
Concentrația ionilor de hidrogen (pH)
Măsurarea concentrației ionilor de hidrogen sau pH, constă în măsurarea unui mediu lichid, din care obținem informații referitoare la cât de acid sau bazic este mediul măsurat.
în apa pură [H+]=[HO-]=10-7moli/L
Produsul ionic al apei este [H+]*[HO-]
Tăria acizilor sau a hidroxizilor din soluțiile apoase se poate exprima prin:
Concentrația protonilor :[H+] pH
Concentrația ionilor de hidroxid [HO-]pOH
Formulele de calcul al pH și pOH sunt:[11]
(3.1)
(3.2)
(3.3)
Principiul de măsurare
pH-ul este măsurat cu ajutorul unui aranjament de doi electrozi: un electrod de lucru (indicator) și un electrod de referință , sau un electrod combinat ce poate îndeplini ambele funcții.
Când cei doi electrozi sunt introduși în soluție se formează o mică celulă galvanică al cărei potențial este dependent de ambii electrozi.
Condițiile ideale de măsura se îndeplinesc atunci când numai potențialul electrodului de lucru variază la modificarea pH-ului, în timp ce potențialul electrodului de referință râmane constant.
Diferența de potențial măsurată poate fi exprimată cu ajutorul ecuației lui Nernst:
E = E ind – E ref= E' T + R • T/F • ln a H+ (3.4)
Unde:
E = potențialul măsurat (mV)
E ind = potențialul electrodului indicator (mV)
E ref = potențialul electrodului de referință (mV)
E' T = constanta dependentă de temperatură (mV)
R = constanta universală a gazelor (8.3144 J/K)
T = temperatură absolută (K)
F = constanta lui Faraday (96485 C)
Folosind logaritmul zecimal formula poate fi scrisă:
E = E' T + 2.303 • R • T/F • log a H+
Introducând definiția pH-ului acesta poate fi exprimat în funcție de temperatură:
(3.5)
Unde:
R' = constanta = 0.1984 mV/K
S = sensibilitatea, un factor de corecție ce ia în considerare faptul că răspunsul electrodului poate fi diferit de valoarea teoretică.
pH° = valoarea pH-ului pentru care potențialul măsurat este zero.
Interfețe de comunicație
Interfața de comunicație USB (Universal Serial Bus ) este cea mai utilizată interfață de comunicație din momentul actual, care face posibilă interconectarea dispozitivelor utilizând numai patru fire. Aceste patru fire de conexiune sunt: două de alimentare iar două de comunicație numite Data + și Data -. În tehnica de calcul sunt mai multe clase de USB cum ar fi interfață HID (Human Interface Device), interfață audio, interfață PID(Physical Interface Device), Smart Card, video, controller wireless (module bluetooth), etc..
Interfața de comunicație HID face parte din specificațiile USB pentru perifericele calculatorului. Această interfață este utilizată în cazul în care dispozitivele sunt folosite de operatori umani, care trebuie să controleze un sistem.
La aceste interfețe de tip HID dispozitivul trebuie să aibă un număr (Product ID) și un pin de identificare. Acest număr și pin trebuie instalate pe calculator ca și un driver, cu ajutorul unui descriptor de dispozitiv. Pe calculator există un descriptor HID și când dispozitivul este conectat la calculator, acesta va recunoaște dispozitivul în funcție de Product ID și pinul acestuia.
Aspecte legate de funcționarea sistemelor de monitorizare al parametrilor apei
Sistemele de monitorizare a calității apei, ca și funcționare sunt foarte asemănătoare. Se observă o schemă (fig. 3.6.) generalizată a funcționării sistemelor de monitorizare apă.
Fig. 3.6 Schema bloc de funcționare a unui sistem de monitorizare apă
După cum se observă în fig. 3.6. primul pas este introducerea sondelor în apa eșantion, unde trebuie verificat dacă este introdusă corect, altfel se pot obține rezultate eronate. Al doilea pas este citirea eșantionului de apă, unde este ținut cont de un timp de așteptare pentru stabilizarea apei. Unele sisteme nu au nevoie de acest timp și aceste sisteme monitorizează apa curgătoare. În acest pas este efectuată și citirea senzorilor. În următorul pas este prelucrarea datelor obținute de la senzor, ori de la o placă de achiziție de date ori de la o unitate de procesare dedicată. În ultimul pas este afișarea rezultatului obținut în urma prelucrării datelor de la senzor. Iar de aici datele obținute de la dispozitiv sunt arhivate de către om. Foarte puține sisteme pe piață au încorporat un sistem de memorare a citirilor. Acest lucru este un dezavantaj, deoarece pentru un sistem complet automat este nevoie de memorarea măsurătorilor efectuate.
PROIECTAREA SISTEMULUI DE MONITORIZARE A CALITĂȚII APEI
Structura sistemului
Sistemul de monitorizare a calității apei este alcătuit din două subsisteme: subsistemul hardware (schema bloc al structurii hardware Fig. 4.1) și subsistemul software (schema bloc subsistem software Fig.4.2).
Subsistemul hardware este împărțit în parte mecanică și electrică. În partea mecanică fiind toate specificațiile constructive ale dispozitivului, iar în partea electrică se dezvoltă detaliat cele trei plăci componente: placa cu sursa de alimentare, placa de achiziție de date și placa unității de procesare.
În subsistemul software se vor dezvolta soluțiile software alese, care la rândul lor se împart în două categorii: programul de funcționare al microcontrolerului, care este realizat în MicroC Pro for PIC și interfața cu utilizatorul realizat în LabVIEW 2011.
Subsistemul hardware
Carcasa
La proiectarea carcasei aparatului s-a luat în considerare dimensiunile tuturor componentelor așezate în așa fel în cât să fie cât mai compacte, și a nu se irosi spațiu.
Astfel dimensiunile optime au fost alese ca fiind:
270mm lungime
140mm lățime
110mm înălțime
Fig. 4.3 Forma carcasei
Pentru confecționarea carcasei se va folosi tablă decapată, laminată la cald, de 1,5mm grosime. Tabla are rezistența ridicată și formabilitate îmbunătățită [13] conform standard EN10111 [14]. Tabla va fi decupată cu foarfecă de tablă și îndoită la cotă. La partea din spate și partea superioară se vor aplica perforații pentru ventilație. Partea de sus a carcasei și fața vor fi detașabile pentru a avea acces ușor la componente în cazul service-ării.
Pe partea frontală a carcasei se vor folosi doi colțari [15] și două mânere din aluminiu.
Ultimele având ca scop transportul ușor precum și designul. Pentru asamblarea carcasei se vor folosi șuruburi M3x25[16] DIN963, grupa 4.8, finisaj zincat alb și piulițe M3[17] DIN934, grupa8, finisaj zincat alb.
Pe spatele carcasei se vor monta ștuțurile [18] de legătură pentru furtun de Ø 14mm pentru admisie și evacuare apă, filtrul de aer și mufa de alimentare cu energie electrică.
Fig.4.6 Ștuț de legătură furtun[18]
Fața carcasei va fi confecționat din plexiglas transparent incolor[19], având cotele de
265×10,5mm. Pe acesta vor fi montate întrerupătorul general, butonul de acționare manuală. Ledurile de semnalizare și decuparea pentru mufa de comunicație USB. Pe spatele plexiglasului se va executa inscripționarea după cum urmează:
Denumire aparat
Serie Aparat
Semnificații Leduri
Semnificații Intrerupătoare
Marcare mufă comunicare
Fixarea feței se va face cu patru șuruburi ornamentale din inox M6[20] .
Pentru fixarea cablajelor imprimate se vor folosi patru șine ghidaj din poliamidă;
L:63,5mm, dispuse pe părțile laterale ale carcasei.
Fig.4.7 Șină suport PCB [21]
Plăcile de cablaj vor fi dispuse două în lateral și una deasupra fixată cu bride [25]
din plastic pe partea din spate a carcasei.
Fig.4.8. Bridă din plastic [25]
Pentru fixarea camerei de măsurători se vor utiliza două coliere
din plastic fixate pe fundul carcasei cu două șuruburi[16] și două piulițe[17].
Fig.4.9 Coliere de plastic [22]
Pompa de admisie/golire va fi fixată pe fundul carcasei, poziționat în spate dreapta,
cu două șuruburi de M 3×35[16], pe un pat de cauciuc de atenuare a vibrațiilor.
Fig.4.10 Cauciuc de atenuarea vibrațiilor [23]
Electrovalvele vor fi fixate pe partea din spate al carcasei zona centrală cu două piulițe distanțare filetate de M3, 20mm lungime, hexagonal cu filet interior și exterior.
Fig. 4.11 Distanțoare filetate [24]
La final se va degresa tabla și se va aplica un grund de protecție, după care se va vopsi întreaga carcasă ca în afară de protecție să abia și un aspect plăcut.
Confecționarea camerei de măsurare
Camera de măsurare va avea dimensiunea calculată după cantitatea optimă de apă
necesară efectuări analizelor.
Camera de măsurare va fi confecționată dintr-un tub de plexiglas[26] transparent de
Φ30mm exterior –Φ26mm interior și lungime de 100mm. Tubul va fi debitat la strung ,pentru a obține fețele drepte. Un capăt al tubului se va închide cu un dop exterior de Φ35mm x25 cu partea inferioară ușor ovală, găurit cu Φ4mm, care va fi strunjit din teflon PTFE [27].
Fig.4.12 Teflon PTFE [27]
Cota interioară va fi cea a țevii din plexiglas. Gaura de 4mm va fi pentru montarea ștuțului[18] de admisie apa în interiorul camerei. Pentru capătul celălalt al țevii se va confecționa un „Teu” din PTFE[27] la strung și freză, cu următoarele cote Φ35 x Φ35 x Φ25, cote exterioare și Φ28 x Φ30 x Φ4 cote interioare. În gaura de 4mm se va monta un ștuț[18] de evacuare apă din camera de măsurare. În gaura de 30mm se va monta țeava de plexiglas și senzorul de temperatură,
iar în gaura de 28 mm se va adapta un dop confecționat la strung, din PTFE[27] având dimensiuni de Φ28 , guler de Φ30 și grosime de 10mm. În acest dop se va monta senzorul de nivel al apei.
Fig. 4.13 Teu finisat la strung [27]
De asemenea pe țeava camerei de măsurare se vor monta :
Senzorul de turbiditate
Ledul Infrarosu
Sonda Ph.
Electrozii pentru conductivimetru
Senzorul de turbiditate va fi montat cu ajutorul rășinii epoxidice iar restul senzorilor precum și asamblarea întregii camere se va face cu silicon sanitar[29], pentru a se dezasambla ușor.
La final se va aplica o bandă vopsită în negru, în jurul senzorului de turbiditate, pentru imunizarea acestuia de lumină ambientală, care ar putea influența calitatea măsurătorii.
Sistemul hidraulic
Sistemul hidraulic are în vedere aducerea eșantionului în camera de măsurare, evacuarea acestea după efectuarea măsurătorilor precum și curățarea camerei cu apă distilată.
Componentele utilizate în modulul hidraulic sunt:
Pompa de apă
3 distribuitoare tip 3/2 cu comandă electrică si revenire cu arc
Un rezervor pentru apă distilată
Un rezervor cu apă eșantion
Un rezervor în care se vor efectua măsurătorile
Un rezervor de evacuare
Furtune de conexiune
Sistemul hidraulic este gândit în așa fel încât o singură pompa să aibă mai multe funcții: funcție de umplere al camerei de măsurare, funcție de golire al camerei de măsurare și spălarea acestuia. Toate aceste funcții au fost obținute prin intermediul celor trei distribuitoare conform schemei hidraulice din fig. 4.15. V1 este un distribuitor 3/2 cu comandă electrică și revenire cu arc, care are rolul de selecție între apa distilată de spălare sau apa eșantion. V2 cu V3 face selecția între golire sau umplere al rezervorului cu senzori.
Când este pe modul de golire, adică V2 cu V3 sunt normal deschise, pompa trage apa din camera de măsurare și o duce la rezervorul de evacuare. Când V2 și V3 sunt acționate, pompa este pe modul de umplere și trage apa fie din rezervorul cu apă eșantion fie din rezervorul cu apă distilată (V1 acționat este apa distilată, neacționat este pe apa eșantion).
Fig. 4.15 Schema hidraulică al sistemului de monitorizare a calității apei
Pompa utilizată este KNF NF 30 KPDCB-A (fig.4.16) cu următoarele specificații conform fișei de catalog [29]:
Pompa cu diafragmă și valve
Tensiunea de alimentare este de 12V
Puterea nominal este de 8.3 W
Intensitatea Curentului max. 1A
Respecta EN 55014
Cântarește 180g
Factor de protective IP 00
Fig. 4.16 Pompa de apă NF 30 KPDCB-A[29]
Distribuitoarele sunt ASCO 458284 V/35PSI de tip 3/2 cu comandă electrică pe 12V cu revenire cu arc.
Fig.4.17 Distribuitoare 3/2 [30]
Furtunurile folosite sunt futrune transparente Clearflo din material PVC cu diametru interior de 1/16 țoli și grosimea peretelui de 1/32 țoli, iar presiunea maximă este de 130 PSI. Temperatura maximă de operare este de 80°C și clasa de calitate este VI.
Fig, 4.17 Furtun Clearflo [31]
Pentru evacuarea camerei de măsurare fără a crea vacuum, s-a dat o gaură în dopul unde se află și senzorul de nivel. S-a inserat un ștuț și cu un furtun s-a legat la un filtru de aer (fig.4.18) la atmosferă pentru a preveni praful să intre în camera de măsurare.
Fig. 4.18 Filtru de aer [32]
Fig. 4.46 Schema electro-hidraulică
Sursa de alimentare
Pentru proiectarea sursei de alimentare s-a luat în calcul toți consumatori, care pot fi conectați deodată la un moment dat, și anume:
pompa de apă, electro valvele de admisie sau golire, releele de acționare a acestora
consumul modulului de comandă și control.
Sursa de alimentare trebuie să îndeplinească următoarele cerințe:
să livreze tensiune stabilizată de 5v cerută de modulul de comandă
să livreze tensiune stabilizată diferențială de ±12v, necesară amplificatoarelor operaționale.
sa livreze tensiune stabilizata diferențială de ±5v ,necesara modulului de achiziție date de la senzori.
să livreze tensiune reglabilă 9-15v, pentru reglajul optim al turației motorului pompei de apă
să fie protejată la supratensiuni și/sau supracurenți;
să funcționeze optim la temperatura mediului ambiant: 20°C
Transformatorul
Datele de pornire cunoscute pentru calculul transformatorului de rețea sunt [33]:
UP = 220V, Us = 15V, I =1A (4.1)
Puterea totală în secundar va fi:
, (4.2)
unde 1,1 și 1,2 sunt coeficienți de siguranță ai tensiunii de ieșire și ai redresării.
Puterea totală în primar va fi:
, (4.3)
unde PFe = 0,035 reprezintă pierderile în miezul magnetic, iar PCu = 0,045 reprezintă pierderile în conductoarele de cupru.[33]
Dupa calculele efectuate sa optat pentru achiziționarea transformatorul de rețea tip TEZ16 care are o putere de 16W, două înfășurări de secundar egale de 16V, ocupă spațiu mic și se poate monta direct pe cablaj prin cositorire.
Etajul de redresare și filtrul de netezire
Se va folosi un etaj de redresare dublă alternanță în punte cu filtru capacitiv. Filtrul de netezire capacitiv este suficient deoarece după acesta urmează un stabilizator de tensiune [34].
Puntea de diode redresoare utilizată este de tip BR31 și suportă un curent continu de 3A la 100v
Filtrarea capacitivă constă în conectarea unui condensator C în paralel, pe ieșirea redresorului, cu respectarea polarității în cazul condensatoarelor polarizate (electrolitice). Condensatorul se va încărca pe porțiunea crescătoare a semialternanței, pe porțiunea descrescătoare fiind cel care furnizează curentul de sarcină. Tensiunea pe acesta se reface pe porțiunea crescătoare a următoarei semialternanțe. Această variație a tensiunii se numește riplu (UZ) și depinde de mărimea condensatorului și de mărimea curentului folosit de sarcină.
Forma tensiunii de la ieșire, cu și fără filtru de netezire, este ilustrată în figura următoare:
Fig.4.19 Forme tensiuni ieșire [35]
O particularitate importantă a filtrării capacitive constă în faptul că, în absența consumatorului (cu ieșirea în gol), tensiunea de ieșire este egală cu valoarea de vârf a pulsurilor, depășind astfel de ori valoarea eficace a tensiunii alternative care se redresează. De exemplu, dacă transformatorul furnizează în secundar o tensiune de 10V (valoare eficace), valoarea de vârf a pulsurilor este de
, (4.4)
neglijându-se căderile pe diode. Prin filtrare capacitivă, tensiunea în gol la ieșirea redresorului va fi, deci, de cca. 14V.
Tensiunea minimă de la ieșirea redresorului cu filtru de netezire se alege astfel încât să fie mai mare decât suma dintre tensiunea de ieșire U0 și căderile de tensiune pe celelalte blocuri înseriate între filtrul de netezire și ieșirea stabilizatorului (de exemplu Elementul Regulator Serie).Deci:
(4.5)
Se consideră valoarea riplului [36]:
(4.6)
Rezultă că valoarea de vârf a tensiunii redresate va fi: .
Tensiunea în secundar va trebui însă să fie mai mare, datorită pierderii pe cele două diode prin care circulă curentul. Tensiunea de deschidere a unei diode cu siliciu (în mod normal 0,6…0,7V) se apropie de 1V la curenți mari.
Deci tensiunea efectivă în secundar va avea valoarea de vârf:
(4.7)
Puntea redresoare conține diode identice. Acestea sunt alese în funcție de curentul care trece prin ele, și anume I0, precum și de tensiunea inversă maximă, VRRM (se poate aproxima cu valoarea tensiunii US).
Pentru ca în timp de o semiperioadă (Δt = 10ms) condensatorul să se descarce cu ΔU= UZ sub un curent I0, capacitatea acestuia trebuie să aibă valoarea:
(4.8)
Tensiunea maximă pe care trebuie să o suporte condensatorul trebuie să fie mai mare decât Ured.
Condensatoare de filtraj folosite : 2200µF/50Vcc si 100nF/250V
Elemente de protecție
Siguranța F1 este conectat la primarul transformatorului și are valoarea de 1,5Ip, unde Ip este curentul nominal din primarul transformatorului valoarea aleasă este de 800mA. de tip ultra rapid. Etajele de stabilizare a tensiunilor, conțin circuite integrate specializate cu protecție de supra temperatură și curent, nefiind necesar protecție suplimentară .
Fig.4.20 Modul de redresare și filtru de netezire (Extras din schema electronică)
Stabilizatoarele de tensiune
Stabilizatoarele de tensiune sunt din gama LM7805 și LM7812 [37] pentru tensiunile pozitive de 5 și 12 Volți, respectiv LM7905 și LM7912 [42] pentru tensiunile negative de -5 și -12Volți.
Tensiune de intrare maximă este de 35 Volți și Curentul continuu debitat de fiecare stabilizator în parte este de 1A, toleranța tensiunilor de ieșire se află în intervalul de ±4% ,toleranța ce este acceptată de circuitele ce urmează a fi alimentate. Temperatura de lucru al stabilizatoarelor este de -40șC – +125șC.
Schema bloc internă a regulatoarelor de tensiune :
Fig.4.21 Schemă internă stabilizator integrat [37]
Performante Stabilizatoare:
Fig.4.22. Performanta stabilizatoare integrate [37]
Stabilizatoarele sunt protejate intern la scurt circuit, la supra sarcină și la supra temperatură.
Datele au fost extrase din fișa de fabrică al producătorului Fairchild Semiconductor[37].
Pentru alimentarea pompei de apă s-a optat pentru folosirea unui stabilizator integrat cu tensiune de ieșire reglabilă de tipul LM350 [41], care poate livra un curent de 3A . Acest stabilizator este de asemenea protejat la scurtcircuit, supra sarcină și supra temperatură. Obținerea tensiunii necesare pompei se calculează după formula [35]:
Fig.4.23. Exemplu de calcul pentru tensiunea de ieșire. [41]
Componente calculate R1=240Ω și R2=2KΩ, sa utilizat suplimentar două diode de protecție pentru a proteja stabilizatorul de efectele inductive produse de motor.
Tensiunile alimentatorului vor fi disponibile pe reglete de conexiuni, în unghi 90°, Secțiune cablu max: 2.5mm^2, pas pini 5mm curent nominal 24A, montare electrică bornă cu șurub posibilitate conectare în ansambluri .
Lista materiale:
Condensatoare : C1-C2 2200u buc 2
C3,C9 1000u buc 2
C4,C11 470u buc 2
C5-C8,C12 100n buc 5
C10 10u buc 1
Rezistențe: R1 240R buc 1
Rezistență Semireg. RV1 2K buc 1
Circuite Integrate: U1 LM7805 buc 1
U2 LM350 buc 1
U3 LM7812 buc 1
U4 LM7912 buc 1
U5 LM7905 buc 1
Diode: D1-D2 1N4007 buc 2
Punte Redresoare BR2 BR-31 buc 1
Siguranța fuzibilă F1 F800mA buc 1
Transformator TR1 TEZ16 buc 1
Conectori J1-J3 Regleta con. buc 5
Cablaj PCB1 Sticlotextolit simplu placat 95x84mm buc 1
Radiator aluminiu 25x80x4 mm(40cm²) buc 1
Ventilator Fan1 50x50x15/12v buc 1
Mufă Alimentare buc 1
Întrerupător de panou buc 1
Schema completă al sursei de alimentare:
Fig.4.24 Schemă electronică Alimentator
Schema cablaj imprimat:
Fig.4.25 Schema Cablaj imprimat
Dimensiuni 95mm x 84mm
Schema amplasare componente:
Fig.4.26 Schema Amplasare componente
Vedere generală placă
Fig.4.27 Vedere în ansamblu
Fig.4.28 Vedere asamblată
Pentru protejarea stabilizatoarelor de tensiune, precum și evitarea blocării acestora din cauza disipației termice sa luat în calcul utilizarea unui ventilator al întregului sistem și al unui radiator comun din aluminiu montat pe stabilizatoare.
Toate schemele electronice au fost realizate în cadrul pachetului Proteus 8. În acest pachet s-a utilizat programul ISIS pentru realizarea circuitului electronic. În programul ARES s-a realizat PCB-ul precum și vederea în ansamblu 3D.
Calculul radiatorului:
Calcul pentru un stabilizator.
Date de catalog LM7812 [37]: Vin-Vout=5V; Io_max=1.5A, Pmax=20W (rata puterii disipate) Rth_jc=4°C/W; Rth_ja=50°C/W (fără radiator), TJ_max=125°C
1) Se verifică dacă este nevoie de radiator: se verifică dacă puterea efectiv disipată pe dispozitiv (Pd) este mai mică decât puterea maximă pe care o poate acesta disipa în cele mai dezavantajoase condiții de răcire (Pdmax). Practic se testează condiția Pd<pdmax.
Cele mai dezavantajoase condiții de răcire se obțin pentru Ta_max (temp. maximă a mediului ambiant). Se consideră Ta_max=40°C.
Pdmax=(TJ_max – Ta_max) / Rth_ja = (125°C – 40°C) / 50°C/W = 1.7W
Se va calcula Pd. (Transformatorul este de 16W, ca urmare chiar dacă Io_max pt LM317-T este 1.5A, considera Io_max=0.8A)
Vin-Vout=5V => Pd(efectiv) = Io_max * (Vin-Vout) = 0.5A*5V=2.5W
Pd>Pdmax =>Este nevoie de radiator
2) Dimensionarea radiatorului
Se calculează rezistența termică joncțiune-mediu necesară:
Rth_ja_nec=(TJ_max – Ta_max) / Pd = (125°C – 40°C) / 2.5W = 34°C/W
Rth_cr=0.5°C/W (fixare cu pastă termoconductivă fără izolant intermediar)
=> Rth_ra_nec = Rthja_nec – (Rth_jc + Rth_cr) = 34°C/W – (4°C/W + 0.5°C/W) = 29.5 °C/W
(Kc=0.43) cu aria Ar=(650*Kc)/(Rth_ra – 33*(Kc)exp1/4 / sqrt(?*d)) = 9.780 cm^2</pdmax.
Optam pentru o suprafață de aprox.40cm² pentru toate stabilizatoarele .
Radiatorul din aluminiu ales este de tip colțar îndoit la 90° având laturi egale de 2,5 cm, lungime de 8 cm și grosime de 4mm.
Ventilatorul de sistem
Sa calculat volumul carcasei, 27cm lățime, 13cm adâncime și 11 cm înălțime, aprox. 3,8 L aer ,din care rezultă alegerea unui ventilator cu următoarele caracteristici:
Alimentare Sursa
Alimentarea sursei se face printr-un întrerupător de panou de tip Rocker[39], cu una poziție stabilă configurație pini SPST, mod comutare On-Off, sarcina admisibilă pe contacte 16A/220V,
terminali 6,3×0,8 mm, dimensiuni montare 19.8 x 12.9 mm
Fig.4.29 Întrerupător tip Rocker
Înseriat cu un conector tata de alimentare AC tip soclu conform standard IEC 60320 [40]cu montare prin înșurubare, conectori 6,3mm, Curent nominal 10A, Tensiune nominală 220V, Clasa inflamabilitate UL94V-0, Raster orificii de montaj 40mm.
Fig.4.30 Conector alimentare AC
Placă de achiziție de date
Măsurarea PPM/EC/TDS
TDS (Total Dissolved Solids) este măsurarea cantității sărurilor dintr-o soluție. Pentru multe aplicații, cantitatea de săruri este un indicativ pentru nivelele altor material aflate într-o soluție. Aparate de măsură TDS/PPM vândute în domeniul grădinăritului sau în domeniul acvariilor de pești, indică cantitatea de sare în parți per milion (PPM) măsurând conductivitatea electrică a unei soluții eșantion. Deci un aparat de măsură PPM/TDS este un aparat de măsurarea EC care convertește valoarea EC în valori PPM.
EC este mărimea conductivității electrice dintre două sonde care au 1cm distanță între ele. 1EC = 1microsiemens, deci conversia se face înmulțind EC cu 10-6 . Se poate face conversiunea EC la PPM cu formula:
(4.9)
Din Siemens la Ohm:
(4.10)
unde unitatea lui G este în Siemens, iar R se măsoară în Ohm.
Din formula XX se poate calcula invers astfel măsurând o impedanță putem determina EC-ul.
Numărul 500 din conversia PPM în EC se numește Factor de conversie. Pentru săruri diferite se folosesc factori diferiți pentru ca unele săruri conduc mai bine sau mai rău electricitatea. La NaCl (zis și sare de masă) factorul de conductivitate este 500, din cercetările efectuate acest factor este un standard des utilizat în soluțiile de calibrare.
Dacă EC/PPM este doar măsurarea Conductivitatii (inversă Rezistivității), se poate folosi un volt/ohm-metru. Dar apar anumite probleme. Un multimetru obișnuit introduce un curent continuu (CC) prin sondele de măsurare, iar cu CC nu se poate măsura conductivitatea sărurilor pentru ca acesta va rupe moleculele din săruri, iar aceste molecule conduc electricitatea deci vor fi valori care se vor schimba constant, deci valorile măsurate vor fi inutile.
Moleculele fiind rupte, ioni pozitivi se vor deplasa pe electrodul negativ iar ioni negativ pe electrodul pozitiv.
Pentru a învinge această problemă este necesară utilizarea unui semnal de curent alternativ (AC). Dacă frecvența semnalului AC este destul de mare (>1kHz), moleculele nu au timp să se rupă și să se deplaseze spre electrozi.
Fig 4.31. Deplasarea moleculelor pe electrozi [43]
Fig.4.32 Comportamentul moleculelor la un semnal AC [44]
În fig.4.31 și fig.4.32 este reprezentat ce se întâmplă cu moleculele NaCl și H2O când sunt expuse la câmpuri electrice AC și DC. La DC ioni pozitivi sunt atrași în partea inferioară care reprezintă un câmp negativ iar ioni negative sunt atrași către partea superioară a imaginii, acesta fiind un câmp pozitiv. La AC moleculele “vibrează” între electrozi din cauza polarizării care se schimbă constant și cu o frecvență de peste 1 kHz. Când se duc în partea superioară când în partea inferioară, frecvența fiind mare aceștia nu au timp să se rupă și să se deplaseze așa ca ele “vibrează” într-un loc.
Un alt factor care joaca un rol este temperatura la care se măsoară EC-ul. Acesta influențează conductivitatea, deci trebuie o formulă de compensare termică. În cazul în care temperatura eșantioanelor este constantă, calibrarea se va face cu o soluție de aceeași temperatură ca și eșantioanele măsurate și în acest caz nu se mai ține cont de temperatură.
Fig.4.33 Influența temperaturii la măsurarea EC [43]
În fig.4.34 este reprezentată, trei măsurări aceluiași eșantion la temperaturi diferite. Conductivitatea apei va crește cu 2-3% la creșterea temperaturii cu 1°C.
Soluția de calibrare
Pentru calibrare se va realiza o soluție de 2000 de PPM. În 1L apa distilată se introduce 2g de NaCl sau în 500mL se va introduce 1g. Se va amesteca soluția până se omogenizează. Apa distilată este foarte importantă pentru ca această apa nu are săruri dizolvate deci daca negăm impedanța apei, EC ar trebui să fie egală cu 0.
Așa se va obține o soluție de 2000PPM și o soluție de 0PPM, având aceste două valori se poate efectua o calibrare a senzorului.
Circuitul Electric:
În Proiectarea circuitului electronic s-a luat în considerare și necesitatea de a trece o tensiune și un curent minim prin soluție, în timp ce se menține o rație S/N (signal-to-noise) bună.
Circuitul este proiectat astfel încât să fie pe ieșire o tensiune DC între 0-5V, pentru 0v să se obțină un EC de 0, pentru 2V să se obțină EC de 2, pentru 4V să se obțină EC 4 ș. a. m. d.
Pentru conversia din EC in PPM, valoarea măsurată trebuie înmulțit cu 500 și aflam valoarea în PPM. Dacă ieșirea este legată la convertorul A/D al microcontrolerului, acest lucru ușurează calculele făcute de microcontroler.
Fig.4.35 Schema electronică a senzorului de conductivitate
În schema de mai sus, se observă U1:A care este un amplificator operațional responsabil pentru generarea unui semnal AC. Schema modulului de oscilație este asemănatoare unui oscilator tip punte-Wien.
U1:B este un amplificator operațional cu reacție negativă, pentru îmbunătățirea, răspunsului în frecvență, linearitate, răspunsului în treaptă. Acesta amplifica din domeniul mV în V. Modulul acesta este o buclă de amplificare.
U2:A si BR1 sunt încă o treaptă de amplificare cu o punte redresoare BR1 care transformă AC în DC. Apoi trece printr-un filtrul RC pentru stabilizarea tensiunii.
Următoarea treaptă este treapta finală de amplificare U2:B care ține tot de conversia AC în DC, după care este legat încă un filtrul RC cu două diode de protecție pentru microcontroler.
În conectorul SEN1 sunt legați electrozi care vor fi în contact cu apa la 1cm distanță între ele.
Se mai observă în fig.4, există patru potențiometre de reglare:
Cu RV1 se reglează un semnal AC de tip sinusoidală la o frecvența de 10kHz.
Cu RV2 se reglează intervalul senzorului, adică să nu se obțina citiri peste 5V.
Cu RV3 se reglează punctul de 0V, fără apă.
Cu RV4 se reglează compensarea impedanței electorzilor.
Ca și electrozi s-au folosit electrozi de tip banană placate cu aur, pentru conductivitatea lor bună, rezistentă electrică fiind de 22.14 nΩ·m (la 20 °C), în plus nu oxidează, ceea ce face ca acești electrozi să fie optimi pentru acest proiect.
Măsurarea concentrației ionilor de hidrogen
Măsurarea concentrației ionilor de hidrogen sau pH, constă măsurarea unui mediu lichid, din care obținem informații referitoare la cât de acid sau bazic este mediul măsurat.
Un acid conține/produce ioni de H+, pe când o soluție bazică consumă respective are puțini ioni de H+. Deci pH-ul este definit ca logaritmul zecimal negativ al activității ionilor de hidrogen dintr-o soluție. Prin noțiunea de pH se exprimă cantitativ aciditatea (sau bazicitatea) unei substanțe, pe baza concentrației ionilor numiți hidroniu H3O+. Pentru soluțiile foarte diluate se consideră că pH-ul nu mai este egal cu concentrația hidroniului, ci cu concentrația molară a soluției.[45]
(4.11)
unde aH+ reprezintă activitatea ionilor de H+și nu este similară cu concentrația ionilor. Activitatea reprezintă concentrația efectivă a ionilor de hidrogen, și este de fapt capacitatea celorlalți ioni de a bloca participarea ionului de H + la diferite reacții chimice. În soluțiile diluate activitatea este aproximativ egală cu valoarea concentrației ionului H+(H3O-). Ținând cont de acestea pH-ul se exprimă adimensional: [45]
(4.12)
{\displaystyle {\mbox{pH}}\approx -\lg {\frac {[\mathrm {H^{+}} ]}{1~\mathrm {mol/L} }}=-\lg {\left|[\mathrm {H^{+}} ]\right|}}
Limitele pH:
Fig.4.36 Limite pH [46]
Metodele potențiometrice se bazează pe măsurarea diferenței de potențial între doi electrozi imersați în soluția de analizat. În potențiometria directă se măsoară direct potențialul de electrod ce apare între un electrod indicator și un electrod de referință.
Pentru această măsurătoare sunt necesare:
Un electrod indicator
Un electrod referință
Un dispozitiv de măsurare a potențialului
Principiul metodei de măsurare
Metoda se bazează pe măsurarea diferenței de potențial existentă între un electrod indicator (de sticlă) și un electrod de referință (calomel–clorură de potasiu, soluție saturată) introduși în proba de apă de analizat, ce variază liniar cu pH-ul probei. Această metodă este mai precisă și se poate aplica și pentru apele tulburi sau colorate.
Fig.4.37 pH-metru [47]
Fig.4.38. Schema electronică a senzorului pH
În fig. 4.38 se regăsește schema electronică a senzorului pH, unde se observă cele două amplificatoare operaționale cu reacție negativă. Asemenea senzorului de conductivitate acesta servește la îmbunătățirea, răspunsului în frecvență, linearitate și câștig stabil. Acest modul va avea la ieșire câmpul de măsurare între 0 – 1,1 V.
Observație:
RV5 se va regla ca în nodul dintre C6, R20 și RV5 să fie 0,275V.
La conectorul J5 vine conectat electrodul de referință iar la pinul 3 al U3:A este conectată electrodul de măsurarea al pH-ului.
Soluția aleasă
Pentru sonda pH s-a utilizat sonda de la pH metrul ATC digital tip PH-009 cu următoarele specificații:
Greutate: 65g
Dimensiune: 15 x 3 x 1,5 cm
PH metru excelent, foarte precise și durabil
Gama de măsurare pH: 0.0 – 14.0 pH-ului
Rezoluție: 0,1 pH
Precizie: ± 0,1 pH-ului (20 ° C), ± 0,2 pH
Temperatura de operare 0 – 50 ° C (32-122 ° F)
Calibrare: manual, un punct
Sa îndepărtat sonda de restul circuitului electronic și s-a adaptat un circuit electronic pentru aplicația specifică al proiectului de diplomă (vezi fig.4.39).
Fig.4.39 Sonda pH ATC tip pH-009 [47]
Măsurarea turbidității
Turbiditatea este opacitatea sau lipsa de transparență a apei, sau a altui lichid, provocată de particule foarte fine, care nu pot fi individualizate cu ochiul liber și care, aflate în stare de suspensie în lichid, difuzează și reflectă lumina.[49]
Fig.4.40 Soluții calibratoare de turbiditate [48]
Unitățile de măsură ale turbidității sunt :
NTU-unitate de turbiditate nephelometric
FNU-unitate de formazin
FTU-unitate de turbiditate formazina
FAU-unitate de atenuare
JTU- Unitate de turbiditate Jackson
NTU(Nephelometric Turbidity Unit) indică, ca instrument de măsurarea luminii împrăștiate de particule este amplasat la un unghi 90° față de sursa lumini. NTU este utilizat în standardul American USEPA Method 180.1.
FNU(Formazin Nephelometric Unit): asemenea ca NTU, acesta indică ca măsurarea luminii împăștiate de particulele din apă se întâmplă la un unghi de 90° față de sursa luminii. FNU este utilizat în standardul European ISO 7027.
FTU(Formazin Turbidity Unit): formazina a fost adoptat inițial ca și referința primară pentru standardele referitoare la turbiditate, deci a fost utilizat FTU ca unitate de măsură. Aceasta unitate nu indica modul în care s-a făcut măsurarea.
FAU(Formazin Attenuation Unit): indică faptul ca instrumental a măsurat o atenuare a luminii prin eșantion, unde senzorul este amplasat la 180° față de sursa luminii. Aceasta metoda de măsurare este des folosită la spectrofotometrie sau colorimetrie, dar nu este considerat valid ca și unitate de măsură standard pentru turbiditate.
JTU(Jackson Turbidity Unit): această unitate de măsură istorică, a fost utilizată când se măsura turbiditatea utilizând un turbidimetru Jackson Candle. Se introducea apa într-un tub, până când flacăra de la o lumânare de sub tub nu se mai vedea. Dar această metoda a fost înlocuită cu metoda standard cu Formazin.
Nephelometrul este un instrument de măsurarea luminii împrăștiate de către particulele dintr-un lichid.
Componentele modulului de citire a turbidității, vor fi montate pe camera de citire. Legătura cu placa de achiziție făcându-se prin conectorul J4.
Fig.4.41 Schemă senzor turbiditate
Cablajul imprimat al plăcii de achiziție are dimensiunile 140×92 mm.
Fig.4.42 Schema traseelor pentru cablajul imprimat
Schema electrică a plăcii de achiziție de date:
Fig.4.43 Schema electrică a plăcii de achiziție de date
Dispunerea componentelor pe placă:
Fig. 4.44 Schema dispunerii componenteleor pe PCB
Fig. 4.45 Vederea în ansamblu a plăcii de achiziție
Unitate de procesare
Modulul de comanda și prelucrare a datelor:
Cerințe:
Capabilitate de a citi toți senzorii folosiți
Să prelucreze și să interpreteze datele sosite de la senzori
Să accepte comenzi externe
Să trimită rezultatele către PC
Să afișeze eventualele erori auditiv și optic
Să afișeze starea întregului sistem
Să se programeze ușor
Să comande subsistemele.
În acest scop sa optat pentru folosirea unui microcontroler din seria PIC 18F2550[50] cu 28 pini, produs de Microchip, cu un număr de 24 pini de intrări/ieșiri, suficienți pentru realizarea sistemului.
Specificații:
Capacitate memorie EEPROM 256B
Capacitate memorie SRAM 2048B
Frecvență max. 48MHz
Tensiune de lucru 2…5.5V
Carcasa DIP28
Număr intrări/ieșiri 24
Număr timere 8 biți 1
Număr timere 16-biți 3
Subtip arhitectură Harvard 8bit
Memorie program 32kB
Generator tact integrat 32kHz, 8MHz
Caracteristici speciale ale microcontrolerului
A/E/USART
LIN
MSSP (SPI / I2C)
USB 2.0
Arhitectura optimizată pentru limbajul de programare în C cu set extins de instrucțiuni
Convertor analog-digital (A/D) de 10-biți cu 13 canale programabile independent și cu timp de achiziție programabil
Auto programabil sub control software
Microcontrolerul încorporează un sistem complet de comunicații tip Universal Serial Bus, modul care este în conformitate cu specificația USB 2.0. Modulul suportă atât viteza mică cât și viteza mare de comunicare pentru toate tipurile de transfer de date acceptate. De asemenea, are încorporat regulatoarele de tensiune pentru modulul USB.
Fig.4.47 Schema bloc internă microcontroler PIC18F2550 [50]
Descriere schema electronica
S-a ales 20Mhz frecvența de lucru al procesorului, data de un rezonator cu Quartz[51] conectat la pini OSC1 și OSC2 după recomandarea fabricantului .
Fig.4.50 Schemă Oscilator [50] Fig.4.51 Tabel condensatori Oscilator [50]
Această frecvența a fost alesă pentru a acoperi necesarul de viteză atât pentru partea de comunicație cât și pentru achiziția de date și viteză de prelucrare a datelor.
Intrări:
Sau folosit trei întrerupătoare [53] ,înseriate cu câte o rezistență de Pull-Up de 10kOhmi [54]:
Intrerupător pentru reset general în vederea programării
Intrerupător pentru declanșarea manuală a unui ciclu de măsurători
Intrerupător senzor nivel pentru a sesiza umplerea cu apa a camerei de măsurare.
Intrerupătorul de declanșare a măsurători manuale și senzorul de nivel vor fi conectate
cu conectori [52] la cablaj iar intrerupătorul de reset va fi montat direct pe cablaj.
Alte intrări folosite, sunt în număr de cinci, disponibile pe conectori [52]:
Intrare semnal de la senzorul de conductivitate
Intrare semnal de la senzorul de Ph
Intrare semnal de la senzorul de trubiditate
Intrare semnal de la senzorul de temperatură
Intrare semnal de rezervă
Ieșiri/Comenzi:
Pentru vizualizarea evenimentelor se vor folosi trei LED-uri [55] de culoare verde, galbenă și roșie pentru care se calculează câte o rezistență serie de limitare a curentului de 390Ω calculată după relația [56]:
(4.13)
(4.14)
Fig. 4.52 Principiul de calcul rezistența de limitare curent LED [56]
Pentru avertizarea sonoră se va folosi un traductor de sunet piezoelectric fără generator [57]
comandat de un tranzistor de tip Mosfet IRF740 [58] care are ca scop protejarea pinului de ieșire al controlerului, de o eventuală defecțiune al traductorului de sunet. Acest tranzistor a fost ales pentru consumul redus din pinul controlerului și viteza mare de comutație, necesară transmiterii semnalelor către traductor.
Pentru comunicația cu calculatorul se va folosi o mufă de comunicație USB [59] tip mama, la care pe pini de comunicație sunt conectați prin două rezistențe de adaptare a impedanței.
Fig.4.53 Schema conexiunii USB [60]
Pentru acționarea pompei de apă și a celor trei electrovalve sa ales trei relee de 5v [62] comandate de câte un tranzistor de tip BC377 [63]. Releele au fost alese cu tensiune de alimentare pe bobină de 5v, pentru a nu complica schema și pe contacte să suporte curentul necesar alimentarii valvelor și a pompei de apă.
Calculul rezistențelor de polarizare a bazei tranzistorului sunt date de formula [64]:
(4.15)
(4.16)
(4.17)
Protecția tranzistorului la efecte inductiv [64] se va realiza prin montarea a unei diode [65] antiparalel cu releul.
Deasemena pe această placă vor fi montați și tranzistorii de comandă a releelor care pornesc alimentările modulelor de citire al senzorilor .Sa ales aceasta metodă deoarece toți senzori interactionează direct cu apa și sa nu se influențeze reciproc. Citirile acestora vor fi implementate separat:
Pornire modul Citire senzor Prelucrare date Oprire modul
În vederea decuplări și deparazitării plăcii se vor folosi două condensatoare suplimentare ,C1-C2 pe pinii de alimentare al controlerului.
Conexiuni:
Pentru realizarea conexiunilor între plăci s-a luat în calcul numărul de conexiuni ce trebuie efectuate și lungimea acestora, astfel s-a optat pentru conectori tip IDC de 10 și 14 pini [66]
Pe conectorul de 10 pini se distribuie alimentarile și pe conectorul de 14 pini se distribuie intrările și ieșirile de semnal.
Pentru execuția cablajului s-a ales sticlotextolit dublu placat, pentru a optimiza spațiul alocat acesteia și pentru a distribui eficient componentele electronice. Dimensiunile plăci sunt:
100mmX89mm.
Schema electronică a unității de procesare:
Fig.4.55 Schema electronică a unități de procesare
Cablaj partea de jos:
Fig.4.56 PCB partea inferioară
Cablaj partea superioară:
Fig. 4.57 PCB partea superioară
Amplasare componente:
Fig. 4.58 Amplasarea componentelor pe PCB
Vedere Generală:
Fig. 4.59 Vedere generală a unități de procesare
Fig.4.60 Vedere în ansamblu
Lista materiale:
Condensatoare : C1 470u buc 1
C2,C6,C7 100n buc 3
C3 220n buc 1
C4-C5 22p buc 2
Rezistențe: R1-R5 1k buc 5
R6-R14,R19 10k buc10
R15-R18 390R buc4
R20-R21 27R buc2
Circuite Integrate: U1 PIC18F2550 buc 1
Tranzistori Q1-Q5 BC337 buc5
Q6 IRF740 buc1
Diode: D1-D2-D3 LED buc 3
D4-D6 1N4148 buc3
Conectori J1,J5 Regleta con. buc 2
J2 Conector USB buc1
J3 IDC10 buc1
J4 IDC14 buc1
Piezo Buzer LS1 BZ05 buc1
Relee RL1-RL3 LEG-5F buc3
Întrerupător SW1,SW3 Push Button 6mm buc2
SW4 KSL-35-PP buc1
Cristal cu Quartz X1 20Mhz buc1
Cablaj PCB1 Sticlotextolit dublu placat 100x89mm buc 1
Subsistemul software
Subsistemul software este alcătuit din două părți. O parte este programul micro-controllerului realizat în MicroC pro for PIC care este responsabil de controlul dispozitivului și tratează intrările ADC ai senzorilor. Iar cealaltă parte este interfața utilizator realizat în LabVIEW, care este responsabil de prelucrarea datelor și afișarea acestora precum și controlul manual al sistemului de monitorizare a calității apei.
Programele de funcționare pentru sistemul cu microcontroler
Programul de funcționare a sistemului a fost realizat în MicroC Pro for PIC, în acest program, microcontrolerele sunt programate în limbaj de programare de nivel superior, este vorba de limbajul de programare C cu bibliotecile specifice microcontrolerelor din familia PIC. După scrierea programului în C, MicroC-ul generează un fișier .HEX care este încărcat în microcontroler. Bootloader-ul a fost încărcat cu ajutorul programatorului PIC-KIT2, iar fișierul .HEX prin intermediul comunicației USB.
Comenzile principale folosite în realizarea programelor de funcționare sunt:
Sbit (nume) at (PORTUL_PIN)
Această comandă este pentru declararea unei variabile care corespunde cu un pin al microcontrolerului (de ex. sbit Pompa at RB5_bit;)
USB_Interrupt_Proc();
Este o funcție USB care generează întreruperi din 100 în 100ms, să nu se piardă comunicația.
Sound_Play(frecventa, durată);
Este o funcție dintr-o bibliotecă internă care generează un sunet pe un buzer de tip piezo-electric, care este definit într-un pas de inițializare.
goto: eticheta
Este o funcție pentru salt în cod la o etichetă. Saltul se poate face numai în interiorul funcției de unde a fost apelat.
Adc_Read(canal ADC);
Este o funcție care returnează o valoare citită de pe un canal ADC.
readbuff[index], writebuff[index]
Sunt variabile tampon pentru comunicația USB unde sunt memorate datele care trebuie trimise și care au fost primite.
– HID_Write(&writebuff, număr bytes)
Este funcția de scriere pe interfața USB HID.
– HID_Read();
Este funcția de citire a datelor primite pe USB HID.
– HID_Enable(&readbuff,&writebuff);, HID_Disable();
Sunt funcțiile care inițializează sau o deinitializeaza comunicația HID.
– Delay_ms(număr milisencunde);
Este o funcție de așteptare un număr dat de milisecunde.
Aceste funcții sunt niște funcții speciale, care numai biblioteca din MicroC o are, în rest toate comenzile și funcțiile sunt asemănătoarea limbajului de programare C (cum ar fi bucla for, while, structura case, instrucțiunea if else ș.a.m.d. ).
Sistemul de monitorizare a calității apei poate funcționa pe comenzi primite de la USB sau butonul manual. În cazul în care comenzile sunt primite pe USB, datele măsurate de către sistem sunt trimise înapoi către calculator. În cazul în care este apăsat butonul manual, sistemul efectuează o măsurătoare, apoi datele de la senzori sunt memorate în EEPROM. Când dispozitivul este conectat la USB, există posibilitatea de a extrage informațiile din EEPROM.
Modulul principal al programului din microcontrolerul PIC18F2550 este alcătuit de o inițializare al sistemului, urmat de o buclă infinită unde este partea de monitorizare USB, butonul manual; partea de comandă pentru subrutinele sistemului și partea de gestionare e erorilor.
Inițializarea sistemului constă în:
Primul pas este inițializarea funcțiilor interne ale microcontrolerului, cum ar fi configurația porturilor (care pini sunt intrări și care ieșiri), configurația ADC, ș. a. m. d.
Al doilea pas este alocarea unor valori pentru toate variabilele folosite
Al treilea pas este pregătirea variabilelor tampon (buffer) USB și se activează comunicația pe HID.
Apoi se aprinde ledul de start și programul de monitorizare buton sau USB este gata să ruleze
În funcție de ce se activează, acesta intră în subrutinele specifice apoi verifică eroarea, daca nu este eroare se reia ciclul. În cazul unei erori, eroarea este transmisa si memorata, apoi programul se oprește.
Toate aceste comenzi se observă în schema bloc de mai jos (fig. 4.81):
Fig. 4.81 Schema bloc a programului principal
Comenzile modulului de verificare de caractere ce se obțin prin USB, sunt:
• Dacă primește 1, este comanda de umplere a camerei de măsurare.
• Dacă primește 2, este efectuată o măsurare apoi este transmise carte LabView
• Dacă primește 3, este comanda subrutinei de golire.
• Dacă primește 4, intră în subrutina de curățare a senzorilor
• Dacă primește 5, transmite informațiile stocate din EEPROM
• Dacă primește 6, este executată o combinație de subrutine care spală senzorii, umple camera unde sunt amplasați senzorii, efectuează o măsurare, transmite către calculator, apoi golește apa din dispozitiv.
Schema bloc al acestui modul se observa în fig. 4.82.
Fig. 4.82 Schemă bloc decodificator caractere
Funcția de umplere:
void umplere(){
Sound_Play(1100,200); //atentionare sonora
Valva1=0; //se pun distribuitoarele pe pozitia de umplere
Valva2=0;
do{ //bucla de monitorizare senzor nivel
if(senz_nivel==0){ //daca senzorul de nivel este 0 atunci Pompa ramane activa
cnt=0;
Pompa=1;
led_V=0; //semnalizare vizuala ca aparatul este in lucru
led_R=0;
led_G=1;
f_ump=1;
}
else{ //cand senzorul de nivel esete 1 atunci se orpeste pompa
Pompa=0;
led_V=1;
led_R=0;
led_G=0;
f_ump=0;
}
delay_ms(80);
cnt++; // pentru eroare de umplere
if(cnt==680){
r_err=6;
f_err=1;
}
}
while(f_ump==1 || cnt<680); //sfarsit bucla de monitorizare
}
După cum se observă în codul de mai sus, în această funcție se trec valvele pe pozițiile de umplere cu apa eșantion, apoi intră într-o bucla de monitorizare a senzorului de nivel și un time-out în cazul în care recipientul de apa eșantion este goală sau se înfundă pompa. Dacă trece din cauza timeout-ului se activează un flag de eroare și un registru de eroare ia o valoare care mai departe este transmisă către calculator unde se afișează eroare. Registrul este selectorul erorii.
Funcția de golire:
void golire(){
Sound_Play(1100,200); //atentionare sonora pentru golire
Valva1=0; //se seteaza distribuitoarele in pozitia de golire
Valva2=1;
Pompa=1; //se activeaza pompa
LED_V=0;
LED_R=0;
LED_G=1;
for(cnt=0;cnt<80;cnt++){ //bucla de asteptare golire
delay_ms(570); //De ajustat pe parcurs
LED_G=~LED_G; // lampa clipeste in timplul golirii
} //sfarsit bucla de asteptare golire
if(Senz_nivel==1){ //verificarea senzorului de nivel pentru defect in cazul in care nu s-a golit
f_err=1; //activare flag de eroare
r_err=1; //se seteaza eroaroare 1
Valva2=0; //se reseteaza valvele si se opreste pompa
Pompa=0;
LED_V=0;
LED_R=1;
LED_G=0;
}
else{ // daca nu a aparut o defectiune atunci se reseteaza
Valva2=0; //valva se opreste Pompa si se semnalizeaza auditiv
Pompa=0; //ca ciclul de golire s-a terminat
LED_V=1;
LED_R=0;
LED_G=0;
Sound_Play(1000, 450);
f_err=0;
}
}
Acesta funcție comandă Valva2 care este valva de golire, pornește pompa apoi intră într-o buclă de temporizare unde se așteaptă ca apa să fie evacuată din sistem. După acest pas de golire este o verificare a senzorului de nivel, ca să se verifice dacă într-adevăr a fost golit, în cazul în care se înfundă pompa, sau dintr-un oarecare defect nu se golește sistemul acesta activează flagul de eroare și alocă registrului de erori un număr.
Funcția de citire a senzorilor:
void citire(){
LED_R=0;
Sound_Play(1100,200); //atentionare auditiva pentru citire
delay_ms(100);
Sound_Play(1100, 200); //atentionare auditiva pentru citire
for(cnt=0;cnt<190;cnt++){ //bucla de asteptare pentru sabilizare apa
LED_G=1;
LED_V=0;
delay_ms(250); //lampile clipesc in contratimp
LED_G=0;
LED_V=1;
delay_ms(250);
} //sfarsit bucla de asteptare
LED_G=1;
LED_V=0;
Sound_Play(1100,250); Sound_Play(1150,250);Sound_Play(1250,250);
delay_ms(1000);
//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 citire turbiditate 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IR_LED=0;//Activare led IR
for(cnt=0;cnt<50;cnt++){ //bucla de citire
turb=turb+Adc_Read(2); // se efectueaza 50 de citiri
delay_ms(80);
} //sf bucla de citire
turb=turb/50; //se face o medie a citirilor
if(turb==0 || turb==1023){ //daca apare o defectiune electronica se activeaza
f_err=1; //flagul de eroare si se seteaza registrul pe 2
r_err=2;
}
else{
f_err=0;
r_err=0;
} //daca nu apar decetiuni se imparte valoare in numere
turb0=(turb/1000)%10; //pentru a avea un numar cu mii, sute, zeci si unitati
turb1=(turb/100)%10; //pentru transmitere USB, deoarece pe o variabila tampon
turb2=(turb/10)%10; //se pot trimite valori intre 0-255 iar o citire analogia
turb3=turb%10; //are valori intre 0-1023
IR_LED=1;//Dezactivare led IR
Sound_Play(1300,150);
În această funcție, primul pas după confirmarea sonoră că a intrat în funcție, este o bucla de temporizare care așteaptă să nu mai aibă mișcare de curgere apa, dacă se creează bule, să se ridice la suprafață (pentru că senzori sunt amplasați în partea inferioară). În această buclă ledul verde și cel galben clipesc intermitent și în contratimp, una față de cealaltă. După așteptare urmează o altă atenționare sonoră după care se iau senzori la rând primul este senzorul de turbiditate, unde se activează ledul infra-roșu care este pe 940 nm apoi se fac 50 de citiri ADC. Se face media citirilor, dacă valoarea mediei este 0 sau 1023 (ADC pe 10 biți) se activează eroarea, deoarece este o problemă electronică cu senzorul. Dacă nu este eroare, atunci intră într-o formulă care împarte numărul în mii, sute, zeci și unități și se alocă în variabile separate. Acest pas este crucial, pentru că, pe comunicația USB se trimit un șir de date, mai exact 64 de bytes. În LabVIEW când se primesc datele pe USB, acesta face o mulțime indexată. Acest lucru ajută foarte mult la procesarea datelor. Pe un byte se poate aloca valori între 0-255, ADC-ul fiind pe 10 biți acesta poate să măsoare un număr mai mare de la 0-1023. Din această cauză este împărțeala și alocare în variabile separate a numărului citit. Restul senzorilor sunt pe aceeași principiu de citire, se pot observa în ANEXA 1.
În funcția de curățare, se trage apa din furtune care a mai rămas, se evacuează cu o funcție asemănătoare funcției de golire. După evacuare, se trece Valva1 pe apă distilată apoi se face o umplere a camerei de măsurare care este asemănătoare funcției de umplere. După umplere se folosește funcția de golire. Acesta combinație de subrutine sunt în ANEXA 1.
Funcția de transmisie de date:
void transmisie(){
writebuff[0]=temp0; // se pregătesc variabilele tampon cu datele de la senzori
writebuff[1]=temp1;
writebuff[2]=temp2;
writebuff[3]=temp3;
writebuff[4]=turb0;
writebuff[5]=turb1;
writebuff[6]=turb2;
writebuff[7]=turb3;
writebuff[8]=ec0;
writebuff[9]=ec1;
writebuff[10]=ec2;
writebuff[11]=ec3;
writebuff[12]=ph0;
writebuff[13]=ph1;
writebuff[14]=ph2;
Fig. 4.83 Schema bloc a subrutinei de transmisie pe USB
writebuff[15]=ph3;
writebuff[16]=r_err;
for(cnt=0; cnt < 47; cnt++) { //bucla resetare variabile ramase
writebuff[cnt+17]=0; }
delay_ms(20);
while(!HID_Write(&writebuff,64)); //transmisie USB HID
Delay_ms(100);
led_R=0;
led_V=0; //se aprinde ledul verde pentru următoarea citire
led_G=1;
}
În acesta subrutină, fiecare variabilă de măsurare cu valorile obținute de la senzori, se alocă variabilelor tampon pentru comunicația HID. Urmează o buclă de resetare a variabilelor tampon rămase, adică se alocă numărul 0 pentru variabilele tampon de la indexul 17, până la 64. Apoi este o bulcă de așteptare, că sistemul să fie sigur că a transmis datele.
Interfața utilizator (LabVIEW)
Interfața utilizator a fost realizat în LabVIEW. Se poate interfața foarte ușor în acest software, iar interfața softului în sine este user-friendly. Limbajul de programare este una grafică de tip drag and drop. Programele de funcționare se numesc VI-uri (Instrumentație Virtuală), care au două ferestre principale. Unul este Front Panel, iar cealaltă fereastră este Block Diagram. În Front Panel este interfața cu care se întâlnește operatorul, iar Block Diagram conține codul sursă al interfeței.
În acest proiect interfața grafică a fost proiectată în așa fel încât să fie afișate toate elementele necesare, valori de la senzori cu limite. Dacă un senzor nu este în limita impusă, interfața atenționează operatorul printr-un led de OK sau NOK (not-OK). Ledul de OK se face verde iar ledul de NOK se face roșie. Toate valorile de la senzori sunt afișate prin indicatori de tip rezervor, precum și valoarea lor numerică. Acești indicatori și leduri de OK/NOK sunt partea principală a interfeței.
În partea de stânga jos, butoane pentru controlul dispozitivului. Este un buton de umplere, unul de golire, unul de curățare, unul de măsurare, unul de citire valori din memorie și unul de efectuarea unei măsurători automate, care este transmisă direct către interfață, fără să mai fie memorate în EEPROM. Transmisia aceasta directă și fără memorare se datorează faptului că dacă a primit o comandă din interfață atunci nu mai are rost să memoreze datele așa că sistemul le transmite direct către afișare.
Lângă căsuța cu butoanele de control manual sunt două căsuțe de tip text. În cea superioară, dacă unul dintre senzori a dat NOK, toată măsurătoarea nu este bună. Iar în partea inferioară este o căsuță care afișează erorile, în cazul în care registrul de eroare va avea un număr diferit de 0. Când intră în eroare, apare o fereastră de tip prompt, care are rolul de a atenționa operatorul că este o eroare în sistem și trebuie luate măsuri. În momentul în care operatorul apasă butonul OK, instanța LabVIEW se încheie, nepermițând să se dea alte comenzi către sistem (dar și sistemul are protecția ei, în care rămâne blocată până la înlăturarea erori).
Lângă căsuțele de tip text există un buton de stop care oprește rularea programului, iar sub buton este configurația USB HID. Numele dispozitivului în USB RAW și timeout-ul întreruperii pe care o așteaptă LabVIEW.
Fig. 4.61 Interfața utilizator
Pentru a deschide comunicația HID, s-a utilizat funcția VISA Open cu un selector pentru numele dispozitivului (resursă VISA) în USB RAW. Apoi cu o funcție de inițializare eveniment, cu o constantă s-a setat inițializarea evenimentului de întrerupere pe USB.
Fig. 4.62 Inițializare comunicație USB
După inițializare programul intră într-o bucla care este condiționată de butonul de stop. Când se apasă butonul de stop, iese din bucla while iar comunicația USB se deinițializează.
Cu ajutorul primei funcții VISĂ Close, se închide evenimentul de întrerupere, iar cu a doua funcție de VISĂ Close se închide comunicația pe USB.
Fig. 4.62 Deinițializare USB
În bucla while se află o structură de tip case unde se regăsesc funcțiile programului principal.
Fig. 4.63. Programul principal
Acesta structură de tip case are două cazuri. Cazurile se selectează cu mănunchiul (cluster) de erori. În cazul cu eroare de întrerupere, adică nu a avut eveniment de întrerupere și a intrat în timeout, structura este goală, adică interfața nu face nimic. În cazul în care se produce un eveniment de întrerupere, nu se generează erori în mănunchi, și deci intră în cazul numit No Error. Aici primul pas pe care îl face programul este colectarea datelor în urma întreruperii și fiecare byte venit de la dispozitiv intră într-o mulțime indexată. Cablul de conexiune de la mulțimea primită este legat la mai multe funcții de tip Indexed Array, cu care extragem informațiile byte cu byte din indexurile selectate. Selecția indexului se face cu o constantă de tip număr. Interfața primește patru șiruri de date cu indexuri diferite. Citirea analogică fiind împărțită în mii, sute, zeci și unități interfața trebuie să reconstruiască citirea ADC, drept care numerele primite pe șiruri intră într-o formulă de conversie. În funcție de ce senzor se utilizează, din testări experimentale sau catalogul senzorului s-au adaptat formule de conversie între citirea analogică și unității de măsură care trebuie afișate.
Fig. 4.65 Cazul cu eroare USB
După ce datele trec prin formulele de conversie, acestea ajung la indicatoarele de tip rezervor și la o funcție de decizie în care se setează limita superioară și limita inferioară, apoi în funcție de ce număr se primește, dacă intră în limitele valorilor setate, această funcție la ieșire trimite un semnal boolean de tip True (Adevăr). În cazul în care valoarea calculată nu intră în limitele impuse, funcția de selecție trimite un semnal boolean de tip False (fals). Ieșirea funcțiilor de verificare de limite intră în indicatori booleeni de tip LED care indică, dacă măsurătoarea respectivă intră sau nu în toleranțe.
Formulele de calcul pentru senzori sunt:
Pentru temperatură [50]
(4.18)
Unde T este temperatura în °C, iar VTEMP este valoarea ADC-ului în mV. Pentru conversia ADC de 10 biți (valori între 0-1023) în mV (valori între 0-5000mV) sa utilizat formula:
, (4.19)
Unde Vout în mV este valoarea în mV al ADC-ului citit. Vref în mV este tensiunea de referință 5000mV, iar ADC este valoarea măsurată de care convertorul analog-digital al microcontrolerului.
Pentru turbiditate
, (4.20)
Unde Tntu este valoare turbidității în NTU iar adc este valoarea adc de la senzor.
Pentru EC
, (4.21)
Unde EC este electro-conductivitatea apei în ppm (părți per milion), iar adc este valoarea citită de la senzori.
Pentru pH
(4.22)
Unde ph este valoarea concentrației ionilor de hidrogen, ADC este valoarea măsurată de către senzor, iar T este temperatură. Această formulă calculează ph-ul cu termo-compensație.
În LabVIEW, tot modulul principal conține și gestionarea erorilor. Registrul de eroare este transmis într-un șir cu un index specific, în acest caz indexul este 16. Șirul acesta intră într-o structură de tip case, în care selecția cazurilor se face cu numărul primit pe USB la indexul 16.
Fig. 4.66 Modulul de gestionare a erorilor.
În cazurile selectate de către numărul cu index 16 din șir, există constante de stringuri care sunt trimise către textboxul de afișare erori, precum și la o funcție de prompt, care este activat în cazul în care numărul primit de indexul 17 este mai mare ca 0.
Fig. 4.67 Modul de gestionare a erorilor cu fereastră de prompt.
În cazul în care fereastra prompt se activează, și se apasă pe butonul ok, acesta trimite un semnal către oprirea programului. Acest lucru este o măsură de siguranță, ca aparatul să nu mai aibă comunicație, că în cazul unei erori să nu mai poate primi comenzi.
Dacă nu sunt erori și măsurătoarele sunt OK, atunci se trimite către afișorul de tip text, Măsurătoare OK. Dacă apar erori sau undă dintre măsurări nu intră în limitele impuse, atunci se va afișa măsurătoare NOK.
Pentru monitorizarea butoanelor ș-a creat o subrutină, numită sub-VI. După amplasarea intrărilor și al ieșirilor de tip bool și text (fig. 4.68.), s-a alocat sub-VI ului conectori(fig. 4.69).
Fig. 4.68 Plasarea intrărilor și a ieșirilor pe Front Panel.
Aceste intrări și ieșiri nu sunt controale/indicatoare ci doar niște variabile de legatura pentru sub-VI.
Fig. 4.69 Conectori sub-VI-ului de monitorizare butoane
În Block Diagram, se află programul subrutinei. Aici este un sistem de cazuri cu selecție de tip bool. Se verifică primul buton, dacă este true, atunci pe ieșirea stringului se va regăsi numărul unu. Dacă este false atunci se verifică următorul buton ș. a. m. d.
Mai este o operație de tip ȘI logic pentru a genera un semnal de false în cazul în care se apasă orice buton. Acest lucru ajută la selecția cazului de transmisie de date.
Fig. 4.70 Subrutină de verificare butoane
Fig. 4.80 Pictograma și conectorii subrutinei de monitorizare a butoanelor.
REALIZAREA SISTEMULUI DE MONITORIZARE A CALITATII APEI
Camera de măsurare
Pentru camera de măsurare, materialele folosite sunt:
Țeavă de plexiglas transparentă de 30mm diametrul exterior cu grosimea peretelui de 2,5mm
Bară de teflon (PTFE) de diametrul de 38mm.
Bară de teflon (PTFE) de diametrul de 60mm
Două ștuțuri metalice pentru conexiuni furtune.
Un ștuț de PTFE la 90°, pentru conexiunea furtunului de golire.
Teacă din aluminiu pentru senzorul de temperatură.
Conectori de tip banană cu strat exterior de aur,
Silicon sanitar transparent.
Rășină de două componente (epoxi).
S-a debitat țeava de plexiglas la lungimea de 105mm cu ajutorul unui strung, pentru a evita abaterile de tip plan-paralel. S-au dat găurile pentru senzorul de conductivitate electrică cu ɸ 4mm, pentru senzorul de turbiditate ɸ 3mm pentru ledul IR și ɸ 5mm pentru senzorul IR. Pentru senzorul ph s-a frezat un dreptunghi de 13mm X 26mm. Pentru senzorul de temperatură s-a dat o gaură de ɸ 8mm.
Pentru teu s-a prelucrat bara de PTFE de ɸ 60mm la un utilaj cu comandă numerică SIP, conform desenului de executie din ANEXA 2.
Pentru confecționarea dopului din partea de umplere, s-a folosit un strung. S-a utilizat materialul PTFE de ɸ38mm. S-a strunjit diametrul exterior la ɸ35mm, diametrul interior de ɸ30mm, și gaură filetată M5 pentru ștuțul metalic.
Dopul superior a fost realizat din materialul PTFE ɸ38mm, strunjit în două trepte, ɸ35mm exterior, cu ɸ30 exterior treapta inferioară, cu lungimea primei trepte de 5mm iar lungimea treptei inferioare de 8mm
În centrul dopului s-a dat o gaură filetată M8 pentru senzorul de nivel, și o gaură filetată M4 pentru ștuțul metalic de aerisire poziționat la o rază de 9mm și la un unghi de 30° față de planul frontal pentru a evita strangularea furtunului de aerisire.
Pentru ștuțul de golire, conform ANEXEI 2 s-a prevăzut teul cu filet de G1/8
Componentele s-au asamblat cu strângere fără joc, etanșate cu silicon sanitar transparent. Excepție făcând senzorul pH care a fost lipit cu rășină epoxi, pentru o fixare mai rigidă.
Toate componentele au fost realizate la atelierul firmei SC.LOM.SRL și la fabrica de scule Râșnov.
Realizarea PCB-urilor:
Pentru metoda de execuție a cablajelor imprimate s-a optat pentru cea a termotransferului de toner, care dacă este realizată cu grijă oferă rezultate aproximativ egale cu cea foto a cărui proces este mult mai costisitor de realizat.
Ce diferă față de alte metode de realizare a circuitelor imprimate la nivel de amator sau serie mică este acoperirea cablajului pentru a fi protejat împotrivă oxidării.
Deși este un proces în mulți păși realizarea unei plăci se poate face sub 30 min. Pașii necesari realizării cablajelor este prezentată mai jos:
Se decupează placa la dimensiunile dorite folosind un bomfaier .
Se lustruiește placa folosind fie hârtie abrazivă cu o granulație mai mare de 600 , fie cu ajutorul unui burete de vase. Acest pas este foarte important pentru a obține un rezultat cât mai bun final, cu cât este mai bine lustruită placa cu atât substanța de acoperire este mai lucioasă.
Fig. 4.81 Lustruire placă de cupru[60]
Se curată cablajul folosind o soluție degresantă exemplu: alcool izotopic sau se spăla abundent placa cu detergent
Fig. 4.82. Curățare placă de cupru[60]
S e tipărește circuitul folosind o imprimată laser, hârtia folosită este foarte importantă , cu cele mai bune rezultate este cea cretată cu o densitate mai mare de 120 g/m și cu 2 fețe una lucioasă și una mată iar rezultatele obținute sunt foarte bune, se pot obține ușor trasee de 0.25mm .
Fig. 4.83. Tipărire circuit electronic pe foaie super-lucioasă[60]
5. Se decupează circuitul tipărit, vertical lăsând lateralele mai lungi pentru a putea fi îndoite în spate cablajului pentru o fixară mai bună.
6. Se încălzește un fier de călcat la o temperatură ~ 200 grade, Se apăsa peste placa aprox. 2 min, pe urmă se freacă apăsând ușor folosind o bucată de cârpă, se revine cu fierul de călcat frecând ușor pentru încă 2 min, după care se lasă placa la răcit.
Fig. 4.84. Transfer termic
7. Odată răcită placa la temperatura camerei, se înmoaie în apă călduță cu detergent aprox. 5 min.
8. Se îndepărtează hârtia, și se curată placa folosind o periuță de dinți până când dispare orice urmă de hârtie.
9. Se refac eventuale trasee dezlipite folosind un marker rezistent la acid.
10. Soluția aleasă pentru corodarea plăci este Clorură Ferică, având o concentrație de
38%. Se toarnă clorura ferică într-o tavă de plastic sau de sticlă. Se introduce
cablajul în această soluție.
Fig. 4.85 Corodare cupru
11. Dupa corodare se curăță placa folosind nitro diluant sau acetonă.
Fig. 4.86 Curățare PCB[60]
12. Se verifică la lumina unei lămpi eventuale trasee întrerupte după care se reverifică cu ajutorul unui multimetru cu buzer.
13. Se curată din nou placa cu apă și detergent .
Se găurește placa manual ,folosind un burghiu de Φ0,8mm.
14. Se tipărește fața superioară a cablajului partea cu componentele ,se plastifiază cu ajutorul unui laminator. Această față este opțională ,dar s-a trecut la realizare pentru a ușura echiparea cu componente și pentru a ușura citirea schemei .
15. Se populează placa cu componente și se cositorește având grijă să nu se depășească temperatura maximă admisă pentru cositorire a componentelor.
16. La final se va aplica un lac de protecție ,anti oxidare, cât mai uniform posibil folosind o pensulă cu fire de plastic și mișcări lente pentru a se evita formarea de bule. În cazul în care apar bule se va aștepta 5 min până acestea dispar în totalitate iar lacul se uniformizează.
Legătură între plăcile electronice se face cu două cabluri tip panglică. Una de 10 fire de la placa sursă de alimentare la placa unității de procesare. Iar una de 14 fire de la unitatea de procesare la placa de achiziție. Cablurile sunt prevăzute cu conectori ICD de 10 respectiv 14 pini montate prin presare. La sursa de alimentare fiind folosiți conectori de placă cu șurub, sau folosit papuci pe fiecare fir de alimentare separat prin sertizare.
Lista de componente se află la capitolul 4.2. Schemele electrice se regăsesc la ANEXA 3, ANEXA 4, ANEXA 5
Calibrarea senzorilor
Pentru senzorul de temperatură, calibrarea constă în adaptarea formulei de conversie din fișa de catalog, iar compararea valorii măsurate de microcontroler cu valoarea unui termometru etalonat. Diferența de valori se va ajusta prin constantele din formula de conversie. Termometrul etalon din cadrul firmei SC. LOM SRL a fost etalonat de metrologia de stat având certificatul PAM 03-BV1978.
Pentru senzorul de conductivitate fiind liniar, s-a utilizat o calibrare în două puncte. Soluțiile utilizate au fost apă distilată și de-ionizată cu valoare măsurată de 0,4 PPM și o soluție salină de 1g NaCl în 500 ml de apă distilată, care are o valoare de 2001,8 PPM. Soluțiile au fost preparate și măsurate de către laboratorul de chimie a apei al DSP Brașov.
Pentru senzorul pH s-a folosit o soluție de calibrare la standard la 4 pH și la 6,8 pH achiziționate din comerț. Senzorul este liniar cu o ieșire între 0-1.1V.
Pentru senzorul de turbiditate s-a folosit o calibrare în 4 puncte cu soluții de calibrare 0.1, 10, 100, 1000 NTU de către firma HANNA Instruments gama HI 83749-11. S-a adaptat o formulă utilizând softul gratuit online graph-sketch, pentru corelarea ADC-ului cu valorile standard de calibrare.
Testare software
După ce s-a proiectat firmware-ul din microcontroler și interfața utilizator, s-au rulat un set de teste pentru depanarea și optimizarea softului și pentru repetabilitatea măsurătorilor, adică un eșantion măsurat de mai multe ori să aibă aceleași valori. Să nu fie fluctuații de valori din punct de vedere hardware sau software. S-au testat toate formulele de conversie.
După implementarea sistemului de erori, s-au testat toate erorile de mai multe ori pentru a vedea reacționarea aparatului la apariția unei eventuale erori.
Manual de utilizare
1) Se verifică toate recipientele. Recipientul cu apă distilată să aibă destule apă pentru efectuarea a cel puțin o spălare. Recipientul cu apă eșantion să aibă destulă apă pentru numărul de măsurători ce vor fii efectuate. Recipientul de deșeuri să fie gol.
2) Se efectuează o verificare a conexiunilor hidraulice între recipient și dispozitiv
3) Aparatul se conectează la rețeaua electrică de 220V pe 50Hz, la o prize cu împământare.
4) Se acționează butonul de pornire de pe panoul frontal pe poziția 1.
5) Se așteaptă inițializarea dispozitivului, la finalul inițializării este o atenționare sonoră și se aprinde ledul verde care are semnificația de aparat inactiv.
6) Se conectează cablul USB în dispozitiv apoi la calculator
7) Se deschide interfața utilizator
8) Se alege din resursele USB, numele dispozitivului. După ce s-a ales numele, se inițializează conexiunea și interfața cu dispozitivul este pregătit pentru efectuarea măsurătorilor.
9) Prin butoanele de control manual sau măsurare automată se efectuează măsurătorile dorite
10) Valorile măsurate sunt afișate pe ecran pentru a putea evaluarea parametrilor în care se incadrează eșantionul măsurat.
11) După terminarea măsurătorilor se poate trece la o nouă măsurătoare unde curățarea se face automat sau în cazul în care s-au efectuat toate măsurătorile, și se dorește o curățare suplimentară, există un buton de curățare pe interfața utilizator.
12) La finalizarea tuturor măsurătorilor se apăsa butonul de stop din interfața cu utilizatorul
13) Se deconectează aparatul din USB
14) Se oprește dispozitivul din intrerupătorul de pe panou, care se trece pe poziția 0.
15) Se golesc recipientele de eșantion și deșeu și se clătesc cu apă distilată.
Protecția muncii
Sistemul de monitorizare a calității apei se folosește numai cu cablu de alimentare împământat, cu prize de alimentare împământata, pentru a preveni o eventuală electrocutare
Este interzis demontarea aparatului în timpul funcționării
Aparatul va fi depanat numai de către persoane autorizate
La observarea unei erori mecanice, electrice sau de funcționare, se oprește dispozitivul de la butonul de alimentare, se întrerupe alimentarea de la rețeaua electrică, se golesc recipientele de apă și se contactează unitatea de service.
Aparatul va fi așezat pe o suprafață plană, nivelată, cu distanța minimă față de margine de 20 cm, pentru prevenția unui eveniment de accidentare din cauza căderii aparatului pe membrele inferioare.
În timpul funcționării nu se mișcă aparatul din poziția plană. Deoarece echipamentul lucrează cu elemente hidraulice, preventiv aparatul trebuie să aibă o distanță minimă de 50cm față de alte aparate electronice pentru a evita stropirea cu apă în cazul unei defecțiuni hidraulice
Este interzisă montarea peste sau sub alte echipamente electrice sau care produc șocuri mecanice.
Zonele și punctele de lucru sau de întreținere ale echipamentului tehnic trebuie să fie iluminate corespunzător sarcinii de muncă efectuate.
Operațiile de întreținere trebuie sa poată fi efectuate atunci când echipamentul tehnic este oprit
În timplul funcționării, capacele de la cele trei rezervoare trebuie să fie înșurubate corespunzător.
Golirea rezervorului de evacuare, schimbarea rezervorului de spălare sau a rezervorului cu apa eșantion, se face numai când dispozitivul este oprit.
În timpul funcționării nu este permisă întreruperea conexiunii între dispozitiv si rețeaua electrica (pericol de electrocutarea ~220V).
Echipamentele tehnice vor fi amplasate astfel încât intre gabaritul lor funcțional maxim si pereții si stâlpii clădirilor sau pereții excavațiilor subterane sa existe o distanta de cel puțin 800 mm.
CONCLUZII FINALE, CONTRIBUȚII, PERSPECTIVE
În urmă realizării sistemului de monitorizare a calității apei să ajuns la concluzia:
Sistemul poate măsura 4 parametri de calitatea apei, optim în domeniul analizoarelor de biochimie.
Interfața cu utilizatorul este simplă, ușor de utilizat.
Este posibil controlul fiecărei funcții din dispozitiv independent.
Nu este necesară dezasamblarea aparatului pentru re-softare.
Este un sistem modular, ușor de depanat sau înlocuit piese.
Avantajele sistemului:
Aparatul este stabil la măsurători, are repetabilitate.
Nu este influențat de variațiile de tensiune de rețea.
Flexibil, ușor de adaptat și pe alte domenii.
Automatizarea controlului de alimentare cu apă.
Consum redus de energie electrică clasa A++.
Gabarit redus
Dezavantajele sistemului:
Zgomotul produs de pompă.
Volumul apei necesar camerei de măsurare.
Dispozitivul necesită instalare de driver (nu este plug and play).
Sistemul actual nu poate măsura apa aflată in mișcare de curgere.
Contribuții:
După o ampla analiză asupra sistemelor existente, sa determinat ca la nivel național nu există sisteme de monitorizare a calității apei care intră în analizoarele de biochimie.
Interfațarea sistemului de monitorizare calității apei pe calculator.
Adaptarea unui sistem de erori și în microcontroler.
Sa obținut o precizie ridicată de măsurare cu un sistem low cost față de cele existente pe plan internațional.
Direcții viitoare:
Adăugarea mai multor senzori pentru a acoperi și domeniul apei potabile.
Automatizarea controlului de alimentare cu apă în funcție de feedbackul sistemului.
Controlul dispozitivelor de filtrare și purificarea apei în funcție de măsurătorile aparatului.
Monitorizarea deteriorării și a uzurii filtrelor și a rășinilor de de-ionizare.
Implementarea unui buton LIVE, care să permită afișarea măsurătorii curente al eșantionului.
Memorarea datelor și salvarea în matrice bidimensională pentru prelucrare ulterioară în Excel.
Funcție de tipărirea datelor.
Implementarea comunicației fără fir și trimiterea datelor pe internet via Wi-fi sau Ethernet.
BIBLIOGRAFIE
[1] Sistemul IQ Sensor Net, http://www.multilab.ro/monitorizare_apa /monitorizare _ continua_apa.html, accesat in 08.06.2016
[2] HORIBA seria U, http://www.mecrosystem.ro/produs/sisteme-de-monitorizare-a-calitatii-apei-seria-u-ps15.html, accesat in 08.06.2016
[3] HANNA HI 991405, http://www.hannainst.ro/Sisteme-de-monitorizare/Monitorizare-pHECTDStemperatur%C4%83-domeniu-superior-cu-afi%C5%9Faj-iluminat–cID1351–pID2279.html, accesat in 08.06.2016
[4] Hydrolab DS, http://www.stevenswater.com/products/sensors/hydrology/ quality/multi/ds5/, accesat in 08.06.2016
[5] Pentair Mp47, http://www.stevenswater.com/products/sensors/hydrology/quality /multi/mp47_mp65/, accesat in 08.06.2016
[6] Arduino MEGA. https://store.arduino.cc/product/GBX00067, accesat in 08.06.2016
[7] Raspberry PI. https://www.raspberrypi.org/wp-content/uploads/2015/01/Pi2ModB1GB_-comp.jpeg, accesat in 08.06.2016
[8] Datasheet PIC18F2550, http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf, accesat in 08.06.2016
[9] Electro conductivitate, https://www.scribd.com/doc/137445951/Determinarea-Calitatii-Apelor-Prin-Masuratori-de-Conductivitate, accesat in 08.06.2016
[10] Principiul de măsurare a turbidității apei, emte.siculorum.ro/~meszarossandor/Monitoring/…/Monitoring%20Labgyak4.docx , accesat in 08.06.2016
[11] Șef lucr.dr. Mihaela DUDITA, Cursul 5,6 disciplina Chimie, 2012, Universitatea Transilvania din Brașov
[12] Șurub și piuliță din oțel, https://www.robofun.ro/piulita-otel-M3?search=piulita, accesat in 10.06.2016
[13] Tablă din oțel, http://melindasteel.ro/table-din-otel/85-tabla-laminata-la-cald-3.html#, accesat in 10.06.2016
[14] Standard EN10111, http://www.gruppocommit.it/assets/Uploads/decapato2.pdf, accesat in 10.06.2016
[15] Colțari, http://www.profilux.ro/produse/Cornier_din_aluminiu_cu_laturi_egale_ _10X10X1_0_mm___LEA101___LEA102-583.html, accesat in 10.06.2016
[16] Șuruburi, http://www.surub.net/documents/CatalogSURUBEXPERT.pdf, accesat in 10.06.2016
[17] Piuliță, https://www.robofun.ro/piulita-otel-M3?search=piulita, accesat in 10.06.2016
[18] Ștuțuri, http://www.abacomp.ro/accesorii-pneumatice/racorduri/racorduri-cu-stut/16000-06-stut-de-legatura-pt-furtun-d14-html, accesat in 10.06.2016
[19] Plexiglas, http://i.dedeman.ro/media/file/file//s/p/specificatii_tehnice_plexiglas.pdf, accesat in 10.06.2016
[20] Șuruburi ornamentalehttp://www.bendkopp.ro/files/catalogues/Lista_produse_2012-2013.pdf, accesat in 10.06.2016
[21] Șina suport, http://www.tme.eu/ro/Document/cbeff9f41df8da411a5b8 421f6371d06/BCG-250.pdf, accesat in 10.06.2016
[22] Colier de plastic, http://www.kalorifere.ro/colier-din-plastic-pentru-teava-ppr-25×1-p2799.html, accesat in 10.06.2016
[23] Cauciuc de atenuare vibrații, http://www.westbuy.ro/dji-drone-filmari-aeriene/accesorii-drone-multicopter/dji-h3-2d-gimbal-spare-damping-rubber-dji-h3-2d-h3-3d-bucse-cauciuc-rezerva.html, accesat in 10.06.2016
[24] Distanțoare filetate, http://www.tme.eu/ro/details/tfm-m3_20/distantiatoare-din-metal/fixfasten/, accesat in 10.06.2016
[25] https://www.sea.ro/Feronerie-pentru-Mobila/Elemente-de-Cuplare/Conectori-Mobilier/Fixari-Diverse/c/2.3.1.2?q=%3Aname-asc&pageSize=50&page=1, accesat in 10.06.2016
[26] Tub plexiglas, http://www.monsmedius.ro/files/materiale/pdf/tuburi-bare.pdf, accesat in 10.06.2016
[27] Teflon PTFE, http://vaspet.ro/ro/produse-teflon-ptfe/bara-bare, accesat in 10.06.2016
[28] Rășină epoxidică, http://www.bison.net/en/products/647-2-components-adhesives/product/2268-epoxy-universal/, accesat in 10.06.2016
[28] Silicon sanitar, http://www.temad.ro/adezivi-etanseizanti/etanseizanti/bison-silicon-sanitar-alb?vid=126769, accesat in 10.06.2016
[29] Datasheet pompă de apă, www.knfusa.com/?type=5600&fileref=6741, accesat in 11.06.2016
[30] Distribuitoare 3/2, http://g02.a.alicdn.com/kf/HTB1Gz9dJXXXXXc1XpXXq6x XFXXX5/3-way-ASCO-valve-for-Mindray-Hematology-Analyzer-BC2300-BC2600-BC2800-BC3000-BC3200.jpg_640x640.jpg, accesat in 11.06.2016
[31] Furtun Clearflo, https://www.gvc.net/media/categories/tube-pvc-clear-2.gif, accesat in 11.06.2016
[32] Filtru de aer, http://www.liamed.ro/poze_produse/imagini_zoom/filtru_spiro_ P1378.png, accesat in 11.06.2016
[33] Nicolae Drăgulescu Agenda radio-electronistului ediția a-II-a Editura Tehnica, București 1989
[34] I. Ristea, C.A. Popescu, Stabilizatoare de tensiune, Editura Tehnica, București, 1983
[35] Mircea A. Ciugudean, Stabilizatoare de tensiune cu circuite integrate liniare. Dimensionare, Editura de Vest, Timișoara, 2001
[36] Mihai Dincă, Electronică. Manualul studentului, Vol I și II
[37] LM7805 Stabilizator Integrat, https://www.fairchildsemi.com/datasheets/LM/LM7805.pdf, Accesat la data de 11.06.2016
[38] Ventilator Sistem, http://tor-online.ro/produse/247-ventilatoare/392-12vcc/2658-ventilator– 12v– 50x50x10-mm-lagar-sunon-eb50101s2.html ,Accesat la data de 11.06.2016.
[39] Intrerupător Rocker, http://www.tme.eu/en/Document/fae49b859ba2194d882 69045e190631a/A8M.pdf, Accesat la data de 11.06.2016.
[40] Soclu Alimentare, http://www.tme.eu/en/Document/31cd74547b6f661bb61790a747 b0011b/typ_6100-3.pdf, Accesat la data de 11.06.2016.
[41] LM350 Stabilizator Integrat, https://www.fairchildsemi.com/datasheets/LM/LM350.pdf Accesat la data de 11.06.2016.
[42] LM7915 Stabilizator Integrat, http://www.ti.com/lit/ds/symlink/lm7915.pdf, Accesat la data de 11.06.2016.
[43] Deplasarea moleculelor pe electrozi http://www.octiva.net/projects/ppm/, Accesat la data de 11.06.2016.
[44] Comportamentul moleculelor la un semnal AC, http://www.hkphy.org/energy/ domestic/cook_phy/images/emwave_h2o.gif, Accesat la data de 11.06.2016.
[45] pH, https://ro.wikipedia.org/wiki/PH, accesat la data de 11.06.2016
[46] limite pH, http://www.dolomita.ro/wp-content/uploads/2015/02/tabel_ph.png, Accesat la data de 11.06.2016
[47] pH-metru, http://www.seafriends.org.nz/dda/ph05.gif, accesat la data de 11.06.2016
[48] Soluții de calibrare turbiditate, https://upload.wikimedia.org/wikipedia/com mons/c/c6/TurbidityStandards.jpg, accesat in data de 11.06.2016
[49] Considerații teoretice turbiditate, https://ro.wikipedia.org/wiki/Turbiditate, accesat la data de 11.06.2016
[50] Fisa de catalog al senzorului de temperatura LMT38, http://www.ti.com/lit/ds/symlink/lmt86-q1.pdf, accesat in data de 16.06.2016
[60] Realizarea cablajelor imprimate, http://cncro.ro/lang/ro-ro/realizare-cablaje/, accesat in data de 16.06.2016
ANEXA 1
Codul sursă a programului de funcționare:
//==============================Conexiuni============================
sbit LED_R at RC0_bit; //ROSU
sbit LED_G at RA4_bit; //GALBEN
sbit LED_V at RC2_bit; //VERDE
sbit volt12 at RB3_bit;//+-12 volt relay
sbit volt5 at RB4_bit;//+-5 volt relay
sbit Pompa at RB5_bit; //Releu pompa
sbit Valva2 at RB7_bit;//Valva1
sbit Valva1 at RA5_bit;//Valva2,3
sbit IR_LED at RB6_bit;//Led infrarosu turbiditate
sbit But_0 at RB0_bit;
sbit Senz_nivel at RB2_bit;
//============================DEFINIREA VARIABILELOR=================================
unsigned char readbuff[64] absolute 0x500; // VARIABILE TAMPON PENTRU RAM USB
unsigned char writebuff[64] absolute 0x540; // VARIABILE TAMPON PENTRU RAM USB
char cnt; // VAR DE NUMARARE PENTRU BUCLE FOR
int temp0,temp1,temp2,temp3,turb0,turb1,turb2,turb3; //VAR VALORI SENZORI
int ec0,ec1,ec2,ec3,ph0,ph1,ph2,ph3;
long int temp,turb,ec,ph;
short r_err=0;//REGISTRU EROARE
bit f_ump; //FLAG PENTRU UMPLERE
bit f_gol; //FLAG PENTRU GOLIRE
bit f_but; //FLAG PENTRU BUTON
bit f_err; //FLAG PENTRU EROARE
//=======================================================================
void interrupt(){ //functie de intrerupere USB (se activeaza in fiecare 100ms)
USB_Interrupt_Proc(); // deservirea USB se face în interiorul intreruperii
}
//–––––––Functie pentru curatarea camerei de masurare–––––
void curatare(){
LED_G=1; //punem ledul de activ pe 1
LED_V=0; //stingem ledul de inactiv
Sound_Play(1100,200); //atentionare sonora pentru incepere secventa de curatare
Sound_Play(1100,200);
Sound_Play(1100,200);
Valva1=0; //pozitionare valve si pornire pompa
Valva2=0;
Pompa=1;
delay_ms(10000); //asteptare golire furtun
Pompa=0;
delay_ms(200); //timp de asteptare pentru valve
Valva1=0;
Valva2=1; //golire
delay_ms(200);
Pompa=1;
delay_ms(15000);
Pompa=0;
delay_ms(200);
Valva2=0; //umplere cu apa distilata
Valva1=1;
delay_ms(200);
Pompa=1;
cnt=0;
do{ //bucla de monitorizare senzor nivel
if(senz_nivel==0){ //daca senzorul de nivel este 0 atunci Pompa ramane activa
Pompa=1;
led_V=0; //semnalizare vizuala ca aparatul este in lucru
led_R=0;
led_G=1;
f_ump=1;
}
else{ //cand senzorul de nivel esete 1 atunci se orpeste pompa
Pompa=0;
led_V=1;
led_R=0;
led_G=0;
f_ump=0;
}
delay_ms(80);
cnt++; //timeout pentru eroare de umplere
if(cnt>=680){
r_err=7;
f_err=1;
goto end1;
}
}
while(f_ump==1 && cnt<680); //sfarsit bucla de monitorizare
Pompa=0;
delay_ms(200);
Valva2=1; //golire
Valva1=0;
delay_ms(200);
Pompa=1;
for(cnt=0;cnt<80;cnt++){ //bucla de asteptare golire
delay_ms(680);
LED_G=~LED_G; // lampa clipeste in timplul golirii
}
goto end1;
end1:{
Pompa=0; //resetare variabile
Valva2=0;
Valva1=0;
LED_G=0;
}
}
//–––––––Functie pentru umplerea camerei de masurare–––––
void umplere(){
Sound_Play(1100,200); //atentionare sonora
Valva1=0; //se pun distribuitoarele pe pozitia de umplere
Valva2=0;
do{ //bucla de monitorizare senzor nivel
if(senz_nivel==0){ //daca senzorul de nivel este 0 atunci Pompa ramane activa
cnt=0;
Pompa=1;
led_V=0; //semnalizare vizuala ca aparatul este in lucru
led_R=0;
led_G=1;
f_ump=1;
}
else{ //cand senzorul de nivel esete 1 atunci se orpeste pompa
Pompa=0;
led_V=1;
led_R=0;
led_G=0;
f_ump=0;
}
delay_ms(80);
cnt++; //timeout pentru eroare de umplere
if(cnt==680){
r_err=6;
f_err=1;
}
}
while(f_ump==1 || cnt<680); //sfarsit bucla de monitorizare
}
//––––––––––functie pentru golirea camerei de masurare––-
void golire(){
Sound_Play(1100,200); //atentionare sonora pentru golire
Valva1=0; //se seteaza distribuitoarele in pozitia de golire
Valva2=1;
Pompa=1; //se activeaza pompa
LED_V=0;
LED_R=0;
LED_G=1;
for(cnt=0;cnt<80;cnt++){ //bucla de asteptare golire
delay_ms(680);
LED_G=~LED_G; // lampa clipeste in timplul golirii
} //sfarsit bucla de asteptare golire
if(Senz_nivel==1){ //verificarea senzorului de nivel pentru defect in cazul in care nu s-a golit
r_err=1; //se seteaza eroaroare 1
f_err=1; //activare flag de eroare
Valva2=0; //se reseteaza valvele si se opreste pompa
Pompa=0;
LED_V=0;
LED_R=1;
LED_G=0;
goto endg;
}
else{ // daca nu a aparut o defectiune atunci se reseteaza
Valva2=0; //valva se opreste Pompa si se semnalizeaza auditiv
Pompa=0; //ca ciclul de golire s-a terminat
LED_V=1;
LED_R=0;
LED_G=0;
Sound_Play(1000, 450);
f_err=0;
}
endg:{}
}
//–––––––––-funtie de asteptare stabilizare apa ––––––
void astept(){
Sound_Play(1100,200); //atentionare auditiva pentru citire
delay_ms(100);
Sound_Play(1100, 200); //atentionare auditiva pentru citire
for(cnt=0;cnt<190;cnt++){ //bucla de asteptare pentru sabilizare apa 250
LED_G=1;
LED_V=0;
delay_ms(250); //lampile clipesc in contratimp
LED_G=0;
LED_V=1;
delay_ms(250);
} //sfarsit bucla de asteptare
}
//–––––––––-funtie de citirea senzorilor–––––––-
void citire(){
LED_G=1;
LED_V=0;
Sound_Play(1100,250); Sound_Play(1150,250);Sound_Play(1250,250);
delay_ms(1000);
//0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 citire turbiditate 0 0 0 0 0 0 0 0 0 0 0 0 0 0
IR_LED=0;//Activare led IR
for(cnt=0;cnt<50;cnt++){ //bucla de citire
turb=turb+Adc_Read(2); // se efectueaza 50 de citiri
delay_ms(80);
} //sf bucla de citire
turb=turb/50; //se face o medie a citirilor
if(turb==0 || turb<1023){ //daca apare o defectiune electronica se activeaza
r_err=2;
f_err=1; //flagul de eroare si se seteaza registrul pe 2
goto endc;
}
else{
f_err=0;
r_err=0;
} //daca nu apar decetiuni se imparte valoare in numere
turb0=(turb/1000)%10; //pentru a avea un numar cu mii, sute, zeci si unitati
turb1=(turb/100)%10; //pentru transmitere USB, deoarece pe o variabila tampon
turb2=(turb/10)%10; //se pot trimite valori intre 0-255 iar o citire analogia
turb3=turb%10; //are valori intre 0-1023
IR_LED=1;//Dezactivare led IR
Sound_Play(1300,150);
//0 0 0 0 0 0 0 0 0 0 0 0 0 0 citire conductivitate 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Volt12=1; //activare releu pentru alimentare 12v la placa
LED_G=0; //de achizitii de date
LED_V=1;
Delay_ms(4000);
LED_G=1;
LED_V=0;
for(cnt=0;cnt<50;cnt++){
ec=ec+Adc_Read(0);
delay_ms(80);
} //VEZI TURBIDITATE este acelasi principiu
ec=ec/50;
if(ec==0 || ec==1023){
r_err=4;
f_err=1;
goto endc;
}
else{
f_err=0;
r_err=0;
}
ec0=(ec/1000)%10;
ec1=(ec/100)%10;
ec2=(ec/10)%10;
ec3=ec%10;
Volt12=0; //dezactivare releu alimentare 12v
Delay_ms(1000);
Sound_Play(1300,150);
//0 0 0 0 0 0 0 0 0 0 0 0 0 0citire pH 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
volt5=1; //activare releu de alimentare 5v pentru pH
LED_G=0;
LED_V=1;
Delay_ms(4800);//Delay stabilizare Amplificatoare PH
LED_G=1;
LED_V=0;
for(cnt=0;cnt<50;cnt++){
ph=ph+Adc_Read(1);
delay_ms(80);
}
//VEZI TURBIDITATE este acelasi principiu
ph=ph/50;
if(ph==0 || ph==1023){
r_err=5;
f_err=1;
goto endc;
}
else{
f_err=0;
r_err=0;
}
ph0=(ph/1000)%10;
ph1=(ph/100)%10;
ph2=(ph/10)%10;
ph3=ph%10;
volt5=0; //dezactivare releu alimentare 5v pentru pH
Sound_Play(1300,150);
//0 0 0 0 0 0 0 0 0 0 0 0 0 citire temperatura 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
for(cnt=0;cnt<50;cnt++){
temp=temp+Adc_Read(3);
delay_ms(80);
} //VEZI TURBIDITATE este acelasi principiu
temp=temp/50;
if(temp==0 || temp==1023){
r_err=3;
f_err=1;
goto endc;
}
else{
f_err=0;
r_err=0;
}
temp0=(temp/1000)%10;
temp1=(temp/100)%10;
temp2=(temp/10)%10;
temp3=temp%10;
Sound_Play(1300,150);
endc:{}
}
//–––––––-Funcite de transmisite date pe USB–––––––-
void transmisie(){
writebuff[0]=temp0; // se pregatesc variabilele tampon cu datele de la senzori
writebuff[1]=temp1;
writebuff[2]=temp2;
writebuff[3]=temp3;
writebuff[4]=turb0;
writebuff[5]=turb1;
writebuff[6]=turb2;
writebuff[7]=turb3;
writebuff[8]=ec0;
writebuff[9]=ec1;
writebuff[10]=ec2;
writebuff[11]=ec3;
writebuff[12]=ph0;
writebuff[13]=ph1;
writebuff[14]=ph2;
writebuff[15]=ph3;
writebuff[16]=r_err;
for(cnt=0; cnt < 47; cnt++) { //bucla resetare variabile ramase
writebuff[cnt+17]=0; }
delay_ms(20);
while(!HID_Write(&writebuff,64)); //transmisie USB HID
Delay_ms(100);
led_R=0;
led_V=1; //se aprinde ledul verde pentru urmatoarea citire
led_G=0;
}
void initializare(){
Sound_Init(&PORTC,6); // Initializare buzzer la PORTC/RC6
volt12=0; //se reseteaza aparatul pentru pozitie initiala
volt5=0;
LED_R =1; //se aprind toate ledurile pentru verificare de functionare
LED_G =1;
LED_V=1;
Pompa=0;
Valva1=0;
Valva2=0;
IR_LED=1; //atentie Led-ul este activ pe 0 logic
temp=0; //initializare variabile pentru senzori
temp0=0;
temp1=0;
temp2=0;
temp3=0;
turb=0;
turb0=0;
turb1=0;
turb2=0;
turb3=0;
ec=0;
ec0=0;
ec1=0;
ec2=0;
ec3=0;
ph=0;
ph0=0;
ph1=0;
ph2=0;
ph3=0;
f_err=0;
r_err=0;
HID_Enable(&readbuff,&writebuff); //initializare comunicatie HID
readbuff[0]=0;
Sound_Play(1100,200); //atentionare sonora pentru sfarsitul initializarii
delay_ms(100);
Sound_Play(1100, 200);
}
void main(void){
ADCON0=0x01; //activare ADC
ADCON1 |= 0x0B; // Configurare AN0,AN1,AN2,AN3 ANALOG resutl sunt DIGITALE
CMCON |= 7; // dezactivare Comparatoare
PORTA=0x00; //resetare porturi
LATA=0x00;
TRISA=0x0F; //RA0,RA1,RA2,RA3 INPUT pentru ADC Read
PORTB=0x00;
LATB=0x00;
TRISB=0x07; //RB0,RB1,RB2 Input
PORTC=0x00; //Clear
LATC=0x80;
TRISC=0x00; //PORTC Output
//PORT SI LAT sunt starea porturilor iar TRIS este configuratia de I/O
LED_V=1; //se aprinde lampa verde
LED_R =0;
LED_G =0;
readbuff[0] =0;
//==========Program Loop======================================================
while(1){ //bucla infinita
cnt=0;
do{
if(PORTB.F1==0){ //monitorizare buton manual de pornire
delay_ms(50); //asteptare debounce
if(PORTB.F1==0){ //reverificare buton de pornire
f_but=1; //flag buton activ
}
}
delay_ms(10); //timeout asteptare intrerupere USN
cnt++;
}
while(!HID_Read() && cnt<20); //Asteptare USB sau timeout
switch(Readbuff[0]){ //in cazul in care primim ceva pe USB aceasta
case 0: //functie decide ce a primit
break;
case '1': umplere(); //subrutina umplere camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
Readbuff[0]=0; //resetare variabila citita de pe USB
break;
case '2': citire(); //subrutina de citire a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
transmisie(); //subrutina de transmisie date
delay_ms(200);
Readbuff[0]=0;
break;
case '3': golire(); //subrutina golire camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
Readbuff[0]=0;
break;
case '4': curatare(); //subrutina de curatare a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
Readbuff[0]=0;
break;
case '5': ci_mem(); //subrutina de citire EEPROM
transmisie();
if(f_err==1){goto eroare;} //verificare flag erori
Readbuff[0]=0;
break;
case '6':
curatare(); //subrutina de curatare a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
umplere(); //subrutina umplere camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
astept(); //subrutina de asteptare pentru temperatura
citire(); //subrutina de citire a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
golire(); //subrutina golire camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
sc_mem(); //subrutina de sotcare date in EEPROM
Sound_Play(1250,700); // atentionare sonora sfarsit secventa.
delay_ms(250);
Readbuff[0]=0;
break;
}
if(f_but==1){ //daca flagul de buton este activ incepe secventa
curatare(); //subrutina de curatare a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
umplere(); //subrutina umplere camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
astept(); //subrutina de asteptare pentru temperatura
citire(); //subrutina de citire a senzorilor
if(f_err==1){goto eroare;} //verificare flag erori
golire(); //subrutina golire camera de masurare
if(f_err==1){goto eroare;} //verificare flag erori
transmisie(); //subrutina de transmisie date
Sound_Play(1250,700); // atentionare sonora sfarsit secventa.
delay_ms(250);
Sound_Play(1250,700);
delay_ms(250);
Sound_Play(1250,700);
f_but=0;
}
}
eroare: //eticheta de eroare
Valva1=0; //se opreste aparatul
Valva2=0;
Pompa=0;
led_G=0;
LED_V=0;
LED_R=~LED_R; //ledul rosu va clipi intermitent
do{
writebuff[16]=r_err; //transmisie cod eroare pe USB
while(!HID_Write(&writebuff,64));
delay_ms(250);
}while(1);
} //Sfarsit program
ANEXA 2
ANEXA 3
Schema electronică a sursei de alimentare, cu schemele cablajului imprimat:
ANEXA 4
Schema electronică a plăcii de achiziție de date cu schema cablajelor imprimate:
ANEXA 5
Schema electronică a unității de procesare, cu schema cablajelor imprimate:
Partea superioară:
Partea inferioară:
Top silk:
ANEXA 6
Poze de pe parcursul realizarii și produsul final:
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Contextul proiectului [307411] (ID: 307411)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
