Taula de continguts:

Agita la mà per controlar el braç robòtic OWI Sense cordes: 10 passos (amb imatges)
Agita la mà per controlar el braç robòtic OWI Sense cordes: 10 passos (amb imatges)

Vídeo: Agita la mà per controlar el braç robòtic OWI Sense cordes: 10 passos (amb imatges)

Vídeo: Agita la mà per controlar el braç robòtic OWI Sense cordes: 10 passos (amb imatges)
Vídeo: Йога для начинающих дома с Алиной Anandee #2. Здоровое гибкое тело за 40 минут. Универсальная йога. 2024, De novembre
Anonim
Image
Image
Parts
Parts

LA IDEA:

Hi ha almenys altres 4 projectes a Instructables.com (a partir del 13 de maig de 2015) al voltant de modificar o controlar OWI Robotic Arm. No és d’estranyar, ja que és un kit robòtic tan fantàstic i econòmic per jugar. Aquest projecte té un esperit similar (és a dir, controla el braç robòtic amb Arduino), però diferent en el plantejament. [vídeo]

La idea és poder controlar el braç robòtic sense fils mitjançant gestos. A més, vaig intentar reduir al mínim les modificacions del braç robòtic, de manera que encara es podria utilitzar amb el controlador original.

Sembla simple.

El que va acabar sent un projecte en tres parts:

  1. Un guant equipat amb prou sensors per controlar un LED i 5 motors
  2. Un dispositiu transmissor basat en Arduino Nano per acceptar ordres de control del guant i enviar-lo sense fils al dispositiu controlador Arm
  3. Dispositiu de control i motor del receptor sense fils basat en Arduino Uno connectat al braç robòtic OWI

CARACTERÍSTIQUES

  1. Suport per als 5 graus de llibertat (DOF) i el LED
  2. Gran botó vermell: per aturar immediatament els motors del braç evitant danys
  3. Disseny modular portàtil

Per a usuaris de mòbils: el "vídeo promocional" d'aquest projecte es troba a YouTube aquí.

Pas 1: parts

GUANT:

Necessiteu el següent per construir un controlador de guants:

  1. Guant cosit Isotoner Smartouch Tech Stretch (o similar): a Amazon.com
  2. Sensor Spectra Symboflex 2.2 ": a Amazon.com
  3. GY-521 6DOF MPU6050 Mòdul de giroscopi de 3 eixos + acceleròmetre - a Fasttech.com
  4. CAPÇAL 2X5 RECTA: a Phoenixent.com
  5. 2X5 IDC SOCKET-RECEPTACLE - a Phoenixent.com
  6. CABLE DE CINTA PLANA 10 Conductor.050 "Pitch - a Phoenixent.com
  7. 2 LEDs de 5 mm: verd i groc
  8. 2 botons petits
  9. Resistències, cables, agulla, fil negre, pistola de colar, pistola de soldar, soldar, etc.

CAIXA CINTURA DE TRANSMISSIÓ:

  1. Placa Nano v3.0 ATmega328P-20AU compatible Arduino: a Fasttech.com
  2. Compatible amb transceptor sense fils nRF24L01 + 2,4 GHz Arduino - a Amazon.com
  3. Gymboss WRISTBAND: a Amazon.com
  4. Caixa de la caixa del suport de la bateria de 9V amb interruptor ON / OFF de cable, a Amazon.com
  5. CAPÇAL 2X5 RECTA: a Phoenixent.com
  6. Bateria de 9v
  7. Condensador de 47uF (50v)
  8. Resistències, cables, pistola de cola, pistola de soldar, soldadura, etc.

CAIXA OWI ROBOTIC ARM CONTROLLER:

  1. Taula de desenvolupament Uno R3 Rev3 compatible Arduino - a Fasttech.com
  2. Prototype Shield DIY KIT per a Arduino (o similar): a Amazon.com
  3. Compatible amb transceptor sense fils nRF24L01 + 2,4 GHz Arduino - a Amazon.com
  4. 3 x L293D Controlador de motor de circuit integrat de 16 pins de circuit integrat - a Fasttech.com
  5. 1 x SN74HC595 74HC595 Registre de canvis de 8 bits amb registres de sortida de 3 estats DIP16: a Amazon.com
  6. Condensador de 47uF (50v)
  7. Caixa per a Arduino: a Amazon.com
  8. Interruptor d'encès / apagat
  9. 2 botons de 13 mm (un de tap vermell i un de verd)
  10. 2 x 2X7 CAPÇAL CAIXA RECTA: igual que l'anterior a Phoenixent.com
  11. CABLE DE CINTA PLANA 14 Conductor.050 "Pitch - igual que l'anterior a Phoenixent.com
  12. Bateria de 9v + connector de clip
  13. Resistències, cables, pistola de cola, pistola de soldar, soldadura, etc.

… i per suposat:

OWI Robotic Arm Edge - Braç de robot - OWI-535 - a Adafruit.com

Pas 2: PROTOTIPACIÓ

PROTOTIPACIÓ
PROTOTIPACIÓ
PROTOTIPACIÓ
PROTOTIPACIÓ

Us recomano encaridament prototipar cadascun dels dispositius del controlador abans de soldar tots els components junts.

Aquest projecte utilitza algunes peces de maquinari desafiadores:

nRF24L01

Em va trigar una estona a fer parlar els dos nRF24. Pel que sembla, ni Nano ni Uno proporcionen prou potència estabilitzada de 3,3 v perquè els mòduls funcionin de manera constant. Una solució en el meu cas era un condensador de 47uF a través dels pins de potència dels dos mòduls nRF24. També hi ha algunes peculiaritats amb l’ús de la biblioteca RF24 en modes IRQ i no IRQ, així que recomano estudiar els exemples amb molta cura.

Un parell de recursos fantàstics:

nRF24L01 Pàgina del producte IC de transceptor de RF de 2,4 GHz de molt baixa potència

Pàgina de la biblioteca del controlador RF24

Només cal buscar google nRF24 + arduino per produir molts enllaços. Val la pena investigar-ho

74HC595 REGISTRE DE MAJES

No és sorprenent haver de controlar cinc motors, un LED, dos botons i un mòdul sense fil, em vaig quedar sense pins a l’Uno relativament ràpidament. La forma ben coneguda per "ampliar" el recompte de pins és utilitzar un registre de torns. Com que nRF24 ja feia servir la interfície SPI, vaig decidir utilitzar SPI també per a la programació del registre de desplaçaments (per a la velocitat i per desar pins) en lloc de la funció shiftout (). Per a la meva sorpresa, va funcionar com un encant des de la primera vegada. Podeu comprovar-ho a l'assignació de pins i als esbossos.

La filera i els cables de pont són els vostres amics.

Pas 3: GUANTAR-SE

GUANT
GUANT
GUANT
GUANT
GUANT
GUANT
GUANT
GUANT

OWI Robotic ARM té 6 elements per controlar (imatge OWI Robotic Arm Edge)

  1. Un LED situat a la pinça del dispositiu
  2. UNA GRIPPER
  3. UN CANELL
  4. Un COLZE: és la part del braç robòtic unida al CANELL
  5. Una ESPATLLA és la part del braç robot unit a la BASE
  6. UNA BASE

El guant està dissenyat per controlar el LED de Robotic Arm i els 5 motors (graus de llibertat).

Tinc els sensors individuals marcats a les imatges, així com una descripció a continuació:

  1. El GRIPPER està controlat pels botons situats al dit mig i de color rosa. La pinça es tanca pressionant els dits índex i mitjà. La pinça s'obre pressionant l'anell i el rosat junts.
  2. El WRIST està controlat per la resistència flexible del cercador d’índexs. Arroscar el dit a la meitat del camí fa que el canell baixi i, si s’arrossega tot el camí, el canell puja. Mantenir el dit índex recte atura el canell.
  3. El CODE es controla mitjançant un acceleròmetre: la inclinació del palmell cap amunt i cap avall mou el colze cap amunt i cap avall respectivament
  4. L'ESPATLLA es controla mitjançant un acceleròmetre: inclina la palma cap a la dreta i cap a l'esquerra (però no cap per avall!) Mou l'espatlla cap amunt i cap avall respectivament
  5. La BASE també es controla mitjançant un acceleròmetre, de manera similar a la palanca inclinada a l’espatlla cap a la dreta i cap a l’esquerra tot cap amunt (el palmell cap amunt) mou la base cap a la dreta i cap a l’esquerra respectivament
  6. El LED de la pinça s’encén / apaga prement tots dos botons de control de la pinça.

Totes les respostes dels botons es retarden 1/4 de segon per evitar fluctuacions.

El muntatge del guant requereix una mica de soldadura i molta costura. Bàsicament, només es connecten 2 botons, resistència flexible, mòdul Accel / Gyro a la tela del guant i enrutament de cables a la caixa del connector.

Hi ha dos LEDs al quadre de connexió:

  1. VERD: encén
  2. GROC: parpelleja quan es transmeten dades al quadre de control del braç.

Pas 4: CAIXA DEL TRANSMISSOR

CAIXA TRANSMISSORA
CAIXA TRANSMISSORA
CAPSA DE TRANSMISSIÓ
CAPSA DE TRANSMISSIÓ
CAPSA DE TRANSMISSIÓ
CAPSA DE TRANSMISSIÓ

La caixa del transmissor és essencialment Arduino Nano, mòdul sense fils nRF24, connector de cable flexible i 3 resistències: 2 resistències desplegables de 10 kOhm per als botons de control de la pinça del guant i una divisió de tensió de 20 kOhm per al sensor flexible que controla el canell.

Tot es solda junt en un tauler vero. Tingueu en compte que nRF24 està "penjat" sobre Nano. Em preocupava que això pogués causar interferències, però funciona.

L’ús de la bateria de 9v fa que la part de corretja sigui una mica voluminosa, però no em volia embolicar amb les bateries LiPo. Potser després.

Consulteu el pas d’assignació de pins per obtenir instruccions de soldadura

Pas 5: CAIXA DE CONTROL DEL BRAÇ

CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ
CAIXA DE CONTROL DEL BRAÇ

La caixa de control de braços es basa en Arduino Uno. Rep comandaments del guant sense fils a través del mòdul nRF24 i controla el braç OWI Robotoc mitjançant 3 xips de controladors L293D.

Com que es van utilitzar gairebé tots els pins Uno, hi ha molts cables dins de la caixa; amb prou feines es tanca.

Per disseny, la caixa s'inicia en mode OFF (com si es premés un botó de parada vermella), donant temps a l'operador per posar-se el guant i preparar-se. Un cop llest, l’operador prem el botó verd i s’hauria d’establir immediatament la connexió entre el guant i la caixa de control (tal com s’indica amb el LED groc del guant i el LED vermell al quadre de control).

CONNEXIÓ A OWI

La connexió al braç robòtic es realitza mitjançant capçalera de dues files de 14 pins (segons la imatge anterior) mitjançant un cable pla de 14 fils.

  • Les connexions LED són a terra comuna (-) i al pin arduino A0 mitjançant una resistència de 220 Ohm
  • Tots els cables del motor estan connectats als pins L293D 3/6 o 11/14 (+/- respectivament). Cada L293D admet 2 motors, per tant dos parells de pins.
  • Les línies d’alimentació OWI són pins situats a l’esquerra (+ 6v) i a la dreta (GND) del connector de 7 pins de la part posterior de la part superior groga. (Podeu veure els cables endollats a la imatge superior). Aquests dos estan connectats als pins 8 (+) i 4, 5, 12, 13 (GND) dels tres L293D.

Consulteu la resta d’assignació de pins al següent pas

Pas 6: ASSIGNACIÓ DE PIN

ASSIGNACIÓ DE PIN
ASSIGNACIÓ DE PIN
ASSIGNACIÓ DE PIN
ASSIGNACIÓ DE PIN
ASSIGNACIÓ DE PIN
ASSIGNACIÓ DE PIN

NANO:

  • 3,3v - 3,3v a xip nRF24L01 (pin 2)
  • 5v - 5v a la placa acceleròmetre, botons, sensor flexible
  • a0 - entrada de resistència flexible
  • a1 - control LED "comms" groc
  • a4 - SDA a acceleròmetre
  • a5 - SCL a acceleròmetre
  • d02 - Pin d'interrupció del xip nRF24L01 (pin 8)
  • d03: entrada del botó de pinça oberta
  • d04: tancar l'entrada del botó de la pinça
  • d09: PIN SPI CSN al xip nRF24L01 (pin 4)
  • d10: PIN SPI CS al xip nRF24L01 (pin 3)
  • d11: xip SPI MOSI a nRF24L01 (pin 6)
  • d12: xip SPI MISO a nRF24L01 (pin 7)
  • d13: xip SPI SCK a nRF24L01 (pin 5)
  • Vin - 9v +
  • GND: terreny comú

UNO:

  • 3,3v - 3,3v a xip nRF24L01 (pin 2)
  • 5v - 5v als botons
  • Vin - 9v +
  • GND: terreny comú
  • a0 - Canell LED +
  • a1 - Pin SPI SS per al registre de majúscules Seleccioneu - per fixar 12 al registre de majúscules
  • a2 - Entrada del botó VERMELL
  • a3 - Entrada del botó VERD
  • a4 - base de direcció dreta - pin 15 a L293D
  • a5 - comunicacions dirigides
  • d02 - entrada IRQ nRF24L01 (pin 8)
  • d03: activeu el pin 1 o 9 del servo base (pwm) a L293D
  • d04 - base de direcció esquerra - pin 10 del L293D respectiu
  • d05: activeu el pin 1 o 9 del servo servo (pwm) a L293D
  • d06: activeu el pin 1 o 9 del servo colze (pwm) a L293D
  • d07 - PIN SPI CSN al xip nRF24L01 (pin 4)
  • d08 - PIN SPI CS al xip nRF24L01 (pin 3)
  • d09: activeu el pin 1 o 9 del servo canell (pwm) al L293D
  • d10 - habilitar el pin 1 o 9 del servo de pinça (pwm) a L293D
  • d11: SPI MOSI a xip nRF24L01 (pin 6) i pin 14 a Shift Register
  • d12: xip SPI MISO a nRF24L01 (pin 7)
  • d13: SPI SCK al xip nRF24L01 (pin 5) i pin 11 al registre de canvis

REGISTRE DE MAJES I L293D:

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

Pas 7: COMUNICACIÓ

COMUNICACIÓ
COMUNICACIÓ

Glove envia 2 bytes de dades a la caixa de control 10 vegades per segon o sempre que es rep un senyal d’un dels sensors.

2 bytes són suficients per a 6 controls perquè només necessitem enviar:

  • ON / OFF per LED (1 bit): en realitat vaig utilitzar 2 bits per ser coherent amb els motors, però n'hi ha prou
  • OFF / DRETA / ESQUERRA per a 5 motors: 2 bits cadascun = 10 bits

N’hi ha prou amb un total d’11 o 12 bits.

Codis de direcció:

  • DESACTIVAT: 00
  • DRETA: 01
  • ESQUERRA: 10

La paraula de control té aquest aspecte (en termes de bits):

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 - pinça
  • M2: canell
  • M3 - colze
  • M4: espatlla
  • M5: base

El byte 1 es podria alimentar convenientment directament al registre de desplaçament, ja que controla la direcció dreta / esquerra dels motors 1 a 4.

S'ha habilitat un temps d'espera de 2 segons per a les comunicacions. Si es produeix un temps d'espera, tots els motors s'aturen com si es premés un botó VERMELL.

Pas 8: esbossos i molt més …

BOSQUETS i molt més …
BOSQUETS i molt més …

GUANT

Glove sketch utilitza les biblioteques següents:

  • DirectIO: disponible a Github
  • I2Cdev: disponible a Github
  • Cable: part d'Arduino IDE
  • MPU6050: disponible a Github
  • SPI: part d'Arduino IDE
  • RF24: disponible a Github

i tres biblioteques desenvolupades per mi:

  • AvgFilter: disponible de Github
  • DhpFilter: disponible a Github
  • TaskScheduler: disponible a Github

Esbós de guants està disponible aquí: Glove Sketch v1.3

CAIXA DE CONTROL DEL BRAÇ

Esbós de braços utilitza les biblioteques següents:

  • DirectIO: disponible a Github
  • PinChangeInt: disponible a Github
  • SPI: part d'Arduino IDE
  • RF24: disponible a Github

i una biblioteca desenvolupada per mi:

TaskScheduler: disponible a Github

Esbós de braços disponible aquí: Arm Sketch v1.3

Fulls de dades del maquinari utilitzat

  • Registre de torns 74HC595: full de dades
  • Controlador de motor L293D - fitxa tècnica
  • Mòdul sense fils nRF24: full de dades
  • Mòdul acceleròmetre / giroscopi MPU6050 - fitxa tècnica

ACTUALITZACIÓ del 31 de maig de 2015:

Hi ha disponible una nova versió dels esbossos de la caixa de control de guants i braços: Glove and Arm Sketches v1.5

També es troben a github aquí.

Canvis

  • S'han afegit dos bytes més a l'estructura de comunicació per enviar la velocitat del motor sol·licitada per als motors de canell, colze, espatlla i base com a valor de 5 bits (0.. 31) del guant proporcional a l'angle del gest de control (vegeu més avall). Arm Control Box assigna els valors [0.. 31] als valors PWM respectius de cadascun dels motors. Això permet un control de velocitat gradual per part de l’operador i una manipulació més precisa dels braços.
  • Nou conjunt de gestos:

1. LED: LED de control de botons - botó del dit mig - ACTIVAT, botó del dit rosat - APAGAT

2. PINÇA: controls de tires flexibles Pinça - dit mig doblegat - OBRIT, dit completament doblegat - TANCAR

3. CANELL: El canell es controla inclinant la palma des de la posició totalment horitzontal AMUNT i ABAIX, respectivament. Més inclinació produeix més velocitat

4. BRAÇ: el braç es controla inclinant la palma des de la posició totalment horitzontal ESQUERRA i DRETA. Més inclinació produeix més velocitat

5. ESPATLLA: l’espatlla es controla girant el palmell DARRERA i ESQUERRA des del palmell apuntant cap amunt. La palma es gira al llarg de l'eix del colze (igual que agita la mà)

6. BASE: la base es controla de la mateixa manera que l'espatlla amb el palmell apuntant cap avall.

Pas 9: QUÈ MÉS?

QUÈ MÉS?
QUÈ MÉS?

IMAGINACIÓ A LA FEINA

Com és habitual amb aquests sistemes, es podrien programar per fer molt més.

Per exemple, el disseny actual ja incorpora capacitats addicionals, no possibles amb el comandament a distància estàndard:

  • Augment gradual de la velocitat: cada moviment del motor s’inicia a una velocitat mínima predefinida, que s’incrementa gradualment cada 1 segon fins que s’aconsegueix una velocitat màxima. Això permet un control més precís de cadascun dels motors (especialment el canell i la pinça)
  • Cancel·lació més ràpida del moviment: quan Arm Box rep l'ordre de parar un motor, inverteix momentàniament el motor durant uns 50 ms, "trencant" el moviment i permetent un control més precís.

QUÈ MÉS?

Potser es podrien implementar gestos de control més elaborats. O es podrien utilitzar gestos simultanis per a controls elaborats. Pot ballar el braç?

Si teniu una idea de com tornar a programar el guant o teniu una versió d’un esbós que vulgueu que provi, feu-m’ho saber: [email protected]

Pas 10: *** VAM GUANYAR !!! ***

*** VAM GUANYAR !!! ***
*** VAM GUANYAR !!! ***

Aquest projecte va guanyar el primer premi del concurs Coded Creations patrocinat per Microsoft.

Comprova-ho! WOO-HOO !!!

Creacions codificades
Creacions codificades
Creacions codificades
Creacions codificades

Accèssit a les creacions codificades

Recomanat: