Differences

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

Link to this comparison view

pm:prj2025:vstoica:popapeter [2025/05/18 20:27]
peter.popa [Hardware Design]
pm:prj2025:vstoica:popapeter [2025/05/28 00:37] (current)
peter.popa [Bibliografie/Resurse]
Line 48: Line 48:
 ===== Software Design ===== ===== Software Design =====
  
 +  * ** Mediu de dezvoltare:​** Codul a fost scris în limbajul C, utilizând extensia PlatformIO din Visual Studio Code, folosind toolchain-ul AVR GCC pentru microcontrolerul ATmega328P.
 +  * ** Librării și surse externe utilizate: ** 
 +    * twi.h și twi.cpp – implementare low-level pentru comunicația I2C
 +    * lcd.h și lcd.cpp – implementare pentru afișarea pe LCD 16x2 I2C
 +  * ** Algoritmi și structuri implementate:​ **Aplicația implementează o interfață de control pentru un piston acționat electric, cu control direcție și stare ON/OFF, citind în același timp valoarea de curent consumat și calculând puterea livrată.
 +    * ** Debounce pentru butoane: **Implementat software folosind Timer1 în CTC mode, cu întrerupere la 1ms. Fiecare buton este filtrat prin contorizarea stării stabile timp de 20ms pentru a elimina bouncing-ul mecanic.
 +    * ** Controlul motorului: **Două ieșiri digitale (D2, D3) comandă un driver L298N pentru controlul direcției pistonului. Un buton comută între ON/OFF, iar altul între sensul de deplasare. LED-urile indică starea (roșu = oprit, verde = activ).
 +    * ** Citire senzor ACS712 (20A): ** Se utilizează ADC-ul intern pentru a citi tensiunea analogică proporțională cu curentul.
 +    * ** Calcul putere: **Puterea activă este calculată ca produs între curent și tensiunea de alimentare fixă a pistonului (10.65V). Aceasta se actualizează la fiecare 500ms folosind același timer ca și pentru debounce, dar cu un contor separat în ISR.
 +    * ** Afișare pe LCD I2C: **Pe LCD-ul 16x2 sunt afișate:
 +      * Linia 1: curentul (A) și puterea (W)
 +      * Linia 2: starea curentă a sistemului (ACTIV/​OPRIT)
  
-===== Rezultate Obţinute =====+** Elementul de noutate **constă în integrarea controlului hardware de motor, monitorizarea consumului electric printr-un senzor de curent și afișarea în timp real a acestor valori pe un LCD I2C.
  
 +Proiectul valorifică **funcționalități studiate în laborator** precum: temporizare prin **Timer1 în CTC**, utilizarea **întreruperilor** pentru debounce, citire **ADC** pentru senzori analogici și comunicație **I2C** pentru afișaj.
  
-===== Concluzii =====+**Senzorul ACS712** a fost **calibrat** pe baza valorii de referință (**2.5V la 0A**) și a sensibilității declarate de producător (**100 mV/A**). Calibrarea s-a verificat cu un multimetru în serie pe o sarcină de test cunoscută (ex: rezistor de putere), iar valoarea de **10.65V** a fost măsurată pe sursa de alimentare a pistonului.  
 +
  
 +** Optimizările** au fost realizate în principal în ceea ce privește utilizarea memoriei și resurselor hardware. **Timerul 1** a fost utilizat pentru **debounce** și pentru **sampling periodic** (calculul curentului și al puterii, urmate de afișarea pe LCD), economisind un timer suplimentar.
  
-===== Download =====+**Videoclip:​** [[https://​youtu.be/​CnxCBeDxjME|https://​youtu.be/​CnxCBeDxjME]]
  
  
-===== Jurnal ​===== +===== Download ​===== 
 +  * ** Link GitHub: **[[https://​github.com/​PopaPeter/​PM_fair|https://​github.com/​PopaPeter/​PM_fair]]
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
 +  * **Fisa tehnica ATmega328P:​** [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P]] 
 +  * **Librarie LCD I2C (LiquidCrystal_I2C):​** [[https://​github.com/​johnrickman/​LiquidCrystal_I2C|LCD_I2C]] 
 +  * **Fisa tehnica ACS712:​**[[https://​www.sparkfun.com/​datasheets/​BreakoutBoards/​0712.pdf|ACS712]] 
 +  * **Informatii lucru registrii:​** [[https://​www.youtube.com/​watch?​v=dQw4w9WgXcQ&​ab_channel=RickAstley|OCW]]
pm/prj2025/vstoica/popapeter.1747589264.txt.gz · Last modified: 2025/05/18 20:27 by peter.popa
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