Sisukord:

Kütusesäästlikkuse detektor: 5 sammu
Kütusesäästlikkuse detektor: 5 sammu

Video: Kütusesäästlikkuse detektor: 5 sammu

Video: Kütusesäästlikkuse detektor: 5 sammu
Video: Kütusesäästliku veokijuhi võistluse finaal 2013 (Opatija, Horvaatia) 2024, November
Anonim
Kütusesäästlikkuse detektor
Kütusesäästlikkuse detektor

Autor: Danica Fujiwara ja William McGrouther

Autod on tänapäeval peamine transpordiliik maailmas. Täpsemalt, Californias ümbritsevad meid tänavad, maanteed ja tasulised teed, millega tuhanded autod iga päev sõidavad. Kuid autod kasutavad gaasi ja California kasutab kõige rohkem bensiini kui ükski teine USA osariik, umbes 4 500 gallonit päevas. Meie CPE 133 lõpliku projekti jaoks otsustasime luua süsteemi, mille abil saab jälgida auto kiirust ja öelda, kas see ületab parima gaasi läbisõidu või kütusesäästu jaoks kõige tõhusama kiiruse. See projekt aitaks autojuhtidel oma kütusesäästu teadvustada, mis omakorda aitaks neil loodetavasti raha säästa, gaasi vähem kasutada ja õhku vähem reostada.

Samm: materjalid

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid

Selle projekti jaoks vajalikud materjalid:

- Basys 3 FPGA

- Arduino Uno

- Leivalaud

- Adafruit BNO055 absoluutse orientatsiooni andur

- Meeste ja meeste juhtmed

2. samm: kujunduse mõistmine

Disaini mõistmine
Disaini mõistmine
Disaini mõistmine
Disaini mõistmine

Piiratud oleku diagramm

Sellel projektil on ülaltoodud lõpliku oleku diagrammis kaks erinevat olekut. Valgus võib olla sisse lülitatud (tähistatud '1') või välja lülitatud (tähistatud '0'). Olek muutub sõltuvalt jälgimiskiiruse (ts) sisendist ja konstantsest optimaalsest kiirusest.

Musta kasti skeem

Eespool on ka kütusesäästlikkuse mooduli musta kasti diagramm, mis sisaldab kiiruse võrdluse ja seitsme segmendi kuva skemaatikat, mida käsitletakse allpool. See VHDL-kood saab arduinoga ühendatud kiirendusmõõturi mõõtmistelt 8-bitise sisendi.

Samm: VHDL -i kodeerimine

Selle projekti jaoks on meie disaini koostamiseks kolm VHDL -faili, Fuel_Efficency_FinalProject moodul, Speed_Comparator moodul ja sseg_dec moodul, kus Speed_Comparator ja sseg_dec on madalamal tasemel, et moodustada kütusetõhususe moodul.

Kiiruse võrdlusmoodul

See moodul võtab 8-bitise kiiruse miili tunnis ja võrdleb seda optimaalse kiirusega väikseima gaasikulu jaoks. Keskmine optimaalne kiirus auto parima gaasi läbisõidu jaoks on umbes 55 miili tunnis ja alla selle. See võib aga erinevates autodes erineda, mida saab moodulis kohandada. Allpool on näidatud koodi rida 45, mida saab isikliku optimeerimise jaoks muuta

kui (jälgimine> "00110111") siis

Kus “00110111” (55 binaarses numbris) saab muuta mis tahes 8-bitiseks numbriks teie isikliku auto ideaalse kiiruse jaoks väikseima kütusekulu korral.

Kui kiirus ületab optimaalse arvu, süttib tuli, teatades, et auto ei kasuta maksimaalset kütusesäästlikkust.

Seitsme segmendi ekraanimoodul

See moodul võtab 8-bitise kiiruse miilides tunnis ja kuvab kiiruse seitsme segmendi ekraanil. See võimaldaks kasutajal teada, kui kiiresti nad teavad, kas tal on vaja aeglustada. See moodul anti meile meie klassis ja selle kirjutas Bryan mealy, mis sisaldab komponente bin2bcdconv, mis teisendab binaarse 8-bitise sisendi BCD-vorminguks, mida on lihtsam dekodeerida ja clk_div, nii et ekraanil oleks visuaalselt võimalik kuvada 3-kohaline number muutes anoodväljundit kõrgel taktsagedusel. See kood aktsepteerib 8-bitist numbrit, mis teisendab numbri bass 3 tahvli loetavaks kuvariks.

Kütusetõhususe moodul

See on peamine fail, mis kasutab ülaltoodud mooduleid komponentidena. Selle sisendid on kell ja jälgimiskiirus. Kell on ehitatud basys 3 plaadile ja jälgimiskiiruse annab arduino väljund, mis on ühendatud analoogsignaali pmod -pordiga (XADC). Iga 8-bitise jälgimiskiiruse bit on kaardistatud 4. etapi juhtmestiku osas näidatud portidega. Teisi Basys 3 piiranguid leiate kaustast Basys_3_Master.xdc.

Samm: Arduino kodeerimine

See projekt kasutab ühte peamist arduino -faili, mis nõuab mitme raamatukogu kasutamist, millest mõned on juba teie arduino programmis ja teised tuleb alla laadida kas sellest juhendist või Adafruit'i veebisaidilt (link allpool).

Raamatukogud

link Adafruit BNO055 lehele:

Adafruit on välja töötanud kaks raamatukogu BNO055 kasutamiseks ja too näiteid nende kasutamiseks. Selles projektis kasutame funktsiooni.getVector, et arduino saadaks kiirendusmõõturi andmed.

See projekt kasutab ka mõnda arduino programmi juba installitud raamatukogu, näiteks matemaatikakogu.

Põhifail

See fail kasutab kiirendusmõõturi andmeid.getVector ja kasutab matemaatilisi võrrandeid, et muuta see kiiruseks miilides tunnis, mis seejärel väljastatakse 8 -bitiste andmetega Basys 3 -le (lisateavet leiate jaotisest "Riistvara ühendamine"). teave).

Samm: riistvara ühendamine

Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik
Riistvara juhtmestik

Arduino juhtmestik

Arduino tuleks ühendada leivalauaga, nagu need on ülaltoodud piltidel.

Põhi 3 Juhtmestik

Arduino väljundid kaardistatakse Basys 3 sisenditega analoogsignaali pmod JXADC portide kaudu. Iga 8-bitise jälgimiskiiruse bitti saab ühendada ühe ülaloleval pildil näidatud tihvtiga. Kõige vähem oluline bit (digitaalne tihvt 7) ühendatakse ts (7) ja kõige olulisem bit (digitaalne tihvt 0) ts (0).

Soovitan: