Mundarija:

Arduino robot qo'l: 5 qadam
Arduino robot qo'l: 5 qadam

Video: Arduino robot qo'l: 5 qadam

Video: Arduino robot qo'l: 5 qadam
Video: How to make Arduino Robotic Arm Arduino bilan robot qo'l yasash! 2024, Noyabr
Anonim
Image
Image
Arduino robot qo'llari
Arduino robot qo'llari
Arduino robot qo'llari
Arduino robot qo'llari

Bu mening Arduino boshlang'ich to'plamining 15 ta darsligidan keyingi birinchi loyiham bo'lgani uchun, uning asosiy maqsadi mendan ko'proq biladigan odamlardan tanqidchilar, maslahatlar, takliflar va g'oyalarni olishdir.

Bu loyiha robot qo'l haqida, 4 ta dofs va tutqich bilan. Kam byudjet bilan: tuzilmani do'sti kesib tashladi, 4 ta servo 30 €, 2 ta joystik 4 €, murvat va boshqalar 10 € dan pastroq va qolganlari (Arduino, simlar, tutqichli servo va boshqalar).) allaqachon boshlang'ich to'plamimga kiritilgan. Taxminan 45-50 AQSh dollarini tashkil etadigan 40-45 evroga (xuddi qurol-aslaha to'plamining bir xil narxi, lekin uni o'zim qurish juda qiziq edi (va vaqti-vaqti bilan biror narsani chalkashtirib yuborish)) va mashina kabi ko'rsatmalarga rioya qilmaslik).

Bu mening birinchi loyiham va "Instructable" bo'lgani uchun men "Birinchi marta muallif" va boshqa bir nechta tanlovlarga qo'shildim, shuning uchun sizga yoqsa, ovoz bering:)

1 -qadam: Loyihalash va yig'ish:

Avvaliga menga tuzilish kerak edi: bu, albatta, eng uzun qism edi, chunki men loyihani boshqa birovdan nusxa ko'chirishni xohlamaganim uchun, men loyihani havola qilib oldim va men (va meni qutqargan yana bir necha malakali sinfdoshlarim) uni bizning ehtiyojlarimizga ko'ra o'zgartira boshladi (har xil moment, og'irlik va o'lchovlarga ega bo'lgan turli xil servolar). Men uni bir necha marta qurishga majbur bo'ldim, ularning har birida men noto'g'ri narsa topdim, va biz ba'zi qismlarni qayta ko'rib chiqishga majbur bo'ldik, agar siz uni ishlatmoqchi bo'lsangiz.dxf faylini biriktirib qo'ydim, keyin elektronikani sotib olishim kerak edi.: Aksariyat qismlar standart edi, qiyin qismi servolarni tanlash edi. Men kerakli momentni bosh barmog'i bilan hisoblab chiqdim, keyinroq aniqroq hisoblashga harakat qildim va uni biroz oshirib yuborgan bo'lishimni bildim. Ko'rinib turibdiki, 2-chi servo uchun 6 kg/sm etarli bo'lardi (menikidan) va meniki 9-11 kg/sm. Xo'sh, bu menga bir oz xavfsizlik va 2 kg gacha yukni yuklash imkoniyatini beradi (bu imkonsiz, lekin menga texnik jihatdan shunday qilish mumkin). Men bazadan uzoqlashganda tork kamayib turadigan har xil servolarni sotib olishim mumkin edi, lekin bir xil sotuvchidan bir xil servolarni sotib olish ancha arzon variant edi. 350mA va microservo 9g 100mA ni tortadi, jami 350*4 +100 = 1500mA. Men zaryadlovchini (6V 1.5A) qutqarib oldim va unga ikkita o'tish simini lehimladim. qo'llanma) Materiallar ro'yxati:- Tuzilishi- M5x7 sm vida x5, m5 murvat x15 (taglik)- M3x16mm vint x18*- M3x20mm vint x13*- M3 murvat x40*- M3x8 sm vida x3- Qopqoq (aks holda u qulab tushadi)- 3 dublon- Arduino (yoki uni boshqaradigan boshqa narsa, u kamida 5 PWM bo'lishi kerak)- 5-6V va kamida 1,5A- 3x ps2 ga o'xshash joystiklar- 4x TowerPro mg995 servoslari- 1x TowerPro 9g mikroservo (tutqich uchun)) - Ko'p o'tkazgich simlari - Breadboard*(men tez yig'ish va demontaj qilish uchun murvat va vintlarni ishlatardim, aks holda siz ularni deyarli barchasini yog'ochdan yasalgan vintlar bilan almashtira olasiz)

2 -qadam: KOD:

G'oya har bir servo-ni ps2-ga o'xshash joystikning ikkita o'qi bilan boshqarishdir. Har bir joystikda y va x o'qlari uchun har xil "dam olish qiymatlari" (0-1023 oralig'idagi qiymat) bor edi. muammo edi, chunki farq juda kichik edi (bittasida y nol 623 da edi) va men 0-1023 dan gradusgacha aylantirish uchun xarita funktsiyasidan foydalanmoqchi edim. Ammo xarita funktsiyasi qolgan qiymatni 1023/2 deb hisoblaydi. Men Arduino -ni yoqishim bilan harakatlanayotgan har bir servoga olib keldim, bu o'qish qiymati va har xil dam olish qiymati o'rtasidagi farqni qo'lda topib, men har bir joystik uchun alohida hisoblab chiqdim. kodni qisqartirish va aqlli qilish, men uni sozlash funktsiyasida qolgan qiymatlarni o'qishga va ba'zi o'zgaruvchilarda saqlashga majbur qildim. Men uni doimiy ravishda bo'lishim kerak edi: men oxirgi 200 ni topgunimcha ko'p qiymatlarni sinab ko'rdim (bu qiymatni qo'lda kerakli qiymatga o'zgartirish uchun potentsiometr qo'shishim mumkin). Kodning qolgan qismi menimcha, juda standart, o'sish hisobini alohida funktsiyaga kiritish yanada oqlangan bo'lishi mumkin.

3 -qadam: ELEKTRONIKA:

ELEKTRONIKA
ELEKTRONIKA

Kabellar rasmda ko'rsatilganidek yoki qistirma faylida: pinlar uchun servo signallari: 5-6-9-10-11 va joystik o'qi o'xshash pinlarga: A0-A1-A2-A3-A4 Men duch kelgan asosiy muammo bu joystiklarni men servolarda ishlatadigan zaryadlovchi emas, Arduino tomonidan etkazib berilishi kerak edi. Aks holda, servo aql bovar qilmaydigan darajada oldinga va orqaga siljiydi. Menimcha, agar men ularni zaryadlovchi bilan ta'minlasam, Arduino men potentsial farqni aniq ayta olmaydi, lekin keyin: Men elektronika sohasida juda yangiman, shuning uchun bu taxmin. Arduino va zaryadlovchi qurilmasini non paneli orqali ulash tasodifiy va kutilmagan harakatlarning oldini olishga yordam berdi.

4 -qadam: Hozirgi vaqtda takomillashtirilmoqda:

Hozirgi vaqtda takomillashtirilmoqda
Hozirgi vaqtda takomillashtirilmoqda

Har bir joystik 2 ta servo (eksa 1 ta) ni boshqarishi mumkin bo'lgani uchun, butun qo'lni boshqarish uchun menga 3 ta servo kerak, lekin baxtsizlik bilan menda faqat 2 ta bosh barmog'i bor, shuning uchun men har bir servoni boshqarish o'rniga faqat xyz pozitsiyasini boshqarishim mumkin deb o'yladim. Hammasi bo'lib 4 o'q, 2 ta joystik va 2 ta bosh barmog'ini ushlang va oching! Men bu muammoning teskari kinematikasi deb nomlanishini bildim, men hammasini oson deb bildim. har bir effektorning holatini (servo burchaklar) aniqlash uchun chiziqli bo'lmagan tenglamalar, men qo'lda yozilgan qog'ozni yukladim va hozirda ularni ishlatish uchun yangi kod ustida ishlayapman. Bu juda qiyin bo'lmasligi kerak, men, asosan, joystiklarni o'qishim, o'qishimdan foydalanib, tutqichning xyz koordinatalarini o'zgartirishim kerak, keyin ularni mening tenglamalarimga berishim, servo burchaklarini hisoblab, yozishim kerak.

5 -qadam: Kelajakni takomillashtirish:

Shunday qilib, men uning natijasidan juda mamnunman va men elektronika uchun mutlaqo yangi ekanligimni hisobga oladigan bo'lsam yoki o'zimni portlatib yubormasligim allaqachon katta g'alaba edi. Men aytganimdek, kelajakda takomillashtirish uchun har qanday g'oya, ham dasturiy ta'minot, ham Xo'sh, men hali ham shunday deb o'ylaganman: 1. Joystiklarning "sezuvchanligini" o'zgartirish potentsiometr.2. Unga ba'zi harakatlarni "yozib olish" va ularni qayta bajarishga majbur qilish uchun yangi kod (ehtimol, odam kiritganidan tezroq va qisqaroq) 3. Qandaydir vizual/masofali/ovozli kiritish va joystiklardan foydalanmagan holda ob'ektlarni olish imkoniyati4. Geometrik figuralarni chizishga qodir bo'lgan boshqa fikr bormi? Iltimos, har qanday taklif bilan sharh qoldiring

Tavsiya: