Sisällysluettelo:

Polttoainetehokkuuden ilmaisin: 5 vaihetta
Polttoainetehokkuuden ilmaisin: 5 vaihetta

Video: Polttoainetehokkuuden ilmaisin: 5 vaihetta

Video: Polttoainetehokkuuden ilmaisin: 5 vaihetta
Video: 199 Amazing Fastest Big Wood Sawmill Machines Working At Another Level ►2 2024, Heinäkuu
Anonim
Polttoainetehokkuuden ilmaisin
Polttoainetehokkuuden ilmaisin

Kirjailija: Danica Fujiwara ja William McGrouther

Autot ovat nykyään tärkein kulkuväline maailmassa. Erityisesti Kaliforniassa meitä ympäröivät kadut, valtatiet ja maksulliset tiet, joilla tuhannet autot ajavat päivittäin. Autot käyttävät kuitenkin kaasua ja Kalifornia käyttää eniten bensiiniä kuin mikään muu Yhdysvaltojen osavaltio, noin 4500 gallonaa päivässä. CPE 133 Final -projektia varten päätimme luoda järjestelmän, jossa se voi seurata auton nopeutta ja kertoa, ylittääkö se tehokkaimman nopeuden parhaan kaasun mittarilukeman tai polttoainetalouden saavuttamiseksi. Tämä hanke auttaisi kuljettajia ymmärtämään polttoainetaloutensa, mikä puolestaan toivottavasti auttaisi heitä säästämään rahaa, käyttämään vähemmän kaasua ja saastuttamaan ilmaa.

Vaihe 1: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

Tähän projektiin tarvittavat materiaalit:

- Basys 3 FPGA

- Arduino Uno

- Leipälauta

- Adafruit BNO055 absoluuttinen suunta -anturi

- uros -urosjohdot

Vaihe 2: Suunnittelun ymmärtäminen

Suunnittelun ymmärtäminen
Suunnittelun ymmärtäminen
Suunnittelun ymmärtäminen
Suunnittelun ymmärtäminen

Äärellinen tilakaavio

Tässä projektissa on kaksi eri tilaa edellä esitetyssä äärellisessä tilakaaviossa. Valo voi olla joko päällä (edustaa "1") tai pois päältä (edustaa "0"). Tila vaihtuu seurannanopeuden (ts) syötetyn tulon ja vakionopeuden mukaan.

Mustan laatikon kaavio

Yllä on myös polttoainetehokkuusmoduulin musta laatikkokaavio, joka sisältää kaavion nopeusvertailusta ja seitsemän segmentin näytöstä, joista keskustellaan tarkemmin alla. Tämä VHDL-koodi vastaanottaa 8-bittisen tulon arduinoon liitetyn kiihtyvyysmittarin mittauksista.

Vaihe 3: VHDL -koodaus

Tässä projektissa on kolme VHDL -tiedostoa, jotka rakentavat suunnittelumme, Fuel_Efficency_FinalProject -moduuli, Speed_Comparator -moduuli ja sseg_dec -moduuli, jossa Speed_Comparator ja sseg_dec ovat alemmalla tasolla polttoainetehokkuusmoduulin muodostamiseksi.

Nopeuden vertailumoduuli

Tämä moduuli ottaa 8-bittisen nopeuden mailia tunnissa ja vertaa sitä optimaaliseen nopeuteen pienimmän kaasun kulutuksen osalta. Keskimääräinen optimaalinen nopeus auton parhaalle kaasukilometrille on noin 55 mph ja alle. Tämä voi kuitenkin vaihdella autosta toiseen, ja sitä voidaan muokata moduulin sisällä. Koodirivi 45, joka voidaan muuttaa henkilökohtaista optimointia varten, näkyy alla

jos (seuranta> "00110111") sitten

Missä “00110111” (55 binäärinä) voidaan muuttaa mihin tahansa 8-bittiseen numeroon henkilökohtaisen autosi ihanteellisen nopeuden saavuttamiseksi pienimmällä polttoaineenkulutuksella.

Jos nopeus ylittää optimaalisen luvun, valo syttyy ja ilmoittaa, että auto ei käytä suurinta polttoainetehokkuutta.

Seitsemän segmentin näyttömoduuli

Tämä moduuli ottaa 8-bittisen nopeuden mailia tunnissa ja näyttää nopeuden seitsemän segmentin näytössä. Näin käyttäjä voi tietää, kuinka nopeasti he tietävät, onko hänen tarpeen hidastaa vauhtia. Tämä moduuli annettiin meille luokassamme, ja sen kirjoitti Bryan mealy, joka sisältää komponentit bin2bcdconv, joka muuntaa binäärisen 8-bittisen tulon BCD-muotoon, joka on helpompi purkaa ja clk_div, jotta näyttö voi näyttää visuaalisesti 3-numeroisen numeron muuttamalla anodilähtöä korkealla kellotaajuudella. Tämä koodi hyväksyy 8-bittisen numeron, joka muuntaa numeron luettavaksi näyttöksi basys 3 -kortilla.

Polttoainetehokkuusmoduuli

Tämä on päätiedosto, joka käyttää yllä olevia moduuleja osina. Sen tulot ovat kello ja seurantanopeus. Kello on rakennettu basys 3 -korttiin ja seurannanopeuden määrittää arduinon ulostulo, joka on kytketty analogiseen signaalipodod -porttiin (XADC). Jokainen 8-bittisen seurantanopeuden bitti yhdistetään portteihin, jotka näkyvät johdotusosassa vaiheessa 4. Muita Basys 3 -rajoituksia löytyy osoitteesta Basys_3_Master.xdc.

Vaihe 4: Arduinon koodaus

Tämä projekti käyttää yhtä arduino -päätiedostoa, joka edellyttää useiden kirjastojen käyttöä, joista osa on jo arduino -ohjelmassasi ja toiset on ladattava joko tästä ohjeesta tai Adafruit -verkkosivustolta (linkki alla).

Kirjastot

linkki Adafruit BNO055 -sivulle:

Adafruit on kehittänyt kaksi kirjastoa BNO055: n käyttöön ja antaa esimerkkejä niiden käytöstä. Tässä projektissa käytämme.getVector -toimintoa, jotta arduino lähettää kiihtyvyysmittarin tiedot.

Tämä projekti käyttää myös joitain arduino -ohjelmaan jo asennettuja kirjastoja, kuten matematiikkakirjastoa.

Päätiedosto

Tämä tiedosto käyttää.getVector -funktion kiihtyvyysmittarin tietoja ja käyttää matemaattisia yhtälöitä muuttaakseen sen nopeudeksi mailissa tunnissa, joka sitten lähetetään 8 bittiä dataa Basys 3: een (katso lisätietoja "Laitteiston kytkentä" -osiosta) tiedot).

Vaihe 5: Laitteiston kytkentä

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Arduino -johdotus

Arduino tulee kytkeä leipälautaan, kuten yllä olevissa kuvissa.

Perus 3 Johdotus

Arduino -lähdöt yhdistetään Basys 3: n tuloihin analogisen signaalin pmod JXADC -porttien kautta. Jokainen 8-bittisen seurantanopeuden bitti voidaan kytkeä johonkin yllä olevan kuvan mukaisista nastoista. Vähiten merkitsevä bitti (digitaalinen nasta 7) kytketään liittimeen ts (7) ja merkittävin bitti (digitaalinen nasta 0) kytketään liittimeen ts (0).

Suositeltava: