Bogdan-Marian CHEȘCHE (78348) - Remote Fan System

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul doreste a oferi un mod mai simplu de a porni un ventilator si de a afla temperatura din camera. Aceste lucruri nu necesita deplasarea pana la ventilator, ci se va realiza mai usor prin intermediul unui Smarthphone prin control Bluetooth ce va oferi utilizatorului posibilitatea de a interactiona cu plactuta prin anumite comenzi predefinite.

Comenzile ce pot fi date de pe telefon prin bluetooth sunt:

  • Setarea pornirii ventilatorului cand temperatura depaseste un anumit prag stabilit de utilizator.
  • Setarea puterii ventilatorului.
  • Oprirea si pornirea lui fara a avea conditii de temperatura.
  • Aflarea temperaturii din camera respectiva.


Ideea de la care a pornit proiectul este comoditatea si faptul ca zilele insorite de vara se apropie. Am presupus totusi ca omul va avea mereu smarthphone-ul langa el sa controleze placuta, lucru cu care nu cred ca ma abat foarte tare de la adevar. Motivatia din spatele acestei alegeri sta in curiozitatea de a imbina partea de mobile cu un lucru construit de mine in vederea obtinerii unei anumite utilitati.

Descriere generală

Aplicatia va trebui instalata pe telefon si bluetooth-ul acestuia pornit pentru a putea stabili o conexiune cu modului de bluetooth al placii. Se vor introduce anumite comenzi ce vor fi trimise la modulul bluetooth, ce le va trimite la microcontroller. In functie de comanda primita, microcontroller-ul va interactiona fie cu senzorul de temperatura de la care obtine date, fie cu ventilatorul utilizand un semnal PWM pentru punerea lui in functiune in urma compararii cu datele extrase de la sezorul de temperatura. In cazul in care utilizatorul cere temperatura camerei, doar se va interactiona cu senzorul de temperatura si se vor trimite datele prim modulul bluetooth inapoi la aplicatia Android.

Hardware Design

Piese achizitionate:

  • toate piesele de baza sugerate
  • modul bluetooth 4.0 HM-10
  • senzor temperatura DS18B20
  • Cooler PC 5V
  • Dioda 1N4148
  • Tranzistor BD 139 NPN

Schema electrica:

Am folosit tranzistorul pentru a simula un switch pentru ventilatorul meu, astfel ca daca un curent egal cu DutyCycle*Vcc generat de microcontroller trece prin baza tranzistorului, acesta se va deschide iar curentul din Vcc va trece prin ventilator si il va pune in functiune. In functie de cat de cat de mare este curentul din baza, tranzistorul va lasa o cantitate mai mica sau mai mare de curent sa il parcurga, astfel ca se poate realiza turatia motorului. A trebuit sa introduc un curent destul de mare in baza la comanda ”+” din aplicatie ce mareste turatia, pentru a porni ventilatorul, intervalele de crestere fiind apoi regulate.

Datorita faptului ca sezorul de temperatura nu poate fi pus pe o placa de test si trebuia sa folosesc breadboard, si a faptului ca am ars 2 diode de la caldura letconului incercand sa le lipesc pe o placa de test, am renuntat la aceasta si am pus tot circuitul pe breadboard.

Software Design

Pentru dezvoltarea aplicatiei am folosit Atmel Studio 7, librariile standard avr. Aplicatia ca ventilatorul sa fie controlat prin semnal pwm de catre comenzile date prin bluetooth in principiu, asa ca am construit o masina pe stari, tranzitia intre stari facandu-se la primirea unei comenzi si analizarea acesteia. Comanda primita prin Bluetooth inseamna un string, adica se vor trimite pe seriala toate caracterele acesteia introduse pe telefon, iar la final caracterul '\n' pentru a putea fi separate comenzile intre ele.

Comenzile pot fi primite constant intr-un while(1) unde starile interne sunt schimbate de aparitia unei astfel de comenzi tratata prin implementarea unei rutine de tratare a intreruperii pentru USART0_RX_vect unde starea de citire nu este schimbata pana la primirea pe seriala a caracterului '\n'.

Semnalul pwm este oferit de timer1 setat la fast pwm, ocra-ul putand fi modificat din aplicatie ventilatorul putand fi astfel oprit sau pornit cu ajutorul schemei hardware ce foloseste un tranzistor pe post de switch.

Citirea temperaturii de pe senzor se realizeaza cu ajutorul unor functii gasite si implementate in proiectul curent, sursa lor fiind mentionata in bibliografie.

Aplicatia Android de pe care se trimit comenzile este un terminal de bluetooth pentru dispozitive low energy luat de pe Google Play, si se numeste Serial Bluetooth Terminal. Am folosit atat laboratoarele pentru comunicatia seriala si pwm, cat si sursele prezente pe internet pentru citirea temperaturii.

Comenzi ce pot fi date de pe terminalul de bluetooth:

  • start → Porneste ventilatorul la turatie maxima
  • stop → Opreste ventilatorul
  • temp → Interogheaza senzorul de temperatura si o afiseaza in terminal
  • set temp → Seteaza o temperatura la care ventilatorul sa inceapa sa functioneze la turatie maxima
  • + → Creste turatia ventilatorului
  • - → Scade turatia ventilatorului

Rezultate Obţinute

Proiectul este functional si poate respecta comenzile primite prin bluetooth.

Concluzii

Proiectul pot spune ca a fost experienta foarte placuta, una din cele mai placute de pe acest semestru sau chiar din facultate. M am simtit ca un adevarat inginer cand am intrat in magazinele de pe Maica Domnului sa fac rost de piese. Cu toate ca am ars cateva diode fie pentru ca le am conectat prost, fie pentru ca le am expus la prea multa caldura cu letconul, am facut tranzistorul sa scoata fum insa nu l am ars si apoi a mers perfect, am avut o satisfactie destul de mare cand chiar a mers si am realizat ca am facut chiar eu ceva ce mi ar putea fi util la vara. Regretul ar proveni de la faptul ca mi am luat un ventilator de 12V initial si nu am putut sa il conectez pentru ca aveam nevoie de o sursa de 12V, asa ca am fost nevoit sa imi iau unul de 5V care este mai slab ca putere.

In final sunt multumit de ceea ce am realizat si consider ca mi am atins obiectivul propus la inceputul proiectului.

Download

Jurnal

  • Gandit proiect
  • Cumparat piese de la Optimus si de pe Maica Domnului
  • Asamblat piese
  • Facut bluetooth sa mearga pentru debug
  • Realizat circuit si testat piese pe rand
  • Algoritm per total
  • Verificari suplimentare pentru robustetea masinii pe stari

Bibliografie/Resurse

  • Documentația în format PDF
pm/prj2018/cbirsan/bogdan.chesche.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