Բովանդակություն:
- Քայլ 1: Նյութեր
- Քայլ 2: Դիզայնի իմացություն
- Քայլ 3: VHDL կոդավորում
- Քայլ 4: Arduino- ի կոդավորում
- Քայլ 5: Սարքավորումների միացում
Video: Վառելիքի արդյունավետության հայտնաբերման դետեկտոր `5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Հեղինակ ՝ Դանիկա Ֆուջիվարա և Ուիլյամ Մաքգրութեր
Ավտոմեքենաներն այսօր աշխարհում հիմնական փոխադրամիջոցն են: Մասնավորապես, Կալիֆոռնիայում մենք շրջապատված ենք փողոցներով, մայրուղիներով և վճարովի ճանապարհներով, որոնցով օրական հազարավոր մեքենաներ են երթևեկում: Այնուամենայնիվ, մեքենաները օգտագործում են գազ, իսկ Կալիֆոռնիան օգտագործում է ամենաշատ բենզինը, քան ԱՄՆ -ի ցանկացած այլ նահանգ ՝ օրական մոտավորապես 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) հետ:
Խորհուրդ ենք տալիս:
DIY բարձր արդյունավետության 5V ելքային շերտի փոխարկիչ: 7 քայլ
DIY High Efficiency 5V Output Buck Converter .: Ես ուզում էի արդյունավետ միջոց LiPo տուփերից (և այլ աղբյուրներից) ավելի բարձր լարումներից իջեցնել մինչև 5V էլեկտրոնիկայի նախագծերի համար: Նախկինում ես eBay- ից օգտագործել եմ ընդհանուր Buck մոդուլներ, բայց որակի կասկածելի վերահսկողությունը և ոչ մի անուն էլեկտրոլիտիկ հզորություն
Արդյունավետության որոնման մեջ. 9 քայլ
Արդյունավետության որոնման մեջ. BUCK փոխարկիչ " DPAK " Չափը: Սովորաբար, սկսնակ դիզայները ՝ էլեկտրոնային կամ հոբբիստ, մեզ անհրաժեշտ է լարման կարգավորիչ տպագրված տպատախտակի կամ տախտակի վրա: Unfortunatelyավոք, պարզության պատճառով մենք օգտագործում ենք գծային լարման կարգավորիչ, բայց չկան
Չափել վառելիքի մակարդակը Arduino- ով. 4 քայլ (նկարներով)
Չափել վառելիքի մակարդակը Arduino- ով. Սենսորային միավորը սովորաբար օգտագործում է բոց, որը միացված է պոտենցիոմետրին, որը սովորաբար տպված է ժամանակակից ավտոմեքենայի թանաքով: Տանկը դատարկվելիս բոցը ընկնում և սահում է շարժվող կոնտակտը դիմադրության երկայնքով ՝ մեծացնելով դրա դիմադրությունը [2]: Ի հավելումն
Ինչպես պատրաստել մանրէաբանական վառելիքի բջիջ (MFC) ցեխի միջոցով. 7 քայլ (նկարներով)
Ինչպես պատրաստել մանրէաբանական վառելիքի բջիջ (MFC) ցեխի միջոցով. MudWatt միկրոբային վառելիքի բջիջը (քնքշորեն անվանվել է «Կեղտոտ մարտկոց») սարք է, որը բակտերիաների միջոցով ցեխի մեջ հայտնաբերված օրգանական նյութը վերածում է էլեկտրականության: Այս հրահանգը կօգնի ձեզ պատրաստել ձեր սեփական մանրէաբանական վառելիքը
Բարձր արդյունավետության LED ընթերցման լամպ. 9 քայլ (նկարներով)
Բարձր արդյունավետության LED ընթերցման լամպ. Երբևէ ցանկացե՞լ եք կարդալ գիշերը, բայց հիասթափված եք էներգիայի վատնումից ՝ 50 կամ 60 վտ հզորությամբ լամպերի միջոցով: Եթե դուք ինձ նման եք, մի քանի տասնյակ CFL եք գնել: Բայց երբ հասկացաք, որ այդ լամպերի արձակած լույսը չափազանց դաժան է և ոչ