Nume: Butilca Rares-Dumitru
Grupa: 335CA
Dupa cum ii spune numele, acest proiect prezinta constructia unui Vape (aka tigara electronica, aka aia care scoate mult “fum”). Legat de ce face, e simplu, scoate vapori cand apesi pe un buton. Prezinta 2 moduri de functionare ce vor fi descrise mai jos: control in temperatura si control in putere.
Pentru cine nu stie, scopul unui vape este sa iti ofere o alternativa fumatului clasic, avand diverse arome si eliminand din inconvenientele tigarilor “analogice” precum mirosul neplacut sau faptul ca nu este permis fumatul in cladiri publice.
Am ales acest proiect, deoarece sunt pasionat de vape-uri, avand si cativa ani de “practica in domeniu”, in sensul ca detin astfel de jucarii de ceva timp si m-am gandit ca ar fi distractiv sa incerc sa confectionez si eu unul.
Acest proiect este util pentru cei care vor sa incerce exemple de DIY, doar pentru experienta in sine.
Vape-ul va fi controlat folosind un Joystick din care iti poti seta temperatura/puterea de lucru, modul de functionare(temp vs power) si, prin apasare, poti da drumu la incalzirea rezistentei care iti va vaporiza lichidul pe care il vei “fuma”(inhala).
Valoarea temperaturii/puterii se controleaza miscand joystick-ul pe verticala, iar schimbarea modului de functionare se face prin miscarea acestuia pe orizonatala.
Modul de control in temperatura iti va controla curentul prin rezistor astfel incat vaporii sa aiba temperatura dorita, pe cand cel in putere iti va seta puterea pe care o va consuma bateria pentru rezistor. Pentru controlul in temperatura este folosit un senzor de curent pentru a masura rezistenta rezistorului din atomizor.
Controlul intern al vape-ului va fi facut de catre un Arduino UNO care va comanda prin PWM 3 tranzistori MOSFET pusi in paralel pentru controlul tensiunii medii de pe rezistor. Microcontrollerul va fi conectat la joystick pentru a primi comenzi si la un display pentru a se afisa valoarea curenta a puterii/temperaturii cat si modul in care se afla vape-ul.
Intregul ansamblu va fi alimentat prin intermediul a 2 acumulatori 18650.
Partea de initializare include o citire din EEPROM unde sunt stocate permanent detalii de configurare, precum: putere maxima, minima admisa, puterea default, etc. De asemenea, tot aici se gasesc si valorile TFR care vor fi descrise mai jos.
In general, pentru a putea masura temperatura unui rezistor, se pot folosi 2 metode:
Prima metoda este buna in cazul materialelor cu un profil R(T) cat de cat liniar pe gama de temperatura 20C - 350C (zona in care se vapeaza). Pentru altfel de materiale, este de preferat o lista de TFR pe care se pot face interpolari. Cu cat lista are mai multe valori, cu atat precizia este mai buna.
Materialele rezistentelor pe care temp controlul are relevanta sunt Ni200, Ti si SS si altele similare. Atomizorul cumparat pentru acest proiect are, din nefericire :(, rezistente din NiCr80, un aliaj al carei valori pentru rezistenta este inerta in raport cu temperatura. Astfel, pentru a masura corect temperatura este nevoie de un senzor foarte fin si de folosirea tehnicii bazata pe TFR.
Neavand un senzor foarte fin, am incercat sa rezolv problema prin folosirea tehncii TFR cu valori din 20 in 20 C (https://www.steam-engine.org/tcr). Cu toate aceastea, nu am obtinut rezultate prea fericite, asa ca, pentru cine doreste sa repete aceasta experienta, recomand folosirea unor rezistente confectionate din materialele prezentate mai sus.
Alte configurari realizate sunt initializarea diferitelor module precum cel de I2C, comunicatiile analogice si digitale cu joystickul si senzorul, etc. Am ales, pentru partea de configurari, sa folosesc cat mai mult lucrul cu registrele.
Avand in vedere ca displayul este format dintr-o componenta de conversie I2C la display 1604 si displayul in sine, am folosit biblioteca externa LiquidCrystal_I2C pentru o mai simpla comunicare cu acesta.
In bucla de rulare a programului, se fac urmatoarele verificari / actiuni:
In mod empiric am observat un comportament neasteptat la senzorul de curent folosit, avand salturi destul de mari la tensiune constanta. Astfel, nu parea sa masoare foarte bine curentul care trecea prin rezistor. Avand in vedere ca a fost folosit un semnal PWM pentru a genera tensiunea pseudo-analogica pe rezistor, senzorul nu reusea sa masoare curentul mediu cum trebuie.
Pentru calcularea rezistentei la temperatura camerei, putem folosi aceasta metoda, dar pentru calcularea temperaturii rezistorului, nu este o idee buna sa ne bazam pe aceasta metoda, neavand destula precizie.
Imbunatatirile care pot fi aduse acestui prototip, astfel incat acesta sa functioneze in parametri optimi, ar putea fi: