Բովանդակություն:

Վառելիքի արդյունավետության հայտնաբերման դետեկտոր `5 քայլ
Վառելիքի արդյունավետության հայտնաբերման դետեկտոր `5 քայլ

Video: Վառելիքի արդյունավետության հայտնաբերման դետեկտոր `5 քայլ

Video: Վառելիքի արդյունավետության հայտնաբերման դետեկտոր `5 քայլ
Video: ՊԵԿ մաքսանենգության դեմ պայքարի վարչությունը համալրվել է գերժամանակակից սարքավորումներով 2024, Նոյեմբեր
Anonim
Վառելիքի արդյունավետության դետեկտոր
Վառելիքի արդյունավետության դետեկտոր

Հեղինակ ՝ Դանիկա Ֆուջիվարա և Ուիլյամ Մաքգրութեր

Ավտոմեքենաներն այսօր աշխարհում հիմնական փոխադրամիջոցն են: Մասնավորապես, Կալիֆոռնիայում մենք շրջապատված ենք փողոցներով, մայրուղիներով և վճարովի ճանապարհներով, որոնցով օրական հազարավոր մեքենաներ են երթևեկում: Այնուամենայնիվ, մեքենաները օգտագործում են գազ, իսկ Կալիֆոռնիան օգտագործում է ամենաշատ բենզինը, քան ԱՄՆ -ի ցանկացած այլ նահանգ ՝ օրական մոտավորապես 4,500 գալոն: Մեր CPE 133 Final նախագծի համար մենք որոշեցինք ստեղծել համակարգ, որի միջոցով այն կարող է հետևել մեքենայի արագությանը և ասել, թե արդյոք այն գերազանցում է ամենաարդյունավետ արագությունը գազի լավագույն վազքի կամ վառելիքի տնտեսման համար: Այս նախագիծը կօգնի վարորդներին տեղյակ լինել իրենց վառելիքի տնտեսության մասին, ինչը, իր հերթին, կօգնի նրանց խնայել գումար, օգտագործել ավելի քիչ գազ և ավելի քիչ աղտոտում ստեղծել օդում:

Քայլ 1: Նյութեր

Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր
Նյութեր

Այս նախագծի համար անհրաժեշտ նյութեր.

- Basys 3 FPGA

- Արդուինո Ունո

- Breadboard

- Adafruit BNO055 բացարձակ կողմնորոշման ցուցիչ

- Արականից արական լարերը

Քայլ 2: Դիզայնի իմացություն

Հասկանալով դիզայնը
Հասկանալով դիզայնը
Հասկանալով դիզայնը
Հասկանալով դիզայնը

Սահմանափակ վիճակի դիագրամ

Այս նախագիծն ունի երկու տարբեր վիճակ վերևում ներկայացված վերջավոր վիճակի դիագրամում: Լույսը կարող է լինել կամ միացված (ներկայացված է «1» -ով) կամ անջատված (ներկայացված է «0» -ով): Իրավիճակը փոխվում է ՝ կախված հետևման արագության (ts) մուտքագրումից և հաստատուն օպտիմալ արագությունից:

Սև արկղի դիագրամ

Նաև վերևում կա Վառելիքի արդյունավետության մոդուլի Սև արկղի դիագրամ, որը պարունակում է Արագության համեմատիչի և Յոթ հատվածի ցուցադրման սխեման, որոնք հետագայում կքննարկվեն: Այս VHDL ծածկագիրը ստանում է 8 բիթանոց մուտք արագացուցիչի չափումներից, որը միացված է arduino- ին:

Քայլ 3: VHDL կոդավորում

Այս նախագծի համար կան երեք VHDL ֆայլեր, որոնք կառուցում են մեր դիզայնը ՝ Fuel_Efficency_FinalProject մոդուլը, Speed_Comparator մոդուլը և sseg_dec մոդուլը, որտեղ Speed_Comparator- ը և sseg_dec- ն գտնվում են ավելի ցածր մակարդակում ՝ վառելիքի արդյունավետության մոդուլը կազմելու համար:

Արագության համեմատիչ մոդուլ

Այս մոդուլը 8 բիթ արագություն է ստանում ժամում մղոններով և այն համեմատում է գազի նվազագույն սպառման օպտիմալ արագության հետ: Ավտոմեքենայի լավագույն գազի վազքի միջին օպտիմալ արագությունը մոտ 55 մղոն / ժ է և ավելի ցածր: Այնուամենայնիվ, դա կարող է տարբեր լինել մեքենայից մեքենա, որը կարող է հարմարեցվել մոդուլի ներսում: Ստորև ցուցադրվում է ծածկագրի 45 -րդ տողը, որը կարող է փոխվել անձնական օպտիմալացման համար

if (tracking> "00110111") ապա

Որտեղ «00110111» (55-ը երկուական) կարող է փոխվել ցանկացած 8-բիթանոց համարի `ձեր անձնական մեքենայի իդեալական արագության համար` նվազագույն վառելիքի սպառման համար:

Եթե արագությունը գերազանցում է օպտիմալ թիվը, լույսը կվերածվի `տեղեկացնելով, որ մեքենան չի օգտագործում վառելիքի առավելագույն արդյունավետությունը:

Յոթ հատվածի ցուցադրման մոդուլ

Այս մոդուլը վերցնում է 8 բիթ արագություն ժամում մղոններով և արագությունը ցուցադրում է յոթ հատվածի էկրանին: Սա թույլ կտա օգտագործողին իմանալ, թե որքան արագ են նրանք պատրաստվում իմանալ, արդյոք նա պետք է դանդաղեցնի արագությունը: Այս մոդուլը մեզ տրվել է մեր դասարանում և գրվել է Bryan mealy- ի կողմից, որը պարունակում է bin2bcdconv բաղադրիչները, որը երկուական 8-բիթանոց մուտքը վերածում է BCD ձևի, որն ավելի հեշտ է վերծանվում և clk_div, որպեսզի ցուցադրումը տեսողականորեն կարողանա ցույց տալ 3 թվանշան ունեցող թիվ: փոխելով անոդի ելքը ժամացույցի բարձր հաճախականությամբ: Այս ծածկագիրն ընդունում է, որ 8 բիթանոց համարը թիվը փոխակերպում է ընթերցվող ցուցադրման ՝ basys 3 տախտակի վրա:

Վառելիքի արդյունավետության մոդուլ

Սա հիմնական ֆայլն է, որն օգտագործում է վերը նշված մոդուլները ՝ որպես բաղադրիչներ: Դրա մուտքերն են ժամացույցը և հետևման արագությունը: Theամացույցը կառուցված է basys 3 տախտակի ներսում, և հետևման արագությունը տրվում է arduino- ի ելքով, որը միացված է The Analog signal pmod նավահանգստին (XADC): 8-բիթանոց հետևման արագության յուրաքանչյուր բիտ քարտեզագրվում է քայլեր 4-ում էլեկտրագծերի բաժնում ցուցադրվող նավահանգիստներին: Այլ Basys 3 սահմանափակումներ կարելի է գտնել Basys_3_Master.xdc- ի շրջանակներում:

Քայլ 4: Arduino- ի կոդավորում

Այս նախագիծը օգտագործում է մեկ հիմնական arduino ֆայլ, որը պահանջում է մի քանի գրադարանների օգտագործում, որոնցից մի քանիսն արդեն ձեր arduino ծրագրում են, իսկ մյուսները պետք է ներբեռնել այս հրահանգվող կամ Adafruit կայքից (ստորև բերված հղումը):

Գրադարաններ

հղում դեպի Adafruit BNO055 էջ ՝

Adafruit- ը մշակել է 2 գրադարան BNO055- ի օգտագործման համար, և դրանց օգտագործման օրինակներ բերեք: Այս նախագծում մենք կօգտագործենք.getVector գործառույթը, որպեսզի arduino- ն թողնի արագացուցիչի տվյալները:

Այս նախագիծը նաև օգտագործում է arduino ծրագրում արդեն տեղադրված որոշ գրադարաններ, ինչպես մաթեմատիկայի գրադարանը:

Հիմնական ֆայլ

Այս ֆայլը օգտագործում է.getVector ֆունկցիայի արագացուցիչի տվյալները և մաթեմատիկական հավասարումների միջոցով այն արագություն է դարձնում ժամում մղոններով, որն այնուհետև տվյալների 8 բիթերով մուտքագրվում է Basys 3 -ին (ավելին տես «Սարքաշարի լարերի միացում» բաժնում): տեղեկատվություն):

Քայլ 5: Սարքավորումների միացում

Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում

Arduino էլեկտրագծեր

Arduino- ն պետք է միացված լինի հացատախտակին, ինչպես դրանք պատկերված են վերևի նկարներում:

Basys 3 Հաղորդալարեր

Արդուինոյի ելքերը քարտեզագրվում են Basys 3 -ի մուտքերին Անալոգային ազդանշանի pmod JXADC նավահանգիստների միջոցով: 8-բիթանոց հետևման արագության յուրաքանչյուր բիթ կարող է կապված լինել վերևում նկարում նշված կապումներից մեկի հետ: Ամենաքիչ նշանակալի բիթը (թվային կապիչ 7) միանում է ts- ին (7), իսկ ամենանշանակալից բիթը (թվային կապը 0) կապվում է ts- ի (0) հետ:

Խորհուրդ ենք տալիս: