Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: A tervezés megértése
- 3. lépés: VHDL kódolása
- 4. lépés: Az Arduino kódolása
- 5. lépés: A hardver bekötése
Videó: Üzemanyag -hatékonyság -érzékelő: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
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
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
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
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:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
4 lépés az akkumulátor belső ellenállásának méréséhez: 4 lépés
4 lépés az akkumulátor belső ellenállásának mérésére: Íme a 4 egyszerű lépés, amelyek segítenek mérni az akkumulátor belső ellenállását