This is an old revision of the document!


Ventilator inteligent

  • Autor: Calafeteanu Tudor-Alexandru
  • Grupa: 336CC

Prezentare video : https://youtu.be/zDpJHCvYeNk

Introducere

  • Ventilatorul inteligent are viteza de rotatie dependenta de temperatura camerei, fiind activ doar atunci cand senzorul de proximitate detecteaza miscare. Senzorul de proximitate poate fi montat dupa bunul plac, insa, din motive ergonomice, in prezentarea video a proiectului, senzorul a fost fixat pe breadboard. Temperaturile sunt calculate la un interval de timp prestabilit, fiind salvate pe un card microSD, realizand, astfel, un data logger. Datele sunt apoi introduse in Excel, care genereaza un grafic ce surprinde evolutia temperaturii camerei in timp.
  • Scopul ventilatorului inteligent, fata de unul normal, este sa isi schimbe singur viteza de rotatie in functie de temperatura camerei si sa functioneze doar atunci cand detecteaza miscare, pentru a eficientiza consumul de energie electrica.
  • Am plecat de la ideea de a crea o dependenta intre procesul de ventilatie si temperatura camerei.
  • Utilitatea lui deriva din diferentierea sa fata de un ventilator clasic de birou.

Descriere generală

  • Senzorul de temperatura, precum si cel de proximitate, transfera date catre Arduino.
  • Arduino controleaza motorul prin PWM, folosind un driver de control al turatiei motorului. Controlul turatiei se realizeaza avand in vedere datele primite de la cei doi senzori.
  • Servomotorul este controlat direct de Arduino.
  • Datele receptionate de Arduino sunt stocate intr-un card SD care se comporta ca un data logger pentru senzorul de temperatura.
  • Cardul este citit de laptop, apoi se genereaza un grafic ce evidentiaza fluctuatia temperaturii in timp.

Hardware Design

  • Listă de componente:
  1. Arduino UNO
  2. Breadboard
  3. Senzor de temperatura DHT11
  4. Motor cu elice
  5. Servomotor
  6. Card microSD + adaptor
  7. Senzor PIR HC-SR505
  8. Modul sursa de alimentare + alimentator
  9. Driver (1 dioda, 1 rezistenta 1kOhm, 1 tranzistor NPN)
  10. Fire
  • Schema electrică

Software Design

Mediul de dezvoltare folosit este Arduino IDE.

Bibliotecile externe folosite au fost:

  1. SPI.h.h (pentru sdaptorul microSD)
  2. Servo.h (pentru Servomotor)
  3. SD.h (pentru cardul microSD)
  4. DHT.h (pentru modulul de temperatura DHT11)

  • Detectia miscarii se face o data dupa fiecare ciclu de miscare a servomotorului. Un ciclu il reprezinta trecerea servomotorului din pozitia 0, la pozitia 180, apoi din nou la pozitia 0 (1 ciclu = 0° → 180° → 0°). Daca senzorul PIR nu detecteaza miscare (output 0) si starea ventilatorului este running (flag-ul stopMoving este setat pe 0), se incrementeaza un counter (counterMovement). Daca acest counter ajunge la valoarea 3, atunci ventilatorul isi schimba starea din running in blocked, revenind la starea running abia cand detecteaza, din nou, miscare. De fiecare data cand senzorul detecteaza miscare, iar ventilatorul este activ, counter-ul se reseteaza.
  • Miscarea motorului DC se face prin PWM, mapand range-ul de temperaturi care poate fi detectat de senzorul de temperatura (0-50), la range-ul de viteze (100 - 255). Astfel, elicea se va invarti cu o viteza direct proportionala cu temperatura camerei.
  • Dupa fiecare ciclu de miscare a servomotorului, se scrie valoarea temperaturii detectate, impreuna cu timpul trecut, in secunde, de la pornirea ventilatorului, intr-un fisier logger.txt. Punctele rezultate sunt apoi trecute in Excel pentru generarea graficului.

Rezultate Obţinute

Poza proiect de ansamblu:

Exemplu rezultat generare grafic din data logger, folosind Excel:

Concluzii

Download

Documentația în format PDF

Jurnal

Bibliografie/Resurse

pm/prj2021/apredescu/ventilator_inteligent.1622387765.txt.gz · Last modified: 2021/05/30 18:16 by tudor.calafeteanu
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