Innehållsförteckning:

Bränsleeffektivitetsdetektor: 5 steg
Bränsleeffektivitetsdetektor: 5 steg

Video: Bränsleeffektivitetsdetektor: 5 steg

Video: Bränsleeffektivitetsdetektor: 5 steg
Video: ИНСТРУКЦИЯ путешествия в ДУБАЙ: 6 дней - 15 достопримечательностей Дубая за 135 долларов на двоих! 2024, November
Anonim
Bränsleeffektivitetsdetektor
Bränsleeffektivitetsdetektor

Av: Danica Fujiwara och William McGrouther

Bilar är det viktigaste transportsättet i världen idag. Specifikt, i Kalifornien, är vi omgivna av gator, motorvägar och vägtullar som tusentals bilar kör på dagligen. Bilar använder dock gas och Kalifornien använder mest bensin än någon annan stat i USA, cirka 4 500 gallon per dag. För vårt CPE 133 -slutprojekt beslutade vi att skapa ett system där det kan spåra bilens hastighet och berätta om det överstiger den mest effektiva hastigheten för bästa gassträcka eller bränsleekonomi. Detta projekt skulle hjälpa förare att bli medvetna om sin bränsleekonomi, vilket i sin tur förhoppningsvis skulle hjälpa dem att spara pengar, använda mindre gas och skapa mindre föroreningar i luften.

Steg 1: Material

Material
Material
Material
Material
Material
Material
Material
Material

Material som behövs för detta projekt:

- Basys 3 FPGA

- Arduino Uno

- Brödbräda

- Adafruit BNO055 sensor för absolut orientering

- Man till man tråd

Steg 2: Förstå designen

Förstå designen
Förstå designen
Förstå designen
Förstå designen

Slutligt tillståndsdiagram

Detta projekt har två olika tillstånd inom diagrammet över ändliga tillstånd som visas ovan. Ljuset kan antingen vara på (representerat med ‘1’) eller släckt (representerat med ‘0’). Tillståndet ändras beroende på inmatningen av spårningshastigheten (ts) och den konstanta optimala hastigheten.

Black Box Diagram

Också ovan finns ett Black Box -diagram över bränsleeffektivitetsmodulen som innehåller schemat över hastighetskomparatorn och sju segmentdisplayen som diskuteras vidare nedan. Denna VHDL-kod mottar en 8-bitars ingång från mätningarna av accelerometern som är ansluten till arduino.

Steg 3: Kodning av VHDL

För detta projekt finns det tre VHDL -filer som konstruerar vår design, Fuel_Efficency_FinalProject -modulen, Speed_Comparator -modulen och sseg_dec -modulen där Speed_Comparator och sseg_dec ligger på den lägre nivån för att utgöra bränsleeffektivitetsmodulen.

Hastighetsjämförarmodulen

Denna modul tar in en 8-bitars hastighet i miles per timme och jämför den med den optimala hastigheten för den lägsta gasförbrukningen. Den genomsnittliga optimala hastigheten för en bils bästa gassträcka är cirka 55 km / h och mindre. Detta kan dock variera från bil till bil som kan anpassas inom modulen. Raden 45 med kod som kan ändras för personlig optimering visas nedan

if (spårning> "00110111") då

Där "00110111" (55 i binär) kan ändras till valfritt 8-bitars nummer för din personliga bils idealhastighet för minst mängd bränsleförbrukning.

Om hastigheten överstiger det optimala numret tänds lampan och meddelar att bilen inte använder maximal bränsleeffektivitet.

Displaymodulen för sju segment

Denna modul tar in en 8-bitars hastighet i miles per timme och visar hastigheten på sjusegmentsdisplayen. Detta skulle göra det möjligt för användaren att veta hur snabbt de kommer att veta om han eller hon behöver sakta ner. Denna modul gavs till oss inom vår klass och skrevs av Bryan mealy som innehåller komponenterna bin2bcdconv som konverterar den binära 8-bitars ingången till BCD-form som är lättare att avkoda och clk_div så att displayen visuellt kan visa ett tal med 3 siffror genom att ändra anodutgången vid en hög klockfrekvens. Denna kod accepterar ett 8-bitars tal konverterar numret till en läsbar display på basys 3-kortet.

Bränsleeffektivitetsmodulen

Detta är huvudfilen som använder modulerna ovan som komponenter. Dess ingångar är klockan och spårningshastigheten. Klockan är byggd inom basys 3 -kortet och spårningshastigheten ges av arduino -utgången som är ansluten till The Analog signal pmod port (XADC). Varje bit av 8-bitars spårningshastigheten kartläggs till portarna som visas i ledningsdelen i steg 4. Andra Basys 3 -begränsningar finns inom Basys_3_Master.xdc.

Steg 4: Kodning av Arduino

Detta projekt använder en huvud arduino -fil som kräver användning av flera bibliotek, varav några redan finns i ditt arduino -program och andra måste laddas ner antingen från denna instruerbara eller Adafruit -webbplatsen (länk nedan).

Bibliotek

länk till Adafruit BNO055 sida:

Adafruit har utvecklat 2 bibliotek för användning av BNO055 och ger exempel på hur man använder dem. I detta projekt kommer vi att använda.getVector -funktionen för att få arduino att mata ut accelerometerns data.

Detta projekt använder också några bibliotek som redan är installerade i arduino -programmet, som mattebiblioteket.

Huvudfil

Denna fil använder accelerometerdata från.getVector -funktionen och använder matematiska ekvationer för att göra den till en hastighet i miles per timme, som sedan matas ut i 8 bitar data till Basys 3 (se avsnittet "Anslutning av hårdvaran" för mer information).

Steg 5: Anslutning av hårdvaran

Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran
Anslutning av hårdvaran

Arduino ledningar

Arduino ska vara ansluten till brödbrädan som de är på bilderna ovan.

Basys 3 ledningar

Arduino -utgångarna mappas till Basys 3 -ingångarna via den analoga signalen pmod JXADC -portar. Varje bit av 8-bitars spårningshastigheten kan anslutas till en av stiften som visas på bilden ovan. Den minst signifikanta biten (digital pin 7) ansluts till ts (7) och den mest signifikanta biten (digital pin 0) ansluts till ts (0).

Rekommenderad: