Sisukord:
- Samm: osad
- 2. etapp: prototüüpimine
- 3. samm: KINDAD
- Samm 4: SAATJAKAST
- Samm 5: VÄLI KONTROLLIKAST
- 6. toiming: PIN -koodide määramine
- 7. samm: KOMMUNIKATSIOON
- Samm: visandid ja palju muud …
- 9. samm: mis veel?
- 10. samm: *** VÕITSIME !!! ***
Video: OWI robotkäe juhtimiseks viipake käega Ei mingeid nööre: 10 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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:
- Kinnas, millel on piisavalt andureid LED -i ja 5 mootori juhtimiseks
- Arduino Nano -põhine saatja, mis võtab vastu kinnaselt saadud juhtimiskäske ja saadab need juhtmevabalt käsikontrolleri seadmele
- Arduino Uno-põhine traadita vastuvõtja ja mootori juhtimisseade, mis on ühendatud OWI robotkäe külge
FUNKTSIOONID
- Toetab kõiki 5 vabadusastet (DOF) ja LED -i
- Suur punane nupp - mootorite viivitamatuks seiskamiseks, et vältida kahjustusi
- Kaasaskantav modulaarne disain
Mobiilikasutajatele: selle projekti "reklaamvideo" on YouTube'is siin.
Samm: osad
KINDAS:
Kindakontrolleri ehitamiseks vajate järgmist.
- Isotoner Smartouch Tech Stretch Stitched Glove (või sarnane) - saidil Amazon.com
- Spectra Symboflex Sensor 2.2 " - veebisaidil Amazon.com
- GY -521 6DOF MPU6050 3 -teljeline güroskoop + kiirendusmõõturi moodul - veebisaidil Fasttech.com
- 2X5 BOX HEAD STRAIGHT - saidil Phoenixent.com
- 2X5 IDC SOCKET -RECEPTACLE - saidil Phoenixent.com
- FLAT RIBBON CABLE 10 Dirigent.050 "Pitch - on Phoenixent.com
- 2 x 5 mm LED - roheline ja kollane
- 2 x väikesed nupud
- Takistid, juhtmed, nõel, must niit, liimipüstol, jootmispüstol, joodis jne.
Ülekande rihm:
- Arduino ühilduv Nano v3.0 ATmega328P -20AU pardal - saidil Fasttech.com
- nRF24L01+ 2,4 GHz traadita transiiver Arduino ühilduv - Amazon.com
- Gymboss WRISTBAND - saidil Amazon.com
- 9V patareipesa ümbris koos juhtme ON/OFF lülitiga - Amazon.com
- 2X5 BOX HEAD STRAIGHT - saidil Phoenixent.com
- 9v aku
- 47uF (50v) kondensaator
- Takistid, juhtmed, liimipüstol, jootmispüstol, joodis jne.
OWI ROBOTIC ARM CONTROLLER BOX:
- Arduinoga ühilduv Uno R3 Rev3 arendusnõukogu - saidil Fasttech.com
- Prototüüp Shield DIY KIT Arduinole (või sarnasele) - saidil Amazon.com
- nRF24L01+ 2,4 GHz traadita transiiver Arduino ühilduv - Amazon.com
- 3 x L293D 16 -kontaktiline integraallülituse IC mootoridraiver - veebisaidil Fasttech.com
- 1 x SN74HC595 74HC595 8-bitine nihkeregister kolme oleku väljundregistriga DIP16-Amazon.com
- 47uF (50v) kondensaator
- Kast Arduino jaoks - saidil Amazon.com
- Sisse/välja lüliti
- 2 x 13 mm nuppu (üks punane ja üks roheline müts)
- 2 x 2X7 BOX HEADER STRAIGHT - sama nagu ülal Phoenixent.com -is
- FLAT RIBBON CABLE 14 Dirigent.050 "Pitch - sama nagu ülal Phoenixent.com
- 9v aku + klamber
- 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
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
OWI Robotic ARM -il on 6 üksust, mida juhtida (OWI Robotic Arm Edge Picture)
- Seadme haaratsil asuv LED
- Haarats
- RANNA
- Küünarnukk - see on käeosa, mis on randme külge kinnitatud
- ÕLG on aluse külge kinnitatud robotkäe osa
- 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:
- 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.
- 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.
- Küünarnukki juhib kiirendusmõõtur - peopesa kallutamine üles ja alla liigutab küünarnuki vastavalt üles ja alla
- ÕLGA kontrollitakse kiirendusmõõturiga - peopesa kallutamine paremale ja vasakule (mitte tagurpidi!) Liigutab õla vastavalt üles ja alla
- BASE -d juhitakse ka kiirendusmõõturiga, sarnaselt õlale - peopesa kallutamine paremale ja vasakule tagurpidi (peopesa ülespoole) liigutab alust vastavalt paremale ja vasakule
- 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:
- ROHELINE - lülitage sisse
- KOLLANE - vilgub, kui andmed edastatakse käsivarre juhtkasti.
Samm 4: SAATJAKAST
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
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
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
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 …
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?
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 !!! ***
See projekt võitis Microsofti sponsoreeritud konkursil Coded Creations esimese auhinna.
Vaata järgi! WOO-HOO !!!
Teine auhind kodeeritud loomingus
Soovitan:
Weasley asukohakell nelja käega: 11 sammu (piltidega)
„Weasley” asukohakell nelja käega: Niisiis tahtsin Raspberry Pi -ga, mis oli juba mõnda aega ringi liikunud, leida toreda projekti, mis võimaldaks mul seda kõige paremini ära kasutada. Sattusin ppeters0502 selle suurepärase juhendatava, oma Weasley asukoha kella juurde ja arvasin, et
Kuidas: siduda kingad ühe käega: 10 sammu
Kuidas: siduda kingad ühe käega: kuidas juhendada ühe jalaga kingade sidumist
Laheda robotkäe valmistamine: 7 sammu (piltidega)
Laheda robotkäe valmistamine: LeArm on suure jõudlusega programmeeritav robotkäsi. See võib liikuda väga paindlikult ja haarata erinevates suundades. Täielik metallist kerekonstruktsioon muudab robotkäe stabiilseks ja ilusaks! Nüüd tutvustame selle kokkupanekut. Nii et saate sellele anda
Kuuma traadi lõikuri robotkäe tööriist: 8 sammu (piltidega)
Kuum traatlõikur Robot Arm Tool: Kopenhaagenis KADK -is oma lõputöö projekti raames olen uurinud kuuma traadi lõikamist ja robotite valmistamist. Selle valmistamismeetodi testimiseks olen teinud robotkäele kuuma traadi kinnituse. Traat pidi ulatuma 700 mm, kuid materjal
Robotkäe jaoks sobiva haaratsi valmistamine: 6 sammu (piltidega)
Robotkäe jaoks sobiva haaratsi valmistamine: Selles projektis kavandame ja ehitame vidina, mida saab lisada terrootilisele käele või mis tahes mehhanismile, mis vajab haaratseid. Meie haarats näeb välja nagu teised kaubanduslikud haaratsid, mida saab programmeerida ja modulaarne. See juhis on näidatud pi