This is an old revision of the document!


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.

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, toate liniile de semnal (SCK, MOSI, CS, DC, RST) sunt trecute prin divizoare de tensiune rezistive (R_sus=10kΩ, R_jos=20kΩ) care reduc tensiunea de la 5V la 3.3V. 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.

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.1778936666.txt.gz · Last modified: 2026/05/16 16:04 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