Las Novedades, archivos, explicacion mas a fondo y actualizaciones http://sos-robots.com/Tarjeta_H6.html*Introduccion:
Siempre me ha interesado la robotica y pues como nunca tuve la oportunidad de tomar cursos de robotica 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 empeze en el mundo de la robotica armando robots BEAM y despues 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 robotico 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 haslo automatico y yo bueno empeze a trabajar en un encillo 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 brazoEl 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)
L298N6.- (1)
Tira 40 Pines Macho7.- (1)
Tira 40 Pines Hembra8.- (1)
Terminal chica de 2 bornes para voltaje9.- (1)
Plug USB10.- (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.
*Exlicaciones de como fuenciona 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
*Planes a futuro:
A futuro pienso implementar un programa para implementar rutinas repetibles como un brazo robotico industrial.
Otra seria un enlaze inalambrico entre la pc y el brazo.
Implementacion de sensores (encoders) para aplicar sienmatica inversa al programa.
Sensores de precion en la tenaza.
Agregar 1 grado de libertad mas. (muñeca Izq-Der)
Creacion de un brazo mas grande con motores mas potentes
Bueno espero que les sirva y lo disfruten, cualquier duda o comentario aganlo saber en este tema, saludos y suerte.