Përmbajtje:

Detektor i efikasitetit të karburantit: 5 hapa
Detektor i efikasitetit të karburantit: 5 hapa

Video: Detektor i efikasitetit të karburantit: 5 hapa

Video: Detektor i efikasitetit të karburantit: 5 hapa
Video: Какой металлоискатель купить 2024, Nëntor
Anonim
Detektor i efikasitetit të karburantit
Detektor i efikasitetit të karburantit

Nga: Danica Fujiwara dhe William McGrouther

Makinat janë mënyra kryesore e transportit në botë sot. Konkretisht, në Kaliforni, ne jemi të rrethuar nga rrugë, autostrada dhe rrugë me tarifa që mijëra makina lëvizin çdo ditë. Sidoqoftë, makinat përdorin gaz dhe kalifornia përdor më shumë benzinë se çdo shtet tjetër në SHBA, afërsisht 4, 500 gallonë në ditë. Për projektin tonë CPE 133 Final, ne vendosëm të krijonim një sistem në të cilin mund të gjurmonte shpejtësinë e një makine dhe të tregonte nëse ai tejkalon shpejtësinë më efikase për kilometrazhin më të mirë të gazit ose kursimin e karburantit. Ky projekt do t'i ndihmonte drejtuesit të ndërgjegjësoheshin për ekonominë e tyre të karburantit, e cila nga ana tjetër do t'i ndihmonte ata të kursenin para, të përdorin më pak gaz dhe të krijonin më pak ndotje në ajër.

Hapi 1: Materialet

Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
Materiale
Materiale

Materialet e nevojshme për këtë projekt:

- Basys 3 FPGA

- Arduino Uno

- Tabela e bukës

- Sensori i Orientimit Absolut Adafruit BNO055

- Tela meshkuj në meshkuj

Hapi 2: Kuptimi i Dizajnit

Kuptimi i Dizajnit
Kuptimi i Dizajnit
Kuptimi i Dizajnit
Kuptimi i Dizajnit

Diagrami i Gjendjes së Fundit

Ky projekt ka dy gjendje të ndryshme brenda diagramit të gjendjes së fundme të treguar më sipër. Drita mund të jetë e ndezur (e përfaqësuar me '1') ose e fikur (e përfaqësuar me '0'). Gjendja ndryshon në varësi të hyrjes së shpejtësisë së përcjelljes (ts) dhe shpejtësisë konstante optimale.

Diagrami i Kutisë së Zezë

Gjithashtu sipër ka një diagram të Kutisë së Zezë të modulit të Efikasitetit të Karburantit që përmban skemën e Krahasuesit të Shpejtësisë dhe Shfaqjen e Shtatë Segmenteve që diskutohen më tej më poshtë. Ky kod VHDL merr një hyrje 8-bit nga matjet e përshpejtuesit që është i lidhur me arduino.

Hapi 3: Kodimi i VHDL

Për këtë projekt, ekzistojnë tre skedarë VHDL që ndërtojnë modelin tonë, moduli Fuel_Efficency_FinalProject, moduli Speed_Comparator dhe moduli sseg_dec ku Speed_Comparator dhe sseg_dec janë në nivelin më të ulët për të përbërë modulin e Efikasitetit të karburantit.

Moduli i Krahasuesit të Shpejtësisë

Ky modul merr një shpejtësi 8-bit në kilometra në orë dhe e krahason atë me shpejtësinë optimale për sasinë më të vogël të konsumit të gazit. Shpejtësia mesatare optimale për kilometrazhin më të mirë të gazit të një makine është rreth 55 mph dhe më pak. Sidoqoftë, kjo mund të ndryshojë nga makina në makinë e cila mund të personalizohet brenda modulit. Linja 45 e kodit që mund të ndryshohet për optimizim personal është treguar më poshtë

nëse (ndjekja> "00110111") atëherë

Ku "00110111" (55 në binar) mund të ndryshohet në çdo numër 8-bit për shpejtësinë ideale të makinës tuaj personale për sasinë më të vogël të konsumit të karburantit.

Nëse shpejtësia është mbi numrin optimal, drita do të ndizet duke njoftuar se makina nuk po përdor efikasitetin maksimal të karburantit.

Moduli i shfaqjes së shtatë segmenteve

Ky modul merr një shpejtësi 8-bit në milje në orë dhe shfaq shpejtësinë në ekranin me shtatë segmente. Kjo do t'i lejojë përdoruesit të dijë se sa shpejt ata do të dinë nëse ai ose ajo duhet të ngadalësojë. Ky modul na u dha brenda klasës sonë dhe u shkrua nga Bryan mealy që përmban komponentët bin2bcdconv i cili konverton hyrjen binare 8-bitëshe në formë BCD që është më e lehtë për tu deshifruar dhe clk_div në mënyrë që ekrani të tregojë vizualisht një numër me 3 shifra duke ndryshuar daljen e anodës në një frekuencë të lartë të orës. Ky kod pranon që një numër 8-bit e shndërron numrin në një ekran të lexueshëm në tabelën e bazys 3.

Moduli i efikasitetit të karburantit

Ky është skedari kryesor që përdor modulet e mësipërm si përbërës. Hyrjet e tij janë ora, dhe shpejtësia e përcjelljes. Ora është ndërtuar brenda tabelës së bazys 3 dhe shpejtësia e përcjelljes jepet nga dalja e arduino e cila është e lidhur me portën Pmod të sinjalit analog (XADC). Çdo bit i shpejtësisë së përcjelljes 8-bit është hartë për portet e paraqitura brenda seksionit të instalimeve elektrike në hapin 4. Kufizimet e tjera të Basys 3 mund të gjenden brenda Basys_3_Master.xdc.

Hapi 4: Kodimi i Arduino

Ky projekt përdor një skedar arduino kryesor që kërkon përdorimin e disa bibliotekave, disa prej të cilave tashmë janë në programin tuaj arduino dhe të tjerat duhet të shkarkohen ose nga kjo faqe udhëzuese ose nga faqja e internetit e Adafruit (lidhja më poshtë).

Bibliotekat

lidhje me faqen Adafruit BNO055:

Adafruit ka zhvilluar 2 biblioteka për përdorimin e BNO055, dhe jep shembuj se si t'i përdorim ato. Në këtë projekt ne do të përdorim funksionin.getVector për të pasur që arduino të nxjerrë të dhënat e përshpejtuesit.

Ky projekt përdor gjithashtu disa biblioteka të instaluara tashmë në programin arduino, si biblioteka e matematikës.

Skedari kryesor

Ky skedar përdor të dhënat e përshpejtuesit nga funksioni.getVector dhe përdor ekuacionet matematikore për ta kthyer atë në një shpejtësi në milje në orë, e cila më pas nxirret në 8 bit të dhëna në Basys 3 (shiko seksionin "Instalimi i pajisjeve" për më shumë informacion).

Hapi 5: Instalimi i pajisjeve

Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike
Instalimi i pajisjeve kompjuterike

Instalime Arduino

Arduino duhet të lidhet me tabelën e bukës siç janë në fotot e mësipërme.

Bazat 3 Tela

Daljet e arduino -s janë të hartuara në hyrjet e Basys 3 përmes porteve të sinjalit analog pmod JXADC. Çdo bit i shpejtësisë së përcjelljes 8-bit mund të lidhet me një nga kunjat e treguar në figurën e mësipërme. Bit -i më pak domethënës (kunja dixhitale 7) lidhet me ts (7) dhe biti më domethënës (pin dixhital 0) lidhet me ts (0).

Recommended: