Satura rādītājs:

Degvielas efektivitātes detektors: 5 soļi
Degvielas efektivitātes detektors: 5 soļi

Video: Degvielas efektivitātes detektors: 5 soļi

Video: Degvielas efektivitātes detektors: 5 soļi
Video: 199 Amazing Fastest Big Wood Sawmill Machines Working At Another Level ►2 2024, Novembris
Anonim
Degvielas efektivitātes detektors
Degvielas efektivitātes detektors

Autori: Danica Fujiwara un William McGrouther

Automašīnas šodien ir galvenais pārvietošanās veids pasaulē. Konkrētāk, Kalifornijā mūs ieskauj ielas, lielceļi un maksas ceļi, pa kuriem katru dienu brauc tūkstošiem automašīnu. Tomēr automašīnas izmanto gāzi, un Kalifornija izmanto visvairāk benzīna nekā jebkurš cits ASV štats, aptuveni 4 500 galonu dienā. Mūsu CPE 133 galīgajam projektam mēs nolēmām izveidot sistēmu, kurā tā varētu izsekot automašīnas ātrumam un pateikt, vai tas pārsniedz visefektīvāko ātrumu vislabākajam gāzes nobraukumam vai degvielas ekonomijai. Šis projekts palīdzētu autovadītājiem apzināties savu degvielas ekonomiju, kas, cerams, palīdzētu viņiem ietaupīt naudu, patērēt mazāk gāzes un radīt mazāk piesārņojuma gaisā.

1. solis: materiāli

Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli
Materiāli

Šim projektam nepieciešamie materiāli:

- Basys 3 FPGA

- Arduino Uno

- Maizes dēlis

- Adafruit BNO055 absolūtās orientācijas sensors

- vadi no vīriešiem līdz vīriešiem

2. darbība: izpratne par dizainu

Izpratne par dizainu
Izpratne par dizainu
Izpratne par dizainu
Izpratne par dizainu

Galīgā stāvokļa diagramma

Šim projektam ir divi dažādi stāvokļi iepriekš parādītajā galīgā stāvokļa diagrammā. Gaisma var būt ieslēgta (apzīmēta ar “1”) vai izslēgta (apzīmēta ar “0”). Stāvoklis mainās atkarībā no izsekošanas ātruma (ts) ievades un pastāvīgā optimālā ātruma.

Melnās kastes diagramma

Iepriekš ir arī degvielas efektivitātes moduļa melnās kastes diagramma, kurā ir ātruma salīdzinātāja un septiņu segmentu displeja shēma, kas sīkāk aplūkota turpmāk. Šis VHDL kods saņem 8 bitu ievadi no akselerometra mērījumiem, kas ir pievienots arduino.

3. darbība: VHDL kodēšana

Šim projektam ir trīs VHDL faili, kas veido mūsu dizainu, Fuel_Efficency_FinalProject modulis, Speed_Comparator modulis un sseg_dec modulis, kur Speed_Comparator un sseg_dec atrodas zemākajā līmenī, lai izveidotu degvielas efektivitātes moduli.

Ātruma salīdzināšanas modulis

Šis modulis uzņem 8 bitu ātrumu jūdzēs stundā un salīdzina to ar optimālo ātrumu vismazākam gāzes patēriņam. Vidējais optimālais ātrums automašīnas labākajam gāzes nobraukumam ir aptuveni 55 jūdzes stundā un zemāks. Tomēr tas var atšķirties atkarībā no automašīnas, ko var pielāgot modulī. Koda 45. rinda, kuru var mainīt personīgai optimizācijai, ir parādīta zemāk

ja (izsekošana> "00110111"), tad

Ja “00110111” (55 binārajā versijā) var nomainīt uz jebkuru 8 bitu skaitli, lai jūsu personīgais automobilis būtu ideāls ātrums ar vismazāko degvielas patēriņu.

Ja ātrums pārsniedz optimālo skaitli, iedegas gaisma, paziņojot, ka automašīna neizmanto maksimālo degvielas patēriņu.

Septiņu segmentu displeja modulis

Šis modulis uzņem 8 bitu ātrumu jūdzēs stundā un parāda ātrumu septiņu segmentu displejā. Tas ļautu lietotājam zināt, cik ātri viņi gatavojas zināt, vai viņam vai viņai ir jāsamazina ātrums. Šo moduli mums iedeva mūsu klasē, un to uzrakstīja Braiens Mealy, kas satur komponentus bin2bcdconv, kas pārveido bināro 8 bitu ievadi uz BCD formu, kuru ir vieglāk atšifrēt un clk_div, lai displejā varētu vizuāli parādīt skaitli ar 3 cipariem mainot anoda izeju ar augstu pulksteņa frekvenci. Šis kods pieņem 8 bitu skaitli, kas pārvērš to lasāmā displejā uz 3. pamatplates.

Degvielas efektivitātes modulis

Šis ir galvenais fails, kas kā komponentus izmanto iepriekš minētos moduļus. Tās ievade ir pulkstenis un izsekošanas ātrums. Pulkstenis ir iebūvēts basys 3 panelī, un izsekošanas ātrumu nosaka arduino izeja, kas ir savienota ar analogo signālu pmod portu (XADC). Katrs 8 bitu izsekošanas ātruma bits tiek kartēts uz ostām, kas norādītas elektroinstalācijas sadaļā 4. solī. Citus Basys 3 ierobežojumus var atrast vietnē Basys_3_Master.xdc.

4. solis: Arduino kodēšana

Šis projekts izmanto vienu galveno arduino failu, kuram ir jāizmanto vairākas bibliotēkas, no kurām dažas jau ir iekļautas jūsu arduino programmā, bet citas ir jālejupielādē vai nu no šīs pamācības, vai no Adafruit vietnes (saite zemāk).

Bibliotēkas

saite uz Adafruit BNO055 lapu:

Adafruit ir izstrādājis 2 bibliotēkas BNO055 lietošanai un sniedz piemērus to izmantošanai. Šajā projektā mēs izmantosim funkciju.getVector, lai arduino izvadītu akselerometra datus.

Šis projekts izmanto arī dažas bibliotēkas, kas jau ir instalētas arduino programmā, piemēram, matemātikas bibliotēku.

Galvenais fails

Šis fails izmanto akselerometra datus no.getVector funkcijas un izmanto matemātiskus vienādojumus, lai pārvērstu to par ātrumu jūdzēs stundā, kas pēc tam tiek izvadīts 8 datu bitos uz Basys 3 (lai iegūtu plašāku informāciju, skatiet sadaļu "Aparatūras savienošana"). informāciju).

5. solis: aparatūras savienošana

Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana
Aparatūras vadu savienošana

Arduino elektroinstalācija

Arduino vajadzētu pieslēgt pie maizes dēļa, kā tas ir attēlos iepriekš.

Pamati 3 Elektroinstalācija

Arduino izejas tiek kartētas uz Basys 3 ieejām, izmantojot analogo signālu pmod JXADC portus. Katru 8 bitu izsekošanas ātruma bitu var savienot ar vienu no tapām, kas parādītas attēlā. Vismaznozīmīgākais bits (digitālā tapa 7) tiek savienots ar ts (7) un visnozīmīgākais bits (digitālais tapa 0) tiek pievienots ts (0).

Ieteicams: