Está en la página 1de 9

Controladora USB Brazo Robótico OWI-535

Introduccion:

Siempre me ha interesado la robotica y pues como nunca tuve la oportunidad de


tomar cursos de robótica tuve un aprendizaje autodidacta mediante el internet.
Este es el primer proyecto 100% mio, ya que yo cree todo el diseño de la placa
desde 0, los programas estan basados en easyHID, para el control, espero que les
sea de utilidad, saludos y suerte.

Un poco de Historia de como surgio el proyecto:


Bueno desde hace tiempo empecé en el mundo de la robótica armando robots
BEAM y después pase a los micros con los basic stamp, hace poco inicie con los
pics de microchip y de ahi he ido aprendiendo poco a poco, pero pues siempre
armando proyectos que encuentro en internet, pero en diciembre del 2008 me
regalaron de navidad un brazo robótico muy sencillo que se manejaba por control
alambrico y la verdad es que no tenia mucho de especial, asi que mi hermano me
dijo aver hazlo automatico y yo bueno empeze a trabajar en un sencillo circuito
para controlar por USB los 5 motores del brazo usando mi programa favorito el
VB6, asi que puse manos a la obra y este es el resultado.

*Proyecto:

El proyecto es una placa USB de control de motores DC, mediante el pic 18F4550 y
varios L298N. Realmente el circuito es muy sencillo usa la alimentacion del usb
para la placa y la alimentacion original del brazo para los motores, calro que este
circuito puede usarse para manejar cualquier tipo de motores para otros
proyectos.

El firmware es una simple modificacion del easyhid de microcode studio (Picbasic)

El Software PC es un programa en VB6 que detecta las pulsaciones del teclado y


manda las ordenes al pic.
*Fotos:
Lista de materiales:

1.- (1) PIC18F4550


2.- (1) Capacitor 47uF
3.- (1) Cristal 4 Mhz
4.- (1) Resistencia 220 ohms (Calquier valor vale solo es el pullup para el reset)
5.- (3) L298N
6.- (1) Tira 40 Pines Macho
7.- (1) Tira 40 Pines Hembra[/url]
8.- (1) Terminal chica de 2 bornes para voltaje
9.- (1) Plug USB
10.- (1) Base para circuito integrado de 40 pines

Extras:
Cables.
*Observaciones:

hay varios jumpers que unir, estos estan dibujados en la ultima capa del circuito(capa
verde), en la capa verde represente las uniones que se tendran que hacer con cables entre
varios puntos del circuito. ( todas las uniones son 1 a 1 quiere decir nunca se cruzan uans
con otras van de un puno a otro sin juntarse)

*Como conectar a la placa el brazo?


En el arcivo de Express PBC estan nombrados los motores y como se deven conectar
Ejemplo en el puesto M1 se conecta el codo con la polaridad Negro - Azul.

M1 - Codo - Negro/Azul
M2 - Muñeca - Azul/ Negro
M3 - Base - Negro/ Naranja
M4 - Hombro - Negro/ Naranja
M5 - Mano - Negro/Amarillo
M6 es auxiliar No se usa

*Como funciona el programa de VB6?

Primero corre el exe y aparecera un ventana de programa en blanco, eso quiere decir que
el programa inicio, despues conetala placa al usb del pc y devera aparecer en la ventana
del programa

conexion. con esto estas listo.

*Como mover el brazo?

Para mover el brazo asegurate de tener seleccionada la ventana del programa( que este
arriva de las demas) y despues usa las felchas del teclado para mover

Tomar en cuenta lo siguiente:

De abajo a arriba los motores son:

Base
Hombro
Codo
Muñeca
Pinza

Combinaciones:

Izquierda ----> Base a la izquierda


Derecha ----> Base a la Derecha
Arriba ----> Hombro hacia abajo
Abajo ----> Hombro hacia Arriba

Shift + Izquierda ----> Codo hacia abajo


Shift + Derecha ----> Codo hacia Arriba
Shift + Arriba ----> Muñeca hacia Arriba
Shift + Abajo ----> Muñeca hacia Abajo

A ----> Abrir Pinza


S ----> Cerrar Pinza

Hay algo imporante a tener en cuenta cuando preciones por ejemplo Shift + Izqueirda No
debes dejar de precionar shift hasta despues que sueltes el izquierdo sino el programa no
interpretara el

alto y el motor seguria hasta que sueltes shift + izquierda.

Explicaciones de como fuciona la placa:

Primero el firmware al conectarse a USB queda a la espera de 2 series de 8 bits,


cada 2 bits manejan un motor ("01" Gira a un lado, "10" gira al otro) , pero como la
placa se limita a 6 motores; en

la serie 2 los primeros 4 bits siempre seran 0.

Ejemplo:

Serie 1: 0101 0101 Esto es igual a: "M4 M3" "M2 M1"


Serie 2: 0000 0101 Esto es igual a: "00 00" "M5 M6" ( en esta serie los 4bits del
principio siempre seran 0)
Esto quiere decir que La serie1 Activa el portB del pic y la serie 2 el portD

PortB.7 = M4
PortB.6 = M4
PortB.5 = M3
PortB.4 = M3
PortB.3 = M2
PortB.2 = M2
PortB.1 = M1
PortB.0 = M1

PortD.7
PortD.6
PortD.5
PortD.4
PortD.3 = M5
PortD.2 = M5
PortD.1 = M6
PortD.0 = M6

Entonces el programade VB6 lo que hace es detectar la pulsacion de las teclas y


enviar las 2 cadesnas poniendo un "1" donde quiere que se mueva cada motor y
como escanea todas las teclas

antes de enviar puedes mover todos los motores a la vez o combianrlos como
mejor te convenga.

Teclas en VB6:

Keycode #37 = Izquierda


Keycode #38 = Arriba
Keycode #39 = Derecha
Keycode #40 = Abajo

vbKeyA = A
vbKeyS = S

*MODO AUTOMATICO:
La controladora Recive 255 Bytes de Informacion 128 Bytes de Acciones Y 128 De
Duracion de las mimas en un arreglo de Accion(1)-Duracion(1)-Accion(2)-
Duracion(2)...Accion(128)-Duracion(128)
Y los almacena en su EEPROM interna para despues reproducir la secuencia en
orden en un loop infinito.

Las acciones estan numeradas como:

# 1 Girar Base a la Derecha ("00000001")


# 2 Girar Base a la Izquierda ("00000010")
# 3 Mover Hombro Atras ("00000011")
# 4 Mover Hombro Adelante ("00000100")
# 5 Mover Codo Atras ("00000101")
# 6 Mover Codo Adelante ("00000110")
# 7 Mover Muñeca Adelante ("00000111")
# 8 Mover Muñeca Atras ("00001000")
# 9 Abrir Pinza ("00001001")
# 10 Cerrar Pinza ("00001010")

Esto quiere decir que puede hacer hasta 128 acciones con una duracion maxima de
255 segundos cada una.

Aqui dejo una foto del programa secuenciador y los archivos.

*FOTOS:
*USO Joystick:

Con el programa para Joystick Es muy facil solo corre el programa conecten el Joystick
Minimo de 4 botones y conecten el brazo.

El brazo se movera a los lados , adelante y atras usando el joystick.


Si se preciona el boton 1 y adelante o atras, se movera la muñeca.
SI se Preciona el boton 2 y adelante o atras, se movera el codo.
Si se preciona 3 se abre la pinza.
Si se preciona 4 se cierra la pinza.

*Archivos en el post mas abajo (Rcuerden que nesesitan tener easy HID
instalado o pic basic pro para que funcione.)
Bueno espero que les sirva y lo disfruten, cualquier duda o comentario aganlo saber en
este tema, saludos y suerte.

También podría gustarte