This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:mihnea.marinel [2026/05/22 09:58] mihnea.marinel [Software Design] |
pm:prj2026:atoader:mihnea.marinel [2026/05/22 10:20] (current) mihnea.marinel |
||
|---|---|---|---|
| Line 51: | Line 51: | ||
| {{ :pm:prj2026:atoader:schema_electrica_ventilator.png?700 |Schema bloc ventilator}} | {{ :pm:prj2026:atoader:schema_electrica_ventilator.png?700 |Schema bloc ventilator}} | ||
| + | |||
| + | |||
| + | **Stările Sistemului:** | ||
| + | |||
| + | 1. **Stare Normală:** Temperatura este sub pragul de alertă, mediul este curat. Ventilatorul este oprit. | ||
| + | {{ :pm:prj2026:atoader:ventilator_stare_neutra.jpeg?700 |Schema bloc ventilator}} | ||
| + | |||
| + | 2. **Stare Atenție Temperatură:** Temperatura crește peste pragul setat, sistemul pornește evacuarea aerului. | ||
| + | {{ :pm:prj2026:atoader:ventilator_stare_medie_temperatura.jpeg?700 |Schema bloc ventilator}} | ||
| + | |||
| + | 3. **Stare Alarma Gaz:** Senzorul MQ-2 detectează gaz. Sistemul ignoră temperatura și intră în modul de siguranță. | ||
| + | {{ :pm:prj2026:atoader:ventilator_stare_critica(gaz_detectat).jpeg?700 |Schema bloc ventilator}} | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 61: | Line 73: | ||
| 2.Bucla principală : | 2.Bucla principală : | ||
| - | • Eșantionare ciclică a canalelor ADC0 (MQ-2) și ADC1 (LM35). | + | • 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. | + | • 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ță. | + | • 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: | 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 (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). | + | • 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. | + | • Actualizare continuă a display-ului LCD și a interfeței UART pentru telemetrie. |
| </note> | </note> | ||
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | 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ță. |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| + | 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. | ||
| ===== Download ===== | ===== Download ===== | ||
| + | <note> | ||
| + | Codul sursă complet, schemele și imaginile sunt disponibile în repo-ul: | ||
| - | <note warning> | + | https://github.com/MMihnea04/Ventilator-Inteligent-cu-Monitorizare-Mediu.git |
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
| - | + | ||
| - | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
| </note> | </note> | ||
| Line 100: | Line 110: | ||
| •17 Aprilie 2026 : Achiziția componentelor (LM35D, MQ-2, L298N,…). | •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ă. | ||
| </note> | </note> | ||