Șef lucr.dr.ing. MANTA LIVIU-FLORIN IULIE 2016 CRAIOVA Controlul unui sistem de încălzire cu radiații infraroșii în spectru îndepărtat Ciocîrlie… [303744]
PROIECT DE DIPLOMĂ
Ciocîrlie George Valeriu
COORDONATOR ȘTIINȚIFIC
Șef lucr.dr.ing. [anonimizat] 2016
CRAIOVA
Controlul unui sistem de încălzire cu radiații infraroșii în spectru îndepărtat
Ciocîrlie George Valeriu
COORDONATOR ȘTIINȚIFIC
Șef lucr.dr.ing. [anonimizat] 2016-
CRAIOVA
„Învățătura este o comoară care își urmează stăpânul pretutindeni.”
„De la Neculce încoace cărțile din cărți se face…”
[anonimizat]: [anonimizat], Calculatoare și Electronică a [anonimizat], [anonimizat]:
[anonimizat].dr.ing. [anonimizat],
prezentată în sesiunea IULIE 2016.
[anonimizat]:
reproducerea exactă a [anonimizat]-o [anonimizat]-o [anonimizat], [anonimizat],
prezentarea unor date experimentale obținute sau a unor aplicații realizate de alți autori fără menționarea corectă a [anonimizat] a [anonimizat].
Pentru evitarea acestor situații neplăcute se recomandă:
plasarea între ghilimele a citatelor directe și indicarea referinței într-o [anonimizat] a [anonimizat] a sursei originale de la care s-a [anonimizat] s-[anonimizat], figuri, imagini, statistici, [anonimizat], a căror paternitate este unanim cunoscută și acceptată.
Data, Semnătura candidat: [anonimizat],
PROIECTUL DE DIPLOMĂ
REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC
În urma analizei lucrării candidat: [anonimizat]:
[anonimizat]:
Data, [anonimizat]. Rezumatul proiectului are menirea de a da potențialilor cititori o imagine succintă a temei abordate și a motivației alegerii acesteia, a [anonimizat] a tehnologiilor utilizate, a problemelor întâlnite pe parcursul realizării acesteia și modul de soluționare al acestora. [anonimizat].
Proiectul are ca scop reglarea/asigurarea confortului termic pe timpul iernii într-o [anonimizat]. [anonimizat] a [anonimizat] ale anului.
Se va folosi o placă de dezvoltare Arduino UNO R3 având un număr de intrări/ieșiri suficient pentru acest proiect. Senzorii de temperatură (3 la număr) folosiți sunt DHT11. Se folosește un releu pentru a comanda trecerea curentului către rezistența termică.
Ca element de încălzire se vor folosi 2 foițe de folie autoadezivă Thermo, care se alimentează la 12 V legate în paralel la alimentator prin intermediul unui releu, consumând în total aproximativ 1,8A. Macheta va fi realizată din PFD (carton presat), decupat cu un ferăstrău electric
Termenii cheie: arduino, încălzire, control, senzori, temperatură, termostat
MULȚUMIRI
În această secțiune opțională (în eng., Acknowledgements), autorul are ocazia de a face o declarație de recunoștință față de oricine (conducătorul științific/alte persoane apropiate autorului/instituții/organizații/et caetera) a susținut sau a contribuit la realizarea lucrării sale.
Țin să mulțumesc părinților mei pentru sprijinul financiar în realizarea proiectului, conducătorului științific pentru răbdarea și înțelegerea de care a dat dovadă în explicarea pașilor de urmat în realizarea proiectului, prietenei mele pentru susținerea morală și colegilor pentru ajutorul acordat atunci când am avut nevoie.
CUPRINSUL
1 Introducere 2
1.1 Descrierea temei 2
1.2 Scopul aplicației 2
1.3 Prezentarea capitolelor 2
2 Descrierea automatizarii locuintelor 3
2.1 Domotica & Home Automation 3
2.2 Planul lucrarii 5
2.3 Strategii de aplicare a planurilor pentru realizarea lucrarii 6
2.4 Metode de incalzire si eficienta lor 7
3 aparate utilizate 8
3.1 Dispozitive de control utilizate 8
3.2 Motivarea de ce am ales ARDUINO UNO R3 17
3.3 Microcontroller-ul utilizat în această aplicație 17
4 lucrarea practică 18
4.1 Scheme de conexiuni 20
4.2 Explicarea funcțiilor din program 21
5 testare 24
5.1 Teste de funcționare 24
5.2 Poze cu încaperea. De la poza la realitate 26
5.3 Poze proiect complet 26
6 Rezumat 28
6.1 Concluzii 28
6.2 Viitoare îmbunătățiri 29
7 Bibliografie 30
8 anexe: CODUL SURSă 31
9 CD / DVD 41
LISTA FIGURILOR
Figura 1. Diagrama de control a unei case/locuințe automatizate 3
Figura 2. Placuta Arduino UNO R3 9
Figura 3. LCD Shield Display cu Tastatura 16×2 9
Figura 4. Descrierea pinilor placii de dezvoltare Arduino UNO 10
Figura 5. Schema butoanelor de selectie Display Shield 12
Figura 6. Platforma software pentru programare Arduino 13
Figura 7. Modul sensor temperatura si umiditate DHT11 14
Figure 8. Transmiterea datelor intre Arduino si DHT11 15
Figura 9. Element de încălzire, folie autoadezivă Thermo 16
Figura 10. Descrierea pinilor controlerului programabil Atmega328P al placii Arduino 17
Figura 11. Schema bloc a lucrarii practice 18
Figura 12. Modul releu Arduino 5 V 19
Figura 13. Alimentator Xing Yuan Electronics 12 V 1.5 A 19
Figura 14. Schema bloc conexiuni senzori si releu la Arduino 20
LISTA TABELELOR
Tabelul 1. Specificațiile plăcii Arduino UNO R3 11
Tabelul 2. Specificatii pini LCD Display Shield 11
Tabelul 3. Specificatii modul senzor DHT11 14
Tabelul 4. Specificatii Element de încălzire, autoadeziv Thermo 16
Tabelul 5. Specificatii alimentator Huawei 12V 1.5A 19
Introducere
Descrierea temei
Metodele de încălzire a unei locuințe prin diferite modalități m-au împins în aceasta direcție, și anume în realizarea unui sistem de comandă, sau cum se numește în termeni populari termostat, dar ca metodă de reglare a confortului termic am ales încălzirea în pardoseală cu radiații infraroșii în spectru îndepărtat, nu metoda convențională, prin calorifere, deoarece este o senzație mult mai plăcută de a merge pe parchetul cald, decât a merge pe el rece și să mergem lângă calorifer să ne încălzim tălpile, fiind și mai sănătos pentru organismul uman.
Scopul aplicației
Lucrarea are rolul de a automatiza procesul de încălzire în funcție de temperatura interioară și exterioară, astfel încât în funcție de aceste temperaturi el declanșează sau nu sistemul de încălzire care trebuie să mențină o temperatură constantă în interiorul locuinței pentru a nu exista diferențe bruște de temperatură ca în mediul înconjurător.
De cele mai multe ori această metodă de încălzire lucreaza fară a fi oprită pe parcursul perioadelor reci, pornindu-se toamna și oprindu-se la sfarșitul primăverii menținând astfel temperatura din interior constantă. Din această cauză am ales ca acest sistem să fie complet independent și să fie capabil să hotărască singur indiferent de perioada anului și mai ales a temperaturii. Atunci când temperature exterioară scade sub o anumită valoare masurată cu un senzor de temperatură să pregătească instalația pentru perioada rece, astfel încât atunci când temperatura interioară scade sub o anumită valoare, încălzirea să fie gata să ofere confortul necesar, pentru care a fost creată și anume caldura.
Pe langă aceste amănunte aplicația mai are rolul de a mă ajuta învațarea unui nou mediu de programare, compatibil cu Arduino care să îmi fie de folos în viitor.
Prezentarea capitolelor
În capitolul 1 am prezentat o scurtă introducere despre tema aleasă și aspectele practice ale acesteia, utilizarea și eficientă acestui sistem care este în majoritatea caselor care au centrale proprii sub denumirea de termostat.
În capitolul 2 voi descrie domotica și automatizarea locuințelor, aplicații ale lucrării, planuri și strategii de realizare pratică și o descriere a metodelor de încălzire care se folosesc în prezent dar și sursele posibile de încălzire (naturală sau artificială) fiind foarte important alegerea metodei de încălzire în funcție de sursă de care dispunem..
În capitolul 3 voi enumeră aparatele utilizate în realizarea proiectului, dar și modulele folosite (prin module se înțelege senzori de temperature și relee de comandă) și modul lor de operare de către utilizator și motivul utilizării acestor aparate.
În capitolul 4 voi descriere pașii realizării proiectului practic pas cu pas, cât și lista cu toate piesele și aparatele utilizate împreună cu codurile de funcționare/programare ale acestora pentru aplicațiile respective. Platforma de dezvoltare Arduino oferă programatorilor un mediu de dezvoltare software gratuit, fiind foarte important pentur programarea plăcii, respectiv a micro-controllerului.
În capitolul 5 voi testa aplicația pentru a vedea modul de funcționare corect sau incorect al acesteia și corectarea și ajustarea ultimilor parametrii ai lucrării practice fiind surprinse fotografic toate momentele evoluției proiectului.
În capitolul 6 urmează un scurt rezumat cu avantajele și dezavantajele acestui tip de încălzire, cât de convenabile sunt în comparative cu celelalte metode convenționale de încălzire având în vedere costurile și consumul de material dar și întreținerea acestor sisteme, urmat de câteva rânduri în vederea îmbunătățiri acestui sistem pentru un confort sporit al utilizatorlui.
În capitolul 7 voi menționa toate sursele de unde m-am inspirat și ajutat în realizarea acestui proiect, acesta fiind bibliografia.
În capitolul 8 voi poștă codul sursă care a fost necesar pentru funcționarea acestui proiect, funcțiile și comenzile fiind explicate în capitolul 4 mai detaliat.
Descrierea automatizarii locuintelor
Domotica & Home Automation
Definiție:
Domotica este o aplicație a calculatoarelor și roboților pentru aplicații casnice. Domotica țintește să integreze și să-și răspândească aplicațiile pretutindeni. O casă cu un sistem domotic instalat trebuie să aibă multe calculatoare, probabil aranjate într-un perete, pentru a permite proprietarului să contoleze aplicațiile din toate parțile casei.
Figura 1. Diagrama de control a unei case/locuințe automatizate
In caz de urgente de exemplu incendiu, casa cu ajutorul senzorilor si al computerolor care citesc mesajul de la senzori este capabila sa formeze un apel de urgenta pentru o promptitudine mai buna a echipajelor specializate, ajutand foarte mult de economisirea de timp.
O casă cu un astfel de sistem instalat este capabilă să sune la poliție sau la pompieri, cu multă ingeniozitate și cu o largă varietate a plății, față de sistemele cualarmă normală.In mod frecvent sistemele domotice trebuie să colecteze date de la diverși senzori și să facă diferite lucruri cum ar fi: ajustarea luminii și selectarea melodiilor preferate de fiecare membru al casei, atunci când ei intră sau pleacă din camera personală.
Acest sistem presupune ca fiecare membru să poarte asupra lui un tag RFID, pe câtă vreme cele mai sofisticate detectează mișcarea, funcțiile vitale și multe alte caracteristici individuale.
Câteva sarcini îndeplinite de domotică :
• Controlează draperiile, ferestrele dintr-o locație, toata ziua, fără interacțiunea omului.
• Deschide sau blochează și deblochează poarta și intrarea în garaj, cu un control separat sau global
• Controlează clima din interiorul caselor. Prin apăsarea unui buton se poate seta încălzirea pe timp de noapte; lumina când nu ești într-o încăpere; să închidă poarta după plecare…
• Controlează sunetul și home cinema din orice cameră, utilizând butoane, tablouri sau telecomenzi
• Asigură lumina potrivită la locul potrivit; sistemele domotice pot asigura și memora intensitatea luminoasa în funcție de preferințele persoanelor.
• Pot pregăti inteligent – grădinile prin pornirea stropitoarelor atunci când solul este prea uscat; – și alte lucrări cum ar fi cele canal; peluzele sunt udate doar atunci cand este nevoie iar persoanele pot starbate peluzele fără frica că pot fi udate.
• Pot aprinde lumina doar atunci când o persoana este prin preajmă(uneori cu rol de alarmă).
Dezavantaje:
Un dezavantaj al caselor ce au sistem domotic instalat este că sunt scumpe. Unele sisteme pot fi extrem de scumpe atunci când sunt instalate. Există însă și posibilitatea ca sistemele să cedeze și să lase casele fără încălzire și fără o iluminare corespunzatoare. Aceste inconveniente pot fi îndepărtate prin folosirea unor tehnici și tehnologii de siguranță.
Sisteme inteligente
Cel mai mare potențial al acestor sisteme este faptul că pot suportă aplicații ale programelor de calculator ce pot presta ceea ce este numit cale „inteligență”.Acestea implică programe logice ce pot memora diferite variabile cum ar fi temperatura, timpul etc.
Exemplu: DESCHIDE lumina în bucătărie dacă intensitatea luminoasă este prea mică atunci o persoană este prezența SAU ÎNCHIDE lumina din bucătărie dacă este aprinsă atunci când persoană părăsește încăperea. Pe viitor va fi aplicat ceea ce se numește Inteligență artificială. Sistemele vor fi capabile să „pregatească” un cadru adecvat atunci când o persoană este în casă.
Exemplu: Dacă o persoană este suparată atunci sistemul va crede ca puțină muzică o va înveselii.
Home automation este o extensie a construirilor automatice adica înseamna automatizarea casei, a treburilor casnice și alte activități. Automatizarea este o ramură a tehnicii, al cărei scop este ca mașinile și instalațiile să lucreze automat, deci independente de o continuă și/sau directă intervenție a forței de muncă umane.
Aceste automatizări pot include:
• Controlul luminilor
• Controlul ventilației, căldurii, aerului condiționat
• Controlul sistemului de securitate, etc.
Popularitatea acestor sisteme de automatizări a crescut destul de mult în ultima perioadă, odată cu dezvoltarea pieței în domeniul telefoniei și tabletelor. Aceste sisteme pot fi controlate cu ajutorul telefoanelor inteligente sau al tabletelor.
Internet of things
Acest concept este destul de similar cu ideea de home automation, însemnând conectarea a cât mai multe aparate electrice dintr-o casă la o rețea pentru a putea fi controlate din fața unui eran (langă ele sau la distanță).
Un sistem de automatizări include dispozitivele electrice dintr-o locuință conectate între ele.
Planul lucrarii
Achiziția pieselor
Colectarea de informații despre fiecare piesă (data sheet-ul)
Realizarea montajelor individuale pentru fieacare etapă a proiectului
Combinarea montajelor și verificarea funcționării acestora
Realizarea schemelor de conectivitate după ce proiectul este funcțional
Realizarea machetei locuinței și finalizarea proiectului
Verificare functionalității sistemului după ce ultimul detaliu este finalizat.
Strategii de aplicare a planurilor pentru realizarea lucrarii
Ca primă etapă după achiziționarea pieselor vom parcurge cateva tutoriale pentru a învăța cum funcționează placa de dezvoltare Arduino și cum se programează, urmând să programez fiecare modul în parte de care am nevoie. Ordinea de realizare a fost urmatoarea:
• Afișarea pe display a diferitelor texte
• Programarea tastelor shield-ului atașat display-ului
• Citirea și afișarea temperaturii unui senzor în terminalul serial al compilatorului
• Citirea și afișarea temperaturii pe display a unui senzor
• Citirea și afișarea temperaturii pe display a 3 senzori
• Comandarea unui releu în funcție de doua din temperaturi
• Afișarea temperaturilor la un interval de timp (câteva secunde)
• Programarea tastelor shield-ului atașat display-ului pentru a seta temperatura dorită.
În etapa urmatoare se începe realizarea machetei lucrării pentru a putea fi finalizată în timp util și eventual să se poată aducă îmbunatățiri până la momentul prezentării.
Se vor parcurge urmatoarele etape:
• Cumpărarea materialelor pentru realizarea machetei
• Decuparea acestora pentru a le îmbina
• Montarea materialului decupat
• Asamblarea și poziționarea materialelor și a părții de comandă în machetă
• Verificarea conexiunilor și funcționării corecte a montajului
Metode de incalzire si eficienta lor
Sistemele de încălzire folosesc diferite tipuri de energie. Pe lângă petrol și gaz, pot fi utilizate surse de energie regenerabilă precum peleți din lemn sau energia solară. Fiecare tehnologie este special potrivită pentru anumite situații.
Nu există nicio soluție standard de încălzire pentru vreo casă sau apartament. Aveți nevoie de o imagine de ansamblu privind tehnologiile disponibile și capacitățile acestora. Acest lucru vă ajută să luați o decizie informată cu privire la tipul de încălzire adecvat.
Odată ce ați obținut o imagine generală, consultați un expert Vaillant. Cu ajutorul său, puteți afla care tip de încălzire este cel mai bun pentru locuința dumneavoastră.
Investiți și economisiți pe termen lung
Decizia privind tehnologia sau sursa de energie adecvată pentru nevoile dumneavoastră depinde de mai mulți factori. De exemplu, spațiul necesar pentru instalare joacă un rol semnificativ.
Pentru a obține o imagine de ansamblu asupra costurilor totale, trebuie să știți care sunt cheltuielile inițiale, inclusiv instalarea. În plus, mai trebuie să luați în considerare care sunt costurile de funcționare. Deoarece folosirea energiei regenerabile presupune costuri de funcționare reduse, puteți compensa costurile inițiale ridicate într-un interval de câțiva ani. În plus, programele guvernamentale de subvenționare pot ajuta la reducerea costurilor dumneavoastră dacă utilizați energie regenerabilă.
Surse principale de caldură folosite în zilele de azi:
Centralele termice
Panouri solare
Sobe
Calorifere:
Electrice
Ulei
Apă
Încalzirea în pardoseală:
Electrică
Tuburi cu apă
Raze infraroșii
aparate și componente utilizate
Pentru realizarea proiectului am utilizat urmatoare componente/aparate:
Arduino UNO R3
LCD Shield Display cu Tastatura 16×2
3 Senzori temperatura si umiditate DHT11
Modul releu comandat la 5
Element de încălzire, folie autoadezivă Thermo
Fire dupont mama-mama, tata-mama, tata-tata
Breadboard
Alimentator 12V 1,5 A
Multimetru
Stație lipit
Dispozitive de control utilizate
Pentru această lucrare am ales să folosec placa de dezvoltare Arduino UNO R3 întrucat este o placă usor de utilizat și programat, având suficiente intrari/ieșiri pentru ce avem nevoie.
Arduino UNO este o platformă de procesare open-source, bazată pe software și hardware flexibil și simplu de folosit. Constă intr-o platformă de mici dimensiuni(6,8 cm / 5,3 cm – în cea mai des întâlnită variantă) construită in jurul unui procesor de semnal, ce este capabil de a prelua date din mediul înconjurător printr-o serie de senzori și de a efectua acțiuni asupra mediului prin intermediul luminilor, motoarelor, servomotoare și alte tipuri de dispozitive mecanice. Procesorul este capabil să ruleze cod scris într-un limbaj de programare care este foarte similar cu limbajul C++.
Placa Arduino UNO se conectează la portul USB al calculatorului folosind un cablu de tip USB A-B, disponibil în variante de 1,5m sau 3 m. Poate fi alimentată extern (din priză) folosind un alimentator extern. Alimentarea externă este necesară în situația în care consumatorii conectați la placă necesită un curent mai mare de câteva sute de mA. În caz contrar, placa se poate alimenta direct din calculator, prin cablul USB.
Figura 2. Placuta Arduino UNO R3
În completarea plăcii de dezvoltare am adăugat un LCD Shield Display cu Tastatură Programabilă 16×2 care se înfige direct pe placa Arduino. Am folosit acest display pentru afisarea temperaturii interioare, exterioare si a pardoselei, fiind foarte util si pentru setarea temperaturii dorite pentru limita inferioara din interior (adica la ce temperatura sa porneasca sistemul de incalzire).
Figura 3. LCD Shield Display cu Tastatura 16×2
Schema electrică generală detaliată Arduino UNO R3
Figura 4. Descrierea pinilor placii de dezvoltare Arduino UNO
Specificatii tehnice ARDUINO UNO R3:
Tabelul 1. Specificațiile plăcii Arduino UNO R3
Tabelul 2. Specificatii pini LCD Display Shield
LCD Shield include 5 butoane concepute pentru a fi utilizate ca intrare de navigație sau de control. Butoanele sunt aranjate într-un model la îndemână și denumit în continuare SUS, JOS, stânga, dreapta, si SELECT, dar, desigur, este în totalitate până la schița dvs. pentru a decide ce să facă atunci când este apăsat.
Toate butoanele sunt conectate la o singură intrare analogică, A0, folosind un lanț de rezistențe care determină o tensiune de referință diferită să fie aplicată A0 în funcție de care este apăsat butonul. Această secțiune schematica arată butoanele de intrare și rezistențele asociate:
Figura 5. Schema butoanelor de selectie Display Shield
Dupa cum se poate observa în schema de funcționare, în cazul în care nici un buton nu este apasat tensiunea pe A0 va fi trasă pe tot traseul pana la 5V de rezistorul R6 de 2k. În acestă situație, nici una dintre celelalte rezistențe nu au nici un efect, iar citirea pe A0 va fi la limita superioară a 1023. Prin urmare dacă vom efectua AnalogRead() la A0 și returnează 1023 (sau orice valoare aproximativă de 1000) ,vom ști ca nici un buton nu este apăsat.
Mediul de dezvoltare software pentru controlul plăcii Arduino:
Pentru a utiliza Arduino trebuie să folosim softul dedicat pentru această platforma de dezvoltarea care este oferit gratuit de producător.
Figura 6. Platforma software pentru programare Arduino
Programarea plăcii de dezvoltare se realizează prin urmatorul soft: Arduino Software (IDE). IDE (sau integrated development environment – "mediu integrat de dezvoltare”) ajută programatorul în scrierea programelor fiind este un set de programe.
Acesta oferă toți pașii necesari creării unui program într-un singur soft, care oferă o interfață grafică prietenoasă cu utilizatorul:
Crearea și editarea codului sursa
Compilarea
Depanarea
Testarea
Generarea de documentație
Pentru a încarca programul pe platforma de dezvoltare Arduino trebuie să fie apăsat doar butonul Upload Program, iar programul va face restul oprațiilor necesare:
Detectarea portului pe care este conectat Arduino
Detectarea tipul plăcii Arduino
Încărcarea programului pe placă și verificarea de erori.
Senzorul de temperature si umiditate DHT11
Figura 7. Modul sensor temperatura si umiditate DHT11
Acest modul are la bază senzorul de temperature DHT11 fiind unul performant, de înalta precizie și foarte stabil.
Temperatura se măsoară cu un termistor cu coeficient de temperatură negativ ( NTC ) , iar umiditatea relativă este măsurată cu ajutorul unui sensor capacitiv . Elementele de detectare sunt pre – calibrate , iar ieșirea este furnizat ca un semnal digital .
Un termistor este un tip de rezistor a cărei rezistență este dependentă de temperatură. Termistoarele sunt de două tipuri:
NTC a cărei rezistență scade odată cu temperatura pentru protecția împotriva voltajului ridicat
PTC a cărei rezistență crește odată cu temperatura pentru proctecția împotriva curenților ridicați
Tabelul 3. Specificatii modul senzor DHT11
Transmiterea semnalului de la senzor la Arduino
Arduino trimite un semnal de start către DHT11 care își schimbă modul de funcționare automat așteptând ca Arduino să termine de transmis semnalul. Acesta intră în modul de funcționare dintr-un mod economic. Odată ce este transmis complet semnalul, DHT11 răspunde cu un semnal de 40-biți care inclunde informații despre umiditatea relativă și temperatură. După ce semnalul a fost transmis, senzorul trece din nou în modul economic așteptând iar semnalul de start de la Arduino pentru citirea noilor valori. (Arduino = MCU = Microcontroller)
Figure 8. Transmiterea datelor intre Arduino si DHT11
Libraria senzorului DHT11
În librarie se află metodele de calcule de conversie a temperaturii și umidității.
Interfața de clasă acceptă doar o funcție pentru citirea umidității și temperaturii (ambii membri ai clasei). Functia de citire () verifică transmisia de date a. In plus, are o funcție de timeout (care poate fi îmbunătățită). Clasa este păstrată simplu și, cu o singură instanță, este posibil pentru a citi mai multor senzori, cu condiția ca fiecare senzor are un știft separat.
Element de încălzire, folie autoadezivă Thermo
Element de încălzire din poliester cu parte posterioară auto-adezivă, rezistent la matisare și străpungere, adecvat pentru aplicații universale. Pentru protecția la temperaturi sub zero grade, de ex. a suprafețelor, aparatelor, carcaselor, circuitelor, acvariilor sau chiar și a diverselor lichide.
Figura 9. Element de încălzire, folie autoadezivă Thermo
Tabelul 4. Specificatii Element de încălzire, autoadeziv Thermo
Se vor folosi 2 bucați pentru a ajunge la o suprafață de 15,4 x 11 cm, astfel încât să acopere în totalitate suprafața pardoselei încăperii pentru o eficiență mai bună a sistemului. Cele 2 bucăți de încălzire se vor conecta în paralel pentru a obține o distribuție uniformă a curentului, respectiv a încăzlirii din pardoseală.
Motivarea de ce am ales ARDUINO UNO R3
Am ales Arduino UNO R3 deoarece în urma cercetărilor efectute asupra controlerelor disponibile și al celui care doresc să îl utilizez, acesta a avut un număr suficient de intrări și ieșiri atât digitale cât și analogice fiind la un preț decent față de următoarele variante de Arduino sau alte controlere programabile care sunt mult mai scumpe, dar având și mai multe porturi de intrare/ieșire.
Arduino UNO R3 este un controller foarte ușor de programat și înțeles modul sau de funcționere, atât programarea cât și partea fizica.
În concluzie această placuță programabilă a fost cea mai bună variantă preț/nevoie/utilitate/calitate.
Microcontroller-ul utilizat în această aplicație
Această versiune folosită de Arduino UNO R3 utilizează ca microcontroler un Atmega328P de la ATMEL. Microcontroler-ul este separabil de placă fiind mai usor de schimbat în cazul în care acesta nu mai funcționează corespunzator sau chiar deloc.
Figura 10. Descrierea pinilor controlerului programabil Atmega328P al placii Arduino
lucrarea practică
Pentru realizarea practică a proiectului s-au folosit urmatoarele componente descrise în schema următoare. Cei 3 senzori de temperatură DHT11 se vor conecta în mod direct la Arduino inclusiv alimentarea. Pentru alimentarea placutei de Arduino se va folosi un alimentator, care va alimenta și încălzirea în pardoseală, aceasta consumând destul de mult. Pe plăcuța de Arduino se va atașa un display LCD cu tot cu Shield pentru a beneficia și de 6 butoane, dintre care 5 programabile.
Figura 11. Schema bloc a lucrarii practice
Componente utilizate:
Se vor utiliza 3 senzori de temperatura și umiditate de același tip DHT11 fiind notați în codul sursă în funcție de amplasarea acestora DHT11 pentru senzorul de temperatura interioară, DHT11_2 pentru senzorul de temperatura de la nivelul podelei, DHT11_3 pentru senzorul de temperatura exterioară.
Ca element de încălzire în pardoseală se vor utiliza două rezistente încălzite electric din cauza costului prea ridicat al panoului cu raze infraroșii, care se va conecta în paralel, iar un pin la alimentare, iar cel de al doilea pin va fi conectat tot la alimentare dar prin intermediul releului care se va deschide atunci când va primi comandă de la Arduino în funcție de temperaturile citite de la senzorii de temperatura. Curentul consumat de releu: 1mA idle, 30mA pentru releu acționat. Modulul se poate alimenta direct din pinul de 5V de la Arduino. Releul rezistă la o tensiune de 230V și un curent de 10A.
Figura 12. Modul releu Arduino 5 V
Pentru alimentarea montajului s-a folosit un alimentator care oferă la ieșire 12 V și 1.5 A, fiind suficient pentru alimentarea încalzirii, iar plăcuța de Arduino se va alimenta de la același alimentator, aceasta consumand foarte puțin, deci nu o să influențeze încalzirea în pardoseală.
Figura 13. Alimentator Xing Yuan Electronics 12 V 1.5 A
Tabelul 5. Specificatii alimentator Huawei 12V 1.5A
Scheme de conexiuni
Senzorul DHT11 are 3 pini, 2 pentru alimentare (VCC si GND) și unul de citire fiind situat în mijloc. Releul folosit are 3 pini, 2 pentru alimentare acestuia, exact ca în cazul senzorului și 1 pin de comandă pentru deschiderea sau închiderea circuitului.
Pentru realizarea conexiunilor s-a utilizat un cablaj pe o placă de teste (breadboard) de unde s-a luat alimentarea de pe placa Arduino (5V) pentru alimentarea senzorilor și releului, aceasta operatiune realizându-se pe breadboard, iar pentru citirea senzorilor și comandarea releului s-au conectat direct pinii de la Arduino la senzorii folosiți.
Figura 14. Schema bloc conexiuni senzori si releu la Arduino
Display-ul vine montat peste plăcuța de Arduino și ocupă toți pinii acestuia lăsând liber ce nu folosește sau făcând prelungiri ale acestora, de exemplu pinii de alimentare care sunt prelungiți îi vom folosi pentru alimentarea senzorilor care îi vom conecta prin intermediul unui breadboard la plăcuța Arduino.
Explicarea funcțiilor din program
#include <SimpleDHT.h> = Biblioteca senzorilor pentru a fi calibrați și a indica valorire corecte
#include <LiquidCrystal.h> = Biblioteca Display-ului LCD
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); = Pinii pe care este conectat display-ul pentru a putea transmite informația corect și fară erori.
int pinDHT11 = A2; = Declarare senzorului de temperatură interioară
int pinDHT11_2 = A3; = Declarare senzorului de temperatură exterioară
int pinDHT11_3 = A4; = Declararea senzorului de temperatură podea
SimpleDHT11 dht11; = Face legatura senzorului cu libraria acestuia
lcd.print("Starting…"); = Afișare pe display
delay(1000); = O întarziere de 1 secunda (durata de afișare a mesajului anterior)
lcd.clear(); =Șterge tot textul de pe display
lcd.setCursor(0,0); = seteaza poziția cursorului pe display de unde începe textul
byte temperature3 = 0; declararea tipului temperaturii și umidității
byte humidity3 = 0;
int t=20; valoarea standard de plecare a termostatului
// DATA RELEU: A1
if ((int)temperature < t){ condiția pentru declanșarea releului când temperatura interioară scade sub t grade.
Serial.println("temp int < t"); afișarea condiției pe afișajul serial al compilatorului atunci când condiția e îndeplinită
digitalWrite(pinReleu, LOW); comanda pentru declașarea releuilui
}
if ((int)temperature > t+2) { condiția pentru stoparea releului când temperatura interioară a depașit (t+2) grade celsius
Serial.println("temp int > t"); afișarea condiției pe afișajul serial al compilatorului atunci când condiția e îndeplinită
digitalWrite(pinReleu, HIGH); comanda să oprească releul
dht11.read(pinDHT11, &temperature, &humidity, NULL ); citirea valorilor de la senzorul de temperatura și umiditate
Definirea și programarea tastelor, notarea fiecarei taste cu un state pentru a fi mai ușor de folosit,
Realizarea meniului pentru display
Afișarea pe display-ul Arduino a meniului când se navighează din taste. Numărarea apăsărilor pe tastele sus și jos pentru defilarea în meniu cu specificațiile afișării pentru fiecare număr de apăsări.
Afișarea unui header pe tot parcursul alimentării termostatului cu ajutorul funcției clearPrintTitle()
Afișarea primului rând din meniu, iar după apăsarea tastei select, afișând temperature de la podea în submeniu fiind necesară apăsarea tastei select mereu când se dorește actualizarea temperaturii.
testare
Teste de funcționare
Temperatura și umiditatea din interior afisată pe display. Releul conduce (ledul verde aprins)
Temperatura și umiditatea exterioară afisată pe display.
Temperatura și umiditatea pardoselei. Sistemul de încălzire permite declanșarea releului atunci când temperatura interioară este mai mică de t * C și oprește sistemul de încălzire, adică blochează releul în a mai conduce curentul atunci când temperatura interioară a depășit (t+2) * C.
Releu este blocat în conducere, deoarece temperatura interioară a depășit valoarea de (t+2) * C, urmând să fie declanșat din nou atunci când valoarea va scădea sub t * C. Temperatura interioară t se va seta de la butoanele programabile are display-ului, această pornind de la un minim t = 20 * C.
Poze cu încaperea. De la poza la realitate
Schita incaperii.
Poze proiect complet
Rezumat
Concluzii
Arduino este o placă de dezvoltare foarte capabilă și ușor de folosit pentru oricine fiind destul de răspândită în lume și cu numeroase tutoriale pe internet la diferite module compatibile cu aceasta, având un preț foarte mic pentru capacitatea sistemului, ceea ce a făcut acest sistem să explodeze că popularitate în rândul tinerilor pasionați de programare și electronică, dar și în cadrul instituțiilor de învățământ fiind foarte accesibilă.
Acesta lucrare care am ales-o ca lucrare de licență este unul care se utilizează foarte frecvent în zilele de azi fiind instalat la majoritatea centralelor termice, ajutând astfel untilizatorii să mențină temperatura constantă in locuință când aceștia sunt plecați pe perioada rece a anului.
În realizarea practică am folosit trei senzori DHT11 pentru umiditate și temperature interioară, exterioară și pentru podea. În funcție de temperatura interioară, MCU va da comanda catre releu să permită alimentarea încălzirii, astfel încat temperatura interioară să varieze cu ± 3 °C astfel încat omul să simtă foarte puțin variația temperaturii din interior, adică dacă temperatura interioară este de exemplu 23°C iar termostatul este setat tot la 23°C (variabila t), atunci când temperatura va scadea la 22 °C (t-1), termostatul va trimite comanda către releu care va porni încalzirea în pardoseală pană când temperatura interioară va depăși valoare de 25°C (adică temperatura interioara sa fie mai mare ca t+2), creând astfel un timp în care încalzirea va fi oprită pană când temperatura interioară va scadea din nou sub pragul de 23°C (sub t).
Toate aceste valori vor fi afișate pe un LCD care dispune de un meniu unde operatorul termostatului poate vedea toate aceste temperaturi.
Viitoare îmbunătățiri
Pe viitor se pot aduce numeroase îmbunătățiri, Arduino fiind foarte capabil și existând numeroase module și senzori pentru această placă de dezvoltare, putându-se realiza aproape orice cu el, trebuind scris doar un cod într-un limbaj asemnator C++.
De exemplu acest termostat realizat este doar pentru realizarea confortului termic în perioadele reci, dar se poate realiza și /sau updata la perioadele calde, comandând un aer condiționat în funcție de temperatura interioră. Acest lucru pe o macheta se poate simula cu ajutorul unui ventilator care să pornească atunci cand temperatura interioară depaseste pragul de 30 °C de exemplu.
Arduino fiind o platformă de dezvoltare open-source cu foarte multe module disponibile se pot adauga diferite funcții de confort sau securitate. Un astfel de modul este RFID RC522 ce imită interfonul de la o scară de bloc. Acest modul se poate pune la intrarea în locuință, nemaifiind nevoie de deschiderea cu cheie, ci doar de trecerea chip-ului prin raza de acțiune a emitorului.
Un alt senzor care se poate monta este un modul pentru intensitate luminoasă care poate aprinde lumina din interiorul locuinței automat atunci când luminozitatea este foarte scăzută în mediul exterior dar și în interiorul locuinței, sau un senzor de mișcare ca la becurile clasice. Aceste 2 module pot lucra concomitent, aprinzând lumina din interior atâta timp cât se îndeplinesc condițiile (de exemplu) de sesizare de mișcare și luminozite foarte scazută pentru un interval de timp.
Aceste module sunt compuse din senzorii necesari și o placuta pentru a ajuta comunicare cu Arduino (sau interfața care este folosită), ajutând la citirea parametrilor/valorilor sau a informației de la senzor direct de controller fară a mai fi nevoie de o calibrare în prealabil. Modulul se numește interfață I2C (“Inter-Integrated Circuit”). Aceasta interfață a aparut în 1970 când divizia semiconductor de la Philips a simțit nevoia de reducere a numărului de fire folosite, de simplificare a plăcilor componente unui sistem și o mentenanta mai rapidă, înlocuindu-se tot modulul foarte ușor, acestea fiind înfipte direct pe placă. De exemplu pe acest standard este construit și cu un calculator, având fiecare placa independentă (placa video, modul wireless, placa de sunet, placa de rețea, etc.).
Bibliografie
http://www.incalzire-infrarosie.ro/tehnologia_incalzirii_infrarosie.html
https://en.wikipedia.org/wiki/Home_automation
http://ciberonix.ro/incalzirea-prin-inductie-electromagnetica-o-metoda-de-incalzire-revolutionara/
http://www.vaillant.com.ro/prima-pagina/sfaturi-informatii/compararea-tehnologiilor/index.ro_ro.html
https://en.wikipedia.org/wiki/Infrared_heater
http://www.cheso.ro/panouri-radiante-avantaje-dezavantaje.php
https://en.wikipedia.org/wiki/Underfloor_heating
http://www.unicenergoinstal.ro
https://ro.wikipedia.org/wiki/Domotic%C4%83
https://ro.wikipedia.org/wiki/Automatizare
https://www.germanelectronics.ro/componente-active/accesorii-componente/elemente-de-incalzire/folii-de-incalzire/element-de-incalzire-autoadeziv-thermo-12-v-12-w-110-x-77-mm-532878.html
http://www.dfrobot.com/wiki/index.php?title=Arduino_LCD_KeyPad_Shield_(SKU:_DFR0009)
https://www.arduino.cc/en/Main/ArduinoBoardUno
http://www.google.com/images
http://www.micro4you.com/files/sensor/DHT11.pdf
http://publications.lib.chalmers.se/records/fulltext/111900.pdf
https://en.wikipedia.org/wiki/Thermistor
https://timofteandreidiy.wordpress.com/2015/01/13/ceas-termometru-higrometru-cu-arduino-si-dht11/
anexe: CODUL SURSă
#include <SimpleDHT.h>
#include <LiquidCrystal.h> // builtin library
LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // sainsmart 1602 lcd
// for DHT11,
// VCC: 5V
// GND: GND
// DATA: A2
int pinDHT11 = A2; //senzor temperatura interior – temperature
SimpleDHT11 dht11;
// for DHT11_2,
// VCC: 5V
// GND: GND
// DATA: A3
int pinDHT11_2 = A3; //senzor temperatura exterior – temperature2
SimpleDHT11 dht11_2;
// for DHT11_3,
// VCC: 5V
// GND: GND
// DATA: A4
int pinDHT11_3 = A4; //senzor temperatura podea – temperature3
SimpleDHT11 dht11_3;
int pinReleu = A1;
int currentMenuItem = 0;
int lastState = 0;
byte termometru[8] = //pictograma pentru temperatura
{
B00100,
B01010,
B01010,
B01010,
B01110,
B11111,
B11111,
B01110
};
byte picatura[8] = //pictograma pentru umiditate
{
B00100,
B00100,
B01010,
B01010,
B10001,
B10001,
B10001,
B01110,
};
void setup() {
Serial.begin(9600);
lcd.begin(16,2); // se initializeaza ecranul 16×2
lcd.print("Starting…");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Proiect diploma.");
lcd.setCursor(0, 1);
lcd.print("Ciocirle George");
delay(2000);
lcd.clear();
pinMode(pinReleu, OUTPUT);
clearPrintTitle();
lcd.createChar(1,termometru);
lcd.createChar(2,picatura);
}
byte temperature = 0;
byte humidity = 0;
byte temperature2 = 0;
byte humidity2 = 0;
byte temperature3 = 0;
byte humidity3 = 0;
int t=20;
//t=TEMPERATURA DORITA SETATA DE NOI.
void loop()
{
dht11.read(pinDHT11, &temperature, &humidity, NULL );
dht11_2.read(pinDHT11_2, &temperature2, &humidity2, NULL );
dht11_3.read(pinDHT11_3, &temperature3, &humidity3, NULL );
mainMenu();
if ((int)temperature < t)
{
digitalWrite(pinReleu, LOW);
}
if ((int)temperature > t+2) {
digitalWrite(pinReleu, HIGH);
}
}
void mainMenu() {
//State = 0 every loop cycle.
int state = 0;
//Refresh the button pressed.
int x = analogRead (0);
//Set the Row 0, Col 0 position.
lcd.setCursor(0, 0);
//Check analog values from LCD Keypad Shield
if (x < 35) {
//Right
state = 1;
t=t+1;
delay(500);
} else if (x < 150) {
//Up
state = 2;
} else if (x < 360) {
//Down
state = 3;
} else if (x < 535) {
//Left
state = 4;
t=t-1;
delay(500);
} else if (x < 760) {
//Select
state = 5;
}
//If we are out of bounds on th menu then reset it.
if (currentMenuItem < 0 || currentMenuItem > 4) {
currentMenuItem = 0;
}
//If we have changed Index, saves re-draws.
if (state != lastState) {
if (state == 2) {
//If up
currentMenuItem = currentMenuItem – 1;
displayMenu(currentMenuItem);
} else if (state == 3) {
//If down
currentMenuItem = currentMenuItem + 1;
displayMenu(currentMenuItem);
} else if (state == 5) {
//If Selected
selectMenu(currentMenuItem);
}
//Save the last State to compare.
lastState = state;
}
//Small delay
delay(5);
}
//Display Menu Option based on Index.
void displayMenu(int x) {
switch (x) {
case 1:
clearPrintTitle();
lcd.print ("->Temp Podea");
break;
case 2:
clearPrintTitle();
lcd.print ("->Temp Interior");
break;
case 3:
clearPrintTitle();
lcd.print ("->Set Termostat");
break;
case 4:
clearPrintTitle();
lcd.print ("->Temp Exterioar");
break;
}
}
//Print a basic header on Row 1.
void clearPrintTitle() {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Termostat");
lcd.setCursor(0, 1);
}
//Show the selection on Screen.
void selectMenu(int x) {
switch (x) {
case 1:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Podea:");
lcd.setCursor(2,1);
lcd.write(1);
lcd.print(":");
lcd.print((int)temperature3);
lcd.print((char)223); //caracterul pentru grade
lcd.print("C ");
lcd.write(2);
lcd.print(":");
lcd.print((int)humidity3);
lcd.print("%");
//Call the function that belongs to Option 1
break;
case 2:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Interior:");
lcd.setCursor(2,1);
lcd.write(1);
lcd.print(":");
lcd.print((int)temperature);
lcd.print((char)223); //caracterul pentru grade
lcd.print("C ");
lcd.write(2);
lcd.print(":");
lcd.print((int)humidity);
lcd.print("%");
//Call the function that belongs to Option 2
break;
case 3:
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Set temperatura:");
lcd.setCursor(5,1);
lcd.write(1);
lcd.print(":");
lcd.print ((int) t);
lcd.print((char)223); //caracterul pentru grade
lcd.print("C");
//Call the function that belongs to Option 3
break;
case 4:
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Exterior:");
lcd.setCursor(2,1);
lcd.write(1);
lcd.print(":");
lcd.print((int)temperature2);
lcd.print((char)223); //caracterul pentru grade
lcd.print("C ");
lcd.write(2);
lcd.print(":");
lcd.print((int)humidity2);
lcd.print("%");
//Call the function that belongs to Option 4
break; } }
CD / DVD
Autorul atașează în această anexă obligatorie, versiunea electronică a aplicației, a acestei lucrări, precum și prezentarea finală a tezei.
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: Șef lucr.dr.ing. MANTA LIVIU-FLORIN IULIE 2016 CRAIOVA Controlul unui sistem de încălzire cu radiații infraroșii în spectru îndepărtat Ciocîrlie… [303744] (ID: 303744)
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.
