Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Electromanía

Robotica personal

24/08/2007 GMT 1

TUTORIAL ROBONOVA HABLANDO

guanajo @ 01:16

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

 programador.JPG 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.

     
Bueno una vez hecho esto arrancamos el software del programador, seleccionamos los sonidos etc, que deseemos y programamos el chip fig2..








No explicare como se usa el software porque es muy intuitivo, aparte que mejor probar todas las opciones que nos trae.

q6061.JPG

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.
loro-parque-142.JPG









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 ;).  

 

    frontal-bueno.JPG

 Una vez programado, pasamos a las conexiones de la siguiente forma. 

 

 

 

Conexiones:

circuito-quadravox.JPG


          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

          1          4800b

1          0          9600b

 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

.
fronatal.JPG
PROGRAMA:








 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.


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

Comentarios

Comentarios(5) »

  1. 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 #

  2. 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 #

  3. 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 #

  4. 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 #

  5. 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 #

Dejar un Comentario


<a href> <em> <blockquote> <strong> <cite> <code> <ul> <li> <dl> <dt> <dd>

Archivo | ¡Crea tu Blog Ya! Fácil y Gratis