Robotica Facil. Robots, kits, circuitos, sensores, motores, etc.. SR1 Robot Multifuncional Robótica Fácil  
Página Principal Novedades Ayuda Ver Carrito Catálogo
Kits Robots Circuitos electrónicos Sensores robotica Motores y servos para robots Ruedas y Orugas para robots
Soportes y hardware Tornillos y separadores Libros robotica Radio Modem, Transmisores de Vídeo Robots Fotograficos
Fuentes de Alimentacion Componentes electrónicos Varios robotica Proyectos de Robotica Tutoriales de Robotica
Control Autónomo para Minissc

Microcontrolador Basicx24 controlando un robot de 6 ejes de forma autonoma. Clic para ampliar

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.

Circuito kit inicio microcontrolador BasicX24. Clic para ampliar

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.

Detalle de las conexiones entre el microcontrolador y el robot. Clic para ampliar.

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

Control Autónomo para Minissc
Ir a la Página Principal de www.SuperRobotica.com

Camaras, cctv, televigilancia, domótica, cámaras espías, transmisores, video por ip, video remoto

Actualizada el 29/12/2023 © 2002 - 2023 INTPLUS ®. Todos los derechos reservados