Sistem alimentare combustibil

Introducere

Prezentare concept proiect

  • Ideea proiectului este de a realiza un sistem de alimentare pentru un vehicul cu motor cu ardere interna. Sistemul folosește 2 senzori de temperatura, unul pentru mediul exterior și unul pentru temperatura motorului, astfel în funcție de valorile furnizate de cei 2 senzori combustibilul o sa fie eliminat din rezervor de o pompa de apa în mod diferit.Pentru o verificare a funcționalității sistemului exista și un debimetru conectat la pompa, dar și un senzor de apa pentru a verifica dacă lichidul furnizat de pompa ajunge la destinație. Pentru o monitorizare mai ușoară a întregului sistem exista și un lcd care va afișa modul în care se afla pompa de apa și valoarea indicată de debimetru.

Scopul sistemului

  • Scopul sistemului este de a muta combustibilul din rezervor către punctul în care trebuie folosit într-un mod eficient și în funcție de nevoia motorului cu ardere interna, adică o sa avem o rata de transfer variabila.

Ideea inițială a proiectului

  • Initial am pornit de la fântâna de apa a motanului meu, fântână care foloseste o simpla pompa de apa de 12 v și câteva tuburi pentru a direcționa apa, iar în lipsa altei idei de proiect am încercat sa mă gândesc cum ar arata o evoluție aplicată pentru aceasta fântână de apa în domeniul auto și cum urmăresc Formula 1 mi-am adus aminte de faptul ca motoarele din Formula 1 nu folosesc mereu aceeași cantitate de combustibil pentru ca au nevoie uneori de un amestec diferit în funcție de mai multi factori, astfel am ajuns la concluzia ca pot influenta comportamentul unei pompe de apa cu PWM după datele furnizate de senzori de temperatura și sa verific în timp real comportamentul pompei de apa cu un debimetru și un senzor de ploaie.

Utilitatea proiectului

  • Nevoia de a muta un lichid dintr-un loc în altul cu un debit variabil și în funcție de datele obținute de niște senzori nu este o aplicație strict auto și se poate aplica în alte scenarii cu ușurință precum industria agricolă unde plantele pot avea nevoie de cantități diferite de apa în funcție de temperatura și sezon, astfel un proiect precum al meu se poate adapta ușor unor noi cerințe pentru a furniza o soluție eficienta atât energetic, cât și financiar. Un alt aspect legat de proiect îl reprezintă scalabilitatea, având în vedere conectivitatea de care dispune un Arduino se pot adauga ușor noi senzori sau un nou Arduino care sa se folosească de datele utilizate de acest sistem pentru a dicta comportamentul altui sistem, rămânând în sfera auto un Arduino care controlează un termostat ar avea nevoie de datele furnizate de senzorii de temperatura și debitul pe care îl are pompa de combustibil.

Descriere generală

* Senzorul 1 de temperatura va furniza temperatura pentru mediul exterior, iar senzorul 2 de temperatura o sa fie un senzor de temperatura de tip sonda și va furniza temperatura variabila a unui motor cu ardere interna sau a apei dintr-un recipient pentru simulare. Arduino-ul va prelua informațiile de la cei 2 senzori și va procesa datele pentru a alege unul din cele 3 moduri de control pentru pompa de apa. Denumirea modului de funcționare o sa fie afișată de LCD și Arduino-ul va controla prin PWM pompa cu posibilitatea de a efectua modificări pe baza datelor preluate de la debimetru, iar aceste date se vor afișa pe LCD. Senzorul de apa funcționează ca un sistem de diagnoza, de la 10 secunde de la pornirea pompei de apa se verifica dacă apa a ajuns la destinație prin datele furnizate de acest senzor și în cazul în care nu exista apa după 10 secunde se trece într-un mod de sleep pentru a proteja pompa întrucât asta înseamnă ca nu mai exista lichid în rezervor pentru pompa.

*

Hardware Design

Componente și schema electrica EAGLE:

  • Arduino Uno
  • Breadboard
  • Modul senzor de temperatura
  • Senzor de temperatura MAX6675
  • Debimetru
  • LCD cu modul I2C integrat
  • Senzor picaturi de ploaie
  • 2 * Recipient apa
  • Tub flexibil

Software Design

Descrierea codului aplicaţiei (firmware):

  • În partea de Setup a proiectului setez baudrate-ul la 9600, setez pin-ul care controlează pompa de apa pe modul de output și folosesc un apel de lcd.begin pentru a putea utiliza lcd-ul mai departe.
  • Pentru a prelua temperatura de la senzorul de temperatura TMP36 folosesc un apel de analogRead, iar pentru valoarea primită fac o conversie de la tensiune la grade Celsius. Chiar dacă am stabilizat senzorul folosind un capacitor și o rezistenta exista uneori diferențe mai mari de 4 grade între valori consecutive, astfel o sa folosesc o variabila numite finalTemp, aceasta reprezentând media ultimelor 10 valori primite de la senzor.
  • In privinta senzorului de temperatura de tip sonda(MAX6675) folosesc biblioteca de Adafruit disponibilă și cu ajutorul unei Instanțe a modulului pot sa citesc temperatura într-un mod rapid, fără sa realizez shiftari și sa fac prelucrări asupra datelor primite direct de la senzor.
  • Pentru senzorul de ploaie consider ca am lichid pe senzor dacă valoarea se afla sub un prag(valoarea maxima(atunci când nu se afla lichid pe senzor) - 10% din valoarea maxima).
  • Pentru controlul pompei de apa am 3 case-uri dictate de Valorie preluate de la senzori și folosesc un analogWrite cu valori cuprinse între 4 și 255. Chiar dacă pompa de apa nu este una de putere mare diferența între moduri se poate observa atât în valoarea indicată de decimetru, cât și în sunetul emis de pompa atunci când folosim 255 sau 200 pentru analogWrite().
  • Pentru debimetru folosesc întreruperi și la fiecare secunda împart suma valorilor primite de la întreruperi la 7.5 pentru a afla debitul în l/min.

Software utilizat:

  • Arduino IDE
  • Biblioteci: LiquidCrystal I2C, hd44780.h, max6675.h, wire.h, SPI.h, hd44780ioClass/hd44780_I2Cexp.h.
  • Eagle pentru schema electrica

Rezultate Obţinute

Concluzii

Partea de citire a temperaturii și a prezentei unui lichid cu ajutorul senzorilor este destul de modulara și în esența se poate aplica foarte ușor pentru alte proiecte cu alte aplicații sau accesorii fata cele folosite, singura problema reprezentând-o utilizarea aproape completa a porturilor analog de pe plăcută Arduino. Limitarea de putere a Arduino-ului este vizibila în privința comportamentului pompei de apa.

In privința senzorilor trebuie menționat faptul ca mă așteptam sa fie mult mai ușor de folosit, aproape plug and play, dar senzorul TMP36 a reprezentat cea mai mare provocare, nu exista biblioteca precum cea pentru max6675, utilizarea valorii este dificila în cazul în care senzorul nu este stabilizat cu un capacitor și o rezistenta, valoarea primită de senzor la VCC nu este garantata la 5V mereu, astfel pe viitor pentru un proiect similar aș utiliza senzori digitali sau senzori care sa ofere suport software prin biblioteci.

Download

Bibliografie/Resurse

pm/prj2022/sgherman/sistem_alimentare_combustibil.txt · Last modified: 2022/06/01 13:41 by cconstantin0511
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