This shows you the differences between two versions of the page.
|
pm:prj2026:atoader:mihnea_ioan.cernea [2026/05/09 16:25] mihnea_ioan.cernea |
pm:prj2026:atoader:mihnea_ioan.cernea [2026/05/23 02:26] (current) mihnea_ioan.cernea |
||
|---|---|---|---|
| Line 86: | Line 86: | ||
| | Breadboard + fire | din kit | Montaj prototip | | | Breadboard + fire | din kit | Montaj prototip | | ||
| | Rezistori, LED-uri | din kit | Componente pasive | | | Rezistori, LED-uri | din kit | Componente pasive | | ||
| + | |||
| + | <note tip> | ||
| + | Sistemul ThermoGuard este impartit in doua noduri hardware independente, | ||
| + | fiecare cu propria schema electrica. Comunicatia dintre noduri se | ||
| + | realizeaza wireless prin modulele NRF24L01 la 2.4GHz. | ||
| + | </note> | ||
| + | |||
| + | |||
| + | ===== Conexiuni Hardware (Pinout) ===== | ||
| + | |||
| + | <note>Sunt prezentate conexiunile esentiale pentru ambele noduri ale sistemului ThermoGuard. Semnalele SPI si de alimentare au fost grupate pentru claritatea documentatiei.</note> | ||
| + | |||
| + | ==== Nodul 1: Modul Termostat (ATmega328PB) ==== | ||
| + | |||
| + | ^ Componenta ^ Pini Modul ^ Conexiune ATmega328PB ^ Observatii ^ | ||
| + | | **Display TFT 2.8"** | VCC, GND | 5V, GND | Alimentare modul | | ||
| + | | | LED | 3.3V | Alimentare iluminare fundal | | ||
| + | | | RESET | PB0 | Conectat prin divizor de tensiune (5V -> 3.3V) | | ||
| + | | | MOSI, SCK, CS, DC | PB3, PB5, PB2, PB1 | Conectati printr-un level shifter | | ||
| + | | **NRF24L01** | VCC, GND | 3.3V, GND | Alimentare directa (strict 3.3V) | | ||
| + | | | CE, CSN | PC0, PC1 | Control | | ||
| + | | | SCK, MOSI, MISO | PB5, PB3, PB4 | SPI Hardware (legati *inaintea* divizorului TFT) | | ||
| + | | **Encoder KY-040** | VCC, GND | 5V, GND | | | ||
| + | | | CLK, DT | PD2, PD3 | Intreruperi externe (INT0, INT1) | | ||
| + | | | SW | PD4 | Buton encoder (pull-up intern) | | ||
| + | | **Senzor DHT11** | VCC, GND, DATA | 5V, GND, PC2 | | | ||
| + | | **Buton BACK** | Pini contact | GND, PD5 | Buton auxiliar (pull-up intern) | | ||
| + | |||
| + | ==== Nodul 2: Modul Incalzire (Arduino UNO R3) ==== | ||
| + | |||
| + | ^ Componenta ^ Pini Modul ^ Conexiune Arduino UNO ^ Observatii ^ | ||
| + | | **NRF24L01** | VCC, GND | 3.3V, GND | Alimentare directa (strict 3.3V) | | ||
| + | | | CE, CSN | A0, A1 | Control | | ||
| + | | | SCK, MOSI, MISO | D13, D11, D12 | SPI Hardware | | ||
| + | | **Modul MOSFET** | SIG, VCC, GND | D2, 5V, GND | Control logic / Semnal PWM pe pinul D2 | | ||
| + | | | VIN, GND (șurub) | Sursa 12V (+ / -) | Alimentare de putere (sursa externa) | | ||
| + | | | V+, V- (șurub) | Cartus Incalzire | Conectare sarcina (element incalzire 40W) | | ||
| + | |||
| + | **Nod 1 - Modulul Termostat** | ||
| + | |||
| + | Microcontrollerul principal este ATmega328PB Xplained Mini, alimentat | ||
| + | la 5V prin lantul: baterie Li-Po 3.7V → modul TP4056 BMS (incarcare | ||
| + | USB Type-C si protectie) → modul XL6009 (boost DC-DC reglat la 5V). | ||
| + | Acest lant asigura portabilitatea sistemului si protectia bateriei | ||
| + | impotriva supraincarcarii si supradescarcarii. | ||
| + | |||
| + | Senzorul DHT11 este conectat la pinul PC2 al microcontrollerului si | ||
| + | furnizeaza temperatura si umiditatea camerei prin protocol single-wire. | ||
| + | |||
| + | Display-ul TFT 2.8 inch ST7789V comunica prin interfata SPI hardware (SCK-PB5, MOSI-PB3) si este alimentat la 5V. Deoarece pinii logici ai display-ului accepta maxim 3.3V, liniile principale de date si control (SCK, MOSI, CS, DC) sunt trecute printr-un modul level shifter (adaptor de nivel logic) pe 4 canale, care face conversia corecta si rapida a semnalelor de la 5V la 3.3V. Pinul de RESET (RST) foloseste un divizor de tensiune rezistiv clasic (R_sus=10kΩ, R_jos=20kΩ) pentru reducerea tensiunii. Pinul LED (backlight) este alimentat direct la 3.3V. | ||
| + | |||
| + | Encoder-ul rotativ KY-040 este conectat pe pinii de intrerupere | ||
| + | hardware INT0 (PD2) si INT1 (PD3), permitand detectarea directiei | ||
| + | de rotatie prin ISR fara polling. Butonul integrat al encoder-ului | ||
| + | este conectat la PD4, iar butonul simplu de BACK la PD5, ambele | ||
| + | cu pull-up intern activat in firmware. | ||
| + | |||
| + | Modulul NRF24L01 comunica prin SPI hardware impartit cu display-ul, | ||
| + | folosind pini separati de Chip Select: CSN pe PC1 si CE pe PC0. | ||
| + | Modulul este alimentat la 3.3V (pinul 3V3 al placii), iar semnalele | ||
| + | SPI sunt tolerante la 5V conform specificatiilor modulului, deci nu | ||
| + | necesita level shifter pe liniile de date. | ||
| + | |||
| + | {{ :pm:prj2026:atoader:thermoguard-1.png?800 |Schematic Nod 1 - Termostat}} | ||
| + | |||
| + | **Nod 2 - Modulul de Incalzire** | ||
| + | |||
| + | Microcontrollerul secundar este Arduino UNO R3 (ATmega328P), alimentat | ||
| + | din sursa externa de 12V 2A prin mufa DC 5.5x2.1mm. Regulatorul | ||
| + | onboard al placii Arduino furnizeaza 5V si 3.3V pentru periferice. | ||
| + | |||
| + | Modulul NRF24L01 este conectat pe pinii SPI hardware ai Arduino | ||
| + | (SCK-D13, MOSI-D11, MISO-D12) cu CE pe A0 si CSN pe A1, alimentat | ||
| + | la 3.3V de pe placa. | ||
| + | |||
| + | Controlul elementului de incalzire se realizeaza prin modulul MOSFET | ||
| + | IRF520 conectat la pinul D2 al Arduino prin semnalul de control SIG. | ||
| + | Modulul primeste semnal PWM de la microcontroller si comuta cartusul | ||
| + | de incalzire de 12V 40W conectat la terminalele V+ si V- ale | ||
| + | modulului. GND-ul sursei de 12V si GND-ul Arduino sunt unite | ||
| + | intr-un nod comun obligatoriu pentru functionarea corecta a circuitului. | ||
| + | |||
| + | {{ :pm:prj2026:atoader:schematicThermoGuard-2.png?800 |Schematic Nod 2 - Incalzire}} | ||
| + | |||
| <note important> | <note important> | ||
| - | Pinul NRF24L01 VCC se alimenteaza la 3.3V (nu 5V). Semnalele SPI | + | Cartusul de incalzire de 12V 40W atinge temperaturi ridicate in |
| - | sunt tolerante la 5V, deci se conecteaza direct la ATmega328P fara | + | timpul functionarii. Nu se atinge si nu se lasa nesupravegheat |
| - | level shifter. GND-ul trebuie sa fie comun intre toate modulele. | + | in timpul testelor. |
| </note> | </note> | ||
| + | |||
| + | **Poze din timpul proiectarii** | ||
| + | |||
| + | {{ :pm:prj2026:heater.jpeg?400 |Termostat}} | ||
| + | {{ :pm:prj2026:termostat.jpeg?400 |Heater}} | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| Line 115: | Line 204: | ||
| * 30.04.2026 - finalizarea listei de componente si titlului | * 30.04.2026 - finalizarea listei de componente si titlului | ||
| * 09.05.2026 - realizarea diagramei bloc si documentatiei initiale OCW | * 09.05.2026 - realizarea diagramei bloc si documentatiei initiale OCW | ||
| + | * 16.05.2026 - realizarea schemei electrice in Fusion 360 Electronics si hardware design | ||
| </note> | </note> | ||