Kazalo:
- 1. korak: Materiali
- 2. korak: Razumevanje zasnove
- 3. korak: Kodiranje VHDL
- 4. korak: Kodiranje Arduina
- 5. korak: Ožičenje strojne opreme
Video: Detektor porabe goriva: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Avtor: Danica Fujiwara in William McGrouther
Avtomobili so danes glavni način prevoza po svetu. Natančneje, v Kaliforniji smo obdani z ulicami, avtocestami in cestninskimi cestami, po katerih se dnevno vozi na tisoče avtomobilov. Vendar avtomobili uporabljajo plin, Kalifornija pa porabi največ bencina kot katera koli druga država v ZDA, približno 4500 litrov na dan. Za naš projekt CPE 133 Final smo se odločili ustvariti sistem, v katerem bi lahko sledil hitrosti avtomobila in povedal, ali presega najučinkovitejšo hitrost za najboljšo kilometrino goriva ali porabo goriva. Ta projekt bi voznikom pomagal, da se zavedajo svoje porabe goriva, kar bi jim upalo prihraniti denar, porabiti manj plina in ustvariti manj onesnaževanja zraka.
1. korak: Materiali
Materiali, potrebni za ta projekt:
- Basys 3 FPGA
- Arduino Uno
- Ogledna plošča
- Adapruit BNO055 senzor absolutne orientacije
- Moški na moške žice
2. korak: Razumevanje zasnove
Diagram končnega stanja
Ta projekt ima dva različna stanja v zgoraj prikazanem diagramu končnih stanj. Lučka je lahko vklopljena (predstavljena z »1«) ali izklopljena (predstavljena z »0«). Stanje se spreminja glede na vnos hitrosti sledenja (ts) in konstantne optimalne hitrosti.
Diagram črne škatle
Zgoraj je tudi diagram črne škatle modula za učinkovitost porabe goriva, ki vsebuje shemo primerjalnika hitrosti in prikazovalnika sedmih segmentov, ki sta nadalje obravnavana. Ta koda VHDL prejme 8-bitni vhod iz meritev merilnika pospeška, ki je povezan z arduinom.
3. korak: Kodiranje VHDL
Za ta projekt obstajajo tri datoteke VHDL, ki sestavljajo našo zasnovo, modul Fuel_Efficency_FinalProject, modul Speed_Comparator in modul sseg_dec, kjer sta Speed_Comparator in sseg_dec na nižji ravni, ki sestavljata modul za učinkovitost porabe goriva.
Modul primerjalnika hitrosti
Ta modul sprejme 8-bitno hitrost v miljah na uro in jo primerja z optimalno hitrostjo za najmanjšo porabo plina. Povprečna optimalna hitrost za največjo kilometrino plina v avtomobilu je okoli 55 km / h in manj. Vendar se to lahko razlikuje od avtomobila do avtomobila, ki ga je mogoče prilagoditi znotraj modula. Spodaj je prikazana vrstica 45 kode, ki jo je mogoče spremeniti za osebno optimizacijo
if (sledenje> "00110111") potem
Kjer lahko "00110111" (55 v binarnem sistemu) spremenite v poljubno 8-bitno število za idealno hitrost vašega osebnega avtomobila za najmanjšo porabo goriva.
Če je hitrost nad optimalno številko, se prižge lučka, ki opozarja, da avto ne porabi največje porabe goriva.
Sedem segmentni prikazovalni modul
Ta modul sprejme 8-bitno hitrost v miljah na uro in prikaže hitrost na zaslonu sedmih segmentov. To bi uporabniku omogočilo, da ve, kako hitro bo vedel, ali mora upočasniti. Ta modul nam je bil dan v našem razredu, napisal pa ga je Bryan mealy, ki vsebuje komponente bin2bcdconv, ki pretvori binarni 8-bitni vhod v obliko BCD, ki jo je lažje dekodirati, in clk_div, tako da lahko zaslon vizualno prikaže številko s 3 števkami s spreminjanjem izhoda anode pri visoki taktni frekvenci. Ta koda sprejema 8-bitno število in pretvori številko v berljiv prikaz na plošči basys 3.
Modul za učinkovitost porabe goriva
To je glavna datoteka, ki uporablja zgornje module kot komponente. Njegovi vhodi so ura in hitrost sledenja. Ura je vgrajena v ploščo basys 3, hitrost sledenja pa je podana z izhodom arduino, ki je priključen na vrata analognega signala pmod (XADC). Vsak bit 8-bitne hitrosti sledenja je preslikan na vrata, prikazana v razdelku ožičenja v 4. koraku. Druge omejitve Basys 3 najdete v Basys_3_Master.xdc.
4. korak: Kodiranje Arduina
Ta projekt uporablja eno glavno datoteko arduino, ki zahteva uporabo več knjižnic, od katerih so nekatere že v vašem programu arduino, druge pa je treba prenesti s tega navodila ali s spletnega mesta Adafruit (spodnja povezava).
Knjižnice
povezava do strani Adafruit BNO055:
Adafruit je razvil 2 knjižnici za uporabo BNO055 in navede primere njihove uporabe. V tem projektu bomo uporabljali funkcijo.getVector, da arduino odda podatke merilnika pospeška.
Ta projekt uporablja tudi nekatere knjižnice, ki so že nameščene v programu arduino, na primer matematično knjižnico.
Glavna datoteka
Ta datoteka uporablja podatke merilnika pospeška iz funkcije.getVector in z matematičnimi enačbami spremeni hitrost v miljah na uro, ki se nato v 8 bitih podatkov pošlje v Basys 3 (za več informacij glejte razdelek »Ožičenje strojne opreme«). informacije).
5. korak: Ožičenje strojne opreme
Arduino ožičenje
Arduino je treba priključiti na ploščo, kot je na zgornjih slikah.
Basys 3 Ožičenje
Izhodi arduina so preslikani na vhode Basys 3 skozi vrata analognih signalov pmod JXADC. Vsak bit 8-bitne hitrosti sledenja je mogoče priključiti na enega od zatičev, prikazanih na zgornji sliki. Najmanjši bit (digitalni pin 7) se poveže s ts (7), najpomembnejši bit (digitalni pin 0) pa se poveže s ts (0).
Priporočena:
Zmanjšanje porabe energije baterije za Digispark ATtiny85: 7 korakov
Zmanjšanje porabe energije baterije za Digispark ATtiny85: ali: Za dve leti zaženite Arduino s kovancem v obliki kovanca 2032. Z uporabo vaše plošče Digispark Arduino iz škatle s programom Arduino črpa 20 mA pri 5 voltih. 2000 mAh bo deloval le 4 dni
Kako pravilno izmeriti porabo energije brezžičnih komunikacijskih modulov v dobi nizke porabe energije?: 6 korakov
Kako pravilno izmeriti porabo energije brezžičnih komunikacijskih modulov v dobi nizke porabe energije ?: Nizka poraba energije je izjemno pomemben koncept v internetu stvari. Večino vozlišč IoT je treba napajati iz baterij. Samo s pravilnim merjenjem porabe energije brezžičnega modula lahko natančno ocenimo, koliko baterije porabim
Vremenska postaja Arduino ultra nizke porabe: 5 korakov
Arduino vremenska postaja z zelo nizko porabo energije: Ta vodnik vam bo pokazal, kako z uporabo arduino nano, bme 280 in radijskega modula rf433 zgraditi vremensko postajo z zelo nizko porabo energije, ki bo trajala približno 1,5 do 2 leti na 2 LiPo 18650 in zmožnosti razširiti, dodati več senzorjev in solarni p
Merilnik porabe električne energije CHINT + ESP8266 & Matrix Led MAX7912: 9 korakov (s slikami)
Merilnik porabe električne energije CHINT + ESP8266 & Matrix Led MAX7912: Tokrat se bomo vrnili k zanimivemu projektu, merjenju porabe električne energije na invaziven način s fazo CHINT DDS666 Mono, tehnično gre za stanovanjski ali stanovanjski števec, ki ga že imamo predstavljeno v prejšnjih tu
HOME Avtomatizacija in napoved porabe energije: 6 korakov (s slikami)
HOME Automation and Energy Prediction: HAEP (Home Automation and Energy Prediction System) je projekt o sistemu avtomatizacije doma, ki temelji na ideji merjenja in predvidevanja porabe energije v hiši. Minilo je že nekaj let, odkar je avtomatizacija doma začela delovati