This is an old revision of the document!


Computer de bord

Introducere

Autor: Rareș Constantin - 332CA

Proiectul reprezintă un computer simplu de bord al unei mașini, care monitorizează diverși factori externi/interni, cum ar fi nivelul de umiditate pe suprafața parbrizului, temperatura și presiunea la nivelul roților, senzori de proximitate, iar apoi controlează diverse funcții ale mașinii, precum intensitatea luminoasă a farurilor, viteza ștergătoarelor și avertizor sonor pentru parcare, dar și să afișeze într-un mod user friendly aceste date pe un ecran LCD. M-am gândit că acest proiect ar putea exemplifica foarte bine utilizarea unor senzori și a folosi aceste date pentru a modifica starea sistemului implementat. Acest proiect ar fi util în industria auto prin eliminarea cablurilor pentru comunicare, folosind o soluție wireless detaliată mai jos.

Descriere generală

Am gândit acest proiect ca o interacțiune dintre o placă de achiziție (ESP32) și placă de acționare (ESP32). Astfel, pot implementa propriul protocol de comunicație prin ESP NOW care poate suporta o eventuala securitate și elimină în același timp necesitatea cablajului intern care îngreunează mașina.

De asemenea, prin folosirea a două plăci diferite se compartimentează funcționalitățile, iar implementările pot fi menținute și updatate intern fără modificarea protocolului de comunicație, astfel putând folosi plăci cu implementări diferite interne și atașând mai multe plăci în interiorul sistemului dacă este nevoie.

Utilizatorul poate controla sistemul prin intermediul butoanelor (mock-up pentru un sistem de butoane fizice pe bordul mașinii), poate interoga datele date de senzori și starea curentă a sistemului (intensitate faruri, viteză ștergătoare etc.) prin ecranul LCD.

Legendă: BMP280 - senzor temperatură/presiune, HC-SR04 - senzor de proximitate ultrasonic, YL-83 - senzor umiditate la suprafață/ploaie

Hardware Design

ESP32 - Action board schematic

Mai jos se regăsește schema electrică pentru placa care se va ocupa de acționarea diverselor module în funcție de datele venite de la placa de achiziție. Setul de butoane probabil va fi extins pentru a suporta mai multe funcționalități.

ESP32 Action board schematic

ESP32 Action board schematic


ESP32 - Acquisition board schematic

Mai jos se regăsește schema electrică pentru placa de achiziție care are mai mulți senzori conectați și va aștepta cereri de la placa de control pentru a trimite datele sau va trimite date de urgență în cazul unei avarii.

ESP32 Acquisition board schematic

ESP32 Acquisition board schematic

Software Design

Github repo

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.

Jurnal

  • 15.05.2024 - Am terminat cablajul pentru placa de achiziție, în principiu este final, cablajul pentru placa de acționare nu este încă complet, butoanele nefiind conectate la placă (aștept un set de cabluri mai scurte pentru a conecta mai ușor butoanele la GND pe breadboard). Am adăugat și repo-ul de Github în secțiunea Software, unde se poate găsi și un test simplu pentru placa de achiziție

ESP acquisiton board test results

ESP acquisiton board test results

ESP acquisiton board

ESP acquisiton board

ESP action board

ESP action board

  • 21.05.2024 - Am adaugat in cod tot protocolul de comunicatie modular, care poate fi folosit pentru diverse tipuri de senzori si numar variabil al acestora, deocamdata este o implementare specifica pentru senzorii pe care ii am atasati, dar poate fi usor schimbata sau adaugat cod pentru a suporta alte lucuri, am adaugat si codul pentru display (deocamdata este implementat doar modul de display al temperaturii, care este acum un placeholder, o sa-l inlocuiesc), codul pentru actionarea buzzerului in functie de distanta data de placa de achizitie. Peste tot am incercat sa folosesc intreruperi si flag-uri, codul fiind foarte robust, nu am avut probleme pana acum de sincronizare, fiind mai importanta rapiditatea primirii datelor actuale, nu neaparat procesarea tuturor datelor. Pe GitHub se pot regasi commit-urile noi, unde am lasat descrieri pentru a fi usor de track-uit progresul

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2024/mdinica/rares.constantin02.1716305835.txt.gz · Last modified: 2024/05/21 18:37 by rares.constantin02
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