Orodha ya maudhui:

Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru: Hatua 5 (na Picha)
Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru: Hatua 5 (na Picha)

Video: Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru: Hatua 5 (na Picha)

Video: Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru: Hatua 5 (na Picha)
Video: Leap Motion SDK 2024, Novemba
Anonim
Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru
Arduino Kudhibitiwa Robotic Arm W / 6 Digrii za Uhuru
Arduino Udhibiti wa Roboti ya W / Digrii za Uhuru za 6
Arduino Udhibiti wa Roboti ya W / Digrii za Uhuru za 6
Arduino Udhibiti wa Roboti ya W / Digrii za Uhuru za 6
Arduino Udhibiti wa Roboti ya W / Digrii za Uhuru za 6

Mimi ni mwanachama wa kikundi cha roboti na kila mwaka kikundi chetu kinashiriki katika Faire ya Mini-Maker ya kila mwaka. Kuanzia 2014, niliamua kujenga mradi mpya wa hafla ya kila mwaka. Wakati huo, nilikuwa na karibu mwezi mmoja kabla ya hafla hiyo kuweka kitu pamoja na sikujua ni nini nilitaka kufanya.

Mwanachama mwenzangu alichapisha kiunga kwa "ujenzi wa mkono wa roboti wa kuvutia" ambao ulinipendeza. Mipango hiyo ilikuwa mkono tu bila udhibiti au mtawala. Kuzingatia vikwazo vya wakati wangu, ilionekana kama mahali pazuri pa kuanzia. Shida tu ilikuwa kwamba sikuwa na zana za kuanza.

Kwa msaada wa washiriki wengine wa kikundi, niliweza kukata sehemu za akriliki na kuzituma kwangu pamoja na sehemu mbili zilizochapishwa za 3D zilizoonyeshwa hapa chini. Pamoja na maagizo ya vifaa vya usiku mmoja na safari kadhaa kwenye duka la vifaa vya karibu, nilikamilisha mradi wa kufanya kazi usiku kabla ya hafla hiyo!

Kama kawaida, kuna hadithi zaidi na maumbo kadhaa ya ujenzi ambayo yamegubikwa kwa kile unachokiona hapa chini. Ikiwa una nia ya hadithi ya nyuma, zaidi inaweza kupatikana hapa:

Hatua ya 1: Unachohitaji - vifaa na vifaa vya elektroniki

Unachohitaji - Vifaa vya elektroniki na Elektroniki
Unachohitaji - Vifaa vya elektroniki na Elektroniki
Unachohitaji - Vifaa vya elektroniki na Elektroniki
Unachohitaji - Vifaa vya elektroniki na Elektroniki

Mbuni wa mradi aliishi Ulaya na baadaye akatumia vipimo vya metri na vifaa vya kawaida huko. Kwa mfano bodi ya waandishi wa habari aliyotumia mwili ilikuwa kiwango cha unene wa 5mm. Vitu kama hivyo hapa Amerika ni 1/8 ambayo ni karibu unene wa 3.7mm. Hii iliacha pengo katika fursa ambazo hapo awali zilibuniwa kutoshewa na waandishi wa habari. Badala ya kurekebisha michoro nilitumia tu Gundi ya Gorilla kupata viungo hivi.

Alitumia pia karanga na bolts zilizoshonwa za M3 ambazo sio za kawaida kwenye duka lako la vifaa vya ndani huko Merika. Badala ya kubadilisha hizi kuwa chaguzi zinazopatikana mahali hapa, niliamuru vifaa vya mkondoni kama inavyoonyeshwa katika orodha zangu za sehemu hapa chini.

  • 22 - M3 x 0.5 x 23mm Standoffs
  • 15 - M3 x 15mm Spacers
  • Screws 40 - M3
  • Karanga za M3 Hex
  • Screws za M3 25mm
  • 1 - Chemchemi
  • 3/4 "Mkanda wa Kuweka pande mbili
  • 5 - SG 5010 TowerPro Servo
  • 1 - SG92R TowerPro mini servo
  • 1 - SG90 TowerPro mini servo
  • Kichwa cha safu mlalo cha moja kwa moja cha 2.54 mm
  • 1 - Bodi ya mkate ya ukubwa wa nusu
  • 1 - waya wa Jumper / wa Kiume 'Ugani' Jumper - 40 x 6"
  • Karatasi ya 1 - 12 "x 24" ya Bluu ya Bluu au kipande cha laser kilichokatwa kutoka kwa mtoa huduma upendaye
  • 2 - 3mm x 20mm + 4mm x 5mm spacers za kuzaa pamoja 3D Iliyochapishwa (tazama hapa chini)
  • 1 - Jopo la kudhibiti * Angalia Kumbuka Katika Sehemu ya Wiring
  • 1 - RGB iliyochanganywa (rangi tatu) 10mm LED
  • 1 - Arduino Uno
  • 1 - LCD ya kawaida 16x2 + ya ziada - nyeupe kwenye bluu
  • 1 - i2c / SPI tabia mkoba wa LCD
  • 1 - Adafruit 16-Channel 12-bit PWM / Servo Dereva
  • 1 - MCP3008 - 8-Channel 10-Bit ADC Na Spi Interface
  • 3 - JoyStick Breakout Module Sensor * Angalia Kumbuka Katika Sehemu ya Wiring
  • DC Pipa Jack
  • Adapter ya AC hadi DC
  • Kamba za ugani wa Servo - urefu uliowekwa

Karibu sehemu zote za mkono huu zilikatwa kutoka kwa akriliki ya 1/8 inchi Spacers mbili za kubeba pamoja zinahitaji kuchapishwa, hata hivyo. Pia, ya asili iliyoundwa ili besi mbili za spacer za pamoja ziwe urefu wa 7mm kwa shimoni la kuzaa. Nilipoanza mkusanyiko wa mkono wa juu ilidhihirika haraka kuwa hawa walikuwa warefu sana kwa sababu ya urefu wa servos ya TowerPro. Ilinibidi kuwa na fani mpya za pamoja zilizotengenezwa na msingi wa urefu wa 3mm tu, ambayo, kwa njia, ilikuwa bado ndefu kidogo lakini inaweza kudhibitiwa. Utataka kutambua urefu wa jamaa wa servos yako na akaunti kwa umbali kati ya mikono miwili ya chini:

Urefu wa servo + pembe ya servo + kuzaa pamoja + mkanda wa pande mbili = 47mm +/- 3mm.

Hatua ya 2: Mkutano wa Jeshi

Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi
Mkutano wa Jeshi

Kabla ya kuanza, hakikisha kuweka ndani servos zako zote! Ikiwa wakati wowote wakati wa ujenzi, ikiwa wewe mwenyewe unahamisha nafasi ya servo, utahitaji kuibadilisha kabla ya kuiweka kwenye fremu. Hii ni muhimu sana na servos za bega ambazo kila wakati zinahitaji kusonga pamoja.

  1. Ambatisha servo ya msingi kwenye bamba la msingi kwa kutumia screws za M3 25mm na karanga za hex. Usizidi kukaza! KUMBUKA: Unaweza kutaka kutumia kukazia kwa nyuzi ili kupunguza karanga kufunguka wakati wa matumizi.

  2. Ikiwa unatumia orodha ya sehemu nilizonazo hapo juu, utataka kukusanya spacers 5 za msingi kwa kushona 2 kila moja ya M3 x 0.5 x 23mm Standoffs pamoja na kisha kuziunganisha kwenye bamba la msingi na karanga za hex.
  3. Ambatisha bamba la msingi wa chini kwa kusimama na Screws 5 M3.
  4. Ambatisha sahani ya bega kwa sahani mbili zinazopandisha servo ukitumia wambiso salama wa akriliki. Nilitumia Gundi ya Gorilla hapa. KUMBUKA: Kila moja ya sahani mbili za servo zina shimo nyuma ambayo inaruhusu spacer ya uingizaji kuingizwa ikiunganisha. Hakikisha mashimo yanajipanga! * Wakati una gundi inayofaa, nenda mbele na ujiunge na sahani ya kupandisha mkono na bamba kuu. * Kwa hiari, unaweza pia gundi sahani ya servo ya mkono kwenye sahani mbili za pamoja za mkono. Sikufanya uchaguzi huu badala ya kuziunganisha pamoja na machafuko kama ilivyoelezewa hapo chini.
  5. Ambatisha mkutano wa bega uliopona sasa kwenye servo ya msingi. Nilitumia pembe pana zaidi iliyojumuishwa na servo ambayo ilikuwa pembe sita inayopanda shina.

  6. Kuongeza sura ya chini ya mkono kwa servos za bega inaweza kuwa ngumu. Ninashauri kupata pembe kwenye fremu za mkono wa chini kabla ya kuendelea. KUMBUKA: Hakikisha kuweka huduma zako kwa mkutano wa bega KABLA ya kuziunganisha kwenye fremu. Hizi servos mbili lazima ziende pamoja na ikiwa zimepangwa vibaya kwa kiwango cha chini husababisha servo jitter na, ikiwa imetengenezwa vibaya, inaweza kuharibu sura au servos. * Kila servos ya bega imewekwa na mabano yao nyuma ya sahani zilizowekwa badala ya kupitisha servos kupitia bamba - hii itakuruhusu kushinikiza pembe kwenye shimoni la servo pembeni na salama screw. Usilinde bado servo kwenye sahani inayopanda. * Ifuatayo, ongeza servo ya ndani na weka mkono
  7. Unganisha sura ya juu ya mkono na servos kwa kusukuma servos kupitia nafasi kwenye mikono na kisha kuingiza spacers kati ya sahani zote za mkono wa juu na salama na visu za M3.
  8. Ongeza mkanda wa kushikamana mara mbili nyuma ya kiwiko cha pamoja cha kiwiko na punguza ziada.
  9. Ambatisha spacer chini ya servo ambayo itafanya kama kiendeshaji cha kiwiko.
  10. Ingiza mkutano wa mkono wa juu kwenye fremu ya mkutano wa mkono wa chini na salama visu za pembe za servo.
  11. Ongeza kusimama kati ya sahani mbili za mkono wa chini. Nilitumia mbili badala ya zote nne kupunguza uzito.
  12. Ongeza mkanda wa wambiso wa pande mbili nyuma ya spacer ya pamoja ya mkono wa juu na punguza ziada.
  13. Ambatisha spacer chini ya servo ambayo itafanya kama kiendeshaji cha mkono.
  14. Ambatisha sahani ya mkono wa nje kwenye pembe ya servo ya mkono na salama na screw ya pembe.
  15. Unganisha sahani ya servo ya mkono na sahani mbili za pamoja za mkono na kusimama.
  16. Salama servo ya mkono kwenye sahani ya servo na bamba ya servo.
  17. Utahitaji kupata pembe ya mkono kwa servo kabla ya kushikilia mkutano wa gripper kwenye pembe hiyo kwa sababu ya kufunguliwa kwa screw ya pembe kuzuiwa.
  18. Unganisha vipande vya gripper kwa usawa kabla ya kushikamana na pembe ya servo. Hii itakuruhusu nafasi ya kupunguza pembe katika hatua ya awali.
  19. Ambatisha pembe ya gripper kwa servo yake na kaza zaidi screws zinazoshikilia viungo vya gripper. KUMBUKA: usikaze kabisa karanga na bolts kwani zinahitaji kuwa huru kuruhusu mtego kusonga.

Hatua ya 3: Jopo la Wiring na Udhibiti

Wiring na Jopo la Kudhibiti
Wiring na Jopo la Kudhibiti
Wiring na Jopo la Kudhibiti
Wiring na Jopo la Kudhibiti
Wiring na Jopo la Kudhibiti
Wiring na Jopo la Kudhibiti

Nilijenga mradi huu kama jukwaa la maendeleo kwa maoni kadhaa niliyonayo kwa mradi wa baadaye wa elimu. Kwa hivyo, miunganisho yangu mingi ni viunganisho rahisi vya dupont. Uuzaji tu nilioufanya ulikuwa kwa MCP3008. Ikiwa unaweza kupata bodi ya kuzuka kwa kipengee hiki, basi unapaswa kuwa na uwezo wa kujenga mkono huu bila malipo.

Kuna vikundi 3 vya vifaa:

  1. Pembejeo - Vitu hivi huchukua habari kutoka kwa mtumiaji na imeundwa na vijiti vya kufurahisha na mcp3008 ADC.
  2. Matokeo - Vitu hivi huwasilisha data kwa ulimwengu ama kwa kuonyesha hali kwa mtumiaji au kusasisha servos na data ya msimamo. Vitu hivi ni Screen ya LCD, mkoba wa LCD, RGB LED, bodi ya dereva ya Servo na mwisho servos.
  3. Usindikaji - Arduino hufunga kikundi cha mwisho ambacho huchukua data kutoka kwa pembejeo na kusukuma data kwa matokeo kwa maagizo ya kificho.

Skimu ya Fritzing hapo juu inaelezea unganisho la pini kwa vifaa vyote.

Pembejeo

Tutaanza na pembejeo. Vifungo vya kufurahisha ni vifaa vya analog - ikimaanisha kuwa wanawasilisha voltage inayobadilika kama pembejeo kwa Arduino. Kila moja ya viunga vya furaha ina matokeo mawili ya analog ya X na Y (juu, chini, kushoto kulia) ikifanya jumla ya pembejeo 6 kwa Arduino. Wakati Arduino Uno ina pembejeo 6 za analog zinazopatikana, tunahitaji kutumia pini mbili kwa mawasiliano ya I2C kwa skrini na mtawala wa servo.

Kwa sababu ya hii, niliingiza mfano wa MCP3008 kwa kibadilishaji cha dijiti (ADC). Chip hii inachukua hadi pembejeo 8 za analog na kuibadilisha kuwa ishara ya dijiti juu ya pini za mawasiliano za Spi ya Arduino kama ifuatavyo:

  • Pini za MCP 1-6> Matokeo anuwai ya viunga vya kidole gumba
  • Pini za MCP 7 & 8> Hakuna muunganisho
  • Pin ya MCP 9 (DGND)> Ardhi
  • Pin ya MCP 10 (CS / SHDN)> Uno Pin 12
  • Pin ya MCP 11 (DIN)> Uno Pin 11
  • Pin ya MCP 12 (DOUT)> Uno Pin 10
  • Pini ya MCP 13 (CLK)> Uno Pin 9
  • Pin ya MCP 14 (AGND)> Ardhi
  • Pin ya MCP 15 & 16> + 5V

Uunganisho wa starehe katika skimu unaonyeshwa tu kwa mfano. Kulingana na viunga gani vya furaha na jinsi vimewekwa, miunganisho yako inaweza kutofautiana na yangu. Bidhaa tofauti za shangwe zinaweza kuwa na pinout tofauti na pia zinaweza kuelekeza X na Y tofauti. Kilicho muhimu ni kuelewa kila pembejeo kwenye ADC inawakilisha. Kila pini inawakilisha uhusiano ufuatao katika nambari yangu:

  • Bandika 1 - data ya Base - Analog kwenye pini hii itazunguka servo ya chini kabisa kwenye roboti
  • Bandika 2 - Bega - Data ya Analog kwenye pini hii itazunguka servos mbili juu ya servo ya msingi
  • Bandika 3 - Elbow - Data ya Analog kwenye pini hii itazunguka servo inayofuata kutoka kwa servos za bega
  • Bandika 4 - UP / DN Wrist - Data ya Analog kwenye pini hii itazunguka servo ya mkono, kuinua na kupunguza mkutano wa gripper
  • Bandika 5 - Gripper - Data ya Analog kwenye pini hii itafungua na kufunga gripper
  • Bandika 6 - Zungusha Wrist - Data ya Analog kwenye pini hii itazunguka gripper

KUMBUKA: Unaponunua na kuweka viwambo vya kidole gumba vilivyotajwa katika orodha ya sehemu, kumbuka kuwa mwelekeo wa moduli unaweza kutofautiana na yangu, jaribu matokeo ya x na y kwa unganisho sahihi kwa ADC. Pia, ikiwa unatumia paneli yangu ya kudhibiti iliyochapishwa ya 3D, mashimo yanayoweza kuongezeka yanaweza kutolewa kutoka kwangu.

Matokeo

Adafruit PWM / Servo Mdhibiti hufanya mradi huu kuwa rahisi sana. Unganisha tu Servos kwa vichwa vya servo na viunganisho vyote vya nguvu na ishara vinashughulikiwa. Isipokuwa utapata servos na miongozo ya ziada ndefu, utataka kupata seti ya viendelezi vya kebo za servo kwa urefu tofauti ili nyaya zako zote za servo zifikie bodi yako ya mtawala.

Servos zimeunganishwa kama ifuatavyo:

  • Nafasi 0 - Base servo
  • Nafasi ya 1 - Servo ya bega (Servo Y Cable)
  • Nafasi ya 2 - Elvo Servo
  • Nafasi ya 3 - Wrist 1 Servo
  • Nafasi ya 4 - Gripper Servo
  • Nafasi ya 5 - Wrist 2 Servo

Kwa kuongezea, VCC na V + zote zimeunganishwa na +5 Volts na GND imeunganishwa na Ground.

KUMBUKA 1: Dokezo moja kubwa hapa: Voltage ya usambazaji kwa mradi mzima inakuja kupitia kituo cha umeme kwenye Bodi ya Udhibiti wa Servo. Pini ya V + kwenye Kidhibiti cha Servo kweli inasambaza nguvu kutoka kwa kituo cha terminal hadi kwenye mzunguko wote. Ikiwa unahitaji kupanga Uno yako, ninapendekeza sana kukatiza pini ya V + kabla ya kuunganisha Uno kwenye PC yako kwani kuteka kwa sasa kutoka kwa servos kunaweza kuharibu bandari yako ya USB.

KUMBUKA 2: Ninatumia adapta ya ukuta ya 6V AC hadi DC kuwezesha mradi huo. Ninapendekeza adapta inayoweza kusambaza angalau 4A ya sasa ili kwamba moja au zaidi ya servos ifungwe, mwiko wa ghafla kwa sasa haufifishi mfumo wako na kuweka Arduino yako upya.

Skrini ya 16X2 LCD imeunganishwa na mkoba wa Adafruit LCD ili kuchukua faida ya kiolesura cha I2C ambacho tayari kinatumiwa na Mdhibiti wa Servo. SCL kwenye Kidhibiti cha Servo na CLK kwenye mkoba zote zinaunganisha kwenye Pin A5 kwenye Uno. Vivyo hivyo, SDA kwenye Kidhibiti cha Servo na DAT kwenye mkoba zote zinaunganisha kwenye Pin A4 kwenye Uno. Kwa kuongezea, 5V imeunganishwa na +5 Volts na GND imeunganishwa na Ground. LAT kwenye mkoba haujaunganishwa na chochote.

Mwishowe, RGB LED imeunganishwa na pini 7 (RED), 6 (Kijani), na 5 (Bluu) kwenye Uno. Mguu wa ardhini wa LED umeunganishwa na Ground kupitia kontena la 330Ohm.

Inasindika

Mwishowe, salio la unganisho la Arduino ambalo halijaorodheshwa hapo juu ni kama ifuatavyo: Pin 5V imeunganishwa na +5 Volts na GND imeunganishwa na Ground.

Katika usanidi wangu, nilitumia reli za pembeni za ubao wa mkate kufunga nguvu zote na laini za ardhini pamoja na pini za I2C kwa vifaa vyote.

Hatua ya 4: Kanuni

Kanuni
Kanuni

Kama nilivyosema hapo awali, mwanzoni niliunda mradi huu kama onyesho la Faire yangu ya Mtengenezaji. Nilikusudia kuwa kitu kwa watoto na watu wazima kucheza nao wakati wa kibanda chetu. Kama inageuka, ilikuwa maarufu zaidi kuliko vile nilivyofikiria - sana, kwamba watoto walikuwa wakipigania. Kwa hivyo, wakati wa kuandika upya ulipofika, nilijumuisha "Njia ya Demo" inayotumia kikomo cha wakati.

Mkono unakaa pale unasubiri mtu asonge fimbo ya kufurahisha na wakati anafanya hivyo, huanza kipima muda cha sekunde 60. Mwisho wa sekunde 60, inaacha kuchukua maoni kutoka kwa mtumiaji na "Rests" kwa sekunde 15. Umakini mfupi unazidi kuwa vile walivyo, kipindi hiki cha kupumzika kilipunguza sana ubishani kwa wakati wa fimbo.

Operesheni ya Msingi

Nambari iliyoorodheshwa katika sehemu ya kumbukumbu hapa chini ni rahisi sana. Safu hufuatilia viungo 6 na min, upeo wa juu, nafasi ya nyumbani na nafasi ya sasa. Wakati mkono umeinuliwa, kazi ya kuanza inafafanua maktaba zinazohitajika kuzungumza na MCP3008, mkoba wa LCD (na baadaye skrini), na hufafanua pini za LED. Kutoka hapo hufanya mifumo ya msingi kukagua na kuendelea nyumbani mkono. Kazi ya nyumbani huanza na mtego na inafanya kazi kwa njia ya chini hadi chini ili kupunguza nafasi ya kujifunga chini ya hali ya kawaida. Ikiwa mkono umepanuliwa kikamilifu, basi inaweza kuwa bora kurudisha mkono kabla ya kuiweka nguvu. Kwa kuwa servos generic haitoi maoni ya msimamo wake, tunahitaji kuweka kila moja kwa hatua iliyotanguliwa na kufuatilia jinsi kila mmoja alivyohamishwa.

Kitanzi kuu kwanza huanza katika hali ya kusubiri - kutafuta viunga vya kufurahisha ili uondoke kwenye nafasi yao ya kituo. Mara tu hiyo ikitokea, mabadiliko kuu ya kitanzi yanasema hali ya kuhesabu. Mtumiaji anapohamisha kila fimbo ya kufurahisha, nafasi ya jamaa ya faraja kutoka katikati itaongeza au kupunguza kutoka kwa nafasi inayojulikana ya sasa na kusasisha servo inayofaa. Mara servo imefikia kikomo chake kilichoelezewa kwa mwelekeo mmoja, starehe ya furaha huacha. Mtumiaji atahitaji kusogeza fimbo ya furaha katika mwelekeo mwingine kuisogeza tena. Hii ni kikomo cha programu iliyowekwa kwenye servos bila kujali vifaa vyao vinasimama. Kipengele hiki kinakuwezesha kuweka harakati za mkono ndani ya eneo maalum la kazi ikiwa inahitajika. Ikiwa kifurushi kinafunguliwa katikati, harakati zitasimama.

Nambari hii ni mwanzo tu wa jumla. Unaweza kuongeza njia zako mwenyewe kama unavyotaka. Mfano mmoja inaweza kuwa hali ya kuendelea isiyo na kipima wakati au labda ongeza kwenye vifungo vya kushinikiza funguo kama pembejeo na andika rekodi / hali ya uchezaji.

Hatua ya 5: Viunga na Rasilimali

Marejeo ya mkono

  • Chapisha iliyohamasisha mradi huu
  • Machapisho ya blogi ya Wabunifu wa asiliWangu mwenyewe wa RoboticVipiga-mkono vyangu vya mini na mkono wa roboti uliokamilishwa Zidisha mkono wa roboti na elektroniki
  • Mkono wa Thingiverse
  • Thingiverse Mini Servo Gripper

Libri za Programu

  • Rasilimali za Mdhibiti wa Adafruit PWM / Servo
  • Maktaba ya MCP3008
  • Jedwali la MCP3008

Jopo la Kudhibiti na Nambari

  • Mchoro wa tinkercad wa Jopo nililotengeneza
  • Hifadhi ya nambari ya sasa

Ilipendekeza: