Indholdsfortegnelse:

Brændstofeffektivitetsdetektor: 5 trin
Brændstofeffektivitetsdetektor: 5 trin

Video: Brændstofeffektivitetsdetektor: 5 trin

Video: Brændstofeffektivitetsdetektor: 5 trin
Video: ajude seus amigos sempre ❤️ 2024, November
Anonim
Brændstofeffektivitetsdetektor
Brændstofeffektivitetsdetektor

Af: Danica Fujiwara og William McGrouther

Biler er den vigtigste transportform i verden i dag. Specifikt i Californien er vi omgivet af gader, motorveje og betalingsveje, som tusindvis af biler kører på dagligt. Men biler bruger gas, og Californien bruger mest benzin end nogen anden stat i USA, cirka 4, 500 gallon om dagen. Til vores CPE 133 Final -projekt besluttede vi at oprette et system, hvor det kunne spore en bils hastighed og fortælle, om den overstiger den mest effektive hastighed for den bedste gas -kilometertal eller brændstoføkonomi. Dette projekt ville hjælpe bilister med at blive opmærksom på deres brændstoføkonomi, hvilket forhåbentlig igen ville hjælpe dem med at spare penge, bruge mindre gas og skabe mindre forurening i luften.

Trin 1: Materialer

Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer
Materialer

Nødvendige materialer til dette projekt:

- Basys 3 FPGA

- Arduino Uno

- Brødbræt

- Adafruit BNO055 Absolut orienteringssensor

- Mand til han ledning

Trin 2: Forstå designet

Forstå design
Forstå design
Forstå design
Forstå design

Endelig tilstandsdiagram

Dette projekt har to forskellige tilstande inden for diagrammet over endelige tilstand vist ovenfor. Lyset kan enten være tændt (repræsenteret ved ‘1’) eller slukket (repræsenteret med ‘0’). Tilstanden ændres afhængigt af input af sporingshastigheden (ts) og den konstante optimale hastighed.

Black Box Diagram

Også ovenfor er der et Black Box -diagram over brændstofeffektivitetsmodulet, der indeholder skematikken over hastighedskomparatoren og syv segmentdisplayet, der diskuteres yderligere nedenfor. Denne VHDL-kode modtager et 8-bit input fra målingerne af accelerometeret, der er forbundet til arduinoen.

Trin 3: Kodning af VHDL

Til dette projekt er der tre VHDL -filer, der konstruerer vores design, Fuel_Efficency_FinalProject -modulet, Speed_Comparator -modulet og sseg_dec -modulet, hvor Speed_Comparator og sseg_dec er på det lavere niveau for at udgøre modulet Fuel Efficiency.

Hastighedskomparator -modulet

Dette modul tager en 8-bit hastighed i miles i timen og sammenligner det med den optimale hastighed for den mindste mængde gasforbrug. Den gennemsnitlige optimale hastighed for en bils bedste gas -kilometer er omkring 55 km / t og derunder. Dette kan dog variere fra bil til bil, som kan tilpasses inden for modulet. Linjen 45 med kode, der kan ændres til personlig optimering, vises nedenfor

hvis (sporing> "00110111") derefter

Hvor "00110111" (55 i binær) kan ændres til et hvilket som helst 8-bit nummer for din personlige bils ideelle hastighed for mindst mulig brændstofforbrug.

Hvis hastigheden er over det optimale tal, tændes lyset for at meddele, at bilen ikke bruger maksimal brændstofeffektivitet.

Displaymodulet i syv segmenter

Dette modul tager en 8-bit hastighed i miles i timen og viser hastigheden på syv segment display. Dette ville give brugeren mulighed for at vide, hvor hurtigt de vil vide, om han eller hun skal sænke farten. Dette modul blev givet til os inden for vores klasse og blev skrevet af Bryan mealy, der indeholder komponenterne bin2bcdconv, der konverterer det binære 8-bit input til BCD-form, der er lettere at afkode og clk_div, så displayet visuelt kan vise et tal med 3 cifre ved at ændre anodeudgangen ved en høj urfrekvens. Denne kode accepterer et 8-bit tal konverterer tallet til et læseligt display på basys 3-kortet.

Brændstofeffektivitetsmodulet

Dette er hovedfilen, der bruger modulerne ovenfor som komponenter. Dens input er uret og sporingshastigheden. Uret er bygget inden for basys 3 -kortet, og sporingshastigheden er givet af arduinoens output, der er forbundet til The Analog signal pmod port (XADC). Hver bit af 8-bit sporingshastigheden er kortlagt til de porte, der er vist inden for ledningsafsnittet i trin4. Andre Basys 3 -begrænsninger findes i Basys_3_Master.xdc.

Trin 4: Kodning af Arduino

Dette projekt bruger en hoved arduino -fil, der kræver brug af flere biblioteker, hvoraf nogle allerede er i dit arduino -program, og andre skal downloades enten fra denne instruerbare eller Adafruit -webstedet (link nedenfor).

Biblioteker

link til Adafruit BNO055 side:

Adafruit har udviklet 2 biblioteker til brug af BNO055, og giver eksempler på, hvordan man bruger dem. I dette projekt vil vi bruge.getVector -funktionen til at få arduino'en til at sende accelerometerets data.

Dette projekt anvender også nogle biblioteker, der allerede er installeret i arduino -programmet, f.eks. Matematikbiblioteket.

Hovedfil

Denne fil bruger accelerometerdata fra.getVector -funktionen og bruger matematiske ligninger til at omdanne den til en hastighed i miles i timen, der derefter udsendes i 8 bits data til Basys 3 (se afsnittet "Kabelføring af hardware" for mere Information).

Trin 5: Tilslutning af hardware

Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware
Tilslutning af hardware

Arduino ledninger

Arduino'en skal forbindes til brødbrættet, som de er på billederne ovenfor.

Basys 3 ledninger

Arduinoens udgange er knyttet til input fra Basys 3 via det analoge signal pmod JXADC -porte. Hver bit af 8-bit sporingshastigheden kan forbindes til en af stifterne vist på billedet ovenfor. Den mindst signifikante bit (digital pin 7) får forbindelse til ts (7) og den mest signifikante bit (digital pin 0) får forbindelse til ts (0).

Anbefalede: