Teodor TINCU (67000) - Cooler Speed Management

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Prezentarea pe scurt a proiectului vostru:

Viteza ventilatorului este controlata prin PWM cu ajutorul butoanelor sau automat prin colectarea informatiilor de la senzorul de caldura. Proiectul dispune si de un ecran LCD, pe care vaa aparea modul in care functioneaza ventilatorul (controlat din butoane sau automat), temperatura masurata de senzorul de caldura, dar si turatia ventilatorului.
Scopul acestui proiect este de a folosi ventilatorul la turatia necesara pentru a mentine temperatura unei componente mai mica decat o limita stabilita.
Sunt pasionat de hardware si mi s-a parut interesant sa fac acest lucru, deoarece si viteza cooler-ului de pe procesor este controlata prin intermediul placii de baza in functie de temperatura masurata pe procesor.
Eu am acasa un stand cooler pentru laptop si este foarte zgomotos. Consider ca prin acest proiect, cooler-ul n-ar mai fi turat inutil si ar functiona la viteze mai mici cat timp laptop-ul nu este foarte solicitat. De asemenea, cu ajutorul LCD-ului, putem vedea in timp real temperatura si, daca vrem, putem creste turatia din butoane, dupa placul nostru.

Descriere generală

Senzorul citeste temperatura si o afisaza pe ecranul LCD. Ventilatorul se porneste cand temperatura inregistrata de senzor este mai mare decat o temperatura prestabilita. (daca ventilatorul functioneaza in modul automat). In modul normal, turatia ventilatorului este controlata din cele doua butoane.

Hardware Design

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

Lista de piese:
- ventilator cu PWM
- senzor temperatura LM35D
- LCD 1602 3.3V (2x16)
- 3 butoane
- baterie 9V
- driver pentru ventilator (ULN2004)
- regulator de tensiune 5V - 3.3V (pentru alimentare LCD)
  • schema electrica

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Eagle, AVR Studio si Programmer's Notepad
  • surse: ventilator.c, lcd.c
  • functii implementate:
    1. void init();
    2. void control(int temp);
    3. void lcd(char* value);

Concluzii

LCD-ul nu functioneaza conform asteptarilor, deoarece nu i-am reglat contrastul. Mi se pare ca senzorul de temperatura nu este suficient de sensibil sau codul meu nu este foarte bine realizat, deoarece turatia ventilatorului se schimba destul de haotic. Per total a fost o experienta interesanta si sper ca pe viitor sa incerc sa realizez un proiect si mai interesant.

imag4727.jpg

Download

Bibliografie/Resurse

Resurse Software si Resurse Hardware

  • DataSheet ATMega324A
  • DataSheet LM35D
  • DataSheet ULN2004
  • DataSheet LCD Module 1602
  • Documentația în format PDF
pm/prj2017/dnovischi/cooler-speed-management.txt · Last modified: 2021/04/14 17:07 (external edit)
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