Sisukord:

OWI robotkäe juhtimiseks viipake käega Ei mingeid nööre: 10 sammu (piltidega)
OWI robotkäe juhtimiseks viipake käega Ei mingeid nööre: 10 sammu (piltidega)

Video: OWI robotkäe juhtimiseks viipake käega Ei mingeid nööre: 10 sammu (piltidega)

Video: OWI robotkäe juhtimiseks viipake käega Ei mingeid nööre: 10 sammu (piltidega)
Video: Dobot2 2024, November
Anonim
Image
Image
Osad
Osad

IDEE:

Veebisaidil Instructables.com (13. mai 2015 seisuga) on veel vähemalt 4 projekti, mis on seotud OWI Robotic Arm muutmise või juhtimisega. Pole üllatav, sest see on nii suurepärane ja odav robotikomplekt, millega mängida. See projekt on vaimult sarnane (st kontrollige robotkätt koos Arduinoga), kuid lähenemisviis on erinev. [video]

Idee on juhtida robotkätt juhtmevabalt žestide abil. Samuti proovisin robotkäe muudatusi võimalikult vähe hoida, nii et seda saaks siiski kasutada koos algse kontrolleriga.

Kõlab lihtsalt.

Lõppkokkuvõttes on see kolmeosaline projekt:

  1. Kinnas, millel on piisavalt andureid LED -i ja 5 mootori juhtimiseks
  2. Arduino Nano -põhine saatja, mis võtab vastu kinnaselt saadud juhtimiskäske ja saadab need juhtmevabalt käsikontrolleri seadmele
  3. Arduino Uno-põhine traadita vastuvõtja ja mootori juhtimisseade, mis on ühendatud OWI robotkäe külge

FUNKTSIOONID

  1. Toetab kõiki 5 vabadusastet (DOF) ja LED -i
  2. Suur punane nupp - mootorite viivitamatuks seiskamiseks, et vältida kahjustusi
  3. Kaasaskantav modulaarne disain

Mobiilikasutajatele: selle projekti "reklaamvideo" on YouTube'is siin.

Samm: osad

KINDAS:

Kindakontrolleri ehitamiseks vajate järgmist.

  1. Isotoner Smartouch Tech Stretch Stitched Glove (või sarnane) - saidil Amazon.com
  2. Spectra Symboflex Sensor 2.2 " - veebisaidil Amazon.com
  3. GY -521 6DOF MPU6050 3 -teljeline güroskoop + kiirendusmõõturi moodul - veebisaidil Fasttech.com
  4. 2X5 BOX HEAD STRAIGHT - saidil Phoenixent.com
  5. 2X5 IDC SOCKET -RECEPTACLE - saidil Phoenixent.com
  6. FLAT RIBBON CABLE 10 Dirigent.050 "Pitch - on Phoenixent.com
  7. 2 x 5 mm LED - roheline ja kollane
  8. 2 x väikesed nupud
  9. Takistid, juhtmed, nõel, must niit, liimipüstol, jootmispüstol, joodis jne.

Ülekande rihm:

  1. Arduino ühilduv Nano v3.0 ATmega328P -20AU pardal - saidil Fasttech.com
  2. nRF24L01+ 2,4 GHz traadita transiiver Arduino ühilduv - Amazon.com
  3. Gymboss WRISTBAND - saidil Amazon.com
  4. 9V patareipesa ümbris koos juhtme ON/OFF lülitiga - Amazon.com
  5. 2X5 BOX HEAD STRAIGHT - saidil Phoenixent.com
  6. 9v aku
  7. 47uF (50v) kondensaator
  8. Takistid, juhtmed, liimipüstol, jootmispüstol, joodis jne.

OWI ROBOTIC ARM CONTROLLER BOX:

  1. Arduinoga ühilduv Uno R3 Rev3 arendusnõukogu - saidil Fasttech.com
  2. Prototüüp Shield DIY KIT Arduinole (või sarnasele) - saidil Amazon.com
  3. nRF24L01+ 2,4 GHz traadita transiiver Arduino ühilduv - Amazon.com
  4. 3 x L293D 16 -kontaktiline integraallülituse IC mootoridraiver - veebisaidil Fasttech.com
  5. 1 x SN74HC595 74HC595 8-bitine nihkeregister kolme oleku väljundregistriga DIP16-Amazon.com
  6. 47uF (50v) kondensaator
  7. Kast Arduino jaoks - saidil Amazon.com
  8. Sisse/välja lüliti
  9. 2 x 13 mm nuppu (üks punane ja üks roheline müts)
  10. 2 x 2X7 BOX HEADER STRAIGHT - sama nagu ülal Phoenixent.com -is
  11. FLAT RIBBON CABLE 14 Dirigent.050 "Pitch - sama nagu ülal Phoenixent.com
  12. 9v aku + klamber
  13. Takistid, juhtmed, liimipüstol, jootmispüstol, joodis jne.

… Ja muidugi:

OWI Robotic Arm Edge - Robotikäsi - OWI -535 - saidil Adafruit.com

2. etapp: prototüüpimine

PROTOTÜÜPIMINE
PROTOTÜÜPIMINE
PROTOTÜÜPIMINE
PROTOTÜÜPIMINE

Soovitan tungivalt prototüüpida iga kontrolleri seade enne kõigi komponentide kokku jootmist.

See projekt kasutab mõnda keerulist riistvara:

nRF24L01

Mul võttis natuke aega, enne kui need kaks nRF24 omavahel rääkima hakkasid. Ilmselt ei anna ei Nano ega Uno piisavalt stabiliseeritud 3,3 V võimsust, et moodulid järjekindlalt töötaksid. Minu puhul oli lahendus mõlema nRF24 mooduli toitepistikute 47uF kondensaator. RF24 teegi kasutamisel IRQ ja mitte-IRQ režiimides on ka mõned veidrused, seega soovitan näiteid tõesti hoolikalt uurida.

Paar suurepärast ressurssi:

nRF24L01 Eriti väikese võimsusega 2,4 GHz raadiosaatja -vastuvõtja IC tooteleht

RF24 draiveriteegi leht

Lihtsalt googeldades nRF24 + arduino toodab palju linke. Tasub uurida

74HC595 VAHETUSREGISTREERIMINE

Pole üllatav, et kui pidin juhtima 5 mootorit, LED -i, kahte nuppu ja traadita moodulit, said Uno tihvtid suhteliselt kiiresti otsa. Tuntud viis pin -arvu "laiendamiseks" on nihkeregistri kasutamine. Kuna nRF24 kasutas juba SPI liidest, otsustasin shiftout () asemel kasutada SPI -d ka vahetusregistrite programmeerimiseks (kiiruse ja nööpnõelte salvestamiseks). Minu üllatuseks töötas see esmakordselt nagu võlu. Saate seda kontrollida tihvtide määramisel ja visanditel.

Leivalaud ja hüppaja juhtmed on teie sõbrad.

3. samm: KINDAD

KINDAS
KINDAS
KINDAS
KINDAS
KINDAS
KINDAS
KINDAS
KINDAS

OWI Robotic ARM -il on 6 üksust, mida juhtida (OWI Robotic Arm Edge Picture)

  1. Seadme haaratsil asuv LED
  2. Haarats
  3. RANNA
  4. Küünarnukk - see on käeosa, mis on randme külge kinnitatud
  5. ÕLG on aluse külge kinnitatud robotkäe osa
  6. ALUS

Kinnas on mõeldud Robot Arm'i LED -i ja kõigi 5 mootori (vabadusastmed) juhtimiseks.

Mul on piltidele märgitud üksikud andurid ja kirjeldus allpool:

  1. Haaratsit juhivad keskmise sõrme nupud ja roosakas. Haarats suletakse, vajutades nimetissõrme ja keskmist sõrme kokku. Haarats avatakse, vajutades rõngast ja roosat koos.
  2. WRIST -i juhib indeksiotsija paindlik takisti. Sõrme pooleks kõverdamine paneb randme allapoole ja lõpuni kõverdades randme üles. Nimetissõrme sirgeks jäämine peatab randme.
  3. Küünarnukki juhib kiirendusmõõtur - peopesa kallutamine üles ja alla liigutab küünarnuki vastavalt üles ja alla
  4. ÕLGA kontrollitakse kiirendusmõõturiga - peopesa kallutamine paremale ja vasakule (mitte tagurpidi!) Liigutab õla vastavalt üles ja alla
  5. BASE -d juhitakse ka kiirendusmõõturiga, sarnaselt õlale - peopesa kallutamine paremale ja vasakule tagurpidi (peopesa ülespoole) liigutab alust vastavalt paremale ja vasakule
  6. Haaratsi LED lülitatakse sisse/välja, vajutades mõlemat haaratsi juhtnuppu kokku.

Kõik nupuvajutused lükatakse värisemise vältimiseks 1/4 sekundi võrra edasi.

Kinda kokkupanek nõuab mõningast jootmist ja palju õmblemist. Põhimõtteliselt on see lihtsalt 2 nupu, painduva takisti, Accel/Gyro mooduli kinnitamine kinda kangale ja juhtmete ühendamine pistikukasti külge.

Ühenduskarbil on kaks LED -i:

  1. ROHELINE - lülitage sisse
  2. KOLLANE - vilgub, kui andmed edastatakse käsivarre juhtkasti.

Samm 4: SAATJAKAST

SAATJA KARP
SAATJA KARP
SAATJA KARP
SAATJA KARP
SAATJA KARP
SAATJA KARP

Saatja karp on sisuliselt Arduino Nano, juhtmevaba moodul nRF24, painduv juhtmepistik ja 3 takistit: 2 allalastavat 10 kOhm takisti haaratsi juhtnuppude jaoks kindal ja pingejaotus 20 kOhm takisti randme juhtimiseks painduva anduri jaoks.

Kõik on joodetud vero-tahvlile. Pange tähele, et nRF24 "ripub" Nano kohal. Olin mures, et see võib tekitada häireid, kuid see töötab.

9v aku kasutamine muudab rihmaga kinnitatava osa natuke mahukamaks, kuid ma ei tahtnud LiPo akudega jamada. Võib-olla hiljem.

Palun vaadake jootmisjuhiseid tihvtide määramise etapist

Samm 5: VÄLI KONTROLLIKAST

VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP
VÄLIJUHTIMISKARP

Käte juhtimiskast põhineb Arduino Unol. See võtab kindalt käske vastu juhtmevabalt nRF24 mooduli kaudu ja juhib OWI Robotoc Arm'i kolme L293D draiveri kiibi kaudu.

Kuna kasutati peaaegu kõiki Uno tihvte, on karbi sees palju juhtmeid - see vaevalt sulgub!

Kujunduse järgi algab kast väljalülitatud režiimis (nagu oleks vajutatud redstop -nuppu), andes operaatorile aega kinda jalga panemiseks ja valmistumiseks. Kui operaator on valmis, vajutab ta rohelist nuppu ning ühendus kinda ja juhtimiskasti vahel tuleb kohe luua (nagu näitab kollane LED kindal ja punane LED juhtkarbil).

ÜHENDAMINE OWI -ga

Ühendus robotvarrega toimub 14 -kontaktilise kaherealise päise kaudu (vastavalt ülaltoodud pildile) 14 -juhtmelise lamekaabli kaudu.

  • LED-ühendused on ühismaa (-) ja arduino tihvtiga A0 220 oomi takisti kaudu
  • Kõik mootorijuhtmed on ühendatud pistikutega L293D 3/6 või 11/14 (vastavalt +/-). Iga L293D toetab 2 mootorit, seega kahte paari tihvte.
  • OWI toiteliinid on kollase ülaosa tagaküljel asuva 7 -kontaktilise pistiku vasakpoolsemad (+6v) ja parempoolsemad (GND) kontaktid. (Ülaltoodud pildil näete ühendatud juhtmeid). Need kaks on ühendatud kõigi kolme L293D pistikuga 8 (+) ja 4, 5, 12, 13 (GND).

Palun vaadake ülejäänud tihvtide määramist järgmisel sammul

6. toiming: PIN -koodide määramine

PIN -ÜLESANNE
PIN -ÜLESANNE
PIN -ÜLESANNE
PIN -ÜLESANNE
PIN -ÜLESANNE
PIN -ÜLESANNE

NANO:

  • 3.3v - 3.3v kuni nRF24L01 kiip (tihvt 2)
  • 5–5 V kiirendusmõõturile, nupud, paindlik andur
  • a0 - painduv takisti sisend
  • a1 - kollane "comms" LED -juhtimine
  • a4 - SDA kiirendusmõõturile
  • a5 - SCL kiirendusmõõturile
  • d02 - nRF24L01 kiibi katkestustihvt (tihvt 8)
  • d03 - avatud haaratsi nupu sisend
  • d04 - haaratsi sulgemisnupu sisend
  • d09 - SPI CSN tihvt kiibile nRF24L01 (tihvt 4)
  • d10 - SPI CS tihvt kiibile nRF24L01 (tihvt 3)
  • d11 - SPI MOSI kuni nRF24L01 kiip (tihvt 6)
  • d12 - SPI MISO kiibile nRF24L01 (tihvt 7)
  • d13 - SPI SCK kiibile nRF24L01 (tihvt 5)
  • Vin - 9v +
  • GND - ühisosa

UNO:

  • 3.3v - 3.3v kuni nRF24L01 kiip (tihvt 2)
  • 5v - 5v nuppudele
  • Vin - 9v +
  • GND - ühisosa
  • a0 - randme LED +
  • a1 - SPI SS tihvt käiguvahetusregistrisse Valige - nihkeregistrisse 12
  • a2 - punase nupu sisend
  • a3 - rohelise nupu sisend
  • a4 - suuna alus parem - tihvt 15 L293D -l
  • a5 - comms led
  • d02 - nRF24L01 IRQ sisend (tihvt 8)
  • d03 - lubage L293D baasservo (pwm) tihvt 1 või 9
  • d04 - suuna alus vasakul - tihvt 10 vastaval L293D -l
  • d05 - lubage õla servo (pwm) tihvt 1 või 9 seadmel L293D
  • d06 - lubage küünarnuki servo (pwm) tihvt 1 või 9 seadmel L293D
  • d07 - SPI CSN tihvt kiibile nRF24L01 (tihvt 4)
  • d08 - SPI CS tihvt kiibile nRF24L01 (tihvt 3)
  • d09 - lubage randme servo (pwm) tihvt 1 või 9 seadmel L293D
  • d10 - lubage haaratsi servo (pwm) tihvt 1 või 9 seadmel L293D
  • d11 - SPI MOSI kiibile nRF24L01 (tihvt 6) ja tihvt 14 nihkeregistris
  • d12 - SPI MISO kiibile nRF24L01 (tihvt 7)
  • d13 - SPI SCK kiibile nRF24L01 (tihvt 5) ja tihvt 11 nihkeregistris

VAHETUSREGISTREERIMINE JA L293D:

  • tihvti QA (15) 74HC595 kuni L293D #1 tihvti 2
  • pin QB (1) 74HC595 kuni L293D #1 tihvt 7
  • 74HC595 tihvti QC (2) kuni L293D #1 tihvti 10
  • pin QD (3) 74HC595 kuni L293D #1 tihvt 15
  • tihvti QE (4) 74HC595 kuni L293D #2 tihvti 2
  • 74HC595 tihvti QF (5) kuni L293D #2 tihvti 7
  • pin QG (6) 74HC595 kuni L293D #2 tihvt 10
  • pin QH (7) 74HC595 kuni L293D #2 tihvt 15

7. samm: KOMMUNIKATSIOON

KOMMUNIKATSIOON
KOMMUNIKATSIOON

Glove saadab juhtimisseadmesse 2 baiti andmeid 10 korda sekundis või alati, kui võetakse vastu ühe anduri signaal.

2 baiti piisab kuue juhtelemendi jaoks, sest meil on vaja ainult saata:

  • LED -i ON/OFF (1 bit) - kasutasin tegelikult 2 bitti, et olla mootoritega kooskõlas, kuid ühest piisab
  • VÄLJAS/PAREM/VASAK 5 mootorile: 2 bitti = 10 bitti

Kokku piisab 11 või 12 bitist.

Suunakoodid:

  • VÄLJAS: 00
  • ÕIGE: 01
  • VASAK: 10

Kontrollsõna näeb välja selline (natuke tark):

Bait 2 ---------------- Bait 1 ----------------

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 LED-M5-- M4-- M3-- M2-- M1--

  • M1 - haarats
  • M2 - randmeosa
  • M3 - küünarnukk
  • M4 - õlg
  • M5 - alus

Baiti 1 saab mugavalt otse vahetusregistrisse sisestada, kuna see juhib mootorite 1 kuni 4 paremat/vasakut suunda.

Suhtlemiseks on lubatud 2 -sekundiline ajalõpp. Ajalõpu ilmnemisel peatatakse kõik mootorid, nagu oleks punast nuppu vajutatud.

Samm: visandid ja palju muud …

SKETCHES ja palju muud…
SKETCHES ja palju muud…

KINDAS

Kinnaste visand kasutab järgmisi teeke:

  • DirectIO - saadaval Githubis
  • I2Cdev - saadaval Githubis
  • Traat - osa Arduino IDE -st
  • MPU6050 - saadaval Githubis
  • SPI - osa Arduino IDE -st
  • RF24 - saadaval Githubis

ja kolm minu väljatöötatud raamatukogu:

  • AvgFilter - saadaval Githubist
  • DhpFilter - saadaval Githubis
  • TaskScheduler - saadaval Githubis

Kindade eskiis on saadaval siin: Glove Sketch v1.3

VÄLIJUHTIMISKARP

Käe visand kasutab järgmisi teeke:

  • DirectIO - saadaval Githubis
  • PinChangeInt - saadaval Githubis
  • SPI - osa Arduino IDE -st
  • RF24 - saadaval Githubis

ja minu loodud raamatukogu:

TaskScheduler - saadaval Githubis

Käe eskiis on saadaval siin: Arm Sketch v1.3

Kasutatud riistvara andmelehed

  • 74HC595 vahetuste register - andmeleht
  • L293D mootorijuht - andmeleht
  • nRF24 traadita moodul - andmeleht
  • MPU6050 kiirendusmõõturi/güroskoobi moodul - andmeleht

31. mai 2015 UPDATE:

Kinnaste ja käsivarre juhtkarbi eskiiside uus versioon on saadaval siin: kinda- ja käejoonised v1.5

Need asuvad ka siin githubis.

Muudatused

  • Lisati kommunikatsioonistruktuurile veel kaks baiti, et saata randme-, küünarnuki-, õla- ja baasmootorite soovitud mootori kiirus 5 -bitise väärtusena (0.. 31) kindast, mis on proportsionaalne juhtimisnurga nurgaga (vt allpool). Arm Control Box kaardistab väärtused [0.. 31] iga mootori vastavate PWM väärtustega. See võimaldab operaatoril järkjärgulist kiiruse juhtimist ja käe täpsemat käsitsemist.
  • Uus žestide komplekt:

1. LED: nuppude juhtimise LED - keskmise sõrme nupp - sees, pinkie sõrme nupp - väljas

2. Haarats: painduvad ribakontrollid Haarats - pool painutatud sõrm - AVATUD, täielikult painutatud sõrm - SULGE

3. RANNE: randmet juhitakse, kallutades peopesa täielikult horisontaalsest asendist vastavalt üles ja alla. Suurem kalle annab suurema kiiruse

4. ARM: käsivart juhitakse, kallutades peopesa täielikult horisontaalsest asendist VASAK ja PAREM. Suurem kalle annab suurema kiiruse

5. ÕLGAD: Õla juhib peopesa pööramine paremale ja vasakule peopesast otse ülespoole. Peopesa pööratakse mööda küünarnukitelge (nagu ka käega vehkides)

6. ALUS: Alust juhitakse samamoodi nagu õlga, peopesa on suunatud otse alla.

9. samm: mis veel?

MIDA VEEL?
MIDA VEEL?

KUJUTLUS TÖÖL

Nagu selliste süsteemide puhul tavaliselt, võiks neid programmeerida tegema palju rohkem.

Näiteks sisaldab praegune disain juba lisavõimalusi, mis pole tavalise kaugjuhtimispuldiga võimalikud:

  • Kiiruse järkjärguline suurendamine: iga mootori liigutus käivitatakse etteantud minimaalse kiirusega, mida suurendatakse järk -järgult iga 1 sekundi tagant, kuni saavutatakse maksimaalne kiirus. See võimaldab täpsemalt juhtida kõiki mootoreid (eriti randmet ja haaratsit)
  • Kiirem liikumise tühistamine: kui käepide saab käsu mootor peatada, pöörab see mootori hetkeks tagasi umbes 50 ms, "purustades" liikumise ja võimaldades täpsemat juhtimist.

MIDA VEEL?

Võib -olla saaks rakendada keerukamaid kontrollžeste. Või samaaegseid žeste võiks kasutada keerukamate juhtnuppude jaoks. Kas Arm oskab tantsida?

Kui teil on idee, kuidas kinnast ümber programmeerida, või teil on eskiisi versioon, mida soovite, et ma testiksin - andke mulle sellest teada: [email protected]

10. samm: *** VÕITSIME !!! ***

*** ME VÕITSIME !!! ***
*** ME VÕITSIME !!! ***

See projekt võitis Microsofti sponsoreeritud konkursil Coded Creations esimese auhinna.

Vaata järgi! WOO-HOO !!!

Kodeeritud looming
Kodeeritud looming
Kodeeritud looming
Kodeeritud looming

Teine auhind kodeeritud loomingus

Soovitan: