Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2021:apredescu:ventilator_inteligent [2021/05/02 21:31]
tudor.calafeteanu [Descriere generală]
pm:prj2021:apredescu:ventilator_inteligent [2021/05/30 18:44] (current)
tudor.calafeteanu
Line 1: Line 1:
 ====== Ventilator inteligent ====== ====== Ventilator inteligent ======
 +<note tip>
   * Autor: Calafeteanu Tudor-Alexandru   * Autor: Calafeteanu Tudor-Alexandru
   * Grupa: 336CC   * Grupa: 336CC
 +</​note>​
 +<note important>​Prezentare video : https://​youtu.be/​zDpJHCvYeNk</​note>​
 ===== Introducere ===== ===== Introducere =====
  
-  * Ventilatorul inteligent are viteza de rotatie dependenta ​de temperatura camerei, ​marindu-si viteza ​atunci ​cand detecteaza miscare pe o raza de 3mSe calculeaza o noua temperatura medie la un interval de timp prestabilit. Logul temperaturilor medii este salvat ​pe un card microSD, ​de care apoipus in laptopse foloseste ​un program ​care genereaza ​un grafic. +  * Ventilatorul inteligent are viteza de rotație dependentă ​de temperatura camerei, ​fiind activ doar atunci ​când senzorul ​de proximitate detectează mișcareSenzorul de proximitate poate fi montat după bunul plac, însă, din motive ergonomice, în 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, ​realizândastfel, un data logger. Datele sunt apoi introduse în Excel, ​care generează ​un grafic ​ce surprinde evoluția temperaturii camerei în timp
-  * Scopul ventilatorului inteligent, ​fata de unul normal, este sa isi schimbe singur viteza de rotatie in functie ​de temperatura ​si detectarea miscarii+  * Scopul ventilatorului inteligent, ​față ​de unul normal, este să își schimbe singur viteza de rotație în funcție ​de temperatura ​camerei și să funcționeze doar atunci când detectează mișcare, pentru a eficientiza consumul de energie electrică
-  * Am plecat de la ideea de a crea o dependenta intre procesul de ventilatie si temperatura camerei. +  * Am plecat de la ideea de a crea o dependență între ​procesul de ventilație și temperatura camerei. 
-  * Utilitatea lui consta in ventilatia inteligenta fata de un ventilator ​normal.+  * Utilitatea lui derivă din diferențierea sa față ​de un ventilator ​clasic de birou.
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 13: Line 16:
 {{:​pm:​prj2021:​apredescu:​ventilator_inteligent_diagrama_block.png?​450|}} {{:​pm:​prj2021:​apredescu:​ventilator_inteligent_diagrama_block.png?​450|}}
  
-  * Senzorul de temperatura, precum ​si cel de proximitate, ​transfera ​date catre Arduino. +  * Senzorul de temperatură, precum ​și cel de proximitate, ​transferă ​date către ​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.+  * Arduino ​controlează ​motorul prin PWM, folosind un driver de control al turației ​motorului. Controlul ​turației ​se realizează având în vedere datele primite de la cei doi senzori.
   * Servomotorul este controlat direct de Arduino.   * 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+  * Datele ​recepționate ​de Arduino sunt stocate ​într-un fișier aflat pe cardul ​SDcare se comportă ​ca un data logger pentru senzorul de temperatură
-  * Cardul este citit de laptop, apoi se genereaza ​un grafic ce evidentiaza fluctuatia ​temperaturii ​in timp.+  * Cardul este citit de laptop, apoi se generează ​un grafic ce evidențiază fluctuația ​temperaturii ​în timp.
 ===== Hardware Design ===== ===== Hardware Design =====
  
 +  * **Listă de componente:​**
   - Arduino UNO   - Arduino UNO
   - Breadboard   - Breadboard
-  - Senzor de temperatura+  - Senzor de temperatură DHT11
   - Motor cu elice   - Motor cu elice
-  - Servomotor +  - Servomotor  
-  - Card microSD +  - Card microSD ​+ adaptor 
-  - Adaptor card microSD +  - Senzor PIR HC-SR505 
-  - Senzor PIR +  - Modul sursă ​de alimentare ​+ alimentator 
-  - Modul sursa de alimentare +  - Driver (1 diodă, 1 rezistență 1kOhm, 1 tranzistor NPN)
-  - Alimentator +
-  - Diode +
-  - Rezistente+
   - Fire   - Fire
-  - Tranzistor+  
 +  * **Schema electrică** 
 +{{:​pm:​prj2021:​apredescu:​ventilator_inteligent_bb.png?​800|}}
  
 ===== Software Design ===== ===== Software Design =====
 +<note tip>​Mediul de dezvoltare folosit este Arduino IDE.</​note>​
 +<note tip>​Bibliotecile externe folosite au fost:
 +   - **SPI.h.h** (pentru adaptorul microSD)
 +   - **Servo.h** (pentru Servomotor)
 +   - **SD.h** (pentru cardul microSD)
 +   - **DHT.h** (pentru modulul de temperatură DHT11)
 +</​note>​
  
 +  *  Detecția mișcării se face o dată după fiecare ciclu de mișcare a servomotorului. Un ciclu reprezintă trecerea servomotorului din poziția 0, la poziția 180, apoi din nou la poziția 0 (1 ciclu = 0° -> 180° -> 0°). Dacă senzorul PIR nu detectează mișcare (output 0) și starea ventilatorului este //running// (flag-ul stopMoving este setat pe 0), se incrementează un counter (counterMovement). Dacă acest counter ajunge la valoarea 3, atunci ventilatorul își schimbă starea din //running// în //​blocked//,​ revenind la starea //running// abia când detectează,​ din nou, mișcare. De fiecare dată când senzorul detectează mișcare, iar ventilatorul este activ, counter-ul se resetează.
 +  * Mișcarea motorului DC se face prin PWM, mapând range-ul de temperaturi care poate fi detectat de senzorul de temperatură (0-50), la range-ul de viteze (100 - 255). Astfel, elicea se va învârti cu o viteză direct proporțională cu temperatura camerei.
 +  * După fiecare ciclu de mișcare a servomotorului,​ se scrie valoarea temperaturii detectate, împreună cu timpul trecut, în secunde, de la pornirea ventilatorului,​ într-un fisier //​logger.txt//​. Punctele rezultate sunt apoi trecute în Excel pentru generarea graficului.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
 +<note important>​**Poză proiect de ansamblu:​**</​note>​ 
 +{{:​pm:​prj2021:​apredescu:​ventilator_inteligent_poza.png?​700|}} 
 +<note important>​**Exemplu rezultat generare grafic din data logger, folosind Excel:​**</​note>​ 
 +{{:​pm:​prj2021:​apredescu:​ventilator_inteligent_grafic.jpeg?​700|}}
 ===== Concluzii ===== ===== Concluzii =====
 +A fost prima oară când am lucrat cu hardware. Am întâmpinat unele dificultăți în conectarea unelor componente pe breadboard, însă au fost rezolvate rapid. Consider o lucrare foarte interesantă pentru un student care nu a mai avut tangențe cu proiecte în Arduino, am învățat lucruri noi și sunt mândru de rezultatul final.
 ===== Download ===== ===== Download =====
-Documentația în format <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html> ​+<note tip>​Sursa:​ {{:​pm:​prj2021:​apredescu:​ventilatorinteligent.rar|}}</​note>​ 
 +<note tip>Documentația în format <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​PDF</​a></​html> </note>
  
-===== Jurnal ===== 
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
 +  * https://​www.instructables.com/​Controlling-a-Motor-an-NPN-Transistor-on-the-Ardui/​
 +  * https://​www.youtube.com/​watch?​v=-AvF2TsB2GI
 +  * https://​youtu.be/​8TnrozK_384
 +  * https://​youtu.be/​5Dp-XatLySM
 +  * https://​www.arduino.cc/​reference/​en/​language/​functions/​math/​map/​
pm/prj2021/apredescu/ventilator_inteligent.1619980300.txt.gz · Last modified: 2021/05/02 21:31 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