Talaan ng mga Nilalaman:

Wave Your Hand to Control OWI Robotic Arm Walang Kalakip na Mga String: 10 Hakbang (na may Mga Larawan)
Wave Your Hand to Control OWI Robotic Arm Walang Kalakip na Mga String: 10 Hakbang (na may Mga Larawan)

Video: Wave Your Hand to Control OWI Robotic Arm Walang Kalakip na Mga String: 10 Hakbang (na may Mga Larawan)

Video: Wave Your Hand to Control OWI Robotic Arm Walang Kalakip na Mga String: 10 Hakbang (na may Mga Larawan)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Nobyembre
Anonim
Image
Image
Mga Bahagi
Mga Bahagi

ANG IDEYA:

Mayroong hindi bababa sa 4 iba pang mga proyekto sa Instructables.com (hanggang Mayo 13, 2015) sa paligid ng pagbabago o pagkontrol sa OWI Robotic Arm. Hindi nakakagulat, dahil ito ay isang mahusay at hindi magastos na robotic kit na mapaglalaruan. Ang proyektong ito ay katulad sa espiritu (ibig sabihin, kontrolin ang Robotic Arm sa Arduino), ngunit magkakaiba sa diskarte. [video]

Ang ideya ay upang makontrol ang Robotic Arm nang wireless gamit ang mga kilos. Gayundin, sinubukan kong panatilihing isang minimum ang mga pagbabago ng Robotic Arm, kaya maaari pa rin itong magamit sa orihinal na controller.

Simple lang ang tunog.

Ang natapos na pagiging isang isang tatlong-bahagi na proyekto:

  1. Ang isang gwantes na nilagyan ng sapat na mga sensor upang makontrol ang isang LED at 5 mga motor
  2. Ang isang Arduino Nano based transmitter device upang tanggapin ang mga control control mula sa guwantes at ipadala ito nang wireless sa aparato ng Arm controller
  3. Isang Arduino Uno-based wireless receiver at motor control device na nakakabit sa OWI Robotic Arm

TAMPOK

  1. Suporta para sa lahat ng 5 Degree Of Freedom (DOF) at ang LED
  2. Big Red Button - upang agad na ihinto ang mga motor sa Arm na pumipigil sa pinsala
  3. Portable na modular na disenyo

Para sa mga mobile na gumagamit: ang "pampromosyong video" ng proyektong ito ay nasa YouTube dito.

Hakbang 1: Mga Bahagi

GLOVE:

Kakailanganin mo ang sumusunod upang makabuo ng isang glove controller:

  1. Isotoner Smartouch Tech Stretch Stitched Glove (o katulad) - sa Amazon.com
  2. Spectra Symboflex Sensor 2.2 "- sa Amazon.com
  3. GY-521 6DOF MPU6050 3 Axis Gyroscope + Accelerometer Module - sa Fasttech.com
  4. 2X5 BOX HEADER STRAIGHT - sa Phoenixent.com
  5. 2X5 IDC SOCKET-RecEPTACLE - sa Phoenixent.com
  6. FLAT RIBBON CABLE 10 Conductor.050 "Pitch - sa Phoenixent.com
  7. 2 x 5mm LEDs - Green at Dilaw
  8. 2 x Maliit na Mga Pindutan
  9. Ang mga resistors, wires, karayom, itim na thread, glue gun, soldering gun, solder, atbp.

TRANSMISSION STRAP-ON BOX:

  1. Compatible ng Arduino Nano v3.0 ATmega328P-20AU Board - sa Fasttech.com
  2. nRF24L01 + 2.4GHz Wireless Transceiver Arduino Tugmang - sa Amazon.com
  3. Gymboss WRISTBAND - sa Amazon.com
  4. 9V Case ng Holder ng Baterya ng Baterya na may Wire Lead ON / OFF Switch - sa Amazon.com
  5. 2X5 BOX HEADER STRAIGHT - sa Phoenixent.com
  6. 9v na baterya
  7. 47uF (50v) capacitor
  8. Mga resistor, wires, glue gun, soldering gun, solder, atbp.

OWI ROBOTIC ARM CONTROLLER BOX:

  1. Katugmang Arduino Uno R3 Rev3 Development Board - sa Fasttech.com
  2. Prototype Shield DIY KIT para sa Arduino (o katulad) - sa Amazon.com
  3. nRF24L01 + 2.4GHz Wireless Transceiver Arduino Tugmang - sa Amazon.com
  4. 3 x L293D 16-pin Integrated Circuit IC Motor Driver - sa Fasttech.com
  5. 1 x SN74HC595 74HC595 8-Bit Shift Registro Sa Mga Rehistro ng Output na 3-Estado DIP16 - sa Amazon.com
  6. 47uF (50v) capacitor
  7. Box para sa Arduino - sa Amazon.com
  8. On / Off switch
  9. 2 x 13mm na mga pindutan (isang Pula at isang berdeng takip)
  10. 2 x 2X7 BOX HEADER STRAIGHT - pareho sa itaas sa Phoenixent.com
  11. FLAT RIBBON CABLE 14 Conductor.050 "Pitch - pareho sa itaas sa Phoenixent.com
  12. 9v baterya + konektor sa clip-on
  13. Mga resistor, wires, glue gun, soldering gun, solder, atbp.

… at syempre:

OWI Robotic Arm Edge - Robot arm - OWI-535 - sa Adafruit.com

Hakbang 2: PROTOTYPING

PROTOTYPING
PROTOTYPING
PROTOTYPING
PROTOTYPING

Masidhi kong iminumungkahi na prototyping ang bawat isa sa mga aparato ng controller bago magkasama ang lahat ng mga bahagi.

Gumagamit ang proyektong ito ng ilang mga mapaghamong piraso ng hardware:

nRF24L01

Kinuha ako saglit upang makausap ang dalawa nRF24. Maliwanag na alinman sa Nano, o Uno ay nagbibigay ng sapat na nagpapatatag na lakas ng 3.3v para sa mga module na gumana nang tuluy-tuloy. Ang isang solusyon sa aking kaso ay isang 47uF capacitor sa kabuuan ng mga power pin sa parehong modyul na nRF24. Mayroon ding ilang mga quirks sa paggamit ng RF24 library sa IRQ at mga hindi IRQ mode, kaya inirerekumenda kong pag-aralan ang mga halimbawa nang maingat.

Isang pares ng mga mahusay na mapagkukunan:

nRF24L01 Ultra low power 2.4GHz Pahina ng Produkto ng RF Transceiver IC

Pahina ng library ng RF24 Driver

Ang googling nRF24 + arduino lamang ay makakapagdulot ng maraming mga link. Ito ay nagkakahalaga ng pagsasaliksik

74HC595 SHIFT REGISTER

Hindi nakakagulat na kontrolin ang 5 mga motor, isang LED, dalawang mga pindutan at isang module na Wireless Naubusan ako ng mga pin sa Uno medyo mabilis. Ang kilalang paraan upang "pahabain" ang iyong bilang ng pin ay ang paggamit ng isang rehistro sa shift. Dahil ang nRF24 ay gumagamit na ng interface ng SPI, napagpasyahan kong gamitin ang SPI para sa paglilipat ng rehistro din ng programa (para sa bilis at i-save ang mga pin) sa halip na ang shiftout () na pagpapaandar. Nagulat ako na gumana ito tulad ng isang alindog mula sa unang pagkakataon. Maaari mong suriin ito sa pagtatalaga ng pin at sa mga sketch.

Kaibigan mo ang Breadboard at jumper wires.

Hakbang 3: MAG-GLOVE

MAG-GLOVE
MAG-GLOVE
MAG-GLOVE
MAG-GLOVE
MAG-GLOVE
MAG-GLOVE
MAG-GLOVE
MAG-GLOVE

Ang OWI Robotic ARM ay may 6 na item upang makontrol (Larawan ng OWI Robotic Arm Edge)

  1. Isang LED na matatagpuan sa GRIPPER ng aparato
  2. Isang GRIPPER
  3. ISANG MANSULAT
  4. Ang isang SUKO - ay ang bahagi ng robotic arm na nakakabit sa WRIST
  5. Ang isang SHOULDER ay ang bahagi ng robotic arm na nakakabit sa BASE
  6. BASE

Ang guwantes ay idinisenyo upang makontrol ang Robotic Arm's LED at lahat ng 5 motor (Degree of Freedom).

Mayroon akong mga indibidwal na sensor na minarkahan sa mga larawan pati na rin ang isang paglalarawan sa ibaba:

  1. Ang GRIPPER ay kinokontrol ng mga pindutan na matatagpuan sa gitnang daliri at kulay rosas. Ang gripper ay sarado sa pamamagitan ng pagpindot sa index at gitnang mga daliri nang magkasama. Ang gripper ay bubuksan sa pamamagitan ng pagpindot sa singsing at pinky na magkasama.
  2. Ang WRIST ay kinokontrol ng nababaluktot na risistor sa tagahanap ng index. Ang pagkulot ng daliri sa kalahating paraan ay nagpapababa sa pulso, at ang pagkakulot nito sa lahat ng paraan ay nagpapataas ng pulso. Ang pagpapanatiling deretso sa hintuturo ay tumitigil sa pulso.
  3. Ang ELBOW ay kinokontrol ng accelerometer - Pagkiling ng palad pataas at pababa gumagalaw ang siko pataas at pababa ayon sa pagkakabanggit
  4. Ang SHOULDER ay kinokontrol ng accelerometer - Pagkiling ng palad sa kanan at sa kaliwa (hindi baligtad!) Inililipat ang balikat pataas at pababa ayon sa pagkakabanggit
  5. Ang BASE ay kinokontrol ng accelerometer din, katulad ng balikat - pagkiling ng palad sa kanan at sa kaliwa hanggang baligtad (nakaharap ang palad) inililipat ang base sa kanan at kaliwa ayon sa pagkakabanggit
  6. Ang LED sa gripper ay naka-on / naka-off sa pamamagitan ng pagpindot sa parehong mga pindutan ng control gripper.

Ang lahat ng mga tugon sa pindutan ay naantala ng 1/4 ng isang segundo upang maiwasan ang jitter.

Ang pagtitipon ng guwantes ay nangangailangan ng ilang paghihinang at maraming pananahi. Talaga ay nakakabit lamang ito ng 2 mga pindutan, nababaluktot na risistor, module ng Accel / Gyro sa tela ng guwantes at mga pagruruta na mga wire sa kahon ng konektor.

Dalawang LEDs sa kahon ng koneksyon ay:

  1. GREEN - kapangyarihan sa
  2. DILAW - kumurap kapag ang data ay naipadala sa kahon ng kontrol sa braso.

Hakbang 4: TRANSMITTER BOX

TRANSMITTER BOX
TRANSMITTER BOX
TRANSMITTER BOX
TRANSMITTER BOX
TRANSMITTER BOX
TRANSMITTER BOX

Ang kahon ng transmiter ay mahalagang Arduino Nano, nRF24 wireless module, kakayahang umangkop wire konektor at 3 resistors: 2 pull-down 10 kOhm resistors para sa mga pindutan ng control ng gripper sa guwantes, at isang boltahe ng dibisyon na 20 kOhm risistor para sa kakayahang umangkop ng sensor na kumokontrol sa pulso.

Lahat ay soldered magkasama sa isang vero-board. Tandaan na ang nRF24 ay "nakasabit" kay Nano. Nag-alala ako na maaaring maging sanhi ito ng pagkagambala, ngunit gumagana ito.

Ang paggamit ng 9v na baterya ay ginagawang medyo malaki ang strap-on na bahagi, ngunit hindi ko nais na makagulo sa mga baterya ng LiPo. Baka mamaya.

Mangyaring tingnan ang hakbang sa pagtatalaga ng pin para sa mga tagubilin sa paghihinang

Hakbang 5: ARM CONTROL BOX

ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX
ARM CONTROL BOX

Ang control box ng braso ay batay sa Arduino Uno. Tumatanggap ito ng mga utos mula sa guwantes nang wireless sa pamamagitan ng nRF24 module, at kinokontrol ang OWI Robotoc Arm sa pamamagitan ng 3 L293D driver chips.

Dahil halos lahat ng mga pin ng Uno ay ginamit, maraming mga wires sa loob ng kahon - bahagya itong magsara!

Sa pamamagitan ng disenyo, ang kahon ay nagsisimula sa mode na OFF (na parang isang pindutang redstop ay pinindot), na nagbibigay ng oras sa operator upang ilagay ang guwantes at maghanda. Kapag handa na, pinindot ng operator ang berdeng pindutan, at ang koneksyon sa pagitan ng guwantes at control box ay dapat na agad na maitatag (tulad ng ipinahiwatig ng dilaw na LED sa guwantes at pulang LED sa control box).

Nakakonekta sa OWI

Ang koneksyon sa robotic arm ay ginawa sa pamamagitan ng 14 pin dual row header (ayon sa larawan sa itaas) sa pamamagitan ng 14 wire flat cable.

  • Ang mga koneksyon sa LED ay sa karaniwang lupa (-) at arduino pin A0 sa pamamagitan ng resistor ng 220 Ohm
  • Ang lahat ng mga wire ng motor ay konektado sa mga L293D na pin 3/6, o 11/14 (+/- ayon sa pagkakabanggit). Sinusuportahan ng bawat L293D ang 2 motor, samakatuwid dalawang pares ng mga pin.
  • Ang mga linya ng OWI Power ay kaliwa (+ 6v) at pinaka-kanan (GND) na mga pin ng 7 pin na konektor sa likod ng dilaw na tuktok. (Maaari mong makita ang mga wires na naka-plug in sa larawan sa itaas). Ang dalawang ito ay konektado sa mga pin 8 (+) at 4, 5, 12, 13 (GND) sa lahat ng tatlong L293Ds.

Mangyaring tingnan ang natitirang pagtatalaga ng pin sa susunod na hakbang

Hakbang 6: TAKDANG-ARALIN SA PIN

TAKDANG-ARALIN sa PIN
TAKDANG-ARALIN sa PIN
TAKDANG-ARALIN sa PIN
TAKDANG-ARALIN sa PIN
TAKDANG-ARALIN sa PIN
TAKDANG-ARALIN sa PIN

NANO:

  • 3.3v - 3.3v sa nRF24L01 chip (pin 2)
  • 5v - 5v sa board ng Accelerometer, mga pindutan, kakayahang umangkop na sensor
  • a0 - kakayahang umangkop na input ng risistor
  • a1 - dilaw na "comms" LED control
  • a4 - SDA sa accelerometer
  • a5 - SCL sa accelerometer
  • d02 - nRF24L01 chip Makagambala pin (pin 8)
  • d03 - buksan ang gripper input input
  • d04 - isara ang pindutan ng gripper input
  • d09 - SPI CSN pin sa nRF24L01 chip (pin 4)
  • d10 - SPI CS pin sa nRF24L01 chip (pin 3)
  • d11 - SPI MOSI sa nRF24L01 chip (pin 6)
  • d12 - SPI MISO hanggang nRF24L01 chip (pin 7)
  • d13 - SPI SCK sa nRF24L01 chip (pin 5)
  • Vin - 9v +
  • GND - karaniwang batayan

UNO:

  • 3.3v - 3.3v sa nRF24L01 chip (pin 2)
  • 5v - 5v sa mga pindutan
  • Vin - 9v +
  • GND - karaniwang batayan
  • a0 - LED ng pulso +
  • a1 - SPI SS pin para sa Pagpili ng Rehistro ng Shift - upang i-pin ang 12 sa Shift Rehistro
  • a2 - Pag-input ng pindutan na RED
  • a3 - GREEN na pag-input ng pindutan
  • a4 - direktang base sa direksyon - pin 15 sa L293D
  • a5 - pinangunahan ng mga comms
  • d02 - nRF24L01 IRQ input (pin 8)
  • d03 - paganahin ang base servo (pwm) pin 1 o 9 sa L293D
  • d04 - direksyon base kaliwa - pin 10 sa kani-kanilang L293D
  • d05 - paganahin ang balikat servo (pwm) pin 1 o 9 sa L293D
  • d06 - paganahin ang elbow servo (pwm) pin 1 o 9 sa L293D
  • d07 - SPI CSN pin sa nRF24L01 chip (pin 4)
  • d08 - SPI CS pin sa nRF24L01 chip (pin 3)
  • d09 - paganahin ang wrist servo (pwm) pin 1 o 9 sa L293D
  • d10 - paganahin ang gripper servo (pwm) pin 1 o 9 sa L293D
  • d11 - SPI MOSI sa nRF24L01 chip (pin 6) at pin 14 sa Shift Register
  • d12 - SPI MISO hanggang nRF24L01 chip (pin 7)
  • d13 - SPI SCK sa nRF24L01 chip (pin 5) at pin 11 sa Shift Register

SHIFT REGISTER AT L293Ds:

  • pin QA (15) ng 74HC595 sa pin 2 ng L293D # 1
  • i-pin ang QB (1) ng 74HC595 sa pin 7 ng L293D # 1
  • pin QC (2) ng 74HC595 sa pin 10 ng L293D # 1
  • i-pin ang QD (3) ng 74HC595 sa pin 15 ng L293D # 1
  • i-pin ang QE (4) ng 74HC595 sa pin 2 ng L293D # 2
  • pin QF (5) ng 74HC595 sa pin 7 ng L293D # 2
  • i-pin ang QG (6) ng 74HC595 sa pin 10 ng L293D # 2
  • i-pin ang QH (7) ng 74HC595 sa pin 15 ng L293D # 2

Hakbang 7: KOMUNIKASYON

KOMUNIKASYON
KOMUNIKASYON

Nagpapadala ang guwantes ng 2 byte ng data sa control box 10 beses bawat segundo o tuwing may natatanggap na isang senyas mula sa isa sa mga sensor.

2 byte ay sapat para sa 6 na kontrol sapagkat kailangan lamang namin magpadala:

  • ON / OFF para sa LED (1 bit) - Gumamit talaga ako ng 2 bits upang maging pare-pareho sa mga motor, ngunit sapat ang isa
  • OFF / RIGHT / LEFT para sa 5 motor: 2 bit bawat = 10 bits

Kabuuang 11 o 12 na piraso ay sapat.

Mga code ng direksyon:

  • OFF: 00
  • KANAN: 01
  • KALIWA: 10

Ganito ang pagkontrol ng salita (medyo matalino):

Byte 2 ---------------- Byte 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 - gripper
  • M2 - pulso
  • M3 - siko
  • M4 - balikat
  • M5 - base

Ang byte 1 ay maaaring maginhawang pakain nang direkta sa rehistro ng shift, dahil ang kumokontrol sa kanan / kaliwang direksyon ng mga motor 1 hanggang 4.

Ang isang timeout ng 2 segundo ay pinagana para sa mga komunikasyon. Kung naganap ang pag-timeout, ang lahat ng mga motor ay hihinto na parang isang pindutang RED ang pinindot.

Hakbang 8: SKETCHES at Higit Pa…

SKETCHES at Higit Pa…
SKETCHES at Higit Pa…

MAG-GLOVE

Gumagamit ang guwantes na sketch ng mga sumusunod na aklatan:

  • DirectIO - magagamit sa Github
  • I2Cdev - magagamit sa Github
  • Wire - bahagi ng Arduino IDE
  • MPU6050 - magagamit sa Github
  • SPI - bahagi ng Arduino IDE
  • RF24 - magagamit sa Github

at tatlong aklatan na binuo ko:

  • AvgFilter - magagamit ng Github
  • DhpFilter - magagamit sa Github
  • TaskScheduler - magagamit sa Github

Magagamit ang sketch ng guwantes dito: Glove Sketch v1.3

ARM CONTROL BOX

Gumagamit ang arm sketch ng mga sumusunod na aklatan:

  • DirectIO - magagamit sa Github
  • PinChangeInt - magagamit sa Github
  • SPI - bahagi ng Arduino IDE
  • RF24 - magagamit sa Github

at isang aklatan na binuo ko:

TaskScheduler - magagamit sa Github

Magagamit ang arm sketch dito: Arm Sketch v1.3

Mga Data Sheet para sa ginamit na hardware

  • 74HC595 shift register - sheet ng data
  • L293D motor driver - sheet ng data
  • nRF24 wireless module - sheet ng data
  • MPU6050 accelerometer / gyroscope module - sheet ng data

Mayo 31, 2015 UPDATE:

Ang isang bagong bersyon ng mga sketch ng glove at braso ng control box ay magagamit dito: Glove and Arm Sketches v1.5

Matatagpuan din ang mga ito sa github dito.

Mga pagbabago

  • Nagdagdag ng dalawang higit pang mga byte sa istraktura ng komunikasyon upang maipadala ang hiniling na bilis ng motor para sa Wrist, Elbow, Shoulder at Base motor bilang isang 5 bit na halaga (0.. 31) mula sa proporsyonado ng Glove sa anggulo ng kilos ng pagkontrol (tingnan sa ibaba). Ang mga kahon ng Arm Control Box ay nagkakaloob ng mga halagang [0.. 31] sa kani-kanilang mga halagang PWM para sa bawat isa sa mga motor. Nagbibigay-daan ito sa unti-unting kontrol sa bilis ng operator, at mas tumpak na paghawak ng braso.
  • Bagong hanay ng mga kilos:

1. LED: Kinokontrol ng mga Pindutan ang LED - pindutan ng gitnang daliri - ON, pinkie button ng daliri - OFF

2. GRIPPER: Ang kakayahang umangkop na strip ay kumokontrol sa Gripper - kalahating baluktot na daliri - BUKSAN, ganap na baluktot na daliri - ISADO

3. WRIST: Ang pulso ay kinokontrol ng pag-igting ng palad mula sa ganap na pahalang na posisyon UP at Pababa ayon sa pagkakabanggit. Ang mas maraming ikiling ay gumagawa ng mas maraming bilis

4. ARM: Ang braso ay kinokontrol ng pagkiling ng palad mula sa ganap na pahalang na posisyon LEFT at RIGHT. Ang mas maraming ikiling ay gumagawa ng mas maraming bilis

5. SHOULDER: Ang balikat ay kinokontrol ng pag-ikot ng palad KARAPATAN at KALIWA mula sa palad na tumuturo ng tuwid na posisyon. Paikutin ang palad sa axis ng siko (tulad ng pagwagayway sa iyong kamay)

6. BASE: Ang base ay kinokontrol sa parehong paraan tulad ng balikat na may tuwid na tumuturo pababa.

Hakbang 9: ANO PA?

ANO PA?
ANO PA?

IMAGINATION SA TRABAHO

Tulad ng dati sa mga naturang system, maaari silang mai-program upang makagawa ng higit pa.

Halimbawa, ang kasalukuyang disenyo ay nagsasama na ng mga karagdagang kakayahan, hindi posible sa pamantayang remote:

  • Unti-unting pagtaas ng bilis: bawat kilusan ng motor ay pinasimulan sa isang paunang natukoy na kaunting bilis, na dahan-dahang nadagdagan bawat 1 segundo hanggang sa makamit ang isang maximum na bilis. Pinapayagan nito ang mas tumpak na kontrol ng bawat isa sa mga motor (lalo na ang pulso at gripper)
  • Mas mabilis na pagkansela ng paggalaw: kapag ang utos ay natanggap ng Arm Box upang ihinto ang isang motor, pansamantalang binabaligtad nito ang motor nang halos 50 ms, sa gayon ay "sinira" ang paggalaw, at pinapayagan ang isang mas tumpak na kontrol.

ANO PA?

Marahil ay maaaring ipatupad ang isang mas detalyadong kilos ng kontrol. O maaaring magamit ang mga sabay na kilos para sa detalyadong mga kontrol. Puwede bang sumayaw ang Arm?

Kung mayroon kang isang ideya kung paano i-program muli ang guwantes, o magkaroon ng isang bersyon ng isang sketch na nais mong subukan ko - mangyaring ipaalam sa akin: [email protected]

Hakbang 10: *** NANALO KAMI !!! ***

*** NANALO TAYO !!! ***
*** NANALO TAYO !!! ***

Ang proyektong ito ay nanalo ng Unang Gantimpala sa paligsahan sa Coded Creations na na-sponsor ng Microsoft.

Suriin ito! WOO-HOO !!!

Naka-code na Mga Nilikha
Naka-code na Mga Nilikha
Naka-code na Mga Nilikha
Naka-code na Mga Nilikha

Pangalawang Gantimpala sa Coded Creations

Inirerekumendang: