miércoles, 5 de marzo de 2008

Algunos problemillas

En nuestra siguiente sesión de laboratorio nos proponemos incorporar a la araña un brazo robótico que nos servirá para colocarle el sensor infrarrojo y así poder realizar barridos en busca de la señal proveniente del faro.

En el laboratorio conseguimos otra araña, distinta a la que habíamos probado el día anterior, que ya tenía montado el brazo robótico así que nos parece una buena idea utilizar esta en lugar de montar un brazo en la otra. Pero antes hemos tenido que corregir algunos problemas que nos han surgido:
- El primero de ellos es que algunas piezas encargadas de trasmitir el movimiento del servo a la pata de la araña se han salido de sus tuercas. Para solucionarlo hemos tenido que quitar algunas piezas para poder situarlas de nuevo correctamente.
- El segundo hace referencia a la controladora de servos, mostrada en la imagen:


Para nuestra aplicación utilizamos 15 servos (12 para las patas y 3 del brazo). El problema reside en el slot 2 de la controladora segunda no funciona correctamente como hemos podido comprobar. Esto tiene fácil solución: no usarlo. Pero este servo era utilizado por el programa para enviarle información del movimiento de una pata, por lo que hemos tenido que modificar el código para que ese movimiento sea enviado al servo 8 de la controladora 2 (en el cual conectamos el que antes estaba conectado al 2).
- Otro problema que nos sorprendió en un principio es que al ejecutar el programa, una pata se colocaba de inicio en una posición que no correspondía (a priori) con la que el programa le transmitía (la posición media: 127). Como pudimos comprobar, el fallo no era del programa, ni del servo, ni de la comunicación. En realidad estaban ocurriendo dos cosas que trataremos de explicar lo más sencillamente posible. Para entenderlo, diré que se solucionó corrigiendo (destornillador en mano) la posición incorrecta de la pata. Es decir, como esta pata debía estar situada en el medio (porque así lo indicaba el programa) y no lo estaba, pues la desatornillamos y la fijamos en la posición media real. De esta forma al iniciar el programa ahora sí están todas situadas en la posición media. El siguiente experimento nos saca de dudas sobre lo que estaba ocurriendo. Al conectar la alimentación de la araña, la controladora manda a sus servos una posición inicial que tiene preprogramada. En principio esta dirección es la 127 (posición media). Pues bien, al hacer esto, la pata conflictiva aparece unos 45º desplazada respecto de su posición media, lo que nos hace pensar que la posición inicial que la controladora envía no debe de ser la 127. El programa sin embargo sí envía la 127 y la pata se coloca bien en su posición media.
Deducimos entonces que el problema era en realidad dos: la posición media del servo y posición media real no coincidían y que la controladora no envía la posición inicial 127, sino otra. Esto no es en realidad problemático para nuestra aplicación.

Tras haber solucionado estos problemas, conectamos los servos del brazo a los que nos quedan libres en la controladora. Nos quedan libres sólo tres, puesto que uno no funciona.

1 comentario:

Juancho dijo...

¿podríais poner algunas fotos de las distintas conexiones y cables?