Sadržaj:

Detektor potrošnje goriva: 5 koraka
Detektor potrošnje goriva: 5 koraka

Video: Detektor potrošnje goriva: 5 koraka

Video: Detektor potrošnje goriva: 5 koraka
Video: Gorivo je sve SKUPLJE, ovo su saveti kako SMANJITI POTROŠNJU GORIVA! 2024, Novembar
Anonim
Detektor efikasnosti goriva
Detektor efikasnosti goriva

Napisali: Danica Fujiwara i William McGrouther

Automobili su danas glavni način transporta u svijetu. Konkretno, u Kaliforniji smo okruženi ulicama, autoputevima i cestama s naplatom cestarine po kojima se svakodnevno voze hiljade automobila. Međutim, automobili koriste benzin, a Kalifornija koristi najviše benzina nego bilo koja druga država u SAD -u, otprilike 4500 litara dnevno. Za naš završni projekt CPE 133, odlučili smo stvoriti sistem u kojem bi mogao pratiti brzinu automobila i reći da li premašuje najefikasniju brzinu za najbolju kilometražu ili potrošnju goriva. Ovaj bi projekt pomogao vozačima da postanu svjesni svoje potrošnje goriva, što bi im zauzvrat, nadamo se, pomoglo da uštede novac, potroše manje plina i stvore manje zagađenja zraka.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

Materijali potrebni za ovaj projekat:

- Basys 3 FPGA

- Arduino Uno

- Oglasna ploča

- Adafruit BNO055 senzor apsolutne orijentacije

- Muške do muške žice

Korak 2: Razumijevanje dizajna

Razumevanje dizajna
Razumevanje dizajna
Razumevanje dizajna
Razumevanje dizajna

Dijagram konačnih stanja

Ovaj projekt ima dva različita stanja unutar dijagrama konačnih stanja prikazanih gore. Svjetlo može biti uključeno (predstavljeno s '1') ili isključeno (predstavljeno s '0'). Stanje se mijenja ovisno o unosu brzine praćenja (ts) i konstantne optimalne brzine.

Dijagram crne kutije

Takođe gore postoji dijagram Black Box modula za efikasnost potrošnje goriva koji sadrži shemu komparatora brzine i prikaza sa sedam segmenata koji su dalje razmatrani u nastavku. Ovaj VHDL kod prima 8-bitni ulaz iz mjerenja akcelerometra koji je spojen na arduino.

Korak 3: Kodiranje VHDL -a

Za ovaj projekt postoje tri VHDL datoteke koje konstruiraju naš dizajn, modul Fuel_Efficency_FinalProject, modul Speed_Comparator i modul sseg_dec gdje su Speed_Comparator i sseg_dec na nižem nivou koji čine modul za efikasnost goriva.

Modul komparatora brzine

Ovaj modul uzima 8-bitnu brzinu u miljama na sat i uspoređuje je s optimalnom brzinom za najmanju potrošnju plina. Prosječna optimalna brzina za najveću kilometražu u automobilu je oko 55 km / h i ispod. Međutim, to može varirati od automobila do automobila, što se može prilagoditi unutar modula. Red 45 koda koji se može promijeniti za ličnu optimizaciju prikazan je ispod

if (praćenje> "00110111") tada

Gdje se "00110111" (55 u binarnom obliku) može promijeniti u bilo koji 8-bitni broj za idealnu brzinu vašeg osobnog automobila za najmanju potrošnju goriva.

Ako je brzina veća od optimalnog broja, svjetlo će se upaliti obavještavajući da automobil ne koristi maksimalnu potrošnju goriva.

DisplayModule sa sedam segmenata

Ovaj modul preuzima 8-bitnu brzinu u miljama na sat i prikazuje brzinu na ekranu sa sedam segmenata. To bi omogućilo korisniku da zna koliko brzo će znati treba li usporiti. Ovaj modul nam je dat unutar naše klase, a napisao ga je Bryan mealy koji sadrži komponente bin2bcdconv koji pretvara binarni 8-bitni ulaz u BCD oblik koji je lakše dekodirati i clk_div tako da zaslon može vizualno prikazati broj sa 3 znamenke promjenom anodnog izlaza na visokoj frekvenciji takta. Ovaj kod prihvaća 8-bitni broj koji pretvara broj u čitljiv prikaz na ploči basys 3.

Modul za efikasnu potrošnju goriva

Ovo je glavna datoteka koja koristi gornje module kao komponente. Njegovi ulazi su sat i brzina praćenja. Sat je ugrađen u ploču basys 3, a brzina praćenja je dana preko arduino izlaza koji je spojen na pmod port analognog signala (XADC). Svaki bit 8-bitne brzine praćenja preslikava se na portove prikazane u odjeljku ožičenja u koraku 4. Ostala ograničenja Basys 3 mogu se pronaći unutar Basys_3_Master.xdc.

Korak 4: Kodiranje Arduina

Ovaj projekt koristi jednu glavnu arduino datoteku koja zahtijeva korištenje nekoliko biblioteka, od kojih su neke već u vašem arduino programu, a druge je potrebno preuzeti sa ovog uputstva ili sa web stranice Adafruit (donja veza).

Biblioteke

link na stranicu Adafruit BNO055:

Adafruit je razvio 2 biblioteke za upotrebu BNO055 i daje primjere kako ih koristiti. U ovom projektu koristit ćemo funkciju.getVector kako bi arduino izlazio podatke akcelerometra.

Ovaj projekt također koristi neke biblioteke koje su već instalirane u arduino programu, poput matematičke biblioteke.

Glavni fajl

Ova datoteka koristi podatke akcelerometra iz.getVector funkcije i koristi matematičke jednadžbe za pretvaranje u brzinu u miljama na sat, koja se zatim u 8 bita podataka šalje u Basys 3 (za više informacija pogledajte odjeljak "Ožičenje hardvera") informacije).

Korak 5: Ožičenje hardvera

Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera
Ožičenje hardvera

Arduino ožičenje

Arduino treba spojiti na matičnu ploču kao što je prikazano na gornjim slikama.

Basys 3 Ožičenje

Izlazi arduina su mapirani na ulaze Basys 3 preko analognih signalnih pmod JXADC portova. Svaki bit 8-bitne brzine praćenja može se spojiti na jedan od pinova prikazanih na gornjoj slici. Najmanji bit (digitalni pin 7) povezuje se na ts (7), a najznačajniji bit (digitalni pin 0) na ts (0).

Preporučuje se: