Archive for marzo, 2011


Buenas !

Me enorgullece decir que este proyecto ha sido finalista en el Premio Local de Sevilla y, aunque la presentación de mi proyecto frente al público dejó mucho que desear (todo hay que decirlo, estaba muy nervioso), la aceptación ha sido tal que me han animado muchísimo a continuar con este proyecto hasta el final.

¡Gracias a todos!

Volviendo al tema de avances y demás: estoy haciendo modificaciones en el circuito de alimentación, por unos fallos de calculo en el consumo de los servos, que hacían que Arduino se reiniciase continuamente (bajadas y subidas en el consumo eléctrico de la Shield), los cuales estoy incluyendo en la documentación y que subiré mañana a primera hora del día.

He montado el robot (aunque de momento no haga mucho) totalmente, para ver como queda y es alucinante, aunque quede mal que lo diga.

También estoy trabajando en el programa Main, y la semana que viene la dedicaré a arreglar el sistema de reconocimiento de voz. Además, he comprado una batería de muchísima más potencia para que la autonomía sea mayor y así poder hacer las pruebas con mucha más comodidad.

En cuanto pueda, subo fotos de los avances.

Un saludo,

Ángel Cayetano

Buenas,

 

Mañana se va a celebrar el certamen Premio Local de Sevilla del CUSL [2], en el cual los participantes presentaremos nuestros proyectos supongo que delante de algún jurado y de todas las personas que vayan, y, si queremos, dar una especie de charla. Personalmente, yo voy a dar una breve introducción de mi proyecto, en la que explicaré las principales metas y objetivos del proyecto, problemas y soluciones que he encontrado, etcétera.

 

 

Ahora os traigo los últimos avances del proyecto:

 

Esa es la 1º versión del HXBot. Ya están las patas montadas y el chasis preparado para recibir al “cerebro” del robot.

 

Ahora estoy liado con problemas de consumo con los servomotores y el circuito de alimentación de la Shield, ya que tienen unos picos de consumo bastante altos, cosa que no me esperaba, y que estará arreglada seguramente la semana que viene, justo para programas los primeros movimientos.

 

Las modificaciones que haga en la Shield, y el esquema los expondré en breve. Mientras, he terminado de realizar una documentación (incompleta, ya que el proyecto está inconcluso) que lo subiré mañana a la lista de documentos de la forja de RedIris [1], tras el certamen Premio Local de Sevilla.

 

 

También comentar que estoy obteniendo los ángulos de los servos mediante uno de los sketchs que os podéis descargar desde la misma lista de documentos de la forja de RedIris [1] anterior. Por supuesto, dichos ángulos obteniéndolos “a mano” uno a uno para poder optimizar los movimientos, ya que el chasis no es perfecto.

 

Hackatón. Ese gran desconocido. Y lo sigue siendo ya que no ha habido nadie en mi grupo para el sistema de reconocimiento de voz. Cosa que me alegro, porque dicho sistema estaba algo indispuesto para tal fin. Más adelante organizaré talleres y charlas.

 

 

Un saludo,

Ángel Cayetano

____________________________________________________________________________________________

[1]: https://forja.rediris.es/docman/?group_id=881

[2]: http://dune.lsi.us.es/wiki/index.php/Premio_local

¡ Nos vamos de hackatón !

Buenas,

 

Dentro de poco se celebrará en la Escuela Técnica Superior de Ingeniería Informática el Hackaton [1], donde se formarán grupos de trabajo para diferentes proyectos, entre los que se encuentra éste. Dicho evento se celebrará los dias 24 y 25 de Marzo. Las inscripciones al hackaton se cierran el próximo día 18 de Marzo.

 

Mi grupo de trabajo (Grupo 7) se centrará en la programación de Arduino con el módulo de reconocimiento de voz. Escribiremos rutinas de servicio tanto para el modo manual como para el cpu-mode, y algún que otro programa en Wiring para Arduino.

 

Si deseas apuntarte al grupo, ponte en contacto conmigo, por un comentario en el blog, por correo o redes sociales.

 

 

Un saludo,

Ángel Cayetano

 

____________________________________________________________________________________________

[1]: http://dune.lsi.us.es/wiki/index.php/Hackaton

Pues bien, en la entrada anterior pudisteis ver el circuito de alimentación del robot, en el cual utilizaba una bateria de 9V a 250mAh, de hidruro de metal níquel (Ni-MH).

 

Investigando un poco por Internet sobre un esquema para poder cargar dicha batería, he encontrado una imagen que muestra un cargador de baterias de Ni-MH y Ni-Cd en el cual tienes que cambiar una resistencia (R en el esquema) para que la intensidad i de salida del cargador (de entrada de la bateria) sea 0,1xC, donde C es la intensidad por hora de la bateria (en mAh).

 

Haciendo cálculos, la intensidad de salida i debe ser de 25mA. Por lo que la resistencia R debe ser de 50 ohmios, ya que la intensidad proporcionada en el pin adj y el out del LM317 es de 1,25 V (R = 1,25V/0,025A = 50 ohmios).

 

El esquema es el siguiente:[2]

 

Ahora procedré a montar este circuito.

 

 

También voy a enseñaros mi trabajo con el sistema de reconocimiento de voz.

He montado en una placa todo el circuito necesario para que funcione este módulo. Excepto la parte del micrófono, que debo cambiarlo. Os adjunto algunas fotillos de la placa:

Vista superior de la placa. De izquierda a derecha y de arriba a abajo: conector Jack 3,5 mono para el micro, alimentación de la placa (dos cables y dos pines), HM2007, cristal de cuarzo, pines de entrada del teclado o buses S y K, selector de modos (pines WLEN y CPUM del HM2007), salida del pin RDY hacia un led, bus de datos (8pines), IC 74373 (buffer), IC 6264 (SRAM 8Kx8).

 

Vista inferior de la placa.

 

Vista superior del teclado. Va del 0 al 9, más los botones CLR y TRN.

 

Vista inferior del teclado.

 

Vista del micrófono.

 

Debo cambiar algunos componentes para que el micro funcione correctamente. La placa funciona y muestra los datos correctos por el bus de datos. Sin embargo todabia no reconoce por el hecho de que el circuito del micrófono no es correcto. Procederé a cambiarlo.

 

 

Aprovecho y también os hablo de la base de los servos que construí hace unas semanas. Como puse en el post [3] , lo estaba haciendo de madera y del mismo esquema del otro. Aqui os traigo unas fotillos:

 

Vista superior de la base de los servos.

 

Base de los servos colocada en el chasis superior

 

Vista superior de la foto anterior.

 

He conseguido montar 3 de las 6 patas (sin el chasis) en la base. Cuando tenga el circuito de alimentación terminado, podré probar correctamente dichas patas en una simulación como en el 1º video que subí [4]. Aqui unas fotos de las patas montadas en la base:

 

Un solo servo montado.

Las 3 patas montados en la base. En prueba dos servos de una de las patas.

 

Detalle de las 3 patas montadas.

 

Otra de las grandes preguntas del proyecto, es como voy a conectar todo esto con Arduino. Pues la idea original era (y sigue siendo) que la interfaz entre las conexiones del robot y el microcontrolador fuese como una shield para Arduino Mega. Para ello, estoy diseñando una placa que encage encima del Mega. Aqui os traigo la última foto de esta entrada:

 

Vista superior de la Shield HXBot para Arduino Mega.

 

En esta shield, se pueden observar una hilera de 3×18 pines (o mejor dicho la colocación de ella) en la que se conectarán los servos. Todabía está en proceso de diseño, asi que faltan algunos detalles, como el conexionado con el sistema de reconomiento de voz y demás.

 

Perdón si es una entrada demasiado extensa, pero la cantidad de fotos es considerable para una mayor documentación del proyecto.

 

También quiero dar las gracias a [1] por ofrecer dicho conocimiento sobre los cargadores de baterias.

 

 

Un saludo,

Ángel Cayetano

 

________________________________________________________________________________________

[1]: http://usuarios.multimania.es/emimad/esquemas/cargador/index.htm

[2]: http://usuarios.multimania.es/emimad/esquemas/cargador/cargador_baterias.jpg

[3]: https://hxbot.wordpress.com/2011/03/01/mas-avances/

[4]: http://www.youtube.com/watch?v=4Q3Hv5hO064

Unos de los principales problemas que a uno se le viene a la cabeza a la hora de construir esto, es la autonomía. Personalmente me niego a tener un cable que salga del robot a una fuente de alimentación (un pc, una pila externa, corriente eléctrica … ), asique he estado trabajando en este problema.

 

Arduino trabaja a 5V, pudiéndose alimentar de 3 formas diferentes:

 

  • Desde el puerto USB, la forma más cómoda para cuando estás en desarrollando un proyecto o estás probándolo.

 

  • Desde el conector, que puede ser alimentado de 6 a 20 V, pero se recomienda utilizar una fuente entre 7 y 12 V. Arduino ya trae un regulador de tensión de serie.

 

  • Desde el pin Vin, situado cerca de los pines analógicos. Es más peligroso utilizar este pin, ya que tienes que alimentarlo con aproximadamente 5V (piquito arriba, piquito abajo).

 

Por otro lado, como creo que ya os expliqué en post anteriores (o si no ahora lo estoy diciendo), Arduino proporciona 40 mA máximo, lo que viene corto para los 18 servos que se utilizan en las patas. Por lo que los servos deben ser alimentados de forma externa al Arduino, pero teniendo masa común con él.

 

El sistema de reconocimiento de voz va alimentado directamente desde un pin del Arduino, para controlar si quiero que reconozca, o en caso contrario desactivar su alimentacion (necesita mucho menos de 40 mA para poder ser alimentado).

 

Para solventar este problema, he diseñado un circuito para la alimentacion del robot que proporciona tanto 5V como 9V, que se activa cuando pulsas un botón, y que además una vez alimentado, dicho botón se puede utilizar para otras funciones. Además he escrito una pequeña rutina para el Arduino y así poder mostraros su funcionalidad. Éste código junto con el del vídeo del post anterior (el de primeros movimientos de las patas:  [1] ), está subido en mi forja de RedIris.

 

Ahora un video mostrándoos el circuito de alimentación. Toda la información sobre el programa está disponible en [2].

 

La información del circuito está aquí: [3].

 

 

Saludos,

Ángel Cayetano

 

___________________________________________________________________________________________

[1]: https://hxbot.wordpress.com/2011/03/01/mas-avances/

[2]: https://forja.rediris.es/docman/view.php/881/1345/Prueba_Circuito_Alimentacion_HXBot.pde

[3]: https://forja.rediris.es/docman/view.php/881/1347/Circuito%20de%20Alimentacion%20-%20Documentacion.pdf

Más avances

Buenos dias a todos!

Comenzaré hoy mostrándoos un video en el que muestro los primeros movimientos de robot. Es una rutina simple: inicia el robot en modo espera, y tras esperar 2 segundos, comienza un movimiento repetitivo, que sería el “andar” de una pata en modo primitivo.

Aqui tenéis el video:

Como podéis observar, y si recordáis anteriores post, la base del robot donde se apoyan los servos denominados “hombro” (la tapa de galletas), no aguanta el movimiento y es demasiado maleable, por lo que los movimiento no son precisos, y corre el riesgo de rotura.

Actualmente estoy trabajando en una base de madera, que aunque pese más, es más rígida y duradera. El diseño de esta base es practicamente el mismo que el que habéis visto en el video, pero de dicho material.

Otro aspecto en el que estoy trabajando muchisimo, es el módulo de reconocimiento de voz. Y también es un aspecto que me está dando mucho ruido. El diseño del módulo es lo suficientemente fácil como para meterle mano, pero tan difícil sin lo materiales apropiados que se hace realmente laborioso.

El primer problema que he tenido ha sido que algunas patas de los integrados no hacen contacto con la protoboard, cuestión en la que dí hace aproximadamente semana y media y que gracias a ese inconveniente he estado parado practicamente un mes. Ahora iré a comprar unos zócalos para poder hacer una pcb algo rudimentaria y poder probar con algo más de comodidad y seguridad el módulo.

El segundo problema ha sido que como no he podido probar bien el módulo, he preferido de momento manejarlo en modo manual hasta que consiga hacer que funcione. Este problema está muy estrechamente ligado al primero, y la solución de éste seguramente resuelva el segundo.

Quizás pueda utilizar el HM2007 en modo cpu y todo.