Sadržaj:
- Korak 1: Materijali
- Korak 2: Razumijevanje dizajna
- Korak 3: Kodiranje VHDL -a
- Korak 4: Kodiranje Arduina
- Korak 5: Ožičenje hardvera
Video: Detektor potrošnje goriva: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Napisali: Danica Fujiwara i William McGrouther
Automobili su danas glavni način transporta u svijetu. Konkretno, u Kaliforniji smo okruženi ulicama, autoputevima i cestama s naplatom cestarine po kojima se svakodnevno voze hiljade automobila. Međutim, automobili koriste benzin, a Kalifornija koristi najviše benzina nego bilo koja druga država u SAD -u, otprilike 4500 litara dnevno. Za naš završni projekt CPE 133, odlučili smo stvoriti sistem u kojem bi mogao pratiti brzinu automobila i reći da li premašuje najefikasniju brzinu za najbolju kilometražu ili potrošnju goriva. Ovaj bi projekt pomogao vozačima da postanu svjesni svoje potrošnje goriva, što bi im zauzvrat, nadamo se, pomoglo da uštede novac, potroše manje plina i stvore manje zagađenja zraka.
Korak 1: Materijali
Materijali potrebni za ovaj projekat:
- Basys 3 FPGA
- Arduino Uno
- Oglasna ploča
- Adafruit BNO055 senzor apsolutne orijentacije
- Muške do muške žice
Korak 2: Razumijevanje dizajna
Dijagram konačnih stanja
Ovaj projekt ima dva različita stanja unutar dijagrama konačnih stanja prikazanih gore. Svjetlo može biti uključeno (predstavljeno s '1') ili isključeno (predstavljeno s '0'). Stanje se mijenja ovisno o unosu brzine praćenja (ts) i konstantne optimalne brzine.
Dijagram crne kutije
Takođe gore postoji dijagram Black Box modula za efikasnost potrošnje goriva koji sadrži shemu komparatora brzine i prikaza sa sedam segmenata koji su dalje razmatrani u nastavku. Ovaj VHDL kod prima 8-bitni ulaz iz mjerenja akcelerometra koji je spojen na arduino.
Korak 3: Kodiranje VHDL -a
Za ovaj projekt postoje tri VHDL datoteke koje konstruiraju naš dizajn, modul Fuel_Efficency_FinalProject, modul Speed_Comparator i modul sseg_dec gdje su Speed_Comparator i sseg_dec na nižem nivou koji čine modul za efikasnost goriva.
Modul komparatora brzine
Ovaj modul uzima 8-bitnu brzinu u miljama na sat i uspoređuje je s optimalnom brzinom za najmanju potrošnju plina. Prosječna optimalna brzina za najveću kilometražu u automobilu je oko 55 km / h i ispod. Međutim, to može varirati od automobila do automobila, što se može prilagoditi unutar modula. Red 45 koda koji se može promijeniti za ličnu optimizaciju prikazan je ispod
if (praćenje> "00110111") tada
Gdje se "00110111" (55 u binarnom obliku) može promijeniti u bilo koji 8-bitni broj za idealnu brzinu vašeg osobnog automobila za najmanju potrošnju goriva.
Ako je brzina veća od optimalnog broja, svjetlo će se upaliti obavještavajući da automobil ne koristi maksimalnu potrošnju goriva.
DisplayModule sa sedam segmenata
Ovaj modul preuzima 8-bitnu brzinu u miljama na sat i prikazuje brzinu na ekranu sa sedam segmenata. To bi omogućilo korisniku da zna koliko brzo će znati treba li usporiti. Ovaj modul nam je dat unutar naše klase, a napisao ga je Bryan mealy koji sadrži komponente bin2bcdconv koji pretvara binarni 8-bitni ulaz u BCD oblik koji je lakše dekodirati i clk_div tako da zaslon može vizualno prikazati broj sa 3 znamenke promjenom anodnog izlaza na visokoj frekvenciji takta. Ovaj kod prihvaća 8-bitni broj koji pretvara broj u čitljiv prikaz na ploči basys 3.
Modul za efikasnu potrošnju goriva
Ovo je glavna datoteka koja koristi gornje module kao komponente. Njegovi ulazi su sat i brzina praćenja. Sat je ugrađen u ploču basys 3, a brzina praćenja je dana preko arduino izlaza koji je spojen na pmod port analognog signala (XADC). Svaki bit 8-bitne brzine praćenja preslikava se na portove prikazane u odjeljku ožičenja u koraku 4. Ostala ograničenja Basys 3 mogu se pronaći unutar Basys_3_Master.xdc.
Korak 4: Kodiranje Arduina
Ovaj projekt koristi jednu glavnu arduino datoteku koja zahtijeva korištenje nekoliko biblioteka, od kojih su neke već u vašem arduino programu, a druge je potrebno preuzeti sa ovog uputstva ili sa web stranice Adafruit (donja veza).
Biblioteke
link na stranicu Adafruit BNO055:
Adafruit je razvio 2 biblioteke za upotrebu BNO055 i daje primjere kako ih koristiti. U ovom projektu koristit ćemo funkciju.getVector kako bi arduino izlazio podatke akcelerometra.
Ovaj projekt također koristi neke biblioteke koje su već instalirane u arduino programu, poput matematičke biblioteke.
Glavni fajl
Ova datoteka koristi podatke akcelerometra iz.getVector funkcije i koristi matematičke jednadžbe za pretvaranje u brzinu u miljama na sat, koja se zatim u 8 bita podataka šalje u Basys 3 (za više informacija pogledajte odjeljak "Ožičenje hardvera") informacije).
Korak 5: Ožičenje hardvera
Arduino ožičenje
Arduino treba spojiti na matičnu ploču kao što je prikazano na gornjim slikama.
Basys 3 Ožičenje
Izlazi arduina su mapirani na ulaze Basys 3 preko analognih signalnih pmod JXADC portova. Svaki bit 8-bitne brzine praćenja može se spojiti na jedan od pinova prikazanih na gornjoj slici. Najmanji bit (digitalni pin 7) povezuje se na ts (7), a najznačajniji bit (digitalni pin 0) na ts (0).
Preporučuje se:
Smanjenje potrošnje energije baterije za Digispark ATtiny85: 7 koraka
Smanjivanje potrošnje energije baterije za Digispark ATtiny85: ili: Pokretanje Arduina s ćelijom od 2032 novčanice 2 godine. Korištenjem vaše Digispark Arduino ploče iz kutije s programom Arduino crpi 20 mA na 5 volti. Sa baterijom od 5 volti od 2000 mAh radiće samo 4 dana
Nadzor potrošnje električne energije i okoliša putem Sigfoxa: 8 koraka
Potrošnja električne energije i nadzor okoliša putem Sigfoxa: OpisOvaj projekt će vam pokazati kako povećati potrošnju električne energije u prostoriji na trofaznu distribuciju energije, a zatim je poslati na server koristeći Sigfoxovu mrežu svakih 10 minuta. Kako mjeriti snagu? Imamo tri strujne stezaljke iz
Smanjivanje potrošnje energije releja - Zadržavanje u odnosu na pokupnu struju: 3 koraka
Smanjivanje potrošnje energije releja - Zadržavanje naspram struje prikupljanja: Većini releja je za početak potrebno više struje za aktiviranje nego što je potrebno za držanje releja nakon što se kontakti zatvore. Struja potrebna za držanje releja (struja zadržavanja) može biti znatno manja od početne struje potrebne za aktiviranje
Automatski dozator vode za praćenje potrošnje: 6 koraka
Automatski dozator vode za praćenje potrošnje: Zdravo! Prije par mjeseci bio sam u svojoj sobi i razmišljao o tome kakav projekt želim napraviti za školski zadatak. Htela sam da napravim nešto što mi odgovara i što će mi koristiti u budućnosti. Odjednom je moja mama ušla u sobu i
Izmjerite razinu goriva s Arduinom: 4 koraka (sa slikama)
Mjerite razinu goriva s Arduinom: Senzorska jedinica obično koristi plovak spojen na potenciometar, obično tiskanog dizajna tinte u modernim automobilima. Kako se spremnik prazni, plovak pada i klizi pomičnim kontaktom duž otpornika, povećavajući njegov otpor. [2] Osim toga