Obsah:
- Krok 1: Materiály
- Krok 2: Porozumění designu
- Krok 3: Kódování VHDL
- Krok 4: Kódování Arduina
- Krok 5: Zapojení hardwaru
Video: Detektor účinnosti paliva: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Autor: Danica Fujiwara a William McGrouther
Automobily jsou dnes hlavním dopravním prostředkem na světě. Konkrétně v Kalifornii nás obklopují ulice, dálnice a zpoplatněné silnice, po kterých denně projíždějí tisíce aut. Automobily však používají plyn a Kalifornie používá nejvíce benzínu než kterýkoli jiný stát v USA, přibližně 4500 galonů denně. Pro náš projekt CPE 133 Final jsme se rozhodli vytvořit systém, ve kterém by bylo možné sledovat rychlost automobilu a zjistit, zda překračuje nejefektivnější rychlost pro nejlepší kilometrový výkon nebo úsporu paliva. Tento projekt by pomohl řidičům seznámit se s jejich spotřebou paliva, což by jim naštěstí pomohlo ušetřit peníze, používat méně plynu a vytvářet menší znečištění ovzduší.
Krok 1: Materiály
Materiály potřebné pro tento projekt:
- Základy 3 FPGA
- Arduino Uno
- prkénko
- Senzor absolutní orientace Adafruit BNO055
- Dráty mezi muži a muži
Krok 2: Porozumění designu
Diagram konečného stavu
Tento projekt má dva různé stavy ve výše uvedeném diagramu konečného stavu. Světlo může být buď zapnuto (reprezentováno „1“) nebo vypnuto (reprezentováno „0“). Stav se mění v závislosti na zadání rychlosti sledování (ts) a konstantní optimální rychlosti.
Schéma černé skříňky
Také nahoře je diagram Black Box modulu Fuel Efficiency, který obsahuje schéma srovnávače rychlosti a zobrazení sedmi segmentů, které jsou dále diskutovány níže. Tento kód VHDL přijímá 8bitový vstup z měření akcelerometru, který je připojen k arduinu.
Krok 3: Kódování VHDL
Pro tento projekt existují tři soubory VHDL, které vytvářejí náš návrh, modul Fuel_Efficency_FinalProject, modul Speed_Comparator a modul sseg_dec, kde Speed_Comparator a sseg_dec jsou na nižší úrovni a tvoří modul Fuel Efficiency.
Modul komparátoru rychlosti
Tento modul nabírá 8bitovou rychlost v mílích za hodinu a porovnává ji s optimální rychlostí pro co nejmenší spotřebu plynu. Průměrná optimální rychlost pro nejlepší kilometrový výkon automobilu je kolem 55 mph a méně. To se však může u jednotlivých vozů lišit, což lze v modulu přizpůsobit. Níže je uveden řádek 45 kódu, který lze změnit pro osobní optimalizaci
if (tracking> "00110111") then
Kde „00110111“(55 v binárním čísle) lze změnit na libovolné 8bitové číslo pro ideální rychlost vašeho osobního automobilu s co nejmenší spotřebou paliva.
Pokud je rychlost vyšší než optimální počet, rozsvítí se kontrolka upozorňující na to, že auto nevyužívá maximální spotřebu paliva.
Sedm segmentový zobrazovací modul
Tento modul nabírá 8bitovou rychlost v mílích za hodinu a zobrazuje rychlost na sedmisegmentovém displeji. To by uživateli umožnilo vědět, jak rychle bude vědět, zda potřebuje zpomalit. Tento modul nám byl přidělen v rámci naší třídy a byl napsán Bryanem Mealym, který obsahuje komponenty bin2bcdconv, které převádějí binární 8bitový vstup na formu BCD, kterou lze snáze dekódovat, a clk_div, takže displej může vizuálně zobrazovat číslo se 3 číslicemi změnou výstupu anody na vysoké hodinové frekvenci. Tento kód přijímá 8bitové číslo, které převádí číslo na čitelný displej na základní desce 3.
Modul palivové účinnosti
Toto je hlavní soubor, který používá výše uvedené moduly jako součásti. Jeho vstupy jsou hodiny a rychlost sledování. Hodiny jsou zabudovány na desce základen 3 a rychlost sledování je dána výstupem arduina, který je připojen k analogovému signálu pmod port (XADC). Každý bit rychlosti sledování 8 bitů je mapován na porty zobrazené v sekci zapojení v kroku 4. Další omezení Basys 3 najdete v Basys_3_Master.xdc.
Krok 4: Kódování Arduina
Tento projekt používá jeden hlavní soubor arduino, který vyžaduje použití několika knihoven, z nichž některé jsou již ve vašem programu arduino a jiné je třeba stáhnout buď z tohoto instruktuálu, nebo z webu Adafruit (odkaz níže).
Knihovny
odkaz na stránku Adafruit BNO055:
Společnost Adafruit vyvinula 2 knihovny pro použití BNO055 a uvádí příklady, jak je používat. V tomto projektu použijeme funkci.getVector k tomu, aby arduino vydalo data akcelerometru.
Tento projekt také využívá některé knihovny již nainstalované v programu arduino, jako je matematická knihovna.
Hlavní soubor
Tento soubor používá data akcelerometru z funkce.getVector a pomocí matematických rovnic jej přeměňuje na rychlost v mílích za hodinu, která je poté odeslána v 8 bitech dat do základen 3 (více viz část „Zapojení hardwaru“informace).
Krok 5: Zapojení hardwaru
Zapojení Arduino
Arduino by mělo být připojeno k prkénku jako na obrázcích výše.
Základy 3 Zapojení
Výstupy arduina jsou mapovány na vstupy základen 3 přes porty JXADC analogového signálu pmod. Každý bit rychlosti sledování 8 bitů může být připojen k jednomu z kolíků zobrazených na obrázku výše. Nejméně významný bit (digitální pin 7) se připojí k ts (7) a nejvýznamnější bit (digitální pin 0) se připojí k ts (0).
Doporučuje:
Detektor hladiny vody: 7 kroků
Detektor hladiny vody: Ultrazvukový senzor funguje na stejných principech jako radarový systém. Ultrazvukový senzor dokáže přeměnit elektrickou energii na akustické vlny a naopak. Slavný ultrazvukový senzor HC SR04 generuje ultrazvukové vlny o frekvenci 40 kHz. Typický
Detektor přítomnosti postele Zigbee: 8 kroků
Detektor přítomnosti postele Zigbee: Nějakou dobu jsem hledal způsob, jak zjistit, kdy jsme v posteli. To za použití těchto informací do Homeassistant. S touto informací bych mohl udělat automatizaci pro zhasnutí světla v noci nebo například aktivovat poplašný systém v mém
Detektor kouře: 13 kroků
Detektor kouře: Ahoj přátelé, podívejme se dnes na detektor kouře Mnozí z vás šli do nákupních center v nákupních centrech, většinou můžete vidět toto zařízení zvané detektor kouře, které detekuje kouř, zapne sprinkler a zastaví oheň. Ale v tomto projektu je to malá změna namísto
Změřte hladinu paliva pomocí Arduina: 4 kroky (s obrázky)
Měření hladiny paliva pomocí Arduina: Snímací jednotka obvykle používá plovák připojený k potenciometru, což je typický design tištěného inkoustu v moderním automobilu. Jak se nádrž vyprazdňuje, plovák klesá a klouže pohyblivým kontaktem podél rezistoru, čímž se zvyšuje jeho odpor. [2] Kromě toho
Detektor kouře IOT: Aktualizujte stávající detektor kouře pomocí IOT: 6 kroků (s obrázky)
Detektor kouře IOT: Aktualizujte stávající detektor kouře pomocí IOT: Seznam přispěvatelů, Vynálezce: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Vedoucí: Dr. Chia Kim Seng Katedra mechatronického a robotického inženýrství, Fakulta elektrotechniky a elektroniky, Universiti Tun Hussein Onn Malajsie. Distribuovat