This is an old revision of the document!


Display de Avertizare OBD-II cu ESP32 și Bluetooth pentru Toyota Yaris Cross 2025

Introducere

Acest proiect implementează o unitate autonomă de avertizare OBD-II construită în jurul unei plăci ESP32, a unui display LCD 16×2 cu backpack I2C și a unui adaptor Bluetooth OBD2 ELM327. Sistemul se conectează wireless la vehicul prin portul de diagnosticare, citește parametrii OBD-II, îi evaluează față de praguri de avertizare configurabile și afișează alertele critice pe LCD.

Scopul principal al proiectului este realizarea unui dispozitiv compact și ieftin pentru monitorizarea în automobil, care să avertizeze șoferul asupra unor condiții anormale de funcționare fără a necesita utilizarea unei aplicații de telefon în regim normal.

Proiectul a pornit de la nevoia de a simplifica o versiune mai veche bazată pe CAN cu conexiune prin fir. Față de varianta anterioară, care folosea un controler CAN MCP2515 și conectare directă la magistrala CAN, această versiune elimină complet interfața CAN fizică și se bazează doar pe adaptorul Bluetooth ELM327 conectat la portul OBD-II.

Descriere Generală

Sistemul are trei blocuri funcționale principale:

  • vehiculul și interfața sa de diagnosticare OBD-II
  • adaptorul Bluetooth ELM327, care traduce datele vehiculului într-o interfață serială bazată pe comenzi AT
  • unitatea de avertizare bazată pe ESP32, care gestionează comunicația, procesarea și afișarea

LCD-ul afișează mesaje de avertizare pentru parametri importanți ai motorului și ai sistemului hibrid. Un buton este folosit pentru navigarea alertelor și pentru controlul iluminării de fundal a ecranului.

Diagramă bloc:

Fluxul sistemului:

  • Adaptorul ELM327 este conectat la portul OBD-II al vehiculului și este alimentat de mașină.
  • ESP32 se conectează la adaptor prin Bluetooth Classic SPP.
  • ESP32 trimite comenzi AT și OBD-II, interpretează datele hexazecimale returnate și le convertește în valori fizice.
  • Firmware-ul compară valorile cu pragurile de avertizare definite.
  • LCD-ul afișează fie starea curentă de avertizare, fie un ecran de funcționare normală.

Principalii parametri monitorizați:

  • temperatura lichidului de răcire
  • temperatura uleiului
  • turația motorului
  • viteza vehiculului
  • nivelul combustibilului
  • sarcina motorului
  • tensiunea modulului
  • temperatura aerului admis
  • temperatura aerului ambiental
  • parametri ai bateriei hibride prin cereri UDS specifice Toyota, atunci când adaptorul îi suportă

Hardware Design

Componente

Componentele hardware principale:

  • ESP32 DevKit v1
  • adaptor Bluetooth OBD2 ELM327
  • display LCD 16×2 cu backpack I2C
  • 4 x butoane tactile
  • PCB universal de prototipare
  • fire Dupont

Arhitectura Electrică

  • LCD ``VCC`` la ``5V``
  • LCD ``GND`` la ``GND``
  • LCD ``SDA`` la ESP32 ``GPIO21``
  • LCD ``SCL`` la ESP32 ``GPIO22``
  • buton între ESP32 ``GPIO26`` și ``GND``

Alocarea GPIO

Semnal Pin ESP32 Descriere
LCD SDA GPIO21 date I2C
LCD SCL GPIO22 ceas I2C
Intrare buton GPIO26 intrare utilizator cu ``INPUT_PULLUP``

Comunicarea Bluetooth folosește hardware-ul intern al ESP32 și nu consumă pini GPIO externi.

Alimentare

Alimentarea ESP32 și LCD dintr-un încărcător USB auto

Procedura de Asamblare

  1. Montați headere mamă pentru ESP32 pe PCB-ul de prototipare.
  2. Adăugați condensatoare de decuplare în apropierea liniilor de alimentare ale ESP32.
  3. Adăugați două rezistențe de 10 kOhm de pull-up pe SDA și SCL către 3.3V.
  4. Conectați backpack-ul LCD la 5V, GND, GPIO21 și GPIO22.
  5. Conectați butonul tactil la GPIO26 și GND.
  6. Adăugați opțional un condensator pentru debounce pe intrarea butonului.
  7. Alegeți una dintre cele două metode de alimentare.
  8. Conectați adaptorul ELM327 la portul OBD-II al vehiculului.
  9. Notați numele Bluetooth sau adresa MAC a adaptorului pentru configurarea firmware-ului.

Software Design

Mediul de dezvoltare și biblioteci

Firmware-ul țintește platforma ESP32 și poate fi dezvoltat în Arduino IDE sau PlatformIO.

Bibliotecile și componentele software principale:

  • ``BluetoothSerial`` pentru comunicație Bluetooth
  • ``Wire`` pentru comunicație I2C
  • o bibliotecă LCD compatibilă cu backpack-ul PCF8574
  • suport watchdog pentru ESP32

Arhitectura Firmware

Firmware-ul este organizat în jurul următoarelor module logice:

  • modul de configurare pentru maparea pinilor, setările Bluetooth, intervalele de polling și pragurile de avertizare
  • driver Bluetooth ELM327 pentru managementul conexiunii și schimbul de comenzi AT
  • modul de polling OBD pentru PID-uri standard Mode 01 și cereri UDS Toyota opționale
  • modul de evaluare a avertizărilor
  • modul de afișare LCD
  • modul de gestionare a butonului
  • bucla principală și managementul watchdog-ului

Protocol de Comunicație

ESP32 comunică cu adaptorul ELM327 folosind Bluetooth Classic SPP. Adaptorul acceptă comenzi ASCII AT terminate cu carriage return și returnează răspunsuri ASCII urmate de promptul ``>``.

Protocolul ``ATSP6`` selectează ISO 15765-4 CAN la 500 kbps, potrivit pentru vehiculul țintă.

Achiziția și Parsarea Datelor

Firmware-ul trimite periodic cereri PID OBD-II și parsează răspunsurile hexazecimale.

Exemple:

  • ``0105`` pentru temperatura lichidului de răcire
  • ``010C`` pentru turația motorului
  • ``010D`` pentru viteza vehiculului
  • ``012F`` pentru nivelul combustibilului
  • ``0142`` pentru tensiunea modulului

Exemple de formule:

  • temperatura lichidului de răcire: ``A - 40``
  • RPM: ``((A * 256) + B) / 4``
  • nivel combustibil: ``A * 100 / 255``

Valorile specifice sistemului hibrid Toyota pot fi citite prin cereri UDS, cum ar fi DID-uri personalizate, dar numai dacă adaptorul le suportă corect.

Logica de Avertizare

Sistemul evaluează valorile primite față de praguri configurabile și le clasifică în stări informative, de avertizare sau critice.

Exemple de praguri utilizate:

  • temperatura lichidului de răcire: informare la 100 C, avertizare la 108 C, critic la 115 C
  • temperatura uleiului: avertizare la 145 C, critic la 160 C
  • turația motorului: avertizare la 5500, critic la 6200
  • nivel combustibil: informare la 20 procente, avertizare la 12 procente, critic la 6 procente
  • tensiunea modulului: avertizare joasă la 11.8 V, critic joasă la 11.0 V, avertizare înaltă la 15.0 V, critic înaltă la 16.0 V

Algoritmul Principal

  1. Inițializează comunicația serială, LCD-ul, intrarea de buton și watchdog-ul.
  2. Pornește conexiunea Bluetooth către adaptorul ELM327.
  3. Inițializează adaptorul folosind comenzi AT.
  4. Interoghează periodic PID-urile OBD-II.
  5. Interoghează opțional valori UDS specifice Toyota.
  6. Actualizează structura internă de date pentru senzori.
  7. Evaluează avertizările.
  8. Reîmprospătează LCD-ul.
  9. Gestionează butonul și timeout-ul pentru iluminare.
  10. Reconectează automat sistemul dacă legătura Bluetooth se pierde.

Rezultate Obținute

Sistemul propus îndeplinește obiectivul principal de a oferi o arhitectură simplificată pentru un display de avertizare OBD-II destinat unui Toyota Yaris Cross 2025.

Rezultatele principale:

  • hardware-ul CAN cu fir din versiunea anterioară a fost eliminat
  • hardware-ul a devenit mai ușor de asamblat și depanat
  • ESP32 poate comunica indirect cu vehiculul prin adaptorul Bluetooth ELM327
  • interfața LCD rămâne simplă și ușor de citit în mediul auto
  • sistemul poate monitoriza atât valori OBD-II standard, cât și anumite valori hibride Toyota atunci când adaptorul le suportă

Limitări așteptate:

  • latență mai mare decât într-o implementare directă cu MCP2515
  • dependență de calitatea adaptorului ELM327
  • posibilă lipsă de suport pentru cereri UDS specifice producătorului la adaptoarele clone ieftine

Concluzii

Acest proiect demonstrează o soluție practică de monitorizare embedded care schimbă viteza brută de comunicație pentru un design hardware mult mai simplu. Abordarea Bluetooth ELM327 este potrivită pentru prototipare rapidă și pentru utilizatorii care doresc o instalare neinvazivă, cu cablare minimă.

Jurnal

Data Activitate
Săptămâna 1 Alegerea ideii de proiect și analiza arhitecturii
Săptămâna 2 Selecția componentelor hardware și comparația cu versiunea anterioară cu MCP2515
Săptămâna 3 Testarea comunicației Bluetooth ELM327
Săptămâna 4 Implementarea interfeței LCD și a controlului prin buton
Săptămâna 5 Parsarea PID-urilor OBD-II și logica de avertizare
Săptămâna 6 Integrare, testare și documentare

Bibliografie / Resurse

pm/prj2026/ciprian.popescu0411/corneliu.ganea.1778334329.txt.gz · Last modified: 2026/05/09 16:45 by corneliu.ganea
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