Simulado un Dispositivo Dynamixel en Controladores Bioloid

jueves, 11 de agosto de 2011 12 Comentarios, Dejar un Comentario
Existe una forma de agregar sensores como acelerometros, gyros etc. a tu controlador Bioloid compatible con la comunicación de los servos Ax-12, esto se logra simulando ser un servo pero enviando datos de este tipo de sensores además de ser compatible con Daisy Chain lo cual ahorra conectores hacia tu placa controladora y conectandolos directamente a cualquiera de tus servos.

Cuenta con características como tener un ID y solo responder tras ciertos comandos acordes con el protocolo que manejan los servos Dynamixel Ax-12, Ademas su pueden combinar varios sensores en un mismo dispositivo como lo es el Gyro, sensores de temperatura y todo tipo de sensor según tus necesidades.

He usado un Arduino para el envío de datos hacia el controlador Bioloid por su fácil programación y gran variedad de códigos que te ayudaran a implementar nuevas funciones en el Dispositivo.


De esta forma ya no será necesario conectar una fuente en el Jack o USB ya que se alimentara de la misma fuente de los servos, evitando exceso de cables en tu robot. Posteriormente podrás construir tu propia placa arduino con componentes SMD para la reducción de su tamaño.


Debido a que la librería HardwareSerial no es tan rápida como los servos Ax-12 tendremos que sacrificar la velocidad a unos 200,000 bps para que al arduino no le cueste procesar las peticiones del controlador Bioloid, tendrás que reducir la velocidad de todos los servos a la misma que el Arduino para lograr una buena comunicación con todos los dispositivos.

Los pines o cables  que saldran de este nuevo dispositivo serán los mismos que el de un servo Ax-12, Pin GND-> Conectado al GND del arduino, pin Vin-> Conectado al pin Vin del arduino y pin Data-> Conectado a los pines Tx y Rx del Arduino por ser un Half Duplex Usart.

Descagar Sketch Arduino Half Duplex Usart Sensor for Bioloid. 

En el Sketch la velocidad esta definida por BAUD_RATE  a 9600, cambiar este si se desea utilizar una diferente. El acelerómetro tendrá que ir conectado a A1 y A2 siendo eje x y eje y respectivamente.

Solo sube este sketch a tu arduino haz las conexiones y estará listo para ser conectado al daisy chain de tu controlador Bioloid.*Puede ser que tengas que modificar un poco el coligo para ajustar tu sensor.

Espero tus comentario.

Biblioteca Dynamixel Download

143 Comentarios, Dejar un Comentario


Actualizado 13/06/2013              Version 1.2.1

Importante: En la actualización de la biblioteca V1.2.1 las instrucciones cambian de ser Ax12.instruccion a Dynamixel.instruccion ya que es capaz de trabajar con diferentes modelos de estos servomotores, también el nombre de la biblioteca a sido modificado siguiendo el estándar de notación CamelCase.

Online Documentation by CornDog: http://austinlpalmer.com/Projects/Documentr/#/home


SourceForge Project: Download Library



*SoftSerial remplazara al antiguo SoftwareSerial (El remplazo no afecta el comportamiento del SoftwareSerial solo hace algunas funciones publicas para poder ser llamadas por la Biblioteca Dynamixel ) y es necesaria incluirla en el Sketch #include “SoftwareSerial.h”

**Las versiones de Dynamixel Serial1, Serial2 y Serial3 solo son para Arduino Mega ya que los otros arduinos no cuentan con estos puertos seriales.

***La velocidad por SoftSerial se vera reducida ya que la comunicación es hecha a través de pines que no fueron diseñados para esa actividad. (La lectura por SoftwareSerial aun no funciona ya que Softwareserial no realiza una lectura correcta )
Recomiendo leer el Manual de estos servomotores para un mejor entendimiento.

Versiones anteriores de estas bibliotecas pueden ser descargados desde aquí.

- Special thanks to Ambarish Parasar for making the translation of the documentation.