Differences

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

Link to this comparison view

pm:prj2026:vlad.radulescu2901:claudia.soare [2026/05/24 21:32]
claudia.soare [Surse si functii implementate]
pm:prj2026:vlad.radulescu2901:claudia.soare [2026/05/24 22:37] (current)
claudia.soare [Hardware Design]
Line 22: Line 22:
  
 ===== Hardware Design ===== ===== Hardware Design =====
-{{:​pm:​prj2026:​vlad.radulescu2901:​schema_electrica_modul_solar.png?750|}}+ 
 +{{:​pm:​prj2026:​vlad.radulescu2901:​modulsolar_claudia.png?750}}
  
 **Explicatia schemei electrice:​** **Explicatia schemei electrice:​**
Line 96: Line 97:
  
 **1. Modulul Principal (main.c)** **1. Modulul Principal (main.c)**
-Reprezinta inima sistemului. ​Aici se face preluarea datelor, afisarea pe ecran si rularea masinii de stari pentru tranzitiile audio. ​+Aici se face preluarea datelor, afisarea pe ecran si rularea masinii de stari pentru tranzitiile audio. ​
 Pentru a stabiliza valorile citite de senzorii optici, a fost implementata functia de ''​Oversampling'',​ care aduna 8 esantioane consecutive si returneaza media lor, ignorand astfel zgomotul electric: Pentru a stabiliza valorile citite de senzorii optici, a fost implementata functia de ''​Oversampling'',​ care aduna 8 esantioane consecutive si returneaza media lor, ignorand astfel zgomotul electric:
 <code c> <code c>
Line 147: Line 148:
 </​code>​ </​code>​
  
-===== Rezultate Obţinute ​===== +===== Rezultat ​=====
- +
-<note tip> +
-Care au fost rezultatele obţinute în urma realizării proiectului vostru. +
-</​note>​+
  
 +https://​drive.google.com/​file/​d/​1DGZJ26SoPe8rLa0h7vX-gNK8Hjuyt_yA/​view?​usp=sharing
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download =====+Acest proiect a reprezentat o provocare complexa si o sinteza excelenta a conceptelor de programare low-level si hardware design. Dezvoltarea unui Solar Tracker hibrid, folosind o abordare strict bare-metal in C, a demonstrat importanta gestionarii eficiente a resurselor limitate ale unui microcontroler (precum memoria RAM de doar 2KB a cipului ATmega328P) in conditiile rularii unor sarcini simultane.
  
-<note warning> +Principalele realizari si lectii invatate includ: 
-O arhivă (sau mai multe dacă este cazul) ​cu fişierele obţinute în urma realizării proiectuluisurseschemeetc. Un fişier README, un ChangeLog, un script ​de compilare şi copiere automată ​pe uC crează întotdeauna o impresie bună ;-). +  * **Integrarea Hardware-Software:​** Am reusit sa sincronizez componente ​cu cerinte hardware si de timp complet diferitecitirea senzorilor analogici prin oversamplingactionarea fluida a motoarelor pas cu pasafisarea ​de date pe I2C si redarea audio in timp real (prin generare de semnal PWM si comunicatie SPI cu un card SD). 
- +  * **Optimizarea Resurselor:** Integrarea modulului audio (PetitFS) alaturi de restul perifericelor a provocat initial coliziuni in memorie (Stack Overflow) si caderi de tensiuneAceasta problema critica a fost depasita prin ajustarea atenta a bufferelor ​de citire la 256 bytes si optimizarea codului de debugging. 
-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 Alin331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +  ​* **Flexibilitate si Control Absolut:** Renuntarea la bibliotecile predefinite abstractizate a oferit un control total asupra registrilor ​(Timere, ADC, TWI, SPI). Acest lucru a permis implementarea unor solutii personalizate vitaleprecum multiplexarea manuala a pinilor pentru motoare pe porturi diferite si scrierea unui driver propriu, eficient, pentru ecranul LCD.
-</​note>​+
  
 +===== Download =====
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
  
-<​note>​ + 
-Listă cu documentedatasheet-uriresurse Internet folositeeventual grupate pe **Resurse Software** ​şi **Resurse Hardware**. +Acest proiect a fost realizat consultand urmatoarele surse oficiale si documentatii tehnicestructurate pe componente hardware si software: 
-</note>+ 
 +==== Resurse Hardware ==== 
 +  * **[[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf|Datasheet ATmega328P (Microchip)]]:​** Sursa esentiala pentru intelegerea si configurarea la nivel de bit a registrilor pentru Timere (generare PWM si intreruperi)ADC (conversie analog-digitala)SPI si TWI (I2C). 
 +  ​* **[[https://​www.ti.com/​lit/​ds/​symlink/​pcf8574.pdf|Datasheet PCF8574 (Texas Instruments)]]:​** Documentatia pentru modulul "​Remote 8-bit I/O expander for I2C-bus",​ necesara pentru implementarea algoritmului bare-metal de comunicatie intre microcontroler si ecranul LCD 1602. 
 +  * **[[https://​www.makerguides.com/​wp-content/​uploads/​2019/​04/​ULN2003-Datasheet.pdf|Datasheet Driver ULN2003]]:​** Specificatiile tehnice ale array-ului de tranzistori Darlington, folosit impreuna cu motorul stepper 28BYJ-48. A fost esential pentru calculul unghiular al pasilor (reductor intern 1:64) si intelegerea secventei corecte de magnetizare a bobinelor in modul Half-Step si Full-Step. 
 +==== Resurse Software ​==== 
 +* **[[https://​ocw.cs.pub.ro/​courses/​pm|Laboratoarele OCW - Proiectarea Microprocesoarelor]]:​** Suportul teoretic si practic principal pentru fundamentarea cunostintelor despre arhitectura AVR, protocoalele de comunicatie seriala (UART, SPI, I2C) si manipularea la nivel de port. 
 +  ​**[[http://​elm-chan.org/​fsw/​ff/​00index_p.html|Petit FAT File System Module (Elm-Chan)]]:​** Documentatia oficiala si codul sursa pentru libraria PetitFS, utilizata pentru accesarea sistemului de fisiere de pe cardul SD in conditii de memorie RAM extrem de redusa (specific arhitecturilor pe 8 biti)
 +  * **[[https://​www.nongnu.org/​avr-libc/​user-manual/​|AVR Libc Reference Manual]]:** Utilizat pentru detaliile de implementare a bibliotecilor standard C pe mediul AVR (in special headerele ''​<avr/io.h>''​ si ''<​avr/​interrupt.h>''​). 
 +  * **[[http://​soundfile.sapp.org/​doc/​WaveFormat/​|Standardul RIFF WAVE Audio Format]]:** Referinta tehnica folosita pentru structurarea functiei custom de parsare a header-ului fisierelor .wav, necesara pentru extragerea automata a frecventei de esantionare (Sample Rate) si a dimensiunii datelor PCM.
  
 <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​ <​html><​a class="​media mediafile mf_pdf"​ href="?​do=export_pdf">​Export to PDF</​a></​html>​
  
pm/prj2026/vlad.radulescu2901/claudia.soare.1779647569.txt.gz · Last modified: 2026/05/24 21:32 by claudia.soare
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