Orodha ya maudhui:

Mkono wa Roboti Unaodhibitiwa na Arduino na PC: Hatua 10
Mkono wa Roboti Unaodhibitiwa na Arduino na PC: Hatua 10

Video: Mkono wa Roboti Unaodhibitiwa na Arduino na PC: Hatua 10

Video: Mkono wa Roboti Unaodhibitiwa na Arduino na PC: Hatua 10
Video: Solomon Mkubwa - Mkono Wa Bwana (Official Video) 2024, Novemba
Anonim
Image
Image
Nadharia Nyuma ya Mradi
Nadharia Nyuma ya Mradi

Mikono ya roboti hutumiwa sana katika tasnia. Ikiwa ni kwa shughuli za mkutano, kulehemu au hata moja hutumiwa kwa kupandikiza kwenye ISS (Kituo cha Anga cha Kimataifa), husaidia wanadamu katika kazi au wanachukua nafasi ya mwanadamu kabisa. Silaha ambayo nimejenga ni uwakilishi mdogo wa mkono wa roboti ambao unatakiwa kutumiwa kwa kusonga vitu. Inadhibitiwa na arduino pro mini ambayo tayari imejengwa katika maktaba ya kudhibiti servos. Servos inadhibitiwa na PWM (Pulse Width Modulation) ambayo sio ngumu kupanga lakini maktaba hii inafanya iwe rahisi. Mtumiaji anaweza kudhibiti servos hizo na potentiometers ambazo zimebuniwa kutenda kama wagawanyaji wa voltage au kutoka kwa programu kwenye PC inayotumia slider 4 za kudhibiti motors za servo.

Kwa mradi huu ilibidi nitengeneze PCB yangu ya kawaida na kuifanya, tengeneza mifano ya 3D ya mkono na andika nambari inayodhibiti yote. Juu yake niliandika programu ya ziada katika chatu ambayo hutuma ishara kwa arduino ambayo inaweza kuamua ishara hiyo na kusonga servos kuweka nafasi ya mtumiaji huyo.

Hatua ya 1: Nadharia Nyuma ya Mradi

Nadharia Nyuma ya Mradi
Nadharia Nyuma ya Mradi

Arduino ni nzuri kwa njia ambayo inatoa maktaba ya bure ya kufanya kazi nayo. Kwa mradi huu nilitumia maktaba Servo.h ambayo inafanya kudhibiti servos iwe rahisi sana.

Servo motor inadhibitiwa na PWM -Pulse Modding Width- ambayo inamaanisha kuwa ili kudhibiti servo unahitaji kufanya mapigo mafupi ya voltage. Servo inaweza kuamua urefu wa ishara hii na kuzunguka kwa nafasi iliyopewa. Na hapa ndipo nilipotumia maktaba iliyotajwa tayari. Sikulazimika kuhesabu urefu wa ishara peke yangu lakini nilitumia kazi za maktaba ambayo mimi hupitisha tu parameter kwa digrii na inafanya ishara.

Kwa kudhibiti servos nilitumia potentiometers ambazo hufanya kama mgawanyiko wa voltage. Bodi za Arduino zina waongofu kadhaa wa analog / dijiti ambao nilitumia kwa mradi huo. Kimsingi arduino ni ufuatiliaji wa voltage kwenye pini ya kati kwenye potentiometer na ikiwa inazunguka kwa voltage moja upande ni 0 Volts (thamani = 0) na kwa upande mwingine ni Volts 5 (thamani = 1023). Thamani hii hupunguzwa kutoka masafa 0 - 1023 hadi 0 - 180 na kisha hupitishwa kwa kazi iliyotajwa tayari.

Mada nyingine ni mawasiliano ya serial na arduino ambayo nitashughulikia kwa kifupi tu. Kimsingi mpango ulioandikwa kwenye PC hutuma thamani iliyochaguliwa na mtumiaji, arduino anaweza kuipambanua na kusogeza servo kwa nafasi iliyopewa

Hatua ya 2: Kubuni PCB

Kubuni PCB
Kubuni PCB
Kubuni PCB
Kubuni PCB
Kubuni PCB
Kubuni PCB

Niliunda PCB 2 - moja kwa udhibiti kuu ni wapi arduino na pini za servos na kwa pili ni potentiometers. Sababu ya PCB mbili ni kwamba nilitaka kudhibiti mkono wa roboti kutoka umbali salama. Mizunguko yote miwili imeunganishwa na kebo ya urefu uliopewa - kwa upande wangu 80 cm.

Kwa chanzo cha umeme nilichagua adapta ya nje kwa sababu servos ambazo nilitumia hutumia nguvu nyingi kuliko uwezo wa arduino. Kama unaweza kuona kuna capacitors ambazo sijazitaja bado. Ni capacitors kutumika kwa kuchuja. Kama unavyojua sasa, servo motor inadhibitiwa na msukumo mfupi. Msukumo huo unaweza kufanya matone ya voltage ya usambazaji na potentiometers ambazo hapo awali zilikuwa na volts 0-5 sasa zina anuwai ndogo. Hiyo inamaanisha kuwa voltage kwenye pini ya kati inabadilika na arduino hupata dhamana hii na hubadilisha msimamo ambao ni servo motor. Hii inaweza kuendelea milele na inasababisha kusumbuliwa kusikohitajika ambayo inaweza kuondolewa na capacitors zingine zinazofanana na usambazaji.

Hatua ya 3: Kufanya PCB

Kufanya PCB
Kufanya PCB
Kufanya PCB
Kufanya PCB
Kufanya PCB
Kufanya PCB

Kwa kutengeneza PCB nakushauri usome hii.

Nilitumia Iron kwenye njia ya karatasi ya Glossy na ilifanya kazi vizuri.

Kisha nikauza sehemu kwenye PCB. Unaweza kuona kuwa nilitumia tundu la arduino ikiwa nitahitaji baadaye.

Hatua ya 4: Kubuni Mkono

Kubuni Mkono
Kubuni Mkono
Kubuni Mkono
Kubuni Mkono
Kubuni Mkono
Kubuni Mkono

Hii haikuwa sehemu ngumu kabisa ya kufanya mradi huu.

Usanidi mzima umetengenezwa kutoka sehemu 8 ambapo 4 hazihamishi sehemu - sanduku la potentiometers na msingi ambapo arduino iko - na nyingine nne ni mkono wenyewe. Sitaenda kwa maelezo mengi isipokuwa kwamba muundo ni mzuri na kwa njia rahisi. Imeundwa kutoshea PCB yangu na servos ambazo nitajumuisha kwenye orodha ya sehemu.

Hatua ya 5: Kuchapa Sehemu

Kuchapa Sehemu
Kuchapa Sehemu
Kuchapa Sehemu
Kuchapa Sehemu
Kuchapa Sehemu
Kuchapa Sehemu

Sehemu zilichapishwa kwenye printa ya Prusa. Nyuso zingine zilihitaji kusagwa kidogo na mashimo yakachimba visima. Pia nguzo zinazounga mkono zinahitajika kuondolewa.

Hatua ya 6: Kuiweka Pamoja

Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja

Katika hatua hii kama kichwa kinasema nimeiweka yote pamoja.

Mwanzoni niliuza waya kwenye potentiometers na kisha zile waya kwenye PCB. Potentiometers zilitoshea vizuri kwenye mashimo na nikatia moto PCB kwenye nguzo ambazo zilichapishwa chini ya sanduku. Unaweza kuchimba mashimo kwenye ubao na ndani ya sanduku lakini nikagundua kuwa gluing ni zaidi ya kutosha. Kisha nikafunga sehemu zote mbili za sanduku na kuziweka sawa na visu 4 ambazo zinafaa kwenye mashimo ambayo nilitengeneza.

Kama hatua inayofuata nilifanya kebo ya Ribbon gorofa kuunganisha bodi zote mbili.

Katika sanduku kuu niliuza waya kutoka kwa pini ya kiunganishi cha VCC kubadili na kisha kwa Vcc ya bodi na kutoka GND ya bodi hadi GND ya kiunganishi. Kisha nikawaka gundi kiunganishi mahali na bodi kwenye nguzo. Kiunganishi kinafaa ndani ya shimo kwa hivyo hakuna gundi moto inahitajika.

Halafu, kwa kutumia screws niliunganisha servo ya chini chini ya sanduku.

Baada ya hapo niliweka sehemu ya juu ya sanduku kwenye sehemu ya chini na sawa na sanduku la potentiometer nililinda na visu 4.

Sehemu inayofuata ilikuwa ngumu kidogo lakini niliweza kuweka mkono wote uliobaki pamoja na karanga na pedi kadhaa na haikuwa ngumu kama nilivyotarajia kwa sababu nilibuni uvumilivu kati ya sehemu, kwa hivyo ni rahisi kufanya kazi nao.

Na kama hatua ya mwisho niliweka mkanda chini ya sanduku kwa sababu vinginevyo zingekuwa zikiteleza.

Hatua ya 7: Kupanga Arduino

Kupanga Arduino
Kupanga Arduino
Kupanga Arduino
Kupanga Arduino
Kupanga Arduino
Kupanga Arduino

Nimesema tayari jinsi programu inavyofanya kazi kwa nadharia nyuma ya mradi, lakini nitaivunja hata zaidi.

Kwa hivyo mwanzoni tunahitaji kufafanua anuwai kadhaa. Hasa imenakiliwa mara 4 kwa sababu tuna servos 4 na kwa maoni yangu sio lazima kufanya mantiki ngumu zaidi tu kufanya mpango uwe mfupi zaidi.

Ifuatayo kuna usanidi batili ambapo pini za servos hufafanuliwa.

Halafu kuna kitanzi batili - sehemu ya programu ambayo hupunguka sana. Katika mpango huu wa sehemu huchukua thamani kutoka kwa mizani ya potentiometer na inaweka kwenye pato. Lakini kuna shida moja kwamba thamani kutoka kwa potentiometer inaruka kidogo sana kwa hivyo nilihitaji kuongeza kichujio ambacho hufanya wastani wa maadili 5 ya mwisho na kisha inaweka pato. Hii inazuia kutetemeka zisizohitajika.

Sehemu ya mwisho ya programu inasoma data kutoka bandari ya serial na huamua nini cha kufanya kulingana na data iliyotumwa.

Ili kuelewa nambari kamili, ninashauri utembelee tovuti rasmi za arduino.

Hatua ya 8: Kupanga programu katika Python

Kupanga programu katika Chatu
Kupanga programu katika Chatu
Kupanga programu katika Chatu
Kupanga programu katika Chatu
Kupanga programu katika Chatu
Kupanga programu katika Chatu

Sehemu hii ya mradi sio lazima lakini nadhani inatoa tu faida zaidi kwa mradi huu.

Chatu hutoa tani za maktaba ambazo ni bure kutumia lakini katika mradi huu ninatumia tu tkinter na serial. Tkinter hutumiwa kwa GUI (Interface ya Mtumiaji wa Picha) na serial kama jina lake inavyosema hutumiwa kwa mawasiliano ya serial.

Nambari hii inaunda GUI na slider 4 ambazo zina kiwango cha chini cha 0 na 180. Inaweza kuwa dokezo kwako kuwa iko kwa digrii na kila kitelezi kimepangwa kudhibiti servo moja. Programu hii ni rahisi - inachukua thamani na kuipeleka kwa arduino. Lakini njia inayotuma inavutia. Ikiwa unachagua kubadilisha thamani ya servo ya kwanza kuwa digrii 123 hutuma kwa thamani ya arduino 1123. Nambari ya kwanza ya kila nambari iliyotumwa inaelezea ni servo ipi inakaribia kudhibitiwa. Arduino ina nambari ambayo inaweza kuamua hii na kusonga servo sahihi.

Hatua ya 9: Orodha ya Sehemu

Orodha ya Sehemu
Orodha ya Sehemu
  • Kipande cha Arduino Pro Mini 1
  • Servo FS5106B kipande 1
  • Servo Futaba S3003 vipande 2
  • Bandika kichwa 2x5 kipande 1
  • Bandika kichwa 1x3 vipande 6
  • Capacitor 220uF vipande 3
  • Kipande cha Micro Servo FS90 1
  • Kontakt vipande vya AWP-10 2
  • Kiunganishi FC681492 kipande 1
  • Badilisha kipande cha P-B100G1 1
  • Soketi 2x14 kipande 1
  • TTL-232R-5v - kibadilishaji kipande 1
  • Potentiometer B200K vipande 4
  • na screws nyingi zaidi, pedi na karanga

Hatua ya 10: Mawazo ya Mwisho

Asante kwa kusoma hii na ninatumahi kuwa angalau nimekuhamasisha. Huu ni mradi wangu mkubwa wa kwanza ambao nimefanya peke yangu bila kunakili vitu kutoka kwa wavuti na chapisho la kwanza la kufundishia. Najua kwamba mkono unaweza kuboreshwa lakini nimeridhika nao kwa sasa. Sehemu zote na nambari za chanzo ni bure, unakaribishwa kuitumia na kuibadilisha kwa njia yoyote unayotaka. Ikiwa una maswali yoyote jisikie huru kuwauliza katika sehemu ya maoni. Unaweza pia kutazama video, hazina ubora lakini zinaonyesha utendaji wa mradi.

Ilipendekeza: