This shows you the differences between two versions of the page.
|
pm:prj2026:andrei.batasev:cosmin.gaicu [2026/05/05 00:03] cosmin.gaicu |
pm:prj2026:andrei.batasev:cosmin.gaicu [2026/05/05 00:22] (current) cosmin.gaicu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | **Introducere. Descrierea schemei bloc și a componentelor hardware** | + | ====== Sistem Inteligent de Irigare a Plantelor ====== |
| + | |||
| + | ===== 1. Introducere ===== | ||
| Proiectul realizat are ca scop implementarea unui sistem automat de irigare a plantelor, bazat pe monitorizarea umidității solului și a nivelului apei din rezervor. Sistemul utilizează un microcontroler pentru achiziția datelor de la senzori, procesarea acestora și controlul acționării unei pompe de apă, precum și pentru transmiterea informațiilor către un dispozitiv extern prin comunicație wireless. | Proiectul realizat are ca scop implementarea unui sistem automat de irigare a plantelor, bazat pe monitorizarea umidității solului și a nivelului apei din rezervor. Sistemul utilizează un microcontroler pentru achiziția datelor de la senzori, procesarea acestora și controlul acționării unei pompe de apă, precum și pentru transmiterea informațiilor către un dispozitiv extern prin comunicație wireless. | ||
| - | **Schema bloc** | + | Acest sistem demonstrează integrarea mai multor periferice hardware (ADC, GPIO, UART, întreruperi), realizând un exemplu practic de aplicație embedded în domeniul automatizării. |
| + | |||
| + | ===== 2. Obiectivele Proiectului ===== | ||
| + | * **Automatizarea irigării:** Menținerea unui nivel optim de umiditate pentru plante, prevenind atât udarea excesivă, cât și uscarea solului. | ||
| + | * **Eficiența resurselor:** Minimizarea consumului de apă prin activarea pompei doar atunci când senzorul raportează valori sub pragul critic prestabilit. | ||
| + | * **Siguranța hardware:** Protejarea pompei de apă prin oprirea automată a acesteia atunci când rezervorul este gol, utilizând un sistem bazat pe întreruperi externe pentru un timp de răspuns instantaneu. | ||
| + | * **Telemetrie:** Facilitarea monitorizării de la distanță a stării sistemului (nivel umiditate, stare pompă, avertizări) prin intermediul comunicației Bluetooth. | ||
| + | |||
| + | ===== 3. Schema bloc ===== | ||
| + | |||
| + | Sistemul este organizat în mai multe blocuri funcționale principale, ilustrate în diagrama de mai jos: | ||
| + | |||
| + | <code> | ||
| ┌───────────────────────────┐ | ┌───────────────────────────┐ | ||
| │ Senzor Umiditate │ | │ Senzor Umiditate │ | ||
| Line 22: | Line 36: | ||
| │ │ │ | │ │ │ | ||
| ▼ ▼ ▼ | ▼ ▼ ▼ | ||
| - | |||
| ┌───────────────┐ ┌───────────────┐ ┌──────────────────┐ | ┌───────────────┐ ┌───────────────┐ ┌──────────────────┐ | ||
| - | + | │ Senzor Nivel │ │ Modul Releu │ │ Modul Bluetooth │ | |
| - | │ Senzor Nivel │ | Modul Releu │ │ Modul Bluetooth │ | + | │ Apă (digital) │ │ (control) │ │ HC-05 │ |
| - | │ Apă (digital) │ │ (control) │ │ HC-05 │ | + | |
| └───────┬───────┘ └───────┬───────┘ └────────┬─────────┘ | └───────┬───────┘ └───────┬───────┘ └────────┬─────────┘ | ||
| - | │ Interrupt │ GPIO │ UART | + | │ Interrupt │ GPIO │ UART |
| - | ▼ ▼ ▼ | + | ▼ ▼ ▼ |
| ┌───────────────┐ | ┌───────────────┐ | ||
| │ Pompă │ | │ Pompă │ | ||
| Line 44: | Line 55: | ||
| ────────────────────┼──────────────────────── | ────────────────────┼──────────────────────── | ||
| │ | │ | ||
| - | (alimentează toate componentele) | + | (alimentează toate componentele) |
| + | </code> | ||
| - | Sistemul este organizat în mai multe blocuri funcționale principale: | + | Componentele diagramei bloc sunt: |
| + | * **Bloc de achiziție date (input):** include senzorul de umiditate a solului (semnal analogic) și senzorul de nivel apă cu flotant (semnal digital). | ||
| + | * **Bloc de procesare:** reprezentat de microcontrolerul ATmega328P Xplained Mini, care citește datele de la senzori, implementează logica de decizie și dictează starea actuatorului. | ||
| + | * **Bloc de acționare:** modulul releu utilizat ca interfață de putere pentru controlul pompei de apă. | ||
| + | * **Bloc de comunicație:** modulul Bluetooth utilizat pentru transmiterea datelor către interfața utilizatorului. | ||
| + | * **Bloc de alimentare:** sursa de tensiune stabilizată care asigură funcționarea și referința de tensiune pentru ADC și restul circuitului. | ||
| - | **Bloc de achiziție date (input):** | + | ===== 4. Descrierea componentelor hardware ===== |
| - | * senzor de umiditate a solului (semnal analogic) | + | * **Microcontrolerul:** Sistemul este construit în jurul plăcii de dezvoltare ATmega328P Xplained Mini. Aceasta oferă perifericele interne esențiale: modulul ADC (Analog-to-Digital Converter) cu rezoluție de 10-bit pentru citirea senzorului de umiditate, interfața UART (Universal Asynchronous Receiver-Transmitter) pentru comunicația Bluetooth și pini GPIO configurați specific pentru controlul releului și citirea senzorului de nivel. |
| - | * senzor de nivel apă cu flotant (semnal digital) | + | * **Senzorul de umiditate a solului:** Este utilizat un //Capacitive Soil Moisture Sensor v1.2//, care furnizează o tensiune analogică dependentă de capacitatea electrică a solului (care se modifică proporțional cu cantitatea de apă). Spre deosebire de senzorii rezistivi, acesta nu suferă de coroziune rapidă. Este conectat la un canal ADC al microcontrolerului. |
| + | * **Senzorul de nivel al apei:** Se folosește un //Float Water Level Sensor//, un contact de tip Reed care generează un semnal digital (ON/OFF). Acesta este conectat la un pin al microcontrolerului configurat ca sursă de întrerupere externă (ex. `INT0`), asigurând detecția asincronă și prioritară a golirii rezervorului. | ||
| + | * **Sistemul de pompare:** Pompa utilizată este o //Mini Submersible Water Pump 5V//, controlată prin intermediul unui //Relay Module 5V 1-Channel//. Releul asigură izolarea galvanică absolut necesară între circuitul de comandă de curent mic al microcontrolerului și circuitul de putere al pompei. | ||
| + | * **Modulul de comunicație:** Pentru transmiterea datelor către utilizator se utilizează un //HC-05 Bluetooth Module//, conectat la pinii hardware de RX/TX ai UART-ului. | ||
| + | * **Componente auxiliare:** Sistemul include un divizor de tensiune rezistiv (necesar pentru a adapta nivelul logic de 5V generat de pinul TX al ATmega328P la nivelul maxim tolerat de 3.3V pe pinul RX al HC-05), condensatori de decuplare pentru stabilizarea alimentării și o diodă //1N4007 (Flyback Diode)// plasată anti-paralel pe terminalele pompei pentru a proteja circuitul împotriva tensiunilor inverse (forță contra-electromotoare) generate de sarcina inductivă la dezactivarea releului. | ||
| - | **Bloc de procesare:** | + | ===== 5. Funcționarea generală și implementarea software ===== |
| - | * microcontrolerul ATmega328P Xplained Mini, care citește datele de la senzori, compară valorile cu praguri prestabilite și decide acțiunile necesare | + | Logica sistemului se bazează pe o buclă de control (polling temporizat) combinată cu tratarea asincronă a evenimentelor critice: |
| - | **Bloc de acționare:** | + | * **Citirea și filtrarea datelor:** Folosind un Timer hardware, microcontrolerul declanșează la intervale regulate o conversie ADC pentru umiditatea solului. Pentru a preveni comutările oscilante ale releului datorate zgomotului, se implementează software un filtru de tip medie mobilă (//moving average//) peste ultimele N eșantioane citite. |
| - | + | * **Banda de histerezis:** Valoarea obținută este comparată cu două praguri. Pompa pornește doar când umiditatea scade sub un prag minim și se oprește doar când atinge un prag maxim superior. Acest mecanism de histerezis previne cuplarea/decuplarea repetată și rapidă a releului la granița unei singure valori de prag. | |
| - | * modul releu utilizat pentru controlul pompei de apă | + | * **Tratarea Întreruperilor (ISR):** Pinul conectat la senzorul de nivel al apei monitorizează tranzițiile. Dacă senzorul semnalează lipsa apei (ex. tranziție //falling edge//), microcontrolerul suspendă execuția buclei principale și intră în rutina de tratare a întreruperii (ISR). În ISR, comanda către releul pompei este anulată instantaneu pentru a proteja motorul de funcționarea în gol, iar un flag de eroare este setat în software. |
| - | + | * **Raportare Serială:** În fluxul principal, datele de stare curente (nivelul ADC convertit în procente de umiditate și statusul //Safe/Error// al rezervorului) sunt formatate în string-uri și transmise non-blocant prin regiștrii modulului USART către adaptorul Bluetooth. | |
| - | **Bloc de comunicație:** | + | |
| - | + | ||
| - | * modul Bluetooth HC-05 Bluetooth Module pentru transmiterea datelor către un telefon | + | |
| - | + | ||
| - | **Bloc de alimentare:** | + | |
| - | + | ||
| - | * sursă de alimentare de 5V care asigură funcționarea tuturor componentelor | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | **Descrierea componentelor hardware** | + | |
| - | + | ||
| - | **Microcontrolerul** | + | |
| - | Sistemul este construit în jurul plăcii ATmega328P Xplained Mini, care oferă perifericele necesare: ADC pentru citirea senzorului de umiditate, interfață UART pentru comunicația Bluetooth și pini GPIO pentru controlul releului și citirea senzorului de nivel. | + | |
| - | + | ||
| - | **Senzorul de umiditate a solului** | + | |
| - | Este utilizat un Capacitive Soil Moisture Sensor v1.2, care furnizează un semnal analogic proporțional cu nivelul de umiditate din sol. Acesta este conectat la un canal ADC al microcontrolerului. | + | |
| - | + | ||
| - | **Senzorul de nivel al apei** | + | |
| - | Se folosește un Float Water Level Sensor, care generează un semnal digital (ON/OFF). Acesta este conectat la un pin configurat cu întrerupere externă pentru detecția rapidă a golirii rezervorului. | + | |
| - | + | ||
| - | **Sistemul de pompare** | + | |
| - | Pompa utilizată este o Mini Submersible Water Pump 5V, controlată prin intermediul unui Relay Module 5V 1-Channel. Releul permite izolarea circuitului de putere de cel de comandă. | + | |
| - | + | ||
| - | **Modulul de comunicație** | + | |
| - | Pentru transmiterea datelor către utilizator se utilizează HC-05 Bluetooth Module, conectat la interfața UART a microcontrolerului. Comunicarea permite afișarea valorilor măsurate și a stării sistemului pe telefon. | + | |
| - | + | ||
| - | **Componente auxiliare** | + | |
| - | Sistemul include rezistențe pentru limitarea curentului și realizarea divizoarelor de tensiune, condensatori pentru stabilizarea alimentării și filtrarea zgomotului, precum și o diodă 1N4007 Diode pentru protecția circuitului împotriva tensiunilor inverse generate de sarcina inductivă. | + | |
| - | + | ||
| - | + | ||
| - | **Funcționarea generală a sistemului** | + | |
| - | + | ||
| - | Microcontrolerul citește periodic valoarea umidității solului prin ADC și o compară cu un prag prestabilit. Dacă umiditatea este sub acest prag, sistemul activează pompa prin releu pentru a iriga solul. În același timp, senzorul de nivel monitorizează existența apei în rezervor; în cazul în care rezervorul este gol, pompa este oprită, iar utilizatorul este notificat prin intermediul modulului Bluetooth. | + | |
| - | + | ||
| - | + | ||
| - | Acest sistem demonstrează integrarea mai multor periferice hardware (ADC, GPIO, UART, întreruperi), realizând un exemplu practic de aplicație embedded în domeniul automatizării. | + | |