ThermoGuard

Introducere

ThermoGuard este un termostat avansat bazat pe doua placi de dezvoltare ATmega328P care permite monitorizarea si controlul temperaturii in timp real, oferind o interfata vizuala printr-un display TFT dedicat.

Sistemul este compus din doua module distincte care comunica wireless prin protocol NRF24L01 la 2.4GHz:

  • Modulul Termostat (ATmega328P standalone) - masoara temperatura camerei,afiseaza datele pe display si permite utilizatorului sa configureze intervale orare cu temperaturi diferite (ex: zi/noapte)
  • Modulul de Incalzire (Arduino UNO) - receptioneaza comenzile wireless si controleaza elementul de incalzire prin MOSFET cu PWM

Utilizatorul interactioneaza cu sistemul printr-un encoder rotativ KY-040 (rotire infinita + apasare) pentru navigare meniu si setare temperatura. Datele afisate pe ecran includ temperatura curenta, setpoint-ul activ si modul de functionare (AUTO/MANUAL).

Sistemul implementeaza histerezis pentru stabilitate si este alimentat dintr-o baterie Li-Po 1000mAh cu incarcare USB Type-C, fiind portabil si independent de reteaua electrica.

Ideea a pornit de la termostatelele comerciale de camera (ex: Honeywell, Salus) care actioneaza centrala termica prin contact uscat - ThermoGuard reproduce aceasta functionalitate intr-un sistem embedded realizat de la zero.

Proiectul este util deoarece demonstreaza integrarea mai multor periferice embedded (SPI, ADC, Timer, PWM, comunicatie wireless) intr-un sistem real cu aplicabilitate practica.

Laboratoare folosite: GPIO, ADC, Timer, SPI, I2C, UART.

Diagrama bloc ThermoGuard

Descriere generala

Sistemul ThermoGuard este structurat in doua noduri hardware care comunica wireless prin NRF24L01 la 2.4GHz.

Nod 1 - Modulul Termostat (ATmega328P standalone)

  • citeste temperatura si umiditatea prin senzorul DHT11
  • afiseaza informatii pe display TFT 2.8 inch SPI (temperatura curenta,

setpoint, mod activ, ora)

  • receptioneaza input de la encoder rotativ KY-040 (rotire + apasare)
  • transmite comenzi wireless prin NRF24L01
  • alimentat din baterie Li-Po 1000mAh + TP4056 BMS + XL6009 boost 5V

Nod 2 - Modulul de Incalzire (Arduino UNO)

  • receptioneaza comenzi wireless prin NRF24L01
  • controleaza elementul de incalzire (cartus 12V 40W) prin MOSFET

IRF520 cu semnal PWM

  • feedback vizual prin LED de status
  • alimentat din sursa externa 12V 2A

Flux de functionare:

  1. DHT11 masoara temperatura camerei
  2. ATmega328P compara temperatura curenta cu setpoint-ul configurat
  3. daca temperatura < setpoint → trimite comanda PORNIT prin NRF24L01
  4. Arduino UNO receptioneaza comanda → activeaza MOSFET → cartus

incalzire porneste

  1. daca temperatura >= setpoint + histerezis → comanda OPRIT

Moduri de functionare:

  • AUTO - sistemul comuta automat incalzirea dupa intervalele orare

configurate (ex: zi 22 grade C, noapte 18 grade C)

  • MANUAL - utilizatorul seteaza temperatura dorita direct prin

encoder

Hardware Design

Componenta Link Descriere
ATmega328P standalone din kit Microchip Microcontroller principal - Modul Termostat
Arduino UNO R3 din kit Microcontroller - Modul Incalzire
DHT11 din kit Senzor temperatura si umiditate
Display TFT SPI 2.8 inch 240×320 ST7789V eMAG Afisaj interfata utilizator
Encoder rotativ KY-040 eMAG Input utilizator (rotire infinita + apasare)
Modul NRF24L01 2.4GHz eMAG Comunicatie wireless intre noduri (x2)
Modul MOSFET IRF520 eMAG Control element incalzire prin PWM
Cartus incalzire 12V 40W eMAG Element de incalzire
Modul TP4056 BMS USB Type-C eMAG Incarcare si protectie baterie Li-Po
Modul DC-DC Boost XL6009 eMAG Ridicare tensiune 3.7V la 5V
Acumulator Li-Po 1000mAh 3.7V JST eMAG Alimentare Modul Termostat
Sursa alimentare 12V 2A eMAG Alimentare Modul Incalzire
Mufa alimentare DC 5.5mm x 2.1mm eMAG Conector sursa 12V
Breadboard + fire din kit Montaj prototip
Rezistori, LED-uri din kit Componente pasive

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.

Conexiuni Hardware (Pinout)

Sunt prezentate conexiunile esentiale pentru ambele noduri ale sistemului ThermoGuard. Semnalele SPI si de alimentare au fost grupate pentru claritatea documentatiei.

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.

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.5×2.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.

Schematic Nod 2 - Incalzire

Cartusul de incalzire de 12V 40W atinge temperaturi ridicate in timpul functionarii. Nu se atinge si nu se lasa nesupravegheat in timpul testelor.

Poze din timpul proiectarii

Termostat Heater

Software Design

In curs de implementare

Rezultate Obtinute

In curs de implementare.

Concluzii

Download

Jurnal

  • 20.04.2026 - alegerea temei si a componentelor
  • 30.04.2026 - finalizarea listei de componente si titlului
  • 09.05.2026 - realizarea diagramei bloc si documentatiei initiale OCW
  • 16.05.2026 - realizarea schemei electrice in Fusion 360 Electronics si hardware design

Bibliografie/Resurse

Resurse Hardware:

Resurse Software:

Export to PDF

pm/prj2026/atoader/mihnea_ioan.cernea.txt · Last modified: 2026/05/23 02:26 by mihnea_ioan.cernea
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