CasaMonitor

Student: Justin-Marian Popescu
Grupa: 333CD
Îndrumător: Florin-Alexandru Stancu

Introducere


Inspirația pentru “CasaMonitor” a venit din nevoia de a-mi îmbunătăți confortul din cameră. Acest proiect îmi permite să ajustez condițiile ambientale direct de pe computer, ceea ce face munca de acasă mai eficient energetic. Proiectul ajustează consumul de energie ⚡ în funcție de necesitățile exacte în timp real.

Ideea Principală 💡

Proiectul CasaMonitor își propune să ofere un mediu de dezvoltare a unui sistem integrat de monitorizare și control al condițiilor ambientale și al consumului energetic într-un spațiu locuit sau cel puțin des accesat.

Sistemul utilizează senzori și un µC conectat permanent la un dispozitiv prin intermediul unui cablu USB 2.0 de tip A-B pentru a colecta date în timp real despre temperatură, umiditate și consumul de energie al diferitelor aparate prin intermediul unui senzor monitor de curent-tensiune bidirecțional, permițând astfel utilizatorilor să ajusteze aceste condiții prin intermediul unei interfețe grafice.

Scopul Proiectului 🎯

Scopul proiectului este acela de a oferi utilizatorilor un control mai bun asupra mediului în care își desfășoară activitățile zilnice, optimizând confortul și eficiența energetică. Prin utilizarea acestui sistem, se pot reduce costurile energetice și contribuie la un mediu de viață mult mai sustenabil, având totodată posibilitatea de a personaliza condițiile ambientale.

Utilitatea Monitorului 🏡

Utilizarea panoului de control CasaMonitor este multiplă:

  • îmbunătățirea confortului prin ajustarea automată a temperaturii și umidității;
  • monitorizarea și gestionarea eficientă a consumului pe locuință;
  • optimizarea utilizării resurselor disponibile;

Descriere Generală


Sistemul folosește Node-RED pentru a gestiona logica și fluxul datelor între dispozitive. Acest instrument de programare conectează dispozitivele hardware. L-am ales pentru facilitățile pe care le oferă ca editor bazat pe browser pentru conectarea fluxurilor folosind noduri, care pot fi implementate în timpul execuției.

Sistemul captează datele primite de la senzori înainte de procesare. Acest lucru asigură că nu se pierd date în timpul perioadelor în care acestea sunt primite de la senzori. Sistemul comunică cu Node-RED API prin protocolul HTTP, acest lucru permite monitorizarea și controlul de la distanță sau de pe orice dispozitiv compatibil cu HTTP.

Control Sistem de Răcire (USART)

Senzorul de temperatură și umiditate DHT22 măsoară valorile de temperatură și umiditate din încăpere. Acesta este conectat la placa Arduino și furnizează date digitale despre temperatura și umiditate. Pe baza acestor date, algoritmul de control va stabili dacă temperatura este în afara intervalului stabilit. Ventilatorul se pornește pe baza variației dintre temperatura reală și cea dorită.

Gestiunea Energiei (I2C, PWM și Timere)

Consumul de energie este gestionat prin protocolul I2C, această integrare va facilita implementarea funcțiilor de economisire a energiei, cum ar fi diminuarea și stingerea automată a luminilor atunci când nu este detectată nicio mișcare.

Luminile de bandă LED sunt controlate prin intermediul unui întrerupător fizic ON-OFF, detectarea mișcării sau a obstacolelor puse în fața senzorului infraroșu. Modulul IRF520, controlat prin semnale PWM, gestionează alimentarea benzii LED în funcție de intrările de la senzorul IR sau de la întrerupătorul fizic. De asemenea, un timer este folosit pentru a controla durata în care luminile rămân aprinse după detectarea ultimei mișcări, asigurând o utilizare eficientă a energiei.

La secțiunea de măsurare a curentului/tensiunii în timp real folosesc un timer pentru a înregistra frecvența datelor, sistemul poate identifica rapid orice schimbare în consumul de energie, pentru a lua decizii rapide.

Transmitere/Primire Date (USB)

Comunicarea serială USB cu placa Arduino UNO asigură transferul de date fiabil. Această configurare mă va ajuta să actualizez și să manipulez ușor setările direct din interfața cu utilizatorul.

Toate datele sunt colectate de la senzori, apoi semnalele de control sunt trimise către un port USB al laptopului. Interfața laptopului va permite vizualizarea datelor înregistrate de senzori în timp real și ajustarea setărilor de sistem, cum ar fi pragurile de temperatură și umiditate.

O schemă bloc detaliată a proiectului CasaMonitor este disponibilă la următorul link, care ilustrează modul în care microcontrolerul interacționează cu senzorii și restul dispozitivelor din sistem. Schema oferă o vedere completă asupra interacțiunii hardware și software din cadrul proiectului, prezentând fluxul de date și control între diferitele componente.

Schema completă a interacțiunilor și workflow-ul proiectului pot fi vizualizate aici: CasaMonitor Flow

Pot exista probleme de sincronizare cu documentul, deschideți-l cu draw.io

Hardware Design


Schema Electrica

Pentru a fi mai usor de urmarit cablajul am incercat sa realizez un design cat mai modular cu putinta, fiecare mdoul: de la sursa de alimentare, la senzori si µC. Dar cat si sa clarific modul in care se vor distrbui voltajele, intregul sistem va devine mult mai accesibil pentru urmatoare modificari. Toti senzorii vor fi alimentati la 12V de la sursa de tensiune comparativ cu μC care va fi conectat la laptop prin USB de unde primeste 5V.



Componentele descrise in schematic au fost desenate manual. Am incercat sa reproduc indeaproape modelele originale ale componentelor utilizate in proiect, pe baza datasheet-urilor. Desi am cautat eu unul sincer nu am gasit biblioteci care sa contina componentele utilizate in proiect, astfel am incercat sa reprezint cat mai bine configuratia hardware din documentatie.

Lista de Piese

Nume Componenta Preț Site Cumparare
Arduino UNO R3 ATmega328P 30,76 RON Arduino (SigmaNortec)
Module MOSFET IRF520 (2 buc) 15,68 RON Mosfet (SigmaNortec)
Senzor Monitor Curent INA219 15,57 RON INA219 (SigmaNortec)
Senzor Temperatura DHT22 AM302 33,12 RON DHT22 (SigmaNortec)
Senzor Fotoelectric IR DS30P1 28,56 RON IR (SigmaNortec)
Banda LED 12V, 120 smd 13,60 RON LED (SigmaNortec)
Sursa de Alimentare + Prelungitor 36,30 RON PSU (SigmaNortec)
Ventilator Spacer 12V 40mm 21,90 RON Fan (eMag)
Breadboard 7,14 RON Board (SigmaNortec)
Întrerupător ON-OFF 15,50 RON Switch (Farnell)
Fire și rezistențe pentru conectică 25,00 RON Wires (SigmaNortec)
Total 243,13 RON X


[DE REVERIFICAT + Mentionat despre Timere…]

Arduino UNO Atmega328P

In centrul sistemului se afla Arduino UNO R3, ales pentru compatibilitatea larga cu multe tipuri de senzori si module. Placuta Arduino echipata cu un µC ATmega328P care proceseaza informatiile din mediul exterior primite prin intermediul pinilor GPIO pentru a regla parametrii de mediu in concordanta cu referintele setate de utilizator.

Senzor Temperatura/Umiditate

Furnizeaza date precise despre temperatura si umiditate prin senzorul DHT22 din camera. Senzorul va fi pozitionat intr-un loc reprezentativ pentru a masura acuratetea conditii ambientale, evitand sursele direct de caldura sau de umiditate, la conectivitatea cu uC, senzorul va avea o rezistenta de pull-ul intre pinul de date si alimentare pentru a stabiliza semnalul.

Senzor Curent/Tensiune

Modulul de INA219 utilizeaza interfata I2C pentru a comunica cu µC. In privinta masuraratorilor poate detecta curent de pana la -3.2A pana la 3.2A, aceste masuratori sunt posibile cu o rezolutie de pana la 10µA, astfel se pot detecta pana si cele mai mici variatii in consumul de curent.

Control Iluminat si Ventilator

Driverele MOSFET IRF520 vor fi utilizate cu scopul de a controla alimentarea benzii de LED-uri care necesita reglare precisa a puterii. Potrivit pentru a comutare de sarcini si pentru pierderi reduse de putere sub forma de caldura, eficientizeaza consumul de energie.

Senzor Fotoelectric IR (DS30P1)

Acest senzor este folosit pentru detectarea obiectelor și prezenței până la o distanță de 30 cm. Utilizat în sisteme de automatizare pentru controlul accesului sau iluminatului, DS30P1 are un output PNP care facilitează integrarea cu circuite de control logic.

Banda LED 12V, 120 SMD

Banda LED oferă iluminare ajustabilă și eficientă. Controlată prin MOSFET IRF520, permite ajustarea intensității în funcție de preferințe.

Sursa de Alimentare + Prelungitor 12V, 2A

Aceasta sursa asigură energia necesară pentru toate componentele sistemului. Este capabilă să alimenteze toate modulele conectate, de la senzori la sistemele de iluminat și de control ventilatie.

Ventilator Spacer 12V, 40mm

Ventilatorul contribuie la menținerea unei temperaturi optime în proximitatea componentelor care generează căldură. Activat printr-un control PWM de pe Arduino, răspunde eficient la variațiile de temperatură detectate de senzori.

Cablu USB 2.0 de tip A-B

Folosit pentru a conecta Arduino la calculator, cablul USB permite nu doar alimentarea cu energie dar și transferul de date între µC și PC, esențial pentru monitorizare.

Întrerupător ON-OFF

Acest întrerupător oferă o metodă simplă de a opri sau a porni sistemul fără a necesita deconectarea de la sursa de alimentare principală, facilitând operarea sigură și convenabilă a întregului sistem de iluminare.

Breadboard și Fire de Conectică

Breadboard-ul este utilizat pentru prototipare și testare, oferind o modalitate flexibilă de a aranja și a modifica circuitele. De asemenea, facilitează preluarea semnalelor direct de pe breadboard, evitând necesitatea de a lipi firele între ele, ceea ce simplifică semnificativ experimentarea și ajustarea conexiunilor.

Poze Piese

Arduino UNO R3 ATmega328P Temperatura-Umiditate DHT22 AM302 Senzor MOSFET IRF520 Modul Curent-Tensiune INA219 Senzor
Ventilator Spacer 12V 40mm Banda LED 12V, 120 smd Senzor Fotoelectric IR DS30P1 Power Source + Prelungitor 12V, 2A
USB 2.0 de tip A-B Switch ON-OFF Breadboard Fire pentru conectică

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute


Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii


Download


O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe µC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2022:cc:dumitru_alin.

Jurnal


  1. Descriere in linii mari idee, scop, utilitate proiect.
  2. Descriere HW componente: µC, senzori, conectica, schematic.
  3. Adaugare tabela cu componente, preturi si site-uri de unde am cumparat.
  4. Adaugare workflow, plan step-by-step a proiectului ca si mod de functionare.
  5. Adauagare schematic, legaturi pini senzori, actuatori, µC, ventilator.
  6. Adaugare poze piese si descriere despre scopul utilizarii pieselor in cadrul proiectului.
  7. Mentionare timer existent la partea de “Gestiunea Energiei…” pentru:
    1. banda led
    2. INA219
  8. ! DHT22 NU este controlat PWM, el doar transmite date colectate din mediu.

Bibliografie/Resurse


[DE COMPLETAT…]

Resurse Software/Hardware

Export to PDF

pm/prj2024/fstancu/justin.popescu1605.txt · Last modified: 2024/05/13 09:44 by justin.popescu1605
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0