Differences

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

Link to this comparison view

pm:prj2026:vlad.radulescu2901:amarinescu0804 [2026/05/24 21:16]
amarinescu0804 [Bibliografie/Resurse]
pm:prj2026:vlad.radulescu2901:amarinescu0804 [2026/05/24 21:34] (current)
amarinescu0804 [Hardware Design]
Line 40: Line 40:
  
 **Module hardware**: **Module hardware**:
 +
 +  * **Placă de dezvoltare (Microcontroler ATmega328P):​** „Creierul” sistemului. Preia datele analogice și digitale, procesează logica automatului finit (State Machine) folosind timere hardware interne și comandă atât interfața, cât și elementele de execuție.
  
   * **Senzor umiditate sol** – utilizat pentru a măsura în timp real nivelul de hidratare al substratului plantei și pentru a trimite datele către convertorul ADC.   * **Senzor umiditate sol** – utilizat pentru a măsura în timp real nivelul de hidratare al substratului plantei și pentru a trimite datele către convertorul ADC.
Line 91: Line 93:
   * **Control Volumetric și Soft-Start (PWM):** Udarea nu se face pe bază de timp brut, ci volumetric (ex: 50 ml). S-a implementat o constantă a debitului pompei, iar sistemul calculează dinamic fracțiunile de 10ms necesare pentru cantitatea dorită. Suplimentar,​ s-a utilizat Timer0 pe pinul PD6 (Fast PWM) pentru a crea o rampă de accelerare a motorului (Soft-Start),​ eliminând presiunea bruscă de pe furtun.   * **Control Volumetric și Soft-Start (PWM):** Udarea nu se face pe bază de timp brut, ci volumetric (ex: 50 ml). S-a implementat o constantă a debitului pompei, iar sistemul calculează dinamic fracțiunile de 10ms necesare pentru cantitatea dorită. Suplimentar,​ s-a utilizat Timer0 pe pinul PD6 (Fast PWM) pentru a crea o rampă de accelerare a motorului (Soft-Start),​ eliminând presiunea bruscă de pe furtun.
   * **State Machine (UI & Operare):** Logica principală este structurată pentru a comuta între 4 ecrane de interfață (**Monitorizare Acasă**, **Setare Prag Sol**, **Setare Timp Udare**, **Setare Volum Apă**) și 3 moduri operaționale (**Auto**, **Timed**, **Hybrid**),​ garantând că display-ul este actualizat (refresh) doar atunci când apar modificări sau o dată pe secundă, economisind timp de procesare pe magistrala lentă I2C.   * **State Machine (UI & Operare):** Logica principală este structurată pentru a comuta între 4 ecrane de interfață (**Monitorizare Acasă**, **Setare Prag Sol**, **Setare Timp Udare**, **Setare Volum Apă**) și 3 moduri operaționale (**Auto**, **Timed**, **Hybrid**),​ garantând că display-ul este actualizat (refresh) doar atunci când apar modificări sau o dată pe secundă, economisind timp de procesare pe magistrala lentă I2C.
 +  * **Monitorizare și Debugging (USART):** Pe parcursul dezvoltării,​ s-a implementat comunicarea serială prin interfața USART. Aceasta a fost esențială pentru diagnosticarea în timp real a sistemului (monitorizarea valorilor brute citite de convertorul ADC de la senzorul de sol, verificarea stărilor din automatul finit și validarea calculelor matematice pentru dozajul volumetric),​ permițând o separare clară și rapidă a problemelor de tip hardware de cele software.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
Line 96: Line 99:
  
 Rezultatul final este un sistem de irigații automatizat stabil și complet portabil, fiind alimentat independent de la o baterie externă. Sistemul monitorizează precis umiditatea solului, livrează volumetric cantitatea exactă de apă prin accelerarea treptată a pompei (Soft-Start),​ rulează o arhitectură non-blocking ce previne înghețarea codului și oferă utilizatorului o interfață fluidă, cu feedback instantaneu pe ecranul LCD. Rezultatul final este un sistem de irigații automatizat stabil și complet portabil, fiind alimentat independent de la o baterie externă. Sistemul monitorizează precis umiditatea solului, livrează volumetric cantitatea exactă de apă prin accelerarea treptată a pompei (Soft-Start),​ rulează o arhitectură non-blocking ce previne înghețarea codului și oferă utilizatorului o interfață fluidă, cu feedback instantaneu pe ecranul LCD.
 +
 +Un video demonstrativ se poate găsi în secțiunea de jurnal, unde este demonstrată întreaga funcționalitate a proiectului (în afara cutiei).
 ===== Concluzii ===== ===== Concluzii =====
  
 +Dezvoltarea acestui proiect a reprezentat o oportunitate excelentă de a transpune conceptele teoretice de microprocesoare într-o aplicație practică de utilitate reală. Cea mai importantă reușită a proiectului a fost implementarea unei arhitecturi software complet non-blocking (multitasking cooperativ bazat pe timere hardware), care oferă sistemului un timp de răspuns instantaneu la interacțiunea cu utilizatorul.
 +
 +**Provocări întâmpinate și rezolvate:​**
 +Pe parcursul dezvoltării,​ interfațarea motorului de curent continuu al pompei cu partea logică a ridicat două probleme majore, ambele rezolvate prin decizii tehnice specifice:
 +
 +  * **Izolarea alimentării:​** Inițial, alimentarea pompei direct din linia de 5V a microcontrolerului cauza căderi bruște de tensiune la pornirea motorului (din cauza curentului mare de start), ceea ce destabiliza complet funcționarea sistemului. Soluția a fost separarea planurilor de putere: pompa este acum alimentată dintr-un pachet dedicat de baterii externe, păstrând doar masa (GND) comună cu placa logică pentru referința semnalului PWM.
 +
 +  * **Gestionarea interferențelor:​** La oprirea bruscă a pompei se genera tensiune de autoinducție,​ iar paraziții electromagnetici corupeau memoria RAM a ecranului. Problema a fost mascată din software: s-a implementat o rutină asincronă de Auto-Recovery care detectează oprirea pompei și forțează o reinițializare rapidă a ecranului (sub 60ms), restabilind interfața fără blocaje perceptibile.
 ===== Download ===== ===== Download =====
  
pm/prj2026/vlad.radulescu2901/amarinescu0804.1779646605.txt.gz · Last modified: 2026/05/24 21:16 by amarinescu0804
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