Obsah:

Detektor účinnosti paliva: 5 krokov
Detektor účinnosti paliva: 5 krokov

Video: Detektor účinnosti paliva: 5 krokov

Video: Detektor účinnosti paliva: 5 krokov
Video: Питер Диамандис: Наше будущее — изобилие 2024, Júl
Anonim
Detektor účinnosti paliva
Detektor účinnosti paliva

Autor: Danica Fujiwara a William McGrouther

Automobily sú v dnešnej dobe hlavným dopravným prostriedkom. Konkrétne v Kalifornii nás obklopujú ulice, diaľnice a spoplatnené cesty, po ktorých denne prejdú tisíce áut. Automobily však používajú plyn a v Kalifornii sa spotrebuje najviac benzínu než v ktoromkoľvek inom štáte v USA, približne 4 500 galónov za deň. Pre náš projekt CPE 133 Final sme sa rozhodli vytvoriť systém, v ktorom by bolo možné sledovať rýchlosť automobilu a zistiť, či prekračuje najefektívnejšiu rýchlosť pre najlepší kilometrový výkon alebo úsporu paliva. Tento projekt by pomohol vodičom uvedomiť si svoju úsporu paliva, čo by im, dúfajme, pomohlo ušetriť peniaze, používať menej plynu a vytvárať menšie znečistenie ovzdušia.

Krok 1: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

Materiály potrebné pre tento projekt:

- Základy 3 FPGA

- Arduino Uno

- Breadboard

- Senzor absolútnej orientácie Adafruit BNO055

- Mužské až mužské drôty

Krok 2: Pochopenie dizajnu

Pochopenie dizajnu
Pochopenie dizajnu
Pochopenie dizajnu
Pochopenie dizajnu

Diagram konečného stavu

Tento projekt má dva rôzne stavy v rámci diagramu konečného stavu uvedeného vyššie. Svetlo môže byť buď zapnuté (reprezentované „1“) alebo vypnuté (reprezentované „0“). Stav sa mení v závislosti od zadania rýchlosti sledovania (ts) a konštantnej optimálnej rýchlosti.

Schéma čiernej skrinky

Tiež vyššie je diagram čiernej skrinky modulu Fuel Efficiency, ktorý obsahuje schému porovnávača rýchlosti a sedemsegmentového displeja, ktoré sú ďalej diskutované nižšie. Tento kód VHDL prijíma 8-bitový vstup z meraní akcelerometra, ktorý je pripojený k arduinu.

Krok 3: Kódovanie VHDL

Pre tento projekt existujú tri súbory VHDL, ktoré vytvárajú náš návrh, modul Fuel_Efficency_FinalProject, modul Speed_Comparator a modul sseg_dec, kde Speed_Comparator a sseg_dec sú na nižšej úrovni, aby vytvorili modul Fuel Efficiency.

Modul porovnávača rýchlosti

Tento modul zaberá 8-bitovú rýchlosť v míľach za hodinu a porovnáva ho s optimálnou rýchlosťou pre najmenšiu spotrebu plynu. Priemerná optimálna rýchlosť pre najazdené kilometre auta na benzín je približne 55 mph a menej. To sa však môže líšiť od auta k automobilu, ktoré je možné v rámci modulu prispôsobiť. Riadok 45 kódu, ktorý je možné zmeniť na účely osobnej optimalizácie, je uvedený nižšie

if (sledovanie> „00110111“) potom

Kde „00110111“(55 v binárnom čísle) je možné zmeniť na akékoľvek 8-bitové číslo pre ideálnu rýchlosť vášho osobného auta s najnižšou spotrebou paliva.

Ak rýchlosť prekročí optimálny počet, kontrolka sa rozsvieti a upozorní vás, že auto nevyužíva maximálnu úsporu paliva.

Sedem segmentový zobrazovací modul

Tento modul zaberá 8-bitovú rýchlosť v míľach za hodinu a rýchlosť zobrazuje na sedemsegmentovom displeji. Užívateľ by tak mohol vedieť, ako rýchlo bude vedieť, či potrebuje spomaliť. Tento modul sme dostali v rámci našej triedy a napísal ho Bryan mealy, ktorý obsahuje komponenty bin2bcdconv, ktoré prevádzajú binárny 8-bitový vstup na formu BCD, ktorú je možné jednoduchšie dekódovať, a clk_div, aby displej mohol vizuálne zobrazovať číslo s 3 číslicami. zmenou výstupu anódy na vysokej hodinovej frekvencii. Tento kód akceptuje 8-bitové číslo, ktoré prevedie číslo na čitateľný displej na doske 3 základní.

Modul palivovej účinnosti

Toto je hlavný súbor, ktorý ako moduly používa vyššie uvedené moduly. Jeho vstupmi sú hodiny a rýchlosť sledovania. Hodiny sú zabudované do dosky 3 základní a rýchlosť sledovania je daná výstupom arduina, ktorý je pripojený k portu analógového signálu pmod (XADC). Každý bit 8-bitovej rýchlosti sledovania je mapovaný k portom zobrazeným v časti zapojenia v kroku 4. Ďalšie obmedzenia Basys 3 nájdete v Basys_3_Master.xdc.

Krok 4: Kódovanie Arduina

Tento projekt používa jeden hlavný súbor arduino, ktorý vyžaduje použitie niekoľkých knižníc, z ktorých niektoré sú už vo vašom programe arduino a ďalšie je potrebné stiahnuť buď z tohto návodu alebo z webovej stránky Adafruit (odkaz nižšie).

Knižnice

odkaz na stránku Adafruit BNO055:

Spoločnosť Adafruit vyvinula 2 knižnice na používanie BNO055 a uvádza príklady ich použitia. V tomto projekte použijeme funkciu.getVector na to, aby arduino prinieslo údaje akcelerometra.

Tento projekt tiež využíva niektoré knižnice už nainštalované v programe arduino, napríklad matematickú knižnicu.

Hlavný súbor

Tento súbor používa údaje akcelerometra z funkcie.getVector a pomocou matematických rovníc ho premení na rýchlosť v míľach za hodinu, ktorá je potom odoslaná v 8 bitoch údajov do základov 3 (ďalšie informácie nájdete v časti „Zapojenie hardvéru“) informácie).

Krok 5: Zapojenie hardvéru

Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru
Zapojenie hardvéru

Zapojenie Arduino

Arduino by malo byť prepojené s doskou, ako je to na obrázkoch vyššie.

Základy 3 Zapojenie

Výstupy arduina sú mapované na vstupy základov 3 prostredníctvom portov analógového signálu pmod JXADC. Každý bit 8-bitovej rýchlosti sledovania je možné pripojiť k jednému z pinov zobrazených na obrázku vyššie. Najmenší významný bit (digitálny pin 7) sa pripojí k ts (7) a najvýznamnejší bit (digitálny pin 0) sa pripojí k ts (0).

Odporúča: