lunes, 12 de octubre de 2009

Resumen del proyecto

Vamos a enumerar las partes de este proyecto:

1-Mecanica
2-Hardware
3-Electronica
4-Diseño de chasis externo
5-Brazo articulado
6-programacion

Estado del proyecto


Mecanica. Por el momento ya no requiere ninguna modificacion escepto ajustar muelles en los paragolpes delanteros

Hardware. Solo se añadira la fuente de alimentacion dual, cuando estas sean mas baratas, o alguien me diga como transformar una de 220 a 12v entrada

Electronica. Circuitos
Placa base: A falta de desarrollar la placa final mientras no diseñe los circuitos que faltan
Circuito de control salidas bits. Acabado no necesita modificación
Circuito eleccion motor-datos. Acabado no necesita modificación
Circuito control motor. Acabado, no necesita modificación
Circuito entrada datos1. Emisor entrada. Acabado no necesita modificación
Circuito entrada datos2. Nodos de sensor. El nodo de un sensor esta acabado, PTE hacer otro nodo para varios sensores
Circuito potencia1: Circuito aislador transformadorseñal. Modificación para su pase a placa base, a parte de eso no necesita mas modificaciones
Circuito potencia2: Circuito de suministro a motores. Pendientes de localizar otro componente capaz de absorver un poco mas de portencia, ahora billy esta limitado por seguridad a 30 A totales de pico, en cuando segun componentes podrian ser 60
Circuito de salida (18 total).Finalizada, no necesita modificacion
Circuito de sensores de proximida.. Pendiente
Circuito de senso de luz (es facil)..Pendiente
Circuito de sensor de ruido(facil)..Pendiente
Circuito de potencia audio ..Pendiente
Circuito o similar de sensor de parachoques..Pendiente
Circuito control movimiento camara...Pendiente

Programacion
Programa nodo una entrada. Acabado no necesita modificación (entrada datos)
Programa nodo varias entradas. En preparacion(entrada datos)
Programa emisor entrada datos. Acabado no necesita modificación (entrada datos)

Gui billy.. En continua modificación. Actualmente es capaz de:Ir hacia delante, atras, girar manualmente, girar determinado tiempo, girar sobre si mismo o sobre un eje, control de motor por separado, ver por donde va, si activas un sensor de entrada lo detecta, y actua en consecuencia,

Programacion.Falta: Sección de programa que si falla la conexion, pare a billy y lo devuelva a una posicion con cobertura, activar seccion de salida de datos, desarrollar la parte del codigo que sea capaz de hablar algo. grabacion de la ruta seguida , que

Brazo articulado: Cuando acabe con lo tro ya veremos esto..Pendiente
Chasis externo, Ahi va otra de las pegas, pero tiene pinta de quedar como un camion de bomberos tuneado o algo asi..Pendiente

Os habreis dado cuenta que los enlaces va a una pagina de hosting gratuito. Es el precio de no tener un dominio propio, pero funciona que es lo que interesa, Actualmente estan los arboles de desarrollo de control, control2 y guibilly,

En breve se pondran los esquemas y fotolitos de los circuitos electronicos echos en el programa EAGLE , a parte tambien el codigo asm y el circuito de simulación en ktechlab para los microcontroladores pics del circuito de entrada

domingo, 11 de octubre de 2009

ULTIMA HORA

ULTIMA REVISION 10 DE OCTUBRE DE 2009

Esto no ha acabado, simplenente tengo poco tiempo

Actualmente el cachorrito va paseandose por casa, (controlado)

10-10 Se ha actualizado parte electronica, parte enlaces, mecanica

sábado, 10 de octubre de 2009

Mecanica

Para empezar un dia despues de leer un libro de robots, se me ocurrio hacer uno.

Poco despues localize 2 motores de direccion asistida de citroen C3, que me aseguraban una buena potencia.Cada uno de esos motores es capaz de consumir 60 Amperios, lo cual supone un consumo maximo de 120A (en estado de motor bloqueado). Esto no es asi, porque en condiciones normales, y en las pruebas que estoy haciendo, no supero los 20-30A de picos





Lo mas complicado que he tenido que hacer, es hacer el chasis principal y el prolongamiento de los ejes del motor. De fabrica estos motores llevan un par de ejes a cada lado, y hay que cortar uno y prolongar el otro con un esparrago de la medida que quieras.para hacer esto se debe centrar el eje que pones, con el de motor, sino cuando gira se va a mover. Esto se soluciona con un amigo tornero (que en mi caso fue la inestimable ayuda de mi amigo rafa ) y un eje, ya que el motor lleva de fabrica un agujero central en el eje de salida, asi pues, en el eje que vas a poner, le haces un agujero central del mismo tamaño que el que lleva el motor, luego le metes el eje que va a unir a ambos, y ! a soldar !,

Para lo demas, hay que hace el chasis como a uno le parezca, yo lo he echo con traccion a las 4 ruedas, con un movimiento giratorio igual al de un tanque, la transmision de delante a atras es con una cadena, En principio quise hacer una oruga, pero no encontre de donde sacar para una del tamaño que yo queria (si alguien sabe algun sitio que me lo diga y preparo otro chasis)

El chasis se deberia hacer con hierro, ya que al tener tanta potencia los motores, podria dar a lugar a que se deformara, si utilizas motores mucho mas flojos, puedes ponerlo de aluminio

Las 4 ruedas se pueden conseguir en cualquier ferreteria. Son las tipicas ruedas de carro de los transportistas, luego segun la economia de cada uno elige tamaño y si la quiere dura o blanda, yo las elegi hinchables asi es mas suave con la electronica

PROGRAMACION

Esta es junto a la de electrónica, la parte donde se realizan mas prototipos y fallos

La idea es crear un prog
rama, que sea capaz de emitir y recibir datos por el puerto paralelo. Aunque muchos crean lo contrario, el puerto paralelo, si activas en la BIOS de la placa, el protocolo ECPP+PE , es capaz de admitir una entrada de datos por los pines de salida del puerto, lastima que mi tarjeta via epia no admite entrada

Esto hace que sin tener que hacer o diseñar un circuito capaz de admitir datos por el USB o COM, puedes tener 8 salidas de datos + 4 salidas de control (estas son las que yo utilizo) y aparte 4 entradas de bits a través de los bits de control
Yo me he centrado e
n las 8 salidas , mas las 4 de control, La entrada de datos se hace a traves de un pic16f84 con un programa echo para una entrada de 16 datos posibles. El sistema esta echo para hacer todas las entradas a traves de 3 cables, 2 de alimentacion y uno de datos, cada sensor podria tener una pic conectado y estar conectados todos a la misma linea con 3 cables

Sistema operativo
Sin dudarl
o ni un momento LINUX. Asi que los seguidores de bill gates, tendrán que ajustarse un poco los cinturones con las librerías QT que utilizo y la configuracion. La programación esta echa en C++ con QT-designer. o kdevelop 3.5 Aunque pondré el código fuente para que lo podáis descargar (a través de mediafire)


A fecha de 10-10, se ha modificado el sistema operativo, para simplificar el proyecto se ha p
asado al SO puppy linux, En vez del mio propio, ya que es un sistema modificable y se puede cargar diréctamente en memoria, evitando el trabajo de crearlo uno mismo y su mantenimiento

--------------------------------------- DESLOSANDO--------------------------------------
Programas necesarios para el funcionamiento en cualquier distro linux

x11vnc: Es un programa que utiliza el frame buffer del sistema X para dar acceso directo a la pantalla en curso, En linux si utilizas vnc, te da acceso a otra pantalla, sin embargo con X11vnc utilizas la pantalla del usuario en curso . http://sourceforge.net/projects/x11vnc/

vncviewer. Programa con el que se accede a la pantalla de billy desde otro ordenador , de esa manera ves lo que veria una persona en el monitor billy http://sourceforge.net/projects/vnc-tight/


billy. Programa-gui, que contiene las rutinas de control de el robot, incluyendo las ordenes para el puerto paralelo. Esta creado con librerias qt3 y kdevelop 3.5:
Descarga codigo fuente aqui.:
http://www.mediafire.co
m/?zs92o1cjtog











Mplayer. Programa multiplataforma, que a parte de ayudarnos con la musica es capaz en LINUX de ver el flujo de video de una camara, asi que este sera el programa que utilizaremos para ver la camara web http://www.mplayerhq.hu/design7/dload.html


Control. Es un pequeño programa creado por mi que lo unico que hace es escuchar en el puerto paralelo para ver que bits que  estan activados. Util en los inicios de programa
Descargar carpeta codigo fuente aqui:http://www.mediafire.com/?3twyzmdnfd3





Control (version de control). Otro programa creado por mi con el que controlas uno a uno los pines de salida del puerto paralelo tanto los de datos como los de enlace (puertos 0x378 y 0x37A)
Descargar codigo fuente aqui:http://www.mediafire.com/?yiy2unm1b1k







Todos estos programas menos billy, control, (y el otro control) son nativos en la mayoria de las distros de LINUX, para instalarlos simplemente es añadir repositorios e instalar.

Para puppy es un p
oco diferente, mas tarde se explicara


MAS SOBRE PROGRAMACION
Actualmente en obras

http://tanerbilly2.blogspot.com

Brazo articulado

Este va a dar bastante guerra, asi que lo dejare para el final, si alguien tiene alguna idea, que la diga

Carroceria externa





Cuando la parte interna este acabada, le hare a nuestro amigo un caparazon con una forma parecida l de un camion... no se 

Esto se hara primero haciendo una base de papel carton, para despues añadirle encima fibra de vidrio, lijandola y pintandola despues



Para ver el estado actual en blender descargar fichero aqui http://www.mediafire.com/?datxyyn12dy

Hardware

En esta parte pondremos lo que tiene que ver con el hardware de control del billy

Actualmente estoy utilizando una placa base via epia mini -itx PE-1000, con 1 GB memoria a 266 MHz
La alimentación viene por una fuente de alimentación normal de ordenador, alimentado por un convertidor 12-220v reclicado de un sai viejo




Como disco duro estoy utilizando una memoria flash utilizando un adaptador de ide a flash, que me permite un arranque rápido desde la misma bios, ya que estas placas base en su arranque inicial, sus usb son lentas




El acceso a BILLY, se hace a través de una red privada (AD_HOC), a traves de una pcmcia instalada en la placa, y otra en mi portatil

El montaje de la alimentación cambiara cuando las fuentes de alimentacion dual (que van con 220 o 12 v), sean mas baratas

Electronica

Esta parte es una de las que mas guerra me ha dado. Lo mas complicado siempre es localizar los componentes y la arquitectura, ahora los circuitos ya estan mas que

probados, asi que se pueden utilizar intensivamente


Para mover a BILLY vamos a necesitar estos circuitos

1-Asilador entre el ordenador y el circuito de control (por seguridad), de esta manera los circuitos de salida no afectaran el puerto en caso de fallo

















2-Circuito de comprobacion que permite comprovar si algun fallo depende del circuito electronico o de el ordenador
















3.1-El circuito de eleccion, que decidira segun el bit de salida a que circuitos va, y a parte tiene unos buferes de memoria, para guardar el bit de motor, para cuando se envia un bit a la salida de accesorios

3.2-Circuito de salida de datos, que segun el bit de salida de datos, sea capaz de activar la o las salidas deseadas











4- Circuito control motor. Este circuito segun los bits de entrada, modula la PWM de salida, a parte
4.1 El circuito modulador de impulsos PWM
4.2 El circuito que añade mas o menos anchura de pulso
En esta placa esta todo incluido, ya que el circuito es bastante simple























5-Circuito de entrada de datos, que cuando le actives la entrada, sea capaz de darle al ordenador un bit de entrada que sea capaz de leer.Este es el unico circuito con un pic16f84, que hay que programar.




 




6-Potencia. Este consta de 2 fases, El primero pasa la salida ttl de el circuito de control motor y lo pasa por un optoacoplador que evita interferencias en los circuitos de control, luego este pasa a la etapa de potencia, que a parte de los diodos de recuperacion y reles, debe ser


 capaz de soportar picos de 60 A gracias a los diodos de recuperacion.







Bueno y a falta del la placa final: este es como queda la ultima placa base. Si os fijais, aun queda algun circuito de prueba en el aire, que es de de control de potencia pero en la placa final habran 2 zocalos mas donde poner mas circuitos. Si utilizamos este sistema, cambiar una parte del circuito no obliga a cambiarlo todo, sino solo el circuito en cuestion

Descargar carpeta de circuitos acabados aqui (para usar con eagle 5.5)
http://www.mediafire.com/?ng0yxxcmlii


Empezamos:


Una de las primeras cosas: se va a evitar al maximo el uso de componentes programables, casi todo es electronica facil


Circuito PWM (modulacion de impulsos). Yo para simplificar y no meterme en mas lios (por ahora), he buscado un circuito que ya utilice en su dia con otro aparato, y que se basa en un circuito porductor de una señal triangular, cuya señal pasamos por un operacional, que segun tenga la entrada negativa, dara una señal mas amplia o no de señal cuadrada a la salida.


Descargar todos los circuitos de billy (Circuitos beta en curso)http://www.mediafire.com/?9dfbfpz34uk

Programas y enlaces

Aqui simplemente pongo todos lo necesario para crearlo todo

QT-designer o Kdevelop programas para crear la gui del controlador

Pag QT http://qt.nokia.com/downloads/

Pag kdevelop:http://www.kdevelop.org/


Blender, programa que he utilizado para la creacion del formato 3D para que veais en casa como es mas o menos:http://www.blender.org/

Eagle 5.7 ( programa para la creacion de los archivos de circuitos electronicos ( Con la version lite que se descarga desde internet, se pueden abrir los archivos de circuitos e imprimir correctamente). Direccion http://www.cadsoftusa.com/

Puppy linux, sistema operativo tipo live-cd pero que se puede instalar tambien en disco, muy ligero (alrededor de los 130MB) y modificable, ampliable y remasterizable. http://www.puppylinux.org/

Carpeta control:Archivos para crear e programa control que lo que hace es chequear lo bits de entrada y sailda en el puerto paralelo http://www.mediafire.com/?bzqddmascxf

PIKLAB...Programa que utilizo para grabar los PICS que utilizo en sistema de entrada de datos. Si tu distribucion no tiene en repositorios prueba aqui http://rpm.pbone.net


KTECHLAB. Programa para simular circuitos, que es capaz de simular tambien el funcionamiento de un pic

DIA. Programa que utilizo para desarrollar los diagramas de flujo, para aclararme a la hora de programar

PICLINUX, web de ayuda y consulta de programacion de pics