Proiectul este unul de automatizare care combină controlul industrial cu monitorizarea siguranței ambientale. Este un sistem de ventilație inteligent, ce gestionează calitatea aerului și temperatura într-o incintă.
Dispozitivul monitorizează constant doi parametri critici: temperatura (prin senzorul analogic LM35D) și prezența gazelor inflamabile sau a fumului (prin senzorul MQ-2). În funcție de valorile citite, sistemul ajustează automat turația unui ventilator folosind semnale PWM, afișează datele în timp real pe un ecran LCD I2C și avertizează vizual utilizatorul prin LED-uri de stare.
Am ales acest proiect deoarece integrează fluxuri de date analogice cu logică de control în timp real. Direcția este una utilă în scenarii reale, precum camere de servere sau ateliere, unde ventilația trebuie să fie eficientă energetic dar și să reacționeze instantaneu la pericole (scurgeri de gaze). Elementul central este logica de override: indiferent de temperatură, detectarea fumului forțează sistemul în mod de alertă maximă.
Proiectul utilizează microcontrolerul ATmega328P ca unitate centrală de procesare. Acesta interfațează cu mediul prin senzori analogici, procesează datele prin unitatea ADC internă și comandă perifericele de ieșire. Cum interacționează modulele:
• Senzor LM35D - furnizează o tensiune proporțională cu temperatura ambientală.
• Senzor MQ-2 - detectează concentrația de gaz/fum și trimite un semnal analogic (pentru măsurare pe PC0), dar și un semnal digital (pe PB4) pentru întreruperi sau override rapid la depășirea pragului hardware.
• Driver L298N + Ventilator - primește semnal PWM pentru a varia viteza motorului de 12V.
• LCD 1602 (I2C) - afișează temperatura în grade Celsius și statusul sistemului (Low/Med/High/Alarm).
• LED-uri (Verde, Galben, Roșu) - oferă feedback vizual rapid asupra stării curente.
Concepte din laboratoare folosite:
• Laboratorul 3: PWM - pentru controlul vitezei ventilatorului prin registrul OCR1A (Timer 1, Fast PWM pe pinul PB1).
• Laboratorul 4: ADC - pentru citirea valorilor analogice de la LM35D și MQ-2.
• Laboratorul 6: I2C - pentru comunicarea cu ecranul LCD folosind pinii SDA/SCL.
| Componentă | Rol |
|---|---|
| ATmega328P (Xplained Mini) | Microcontroler principal |
| LM35D Analog Sensor | Măsurarea temperaturii ambientale (10mV/°C) |
| MQ-2 Gas Sensor | Detectarea fumului și a gazelor inflamabile |
| L298N Driver | Interfață de putere între MCU și ventilator |
| DC Fan (12V) | Actuator pentru răcire și evacuare |
| LCD 1602 cu adaptor I2C | Afișaj alfanumeric pentru telemetrie |
| 3x LED-uri (V, G, R) | Indicatori vizuali pentru praguri și alerte |
| Sursă externă 12V | Alimentarea ventilatorului și a driverului |
Stările Sistemului:
1. Stare Normală: Temperatura este sub pragul de alertă, mediul este curat. Ventilatorul este oprit.
2. Stare Atenție Temperatură: Temperatura crește peste pragul setat, sistemul pornește evacuarea aerului.
3. Stare Alarma Gaz: Senzorul MQ-2 detectează gaz. Sistemul ignoră temperatura și intră în modul de siguranță.
1.Inițializare: Configurare ADC (prescaler, referință), PWM (Timer 1), I2C (frecvență bus 100kHz) și pini I/O.
2.Bucla principală :
• Eșantionare ciclică a canalelor ADC0 (MQ-2) și ADC1 (LM35).
• Oversampling și Filtru EMA: Pentru a elimina zgomotul electric de masă (Ground Bounce) generat de comutația motorului DC pe breadboard, citirile senzorului LM35D sunt trecute printr-un filtru EMA (Exponential Moving Average) combinat cu o medie aritmetică din 20 de eșantioane.
• Logică de Histerezis: S-a implementat o zonă tampon (dead-band) de 2.0°C pentru a preveni oscilația ventilatorului (pornit/oprit repetat) când temperatura fluctuează fix la valoarea de graniță.
3.Logica de decizie:
• Dacă Gaz > Prag (Analogic > 130 sau Pin Digital activ): Override activat, viteză 100% (PWM 255), LED Roșu intermitent, LCD afișează alarmă.
• Dacă Gaz < Prag: Viteza se ajustează după temperatură (Oprit sub 33°C, Viteză medie între 33-38°C, Maxim peste 38°C).
• Actualizare continuă a display-ului LCD și a interfeței UART pentru telemetrie.
Sistemul reușește să filtreze cu succes zgomotul electric puternic indus de motor pe o sursă de alimentare comună (breadboard), oferind citiri stabile de temperatură. De asemenea, funcția de “Hardware Override” a senzorului MQ-2 răspunde aproape instantaneu (sub 1 secundă) la prezența gazului, demonstrând un nivel de fiabilitate esențial pentru un sistem de siguranță.
Realizarea acestui proiect a scos în evidență discrepanțele dintre teoria ideală a circuitelor și limitările fizice ale hardware-ului real (inerție termică, zgomot pe linia de GND). Rezolvarea acestor probleme pur hardware prin metode software (filtre exponențiale și histerezis) a demonstrat că un sistem embedded stabil necesită o fuziune echilibrată între electronică și programare.
https://github.com/MMihnea04/Ventilator-Inteligent-cu-Monitorizare-Mediu.git
•15-16 Aprilie 2026 : Realizarea documentației + schema bloc.
•17 Aprilie 2026 : Achiziția componentelor (LM35D, MQ-2, L298N,…).
•10-15 Mai 2026 : Asamblare proiect.
•21-22 Mai 2026 : Scriere cod și testare finală.
•https://ww1.microchip.com/downloads/en/DeviceDoc/50002659A.pdf
•https://ocw.cs.pub.ro/courses/pm/tutorial/proiect
•https://ocw.cs.pub.ro/courses/pm/lab/lab6-2023-2024
•https://ocw.cs.pub.ro/courses/pm/lab/lab4-2023-2024
•https://ocw.cs.pub.ro/courses/pm/lab/lab3-2023-2024