Sadržaj:

Mahnite rukom da kontrolirate OWI robotsku ruku Nema vezanih žica: 10 koraka (sa slikama)
Mahnite rukom da kontrolirate OWI robotsku ruku Nema vezanih žica: 10 koraka (sa slikama)

Video: Mahnite rukom da kontrolirate OWI robotsku ruku Nema vezanih žica: 10 koraka (sa slikama)

Video: Mahnite rukom da kontrolirate OWI robotsku ruku Nema vezanih žica: 10 koraka (sa slikama)
Video: Множество разноцветных и бесцветных карт из издания Time Spiral Remastered 2024, Novembar
Anonim
Image
Image
Delovi
Delovi

IDEJA:

Na Instructables.com (od 13. maja 2015.) postoje još najmanje 4 druga projekta oko izmjene ili kontrole OWI Robotic Arm -a. Nije iznenađujuće jer je to sjajan i jeftin robotski komplet za igru. Ovaj je projekt sličan po duhu (tj. Upravljanje robotskom rukom pomoću Arduina), ali različit u pristupu. [video]

Ideja je omogućiti bežično upravljanje robotskom rukom pokretima. Također, pokušao sam svesti modifikacije Robotskog Arma na minimum, tako da se i dalje može koristiti s originalnim kontrolerom.

Zvuči jednostavno.

Ono što je na kraju bio trodijelni projekat:

  1. Rukavica opremljena sa dovoljno senzora za upravljanje LED diodama i 5 motora
  2. Uređaj predajnika zasnovan na Arduinu Nano -u za prihvaćanje komandnih naredbi iz rukavice i bežično slanje na uređaj za kontrolu naoružanja
  3. Bežični prijemnik i uređaj za upravljanje motorom zasnovan na Arduino Uno priključen na OWI Robotic Arm

OSOBINE

  1. Podrška za svih 5 stepeni slobode (DOF) i LED diode
  2. Veliko crveno dugme - za trenutno zaustavljanje motora na ruci sprečavajući oštećenja
  3. Prijenosni modularni dizajn

Za korisnike mobilnih uređaja: "promotivni video" ovog projekta nalazi se na YouTubeu ovdje.

Korak 1: Dijelovi

RUKAVICA:

Za izradu kontrolera rukavica trebat će vam sljedeće:

  1. Isotoner Smartouch Tech Stretch prošivena rukavica (ili slična) - na Amazon.com
  2. Spectra Symboflex Sensor 2.2 " - na Amazon.com
  3. GY -521 6DOF MPU6050 3 -osi žiroskop + modul ubrzanja - na Fasttech.com
  4. 2X5 GLAVA KUTIJE RAVNA - na Phoenixent.com
  5. 2X5 IDC utičnica -RECEPTACLE - na Phoenixent.com
  6. PLOČASTI KABEL 10 VODIČA.050 "Nagib - na Phoenixent.com
  7. 2 x 5 mm LED diode - zelena i žuta
  8. 2 x mala dugmeta
  9. Otpornici, žice, igla, crni konac, pištolj za ljepilo, pištolj za lemljenje, lemljenje itd.

KUTIJA ZA TRANSMISSION STRAP-ON:

  1. Arduino kompatibilna Nano v3.0 ATmega328P -20AU ploča - na Fasttech.com
  2. nRF24L01+ 2,4 GHz bežični primopredajnik Kompatibilan s Arduinom - na Amazon.com
  3. Gymboss WRISTBAND - na Amazon.com
  4. 9V kućište držača baterije s prekidačem za uključivanje/isključivanje žičanih vodova - na Amazon.com
  5. 2X5 GLAVA KUTIJE RAVNA - na Phoenixent.com
  6. 9v baterija
  7. 47uF (50v) kondenzator
  8. Otpornici, žice, pištolj za ljepilo, pištolj za lemljenje, lemljenje itd.

OWI ROBOTSKA KUTIJA ZA KONTROLU ARME:

  1. Arduino kompatibilna Uno R3 Rev3 razvojna ploča - na Fasttech.com
  2. Prototip Shield DIY KIT za Arduino (ili slično) - na Amazon.com
  3. nRF24L01+ 2,4 GHz bežični primopredajnik Kompatibilan s Arduinom - na Amazon.com
  4. 3 x L293D 16 -pinski integrirani sklop upravljačkog programa motora motora - na Fasttech.com
  5. 1 x SN74HC595 74HC595 8-bitni pomak registara sa izlaznim registrima sa 3 stanja DIP16-na Amazon.com
  6. 47uF (50v) kondenzator
  7. Kutija za Arduino - na Amazon.com
  8. Prekidač za uključivanje/isključivanje
  9. 2 dugmeta od 13 mm (jedan crveni i jedan zeleni poklopac)
  10. 2 x 2X7 GLAVA ZA KUTIJU RAVNA - isto kao gore na Phoenixent.com
  11. PLOČNI TRAKOVI KABL 14 Provodnik.050 "Nagib - isto kao gore na Phoenixent.com
  12. 9v baterija + utični konektor
  13. Otpornici, žice, pištolj za ljepilo, pištolj za lemljenje, lemljenje itd.

… i naravno:

OWI Robotic Arm Edge - Robotska ruka - OWI -535 - na Adafruit.com

Korak 2: PROTOTIPIRANJE

PROTOTIPIRANJE
PROTOTIPIRANJE
PROTOTIPIRANJE
PROTOTIPIRANJE

Snažno predlažem izradu prototipa svakog od upravljačkih uređaja prije lemljenja svih komponenti zajedno.

Ovaj projekt koristi nekoliko izazovnih dijelova hardvera:

nRF24L01

Trebalo mi je neko vreme da nateram dva nRF24 da razgovaraju. Očigledno da niti Nano, niti Uno ne pružaju dovoljno stabilizirane snage 3,3 V da bi moduli radili dosljedno. Rješenje u mom slučaju bio je kondenzator od 47uF preko pinova za napajanje na oba nRF24 modula. Postoji i nekoliko poteškoća u korištenju RF24 biblioteke u IRQ i ne-IRQ načinima, pa preporučujem da pažljivo proučite primjere.

Nekoliko sjajnih resursa:

nRF24L01 Stranica proizvoda proizvoda IC RF primopredajnika ultra niske snage 2,4 GHz

Stranica biblioteke upravljačkih programa RF24

Samo guglanje nRF24 + arduino proizvest će mnogo veza. Vrijedi istražiti

74HC595 SHIFT REGISTER

Nije iznenađujuće što sam morao kontrolirati 5 motora, LED diodu, dva gumba i bežični modul, pa sam relativno brzo ostao bez pinova na Uno -u. Poznati način za "proširenje" broja pin -ova je upotreba registra pomaka. Budući da je nRF24 već koristio SPI sučelje, odlučio sam koristiti SPI i za programiranje registara pomaka (za brzinu i spremanje pinova) umjesto funkcije shiftout (). Na moje iznenađenje, od prvog je puta djelovao kao šarm. To možete provjeriti u dodjeli pinova i u skicama.

Oglasna ploča i kratkospojne žice su vaši prijatelji.

Korak 3: RUKAVICE

GLOVE
GLOVE
GLOVE
GLOVE
GLOVE
GLOVE
GLOVE
GLOVE

OWI Robotic ARM ima 6 stavki za kontrolu (slika OWI Robotic Arm Edge)

  1. LED dioda koja se nalazi na GRIPPER -u uređaja
  2. GRIPPER
  3. A WRIST
  4. KOLJENJE - je dio robotske ruke pričvršćen na ZGLOB
  5. RAČA je dio robotske ruke pričvršćen na BAZU
  6. A BASE

Rukavica je dizajnirana za kontrolu LED diode robotske ruke i svih 5 motora (stepeni slobode).

Imam pojedinačne senzore označene na slikama, kao i donji opis:

  1. GRIPPER -om se upravlja pomoću dugmadi na srednjem prstu i ružičaste boje. Hvatač se zatvara pritiskom kažiprsta i srednjeg prsta zajedno. Gripper se otvara pritiskom prstena i pinky zajedno.
  2. WRIST -om upravlja fleksibilni otpornik na tražilici indeksa. Uvijanje prsta do pola čini zglob spuštenim, a uvijanje do kraja čini zglob gore. Držanje kažiprsta ravno zaustavlja zglob.
  3. KOLJENO se kontrolira akcelerometrom - naginjanje dlana prema gore i dolje pomiče lakat gore i dolje
  4. RAČU kontrolira akcelerometar - naginjanje dlana udesno i ulijevo (ne naopako!) Pomiče rame prema gore i prema dolje
  5. BASE se kontrolira i akcelerometrom, slično ramenu - naginjanje dlana udesno i ulijevo skroz naopako (dlan okrenut prema gore) pomiče bazu desno odnosno lijevo
  6. LED dioda na hvataljki se uključuje/isključuje pritiskom zajedno na oba kontrolna dugmeta hvataljke.

Svi odgovori dugmeta odlažu se za 1/4 sekunde kako bi se izbjeglo podrhtavanje.

Sklapanje rukavice zahtijeva malo lemljenja i puno šivanja. U osnovi je samo pričvršćivanje 2 gumba, fleksibilnog otpornika, Accel/žiroskopskog modula na tkaninu rukavice i usmjeravanje žica do kutije za konektore.

Dvije LED diode na priključnoj kutiji su:

  1. ZELENO - uključeno
  2. ŽUTO - treperi kada se podaci prenose u upravljačku kutiju za ruku.

Korak 4: PRENOSNA KUTIJA

PRENOSNIK KUTIJA
PRENOSNIK KUTIJA
PRENOSNIK KUTIJA
PRENOSNIK KUTIJA
PRENOSNIK KUTIJA
PRENOSNIK KUTIJA

Kutija odašiljača je u osnovi Arduino Nano, bežični modul nRF24, fleksibilni žičani konektor i 3 otpornika: 2 otporna otpornika od 10 kOhm za kontrolne tipke hvataljke na rukavici i otpornik podjele napona od 20 kOhm za fleksibilni senzor koji kontrolira zglob.

Sve je lemljeno zajedno na vero-ploči. Imajte na umu da nRF24 "visi" nad Nano -om. Bio sam zabrinut da bi to moglo uzrokovati smetnje, ali radi.

Korištenje 9v baterije čini dio za pričvršćivanje malo glomaznim, ali nisam želio petljati s LiPo baterijama. Možda kasnije.

Za upute o lemljenju pogledajte korak dodjele pinova

Korak 5: UPRAVLJAČKA KUTIJA

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

Upravljačka kutija za ruke je zasnovana na Arduino Uno. Bežično prima naredbe od rukavice preko nRF24 modula i kontrolira OWI Robotoc Arm putem 3 upravljačka čipa L293D.

Budući da su gotovo svi Uno pinovi iskorišteni, unutar kutije ima puno žica - jedva se zatvara!

Po dizajnu, kutija se pokreće u načinu rada ISKLJUČENO (kao da je pritisnuto dugme za zaustavljanje), dajući operateru vremena da stavi rukavicu i pripremi se. Nakon što je spreman, operater pritisne zeleno dugme, a veza između rukavice i kontrolne kutije trebala bi se odmah uspostaviti (što pokazuje žuta LED dioda na rukavici i crvena LED dioda na kontrolnoj kutiji).

POVEZIVANJE NA OWI

Povezivanje s robotskom rukom vrši se putem 14 -polnog dvorednog zaglavlja (prema gornjoj slici) putem 14 -žičnog ravnog kabela.

  • LED priključci su na zajedničko uzemljenje (-) i arduino pin A0 preko otpornika od 220 Ohma
  • Sve žice motora spojene su na pinove L293D 3/6 ili 11/14 (+/-). Svaki L293D podržava 2 motora, dakle dva para pinova.
  • OWI vodovi su krajnji lijevi (+6v) i krajnji desni (GND) pinovi 7 -polnog konektora na stražnjoj strani žutog vrha. (Na gornjoj slici možete vidjeti priključene žice). Ova dva su spojena na pinove 8 (+) i 4, 5, 12, 13 (GND) na sva tri L293D.

Ostatak dodjele pinova pogledajte u sljedećem koraku

Korak 6: DODJELA PIN -a

DODJELA PIN -a
DODJELA PIN -a
DODJELA PIN -a
DODJELA PIN -a
DODJELA PIN -a
DODJELA PIN -a

NANO:

  • 3.3v - 3.3v na nRF24L01 čip (pin 2)
  • 5v - 5v na ploču za akcelerometar, dugmad, fleksibilni senzor
  • a0 - ulaz fleksibilnog otpornika
  • a1 - žuta "comms" LED kontrola
  • a4 - SDA na mjerač ubrzanja
  • a5 - SCL na mjerač ubrzanja
  • d02 - čip nRF24L01 Prekidač pin (pin 8)
  • d03 - otvor za ulaz dugmeta hvataljke
  • d04 - zatvori ulaz tipkom hvataljke
  • d09 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d10 - SPI CS pin na čip nRF24L01 (pin 3)
  • d11 - SPI MOSI prema nRF24L01 čipu (pin 6)
  • d12 - SPI MISO prema nRF24L01 čipu (pin 7)
  • d13 - SPI SCK prema nRF24L01 čipu (pin 5)
  • Vin - 9v +
  • GND - zajedničko tlo

UNO:

  • 3.3v - 3.3v na nRF24L01 čip (pin 2)
  • Dugmad 5v - 5v na
  • Vin - 9v +
  • GND - zajedničko tlo
  • a0 - LED za zglob +
  • a1 - SPI SS pin za Shift Register Odaberite - za pin 12 na Shift Register
  • a2 - ULAZ CRVENIM dugmetom
  • a3 - Unos ZELENIM dugmetom
  • a4 - smjer osnove desno - pin 15 na L293D
  • a5 - komunikacija LED
  • d02 - nRF24L01 IRQ ulaz (pin 8)
  • d03 - omogućite osnovni servo (pwm) pin 1 ili 9 na L293D
  • d04 - osnova smjera lijevo - pin 10 na odgovarajućem L293D
  • d05 - omogućite rameni servo (pwm) pin 1 ili 9 na L293D
  • d06 - omogućavanje servo (pwm) servo koljena pin 1 ili 9 na L293D
  • d07 - SPI CSN pin na čip nRF24L01 (pin 4)
  • d08 - SPI CS pin na čip nRF24L01 (pin 3)
  • d09 - omogućite servo (pwm) pin 1 ili 9 na L293D
  • d10 - omogućite servo (pwm) servo hvataljke pin 1 ili 9 na L293D
  • d11 - SPI MOSI na čip nRF24L01 (pin 6) i pin 14 na registru pomaka
  • d12 - SPI MISO prema nRF24L01 čipu (pin 7)
  • d13 - SPI SCK na čip nRF24L01 (pin 5) i pin 11 na registru pomaka

REGISTAR MJENJA I L293D:

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

Korak 7: KOMUNIKACIJA

KOMUNIKACIJA
KOMUNIKACIJA

Rukavica šalje 2 bajta podataka u kontrolnu kutiju 10 puta u sekundi ili kad god se primi signal sa jednog od senzora.

2 bajta su dovoljna za 6 kontrola jer samo moramo poslati:

  • ON/OFF za LED (1 bit) - Zapravo sam koristio 2 bita da budem u skladu s motorima, ali jedan je dovoljan
  • OFF/DESNO/LIJEVO za 5 motora: po 2 bita = 10 bita

Ukupno 11 ili 12 bita je dovoljno.

Kodovi smjerova:

  • OFF: 00
  • DESNO: 01
  • LIJEVO: 10

Kontrolna riječ izgleda ovako (bitovno):

Bajt 2 ---------------- Bajt 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 - hvataljka
  • M2 - ručni zglob
  • M3 - lakat
  • M4 - rame
  • M5 - baza

Bajt 1 se može prikladno unijeti izravno u registar pomaka, budući da kontrolira smjer desno/lijevo motora 1 do 4.

Za komunikaciju je omogućeno vremensko ograničenje od 2 sekunde. Ako dođe do isteka vremena, svi motori se zaustavljaju kao da je pritisnuto CRVENO dugme.

Korak 8: SKETKE i više …

SKICE i više…
SKICE i više…

GLOVE

Skica rukavica koristi sljedeće biblioteke:

  • DirectIO - dostupno na Githubu
  • I2Cdev - dostupno na Githubu
  • Wire - dio Arduino IDE -a
  • MPU6050 - dostupno na Githubu
  • SPI - dio Arduino IDE -a
  • RF24 - dostupno na Githubu

i tri biblioteke koje sam razvio:

  • AvgFilter - dostupno na Githubu
  • DhpFilter - dostupno na Githubu
  • TaskScheduler - dostupno na Githubu

Skica rukavica dostupna je ovdje: Skica rukavica v1.3

ARM CONTROL BOX

Skica ruke koristi sljedeće biblioteke:

  • DirectIO - dostupno na Githubu
  • PinChangeInt - dostupno na Githubu
  • SPI - dio Arduino IDE -a
  • RF24 - dostupno na Githubu

i biblioteku koju sam razvio:

TaskScheduler - dostupno na Githubu

Skica ruke dostupna je ovdje: Skica ruke v1.3

Tehnički listovi za korišteni hardver

  • 74HC595 registar pomaka - tehnički list
  • Vozač motora L293D - tehnički list
  • bežični modul nRF24 - tehnički list
  • MPU6050 Akcelerometar/modul žiroskopa - tehnički list

31. maj 2015. AŽURIRAJTE:

Nova verzija skica kontrolne kutije za rukavice i ruke dostupna je ovdje: Skice za rukavice i ruke v1.5

Ovde se takođe nalaze na github -u.

Promjene

  • Dodana su još dva bajta u komunikacijsku strukturu za slanje tražene brzine motora za zglobne, lakatne, ramene i bazne motore kao 5 -bitnu vrijednost (0.. 31) iz rukavice proporcionalno kutu kontrolne geste (vidi dolje). Arm Control Box preslikava vrijednosti [0.. 31] na odgovarajuće PWM vrijednosti za svaki od motora. Ovo omogućava postupnu kontrolu brzine od strane operatera i preciznije rukovanje rukom.
  • Novi skup pokreta:

1. LED: Dugmad za kontrolu dugmadi - dugme za srednji prst - UKLJUČENO, dugme za mali prst - ISKLJUČENO

2. GRIPPER: Fleksibilne kontrole trakaste hvataljke - polusavijeni prst - OTVOREN, potpuno savijeni prst - ZATVORENO

3. ZGLOD: Zglob se kontrolira naginjanjem dlana iz potpuno vodoravnog položaja prema gore i prema dolje. Više nagiba proizvodi veću brzinu

4. ARM: Rukom se upravlja naginjanjem dlana iz potpuno vodoravnih položaja LIJEVO i DESNO. Više nagiba proizvodi veću brzinu

5. RAČA: Rame se kontrolira rotiranjem dlana DESNO i LIJEVO od dlana usmjerenog ravno prema gore. Dlan se rotira duž osi lakta (kao i mahanje rukom)

6. OSNOVA: Baza se kontrolira na isti način kao i rame s dlanom usmjerenim prema dolje.

Korak 9: ŠTA JOŠ?

ŠTA JOŠ?
ŠTA JOŠ?

MAŠTA NA RADU

Kao i obično sa takvim sistemima, mogli bi se programirati da učine mnogo više.

Na primjer, trenutni dizajn već uključuje dodatne sposobnosti, što nije moguće sa standardnim daljinskim upravljačem:

  • Postepeno povećanje brzine: svaki pokret motora započinje unaprijed definiranom minimalnom brzinom, koja se postupno povećava svakih 1 sekundu dok se ne postigne maksimalna brzina. Ovo omogućava precizniju kontrolu svakog motora (posebno ručnog zgloba i hvataljke)
  • Brže otkazivanje kretanja: kada Arm Box primi naredbu da zaustavi motor, ona trenutno preokreće motor za oko 50 ms, čime se "prekida" kretanje i omogućava preciznija kontrola.

ŠTA JOŠ?

Možda bi se mogli primijeniti složeniji kontrolni pokreti. Ili se istovremeni pokreti mogu koristiti za složene kontrole. Može li ruka igrati?

Ako imate ideju kako ponovo programirati rukavicu ili imate verziju skice koju želite da testiram - obavijestite me: [email protected]

Korak 10: *** POBJEDILI SMO !!! ***

*** OSVOJILI SMO !!! ***
*** OSVOJILI SMO !!! ***

Ovaj projekat osvojio je prvu nagradu na takmičenju Kodirane kreacije koje sponzorira Microsoft.

Provjeri! WOO-HOO !!!

Kodirane kreacije
Kodirane kreacije
Kodirane kreacije
Kodirane kreacije

Druga nagrada u kodiranim kreacijama

Preporučuje se: