Tartalomjegyzék:

Üzemanyag -hatékonyság -érzékelő: 5 lépés
Üzemanyag -hatékonyság -érzékelő: 5 lépés

Videó: Üzemanyag -hatékonyság -érzékelő: 5 lépés

Videó: Üzemanyag -hatékonyság -érzékelő: 5 lépés
Videó: BMW 520i (E39) üzemanyagszűrő csere [ÚTMUTATÓ AUTODOC] 2024, November
Anonim
Üzemanyag -hatékonyság érzékelő
Üzemanyag -hatékonyság érzékelő

Szerző: Danica Fujiwara és William McGrouther

A mai világban az autók a fő közlekedési mód. Konkrétan Kaliforniában utcák, autópályák és fizetős utak vesznek körül, amelyeken naponta több ezer autó közlekedik. Az autók azonban gázt használnak, Kalifornia pedig a legtöbb benzint használja, mint az Egyesült Államok bármely más állama, körülbelül 4 500 gallont naponta. A CPE 133 végső projektünkhöz úgy döntöttünk, hogy létrehozunk egy rendszert, amelyben nyomon tudja követni az autó sebességét, és megmondja, hogy meghaladja -e a leghatékonyabb sebességet a legjobb gázkilométer vagy üzemanyag -takarékosság érdekében. Ez a projekt elősegítené a járművezetők számára, hogy tisztában legyenek üzemanyag -takarékosságukkal, ami remélhetőleg pénzt takarít meg, kevesebb gázt használ, és kevesebb szennyezést okoz a levegőben.

1. lépés: Anyagok

Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok
Anyagok

A projekthez szükséges anyagok:

- Basys 3 FPGA

- Arduino Uno

- Kenyeretábla

- Adafruit BNO055 abszolút orientációs érzékelő

- Férfi -férfi vezetékek

2. lépés: A tervezés megértése

A tervezés megértése
A tervezés megértése
A tervezés megértése
A tervezés megértése

Véges állapot diagram

Ennek a projektnek két különböző állapota van a fent látható véges állapot diagramon belül. A fény világíthat („1”) vagy nem világít („0”). Az állapot a követési sebesség (ts) bemenetétől és az állandó optimális sebességtől függően változik.

Fekete doboz diagram

Fentebb található az üzemanyag -hatékonyság modul fekete doboz diagramja, amely tartalmazza a sebesség -összehasonlító és a hét szegmenses kijelző vázlatát, amelyeket az alábbiakban tárgyalunk. Ez a VHDL kód 8 bites bemenetet kap az arduino-hoz csatlakoztatott gyorsulásmérő méréseiből.

3. lépés: VHDL kódolása

Ehhez a projekthez három VHDL fájl építi a tervezésünket, a Fuel_Efficency_FinalProject modul, a Speed_Comparator modul és az sseg_dec modul, ahol a Speed_Comparator és a sseg_dec az alacsonyabb szinten vannak az Üzemanyag -hatékonyság modul létrehozásához.

A sebesség -összehasonlító modul

Ez a modul 8 bites sebességet vesz fel mérföld / óra sebességgel, és összehasonlítja az optimális sebességgel a legkisebb gázfogyasztás mellett. Az autó optimális gázfogyasztása esetén az átlagos optimális sebesség 55 mph vagy annál alacsonyabb. Ez azonban autónként változhat, és a modulon belül testreszabható. A személyi optimalizálás érdekében megváltoztatható kód 45. sora alább látható

ha (követés> "00110111") akkor

Ahol a „00110111” (55 bináris) a tetszőleges 8 bites számra módosítható, hogy az Ön személygépkocsija ideális sebességgel rendelkezzen a legkisebb üzemanyag-fogyasztás mellett.

Ha a sebesség meghaladja az optimális számot, a fény bekapcsol, jelezve, hogy az autó nem használja ki a maximális üzemanyag -hatékonyságot.

A hét szegmenses kijelzőmodul

Ez a modul 8 bites sebességet vesz fel mérföld / óra sebességgel, és megjeleníti a sebességet a hét szegmenses kijelzőn. Ez lehetővé tenné a felhasználó számára, hogy tudja, milyen gyorsan fogja tudni, hogy le kell -e lassítania. Ezt a modult osztályunkon belül kaptuk, és Bryan mealy írta, amely a bin2bcdconv összetevőket tartalmazza, amely a bináris 8 bites bemenetet BCD formává alakítja, amely könnyebben dekódolható és clk_div, hogy a kijelző vizuálisan 3 számjegyű számot jelenítsen meg az anódkimenet magas órajel -frekvenciával történő megváltoztatásával. Ez a kód elfogad egy 8 bites számot, amely a számot olvasható kijelzővé alakítja a 3 alaplapon.

Az Üzemanyag -hatékonyság modul

Ez a fő fájl, amely összetevőként használja a fenti modulokat. A bemenetek az óra és a követési sebesség. Az óra a basys 3 táblán belül van, és a követési sebességet az arduino kimenete adja, amely az Analog signal pmod porthoz (XADC) csatlakozik. A 8 bites nyomkövetési sebesség minden bitje hozzá van rendelve a 4. lépésben a bekötési szakaszban látható portokhoz. További Basys 3 korlátozások találhatók a Basys_3_Master.xdc fájlban.

4. lépés: Az Arduino kódolása

Ez a projekt egy fő arduino fájlt használ, amely több könyvtár használatát igényli, amelyek közül néhány már megtalálható az arduino programban, másokat pedig le kell tölteni erről az utasításból vagy az Adafruit webhelyről (link alább).

Könyvtárak

link az Adafruit BNO055 oldalához:

Az Adafruit 2 könyvtárat fejlesztett ki a BNO055 használatához, és példákat mutat be ezek használatára. Ebben a projektben a.getVector függvényt használjuk, hogy az arduino kiadja a gyorsulásmérő adatait.

Ez a projekt néhány, az arduino programban már telepített könyvtárat is használ, például a matematikai könyvtárat.

Fő fájl

Ez a fájl a.getVector függvényből származó gyorsulásmérő adatait használja, és matematikai egyenletek segítségével alakítja azt mérföld / óra sebességre, amelyet ezután 8 bit adatban ad ki a Basys 3 -hoz (további információért lásd a "Hardver bekötése" című részt) információ).

5. lépés: A hardver bekötése

A hardver bekötése
A hardver bekötése
A hardver bekötése
A hardver bekötése
A hardver bekötése
A hardver bekötése
A hardver bekötése
A hardver bekötése

Arduino vezetékek

Az Arduino -t a kenyérsütőhöz kell csatlakoztatni, mint a fenti képeken.

Alapok 3 Vezetékek

Az arduino kimenetei a Basys 3 bemeneteihez vannak képezve az analóg jel pmod JXADC portjain keresztül. A 8 bites nyomkövetési sebesség minden bitje csatlakoztatható a fenti képen látható egyik csaphoz. A legkevésbé szignifikáns bit (7. digitális pin) a ts (7) -hez, a legjelentősebb bit (0. digitális pin) pedig a ts (0) -hoz kapcsolódik.

Ajánlott: