Differences

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

Link to this comparison view

pm:prj2021:apredescu:pistol-de-masurare-temperatura [2021/06/01 20:40]
ovidiu.stanica
pm:prj2021:apredescu:pistol-de-masurare-temperatura [2021/06/03 17:09] (current)
ovidiu.stanica
Line 7: Line 7:
  
 Pistolul de măsurat temperatura nu intră în contact cu suprafața a cărei temperatură este măsurată.\\ Pistolul de măsurat temperatura nu intră în contact cu suprafața a cărei temperatură este măsurată.\\
-Pentru eșantionarea temperaturii se folosește un senzor de temperatură cu raze infraroșii ​MXL90614.\\ +Pentru eșantionarea temperaturii se folosește un senzor de temperatură cu raze infraroșii ​MLX90614.\\ 
-Pentru măsurarea cât mai potrivită, vor fi introduse 3 moduri de măsurare, specifice unor medii de temperatură.+Pentru măsurarea cât mai potrivită, vor fi introduse 3 moduri de măsurare, specifice unor medii de temperatură.\\ 
 +Se poate folosi exact ca un pistol de măsurat temperatura găsit în supermarket-uri.
  
 ===== Descriere generală ===== ===== Descriere generală =====
Line 16: Line 17:
 Pistolul are 2 butoane prin care e controlată măsurarea temperaturii. Un buton, numit declanșator,​ activează măsurarea temperaturii cât timp e apăsat, în continuu. Temperatura este afișată pe LCD, pe rândul de jos, în partea stângă. În partea dreaptă e afișată temperatura trecută prin filtrul de procesare. Pistolul are 2 butoane prin care e controlată măsurarea temperaturii. Un buton, numit declanșator,​ activează măsurarea temperaturii cât timp e apăsat, în continuu. Temperatura este afișată pe LCD, pe rândul de jos, în partea stângă. În partea dreaptă e afișată temperatura trecută prin filtrul de procesare.
  
-Pistolul oferă ​filtre de procesare:​\\ ​+Pistolul oferă ​filtre de procesare:​\\ ​
  * Minim (MIN) păstrează doar minimul temperaturilor măsurate;​\\  * Minim (MIN) păstrează doar minimul temperaturilor măsurate;​\\
  * Maxim (MAX) păstrează doar minimul temperaturilor măsurate;​\\  * Maxim (MAX) păstrează doar minimul temperaturilor măsurate;​\\
- * Average (AVG) face media temperaturilor măsurate;​\\ 
  * None (---) afișează ultima temperatură măsurată;  * None (---) afișează ultima temperatură măsurată;
    
-Filtrul de procesare e resetat când se începe o nouă măsuratoare (adică când se apasă declanșatorul)+Filtrul de procesare e resetat când se începe o nouă măsuratoare (adică când se apasă declanșatorul).
  
-Carcasa pistolului va fi făcută la o imprimanta 3D(sau cel puțin voi încerca să folosesc un soft de design, Fusion 360)+ 
 +==Schema bloc== 
 +{{:​pm:​prj2021:​apredescu:​schema_bloc_stanica_ovidiu-stefan.jpeg?400|}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
  
 Voi avea nevoie de următoarele componente:​\\ Voi avea nevoie de următoarele componente:​\\
- * Arduino ​Uno\\ + * Arduino ​Nano\\ 
- * LCD 1602 Adaptor I2C\\+ * LCD 1602\\ 
 + ​* ​Adaptor I2C\\
  * Buton schimbat mod măsurare\\  * Buton schimbat mod măsurare\\
  * Buton declanșat măsurarea\\  * Buton declanșat măsurarea\\
Line 37: Line 40:
  * Întrerupător on/off  * Întrerupător on/off
  
-{{:​pm:​prj2021:​apredescu:​schema_bloc_stanica_ovidiu-stefan.jpeg?​400|}} +Display-ul ​și senzorul le-am pus pe aceeași ​"placă", conectate la Arduino printr-un cablu de Ethernet. Am folosit cablu de ethernet pentru ​că are ecranare ​cât de cât bunăși I2C este gândit să fie folosit pe același ​circuit board, deci nu suportă interferențe ​prea mari.
- +
-Display-ul ​si senzorul le-am pus pe aceeasi ​"placa", conectate la Arduino printr-un cablu de Ethernet. Am folosit cablu de ethernet pentru ​ca are ecranare ​cat de cat bunasi I2C este gandit sa fie folosit pe acelasi ​circuit board, deci nu suporta interferente ​prea mari.+
    
-Butoanele sunt conectare direct ​langa Arduino.+Butoanele sunt conectare direct ​lângă ​Arduino.
  
-{{:​pm:​prj2021:​apredescu:​schema_electrica_stanica_ovidiu.jpg?​400|}}+==Schema electrică== 
 +{{:​pm:​prj2021:​apredescu:​schema_electrica_stanica_ovidiu.jpg?​600|}}
  
 ===== Software Design ===== ===== Software Design =====
  
-Am folosit un timer (timer2) pe Atmega ca sa fac citirea senzorului de 2500 ori pe secunda.+Am folosit un timer (timer2) pe Atmega ca să fac citirea senzorului de 2500 ori pe secundă. 
 + 
 +Pentru că senzorul de temperatură este interfațat pe I2C, și comunicația pe I2C are nevoie ca interrupt-urile să fie pornite, nu pot face citirea senzorului direct în interrupt-ul de timer. 
 +În loc, interrupt-ul setează un flag global. Bucla principală verifică constant acest flag, și dacă este setat, îl elimină și face o citire a senzorului.
  
-Pentru ca senzorul ​de temperatura este interfatat ​pe I2Csi comunicatia pe I2C are nevoie ca interrupt-urile sa fie pornitenu pot face citirea senzorului direct in interrupt-ul de timer. +Afișarea la display se face de 10 ori pe secundă. În mod idealafișarea s-ar putea face mai desdar refresh rate-ul display-ului nu permite (durează ~70ms ca un pixel să-și schimbe starea).
-In loc, interrupt-ul seteaza ​un flag global. Bucla principala verifica constant acest flag, si daca este setat, il elimina si face o citire a senzorului.+
  
-Afisarea la display se face de 10 ori pe secunda. In mod ideal, afisare s-ar putea face mai des, dar refresh ​rate-ul display-ului nu permite (dureaza ~70ms ca un pixel sa-si schimbe starea)+Filtrele sunt evaluate odată cu refresh-ul ​senzorului. Dacă se cere schimbarea filtrului, înainte de citire, se resetează datele de acumulare ​si e schimbată funcția de filtru.
  
-Filtrele sunt evaluate odata cu refresh-ul senzoruluiDaca se cere schimbarea filtrului, inainte de citire, se reseteaza datele de acumulare si e schimbata functia de filtru.+===== Rezultatul Obținut ===== 
 +Am obținut un dispozitiv care poate măsura temperatura în timp real și care poate afișa maximul și minimul temperaturii dintr-un loc.\\ 
 +{{:​pm:​prj2021:​apredescu:​imagine1_stanica_ovidiu.jpeg?​600|}} 
 +{{:​pm:​prj2021:​apredescu:​imagine_4_stanica_ovidiu.jpeg?​600|}} 
 +{{:​pm:​prj2021:​apredescu:​imagine_2_stanica_ovidiu.jpeg?​600|}} 
 +{{:​pm:​prj2021:​apredescu:​imagine_3_stanica_ovidiu.jpeg?​600|}}
  
-===== Rezultatul Obtinut ​=====+===== Concluzii ​===== 
 +În urma realizării acestui proiect, am observat cât de ușor și de distractiv este să creezi proiecte folositoare folosindu-mă de arduino.
  
-===== Downloads ​===== +===== Download ​===== 
-[[https://​ocw.cs.pub.ro/​courses/​pm/prj2021/apredescu/pistol-de-masurare-temperatura?​do=export_pdf|Link pdf]]+<note tip> 
 +Arhiva conține o poză cu proiectul, schema bloc, schema electrică și codul sursă al proiectului:​  
 +{{:pm:prj2021:apredescu:​resurse_stanica_ovidiu.zip|Arhivă Resurse}} 
 +</note>
  
 +===== Jurnal =====
 +2021/04/25 - Creare pagină wiki\\
 +2021/05/16 - Creare schemă bloc și actualizare pagină wiki\\
 +2021/06/01 - Finalizare parte hardware și software a proiectului + creare schemă electrică\\
 +2021/06/02 - Finalizare pagină wiki
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
-[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​pistol-de-masurare-temperatura|Link proiect]]+[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​pistol-de-masurare-temperatura?​do=export_pdf|Link pdf]]\\ 
 +[[https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​apredescu/​pistol-de-masurare-temperatura|Link proiect]]\\ 
 +https://​www.youtube.com/​watch?​v=xAeO1ZQtwKc - Link cu video demo\\ 
 +https://​app.diagrams.net/​ - Program folosit pentru schema bloc\\ 
 +https://​www.kicad.org/​download/​ - Program folosit pentru schema electrică
  
pm/prj2021/apredescu/pistol-de-masurare-temperatura.1622569211.txt.gz · Last modified: 2021/06/01 20:40 by ovidiu.stanica
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