Obsah:
- Krok 1: Materiály
- Krok 2: Pochopenie dizajnu
- Krok 3: Kódovanie VHDL
- Krok 4: Kódovanie Arduina
- Krok 5: Zapojenie hardvéru
Video: Detektor účinnosti paliva: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
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 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
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 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:
Detektor hladiny vody: 7 krokov
Detektor hladiny vody: Ultrazvukový senzor funguje na rovnakých princípoch ako radarový systém. Ultrazvukový senzor dokáže premieňať elektrickú energiu na akustické vlny a naopak. Slávny ultrazvukový senzor HC SR04 generuje ultrazvukové vlny na frekvencii 40 kHz. Typický
Detektor prítomnosti postele Zigbee: 8 krokov
Detektor prítomnosti postele Zigbee: Už nejaký čas som hľadal spôsob, ako zistiť, kedy sme v posteli. Je to kvôli použitiu týchto informácií na Homeassistant. S týmito informáciami by som mohol urobiť automatizáciu vypínania svetiel v noci alebo napríklad aktivovať poplašný systém v mojom
Pri hľadaní účinnosti .: 9 krokov
Pri hľadaní účinnosti .: Konvertor BUCK na " DPAK " Veľkosť. Začiatočníci návrhári elektroniky alebo nadšenci potrebujú regulátor napätia v obvodovej doske vytlačený alebo nepájivú dosku. Nanešťastie kvôli jednoduchosti používame lineárny regulátor napätia, ale neexistujú
Zmerajte hladinu paliva pomocou Arduina: 4 kroky (s obrázkami)
Zmerajte hladinu paliva pomocou Arduina: Senzorová jednotka obvykle používa plavák pripojený k potenciometru, čo je v modernom automobile typický dizajn tlačeného atramentu. Keď sa nádrž vyprázdňuje, plavák klesá a posúva pohyblivý kontakt pozdĺž rezistora, čím sa zvyšuje jeho odpor. [2] Navyše,
Detektor dymu IOT: Aktualizujte existujúci detektor dymu pomocou IOT: 6 krokov (s obrázkami)
IOT Detektor dymu: Aktualizujte existujúci detektor dymu pomocou IOT: Zoznam prispievateľov, Vynálezca: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Vedúci: Dr Chia Kim Seng Katedra mechatronického a robotického inžinierstva, Fakulta elektrotechniky a elektroniky, Universiti Tun Hussein Onn Malajsie. Distribuovať