This is an old revision of the document!


Author: Maxim Alexandru Gabriel

Email: alexandru.maxim2801@stud.acs.upb.ro

Master: SRIC

1. Introducere

Scopul acestui proiect a fost realizarea unui sistem de monitorizare in timp real a parametrilor dinamici al unui kart. Proiectul se bazeaza pe colectarea datelor prin senzori, transmiterea lor catre un backend cloud (Firebase Realtime Database) si afisarea acestora pe o interfata web.

2. Functionare si logica aplicatiei

Sistemul are 3 componente principale:

1.	Colectare de date: Se realizează cu ajutorul celor 2 senzori, si anume MPU6050 (măsoară accelerația pe 3 axe și rotația) si DS18B20 (temperatură). 
2.	Transmisie date: Microcontrollerul (ESP8266) citeste valorile de la senzori si le transmite prin Wi-Fi catre Firebase Realtime Database.
3.	Afisare in timp real: O pagina HTML acceseaza periodic Firebase pentru a actualiza afisajul cu ultimele valori:

kartStats/latest/accelX kartStats/latest/accelY kartStats/latest/accelZ kartStats/latest/gForce kartStats/latest/gyroZ kartStats/latest/speed kartStats/latest/temperature

Pagina afiseaza aceste date in interfata ca text formatat, fara a necesita refresh manual.

3. Hardware folosit

Componentele utilizate si conexiunile sunt prezentate in tabelul de mai jos:

Hardware Connections

🔌 Components Used

  • ESP32 Development Board
  • MPU-6050 (Accelerometer, Gyroscope, Temperature)
  • DS18B20 (External Temperature Sensor)
  • Breadboard
  • Jumper Wires (male-male)
  • Rezistor 4.7kΩ (pentru DS18B20 pull-up)

📌 Wiring Table

Componentă ESP32 Pin Descriere
MPU-6050 SDA GPIO 21 Interfață I2C - date
MPU-6050 SCL GPIO 22 Interfață I2C - ceas
MPU-6050 VCC 3V3 (pe ESP32) Alimentare 3.3V
MPU-6050 GND GND Împământare comună
DS18B20 DATA GPIO 4 Linie de date (cu rezistor de 4.7kΩ pull-up la 3.3V)
DS18B20 VCC 3V3 (pe ESP32) Alimentare 3.3V
DS18B20 GND GND Împământare comună
Breadboard - Distribuție VCC și GND către ambii senzori
🧠 Notă: S-a folosit un breadboard pentru a partaja pinul de 3.3V al plăcuței ESP32 către mai mulți senzori, întrucât placa oferă un singur pin de alimentare 3V3.

Alimentarea s-a realizat prin portul USB. In cadrul testelor s-a folosit o sursa stabilizata de 5V pentru componentele analogice.

4. Tehnologii folosite

•	Arduino Framework (C++): Programarea ESP8266 pentru colectarea si trimiterea datelor.
•	Firebase Realtime Database: Backend cloud usor de utilizat, cu sincronizare rapida a datelor.
•	HTML + CSS: Structura si stilizarea paginii web de afisare.
•	JavaScript (v8 Firebase SDK): Acces la baza de date si actualizare dinamica a valorilor pe pagina.

⸻ 1. Procesare date

Pentru a transforma datele brute în informații utile, au fost realizate mai multe calcule:

•	Viteza: aproximată prin integrarea accelerației pe axa X în timp:

Cu filtrare simplă și actualizare pe fiecare ciclu de citire (~100ms).

•	Forță G: calculată folosind magnitudinea accelerației:
•	Temperatura: extrasă direct din registrul senzorului și convertită în °C cu formula:
•	Calibrare: s-au aplicat offset-uri pentru a corecta valorile accelerometrului în repaus (aX, aY, aZ ≈ 0,0,1g).

6. Challenges & Probleme Intampinate

•	Sudarea senzorului MPU6050: Initial contactele senzorului erau instabile, necesitand sudare manuala a pinilor pentru un contact corect cu placa de dezvoltare.
•	Calibrare accelerometru: Datele brute necesitau corectii. S-a facut o calibrare empirica prin mediere in stare de repaus si compensare in software.
iothings/proiecte/2025sric/kart_telemetry.1748522206.txt.gz · Last modified: 2025/05/29 15:36 by alexandru.maxim2801
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