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

Arduino Robotic Arm: 5 քայլ
Arduino Robotic Arm: 5 քայլ

Video: Arduino Robotic Arm: 5 քայլ

Video: Arduino Robotic Arm: 5 քայլ
Video: Robot Arm & Controller - Building the DFRobot 5 DOF Robot Arm 2024, Նոյեմբեր
Anonim
Image
Image
Arduino Robotic Arm
Arduino Robotic Arm
Arduino Robotic Arm
Arduino Robotic Arm

Քանի որ սա իմ առաջին նախագիծն է Arduino- ի մեկնարկային հանդերձանքի 15 ձեռնարկից հետո, դրա իրական նպատակն է ստանալ որոշ քննադատներ, խորհուրդներ, առաջարկություններ, գաղափարներ բոլորից, ովքեր ինձանից ավելին գիտեն:

Այս նախագիծը ռոբոտացված թևի մասին է ՝ 4 դոֆով և բռնելով: Արժանապատիվ ցածր բյուջեով. Կառուցվածքը կտրել է ընկերը, 4 սերիան 30 եվրո էր, 2 ջոյսթիկը ՝ 4 եվրո, պտուտակներ և այլն:) արդեն ներառված էր իմ մեկնարկային հավաքածուի մեջ: Ընդհանուր 40-45 եվրոյով, որոնք կազմում են մոտ 45-50 ԱՄՆ դոլար (ձեռքի համար նախատեսված հանդերձանքի նույն գինը, բայց հե,յ, զվարճալի էր այն ինքս սարքելը (և երբեմն մեկ-մեկ ինչ-որ բան խառնելը) և մեքենայի նման հրահանգներին չհետևելը):

Քանի որ սա իմ առաջին նախագիծն էր և ուսանելի, ես մասնակցեցի «Առաջին անգամ հեղինակ» և մի քանի այլ մրցույթների, այնպես որ, եթե ձեզ դուր եկավ, քվեարկեք:)

Քայլ 1. Նախագծում և հավաքում

Սկզբում ինձ պետք էր կառուցվածք. Սա միանշանակ ամենաերկար մասն էր: Քանի որ ես չէի ուզում պատճենել և տեղադրել նախագիծը մեկ ուրիշից, որպես նախագիծ վերցրեցի ես և ես (և մի քանի ավելի հմուտ դասընկերներ, ովքեր իսկապես փրկեցին ինձ) սկսեց փոփոխել այն ըստ մեր կարիքների (տարբեր սերվերներ ՝ տարբեր ոլորող մոմենտով, քաշով և չափերով և այլն): Ես ստիպված էի այն կառուցել մի քանի անգամ, որոնցից յուրաքանչյուրը սխալ բան գտա, և մենք ստիպված եղանք մի քանի կտոր հետ բերել և նորից փորձել: Ես կցել եմ.dxf ֆայլը, եթե ցանկանում եք այն օգտագործել: Այնուհետև ես ստիպված էի գնել էլեկտրոնիկան Մասերի մեծ մասը ստանդարտ էին, դժվարը ՝ սերվոների ընտրությունն էր: Ես հաշվարկեցի պահանջվող ոլորող մոմենտ պտուտակի կանոնով, հետագայում ես փորձեցի ավելի ճշգրիտ հաշվարկ և պարզեցի, որ գուցե մի փոքր չափից ավելի էի գերակշռել: Ըստ երևույթին, 6 կգ/սմ-ը բավական կլիներ 2-րդ սերվոյի համար (հիմքից), իսկ իմը ապահովում է 9-11 կգ/սմ: Դե, սա ինձ որոշակի անվտանգություն է տալիս և հնարավորություն է տալիս մինչև 2 կգ բեռ բեռնել (ինչը անհնար է, բայց ինձ դուր է գալիս, որ տեխնիկապես դա կարող էի անել): Ես կարող էի նաև գնել տարբեր սերվերներ ՝ նվազելով ոլորող մոմենտը ՝ հիմքից հեռանալիս, բայց նույն վաճառողից նույն սերվերը գնելը ամենաէժան տարբերակն էր: Էներգամատակարարում. Arduino- ն միանշանակ բավարար չէր սերվերի համար, քանի որ յուրաքանչյուր mg995 ոչ ոքի 350 մԱ և microservo 9g- ը ձգում է 100 մԱ, ընդհանուր 350*4 +100 = 1500 մԱ: Այսպիսով, ես փրկեցի լիցքավորիչը (6V 1.5A) և դրան միացրեցի երկու լար: (եթե ձեզանից ոմանց կարող է անհրաժեշտ լինել իրական հրահանգներ, պարզապես հարցրեք մեկնաբանություններում, և ես կանեմ հնարավորը `քայլ առ քայլ ստեղծելու համար) ուղեցույց) Նյութերի ցանկ. Arduino (կամ ինչ-որ այլ բան ՝ այն կառավարելու համար, այն պետք է ունենա առնվազն 5 PWM)- ինչ-որ բան ապահովելու համար 5-6V և առնվազն 1.5A- 3x ps2- ի նման ջոյստիկներ- 4x TowerPro mg995 servos- 1x TowerPro 9g microservo (բռնելու համար) - Շատ ցատկող մետաղալարեր - Գրատախտակ*(ես օգտագործել եմ պտուտակներ և պտուտակներ, որպեսզի կարողանամ արագ հավաքել և ապամոնտաժել, հակառակ դեպքում գրեթե բոլորը կարող եք փոխարինել փայտամշակման պտուտակներով)

Քայլ 2: ԿՈԴ

Գաղափարը կայանում է նրանում, որ յուրաքանչյուր սերվո վերահսկվի ps2- ի նման ջիստիկի երկու առանցքներից մեկով: Կարծես թե յուրաքանչյուր ջոյստիկ ունի տարբեր «հանգստի արժեքներ» (արժեքը 0-1023-ի միջև, երբ այն դեռ գտնվում է) ինչպես y, այնպես էլ x առանցքի համար: դա խնդիր էր, քանի որ տարբերությունը փոքր էր (մեկը զրոյը y- ի վրա ունեցել է 623), և ես ուզում էի օգտագործել քարտեզի գործառույթը `0-1023-ից աստիճան փոխարկելու համար: Բայց քարտեզի գործառույթը կարծում է, որ մնացած արժեքը 1023/2 է: Որը բերեց յուրաքանչյուր servo շարժվող Arduino- ն միացնելուն պես, լավ չէր: Ես կարողացա շրջանցել սա ՝ ձեռքով գտնելով ընթերցման արժեքի և հանգստի յուրաքանչյուր տարբեր արժեքի միջև տարբերությունը (որը ես առանձին հաշվեցի յուրաքանչյուր ջոյսթիկի համար), այնուհետև դարձրեք ծածկագիրը ավելի կարճ և խելացի, ես նրան ստիպեցի կարդալ կարգավորման գործառույթի մնացած արժեքները և դրանք պահել որոշ փոփոխականների մեջ: Նոր ալգորիթմը հիմնված է աստիճանների աճի փոխակերպման վրա, բայց ես ուզում էի շատ փոքր քանակությամբ աստիճաններ իմ աճի համար, այնպես որ Ես ստիպված էի այն բաժանել հաստատունի. Ես փորձեցի շատ արժեքներ, մինչև վերջնական 200 -ը չստացվեց (ես կարող եմ պոտենցիոմետր ավելացնել ՝ ձեռքով այս արժեքը ցանկալիին փոխելու համար): Մնացած ծածկագիրը ենթադրաբար բավականին ստանդարտ է, չնայած գուցե ավելի էլեգանտ լինի աճի հաշվարկը առանձին գործառույթի մեջ դնելը:

Քայլ 3: ELECTRONICS:

ELECTRONICS
ELECTRONICS

Էլեկտրագծերը նույնն են, ինչ պատկերված է նկարում կամ ցնցող ֆայլում. Servos ազդանշան կապումներին. 5-6-9-10-11 և ջոյսթիք առանցք դեպի անալոգային կապում `A0-A1-A2-A3-A4: այն էր, որ ջոյսթիկները պետք է մատակարարվեին Arduino- ով, այլ ոչ թե այն լիցքավորիչով, որն օգտագործում եմ սերվերի համար: Հակառակ դեպքում servo- ն պարզապես խենթանում էր պատահականորեն այս ու այն կողմ շարժվելիս: Կարծում եմ, որ դա կարող է տեղի ունենալ, քանի որ, եթե ես դրանք մատակարարեմ լիցքավորիչով, Arduino- ն չի կարող ճշգրիտ ասել պոտենցիալ տարբերությունը, երբ դրանք տեղափոխում եմ, բայց նորից. Ես շատ նոր եմ էլեկտրոնիկայի մեջ, այնպես որ դա միայն ենթադրություն է: Arduino- ի գետնին և լիցքավորիչին միացնելը տախտակի միջոցով օգնեց կանխել պատահական և անսպասելի շարժումները, ենթադրաբար, ջիստիկների մատակարարման նման պատճառով:

Քայլ 4: ԱՌԱԻՆ ՇԱՐOՈՄ ԲԱՐՁՐԱՈՄԸ

ԱՌԱԻՆ ՇԱՐ GՈՄ ԵՆ ԲԱՐՁՐԱՈՄԸ
ԱՌԱԻՆ ՇԱՐ GՈՄ ԵՆ ԲԱՐՁՐԱՈՄԸ

Քանի որ յուրաքանչյուր ջոյսթիք կարող է վերահսկել 2 սերվո (1 առանցքի վրա), ինձ անհրաժեշտ է 3 սերվո ամբողջ ձեռքը կառավարելու համար, բայց, դժբախտաբար, ես ունեմ միայն 2 բութ: Այսպիսով, ես մտածեցի, որ յուրաքանչյուր սերվո վերահսկելու փոխարեն, ես կարող եմ վերահսկել միայն xyz դիրքը բռնել և բացել փականը, ընդհանուր առմամբ 4 առանցքի, 2 ջոյստիկի և 2 բութ մատների համար: Ես պարզեցի, որ այդ խնդիրը լավ հայտնի է որպես Հակադարձ կինեմատիկա, ես նաև պարզեցի, որ ամեն ինչ հեշտ է: Գաղափարը գրելն է (ոչ գծային) հավասարումներ ՝ վերջնական դիրքի դեպքում յուրաքանչյուր էֆեկտորի (սերվերի անկյունները) վիճակը գտնելու համար: Ես ձեռքով գրված թուղթ եմ վերբեռնել հավասարումներով, և ես այժմ աշխատում եմ նոր կոդի վրա դրանք օգտագործելու համար: Դա չպետք է չափազանց դժվար լինի, ես հիմնականում պետք է կարդամ ջիստիկներ, դրանց ընթերցումներով փոխեմ բռնակի xyz կոորդինատները, այնուհետև դրանք տամ իմ հավասարումներին, հաշվեմ սերվերի անկյունները և գրեմ դրանք:

Քայլ 5. Ապագա բարելավումներ

Այսպիսով, ես բավականին գոհ եմ դրա արդյունքից և հաշվի առնելով, որ ես բոլորովին նոր եմ էլեկտրոնիկայի մեջ, որ ինչ -որ բան կամ ինքս ինձ չեմ փչում, արդեն իսկ հսկայական հաղթանակ էր: Ինչպես սկզբում ասացի, ապագա բարելավումների ցանկացած գաղափար, ինչպես ծրագրային ապահովման, այնպես էլ ապարատային, ավելի քան ողջունելի: Մինչ այժմ ես մտածում էի հետևյալի մասին. Potոյստիկների «զգայունությունը» փոխելու պոտենցիոմետրը: Նոր կոդ, որը կստիպի նրան «գրանցել» որոշ շարժումներ և դրանք նորից կատարել (գուցե ավելի արագ և կարճ, քան մարդու ներդրումը) 3. Տեսողական/հեռավորության/ձայնի մի տեսակ մուտքագրում և առանց someoneոյսթիքս օգտագործելով ինչ -որ մեկի առարկաներ ձեռք բերելը: Կարո՞ղ եք երկրաչափական պատկերներ գծել: Այլ գաղափար: Խնդրում ենք ազատ զգալ մեկնաբանել ցանկացած առաջարկություն: Շնորհակալություն

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