miércoles, 8 de febrero de 2012

nueva placa icaro basada en pinguino-usb

Una de las principales preocupaciones que tuve a la hora de encarar el proyecto de robótica ICARO era la de poder fabricar componentes de hardware de bajo costo y fácil adquisición para poder usar en ámbitos escolares (donde los alumnos podrían romper los equipos por falta de experiencia). Aparte la idea principal de ICARO, es hacer la robótica accesible para la mayor cantidad de personas, por lo tanto cualquier hardware que diseñara tendria que tener estas caracteriscticas minimas:

Bajo costo:

Como el desarrollo es para uso educativo, en el balance de costos calidad, un hardware caro y potente no es tan útil como uno barato y con mas posibilidades de adquisición por las instituciones (sobre todos colegios públicos)

Fácil fabricación:

la idea es que cualquier persona pueda fabricar las placas con un mínimo de conocimientos y herramientas como un soldador de estaño y una perforadora de mano. Eso genera algunas limitaciones con respecto al PCB.
  1. preferentemente debe ser un PCB de una sola cara.
  2. No usar componentes SMD (soldadura superficial).
  3. El ancho de las pistas debe  ser lo suficientemente grande para poder usar tecnicas de armados caseras como la transferencia termica de tonner mediante una plancha.
  4. tiene que ser posible usar PCBs universales para armar las placas
 accesible:

Mientras mas común sea el componente electrónico, sera mas fácil de adquirir en cualquier país.
Usar dispositivos difíciles de conseguir, no sirve para un proyecto que busca integrar la robótica en las aulas.

Reciclable:

No solo se abarata costos reciclando componentes, también permite dar una respuesta a la basura electrónica reutilizando motores, sensores y partes de impresoras, lectoras de CD y CPUS viejas. Aparte no encasilla tanto el desarrollo de los alumnos al obligarlo a usar piezas pre definidas.


Con lo expuesto arriba, son los avances que fui desarrollando a lo largo de los años con respecto al hardware de ICARO.
Actualmente, con la entrega de notebooks a los colegios por parte del gobierno (plan conectar igualdad en argentina, plan ceibal en uruguay), la necesidad de contar con un hardware capas de trabajar con USB se volvió fundamental. 
Si bien las placas ICARO np03 (puerto serie) son muy baratas (us$ 13 aprox), el tener usar un conversor serie/usb (FTL232) encarecia el costo total del circuito (un conversor serie/USB esta costando casi us$ 20), en ese sentido la idea de pasar a un microcontrolador 18F4550 o 18F2550, fue para poder trabajar con la netbooks que se entregan masivamente en los colegios publicos.
Un pic 18f45550 es casi 9 veces mas caro que un 16f628A, pero si restamos el conversor serie/usb (que aparte es cada ves mas dificil de conseguir) tenemos un costo mas o menos parecido y con muchas mas posibilidades de trabajo (señales analogicas, mayor velocidad de procesamiento, PWM, etc).
En el desarrollo de esta nueva placa tambien quise aprovechar para integrar electronica que normalmente tenia que armar por separado para manejar motores, servos o sensores. La idea es poder tener una placa-todo-en-uno, para que los alumnos o personas que esten interesadas en la robotica, puedan hacer proyectos con minimos conocimientos.
En esta nueva placa, el driver de control para motores CC esta integrado, ahora solo hay que conectar los dos motores, sin necesidad de usar hardware periferico (y tambien modifique el software para poder directamente mandar ordenes de "adelante", "atras", "izquierda", "derecha").


Un robot fabricado con la placa pinguicaro



Vista de arriba donde se puede apreciar la placa




Toda la electronica del robot queda en la placa pinguicaro




De costado



El pcb armado a mano con una impresora laser

 vista 3d echa con kicad

otra vista



plano y dimensiones


características de pinguicaro




Video de prueba del robot.


El nuevo esquema de trabajo que voy a implementar en función del hardware disponible, se centrara en 3 software:

turtleart (tortucaro) como interface de control conectado a la notebook

pycaro para generar ventanas de control remoto

icaro-bloques para las placas pinguicaros para cargar codigo C++ (sdcc) y armar robots autónomos (sin necesidad de tener la netbook conectada).


diagrama esquemático del proyecto ICARO.

Con este diagrama, dejo el lenguaje ICARO C++ para maquinas de muy bajo recursos y con puerto paralelo, el resto del hardware trabajar con turtleart, pycaro e icaro-bloques.