Պտուտակների տեսակավորման մեքենա ՝ 7 քայլ (նկարներով)
Պտուտակների տեսակավորման մեքենա ՝ 7 քայլ (նկարներով)
Anonim
Image
Image
Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը

Մի օր լաբորատորիայում (FabLab Moscow) ես տեսա իմ գործընկերոջը, որը զբաղված էր պտուտակների, ընկույզների, օղակների և այլ սարքավորումների ամբողջական տուփը տեսակավորելով: Կանգնելով նրա կողքին ՝ ես մի վայրկյան դիտեցի և ասացի. «Դա կատարյալ աշխատանք կլիներ մեքենայի համար»: Google- ում արագ նայելուց հետո ես տեսա, որ տարբեր հնարամիտ մեխանիկական համակարգեր արդեն գոյություն ունեին, բայց դրանք չկարողացան լուծել մեր խնդիրը, քանի որ մեր տուփում կա մասերի լայն տեսականի: Pureուտ մեխանիկական ինչ -որ բան անելը բավականին կբարդացնի: Ավելի «ռոբոտային» համակարգին անցնելու մյուս հիմնավոր պատճառն այն էր, որ դրա համար կպահանջվեին բոլոր այն տեխնիկական ոլորտները, որոնք ես սիրում եմ ՝ մեքենայական տեսողություն, ռոբոտային ձեռքեր և էլեկտրամեխանիկական շարժիչներ:

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

Այս նախագիծը դեռ մշակման փուլում է, բայց այժմ ես ստանում եմ արժանապատիվ արդյունքներ, որոնք ցանկանում եմ կիսել ձեզ հետ:

Քայլ 1: Գործիքներ և նյութեր

Գործիքներ

  • Լազերային կտրիչ
  • Անկյուն սրող
  • Սղոցող սղոց
  • Պտուտակահան
  • Ամրացուցիչներ (որքան շատ, այնքան լավ)
  • Տաք սոսինձ ատրճանակ

Նյութական

  • Նրբատախտակ 3 մմ (1 մ 2)
  • Նրբատախտակ 6 մմ (300 x 200 մմ)
  • Սպիտակ կիսաթափանցիկ պլաստիկ 4 մմ (500 x 250 մմ)
  • Համակարգիչ (փորձում եմ տեղափոխվել ազնվամորի պի)
  • Տեսախցիկ (Logitech HD T20p, յուրաքանչյուրը պետք է աշխատի)
  • Arduino 4 PWM ելքով / անալոգային գրությամբ (երեք սերվո և էլեկտրամագնիսական կծիկ) (ես օգտագործում եմ ProTrinket 5V)
  • Նախատիպերի տախտակ
  • Էլեկտրոնային մետաղալար (2 մ)
  • Անցումային տրանզիստոր (ցանկացած տրանզիստոր, որը կարող է վարել 2W կծիկ) (ես ունեմ S8050)
  • Դիոդ (Շոտկին ավելի լավ է)
  • 2 դիմադրություն (100Ω, 330Ω)
  • Սնուցման աղբյուր 5V, 2A
  • Սերվո միկրո (լայնություն 13 երկարություն 29 մմ)
  • Ստանդարտ 2 servos (լայնությունը 20 երկարություն 38 մմ)
  • Փայտի սոսինձ
  • 4 մետաղական անկյուն պտուտակներով (ըստ ցանկության)
  • Փայտե ձող (30 x 20 x 2400)
  • Տաք սոսինձ
  • Էմալացված պղնձե մետաղալար (0.2, 0.3 մմ տրամագիծ, 5 մ) (հին տրանսֆորմատոր):
  • Փափուկ երկաթ (16 x 25 x4 մմ)
  • 3 լամպ վարդակով
  • Միակցիչ ժապավեն (230V, 6 տարր)
  • Էլեկտրական մետաղալար վարդակով (230V) (2 մ)
  • Առանցքակալ 625ZZ (ներքին տրամագիծը ՝ 5 մմ, արտաքին տրամագիծը ՝ 16 մմ, բարձրությունը ՝ 5 մմ)
  • Առանցքակալ 608ZZ (ներքին տրամագիծը ՝ 8 մմ, արտաքին տրամագիծը ՝ 22 մմ, բարձրությունը ՝ 7 մմ)
  • Առանցքակալ rb-lyn-317 (ներքին տրամագիծը ՝ 3 մմ, արտաքին տրամագիծը ՝ 8 մմ, բարձրությունը ՝ 4 մմ)
  • Timամկետային գոտի GT2 (2 մմ սկիպիդար, 6 մմ լայնություն, 650 մմ)
  • Պտուտակ M5 x 35
  • Պտուտակ M8 x 40
  • 8 պտուտակ M3 x 15
  • 4 պտուտակ M4 x 60
  • 6 փայտյա պտուտակներ 2 x 8 մմ
  • Պտուտակ M3 x 10
  • Ռելեային տախտակի մոդուլ (ուղղակիորեն վերահսկելի է վերահսկիչի կողմից)

Քայլ 2: Պատրաստեք լուսատուփը

Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը
Պատրաստեք լուսատուփը

Լուսատուփն ունի չորս հիմնական մաս և որոշ ամրակներ: Ներբեռնեք այս մասերը և սոսնձեք դրանք, բացառությամբ կիսաթափանցիկ պլաստիկի: Ես սկսեցի փայտե կես սկավառակից և կոր պատից: Չորացման ընթացքում դուք պետք է պատը ձգեք սկավառակի շուրջ: Ես օգտագործեցի սեղմակներ `ապահովելու կես սկավառակը և կոր պատի հիմքը: Հետո ինչ -որ ժապավեն պահում է պատը կես սկավառակի շուրջը: Երկրորդ, ես կպցրեցի մի եզր, որպեսզի դիմանամ կիսաթափանցիկ աշխատանքային սեղանին: Ի վերջո, հարթ պատը ավելացվում է փայտե (ներսում) և մետաղական (դրսից) աջ եզրերով:

Տուփը լրացնելուց հետո պարզապես պետք է ավելացնել լամպերը և միացնել լարն ու վարդակը միակցիչի ժապավենով: Կտրեք 230V լարերը, որտեղ ձեզ հարմար է և տեղադրեք ռելեի մոդուլը: Ռելեն (230 Վ!) Փակեցի փայտե տուփի մեջ `անվտանգության նկատառումներից ելնելով:

Քայլ 3. Կատարեք ռոբոտի ձեռքը

Կատարեք ռոբոտի թևը
Կատարեք ռոբոտի թևը
Կատարեք ռոբոտի թևը
Կատարեք ռոբոտի թևը
Կատարեք ռոբոտի թևը
Կատարեք ռոբոտի թևը

Ներբեռնեք մասերը և կտրեք դրանք: Սերվոմոտորի վրա գոտին ամրացնելու համար ես օգտագործեցի թղթե ամրակներ: Երկու մասի գոտիները մեխեցի սերվոմոտորին և մի քիչ սոսինձ ավելացրեցի `համոզվելու համար, որ ոչինչ չի շարժվում:

Գծային ուղղահայաց ուղեցույցի համար մխոցը պետք է մանրացնել `ցանկացած խցանումից խուսափելու համար: Այն պետք է սահուն սահել: Հավաքվելուց հետո բարձրությունը կարող է ճշգրտվել `ուղղությունը ցանկալի երկարությամբ կտրելով: Այնուամենայնիվ, պահեք այն հնարավորինս երկար ՝ կանխելու համար կենտրոնական կողպումը: Մխոցը պարզապես սոսնձված է թեւի արկղին:

Առանցքակալները փակված են ճախարակների ներսում: Մեկ ճախարակ պատրաստվում է նրբատախտակի երկու շերտերից: Այս երկու շերտերը պարտադիր չէ, որ դիպչեն միմյանց, այնպես որ դրանք սոսնձելու փոխարեն դրանք կպցրեք իրենց համապատասխան թևի ափսեին: Վերին և ներքևի թևերի թիթեղները պահպանվում են չորս M3 x 15 պտուտակով և ընկույզներով: Առաջին առանցքը (մեծը) պարզապես M8 x 40 պտուտակն է, իսկ երկրորդը (փոքրը) M5 x 35 պտուտակը: Թևերի մասերի համար օգտագործեք ընկույզներ որպես անջատիչներ և պահարաններ:

Քայլ 4: Կատարեք էլեկտրամագնիս

Կատարեք էլեկտրամագնիս
Կատարեք էլեկտրամագնիս
Կատարեք էլեկտրամագնիս
Կատարեք էլեկտրամագնիս
Կատարեք էլեկտրամագնիս
Կատարեք էլեկտրամագնիս

Էլեկտրամագնիսը պարզապես փափուկ երկաթե միջուկ է, որի շուրջը էմալապատ մետաղալարեր են: Փափուկ երկաթե միջուկը ուղղորդում է մագնիսական դաշտը ցանկալի վայրում: Էմալապատ մետաղալարերի պատուհանում հոսանքը ստեղծում է այս մագնիսական դաշտը (այն համաչափ է): Բացի այդ, որքան ավելի շատ շրջադարձ կատարեք, այնքան ավելի շատ մագնիսական դաշտ ունեք: Ես նախագծեցի U- ձևի երկաթ, որը կենտրոնացնում էր մագնիսական դաշտը բռնած պտուտակների մոտ և մեծացնում նախապատվության ուժը:

U- ձևը կտրեք փափուկ երկաթի կտորի (բարձրությունը ՝ 25 մմ, լայնությունը ՝ 15 մմ, երկաթի խաչմերուկը ՝ 5 x 4 մմ): Շատ կարևոր է հեռացնել սուր եզրերը ՝ U- ձևի երկաթի շուրջ մետաղալարերը ոլորելուց առաջ: Carefulգույշ եղեք, որ ոլորման միևնույն ուղղությունը պահպանվի (մասնավորապես, երբ մյուս կողմն եք ցատկում, դուք պետք է փոխեք պտտման ուղղությունը ձեր տեսանկյունից, բայց պահում եք նույն ուղղությունը U ձևի երկաթե տեսանկյունից) (https://hy.wikipedia.org/wiki/Right-hand_rule) Մինչև կծիկը միացում դեպի շղթա, ստուգեք կծիկի դիմադրությունը բազմիմետրով և հաշվարկեք հոսանքը Օմի օրենքով (U = RI): Ես ավելի քան 200 պտույտ ունեմ իմ կծիկի վրա: Ես առաջարկում եմ ձեզ քամել, մինչև U ձևի ներսում ընդամենը 2 մմ տարածք ունենաք:

Փայտե ամրակ է պատրաստվել, իսկ U- ձևի երկաթը ամրացվել է տաք սոսինձով: Երկու ճեղքվածք թույլ է տալիս ամրացնել մետաղալարը երկու ծայրերում: Վերջապես, երկու կապում մեխված են փայտե ամրակի վրա: Նրանք խաչմերուկ են դնում էմալապատ կոպերի և էլեկտրոնային մետաղալարերի միջև: Կծիկի ցանկացած վնասը կանխելու համար ես ամբողջ սալիկի շուրջ ավելացրեցի տաք սոսինձի շերտ: Վերջին նկարի վրա կարող եք դիտել փայտե մաս, որը փակում է U- ձևի երկաթը: Նրա գործառույթն է կանխել U- ձևի երկաթի ներսում ցանկացած պտուտակի խրվելը:

Էմալապատ մետաղալարերը վերցված են կոտրված տրանսֆորմատորից: Եթե դա անում եք, ստուգեք, որ մետաղալարերը կոտրված չեն կամ օգտագործված հատվածում կարճ միացում չկա: Հեռացրեք ժապավենը ֆերոմագնիսական միջուկի վրա: Դանակով մեկ առ մեկ անջատեք երկաթի բոլոր շերտերը: Այնուհետև հանեք կծիկի ժապավենը և վերջապես հանեք էմալապատ մետաղալարով բուդը: Երկրորդային ոլորուն (մեծ տրամագծի կծիկ) է օգտագործվել (տրանսֆորմատորի մուտք 230V, ելք 5V-1A):

Քայլ 5: Կատարեք շրջանը

Կատարեք շրջանը
Կատարեք շրջանը
Կատարեք շրջանը
Կատարեք շրջանը

Նախատիպերի տախտակի վրա ես կառուցեցի վերը նշված սխեման: Էլեկտրամագնիսական կծիկն անջատելու համար օգտագործվել է երկբևեռ տրանզիստոր (S8050): Ստուգեք, որ ձեր տրանզիստորը կարող է կարգավորել նախորդ քայլում հաշվարկված հոսանքը: MOSFET- ը, հավանաբար, ավելի հարմար է այս իրավիճակում, բայց ես վերցրեցի այն, ինչ ունեի ձեռքին (և ես ուզում էի ցածր դիմադրություն ունենալ): Կարգավորեք երկու ռեզիստորները ձեր տրանզիստորին:

Վերոնշյալ սխեմատիկայում VCC և GND պատկերակը միացված են իմ սնուցման աղբյուրի + և - ին: Սերվոմոտորներն ունեն երեք լար `Signal, VCC և GND: Վերահսկիչին միացված է միայն ազդանշանային լարը, մյուսները միացված են սնուցման աղբյուրին: Կառավարիչը սնուցվում է ծրագրավորողի մալուխից:

Քայլ 6: Կոդ

Վերջին, բայց ոչ պակաս կարևոր. Կոդը. Այն կգտնեք այստեղ ՝

Կա մեկ ծրագիր վերահսկիչի համար (arduino տեսակը) և մեկ այլ, ով աշխատում է համակարգչով (հուսով եմ, շուտով ազնվամորու վրա): Կարգավորիչի կոդը պատասխանատու է հետագծի պլանավորման համար, իսկ համակարգչում եղածը կատարում է պատկերի մշակումը և ստացված դիրքն ուղարկում վերահսկիչին: Պատկերի մշակումը հիմնված է OpenCV- ի վրա:

Համակարգչի ծրագիրը

Programրագիրը պատկեր է վերցնում վեբ -տեսախցիկով և լույսերով, հայտնաբերում է աշխատանքային սեղանի կիսաթափանցիկ կենտրոնն ու շառավիղը և ուղղում պատկերի վերջնական ռոտացիան: Այս արժեքներից ծրագիրը հաշվարկում է ռոբոտի դիրքը (Մենք գիտենք ռոբոտի դիրքն ըստ ափսեի): Programրագիրը օգտագործում է OpenCV- ի բլբային դետեկտորի գործառույթը `պտուտակները և պտուտակները հայտնաբերելու համար: Տարբեր տեսակի բլբերը զտվում են առկա պարամետրերով (մակերես, գույն, շրջանաձևություն, ուռուցիկություն, իներցիա) `ցանկալի բաղադրիչն ընտրելու համար: Բլոբ դետեկտորի արդյունքն է ընտրված բլբերի դիրքը (պիքսելներով): Հետո ֆունկցիան այս պիքսելային դիրքերը վերածում է միլիմետրանոց դիրքերի ՝ թևի կոորդինատային համակարգում (ուղղանկյուն): Մեկ այլ գործառույթ հաշվարկում է յուրաքանչյուր թևի միացման պահանջվող դիրքը, որպեսզի էլեկտրամագնիսը ցանկալի դիրքում լինի: Արդյունքը բաղկացած է երեք անկյուններից, որոնք վերջապես ուղարկվում են վերահսկիչին:

Վերահսկիչի ծրագիրը

Այս ծրագիրը ստանում է միացման անկյունները և շարժում է թևի մասերը `հասնելով այդ անկյուններին: Այն նախ հաշվարկում է յուրաքանչյուր միացման առավելագույն արագությունը, որպեսզի շարժումը կատարվի նույն ժամանակամիջոցում: Այնուհետև այն ստուգում է, թե երբևէ հասել են այս առավելագույն արագություններին, այս դեպքում շարժումը հետևելու է երեք փուլերի ՝ արագացում, հաստատուն արագություն և դանդաղում: Եթե առավելագույն արագությունը չհասնի, շարժումը կհետեւի ընդամենը երկու փուլին `արագացում և դանդաղում: Հաշվարկվում են նաև այն պահերը, որոնցում այն պետք է անցնի մի փուլից մյուսը: Վերջապես, քայլը կատարվում է. Պարբերական պարբերականությամբ հաշվարկվում և ուղարկվում են նոր իրական անկյունները: Եթե ժամանակն է անցնել բույնի փուլին, ապա կատարումը շարունակվում է հաջորդ փուլին:

Քայլ 7: Վերջնական հպումներ

Վերջնական հպումներ
Վերջնական հպումներ

Շրջանակը

Տեսախցիկը պահելու համար շրջանակ է ավելացվել: Ես նախընտրեցի այն պատրաստել փայտով, քանի որ այն էժան է, հեշտ է աշխատել, հեշտ է գտնել, էկոլոգիապես մաքուր է, հաճելի է ձևի մեջ և մնում է այն ոճին, որով սկսել էի: Տեսախցիկով կատարեք պատկերի փորձարկում `որոշելու, թե ինչ բարձրություն է անհրաժեշտ: Նաև համոզվեք, որ այն դարձնեք կոշտ և ամրագրված, քանի որ ես նկատեցի, որ ստացված դիրքը շատ զգայուն է տեսախցիկի ցանկացած շարժման նկատմամբ (առնվազն աշխատանքային սեղանի ավտոմատ հայտնաբերման գործառույթը ավելացնելուց առաջ): Տեսախցիկը պետք է տեղադրվի աշխատասեղանի կենտրոնում և, իմ դեպքում, կիսաթափանցիկ սպիտակ մակերեսից 520 մմ հեռավորության վրա:

Արկղերը

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

Ապագա բարելավումներ

  • Այս պահին ժամանակացույցը փակված է փայտե մասով, սակայն այս լուծումը սահմանափակում է այն տարածքը, որին կարող է հասնել ձեռքը: Ես պետք է ավելի շատ տարածք ավելացնեմ մեծ սերվոյի և թևի առանցքի միջև կամ ստեղծեմ ավելի փոքր փակման համակարգ:
  • Տուփերը գտնվում են աշխատասեղանի հարթ եզրով, եթե այն դնեմ կիսաշրջանի եզրագծի երկայնքով, ես շատ ավելի մեծ տարածք կունենամ տուփեր ավելացնելու և բաղադրիչների բազմաթիվ տեսակներ տեսակավորելու համար:
  • Այժմ կաթիլների հայտնաբերման ֆիլտրը բավական է մասերը տեսակավորելու համար, բայց քանի որ ցանկանում եմ ավելացնել տուփերի քանակը, ինձ պետք կգա ընտրողականության բարձրացումը: Այս պատճառով ես կփորձեմ ճանաչման տարբեր մեթոդներ:
  • Այժմ իմ օգտագործած սերվոմոտորները չունեն բավականաչափ միջակայք, որպեսզի հասնեն բոլոր կես սկավառակի աշխատանքային սեղանին: Ես պետք է փոխեմ սերվերը կամ փոխեմ նվազեցման գործոնը տարբեր ճախարակների միջև:
  • Որոշ խնդիրներ բավականին հաճախ են հանդիպում, ուստի հուսալիության բարձրացումն առաջնահերթ խնդիր է: Դրա համար ես պետք է դասակարգեմ հարցերի տեսակը և կենտրոնանամ ավելի հավանականի վրա: Սա արդեն այն է, ինչ ես արեցի փայտի փոքր կտորի հետ, որը փակում է U- ձևի երկաթը և ավտոմատ հայտնաբերման կենտրոնի ալգորիթմը, բայց այժմ հարցերն ավելի են բարդանում լուծել:
  • Ստեղծեք PCB վերահսկիչի և էլեկտրոնային սխեմայի համար:
  • Տեղափոխեք կոդը Raspberry pi ՝ առանձին կայան ունենալու համար
Կազմակերպչական մրցույթ
Կազմակերպչական մրցույթ
Կազմակերպչական մրցույթ
Կազմակերպչական մրցույթ

Երկրորդ մրցանակ կազմակերպչական մրցույթում

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