Turinys:
- 1 žingsnis: medžiagos
- 2 žingsnis: supraskite dizainą
- 3 žingsnis: VHDL kodavimas
- 4 žingsnis: „Arduino“kodavimas
- 5 žingsnis: Aparatūros prijungimas
Video: Kuro efektyvumo detektorius: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Autoriai: Danica Fujiwara ir William McGrouther
Automobiliai šiandien yra pagrindinė transporto rūšis pasaulyje. Konkrečiai, Kalifornijoje mus supa gatvės, greitkeliai ir mokami keliai, kuriais kasdien važiuoja tūkstančiai automobilių. Tačiau automobiliai naudoja dujas, o Kalifornija naudoja daugiausiai benzino nei bet kuri kita JAV valstija, maždaug 4 500 galonų per dieną. Mūsų CPE 133 galutiniam projektui nusprendėme sukurti sistemą, pagal kurią ji galėtų sekti automobilio greitį ir pasakyti, ar jis viršija efektyviausią greitį, kad būtų pasiekta geriausia dujų rida ar degalų ekonomija. Šis projektas padėtų vairuotojams suvokti degalų taupymą, o tai savo ruožtu padėtų sutaupyti pinigų, sunaudoti mažiau dujų ir mažiau teršti orą.
1 žingsnis: medžiagos
Šiam projektui reikalingos medžiagos:
- Basys 3 FPGA
- Arduino Uno
- Bandomoji Lenta
- „Adafruit BNO055“absoliučios orientacijos jutiklis
- laidai nuo vyrų iki vyrų
2 žingsnis: supraskite dizainą
Baigtos būsenos diagrama
Šis projektas turi dvi skirtingas būsenas aukščiau pateiktoje baigtinių būsenų diagramoje. Šviesa gali būti įjungta (žymima „1“) arba išjungta (žymima „0“). Būsena kinta priklausomai nuo sekimo greičio (ts) įvesties ir pastovaus optimalaus greičio.
Juodosios dėžės schema
Taip pat aukščiau yra degalų naudojimo efektyvumo modulio juodosios dėžės diagrama, kurioje yra greičio palyginimo priemonės ir septynių segmentų ekrano schema, kuri toliau aptariama toliau. Šis VHDL kodas gauna 8 bitų įvestį iš akselerometro, prijungto prie arduino, matavimų.
3 žingsnis: VHDL kodavimas
Šiam projektui yra trys VHDL failai, kurie sukuria mūsų dizainą, „Fuel_Efficency_FinalProject“modulis, „Speed_Comparator“modulis ir „sseg_dec“modulis, kur „Speed_Comparator“ir „sseg_dec“yra žemesnio lygio, kad sudarytų kuro efektyvumo modulį.
Greičio palyginimo modulis
Šis modulis įsisavina 8 bitų greitį myliomis per valandą ir lygina jį su optimaliu greičiu, sunaudojant mažiausiai dujų. Vidutinis optimalus greitis, kai automobilis nuvažiuoja daugiausiai dujų, yra apie 55 mylių per valandą ir mažesnis. Tačiau tai gali skirtis priklausomai nuo automobilio, kurį galima pritaikyti modulyje. Kodo 45 eilutė, kurią galima pakeisti asmeniniam optimizavimui, parodyta žemiau
jei (stebėjimas> „00110111“) tada
Kai „00110111“(55 dvejetainis) gali būti pakeistas į bet kurį 8 bitų skaičių, kad būtų užtikrintas idealus jūsų automobilio greitis, kad būtų sunaudojamos mažiausiai degalų.
Jei greitis viršija optimalų skaičių, lemputė įsijungs, pranešdama, kad automobilis nenaudoja maksimalaus degalų naudojimo efektyvumo.
Septynių segmentų ekrano modulis
Šis modulis užima 8 bitų greitį myliomis per valandą ir rodo greitį septynių segmentų ekrane. Tai leistų vartotojui žinoti, kaip greitai jie ketina žinoti, ar jam reikia sulėtinti greitį. Šį modulį mums davė mūsų klasė ir jį parašė Bryanas Mealy, kuriame yra komponentai bin2bcdconv, kuris konvertuoja dvejetainį 8 bitų įvestį į BCD formą, kurią lengviau iššifruoti ir clk_div, kad ekrane būtų galima vizualiai parodyti 3 skaitmenų skaičių keičiant anodo išėjimą dideliu laikrodžio dažniu. Šis kodas priima 8 bitų skaičių, kuris paverčia jį skaitomu ekranu pagrindinėje 3 plokštėje.
Kuro efektyvumo modulis
Tai yra pagrindinis failas, kuriame aukščiau esantys moduliai naudojami kaip komponentai. Jo įvestys yra laikrodis ir sekimo greitis. Laikrodis yra pastatytas „basys 3“plokštėje, o sekimo greitį lemia arduino išvestis, prijungta prie analoginio signalo pmod prievado (XADC). Kiekvienas 8 bitų sekimo greičio bitas susiejamas su 4 žingsnio laidų skyriuje rodomais prievadais. Kitus „Basys 3“apribojimus rasite „Basys_3_Master.xdc“.
4 žingsnis: „Arduino“kodavimas
Šiame projekte naudojamas vienas pagrindinis arduino failas, kuriam reikia naudoti kelias bibliotekas, kai kurios iš jų jau yra jūsų arduino programoje, o kitos turi būti atsisiųstos iš šios instrukcijos arba „Adafruit“svetainės (nuoroda žemiau).
Bibliotekos
nuoroda į „Adafruit BNO055“puslapį:
„Adafruit“sukūrė 2 bibliotekas, skirtas naudoti BNO055, ir pateikia pavyzdžių, kaip jas naudoti. Šiame projekte mes naudosime funkciją.getVector, kad arduino išvestų akselerometro duomenis.
Šiame projekte taip pat naudojamos kai kurios bibliotekos, jau įdiegtos programoje „arduino“, pvz., Matematikos biblioteka.
Pagrindinis failas
Šis failas naudoja pagreičio matuoklio duomenis iš funkcijos.getVector ir naudoja matematines lygtis, kad paverstų jį greičiu myliomis per valandą, kuris vėliau bus išvestas 8 bitų duomenų į „Basys 3“(daugiau žr. Skyrių „Aparatūros prijungimas“). informacija).
5 žingsnis: Aparatūros prijungimas
„Arduino“laidai
„Arduino“turėtų būti prijungtas prie duonos lentos, kaip parodyta aukščiau esančiose nuotraukose.
Pagrindai 3 Laidai
Arduino išėjimai susieti su „Basys 3“įėjimais per analoginį signalo pmod JXADC prievadą. Kiekvienas 8 bitų sekimo greičio bitas gali būti prijungtas prie vieno iš kaiščių, pavaizduotų paveikslėlyje aukščiau. Mažiausiai reikšmingas bitas (skaitmeninis kaištis 7) prijungiamas prie ts (7), o reikšmingiausias bitas (skaitmeninis kaištis 0) prijungiamas prie ts (0).
Rekomenduojamas:
„Pasidaryk pats“didelio efektyvumo 5 V išvesties „Buck“keitiklis!: 7 žingsniai
„Pasidaryk pats“didelio efektyvumo 5 V išvesties „Buck Converter“!: Norėjau veiksmingo būdo sumažinti aukštesnę įtampą nuo „LiPo“pakuočių (ir kitų šaltinių) iki 5 V elektronikos projektams. Anksčiau naudojau bendrus „eBay“modulius, tačiau abejotina kokybės kontrolė ir be pavadinimo elektrolitinė talpa
Ieškant efektyvumo .: 9 žingsniai
Ieškant efektyvumo .: BUCK konverteris „DPAK“; Dydis. Paprastai pradedantiesiems dizaineriui elektroniniam ar mėgėjui mums reikia įtampos reguliatoriaus spausdintinėje plokštėje arba duonos plokštėje. Deja, dėl paprastumo mes naudojame linijinį įtampos reguliatorių, tačiau nėra
Kaip padaryti mikrobiologinį kuro elementą (MFC) naudojant purvą: 7 žingsniai (su nuotraukomis)
Kaip pasigaminti mikrobiologinį kuro elementą (MFC) naudojant purvą: „MudWatt“mikrobų kuro elementas (meiliai pavadintas „Purvo baterija“) yra prietaisas, kuris naudoja bakterijas, kad dumble esančias organines medžiagas paverstų elektra. Ši instrukcija padės jums sukurti savo mikrobiologinį kurą
Didelio efektyvumo LED skaitymo lempa: 9 žingsniai (su paveikslėliais)
Didelio efektyvumo LED skaitymo lempa: ar kada nors norėjote skaityti naktį, bet esate nusivylę eikvodami energiją toms 50 ar 60 vatų lempų lemputėms. Jei esate toks kaip aš, nusipirkote kelias dešimtis CFL. Bet kai supratai, kad tų lempučių skleidžiama šviesa yra per daug atšiauri ir neaiški
Didelio efektyvumo 9 voltų LED žibintuvėlis su jutikliniu valdymu: 4 žingsniai
Didelio efektyvumo 9 voltų LED žibintuvėlis su jutikliniu valdymu: naudojant tik 10 dalių, esančių paprastoje grandinėje, ši paprasta grandinė paverčia maitinimą iš 9 voltų akumuliatoriaus, kad paleistų 2 baltus šviesos diodus esant 20 mA, o akumuliatoriui-tik 13 mA. daugiau nei 90% efektyvumo