COMO CONTROLAR UN ROBOT DE 6 EJES SIN NECESIDAD DE ORDENADOR
Por Pablo Pompa
En esta ocasión se va a mostrar como controlar un robot de 6 ejes desde un microcontrolador Basic X24 de forma que
no haga falta tener conectado el brazo al PC para hacer los movimientos. El brazo robot utiliza como circuito el S310165
CONTROLADOR 8 SERVOS MINI SSC lo que significa que todo lo expuesto aquí, sirve para cualquier robot que utilice
el mismo circuito MiniSSC II o compatible, como es el caso del controlador SCC 12 y otros similares.
Para realizar el control se utiliza un S310205 microcontrolador BasicX24 y un S310220
CIRCUITO KIT INICIO BASICX-24 que permite conectar el microcontrolador para hacer la programación, además
de contar con pulsadores que se utilizan para seleccionar entre uno de los 4 programas que se quiera ejecutar, dando
lugar a que el robot haga 4 movimientos o secuencias diferentes. También puede utilizarse cualquier otro circuito
compatible con BasicX24 como el S310162 CIRCUITO MINI ATOM BOARD o el S310215
SISTEMA DESARROLLO BASICX-24 que igualmente cuenta con pulsadores.
El proceso a seguir consiste en generar la secuencia de movimientos con el programa VisualSC2 y
guardar el programa con las diferentes instrucciones en un archivo de texto, que después es compilado y guardado
en el microcontrolador Basic. Luego se conectan mediante cables la señal de tierra (pin4) y la de transmisión
de datos (pin1) entre el microcontrolador y el circuito controlador de servos a los pines G y S del minissc respectivamente.
Con esto se consigue que cuando el microcontrolador envíe los datos por el puerto serie, estos lleguen a la entrada
de datos serie del minissc directamente.
El programa de control del BasicX24 se llama AutoSSC y puede encontrarse
aquí, junto con los archivos 'Prg1.txt' ... 'Prg4.txt' que contienen secuencias de ejemplo y que siempre
tienen que encontrarse en el mismo directorio que el archivo bas, de forma que el compilador los incorpore en el
archivo binario final. El fichero se descomprime automáticamente al ejecutarse, por lo que solo hay que seleccionar
el directorio donde se guardaran todos los archivos. El programa es muy simple y bastante corto por lo que deja
libres mas de 31 kbytes para guardar los datos de los programa, o lo que es lo mismo mas de 15.000 ordenes de movimiento
de los servos. Hay que tener en cuenta que la memoria hay que repartirla entre los 4 programas, aunque no de forma
proporcional, de hecho se puede si se quiere tener un solo programa mas largo, y nada mas o bien dos largos y otro
mas corto o cualquier otra combinación que no sobrepase la memoria total disponible. Una forma fácil y cómoda de
ver cuanto ocupa cada parte es el consultar el archivo Autossc.mpp resultante después de compilar el programa en
el editor de BasicX.
Desde el punto de vista del programa, lo único destacable es la utilización de las variables de tipo ByteTableData
para guardar los datos de los programas que se encuentran en los archivos Prg1.txt a Prg4.txt. Los valores de los
programas se leen por parejas, siendo el primero el numero de servo y el segundo el valor correspondiente. Adicionalmente
se han añadido 2 valores que no es usado por el circuito MiniSSC directamente, pero si son tenidos en cuenta
por el programa AutoSSC. El primero es el valor de servo 127, que le indica al programa que haga una pausa de 20
ms multiplicado por el valor siguiente. Es decir que el programa cuando encuentra el servo 127 , deja de enviar comandos
durante el numero de periodos de 20 ms que indica el siguiente valor.
Por ultimo, el otro valor que hay que tener en cuenta, es el valor de 255. Un valor de 255 para el servo le indica
al programa que ha terminado. Este valor es necesario incluirlo al final del programa a mano, ya que el programa
VisualSC2 no lo hace. Para ello basta con situar el cursor al final del programa y escribir '255,255' al final, antes
de guardar el programa en el disco.
EN LA PRACTICA
Para tener una idea mas clara de todo el proceso, lo mejor es seguir paso a paso los siguientes pasos.
- 1 Conectar el robot al PC tal y como se hace normalmente.
- 2 Preparar el programa de los diferentes movimientos con VisualSC2.
- 3 Añadir '255,255' al final del programa.
- 4 Guardar el programa en el disco con uno de los 4 nombres disponibles 'Prg1.txt' a 'Prg4.txt'
- 5 Copiar los programas guardados en el mismo directorio donde se encuentre el programa AutoSSC.
- 6 Abrir el editor de BasicX y compilar de nuevo todo el proyecto para que los nuevos programas se incluyan en
el archivo binario del programa.
- 7 Descargar el programa sobre el BasicX24.
- 8 Conectar las patillas 1 (señal) y 4 (tierra) en las entradas 'S' y 'G' del circuito MiniSSC II.
- 9 COnectar la alimentación de todos los circuitos y pulsar los diferentes pulsadores para ver los movimientos.
Por supuesto que el programa puede adaptarse a cualquier otro requerimiento como pueden ser mas botones, autoejecución,
repetición de programas, etc. Aquí simplemente se expone un punto de partida.
Por ultimo un detalle. El programa VisualSC2 se ha modificado para que ya no incluya los caracteres de separación
de movimientos '----------------' que incluía antes. Si esta usando una versión que si lo hace, puede hacer dos cosas
o bien se baja la nueva versión, o bien borra los guiones a mano, ya que de los contrario el programa AutoSSC le
dará un error al compilar.
MATERIAL NECESARIO
|