Բովանդակություն:
- Քայլ 1. oryրագրի հետևում գտնվող տեսություն
- Քայլ 2: PCB- ի նախագծում
- Քայլ 3: PCB- ի պատրաստում
- Քայլ 4. Ձեռքի նախագծում
- Քայլ 5: Մասերի տպում
- Քայլ 6: Ամեն ինչ միասին դնել
- Քայլ 7: Arduino- ի ծրագրավորում
- Քայլ 8: mingրագրավորում Python- ում
- Քայլ 9: Մասերի ցանկ
- Քայլ 10: Վերջնական մտքեր
Video: Robotic Arm Controlled by Arduino and PC: 10 Steps
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Ռոբոտային զենքը լայնորեն օգտագործվում է արդյունաբերության մեջ: Անկախ նրանից, թե դա հավաքման աշխատանքների համար է, Եռակցումը կամ նույնիսկ մեկը օգտագործվում է ISS (Միջազգային տիեզերակայան) միանալու համար, դրանք օգնում են մարդկանց աշխատանքում կամ դրանք ամբողջությամբ փոխարինում են մարդուն: Իմ կառուցած ձեռքը ռոբոտային թևի ավելի փոքր ներկայացում է, որը ենթադրաբար պետք է օգտագործվի շարժվող օբյեկտների համար: Այն կառավարվում է arduino pro mini- ի միջոցով, որն արդեն ներկառուցված գրադարան ունի սերվերի վերահսկման համար: Servos- ը վերահսկվում է PWM- ի կողմից (Pulse Width Modulation), որը դժվար չէ ծրագրավորել, բայց այս գրադարանը հեշտացնում է այն: Օգտվողը կարող է վերահսկել այդ սերվերը պոտենցիոմետրերով, որոնք նախատեսված են հանդես գալու որպես լարման բաժանարարներ կամ համակարգչի ծրագրից, որն օգտագործում է 4 սահնակ սերվո շարժիչների կառավարման համար:
Այս նախագծի համար ես պետք է նախագծեի իմ անհատական PCB- ն և պատրաստեի այն, ստեղծեի ձեռքի 3D մոդելներ և գրեի այն կոդը, որը վերահսկում է այդ ամենը: Դրա վերևում ես ծածկագրեցի լրացուցիչ ծրագիր python- ում, որն ազդանշաններ է ուղարկում arduino- ին, որը կարողանում է վերծանել այդ ազդանշանը և սերվոները տեղափոխել այն օգտագործողի դրած դիրքը:
Քայլ 1. oryրագրի հետևում գտնվող տեսություն
Arduino- ն հիանալի է այն առումով, որ առաջարկում է աշխատելու անվճար գրադարան: Այս նախագծի համար ես օգտագործեցի Servo.h գրադարանը, որն ավելի հեշտացնում է սերվերի սպասարկումը:
Servo շարժիչը վերահսկվում է PWM- ի կողմից `Pulse Width Modulation- ը, ինչը նշանակում է, որ servo- ն վերահսկելու համար անհրաժեշտ է կատարել կարճ լարման իմպուլսներ: Servo- ն կարող է վերծանել այս ազդանշանի երկարությունը և պտտվել տվյալ դիրքի: Եվ այստեղ ես օգտագործեցի արդեն նշված գրադարանը: Ես ստիպված չէի ինքնուրույն հաշվարկել ազդանշանի երկարությունը, բայց ես օգտագործել եմ գրադարանի գործառույթները, որոնց պարամետրը փոխանցում եմ աստիճաններով և ազդանշան է տալիս:
Սերվերի կառավարման համար ես օգտագործել եմ պոտենցիոմետրեր, որոնք գործում են որպես լարման բաժանարարներ: Arduino- ի տախտակները ունեն մի քանի անալոգային/թվային կերպափոխիչներ, որոնք ես օգտագործել եմ նախագծի համար: Հիմնականում arduino- ն վերահսկում է պոտենցիոմետրի միջին քորոցի լարումը և եթե այն պտտվում է մի կողմի լարման վրա, այն 0 վոլտ է (արժեք = 0), իսկ մյուս կողմից `5 վոլտ (արժեքը = 1023): Այս արժեքը այնուհետև սանդղակվում է 0 - 1023 - ից 0 - 180 միջակայքում, այնուհետև անցնում է արդեն նշված գործառույթին:
Մեկ այլ թեմա է arduino- ի հետ սերիական հաղորդակցությունը, որը ես կարճ կանդրադառնամ: Հիմնականում համակարգչի վրա գրված ծրագիրը ուղարկում է օգտագործողի կողմից ընտրված արժեք, arduino- ն կարող է այն վերծանել և սերվոն տեղափոխել տվյալ դիրքը
Քայլ 2: PCB- ի նախագծում
Ես նախագծել եմ 2 հատ PCB, մեկը `հիմնական կառավարման համար, որտեղ գտնվում է arduino- ն և սերվերի համար նախատեսված կապում, իսկ երկրորդը` պոտենցիոմետրեր: 2 PCB- ի պատճառն այն է, որ ես ցանկանում էի ռոբոտացված ձեռքը վերահսկել անվտանգ հեռավորությունից: Երկու սխեմաներն էլ միացված են տվյալ երկարության մալուխով `իմ դեպքում 80 սմ:
Էլեկտրաէներգիայի աղբյուրի համար ես ընտրել եմ արտաքին ադապտեր, քանի որ իմ օգտագործած սերվերը շատ ավելի մեծ էներգիա են սպառում, քան arduino- ն կարող է ապահովել: Ինչպես տեսնում եք, կան մի քանի կոնդենսատորներ, որոնց մասին ես դեռ չեմ նշել: Նրանք կոնդենսատորներ են, որոնք օգտագործվում են ֆիլտրման համար: Ինչպես գիտեք այժմ, servo շարժիչը կառավարվում է կարճ իմպուլսներով: Այդ ազդակները կարող են ստիպել մատակարարման լարման անկումներին և պոտենցիոմետրերին, որոնք նախկինում 0-5 վոլտ էին, այժմ ունեն ավելի փոքր տիրույթ: Դա նշանակում է, որ միջին քորոցի լարումը փոխվում է, և arduino- ն ստանում է այս արժեքը և փոխում է servo շարժիչի դիրքը: Սա կարող է շարունակվել հավերժ և առաջացնել անցանկալի տատանումներ, որոնք կարող են վերացվել մատակարարմանը զուգահեռ որոշ կոնդենսատորների կողմից:
Քայլ 3: PCB- ի պատրաստում
PCB պատրաստելու համար ես առաջարկում եմ ձեզ կարդալ սա:
Ես օգտագործեցի Iron on Glossy թղթի մեթոդը և այն հիանալի ստացվեց:
Հետո ես մասեր կպցրեցի PCB- ի վրա: Դուք կարող եք տեսնել, որ ես օգտագործել եմ arduino վարդակից այն դեպքում, երբ ապագայում դրա կարիքը կունենամ:
Քայլ 4. Ձեռքի նախագծում
Սա ամենևին էլ այս նախագիծը պատրաստելու ամենադժվար մասը չէր:
Ամբողջական տեղադրումը կազմված է 8 մասից, որտեղ 4 -ը շարժական մասեր չեն `տուփ պոտենցիոմետրերի համար և հիմք, որտեղ գտնվում է arduino- ն, իսկ մյուս չորսը ձեռքն են: Ես շատ մանրամասների չեմ անդրադառնա, բացառությամբ, որ դիզայնը բավականին ինտուիտիվ է և ինչ -որ կերպ պարզ: Այն նախատեսված է իմ անհատական PCB- ի և servos- ի համար, որոնք ես ներառելու եմ մասերի ցանկում:
Քայլ 5: Մասերի տպում
Մասերը տպագրվել են Prusa տպիչով: Որոշ երեսերի համար անհրաժեշտ էր մի փոքր մանրացնել, իսկ անցքերն անցքերով անցնել: Նաև անհրաժեշտ էր հանել սյուները:
Քայլ 6: Ամեն ինչ միասին դնել
Այս քայլում, ինչպես ասում է վերնագիրը, ես ամեն ինչ հավաքեցի:
Սկզբում ես լարեր կպցրեցի պոտենցիոմետրերի վրա, իսկ հետո այդ լարերը ՝ PCB- ի վրա: Պոտենցիոմետրերը լավ տեղավորվում են անցքերի մեջ, և ես տաք սոսնձեցի PCB- ն այն սյուների վրա, որոնք տպված էին տուփի ներքևում: Դուք կարող եք անցքեր բացել տախտակի և տուփի մեջ, բայց ես պարզեցի, որ այն սոսնձելը ավելի քան բավարար է: Հետո ես փակեցի արկղի երկու մասերը և ամրացրեցի դրանք 4 պտուտակներով, որոնք տեղավորվում էին իմ նախագծած անցքերի մեջ:
Որպես հաջորդ քայլ, ես պատրաստեցի հարթ ժապավենային մալուխ `երկու տախտակները միացնելու համար:
Հիմնական տուփում ես լարեր եմ միացրել VCC միակցիչից միացման համար, այնուհետև տախտակի Vcc- ից, իսկ տախտակից GND- ից միակցիչի GND- ին: Հետո ես տաք սոսնձեցի միակցիչը տեղում և խորհուրդը սյուների վրա: Միակցիչը տեղավորվում է անմիջապես անցքի մեջ, այնպես որ տաք սոսինձ անհրաժեշտ չէ:
Հետո, պտուտակներ օգտագործելով, ես կցեցի ներքևի սերվերը տուփի ներքևին:
Դրանից հետո տուփի վերին հատվածը դրեցի ներքևի մասի վրա և նույնը, ինչ պոտենցիոմետրերի արկղով, ամրացրեցի այն 4 պտուտակով:
Հաջորդ մասը մի փոքր բարդ էր, բայց ինձ հաջողվեց ձեռքի մյուս մասը դնել տարբեր ընկույզների և բարձիկների հետ, և դա այնքան էլ պինդ չէր, որքան սպասում էի, քանի որ մասերի միջև որոշ հանդուրժողականություններ էի նախագծել, ուստի ավելի հեշտ է աշխատել դրանց հետ:
Եվ որպես վերջին քայլ ես տուփերի ներքևի մասում ժապավեն դրեցի, քանի որ հակառակ դեպքում դրանք սահելու էին:
Քայլ 7: Arduino- ի ծրագրավորում
Ես արդեն նշեցի, թե ինչպես է ծրագիրը գործում տեսականորեն նախագծի հետևում, բայց ես այն ավելի շատ կքանդեմ:
Այսպիսով, սկզբում մենք պետք է որոշ փոփոխականներ սահմանենք: Հիմնականում այն 4 անգամ պատճենվում է, քանի որ մենք ունենք 4 սերվո, և իմ կարծիքով ավելորդ տրամաբանություն ստեղծելը պարզապես ծրագիրը մի փոքր կարճացնելու համար ավելորդ է:
Հաջորդը դատարկ տեղադրում է, որտեղ սահմանվում են սերվերի կապերը:
Հետո կա դատարկ շրջան - ծրագրի մի մաս, որը անվերջ պտտվում է: Այս մասում ծրագիրը վերցնում է պոտենցիոմետրի սանդղակի արժեքը և դնում ելքը: Բայց կա մի խնդիր, որ պոտենցիոմետրից ստացված արժեքը բավականին ցատկում է, ուստի ես պետք է ավելացնեի զտիչ, որը միջինից կազմում է վերջին 5 արժեքները, այնուհետև այն թողնում է ելքը: Սա կանխում է անցանկալի տատանումները:
Lastրագրի վերջին մասը կարդում է սերիական նավահանգստի տվյալները և որոշում, թե ինչ անել `ուղարկված տվյալների հիման վրա:
Կոդն ամբողջությամբ հասկանալու համար առաջարկում եմ այցելել arduino- ի պաշտոնական կայքեր:
Քայլ 8: mingրագրավորում Python- ում
Այս նախագծի այս մասն անհրաժեշտ չէ, բայց ես կարծում եմ, որ այն միայն ավելի մեծ արժեք է տալիս այս նախագծին:
Python- ն առաջարկում է բազմաթիվ գրադարաններ, որոնք անվճար են, բայց այս նախագծում ես օգտագործում եմ միայն tkinter և սերիալներ: Tkinter- ը օգտագործվում է GUI- ի համար (Graphical User Interface), իսկ սերիալն, ինչպես ասում է իր անունը, օգտագործվում է սերիական հաղորդակցության համար:
Այս ծածկագիրը ստեղծում է GUI ՝ 4 սահիկներով, որոնք ունեն նվազագույն 0 և առավելագույն 180 արժեքներ: Ձեզ համար կարող է ակնարկ լինել, որ այն աստիճանների է, և յուրաքանչյուր սահող ծրագրված է վերահսկելու մեկ սերվո: Այս ծրագիրը բավականին պարզ է. Այն վերցնում է արժեքը և ուղարկում այն arduino- ին: Բայց այն ուղարկելու եղանակը հետաքրքիր է: Եթե որոշեք փոխել առաջին սերվոյի արժեքը 123 աստիճանի, այն ուղարկում է arduino արժեքին 1123: Յուրաքանչյուր ուղարկված համարի առաջին համարը ցույց է տալիս, թե որ սերվոն է վերահսկվելու: Arduino- ն ունի կոդ, որը կարող է վերծանել սա և տեղափոխել ճիշտ սերվոն:
Քայլ 9: Մասերի ցանկ
- Arduino Pro Mini 1 հատ
- Servo FS5106B 1 հատ
- Servo Futaba S3003 2 հատ
- Պին գլխագիր 2x5 1 հատ
- Պին գլխագիր 1x3 6 հատ
- Կոնդենսատոր 220uF 3 հատ
- Micro Servo FS90 1 հատ
- Միակցիչ AWP-10 2 հատ
- Միակցիչ FC681492 1 հատ
- Անջատիչ P-B100G1 1 հատ
- Վարդակից 2x14 1 հատ
- TTL-232R-5v-փոխարկիչ 1 հատ
- Պոտենցիոմետր B200K 4 հատ
- և շատ այլ պտուտակներ, բարձիկներ և ընկույզներ
Քայլ 10: Վերջնական մտքեր
Շնորհակալ եմ սա կարդալու համար և հույս ունեմ, որ ես գոնե մոտիվացրել եմ ձեզ: Սա իմ առաջին ավելի մեծ նախագիծն է, որը ես արել եմ միայնակ ՝ առանց ինտերնետից նյութեր պատճենելու և առաջին հրահանգվող գրառմանը: Ես գիտեմ, որ թևը կարող է արդիականացվել, բայց առայժմ գոհ եմ դրանից: Բոլոր մասերն ու սկզբնաղբյուրներն անվճար են, դուք ողջունում եք օգտագործել այն և փոխել այն ձեր ցանկացած ձևով: Եթե ունեք որևէ հարց, խնդրում ենք դրանք ուղղել մեկնաբանությունների բաժնում: Կարող եք նաև դիտել տեսանյութերը, դրանք մեծ որակով չեն, բայց ցույց են տալիս նախագծի ֆունկցիոնալությունը:
Խորհուրդ ենք տալիս:
Leap Motion Controlled Remote Search and Disposing Robot: 5 Steps
Leap Motion Controlled Remote Search and Disposing Robot. Որպես Leap Motion #3D Jam- ի իմ մուտքի մաս, ես ոգևորված էի Raspberry Pi- ի վրա հիմնված անլար ժեստերով կառավարվող Search/Rescue Robot- ի ստեղծման համար: Այս նախագիծը ցույց է տալիս և տալիս է մինիմալիստական օրինակ, թե ինչպես է անլար 3D ձեռքի ժեստերը
Robotic Arm Game - Smartphone Controller: 6 Steps
Robotic Arm Game - Smartphone Controller. Բարև Ձեզ: Ահա մի զվարճալի ամառային խաղ. Սմարթֆոնի միջոցով կառավարվող ռոբոտային թևը: Ինչպես տեսնում եք Տեսանյութում, դուք կարող եք կառավարել Ձեռքը ձեր սմարթֆոնի որոշ oyոյստիկներով: Դուք նաև կարող եք պահպանել օրինաչափություն, որ ռոբոտը կվերարտադրվի հանգույցով, որպեսզի
Smart Coffee Machine Pump Controlled by Raspberry Pi & HC-SR04 Ultrasonic Sensor and Cloud4RPi: 6 Steps
Խելացի սուրճի մեքենայի պոմպ, որը վերահսկվում է Raspberry Pi & HC-SR04 ուլտրաձայնային տվիչով և Cloud4RPi. Տեսականորեն, ամեն անգամ, երբ առավոտյան բաժակի համար գնում եք սուրճի մեքենա, քսան մեկից միայն հնարավորություն կա ջուր լցնել: տանկ. Գործնականում, սակայն, թվում է, որ մեքենան ինչ -որ կերպ գտնում է մի միջոց, որը միշտ ձեզ վրա է դնում այս աշխատանքը: The
ROS MoveIt Robotic Arm Մաս 2. Robot Controller: 6 Steps
ROS MoveIt Robotic Arm Մաս 2: Robot Controller ՝ https://github.com/AIWintermuteAI/ros-moveit-arm.git Հոդվածի նախորդ մասում մենք ստեղծել ենք URDF և XACRO ֆայլեր մեր ռոբոտացված թևի համար և գործարկել ենք RVIZ- ը ռոբոտացված ձեռքը մոդելավորված միջավայրում: Այս անգամ մենք դա կանենք ռեալի հետ
Nunchuk Controlled Robotic Arm (Arduino- ի հետ). 14 քայլ (նկարներով)
Nunchuk Controlled Robotic Arm (Arduino- ի հետ). Ռոբոտային ձեռքերը հիանալի են: Ամբողջ աշխարհի գործարաններն ունեն դրանք, որտեղ նրանք ճշգրիտ ներկում, զոդում և տեղափոխում են իրեր: Նրանք կարող են հայտնաբերվել նաև տիեզերական հետազոտությունների, ստորջրյա հեռակառավարվող տրանսպորտային միջոցների և նույնիսկ բժշկական ծրագրերի մեջ: Իսկ այժմ կարող եք