TUTORIAL ROBONOVA HABLANDO
ROBONOVA QUADRAVOX
¿El por que?
Hace un tiempo me he aficionado a la robótica, concretamente por lo bípedos, no obstante siempre me atrajo el poder programar estos robots a mi gusto y como no de forma interactiva con el exterior. Tras instalarle varios sensores, observe que el mismo seguía siendo frió, aislado, le faltaba “algo”yo diría que personalidad propia, por lo que opte en añadirle VOZ.
Tras mirar diferentes sintetizadores de voz, artículos etc, encontré uno en una revista “robot” donde D.G. Smith usaba el quadravox 306m1.Un sintizador de voz muy pequeño capaz de grabar nuestros sonidos en formato mp3 o wav, con una potencia 1,3 watios. conexión rs232, alimentado con 3,3. . a 5 v.
Mano a la OBRA
Lo primero que necesitamos es programar el chip de sonido, para ello usaremos el programador Qv430P, utilizando el software que nos trae el programador
El Programador es muy sencillo de usar, lo único que debemos hacer es configurarlo con nuestro pc,
El único problema que podéis encontrar es que vuestro puerto com1 este configurado en Xon, Xof, por lo que tendremos que entrar en panel de control, sistema , harware, y administrador de dispositivos, seleccionamos, puertos com, , propiedades, y en control de flujo, seleccionamos harware.
No explicare como se usa el software porque es muy intuitivo, aparte que mejor probar todas las opciones que nos trae. Como podemos observar el chip viene con una tira de pines, que sinceramente, lo único que hace es aumentar el tamaño del mismo, cosa que no nos interesa, e incluso es un gran inconveniente, ya que un corto de uno de estos pines, con la carcasa del robonova, nos puede causar grandes destrozos, por eso yo he optado por cambiarlos por un zócalo hembra, el cual es una parte de un zocalo normal , que ha sido cortado. Como veis en la fotografía nº1 e incorporando las tiras de pines al programador, así lo único que tendré ,es insetar el zócalo del chip en la tira de pines y programar.De esta forma el chip entra perfectamente en el interior de la carcasa delantera de nuestro robonova, compartiendo espacio con el sonar. En la parte posterior del chip he conectado los cables que van a la placa controladora 3024 del robonova. Para ellos he usado extensores de servos, que se venden en cualquier tienda especializada de radiocontrol, evitando tener que soldar, en la placa madre. Al otro lado de la carcasa he pegado, el altavoz ,sin olvidar que hemos de taladrar la carcasa para su mejor acústica, con pequeños agujeros de 1,5 milímetros, si puede ser que sean simétricos, para que se vez mas estético, no la carguéis como yo ;). Una vez programado, pasamos a las conexiones de la siguiente forma. Conexiones:
Bueno una vez hecho esto arrancamos el software del programador, seleccionamos los sonidos etc, que deseemos y programamos el chip fig2..
Como podemos observar BR1 y Br0, lo conecto directamente a masa, así su velocidad de lectura será de 2400 baudios.Pudiendo configurarla según nuestro gusto, incluso si le damos mas velocidad , oiremos como las ardillas de los dibujos jeje.
BR1 BR0 Rate
0 0 2400b
0 1 4800b
1 0 9600b
1 1 19200b
El altavoz que he usado es uno muy pequeño sacado de un móvil de ultima generación que tenía en casa estropeado, el cual traía la capacidad de manos libres, en la imagen 3, podemos observarlo a la derecha de la carcasa, de color rojo.
El RTX del chip lo conecto al puerto ETX del robonova, aprovechando la conexión de masa y 5 voltios para alimentar el chip de quadravox.
A diferencia del chip que instalo nuestro amigo Smith en su artículo, ha este no le hace falta ningún controlados de tensión, para mantener el sonido estable, ya que nuestro chip dispone de un oscilador de cristal que se encarga de ello, aunque nuestra robonova disminuya por descarga de la batería, el sonido será estable y constante
. Con el siguiente instrucción, después de declarar la variable son como byte, hacemos que se ejecute el sonido numero once que hemos grabado en nuestro circuito, a una velocidad de 2400, recordamos que hemos configurado Br0 y br1 a dicha velocidad.
PROGRAMA:
DIM son AS BYTE
Son = 11
ETX 2400, s0n
Si queremos que nuestro robot no siga ejecutando el programa hasta que finalice el sonido, debemos conectar la señal Busy a un puerto A/D de nuestra controladora, así, si hay sonido en nuestro puerto A/D habrá una señal, por lo que al terminar el sonido volverá a cero.
Si queremos que nuestro sonido pare súbitamente le daremos el valor 246 a la variable son, esto es debido a que nuestro chip es capaz e almacenar 240 mensajes , es decir del valor 0 al 239, apartir de ahí cada valor será un comando a ejecutar, por ejemplo:
HEX DEC Funcion
000h-0efh play file 0-239 (dependiendo de la capacidad de nuestro chip, max 64mega, nuestro mensajes pueden ser mas largos)
0f0h 240 set play mode to direct addressing
0f1h 241 set play mode to linear sequence
0f2h 242 loop current file (0f7h clears)
0f3h 243 set play mode to random sequence
0f4h 244 pause playback
0f5h 245 resume playback
0f6h 246 stop play immediately
0f7h 247 stop play at end of current file
0f8h 248 sleep
0f9h 249 open string
0fah 250 close string
0fbh 251 play string
0fch 252 set volume with next byte transmitted. Only values 0-63 are valid
0fdh 253 software reset
0feh 254 return version byte (00ch)
0ffh 255 return type byte (066h)
Otra forma de resetear el sonido, es una señal digital a la entrada del chip RESET.
Lo ideal es que todas las conexiones de masa BRO, BR1, BUSY, etc de configuración sea a través de conexiones a la placa 3024 usando conectores, así , cuando vayamos a programarlo no nos olvidemos de ella y produzcamos un desastre en la circuiteria. Yo particularmente lo he hecho de esta forma, utilizando un velcro para sujetar la placa Qv601 al chasis del robonova, siendo de esta forma muy sencilla de quitar y poner.
video demo..................... http://www.youtube.com/watch?v=I_1Ap56d1JU
(no me dio tiempo hacer un programa serio)
BUENO esto es todo, espero que mi tutorial os haya servido para algo.Un saludo de C. R, en caso de duda, mi email es canarioalpoder@hotmail.com

Meneame
del.icio.us
Agradezco la publicación de este interesante trabajo, soy poseedor de un robot como este, y ya sabrás, supongo, por tu experiencia propia, lo difícil que es encontrar algo que merezca la pena, relacionado con este robot, yo aun no he empezado pero la primera, experiencia que quería tener con este robot, sería el colocarle un servo en lugar de la cabeza para que mueva un sensor de ultrasonidos. Aprovecho para comentarte que en la Web http://www.todomicrostamp.com/investigacion.php se han formado unos grupos de investigación, y hay uno especifico, para nuestro robot, yo soy uno de los miembros del grupo, sería una caña, que tu fueses también participe de este grupo, serías un miembro muy interesante, así entre todos podremos hacer, que este robot, sea algo mas que un simple imitador de movimientos, Gracias por tu trabajo, hablamos.!
Ponciano Criado Pérez | 10-09-2007 - 22:47:33 GMT 1 #
Hola, agradesco tu interes, acabo de ingresar en dicho grupo. Referente al
servo en la cabeza yo lo tengo a medio hacer, eh insertado un servo de las misma carcteristiticas que usa el robonova, ya que el mismo nos dice la situacion con un comando. Asi cuando el sonar detecte algo, el saltara a la subrutina que le preguntara al servo en que angulo ha sido, dependiendo del angulo , podremos hacer girar al robonova y continuar.
Otra idea es poner al robonova en un laberinto y hacerlo recorer, la primera vez detectara los obstaculos, almacenando en forma de variable, al ejecutar una orden de regreso, lo ideal es que use esas variables para volver por el mismo camino.
colgare unas fotos en cuanto pueda, se puede decir que lo que es el harware ya esta terminado, me falta ponerme a programar un poco.
Guanajo | 15-09-2007 - 18:04:35 GMT 1 #
Hola como tas? Creo que nos hemos visto alguna vez :-),pero no estoy muy segura, tu trabajo me parece muy interesante y apasionannte,algún día me gustaría infiltraerme en este mundo tan complicado.Gracias por tu trabajo . un saludo
cristi y coco | 20-02-2008 - 17:56:47 GMT 1 #
Hola que tal, tengo uno de estos robotitos y estoy empezand a manejarlo, lo necesito para un proyecto de fin de carrera, necesito enviarle datos por el puerto serial de mi computadora y recibir dn la computadora, ahora mismo no esncuentro ningnmanay con el comando ERX y el ETX no lo consigo si me ayudaras les agradeceria
Luis | 11-03-2008 - 16:30:21 GMT 1 #
Porque no te pasas por el foro de http://robotica.foroactivo.com/ y lo discutimos.
Un saludo
Carlos | 12-03-2008 - 14:00:21 GMT 1 #