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

Տեսակավորման աղբարկղ - Հայտնաբերեք և տեսակավորեք ձեր աղբարկղը. 9 քայլ
Տեսակավորման աղբարկղ - Հայտնաբերեք և տեսակավորեք ձեր աղբարկղը. 9 քայլ

Video: Տեսակավորման աղբարկղ - Հայտնաբերեք և տեսակավորեք ձեր աղբարկղը. 9 քայլ

Video: Տեսակավորման աղբարկղ - Հայտնաբերեք և տեսակավորեք ձեր աղբարկղը. 9 քայլ
Video: Մենք ապամոնտաժում ենք խառնիչներ - Ծորակներ մետաղի համար: 2024, Նոյեմբեր
Anonim
Image
Image
Ինչպես է դա աշխատում
Ինչպես է դա աշխատում

Երբևէ տեսե՞լ եք մեկին, ով չի վերամշակում կամ դա վատ է անում:

Երբևէ ցանկացե՞լ եք մեքենա, որը կվերամշակվի ձեզ համար:

Շարունակեք կարդալ մեր նախագիծը, չեք փոշմանի:

Sorter bin- ը աշխարհում վերամշակմանն օգնելու հստակ մոտիվացիա ունեցող նախագիծ է: Ինչպես հայտնի է, վերամշակման բացակայությունը լուրջ խնդիրներ է առաջացնում մեր մոլորակում, ինչպես հումքի անհետացումը և ծովի աղտոտումը, ի թիվս այլոց:

Այդ իսկ պատճառով, մեր թիմը որոշել է նախագիծ մշակել փոքր մասշտաբով ՝ տեսակավորող աղբարկղ, որը կարող է աղբը բաժանել տարբեր ստացողների ՝ կախված նյութի մետաղից կամ ոչ մետաղից: Հետագա տարբերակներում այդ տեսակավորող աղբարկղը կարող է ընդարձակվել մեծ մասշտաբով ՝ թույլ տալով աղբը բաժանել բոլոր տեսակի նյութերի (փայտ, պլաստմասե, մետաղ, օրգանական…):

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

Հաջորդ բաժիններում այս նախագիծը կբացատրվի քայլ առ քայլ:

Քայլ 1: Ինչպես է այն աշխատում

Ինչպես է դա աշխատում
Ինչպես է դա աշխատում
Ինչպես է դա աշխատում
Ինչպես է դա աշխատում

Աղբարկղը նախագծված է օգտագործողի համար աշխատանքը համեմատաբար հեշտացնելու համար. Աղբը պետք է ներմուծվի վերին ափսեի մեջ տեղադրված անցքով, դեղին կոճակը պետք է սեղմվի և գործընթացը սկսվի ՝ աղբը մեկով ավարտելով: ստացողների. Բայց այժմ հարցն այն է… ինչպե՞ս է այդ գործընթացն աշխատում ներսում:

Գործընթացը սկսելուն պես կանաչ LED լուսավորվում է: Այնուհետև աջակցության միջոցով վերին ափսեի մեջ ամրացված ուլտրաձայնային տվիչները սկսում են իրենց աշխատանքը ՝ որոշելու ՝ արկղի ներսում կա՞ առարկա, թե՞ ոչ:

Եթե տուփի ներսում որևէ առարկա չկա, կարմիր LED- ը միանում է, իսկ կանաչը ՝ անջատվում: Ընդհակառակը, եթե կա օբյեկտ, ապա ինդուկտիվ սենսորները կակտիվացվեն, որպեսզի հայտնաբերեն, թե արդյոք առարկան մետաղ է, թե ոչ մետաղ: Նյութի տեսակը որոշվելուց հետո կարմիր և դեղին LED- ները կմիացվեն, և տուփը կշարժվի դեպի մեկ կամ հակառակ ուղղություն ՝ կախված տիպի շարժիչով շարժվող նյութի տեսակից:

Երբ տուփը հասնում է հարվածի ավարտին և օբյեկտը ընկնում է ճիշտ ստացողի մեջ, տուփը կվերադառնա սկզբնական դիրքի: Ի վերջո, նախնական դիրքում գտնվող տուփով դեղին LED- ն անջատվելու է: Տեսակավորումը պատրաստ կլինի նորից սկսել նույն ընթացակարգով: Այս պարբերությունը, որը նկարագրված է վերջին պարբերություններում, ցուցադրվում է նաև Քայլ 6 -ում կցված աշխատանքային հոսքի գծապատկերում:

Քայլ 2. Նյութերի հաշիվ (BOM)

Մեխանիկական մասեր

  • Ներքեւի կառուցվածքի մասեր են գնել

    • Մետաղական կառուցվածք [Հղում]
    • Մոխրագույն տուփ [Հղում]
  • 3D տպիչ

    PLA բոլոր տպագիր մասերի համար (այլ նյութեր նույնպես կարող են օգտագործվել, ինչպես ABS- ը)

  • Լազերային կտրող մեքենա

    • MDF 3 մմ
    • Պլեքսիգլաս 4 մմ
  • Գծային կրող հավաքածու [Հղում]
  • Գծային կրող [հղում]
  • Լիսեռ [Հղում]
  • Լիսեռի բռնիչ (x2) [Հղում]

Էլեկտրոնային մասեր

  • Շարժիչ

    Linear Stepper Motor Nema 17 [Հղում]

  • Մարտկոց

    12 վ մարտկոց [Հղում]

  • Սենսորներ

    • 2 Ուլտրաձայնային տվիչ HC-SR04 [Link]
    • 2 ինդուկտիվ սենսոր LJ30A3-15 [Հղում]
  • Միկրոկոնտրոլեր

    1 arduino UNO տախտակ

  • Լրացուցիչ բաղադրիչներ

    • DRV8825 վարորդ
    • 3 LED: կարմիր, կանաչ և նարնջագույն
    • 1 կոճակ
    • Որոշ ցատկող լարեր, լարեր և զոդման թիթեղներ
    • Breadboard
    • USB մալուխ (Arduino-PC միացում)
    • Կոնդենսատոր `100 f

Քայլ 3: Մեխանիկական նախագծում

Image
Image
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում

Նախորդ նկարներում ցուցադրվում են հավաքի բոլոր մասերը:

Մեխանիկական նախագծման համար SolidWorks- ը օգտագործվել է որպես CAD ծրագիր: Մոնտաժի տարբեր մասերը նախագծված են ՝ հաշվի առնելով արտադրության այն մեթոդը, որը պատրաստվում են արտադրել:

Լազերային կտրված մասեր

  • MDF 3 մմ

    • Սյուներ
    • Վերին ափսե
    • Ուլտրաձայնային տվիչների աջակցություն
    • Ինդուկտիվ սենսորների աջակցություն
    • Աղբարկղ
    • Մարտկոցի աջակցություն
    • Breadboard և Arduino աջակցություն
  • Պլեքսիգլաս 4 մմ

    Հարթակ

3D տպագիր մասեր

  • Սյուների հիմք
  • Գծային շարժման փոխանցման տարր սլաքային շարժիչից
  • Stepper շարժիչ և կրող հենարաններ
  • Պատերի ամրացման մասեր աղբի տուփի համար

Այս մասերից յուրաքանչյուրի արտադրության համար. STEP ֆայլերը պետք է ներմուծվեն ճիշտ ձևաչափի ՝ կախված այն մեքենայից, որը պատրաստվում է օգտագործվել այդ նպատակով: Այս դեպքում.dxf ֆայլերը օգտագործվել են լազերային կտրող մեքենայի համար և.gode ֆայլերը 3D տպիչի համար (Ultimaker 2):

Այս նախագծի մեխանիկական հավաքումը կարելի է գտնել այս բաժնում կցված. STEP ֆայլում:

Քայլ 4: Էլեկտրոնիկա (բաղադրիչի ընտրություն)

Այս բաժնում կկիրառվեն օգտագործվող էլեկտրոնային բաղադրիչների կարճ նկարագրությունը և բաղադրիչների ընտրության բացատրությունը:

Arduino UNO տախտակ (որպես միկրոկառավարիչ)

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

Շարժիչ (Linear Stepper Motor Nema 17):

Տիպային շարժիչի տեսակ է, որը որոշակի պտույտներով բաժանում է ամբողջական պտույտը: Արդյունքում, այն վերահսկվում է `տալով որոշակի քանակությամբ քայլեր: Այն ամուր է և ճշգրիտ և կարիք չունի որևէ տվիչի `իր իրական դիրքը վերահսկելու համար: Շարժիչի առաքելությունն է վերահսկել նետված առարկան պարունակող տուփի շարժումը և այն գցել աջ աղբարկղի մեջ:

Մոդելը ընտրելու համար դուք կատարեցիք անհրաժեշտ առավելագույն մոմենտի որոշ հաշվարկներ `ավելացնելով անվտանգության գործոնը: Ինչ վերաբերում է արդյունքներին, մենք գնեցինք այն մոդելը, որը մեծապես ծածկում է հաշվարկված արժեքը:

DRV8825 Վարորդ:

Այս տախտակն օգտագործվում է երկբևեռ քայլող շարժիչը կառավարելու համար: Այն ունի կարգավորելի ընթացիկ հսկողություն, որը թույլ է տալիս սահմանել հոսանքի առավելագույն ելքը պոտենցիոմետրով, ինչպես նաև վեց տարբեր քայլերի թույլատրելիություն. քայլ, և 1/32 քայլ (մենք վերջապես օգտագործեցինք ամբողջական քայլը, քանի որ կարիք չգտանք միկրոստեպտինգի գնալ, բայց այն դեռ կարող է օգտագործվել շարժման որակը բարելավելու համար):

Ուլտրաձայնային տվիչներ

Սրանք մի տեսակ ակուստիկ տվիչներ են, որոնք էլեկտրական ազդանշանը վերածում են ուլտրաձայնի և հակառակը: Նրանք օգտագործել են ձայնային ազդանշանի արձագանքը, որն առաջին հերթին արձակվել է ՝ օբյեկտից հեռավորությունը հաշվարկելու համար: Մենք դրանք օգտագործեցինք ՝ պարզելու համար, արդյոք վանդակում կա՞ օբյեկտ, թե՞ ոչ: Դրանք հեշտ է օգտագործել և ապահովում են ճշգրիտ չափում:

Չնայած այս սենսորի ելքը արժեք է (հեռավորություն), սահմանելով մի շեմ ՝ որոշելու, թե արդյոք օբյեկտը ներկա է, թե ոչ, մենք փոխակերպում ենք

Ինդուկտիվ սենսորներ

Ֆարադեյի օրենքի հիման վրա այն պատկանում է ոչ կոնտակտային էլեկտրոնային հարևանության ցուցիչների կատեգորիային: Մենք դրանք տեղադրեցինք շարժվող տուփի ներքևում ՝ առարկան պահող պլեքսիգլասի հարթակի տակ: Նրանց նպատակն է տարբերակել մետաղական և ոչ մետաղական առարկան ՝ թվային ելք տալով (0/1):

LED (կանաչ, դեղին, կարմիր):

Նրանց առաքելությունն է շփվել օգտվողի հետ.

-Կանաչ LED- ը միացված է. Ռոբոտը սպասում է օբյեկտի:

-Կարմիր լուսադիոդ ՝ միացված, մեքենան աշխատում է, ոչ մի առարկա չեք կարող նետել:

-Դեղին LED լուսավորված. Օբյեկտ է հայտնաբերված:

12 Վ մարտկոց կամ 12 Վ էներգիայի աղբյուր + 5 Վ USB հզորություն

Անհրաժեշտ է լարման աղբյուր `սենսորների և քայլող շարժիչի սնուցման համար: Արդուինոյին սնուցելու համար անհրաժեշտ է 5 Վ լարման աղբյուր: Դա կարելի է անել 12 Վ մարտկոցի միջոցով, բայց ավելի լավ է Arduino- ի համար ունենալ առանձին 5 Վ էներգիայի աղբյուր (օրինակ ՝ USB մալուխով և հեռախոսի ադապտերով, որը միացված է էներգիայի աղբյուրին կամ համակարգչին):

Հարցեր, որոնք մենք գտանք

  • Ինդուկտիվ սենսորների հայտնաբերում, մենք չենք ստացել ցանկալի ճշգրտությունը, քանի որ երբեմն վատ տեղադրված մետաղական օբյեկտը չի ընկալվում: Դա պայմանավորված է 2 սահմանափակումներով.

    • Քառակուսի հարթակում սենսորների ծածկած տարածքը ներկայացնում է դրա 50% -ից պակասը (այնպես որ փոքր օբյեկտը չի կարող հայտնաբերվել): Այն լուծելու համար խորհուրդ ենք տալիս օգտագործել 3 կամ 4 ինդուկտիվ սենսորներ `ապահովելու համար տարածքի ավելի քան 70% -ը:
    • Սենսորների հայտնաբերման հեռավորությունը սահմանափակվում է 15 մմ -ով, ուստի մենք ստիպված եղանք օգտագործել նուրբ պլեքսիգլասի հարթակ: Սա կարող է նաև լինել տարօրինակ ձև ունեցող օբյեկտների հայտնաբերման մեկ այլ սահմանափակում:
  • Ուլտրաձայնային հայտնաբերում. Կրկին, բարդ ձևով ձևավորված առարկաները խնդիրներ են առաջացնում, քանի որ սենսորների արձակած ազդանշանը վատ է արտացոլվում և հետ է գալիս, քան պետք է, քան սենսորը:
  • Մարտկոց. Մենք ունենք մարտկոցի կողմից մատակարարվող հոսանքը վերահսկող որոշ խնդիրներ, և այն լուծելու համար մենք վերջապես օգտագործեցինք էներգիայի աղբյուր: Այնուամենայնիվ, այլ լուծումներ, ինչպիսիք են դիոդի օգտագործումը, կարող են կատարվել:

Քայլ 5: Էլեկտրոնիկա (միացումներ)

Էլեկտրոնիկա (միացումներ)
Էլեկտրոնիկա (միացումներ)
Էլեկտրոնիկա (միացումներ)
Էլեկտրոնիկա (միացումներ)

Այս բաժինը ցույց է տալիս ընդհանրապես տեղադրված տարբեր բաղադրիչների էլեկտրագծերը: Այն նաև ցույց է տալիս, թե Arduino- ի որ քորոցին է միացված յուրաքանչյուր բաղադրիչ:

Քայլ 6: mingրագրավորում

Ծրագրավորում
Ծրագրավորում

Այս բաժինը կբացատրի Bin Sorting մեքենայի հետևում գտնվող ծրագրավորման տրամաբանությունը:

Րագիրը բաժանված է 4 քայլի, որոնք հետևյալն են.

  1. Նախաստորագրել համակարգը
  2. Ստուգեք օբյեկտների առկայությունը
  3. Ստուգեք առկա օբյեկտի տեսակը
  4. Տեղափոխման արկղ

Յուրաքանչյուր քայլի մանրամասն նկարագրության համար տե՛ս ստորև.

Քայլ 1 Համակարգի սկզբնականացում

LED վահանակ (3) - սահմանել Կալիբրացնող LED (կարմիր) Բարձր, Պատրաստի լուսադիոդ (կանաչ) OWԱՐ, օբյեկտ ներկա (դեղին) OWԱՐ

Ստուգեք, որ շարժիչային շարժիչը գտնվում է սկզբնական դիրքում

  • Կատարեք ուլտրաձայնային սենսորային թեստ `կողքից մինչև տուփի պատի հեռավորությունը չափելու համար

    • Սկզբնական դիրքը == 0 >> Թարմացրեք պատրաստի LED HIGH և Calibrating LED LOW -> քայլ 2
    • Սկզբնական դիրքը. = 0 >> ուլտրաձայնային տվիչների թվային ընթերցման արժեքը և սենսորի արժեքների հիման վրա.

      • Շարժիչի շարժական LED- ի արժեքը բարձրացրեք:
      • Գործարկեք տեղափոխման տուփը մինչև երկու ուլտրաձայնային տվիչների արժեքը <շեմային արժեք լինի:

Սկզբնական դիրքի թարմացման արժեքը = 1 >> LED Ready HIGH- ի և LOW շարժիչով LOW և Calibrating LOW >> քայլ 2

Քայլ 2

Ստուգեք օբյեկտների առկայությունը

Գործարկեք ուլտրաձայնային օբյեկտի հայտնաբերում

  • Object present == 1 >> Object present LED HIGH >> արժեքի թարմացում >> Քայլ 3
  • Առկա օբյեկտ == 0 >> Ոչինչ մի արեք

Քայլ 3

Ստուգեք առկա օբյեկտի տեսակը

Գործարկեք ինդուկտիվ սենսորների հայտնաբերում

  • inductiveState = 1 >> Քայլ 4
  • inductiveState = 0 >> Քայլ 4

Քայլ 4

Տեղափոխման արկղ

Գործարկել շարժիչի աշխատանքը

  • inductiveState == 1

    Թարմացրեք շարժիչի շարժվող LED HIGH >> Շարժիչը շարժեք ձախ, (թարմացրեք սկզբնական դիրքը = 0) հետաձգեք և հետ գնացեք աջ >> Քայլ 1

  • inductiveState == 0

    Թարմացրեք շարժիչով շարժվող LED HIGH >> Շարժիչը շարժեք աջ, (թարմացրեք սկզբնական դիրքը = 0), հետաձգեք և հետ գնացեք ձախ >> Քայլ 1

Գործառույթներ

Ինչպես երեւում է ծրագրավորման տրամաբանությունից, ծրագիրն աշխատում է ՝ կատարելով որոշակի նպատակներով գործառույթներ: Օրինակ, առաջին քայլը նախաստորագրելն է համակարգը, որը պարունակում է «Ստուգեք, թե ինչպես է շարժիչային շարժիչը գտնվում սկզբնական դիրքում» գործառույթը: Երկրորդ քայլը այնուհետև ստուգում է օբյեկտի առկայությունը, որն ինքնին այլ գործառույթ է («Ուլտրաձայնային օբյեկտի հայտնաբերում» գործառույթը): Եվ այսպես շարունակ:

Քայլ 4 -ից հետո ծրագիրը լիովին կատարված է և նորից գործարկելուց առաջ կվերադառնա 1 -ին քայլին:

Հիմնական մարմնում օգտագործվող գործառույթները սահմանված են ստորև:

Նրանք համապատասխանաբար.

  • inductiveTest ()
  • moveBox (ինդուկտիվ պետություն)
  • ուլտրաձայնային օբյեկտի հայտնաբերում ()

// Ստուգեք, արդյոք առարկան մետաղյա է, թե ոչ

bool inductiveTest () {if (digitalRead (inductiveSwitchRight) == 1 || digitalRead (inductiveSwitchLeft == 0)) {վերադարձնել ճշմարիտ; else {return false; }} void moveBox (bool inductiveState) {// տուփը գնում է ձախ, երբ մետաղը հայտնաբերվում է, և inductiveState = true եթե (inductiveState == 0) {stepper.moveTo (քայլեր); // պատահական դիրքը ավարտելու համար stepper.runToPosition () փորձարկելու համար ուշացում (1000); stepper.moveTo (0); stepper.runToPosition (); ուշացում (1000); } else if (inductiveState == 1) {stepper.moveTo (-քայլեր); // պատահական դիրքը ավարտելու համար stepper.runToPosition () փորձարկելու համար ուշացում (1000); stepper.moveTo (0); // պատահական դիրքը ավարտելու համար stepper.runToPosition () փորձարկելու համար ուշացում (1000); }} boolean ultrasonicObjectDetection () {long duration1, distance1, durationTemp, distanceTemp, mediumDistance1, averageDistanceTemp, averageDistanceOlympian1; // Սահմանել չափումների քանակը երկար հեռավորության վրա վերցնելու համար Max = 0; միջքաղաքային Min = 4000; միջքաղաքային Ընդհանուր = 0; համար (int i = 0; i distanceMax) {distanceMax = distanceTemp; } if (distanceTemp <distanceMin) {distanceMin = distanceTemp; } distanceTotal+= distanceTemp; } Serial.print ("Sensor1 maxDistance"); Serial.print (distanceMax); Serial.println («մմ»); Serial.print ("Sensor1 minDistance"); Serial.print (distanceMin); Serial.println («մմ»); // Վերցրեք միջին հեռավորությունը ընթերցումներից averageDistance1 = distanceTotal/10; Serial.print ("Sensor1 averageDistance1"); Serial.print (mediumDistance1); Serial.println («մմ»); // Հեռացրեք չափումների ամենաբարձր և ամենացածր արժեքները ՝ սխալ ընթերցումներից խուսափելու համար averageDistanceTemp = distanceTotal - (distanceMax+distanceMin); mediumDistanceOlympian1 = averageDistanceTemp/8; Serial.print ("Sensor1 averageDistanceOlympian1"); Serial.print (averageDistanceOlympian1); Serial.println («մմ»);

// Վերականգնել ջերմաստիճանի արժեքները

distanceTotal = 0; distanceMax = 0; distanceMin = 4000; երկար տևողություն 2, հեռավորություն 2, միջինDistance2, միջինDistanceOlympian2; // Սահմանել չափումների քանակը (int i = 0; i distanceMax) {distanceMax = distanceTemp; } if (distanceTemp <distanceMin) {distanceMin = distanceTemp; } distanceTotal+= distanceTemp; } Serial.print ("Sensor2 maxDistance"); Serial.print (distanceMax); Serial.println («մմ»); Serial.print ("Sensor2 minDistance"); Serial.print (distanceMin); Serial.println («մմ»); // Վերցրեք միջին հեռավորությունը ընթերցումներից averageDistance2 = distanceTotal/10; Serial.print ("Sensor2 averageDistance2"); Serial.print (mediumDistance2); Serial.println («մմ»); // Հեռացրեք չափումների ամենաբարձր և ամենացածր արժեքները ՝ սխալ ընթերցումներից խուսափելու համար averageDistanceTemp = distanceTotal - (distanceMax+distanceMin); mediumDistanceOlympian2 = averageDistanceTemp/8; Serial.print ("Sensor2 averageDistanceOlympian2"); Serial.print (averageDistanceOlympian2); Serial.println («մմ»); // Վերականգնել ջերմաստիճանի արժեքները distanceTotal = 0; distanceMax = 0; distanceMin = 4000; if (averageDistanceOlympian1 + averageDistanceOlympian2 <դատարկԲոքսա) {{վերադարձնել ճշմարիտ; } else {return false; }}

Հիմնական մարմինը

Հիմնական մարմինը պարունակում է նույն տրամաբանությունը, որը բացատրված է այս բաժնի վերևում, բայց գրված է ծածկագրով: Ֆայլը հասանելի է ներբեռնման համար ստորև:

Գուշացում

Շատ հաստատումներ գտնելու համար կատարվել են բազմաթիվ թեստեր.

Քայլ 7: Հնարավոր բարելավումներ

Հնարավոր բարելավումներ
Հնարավոր բարելավումներ

- Մեզ անհրաժեշտ է հետադարձ կապ տուփի դիրքի վերաբերյալ `ապահովելու համար, որ օբյեկտը սկզբում միշտ ճիշտ դիրքերում է: Խնդիրը լուծելու համար տարբեր տարբերակներ կան, բայց հեշտը կարող է լինել պատճենել համակարգը, որը մենք գտնում ենք 3D տպիչներում, օգտագործելով անջատիչը տուփի ճանապարհի մի ծայրում:

-Ուլտրաձայնային հայտնաբերման հետ կապված խնդիրների պատճառով մենք կարող ենք այդ գործառույթի համար այլընտրանք փնտրել ՝ KY-008 լազերային և լազերային դետեկտոր (պատկեր), տարողունակության տվիչներ:

Քայլ 8: Սահմանափակող գործոններ

Այս նախագիծը գործում է հրահանգներում նկարագրված ձևով, բայց հատուկ քայլեր պետք է ձեռնարկվեն հետևյալ քայլերի ընթացքում.

Ուլտրաձայնային տվիչների ստուգաչափում

Անկյունը, որով ուլտրաձայնային տվիչները տեղադրվում են այն օբյեկտի նկատմամբ, որը նրանք պետք է հայտնաբերեն, չափազանց կարևոր նշանակություն ունի նախատիպի ճիշտ աշխատանքի համար: Այս նախագծի համար ուլտրաձայնային տվիչների կողմնորոշման համար 12.5 ° անկյուն է ընտրվել նորմայի նկատմամբ, սակայն լավագույն անկյունը պետք է փորձնականորեն որոշվի ՝ տարբեր օբյեկտների միջոցով օգտագործելով հեռավորության ընթերցումները:

Սնուցման աղբյուր

Stepper motor DRV8825 վարորդի համար պահանջվող հզորությունը 12 Վ է և 0.2 -ից մինչև 1 Ամպեր: Arduino- ն կարող է սնուցվել նաև առավելագույնը 12 Վ լարման և 0.2 Ամպ հզորությամբ `օգտագործելով Arduino- ի միակցիչի մուտքը: Այնուամենայնիվ, պետք է հատուկ ուշադրություն դարձնել, եթե միևնույն էներգիայի աղբյուրն օգտագործում եք ինչպես Arduino- ի, այնպես էլ stepper շարժիչի վարորդի համար: Եթե սնուցվում է սովորական հոսանքի վարդակից, օրինակ ՝ 12V/2A AC/DC ադապտերային սնուցման աղբյուրից, միացումում պետք է լինի լարման կարգավորիչ և դիոդներ, նախքան հոսանքը սնուցվի arduino և stepper շարժիչին:

Հոմինգ արկղը

Չնայած նրան, որ այս նախագիծը օգտագործում է հետընթաց շարժիչ, որը նորմալ պայմաններում բարձր ճշգրտությամբ վերադառնում է իր սկզբնական դիրքին, սխալ է, եթե սխալ տեղի ունենա, տնային մեխանիզմ ունենալը: Նախագիծն այնպիսին, ինչպիսին կա, չունի տնային մեխանիզմ, բայց այն իրականացնելը բավականին պարզ է: Դրա համար տուփի սկզբնական դիրքում մեխանիկական անջատիչ պետք է ավելացվի այնպես, որ երբ տուփը հարվածում է անջատիչին, նա իմանա, որ այն գտնվում է իր տան դիրքում:

Stepper վարորդ DRV8825 Tuning

Քայլակիր վարորդը պահանջում է կարգաբերում ՝ քայլող շարժիչի հետ աշխատելու համար: Դա արվում է փորձարարական եղանակով ՝ պոտենցիոմետրը (պտուտակը) պտտելով DRV8825 չիպի վրա, որպեսզի համապատասխան քանակությամբ հոսանք մատակարարվի շարժիչին: Այսպիսով, մի փոքր պտտելով պոտենցիոմետրի պտուտակը, մինչև շարժիչը չգործի նիհար կերպով:

Քայլ 9: Վարկեր

Այս նախագիծը կատարվել է որպես մեխատրոնիկայի դասընթացի մաս 2018-2019 ուսումնական տարվա ընթացքում Bruface Master- ի համար Université Libre de Bruxelles (ULB) - Vrije Universiteit Brussel (VUB):

Հեղինակներն են.

Մաքսիմ Դեքլիր

Լիդիա Գոմես

Մարկուս Պոդեր

Ադրիանա Պուենտես

Նարջիսե Սնուսսի

Հատուկ շնորհակալություն մեր ղեկավար Ալբերտ դե Բեյրին, ով մեզ օգնեց նաև ծրագրի ողջ ընթացքում:

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