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

Measurino: Չափիչ անիվի հայեցակարգի ապացույց. 9 քայլ
Measurino: Չափիչ անիվի հայեցակարգի ապացույց. 9 քայլ

Video: Measurino: Չափիչ անիվի հայեցակարգի ապացույց. 9 քայլ

Video: Measurino: Չափիչ անիվի հայեցակարգի ապացույց. 9 քայլ
Video: ASMR Measuring You 📏📝 (Roleplay) 2024, Նոյեմբեր
Anonim
Measurino: Չափիչ անիվի ապացույց հասկացություն
Measurino: Չափիչ անիվի ապացույց հասկացություն

Մեզուրինոն պարզապես հաշվում է անիվի պտույտների թիվը, և անցած տարածությունը ուղիղ համեմատական է հենց անիվի շառավիղին: Սա Odometer- ի հիմնական սկզբունքն է, և ես սկսել եմ այս նախագիծը հիմնականում ուսումնասիրելու համար, թե ինչպես պահել միացումը (կառավարվում է Arduino միկրոկոնտրոլերի կողմից), որը համատեղելի է մի քանի հեռավորությունների հետ ՝ միլիմետրից մինչև կիլոմետր, և գնահատել հնարավոր խնդիրները կամ բարելավումները:

Քայլ 1: Մասեր և բաղադրիչներ

  • Արդուինո Նանո rev.3
  • 128 × 64 OLED երկամարտ (SSD1306)
  • Ավելացնող ֆոտոէլեկտրական պտտվող կոդավորիչ (400P/R)
  • Ռետինե անիվ մոդելային ինքնաթիռների համար (51 մմ տրամագիծ)
  • 2 կոճակ
  • 9 վ մարտկոց

Քայլ 2: Կոդավորիչը

Կոդավորիչը
Կոդավորիչը
Կոդավորիչը
Կոդավորիչը

Այս նախագծի համար ես փորձարկել եմ մի քանի էժան պտտվող կոդավորիչներ, բայց դրանք անմիջապես դեն եմ նետել ճշգրտության/զգայունության խնդիրների պատճառով: Այսպիսով, ես գնացի DFRobot- ի ավելացնող ֆոտոէլեկտրական պտտվող կոդավորիչ - 400P/R SKU: SEN0230: Սա արդյունաբերական լրացուցիչ ֆոտոէլեկտրական պտտվող կոդավորիչ է `ալյումինե նյութով, մետաղյա պատյանով և չժանգոտվող պողպատից լիսեռով: Այն առաջացնում է AB երկաֆազ օրթոգոնալ իմպուլսային ազդանշան ՝ քերած սկավառակի և օպտոկուլլերի պտտման միջոցով: 400 զարկերակ/փուլ յուրաքանչյուր փուլի համար, և 1600 իմպուլս/շրջան ՝ երկաֆազ 4 անգամ թողարկման համար: Այս պտտվող կոդավորիչը ապահովում է առավելագույնը 5000 ռ/րոպե արագություն: Եվ այն կարող է օգտագործվել արագության, անկյունի, անկյունային արագության և տվյալների այլ չափման համար:

Ֆոտոէլեկտրական պտտվող կոդավորիչն ունի NPN բաց կոլեկտորային ելք, այնպես որ դուք պետք է օգտագործեք քաշման դիմադրիչներ կամ միացնեք ներքին Arduino- ի ձգումը: Այն օգտագործում է 750L05 լարման կարգավորիչ չիպ, որն ունի DC4.8V-24V հզորության հզորության մեծ մուտք:

Քայլ 3: Sգայունություն

Զգայունություն
Զգայունություն

Այս օպտոէլեկտրական պտտվող ծածկագրիչն իսկապես մեծ զգայունություն ունի, ինչը այն կատարյալ է դարձնում լիսեռը կառավարող և դիրքավորող ծրագրերի համար: Բայց իմ նպատակի համար դա չափազանց խելամիտ էր: 51 մմ անիվի դեպքում այս կոդավորիչը ունի 0.4 մմ զգայունություն, ինչը նշանակում է, որ եթե ձեռքդ նվազագույն դող ունի, դրանք կարձանագրվեն: Այսպիսով, ես իջեցրեցի զգայունությունը `ընդմիջվող ռեժիմում ավելացնելով հիստերեզ:

դատարկ ընդհատում ()

{char i; i = digitalRead (B_PHASE); եթե (i == 1) հաշվել += 1; այլ հաշվարկ -= 1; եթե (abs (հաշվարկ)> = հիստերեզ) {flag_A = flag_A+հաշվարկ; հաշվել = 0; }}

Այս հնարքը բավական էր չափին լավ կայունություն հաղորդելու համար:

Քայլ 4: Չափում

Ընտրեք ձեր Չափման միավորը (տասնորդական կամ կայսերական) և այնուհետև տեղադրեք անիվը ՝ իր չափման սկզբում իր կոնտակտային կետով, սեղմեք Վերակայման կոճակը և այն պտտեք մինչև վերջ: Ձախից աջ չափումը մեծանում և ամփոփվում է, իսկ աջից ձախ այն նվազում և հանում է: Կարող եք չափել նաև ոլորվող առարկաները (ձեր մեքենայի ձևը, պարուրաձև սանդուղքի բազրիքը, ձեր թևի երկարությունը ուսից մինչև դաստակը ՝ արմունկը թեքած և այլն):

= D տրամագծով անիվի ամբողջական պտույտը չափելու է D*π երկարությունը: Իմ դեպքում, 51 մմ անիվի դեպքում սա 16,02 սմ է, և յուրաքանչյուր տիզի չափը 0,4 մմ է (տես զգայունության պարբերություն):

Քայլ 5: Հավաքում

PoC- ն պատրաստվել է սեղանի վրա ՝ սխեման ցուցադրելու համար: Յուրաքանչյուր բաղադրիչ ամրացվել է գրատախտակին և պտտվող կոդավորիչը միացված է 2x2 բևեռային պտուտակով տերմինալային բլոկին: Մարտկոցը 9 վ ստանդարտ մարտկոց է, և սխեմայի ընդհանուր էներգիայի սպառումը մոտ 60 մԱ է:

Քայլ 6: Կոդ

Էկրանի համար ես օգտագործեցի U8g2lib- ը, որը շատ ճկուն և հզոր է այս տեսակի OLED էկրանների համար ՝ թույլ տալով տառատեսակների լայն ընտրություն և տեղադրման լավ գործառույթներ: Ես շատ ժամանակ չկորցրեցի ցուցադրումը տեղեկատվությամբ լցնելու համար, քանի որ սա ընդամենը Poc էր:

Կոդավորիչը կարդալու համար ես օգտագործում եմ ընդհատումներ, որոնք առաջացել են 2 փուլերից մեկով. Ամեն անգամ, երբ կոդավորիչի լիսեռը շարժվում է, այն առաջացնում է ընդմիջում Arduino- ին, որը կապված է իմպուլսի բարձրացման հետ:

attachInterrupt (digitalPinToInterrupt (A_PHASE), ընդհատում, RISING);

Էկրանն ինքնաբերաբար անցնում է միլիմետրերից, մետրերին, կիլոմետրերին և (եթե ընտրված է կոճակից) դյույմներից, բակերից, մղոններից, մինչդեռ RST կոճակը չափումը զրոյականացնում է:

Քայլ 7: Սխեմաներ

Սխեմաներ
Սխեմաներ

Քայլ 8. PoC- ից մինչև արտադրություն:

Ինչու՞ է սա հասկացության ապացույց: Շատ բարելավումների պատճառով, որոնք կարող էին/պետք է արվեն նախքան լիարժեք գործող սարքավորում կառուցելը: Եկեք մանրամասն տեսնենք բոլոր հնարավոր բարելավումները.

  • Անիվ: Measurino- ի զգայունությունը/ճշգրտությունը կախված է ղեկից: Ավելի փոքր անիվը կարող է ձեզ ավելի լավ ճշգրտություն տալ փոքր երկարություններ չափելիս (միլիմետրից սանտիմետր կարգով): Երկարացման բում ունեցող շատ ավելի մեծ անիվը թույլ կտա քայլել ճանապարհով և չափել կիլոմետրեր: Փոքր անիվների համար նյութը պետք է հաշվի առնել. Լիարժեք ռետինե անիվը կարող է թեթևակի դեֆորմացվել և ազդել ճշգրտության վրա, ուստի այդ դեպքում ես կառաջարկեմ ալյումինե/պողպատե անիվ `բարակ ժապավենով` սայթաքումներից խուսափելու համար: Softwareրագրային աննշան խմբագրմամբ (անջատիչով ընտրեք անիվի ճիշտ տրամագիծը), դուք կարող եք դիտել փոխկապակցվող անիվները ՝ ցանկացած չափի հարմարվելու համար ՝ օգտագործելով 4-պին միակցիչ (այսինքն ՝ USB պորտ):
  • Ծրագրային ապահովում: Ավելացնելով մեկ այլ կոճակ ՝ ծրագրակազմը կարող է նաև հոգալ ուղղանկյունների կամ անկյունների ամպլիտուդիայի տարածքների չափման մասին: Ես նաև խորհուրդ եմ տալիս ավելացնել «Պահել» կոճակը, որպեսզի վերջում չափվի միջոցը ՝ խուսափելով անիվի անզգույշ տեղաշարժից ՝ նախքան դիսփլեյի արժեքը կարդալը:
  • Անիվը փոխարինեք պտուտակով: Կարճ միջոցառումների համար (մի քանի մետր հեռավորության վրա) անիվը կարող է փոխարինվել թել կամ ժապավեն պարունակող զսպանակավոր պարույրով: Այս կերպ դուք պարզապես պետք է քաշեք շարանը (ստիպելով կոդավորիչի առանցքը պտտել), չափեք և դիտեք էկրանին:
  • Ավելացնել մարտկոցի վիճակի ցուցադրում: 3.3v Arduino հղման քորոցը (ճշգրիտ 1%-ի սահմաններում) կարող է օգտագործվել որպես ADC փոխարկիչի հիմք: Այսպիսով, անալոգային թվային փոխակերպում անելով 3.3V պինով (միացնելով այն A1- ին), այնուհետև համեմատելով այս ցուցանիշը սենսորից ստացված ընթերցման հետ, մենք կարող ենք դուրս բերել իրական կյանքի ընթերցում, անկախ նրանից, թե ինչ է VIN- ը (քանի դեռ այն 3.4 Վ -ից բարձր է): Աշխատանքային օրինակը կարելի է գտնել իմ այս մյուս նախագծում:

Քայլ 9: Պատկերասրահ

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