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

1 կգ Sumobot կառուցում ՝ 6 քայլ
1 կգ Sumobot կառուցում ՝ 6 քայլ

Video: 1 կգ Sumobot կառուցում ՝ 6 քայլ

Video: 1 կգ Sumobot կառուցում ՝ 6 քայլ
Video: Նիհարում ենք 1 կգ 1 օրում, հրաշք արագ դիետա 2024, Հունիսի
Anonim
1 կգ Sumobot Build
1 կգ Sumobot Build

Այս հրահանգը ձեզ կառաջնորդի 1 կիլոգրամանոց սումոբոտի նախագծման և կառուցման գործընթացում:

Բայց նախ, մի փոքր նախապատմություն այն մասին, թե ինչու որոշեցի գրել սա: Ես պատրաստվում էի մրցույթի համար վերանորոգել իմ հին սումոբոտը, երբ հասկացա, որ երբեք սումոբոտ պատրաստելու հրահանգ չեմ պատրաստել: Ես անցյալ տարի հանգիստ էի Instructables- ում, ուստի որոշեցի, որ այս Instructable- ով կվերադառնամ, թե ինչպես կառուցել 1 կգ քաշային սումոբոտ:

Նախ ձեզանից շատերը կհարցնեն. Ի՞նչ է սումոբոտը:

Հիմնականում սումոբոտը մի տեսակ ռոբոտ է, որն օգտագործվում է սումոբոտի կամ ռոբոտ-սումոյի մրցումների ժամանակ: Ինչպես անունն է հուշում, նպատակը սումո -ըմբշամարտի նման միմյանց ռինգից դուրս մղելն է: Սումոբոտը ինքնին նախագծված է մեկ այլ սումոբոտի ռինգից դուրս մղելու միակ նպատակով: Այս հրահանգի սումոբոտը 1 կիլոգրամ է: Կան, այնուամենայնիվ, այլ քաշային կարգեր, ինչպիսիք են 500 գրամը և 3 կիլոգրամը:

Անհրաժեշտ հմտություններ

  • Computerանոթություն CAD- ին (համակարգչային օգնությամբ դիզայն)
  • Oldոդման
  • Programրագրավորում Arduino- ում

Այս նախագծի համար շատ հմտություններ պետք չեն: Պարզապես CAD- ի հետ հարմարավետ լինելը, զոդումը և ծրագրավորումը երկար ճանապարհ են անցնում: Մի վախեցեք, թե ինչպես է հնչում համակարգչային օգնությամբ դիզայնի բարդ ձևը: Autodesk- ը տրամադրում է անվճար համապարփակ դասընթացներ իրենց իսկ ծրագրակազմի վերաբերյալ (ես ինքս օգտագործում եմ Fusion 360 -ը) և դա չափազանց օգտակար է ճոպանները սովորող սկսնակների համար: Ինձ համար ամենակարևորը սովորելու պատրաստակամությունն ու պատրաստակամությունն է, և, իհարկե, ճանապարհին զվարճանալը:

Սրանով, եկեք սկսենք:

Պ. Ս. Այս Instructable- ը նույնպես մտնում եմ Make it Move մրցույթում: Եթե կարծում եք, որ այս հրահանգը հիանալի է, խնդրում եմ քվեարկեք նաև իմ օգտին: (Ես շապիկ եմ ուզում, իրոք հիանալի տեսք ունի:))

Քայլ 1: Մասերի ցուցակ

Մասերի ցուցակ

0.090 "6061 ալյումինե թերթ - 12" x 12 "(կամ ցանկացած 0.090" /2.2 մմ ալյումինե թերթ, որը կարող է լինել CNC'd. Ես ընտրեցի 6061 -ը, քանի որ այն կօգտագործվեր հիմնական մարմնի համար, իսկ 6061 -ը ունի բավականին մեծ ուժ)

0.5 մմ ալյումինե թերթ - 12 "x 12" (allանկացած խառնուրդ կաշխատեր. Սա միայն վերին ծածկույթի և սայրի համար է: Ես օգտագործել եմ պահեստային ալյումինի մնացորդներ)

5 մմ ալյումինե թիթեղ (Կրկին, ցանկացած համաձուլվածք կգործեր: Իմը 7075 ալյումինի մնացորդ էր):

2 x 12V DC բարձր պտտող շարժիչ (ցանկացած բարձր պտտող շարժիչ կաշխատի, օրինակ ՝ սա Amazon- ից):

2 x անիվի եզր (Կրկին, ցանկացած անիվի եզրը կաշխատեր ՝ կախված ձեր շարժիչից: Եթե ունեք 5 մմ շարժիչի լիսեռ, այս անիվները լավ կաշխատեն: Իմն իրականում իմ ունեցած հին սիլիկոնե անիվներն են)

4 IR հեռավորության սենսորներ (ես օգտագործում եմ Sharp IR հեռավորության սենսորներ, որոնք կարելի է ձեռք բերել բազմաթիվ խանութներից, օրինակ ՝ սա Pololu- ից և սա Sparkfun- ից):

2 IR սենսորներ (ես այստեղ նորից մի քանիսը ստացա Sparkfun- ից):

1 միկրոկառավարիչ տախտակ (ես օգտագործում եմ ATX2 միայն այն պատճառով, որ այն պահանջվում է: Սովորական Arduino Uno- ն իրականում ավելի լավ կլիներ օգտագործման հեշտության համար):

1 3S լիթիումի պոլիմերային մարտկոց (LiPo. 3S LiPos- ը 12 վոլտ է: 800 -ից մինչև 1400 մահ հզորություն կաշխատի):

1 Շարժիչի վարորդ (Կրկին, դա կախված է նրանից, թե որքան էներգիա կարող է գրավել ձեր շարժիչը: Սա ուղղակիորեն անցնում է Arduino Uno- ի գագաթին և կարող է ապահովել մինչև 5 Ա հոսանք):

Հաղորդալարեր, մալուխներ և միակցիչներ (Սենսորները տախտակին միացնելու և նոութբուքի հետ միացնելու համար):

M3 պտուտակներ և ընկույզներ

Էպոքսիդ

Ստվարաթուղթ

Նոթբուք (տախտակը ծրագրավորելու համար)

Գործիքներ, ինչպիսիք են մկրատը, մետաղալարերը և զոդման երկաթը:

Քայլ 2: Շասսիի հավաքում

Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում
Շասսի հավաքում

Շասսիի նախագծման համար ես օգտագործել եմ Fusion 360- ը ՝ ամպի մեջ աշխատող 3D CAD/CAM ծրագրակազմը: Autodesk- ն այստեղ տալիս է գեղեցիկ ձեռնարկներ: Ես սովորեցի հիմնականում տեսանյութերը դիտելուց, այնուհետև ինքս փորձելուց: Ես չեմ փորձի ձեզ սովորեցնել, թե ինչպես օգտագործել Fusion 360; Ես թույլ կտամ մասնագետներին անել իրենց գործը:

Դիզայնն ինքնին բաղկացած է մեկ հիմնական հիմքից, մեկ սայրից, մեկ վերին ծածկից, երկու շարժիչային փակագծերից և երկու (կամ չորս) եռաչափ տպիչներից պատրաստված փակագծերից: Հիմնական հիմքը 2.2 մմ ալյումին է, շարժիչի փակագծերը ՝ 5 մմ ալյումին, սայրը ՝ 0.5 մմ ալյումին, իսկ վերևի ծածկը կարող է լինել 0.5 մմ ալյումին կամ սովորական ստվարաթուղթ: Ես ստվարաթուղթ էի օգտագործում, քանի որ ալյումինը կշռում էր մի քանի գրամ ավելի, և ես 1 կգ -ի սահմանը գերազանցում էի 10 գրամով: Մյուս կողմից, 3D տպված փակագծերը տպված են ABS- ով `50% լցված:

Ալյումինի պատրաստման նախագծերը արտահանվում էին.dxf ֆայլերի մեջ և ուղարկվում էին Լազերային կտրող տեղական ընկերությանը ՝ այստեղ ՝ Ֆիլիպիններում: Մինչդեռ 3D տպված մասերը արտահանվում էին STL և կրկին ուղարկվում տեղական 3D տպագրության ընկերություն:

Հրաժարում. Ես նորից օգտագործեցի իմ հին սումոբոտը, որն այլևս չի աշխատում, բայց օգտագործում է այս դիզայնը, ուստի որոշ մասեր արդեն հավաքված են լուսանկարներում: Այնուամենայնիվ, ես ձեզ կներկայացնեմ բոլոր կտորները միասին հավաքելու գործընթացով:

Մասերը կտրվելուց հետո կարող եք կամ սկսել վերևի կափարիչով, ամրակապով և սայրով, կամ շարժիչի փակագծով:

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

Եռաչափ տպագրված ամրակն ամրացվում է առջևում ՝ օգտագործելով պտուտակներ և օգտագործվում է բառացիորեն սայրը ամրացնելու համար: Սայրը կպչված է հիմքին ՝ օգտագործելով էպոքսիդ: Շեղբի պտուտակով անցքեր և հիմնական հիմքը օգտագործվում է դիրքը ուղղորդելու և համոզվելու համար, որ այն ճշգրիտ միացված է: Հիմնական հիմքի վրա կան շրջանաձև անցքեր, որոնք կարող եք լցնել էպոքսիդով ՝ սայրը հիմնական հիմքին կպցնելու համար: Փոսերի մեծ մակերեսը թույլ է տալիս էպոքսիդին ավելի լավ բռնել սայրը և թույլ չտալ, որ այն պոկվի հիմքից: IR սենսորը կարող է կպչել սայրի ներքևի մասում ՝ օգտագործելով էպոքսիդ, ինչպես լուսանկարներում: Համոզվեք, որ սենսորի ստորին հատվածը հատակին ուղղահայաց է:

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

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

Քայլ 3: Էլեկտրոնիկա

Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա
Էլեկտրոնիկա

Հաջորդը էլեկտրոնիկան է, ինչպիսիք են տվիչները, շարժիչի վարորդը և տախտակը:

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

Իմ միկրոկառավարիչը նույնպես կիսում է էներգիայի նույն աղբյուրը, ինչ շարժիչի վարորդները, այնպես որ ես ստիպված էի լարերը ուղղակիորեն զոդել շարժիչների վարորդների վրա `XT-60 միակցիչի հաղորդալարերին:

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

Հնարավոր է նաև ձեզ անհրաժեշտ լինի լարերը միացնել միկրոկոնտրոլերը սենսորներին միացնելու համար, ինչպես և ես: Սենսորը ունի իր սեփական միակցիչը. ոմանք օգտագործում են JST, իսկ ոմանք օգտագործում են servo վերնագրեր: Սովորական Arduino- ով դուք կարող եք jumper մալուխներ կպցնել Arduino- ին, այնուհետև մալուխի մյուս ծայրը կպցնել սենսորից դուրս եկող մալուխին: Գործընթացը նույն կերպ է գործում այլ միկրոկոնտրոլերների հետ: Միկրոկոնտրոլերից եկող լարերը կպչում են սենսորից եկող լարերին:

Քայլ 4: Բոլոր մասերը միասին դնելը

Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը
Բոլոր մասերը միասին դնելը

Սենսորները և միկրոկառավարիչը անցնում են վերին ափսեի վրա: Ես IR հեռավորության սենսորները տեղադրեցի ստվարաթղթի վրա, որպեսզի այն բարձրացնեմ միկրոկոնտրոլերից, քանի որ սենսորի հետևի լարերը բախվում են միկրոկոնտրոլերի հետ: Ուշադրություն դարձրեք, թե ինչպես են լուսանկարում ընդամենը երեք տվիչ: Միայն վերջին պահին որոշեցի ռոբոտի հետևի մասում ավելացնել չորրորդ հեռավորության սենսորը: Unfortunatelyավոք, այլևս տարածք չկար, այնպես որ ես ստիպված էի այն տեղադրել հենց հիմնական բազայի վրա ՝ շարժիչների հետևում:

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

Այն բանից հետո, երբ ամեն ինչ ամրացված է վերին ափսեի վրա, երկկողմանի ժապավենով կպցրեք այն շարժիչների վերին հատվածին:

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

Երբ ամեն ինչ լարված լինի, տեղադրեք լիպոսը շարժիչների և սայրի միջև ընկած հատվածում, այնուհետև միացրեք ձեր միկրոկոնտրոլերը և վարորդները, որպեսզի այն առաջին անգամ լուսավորվի:

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

Երբ ամեն ինչ հավաքվի, կա մեկ վերջին բան. Ծրագրավորել ձեր ռոբոտին:

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

Ձեզ օգնելու համար ահա իմ ծրագրի հիմնական հոսքագիծը:

եթե առջևում ինչ -որ մեկը շատ մոտ է, գնա ամբողջ հզորությամբ, եթե ձախ կամ աջ սենսորը հայտնաբերում է սպիտակ գիծ, հետ գնա, ապա շրջվի, եթե ձախ կամ աջ հեռավորության սենսորը ինչ -որ բան հայտնաբերի, շրջվի այդ ուղղությամբ, եթե հետևի սենսորը ինչ -որ բան հայտնաբերի, շրջվի այդ ուղղությամբ, եթե ինչ -որ մեկը շատ առաջ, գնա առաջ, շարունակիր առաջ շարժվել

Ահա ամբողջ ծրագիրը, եթե ձեզ հետաքրքրում է.

#ներառում

// A5 - ձախ գույնի տվիչ // A4 - աջ գույնի տվիչ // A6 - հետևի հեռավորության ցուցիչ // A2 - ձախ հեռավորության սենսոր // A3 - աջ հեռավորության սենսոր // A1 - առջևի հեռավորության տվիչ // շարժիչ 1 - աջ // շարժիչ 2 - ձախ դատարկության կարգավորում () {uart1_set_baud (9600); Serial1.write (64); Serial1.write (192); ԼԱՎ(); ազդանշան (2); setTextColor (GLCD_BLUE); glcd (1, 0, «Նախնականացված»); ուշացում (4900); }

դատարկ շրջան () {

int frontDistanceValue = analogRead (A1); int leftDistanceValue = analogRead (A2); int rightDistanceValue = analogRead (A3); int rearDistanceValue = analogRead (A6); int leftColorValue = digitalRead (A5); int rightColorValue = digitalRead (A4); եթե (frontDistanceValue> 250) {// ինչ -որ մեկը հենց առջևում, առավելագույն հզորությունը Serial1.write (127); Serial1.write (128); } else if (leftColorValue == 0) {// հպված եզրին // հակառակ Serial1.write (1); Serial1.write (255); ուշացում (400); Serial1.write (1); Serial1.write (128); ուշացում (300); } else if (rightColorValue == 0) {// հպված եզրին // հակառակ Serial1.write (1); Serial1.write (255); ուշացում (400); Serial1.write (127); Serial1.write (255); ուշացում (300); } else if (frontDistanceValue> 230) {// kinda far front Serial1.write (127); Serial1.write (128); } else if (leftDistanceValue> 250) {// թեքել ձախ Serial1.write (127); Serial1.write (255); ուշացում (450); } else if (rightDistanceValue> 250) {// թեքել աջ Serial1.write (1); Serial1.write (128); ուշացում (450); } else if (rearDistanceValue> 150) {// հետևի մոտ Serial1.write (1); Serial1.write (128); ուշացում (1050); } else if (frontDistanceValue> 180) {// առջևից հեռու Serial1.write (127); Serial1.write (128); } else {Serial1.write (100); Serial1.write (155); }}

Քայլ 6: Լուսանկարներ

Նկարներ
Նկարներ
Նկարներ
Նկարներ
Նկարներ
Նկարներ
Նկարներ
Նկարներ

Ներկայացված են պատրաստի սումոբոտի մի քանի լուսանկարներ:

Հուսով եմ, որ դուք ինչ -որ բան սովորեցիք այս ուսանելիից: Եթե ձեզ դուր է գալիս այս ուղեցույցը, խնդրում եմ քվեարկեք ինձ համար Make it Move մրցույթում: Եթե ոչ, ես ուրախ կլինեմ ուղղել այն ամենը, ինչը կարող է ավելի լավ դարձնել այս ուղեցույցը:

Ուրախ ուսուցում:

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