Differences

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

Link to this comparison view

pm:prj2026:vlad.radulescu2901:rares.ciociea [2026/05/05 15:45]
rares.ciociea [3. Diagrame de Semnal]
pm:prj2026:vlad.radulescu2901:rares.ciociea [2026/05/13 10:18] (current)
rares.ciociea [2. Scheme Electrice și Maparea Pinilor]
Line 7: Line 7:
 ====== Descriere generală ====== ====== Descriere generală ======
  
-<​note ​tip+<​note>​ 
-{{:​pm:​prj2026:​vlad.radulescu2901:​schema_bloc.png?​200|}}+{{:​pm:​prj2026:​vlad.radulescu2901:​schema_bloc.png?​700|}}
  
 **Descrierea sumara a modulelor si a modului de interactiune** **Descrierea sumara a modulelor si a modului de interactiune**
Line 56: Line 56:
 *(Notă tehnică: Alimentarea logicii de 5V a microcontrolerului se face prin pinul de +5V al modulului L298N, acesta coborând tensiunea de 6V a bateriei printr-un regulator integrat).* *(Notă tehnică: Alimentarea logicii de 5V a microcontrolerului se face prin pinul de +5V al modulului L298N, acesta coborând tensiunea de 6V a bateriei printr-un regulator integrat).*
  
-{{ :schema_electrica_proiect.png?800 Schema Electrică de Ansamblu ​}}+{{:pm:​prj2026:​vlad.radulescu2901:​schematic_provizoriu_ciociea_rares.png?500|}}
  
 **Tabelul Conexiunilor Hardware (Pinout Map):** **Tabelul Conexiunilor Hardware (Pinout Map):**
-Pentru interfațarea senzorilor cu perifericele interne ale ATmega328P ​(Timere, ADC, USART, Întreruperi) ​s-a utilizat următoarea mapare:+Pentru interfațarea senzorilor cu perifericele interne ale ATmega328P s-a utilizat următoarea mapare:
  
 ^ Modul Extern ^ Pin Modul ^ Conexiune ATmega328P ^ Rol / Periferic Utilizat ^ ^ Modul Extern ^ Pin Modul ^ Conexiune ATmega328P ^ Rol / Periferic Utilizat ^
 | **Modul HC-05** | TX | PD0 (RXD) | Comunicație Serială (USART) | | **Modul HC-05** | TX | PD0 (RXD) | Comunicație Serială (USART) |
 | **Modul HC-05** | RX | PD1 (TXD) | Comunicație Serială (USART) | | **Modul HC-05** | RX | PD1 (TXD) | Comunicație Serială (USART) |
-| **L298N (Driver)** | ENA | PB1 (OC1A) ​| Control Viteză Motor Stânga (PWM Hardware) | +| **L298N (Driver)** | ENA | PD5 | Control Viteză Motor Stânga (PWM Hardware) | 
-| **L298N (Driver)** | ENB | PB2 (OC1B) ​| Control Viteză Motor Dreapta (PWM Hardware) | +| **L298N (Driver)** | ENB | PD6 | Control Viteză Motor Dreapta (PWM Hardware) | 
-| **L298N (Driver)** | IN1, IN2 | PD4, PD5 | Control Direcție Motor Stânga (GPIO) | +| **L298N (Driver)** | IN1, IN2 | PD4, PD7 | Control Direcție Motor Stânga (GPIO) | 
-| **L298N (Driver)** | IN3, IN4 | PD6PD7 | Control Direcție Motor Dreapta (GPIO) | +| **L298N (Driver)** | IN3, IN4 | PB2PB3 | Control Direcție Motor Dreapta (GPIO) | 
-| **Divizor Tensiune** | Vout (Intersecție) | PC0 (ADC0) | Monitorizare nivel baterie (ADC) | +| **Divizor Tensiune** | Vout (Intersecție) | PC0 (A0) | Monitorizare nivel baterie (ADC) | 
-| **TCRT5000** | A0 | PC1 (ADC1) | Detecție analogică margine (ADC) | +| **TCRT5000** | A0 | PC1 (A1) | Detecție analogică margine ​/ podea (ADC) | 
-| **HC-SR04 (Senzori)** | Pinii Echo | PD2/PD3 (INT0/INT1) | Captură timp răspuns (Întreruperi Externe) | +| **HC-SR04 (Față)** | Trig, Echo | PD2PD3 | Măsurare distanță față ​(GPIO) | 
- +| **HC-SR04 (Stânga)** | Trig, Echo | PC2 (A2), PC3 (A3) | Măsurare distanță stânga ​(ADC folosit ca GPIO) | 
 +| **HC-SR04 (Dreapta)** | Trig, Echo | PC4 (A4), PC5 (A5) | Măsurare distanță dreapta (ADC folosit ca GPIO) |
 ===== 3. Diagrame de Semnal ===== ===== 3. Diagrame de Semnal =====
  
Line 87: Line 87:
  ​{{:​pm:​prj2026:​vlad.radulescu2901:​l298n.png?​800|}}  ​{{:​pm:​prj2026:​vlad.radulescu2901:​l298n.png?​800|}}
  
-===== Software Design =====+====== Software Design ​======
  
 +*(Nota: Aceasta sectiune prezinta o arhitectura de nivel inalt, detaliile urmand sa fie rafinate in etapa finala de implementare).*
  
-<note tip> +===== 1. Mediu de dezvoltare ===== 
-Descrierea codului aplicaţiei (firmware):​ +Pentru scrierea, compilarea si incarcarea ​firmware-ului, mediul de dezvoltare ales este **Arduino IDE**. Desi platforma hardware este un ATmega328P Xplained Mini, ecosistemul Arduino ofera un flux de lucru mult mai rapid (Rapid Prototypingsi o sintaxa mai accesibila pentru gestionarea pinilor (GPIO) si a functiilor de timp, comparativ cu programarea stricta pe registri in Microchip Studio. 
-  * mediu de dezvoltare ​(if any) (e.g. AVR StudioCodeVisionAVR+ 
-  * librării şi surse 3rd-party (e.gProcyon AVRlib) +===== 2. Librarii si surse 3rd-party ===== 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +Pentru a mentine un control strict asupra executiei si a minimiza overhead-ul,​ utilizarea librariilor externe va fi limitata la minimum necesar
-  * (etapa 3surse şi funcţii implementate +  * Se va folosi exclusiv biblioteca standard **Arduino Core** (pentru functii ​de baza precum millis(), analogRead()analogWrite(), digitalWrite()). 
-</note>+  * Interfatarea cu senzorii ultrasonici si citirea nivelului bateriei se vor face prin metode standard, fara a importa librarii masive din surse terte
 +  * Optional, pentru modulul Bluetooth, se poate folosi libraria SoftwareSerial.h inclusa in pachetul standard Arduino. 
 + 
 +===== 3. Algoritmi si structuri ​de date planificate ===== 
 +Aplicatia va fi proiectata ​pe o arhitectura **non-blocanta** (fara utilizarea instructiunii delay()), esentiala pentru reactia in timp real a robotului la datele primite de la senzori. 
 +  * **Multitasking cooperativ:​** Se va utiliza functia millis() pentru a implementa "​software timere"​. Acest algoritm permite procesorului sa citeasca senzorii, sa raporteze date prin Bluetooth si sa ajusteze PWM-ul motoarelor (aproape) simultan. 
 +  * **Masina de Stari Finita (FSM):** Structura principala de control va fi un bloc switch-case ce defineste comportamentul robotului. Starile planificate includ: MERGE_FATA, DETECTARE_PERETE,​ INTOARCERE_90_GRADE_ST/DR, ALINIERE_ZIG_ZAG,​ OPRIRE_URGENTA_MARGINI si LOW_BATTERY. 
 +  * **Algoritm de acoperire:​** Logica FSM va dicta un traseu de tip zig-zag. La detectarea unui obstacol frontal, robotul va verifica senzorii laterali pentru a alege directia corecta de viraj, alternand intoarcerile stanga-dreapta.
  
 +===== 4. Surse si functii implementate (Etapa 3) =====
 +*(Sectiunea va fi completata cu fragmente de cod in momentul finalizarii dezvoltarii. Principalele functii planificate sunt:)*
 +  * void setup() si void loop() - structura de baza Arduino.
 +  * void readSensors() - responsabila de declansarea impulsurilor Trig si citirea duratei Echo, precum si citirea ADC pentru TCRT5000 si baterie.
 +  * void motorControl(int vitezaStanga,​ int vitezaDreapta) - o functie de abstractizare ce transpune cerintele de miscare in semnale PWM si stari logice pentru driverul L298N.
 +  * void updateFSM() - functia care proceseaza datele de la senzori si decide comutarea dintr-o stare in alta.
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
 <note tip> <note tip>
-Care au fost rezultatele obţinute în urma realizării proiectului vostru.+To be determined.
 </​note>​ </​note>​
  
Line 123: Line 137:
  
 <​note>​ <​note>​
-Listă cu documente, datasheet-uri, resurse Internet folositeeventual grupate ​pe **Resurse Software** ​şi **Resurse Hardware**.+===== Resurse Hardware (Datasheet-uri) ===== 
 +  * **ATmega328P Xplained Mini** - User Guide-ul oficial Microchip (utilizat pentru maparea pinilor fizici ai placii si schemele de alimentare):​ [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​ATmega328P-Xplained-Mini-User-Guide-DS50002659B.pdf|ATmega328P Xplained Mini User Guide (PDF)]] 
 +  * **Microcontroler ATmega328P** - Datasheet complet (utilizat pentru intelegerea arhitecturiiregistrilor interni, Timere, ADC, USART si intreruperi):​ [[https://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf|ATmega328P Datasheet (PDF)]] 
 +  * **Driver Motoare L298N** - STMicroelectronics Datasheet (consultat pentru limitele de curentcaderea de tensiune ​pe puntea H si logica de control): [[https://​www.st.com/​resource/​en/​datasheet/​l298.pdf|L298N Datasheet (PDF)]] 
 +  ​* **Senzor Ultrasonic HC-SR04** - Specificatii tehnice (utilizat pentru extragerea diagramelor de semnal si a formulei de calcul a distantei bazate pe viteza sunetului): [[https://​cdn.sparkfun.com/​datasheets/​Sensors/​Proximity/​HCSR04.pdf|HC-SR04 Datasheet (PDF)]] 
 +  * **Modul Bluetooth HC-05** - Manual de utilizare (consultat pentru tensiunile de operare si pinii de comunicatie RX/TX): [[https://​components101.com/​sites/​default/​files/​component_datasheet/​HC-05%20Datasheet.pdf|HC-05 Datasheet (PDF)]] 
 +  * **Senzor Infrarosu TCRT5000** - Vishay Datasheet (utilizat pentru curbele de reflectie si intelegerea circuitului emitator-receptor):​ [[https://​www.vishay.com/​docs/​83760/​tcrt5000.pdf|TCRT5000 Datasheet (PDF)]] 
 +  * **Motoare DC cu Reductor (TT Motors 1:48)** - Specificatii generice pentru motoarele galbene de sasiu (utilizate pentru a calcula curentul de stall necesar a fi suportat de L298N): [[https://​cdn.sparkfun.com/​datasheets/​Robotics/​DG01D.pdf|TT Motor Datasheet (PDF)]] 
 + 
 +===== Resurse Software ​===== 
 +  ​* **OCW UPB - Proiectare cu Microprocesoare:​** Suportul teoretic de laborator pentru configurarea perifericelor hardware si notiuni de electronica:​ [[https://​ocw.cs.pub.ro/​courses/​pm|ocw.cs.pub.ro/​courses/​pm]] 
 +  ​**Arduino Reference:​** Documentatia oficiala pentru arhitectura de cod si functiile standard (millis, pini I/O) utilizate in sistemul non-blocant:​ [[https://​www.arduino.cc/​reference/​en/​|Arduino Language Reference]] 
 +  * **WaveDrom:​** Unealta utilizata pentru generarea diagramelor de semnal (timing diagrams) din sectiunea de Hardware Design: [[https://​wavedrom.com/​|wavedrom.com]]
 </​note>​ </​note>​
  
 <​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/rares.ciociea.1777985157.txt.gz · Last modified: 2026/05/05 15:45 by rares.ciociea
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