Orodha ya maudhui:

Waya Udhibiti wa Roboti: 31 Hatua
Waya Udhibiti wa Roboti: 31 Hatua

Video: Waya Udhibiti wa Roboti: 31 Hatua

Video: Waya Udhibiti wa Roboti: 31 Hatua
Video: 15 полезных советов по демонтажным работам. Начало ремонта. Новый проект.# 1 2024, Novemba
Anonim
Waya Udhibiti wa Roboti
Waya Udhibiti wa Roboti

Hii ni mafunzo juu ya jinsi ya kutengeneza mkono wa roboti unaodhibitiwa na waya. Faida ya kutumia waya ni kwamba mkono wako ni mwepesi na unaweza kuwa na motors zako zote chini ya mkono wako, na kufanya ujenzi na matengenezo iwe rahisi. Hapa kuna video ya mkono unaotumika. Ninapanga kuongeza claw katika siku zijazo ili iweze kuchukua vitu na sio kuwasukuma tu kuzunguka.

Kuchapishwa kwa 3D:

Hapa na Hapa

Vifaa

Motors 6 za Servo (MG995)

Arduino Uno

Karibu mita 6 za waya wa chuma iliyofunikwa (0.5mm)

Sanduku 23x33x10 (inaweza kuwa nyembamba, hakika haipaswi kuwa fupi)

Ubao wa kuni 33x10

Karanga na Bolts

Bomba 14 cm (hii inahitajika kuongoza masharti)

4 L-Mabano

Adapter 5-volt

Vitalu 2 vya njia 7 7

Waya za mkate

Vipengele vilivyochapishwa vya 3D (Sio iliyoundwa na mimi, viungo kwa vitu kwenye maelezo):

3 "Bolts"

2 "Kipengee 1"

1 "Kipengele cha 2"

2 "Kipengee 3"

1 Kiunganishi cha Msingi

Hatua ya 1: Chapisha Vipengele vyote vya 3D

Unaweza kuhitaji msaada kwa mashimo ya bolt na matao lakini hakikisha usiongeze msaada kwa mwili wa vifaa vyako; hii itafunga mashimo madogo ya waya na utahitaji kutengeneza mashimo mapya

Hatua ya 2: (Kwa hiari) Ambatisha ubao wa kuni chini ya sanduku lako ili kuiimarisha

Sanduku langu lilikuwa dhaifu sana, yako inaweza isiwe

Hatua ya 3: Pima na Ukate Ubao wa Mti Ili Kutoshea Sanduku

Hatua ya 4: Tia alama Nafasi za Motors

hakikisha hakuna mikono inayogusana

Hatua ya 5: Tia alama Nafasi za Mabano na Bomba

Tia alama Nafasi za Mabano na Bomba
Tia alama Nafasi za Mabano na Bomba

Bomba inapaswa kuwekwa karibu na sentimita moja mbele ya shimo

Hatua ya 6: Piga Shimo kwa nyaya zinazotoka kwenye Sanduku lako (USB na Nguvu)

Piga Shimo kwa nyaya Zinazotoka Kwenye Sanduku Lako (USB na Nguvu)
Piga Shimo kwa nyaya Zinazotoka Kwenye Sanduku Lako (USB na Nguvu)

Hatua ya 7: Piga na Uone Mashimo Yote Yaliyowekwa Alama

Piga na Uone Mashimo Yote Yaliyowekwa Alama
Piga na Uone Mashimo Yote Yaliyowekwa Alama

Hatua ya 8: Ambatisha Motors na Bomba kwenye Plank

Hatua ya 9: Ambatisha ubao kwenye Sanduku na L-Mabano

Hatua ya 10: Chukua Vitalu vyako vya Kituo na Uunganishe waya Pamoja

Chukua Vitalu Vako vya Kituo na Uunganishe waya Pamoja
Chukua Vitalu Vako vya Kituo na Uunganishe waya Pamoja

Hatua ya 11: Kata Mwisho wa Kamba ya Nguvu ya Adapta na Nyosha waya

Hatua ya 12: Tambua na uweke alama kwenye waya za Pamoja na Ndogo

Hatua ya 13: Ambatisha waya kwenye Vitalu vya Kituo Ili Ili Wote + Servo waya na + Waya kutoka kwa Kamba ya Umeme Iunganishwe, Sawa Zanaenda kwa - waya

Ambatanisha waya kwenye Vitalu vya Kituo Ili Ili Wote + Servo waya na + Waya + Kutoka kwenye Kamba ya Umeme Iunganishwe, Sawa Zanaenda kwa - waya
Ambatanisha waya kwenye Vitalu vya Kituo Ili Ili Wote + Servo waya na + Waya + Kutoka kwenye Kamba ya Umeme Iunganishwe, Sawa Zanaenda kwa - waya

Hatua ya 14: Kata kichwa kwenye waya wa mkate

Kata kichwa kutoka kwa waya wa mkate
Kata kichwa kutoka kwa waya wa mkate

Ambatisha mwisho uliovuliwa wa waya wa mkate kwenye kizuizi cha minus na mwisho wa pini kwenye pini ya ardhini kwenye arduino yako. Usipofanya hivi motors zitatembea bila mpangilio wowote.

Hatua ya 15: Piga mashimo matatu chini ya Sanduku kwa waya zinazotoka kwenye mkono wako

Mashimo yanapaswa kufanana na mashimo kwenye kiunganishi cha msingi.

Hatua ya 16: Ambatisha Kiunganishi cha Msingi kwenye Sanduku

Ambatisha Kiunganishi cha Msingi kwenye Sanduku
Ambatisha Kiunganishi cha Msingi kwenye Sanduku

Hatua ya 17: Tumia Kisu au Faili ya Msumari Ili Kufanya Grooves za waya kuwa Nzito

Tumia Kisu au Faili ya Msumari Kufanya Grooves za waya kuwa Nzito
Tumia Kisu au Faili ya Msumari Kufanya Grooves za waya kuwa Nzito

Grooves za waya za vitu vya 2 na 3 hazina kina sana.

Hatua ya 18: Jenga mkono

Jenga mkono
Jenga mkono

Jenga mkono kulingana na maagizo hapa unaweza kuhitaji kuweka sehemu hizo ili zitoshe

Hatua ya 19: Sakinisha Usindikaji na Arduino

Usindikaji na Arduino

Hatua ya 20: Bandika Programu za Kanuni

Nambari iko chini ya ukurasa huu

Hatua ya 21: Unganisha Pini za Udhibiti wa Servo kwa Arduino

Unganisha Pini za Udhibiti wa Servo kwa Arduino
Unganisha Pini za Udhibiti wa Servo kwa Arduino

Niliunganisha gari la kwanza na pini ya tatu ya dijiti, motor ya pili kwa pini ya nne ya dijiti na kadhalika. Hakikisha kuwa pini ya ardhi bado imeunganishwa na - block block.

Hatua ya 22: Bonyeza Kitufe cha Rudisha katika Usindikaji, Hii Itaweka Silaha Zote kwa Digrii 90

Hatua ya 23: Rekebisha Silaha za Servo kwa Magari Usawa

Hatua ya 24: Funga waya kupitia Silaha ili kusiwe na Ulegevu

Hakikisha unazungusha waya kupitia mashimo mengi kadiri uwezavyo, hii itaishikilia kwa muda na iwe rahisi kuiondoa.

Hatua ya 25: Jaribu mkono na Kaza au Fungua waya kama inavyohitajika

Hatua ya 26: Gundi Moto Moto kwa Silaha za Servo kuifanya iwe ya Kudumu

Hatua ya 27: Vidokezo

Vidokezo
Vidokezo

Nilitumia waya wa mapambo ya 0.5mm lakini 0.4mm inapaswa kuwa sawa. Ubunifu wa asili ulitumia waya wa PVC lakini hiyo ilivunjika kwa urahisi na ilikuwa ngumu kufanya kazi nayo.

Ikiwa utasonga mkono kwenye gari au baiskeli funga viungo vya mkono kwenye mkanda ili kuhakikisha kuwa hawatokei. Hii ni muhimu sana kwa kipengele 1.

Nilipoanza mradi huu nilikuwa nikijiuliza ni kwanini ningeweza kupata mafunzo moja tu juu ya jinsi ya kutengeneza mkono unaodhibitiwa na waya. Sasa ninaelewa kwa nini hii sio njia ya kawaida ya kutengeneza mkono wa roboti ya kupendeza. Waya wakati mwingine huanguka kutoka kwa mito yao na jambo lote ni laini. Sijui ikiwa shida ni kwa sababu sina uzoefu mwingi au ikiwa wazo zima ni shida ingawa nina hakika kwamba itakuwa imara zaidi ikiwa ningejua ninachofanya.

Hatua ya 28: Utatuzi wa matatizo

Mashimo ya waya yamefungwa katika vitu vya 3D vilivyochapishwa:

Umeongeza msaada kwa kipengee kizima badala ya mashimo ya bolt tu. Ama kuchapisha tena kipengee au kufungua mashimo na sindano ya moto sana.

Bandari ya COM imefungwa, huwezi kuwasiliana na arduino:

Ardiino yako haiwezi kukubali bandari za USB 3 (yangu haikutumia), unaweza kununua kebo ya ugani ya USB 2 au utumie kompyuta iliyo na bandari za USB 2

Nambari haifanyi kazi:

Fuata mafunzo haya na uirekebishe ili ufanye nambari yako mwenyewe

Sehemu ya mkono haitembei:

Waya zinaweza kuwa zimebanana, kuangalia hii chukua mkono wa servo kwenye servo na ujaribu kuvuta waya kwa mkono. Fumbua waya na ikiwa bado ni ngumu kuvuta waya jaribu kutumia WD-40 au lubricant ili kurahisisha harakati

Hatua ya 29: Viungo

Silaha isiyo ya Robotic:

Kuchapisha kwa 3D 3D:

Mkono Wangu 3D Unaochapishwa:

Arduino na Usindikaji:

Hatua ya 30: Kanuni

Imebadilishwa kutoka kwa nambari hii

Msimbo wa Arduino:

# pamoja na // Tangaza motors Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; Servo myservo6; // Motors zote zimewekwa kwa digrii 90 kwa default int current1 = 90; int ya sasa2 = 90; int ya sasa3 = 90; int ya sasa4 = 90; int ya sasa5 = 90; int ya sasa6 = 90; // Digrii ya chini na ya kiwango cha juu motors zinaweza kufikia int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; mini mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; mini mini6 = 0; int maxi6 = 180; // Digrii za kuongezwa au kutolewa kutoka nafasi ya sasa int degreesFoward = 5; // Kuchelewa kwa hivyo kazi mbili hazifanyiki kwa mpangilio usiofaa int delayBetweenSteps = 100; kuanzisha batili () {// Weka pini za kudhibiti kwa kila motor myservo1. ambatisha (3); myservo2.ambatanisha (4); myservo3.ambatanisha (5); myservo4.ambatanisha (6); myservo5.ambatanisha (7); myservo6.ambatanisha (8); // Weka motors zote kwa kuweka default myservo1.write (current1); andika (sasa2); andika (sasa3). andika (sasa4); andika (sasa5); andika (sasa6). // kuanza mawasiliano ya serial @ 9600 bps Serial.begin (9600); } kitanzi batili () {if (Serial.available ()) {// ikiwa data inapatikana kusoma char val = Serial.read (); // weka kwenye char hii // Udhibiti wa Magari ikiwa (val == 'a' && current1 + degreesFoward mini1) {myservo1.write (current1 - degreesFoward); sasa1 = sasa1 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'c' && current2 mini2) {myservo2.write (current2 - degreesFoward); sasa2 = sasa2 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'e' && current3 mini3) {myservo3.write (current3 - degreesFoward); sasa3 = sasa3 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'g' && current4 mini4) {myservo4.write (current4 - degreesFoward); sasa4 = sasa4 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'i' && current5 mini5) {myservo5.write (current5 - degreesFoward); sasa5 = sasa5 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'k' && current6 mini6) {myservo6.write (current6 - degreesFoward); sasa6 = sasa6 - digriiFoward; kuchelewesha (kuchelewesha Kati ya Hatua); } // Udhibiti wa kasi ikiwa (val == 'w') {// Ikiwa kasi ya kifungo 1 ilibonyeza digriiFoward = 1; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'x') {// Ikiwa kasi ya kitufe 5 ilibonyeza digriiFoward = 5; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'y') {// Ikiwa kasi ya kifungo 10 ilibonyeza digriiFoward = 10; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'z') {// Ikiwa kasi ya kifungo cha 20 ilibonyeza digriiFoward = 20; kuchelewesha (kuchelewesha Kati ya Hatua); } ikiwa (val == 'r') {// Ikiwa kasi ya kifungo cha 20 ilibonyeza myservo1.write (90); sasa1 = 90; kuandika [90]; sasa2 = 90; andresvo3. andika (90); sasa3 = 90; andresvo4.andika (90); sasa4 = 90; kuandika [90]; sasa5 = 90; kuandika [90]; sasa6 = 90; kuchelewesha (kuchelewesha Kati ya Hatua); }}}

Msimbo wa usindikaji:

usindikaji wa kuagiza.serial. *; udhibiti wa kuagizaP5. *; // kuagiza ControlP5 bandari ya Serial; UdhibitiP5 cp5; // tengeneza fontP5 font PFont font; usanidi batili () {// sawa na saizi ya mpango wa arduino (300, 700); // ukubwa wa dirisha, (upana, urefu) printArray (Serial.list ()); // chapa bandari zote za serial zinazopatikana // Ikiwa una shida labda inatoka hapa String portName = Serial.list () [0]; bandari = mpya Serial (hii, PortName, 9600); // nimeunganisha arduino kwa com3, itakuwa tofauti katika linux na mac os // lets add buton to blank window cp5 = new ControlP5 (this); font = kuundaFont ("Arial", 13); fonts za kibinafsi za vifungo na kichwa // Vifungo vya Kudhibiti Kasi cp5.addButton ("Moja") // "Moja" ni jina la kitufe.setPosition (50, 50) // x na y kuratibu za kona ya juu kushoto ya kitufe kuwekaSize (55, 25) // (upana, urefu).setFont (font); cp5.addButton ("Tano"). PositionPosition (110, 50).setSize (55, 25).setFont (font); cp5.addButton ("Kumi"). PositionPosition (170, 50).setSize (55, 25).setFont (font); cp5.addButton ("Ishirini"). PositionPosition (230, 50).setSize (55, 25).setFont (font); cp5.addButton ("Rudisha"). PositionPosition (110, 2).setSize (55, 25).setFont (font); cp5.addButton ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (font); // Vifungo vya Kudhibiti Magari cp5.addButton ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (font); cp5.addButton ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (font); cp5.addButton ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (upana, urefu).setFont (font); cp5.addButton ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (font); cp5.addButton ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (upana, urefu).setFont (font); cp5.addButton ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (font); cp5.addButton ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (font); cp5.addButton ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (font); } kuchora batili () {// sawa na kitanzi katika asili ya arduino (192, 215, 249); // rangi ya nyuma ya dirisha (r, g, b) au (0 hadi 255) // Ongeza maandishi kusema udhibiti wa kasi ni ujazo wa kudhibiti kasi (0, 10, 25); // rangi ya maandishi (r, g, b) maandishi ya maandishi (font); maandishi ("Udhibiti wa Kasi", 50, 40); // ("maandishi", x kuratibu, y kuratibu)} // lets kuongeza kazi kwenye vifungo vyetu // kwa hivyo unapobonyeza kitufe chochote, hutuma char maalum juu ya bandari ya serial // Nina hakika inawezekana kutuma masharti badala ya chars, na ingekuwa na maana zaidi lakini sijui jinsi ya kuifanya // Udhibiti wa Kasi Unaamuru Utupu Moja () {port. } batili tano () {bandari andika ('x'); } batili Kumi () {port. andika ('y'); } utupu ishirini () {port. andika ('z'); } // Amri za Udhibiti wa Magari batili Servo_1_Foward () {port.write ('a'); } utupu Servo_1_Back () {port.write ('b'); } utupu Servo_2_Foward () {port. andika ('c'); } utupu Servo_2_Back () {port.write ('d'); } batili Servo_3_Foward () {port.write ('e'); } batili Servo_3_Back () {port.write ('f'); } utupu Servo_4_Foward () {bandari andika ('g'); } batili Servo_4_Back () {port.write ('h'); } utupu Servo_5_Foward () {bandari andika ('i'); } batili Servo_5_Back () {port.write ('j'); } utupu Servo_6_Foward () {bandari andika ('k'); } batili Servo_6_Back () {port.write ('l'); } batili Rudisha () {port.write ('r'); }

Hatua ya 31: Picha zaidi

Ilipendekeza: