Sadržaj:

Detektor učinkovitosti goriva: 5 koraka
Detektor učinkovitosti goriva: 5 koraka

Video: Detektor učinkovitosti goriva: 5 koraka

Video: Detektor učinkovitosti goriva: 5 koraka
Video: Mathematics with Python! Evaluating Polynomials 2024, Srpanj
Anonim
Detektor učinkovitosti goriva
Detektor učinkovitosti goriva

Napisali: Danica Fujiwara i William McGrouther

Automobili su danas glavni način prijevoza u svijetu. Točnije, u Kaliforniji smo okruženi ulicama, autocestama i cestama s naplatom cestarine po kojima se dnevno voze tisuće automobila. Međutim, automobili koriste plin, a Kalifornija koristi najviše benzina nego bilo koja druga država u SAD -u, otprilike 4500 litara dnevno. Za naš CPE 133 Final projekt odlučili smo stvoriti sustav u kojem bi mogao pratiti brzinu automobila i reći da li premašuje najučinkovitiju brzinu za najbolju kilometražu plina ili potrošnju goriva. Ovaj bi projekt vozačima pomogao da postanu svjesni svoje potrošnje goriva, što bi im, nadamo se, pomoglo uštedjeti novac, koristiti manje plina i stvoriti manje zagađenja zraka.

Korak 1: Materijali

Materijali
Materijali
Materijali
Materijali
Materijali
Materijali
Materijali
Materijali

Materijali potrebni za ovaj projekt:

- Basys 3 FPGA

- Arduino Uno

- Oglasna ploča

- Adafruit BNO055 senzor apsolutne orijentacije

- Žice za muškarce

Korak 2: Razumijevanje dizajna

Razumijevanje dizajna
Razumijevanje dizajna
Razumijevanje dizajna
Razumijevanje dizajna

Dijagram konačnih stanja

Ovaj projekt ima dva različita stanja u gore prikazanom dijagramu konačnih stanja. 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đer gore postoji dijagram Black Box modula za učinkovitost potrošnje goriva koji sadrži shemu komparatora brzine i prikaza sa sedam segmenata koji se dalje razmatraju u nastavku. Ovaj VHDL kôd 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žoj razini koji čine modul za učinkovitost potrošnje goriva.

Modul za usporedbu 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. Redak 45 koda koji se može promijeniti za osobnu optimizaciju prikazan je u nastavku

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 učinkovitost goriva.

DisplayModule sa sedam segmenata

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

Modul za učinkovitost potrošnje goriva

Ovo je glavna datoteka koja koristi gornje module kao komponente. Njegovi unosi su sat i brzina praćenja. Sat je ugrađen u ploču basys 3, a brzina praćenja zadana je izlazom arduina 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 knjižnica, od kojih su neke već u vašem arduino programu, a druge je potrebno preuzeti s ove upute ili s web stranice Adafruit (donja veza).

Knjižnice

veza na stranicu Adafruit BNO055:

Adafruit je razvio 2 knjižnice za korištenje BNO055 i daje primjere kako ih koristiti. U ovom ćemo projektu koristiti 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 knjižnice.

Glavna datoteka

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") informacija).

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 preslikani 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 s ts (7), a najznačajniji bit (digitalni pin 0) povezuje se s ts (0).

Preporučeni: