
Բովանդակություն:
- Պարագաներ
- Քայլ 1: Տպեք բոլոր 3D բաղադրիչները
- Քայլ 2. (Ըստ ցանկության) Ամրացրեք փայտե տախտակը ձեր տուփի ներքևում `այն ամրացնելու համար
- Քայլ 3. Չափեք և կտրեք մի տախտակ, որը հարմար է տուփին
- Քայլ 4. Նշեք շարժիչների դիրքերը
- Քայլ 5. Նշեք փակագծերի և խողովակների դիրքերը:
- Քայլ 6. Հորատեք անցք ձեր տուփից դուրս եկող մալուխների համար (USB և հոսանք)
- Քայլ 7: Հորատեք և տեսեք բոլոր նշված անցքերը
- Քայլ 8. Կցեք շարժիչներն ու խողովակը տախտակին
- Քայլ 9. Կցեք տախտակը L- փակագծերով տուփին
- Քայլ 10. Վերցրեք ձեր տերմինալային բլոկները և միասին կպցրեք լարերը
- Քայլ 11. Կտրեք ադապտերների հոսանքի լարի ծայրը և կպցրեք լարերը
- Քայլ 12: Բացահայտեք և նշեք Plus և Minus լարերը
- Քայլ 13: Լարերը ամրացրեք տերմինալային բլոկներին, որպեսզի բոլոր + servo լարերը և հոսանքի լարից + լարերը միացված լինեն, նույնը `լարերի դեպքում:
- Քայլ 14. Գլուխը կտրեք տախտակի մետաղալարից
- Քայլ 15. Երեք անցք արկղի ներքևում ՝ ձեր թևից դուրս եկող լարերի համար:
- Քայլ 16. Կցեք բազայի միակցիչը տուփին
- Քայլ 17. Օգտագործեք դանակ կամ եղունգների ֆայլ ՝ մետաղալարերը ավելի խորը դարձնելու համար
- Քայլ 18. Կառուցեք թևը
- Քայլ 19: Տեղադրեք Processing և Arduino
- Քայլ 20: Տեղադրեք ծածկագրի ծրագրերը:
- Քայլ 21. Միացրեք Servo Control Pins- ը Arduino- ին
- Քայլ 22. Մշակման ընթացքում սեղմեք Վերակայման կոճակը: Սա բոլոր զենքերը կդնի 90 աստիճանի
- Քայլ 23. Հորիզոնական ուղղեք Servo Arms- ը շարժիչին
- Քայլ 24. Անցեք լարերը թևերի միջով, որպեսզի թուլություն չլինի
- Քայլ 25. Փորձարկեք թևը և լարված կամ թուլացրեք լարերը ըստ անհրաժեշտության
- Քայլ 26. Թեժ սոսնձեք լարերը Servo Arms- ին ՝ այն մշտական դարձնելու համար
- Քայլ 27. Նշումներ
- Քայլ 28. Խնդիրների վերացում
- Քայլ 29: Հղումներ
- Քայլ 30: Կոդ
- Քայլ 31. Ավելի շատ նկարներ
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48

Սա ձեռնարկ է, թե ինչպես պատրաստել ռոբոտի թև, որը կառավարվում է լարերով: Լարերի օգտագործման առավելությունն այն է, որ ձեր թևն ավելի թեթև է, և դուք կարող եք ունենալ ձեր բոլոր շարժիչները ձեր թևի ներքևում, ինչը հեշտացնում է շինարարությունն ու սպասարկումը: Ահա մի տեսահոլովակ, որը ներկայացնում է ձեռքի գործողությունը: Ես պլանավորում եմ հետագայում ճանկ ավելացնել, որպեսզի այն կարողանա իրերը վերցնել և ոչ միայն դրանք հետ շպրտել:
3D տպագրվող նյութեր.
Այստեղ և այստեղ
Պարագաներ
6 Servo Motors (MG995)
Արդուինո Ունո
Մոտ 6 մետր պլաստմասե պողպատե մետաղալար (0.5 մմ)
Տուփ 23x33x10 (կարող է լինել ավելի նեղ, միանշանակ չպետք է լինի ավելի կարճ)
Փայտե տախտակ 33x10
Ընկույզ և պտուտակներ
Խողովակ 14 սմ (սա անհրաժեշտ է լարերը ուղղորդելու համար)
4 L- փակագծեր
5 վոլտ ադապտեր
2 7-ճանապարհ տերմինալային բլոկ
Հացաթղթերի լարեր
3D տպագիր բաղադրիչներ (Իմ կողմից նախագծված չեն, նկարագրության տարրերի հղումներ).
3 «Հեղույսներ»
2 «Տարր 1»
1 «Տարր 2»
2 «Տարր 3»
1 բազային միակցիչ
Քայլ 1: Տպեք բոլոր 3D բաղադրիչները
Հնարավոր է, որ պտուտակների անցքերի և կամարների համար աջակցություն պահանջվի, բայց համոզվեք, որ ձեր բաղադրիչների մարմնին աջակցություն չավելացնեք. սա կփակի մետաղալարերի փոքր անցքերը, և ձեզ հարկավոր կլինի նոր անցքեր անել
Քայլ 2. (Ըստ ցանկության) Ամրացրեք փայտե տախտակը ձեր տուփի ներքևում `այն ամրացնելու համար
Իմ տուփը բավականին թույլ էր, քոնը կարող է չլինել
Քայլ 3. Չափեք և կտրեք մի տախտակ, որը հարմար է տուփին
Քայլ 4. Նշեք շարժիչների դիրքերը
համոզվեք, որ ձեռքերից ոչ մեկը չի դիպչում միմյանց
Քայլ 5. Նշեք փակագծերի և խողովակների դիրքերը:

Խողովակը պետք է տեղադրվի փոսի դիմաց մոտ մեկ սանտիմետր
Քայլ 6. Հորատեք անցք ձեր տուփից դուրս եկող մալուխների համար (USB և հոսանք)

Քայլ 7: Հորատեք և տեսեք բոլոր նշված անցքերը

Քայլ 8. Կցեք շարժիչներն ու խողովակը տախտակին
Քայլ 9. Կցեք տախտակը L- փակագծերով տուփին
Քայլ 10. Վերցրեք ձեր տերմինալային բլոկները և միասին կպցրեք լարերը

Քայլ 11. Կտրեք ադապտերների հոսանքի լարի ծայրը և կպցրեք լարերը
Քայլ 12: Բացահայտեք և նշեք Plus և Minus լարերը
Քայլ 13: Լարերը ամրացրեք տերմինալային բլոկներին, որպեսզի բոլոր + servo լարերը և հոսանքի լարից + լարերը միացված լինեն, նույնը `լարերի դեպքում:

Քայլ 14. Գլուխը կտրեք տախտակի մետաղալարից

Կցեք տախտակի մետաղալարի պոկված ծայրը մինուս տերմինալային բլոկին, իսկ քորոցի ծայրը ՝ ձեր արդուինոյում հիմնավորված քորոցին: Եթե դա չանեք, շարժիչները կշարժվեն անկանոն ՝ առանց որևէ մուտքի:
Քայլ 15. Երեք անցք արկղի ներքևում ՝ ձեր թևից դուրս եկող լարերի համար:
Անցքերը պետք է համապատասխանեն հիմքի միակցիչի անցքերին:
Քայլ 16. Կցեք բազայի միակցիչը տուփին

Քայլ 17. Օգտագործեք դանակ կամ եղունգների ֆայլ ՝ մետաղալարերը ավելի խորը դարձնելու համար

2 -րդ և 3 -րդ տարրերի համար մետաղալարերի ակոսները չափազանց մակերեսային են:
Քայլ 18. Կառուցեք թևը

Կառուցեք թևը ՝ այստեղ տրված հրահանգների համաձայն, գուցե անհրաժեշտ լինի մասերը լղոզել այնպես, որ դրանք տեղավորվեն
Քայլ 19: Տեղադրեք Processing և Arduino
Մշակում և Arduino
Քայլ 20: Տեղադրեք ծածկագրի ծրագրերը:
Այս ծածկագիրը գտնվում է այս էջի ներքևում
Քայլ 21. Միացրեք Servo Control Pins- ը Arduino- ին

Առաջին շարժիչը միացրեցի երրորդ թվային կապին, երկրորդ շարժիչը ՝ չորրորդ թվային կապին և այլն: Համոզվեք, որ գրունտի քորոցը դեռ միացված է տերմինալային բլոկին:
Քայլ 22. Մշակման ընթացքում սեղմեք Վերակայման կոճակը: Սա բոլոր զենքերը կդնի 90 աստիճանի
Քայլ 23. Հորիզոնական ուղղեք Servo Arms- ը շարժիչին
Քայլ 24. Անցեք լարերը թևերի միջով, որպեսզի թուլություն չլինի
Համոզվեք, որ մետաղալարն անցկացնում եք որքան հնարավոր է շատ անցքերով, դա ժամանակավորապես կպահի այն և հեշտությամբ կհեռացվի:
Քայլ 25. Փորձարկեք թևը և լարված կամ թուլացրեք լարերը ըստ անհրաժեշտության
Քայլ 26. Թեժ սոսնձեք լարերը Servo Arms- ին ՝ այն մշտական դարձնելու համար
Քայլ 27. Նշումներ

Ես օգտագործել եմ 0.5 մմ զարդերի մետաղալար, բայց 0.4 մմ -ը պետք է լավ լինի: Օրիգինալ դիզայնում օգտագործվում էր PVC մետաղալար, սակայն այն շատ հեշտությամբ էր կոտրվում և դրա հետ աշխատելը դժվար էր:
Եթե դուք պատրաստվում եք ձեռքը շարժել մեքենայով կամ հեծանիվով, փաթեթավորեք ձեռքի հոդերը ժապավենով, որպեսզի համոզվեք, որ դրանք դուրս չեն թռչի: Սա հատկապես կարևոր է 1 -ին տարրի համար:
Երբ ես սկսեցի այս նախագիծը, ես մտածում էի, թե ինչու կարող եմ գտնել միայն մեկ ձեռնարկ, թե ինչպես պատրաստել մետաղալարերով կառավարվող թև: Հիմա ես հասկանում եմ, թե ինչու սա ռոբոտի հոբբի թև պատրաստելու ամենատարածված ձևը չէ: Հաղորդալարերը երբեմն ընկնում են նրանց ակոսներից, և ամբողջը մի տեսակ անշուք է: Չգիտեմ, արդյոք խնդիրներն այն են, որ ես մեծ փորձ չունե՞մ, թե՞ ամբողջ գաղափարը խնդրահարույց է, չնայած վստահ եմ, որ այն ավելի հիմնավոր կլիներ, եթե իմանայի, թե ինչ եմ անում:
Քայլ 28. Խնդիրների վերացում
Մետաղալարերի անցքերը փակված են 3D տպված տարրերի մեջ.
Դուք ավելացրել եք աջակցություն ամբողջ տարրի համար ՝ միայն պտուտակների անցքերի փոխարեն: Կամ նորից տպեք տարրը, կամ բացեք անցքերը իսկապես տաք ասեղով:
COM նավահանգիստը փակ է, դուք չեք կարող շփվել arduino- ի հետ.
Ձեր arduino- ն կարող է չընդունել USB 3 պորտերը (իմը չի ընդունել), կարող եք կամ գնել USB 2 երկարացման մալուխ, կամ օգտագործել համակարգիչ, որն ունի USB 2 պորտ
Կոդը չի գործում.
Հետևեք այս ձեռնարկին և փոփոխեք այն ՝ ձեր սեփական ծածկագիրը կազմելու համար
Թևի մի մասը չի շարժվում.
Հնարավոր է, որ լարերը խճճվել են, դա ստուգելու համար հեռացրեք սերվոյի թևը սերվոյից և փորձեք լարերը ձեռքով քաշել: Անջատեք լարերը, և եթե դեռ դժվար է լարերը քաշելը, փորձեք օգտագործել WD-40 կամ քսանյութ ՝ շարժումն ավելի հեշտացնելու համար:
Քայլ 29: Հղումներ
Ոչ ռոբոտային թև ՝
Arm 3D տպագրվող սարքեր ՝
Իմ ձեռքը 3D տպագրելի ՝
Arduino և մշակում ՝
Քայլ 30: Կոդ
Փոփոխվել է այս ծածկագրից
Arduino կոդ:
#ներառել // Հայտարարել շարժիչները Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Բոլոր շարժիչները լռելյայնորեն սահմանվում են 90 աստիճանի սահմաններում int ընթացիկ 1 = 90; int ընթացիկ 2 = 90; int ընթացիկ 3 = 90; int ընթացիկ 4 = 90; int ընթացիկ 5 = 90; int ընթացիկ 6 = 90; // Նվազագույն և առավելագույն աստիճաններ, շարժիչները կարող են հասնել int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Աստիճաններ, որոնք պետք է ավելացվեն կամ հանվեն ընթացիկ դիրքերից int աստիճաններՈւղղություն = 5; // Հետաձգել այնպես, որ երկու գործառույթներ տեղի չունենան սխալ հերթականությամբ int delayBetweenSteps = 100; void setup () {// Սահմանել յուրաքանչյուր շարժիչի myservo1.attach (3) կառավարման կապում; myservo2.attach (4); myservo3. կցել (5); myservo4. կցել (6); myservo5. կցել (7); myservo6. կցել (8); // Բոլոր շարժիչները դարձրեք myservo1.write (current1) լռելյայն պարամետրին; myservo2.write (ընթացիկ 2); myservo3. գրել (ընթացիկ 3); myservo4. գրել (ընթացիկ 4); myservo5. գրել (ընթացիկ 5); myservo6. գրել (ընթացիկ 6); // սկսել սերիական հաղորդակցություն @9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// եթե տվյալները հասանելի են կարդալ val val = Serial.read (); // տեղադրել այն այս նշանի մեջ // Motor Controls if (val == 'a' && current1 + gradFoward mini1) {myservo1.write (current1 - gradFoward); ընթացիկ 1 = ընթացիկ 1 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } if (val == 'c' && current2 mini2) {myservo2.write (current2 - gradFoward); ընթացիկ 2 = ընթացիկ 2 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } if (val == 'e' && current3 mini3) {myservo3.write (current3 - gradFoward); ընթացիկ 3 = ընթացիկ 3 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } if (val == 'g' && current4 mini4) {myservo4.write (current4 - gradFoward); ընթացիկ 4 = ընթացիկ 4 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } if (val == 'i' && current5 mini5) {myservo5.write (current5 - gradFoward); ընթացիկ 5 = ընթացիկ 5 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } if (val == 'k' && current6 mini6) {myservo6.write (current6 - gradFoward); ընթացիկ 6 = ընթացիկ 6 - աստիճան դեպի առաջ; ուշացում (delayBetweenSteps); } // Speed Controls if (val == 'w') {// Եթե արագության 1 կոճակը սեղմված է աստիճաններFoward = 1; ուշացում (delayBetweenSteps); } if (val == 'x') {// Եթե արագության 5 կոճակը սեղմված է աստիճաններFoward = 5; ուշացում (delayBetweenSteps); } if (val == 'y') {// Եթե արագության 10 կոճակը սեղմված է աստիճաններFoward = 10; ուշացում (delayBetweenSteps); } if (val == 'z') {// Եթե արագության 20 կոճակը սեղմված է աստիճաններՀարց = 20; ուշացում (delayBetweenSteps); } if (val == 'r') {// Եթե արագության 20 կոճակը սեղմել է myservo1.write (90); ընթացիկ 1 = 90; myservo2.write (90); ընթացիկ 2 = 90; myservo3. գրել (90); ընթացիկ 3 = 90; myservo4. գրել (90); ընթացիկ 4 = 90; myservo5. գրել (90); ընթացիկ 5 = 90; myservo6. գրել (90); ընթացիկ 6 = 90; ուշացում (delayBetweenSteps); }}}
Մշակման կոդ:
ներմուծման մշակում. սերիա:*; ներմուծման հսկողություն P5.*; // ներմուծել ControlP5 գրադարան Սերիական նավահանգիստ; ControlP5 cp5; // ստեղծել ControlP5 օբյեկտի PFont տառատեսակ; void setup () {// նույնը, ինչ arduino ծրագրի չափը (300, 700); // պատուհանի չափը, (լայնությունը, բարձրությունը) printArray (Serial.list ()); // տպում է առկա բոլոր սերիական նավահանգիստները // Եթե խնդիր ունեք, հավանաբար այստեղից է գալիս String portName = Serial.list () [0]; նավահանգիստ = նոր Սերիա (սա, portName, 9600); // ես arduino- ն միացրել եմ com3- ին, linux- ում և mac os- ում դա այլ կերպ կլիներ // թույլ է տալիս բութոն ավելացնել դատարկ պատուհանին cp5 = նոր ControlP5 (սա); font = createFont ("Arial", 13); // կոճակների և վերնագրի հարմարեցված տառատեսակներ // Արագության կառավարման կոճակներ cp5.addButton ("One") // "One" - ը կոճակի.setPosition (50, 50) // կոճակի վերին ձախ անկյունի x և y կոորդինատներն են:.setSize (55, 25) // (լայնություն, բարձրություն).setFont (տառատեսակ); cp5.addButton («Հինգ»).setPosition (110, 50).setSize (55, 25).setFont (տառատեսակ); cp5.addButton («Տասը»).setPosition (170, 50).setSize (55, 25).setFont (տառատեսակ); cp5.addButton («Քսան»).setPosition (230, 50).setSize (55, 25).setFont (տառատեսակ); cp5.addButton («Վերականգնել»).setPosition (110, 2).setSize (55, 25).setFont (տառատեսակ); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (տառատեսակ); // Motor Control Buttons cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (լայնություն, բարձրություն).setFont (տառատեսակ); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (լայնություն, բարձրություն).setFont (տառատեսակ); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (տառատեսակ); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (տառատեսակ); } void draw () {// նույնը, ինչ arduino ֆոնի օղակը (192, 215, 249); // պատուհանի ֆոնի գույնը (r, g, b) կամ (0 -ից 255) // Ավելացնել տեքստ, որն ասում է, որ արագության կառավարումը արագության վերահսկման լրացում է (0, 10, 25); // տեքստի գույնը (r, g, b) textFont (տառատեսակ); տեքստ («Արագության վերահսկում», 50, 40); // («տեքստ», x կոորդինատ, y կոորդինատ)} // թույլ է տալիս որոշ գործառույթներ ավելացնել մեր կոճակներին // այնպես որ, երբ որևէ կոճակ սեղմելիս, այն հատուկ նշան է ուղարկում սերիական պորտին // վստահ եմ, որ հնարավոր է տողեր ուղարկել տառերի փոխարեն, և դա ավելի իմաստալից կլիներ, բայց ես չգիտեմ, թե ինչպես դա անել // Speed Control Commands void One () {port.write ('w'); } void Five () {port.write ('x'); } void Ten () {port.write ('y'); } void Քսան () {port.write ('z'); } // Motor Control Commands void Servo_1_Foward () {port.write ('a'); } void Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } void Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } void Servo_4_Back () {port.write ('h'); } void Servo_5_Foward () {port.write ('i'); } void Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } void Servo_6_Back () {port.write ('l'); } void Վերագործարկեք () {port.write ('r'); }
Քայլ 31. Ավելի շատ նկարներ
Խորհուրդ ենք տալիս:
Ռոբոտի բազուկ. 15 քայլ

Ռոբոտի բազուկ. Ունենալ ավտոմատ համակարգ
Պտտվող կոդավորմամբ կառավարվող ռոբոտի բազուկ. 6 քայլ

Rotary Encoder Controlled Robot Arm. Ես այցելեցի howtomechatronics.com և այնտեղ տեսա bluetooth- ով կառավարվող ռոբոտի թևը: Ես չեմ սիրում օգտագործել bluetooth- ը, բացի այդ, ես տեսա, որ մենք կարող ենք վերահսկել servo- ն պտտվող կոդավորիչով, ուստի այն վերափոխում եմ, որ կարող եմ կառավարել ռոբոտը: թևը օգտագործեք պտտվող կոդավորիչ և գրանցեք այն
DIY ռոբոտաշինություն - Ուսումնական 6 առանցքի ռոբոտի բազուկ. 6 քայլ (նկարներով)

DIY ռոբոտաշինություն | Ուսումնական 6 առանցքի ռոբոտի բազուկ. DIY-Robotics կրթական բջիջը հարթակ է, որը ներառում է 6 առանցքի ռոբոտային բազուկ, էլեկտրոնային կառավարման միացում և ծրագրավորման ծրագրակազմ: Այս հարթակը ներդրում է արդյունաբերական ռոբոտաշինության աշխարհում: Այս նախագծի միջոցով DIY-Robotics- ը ցանկանում է
4dof Ps2 Control Arduino ակրիլային ռոբոտի բազուկ ՝ 5 քայլ

4dof Ps2 Control Arduino Acrylic Robot Arm. It based on mearmlist: 1set mearm acrylic arm1pc arduino uno2pc ps2
Bluetooth ռոբոտի բազուկ ՝ օգտագործելով միայնակ շարժիչ ՝ 3 քայլ

Bluetooth ռոբոտի բազուկ ՝ օգտագործելով մեկ շարժիչով շարժիչ. Բարի գալուստ իմ Instructable: Այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես կարելի է միալար շարժիչի վարորդի միջոցով փոխարկել լարային կառավարման ռոբոտի թևը Bluetooth ռոբոտի ձեռքի: Սա աշխատանք է տնից, որը կատարվում է պարետային ժամի ռեժիմով: Այսպիսով, այս անգամ ես ունեմ միայն մեկ L29