Aún no he encendido los servos. Estos pueden ser conectados en cadena en un bus TTL de 3 cables (tierra, poder y comunicación TTL). Cada servo Dynamixel MX-28T tiene in controlador PID interno y tiene varios parámetros configurables y data disponible para lectura.
Haré la configuración de algunos servos Dynamixel MX-28T, a cada uno se le debe configurar un ID y la velocidad de transmisión a 1 Mbps para ser usado en el clon de DARwIn-OP. El ID de cada servo debe ser de 1 a 20 dependiendo de su posición en el robot según de indica en los manuales DARwIn-OP_Actuator ID y DARwIn OP Assembly Manual. El MX-28T viene preconfigurado de fábrica con ID = 1 y 57142 bps y no van a funcionar 2 servos conectados en cadena con el mismo ID.
Tengo un Hub de Poder para el bus Dynamixel TTL y algunos cables. El cableado es simple: fuente de poder (12V) al hub, un cable a un servo y un cable al adaptador USB USB2Dynamixel (con el switch del costado en modo TTL).

Cuento con una fuente de poder digital con protección de sobrecorriente y medición de corriente que sirve para ver el consumo cuando los servos están con carga o sin carga.
Las recomendaciones que encontré indican primero interconectar el hub, servo(s) y adaptador USB, luego contectar el adaptador USB al PC y finalmente energizar la fuente. Para desconectar todo hay que seguir los pasos al revés. Con la fuente a 12V y 1A es suficiente para probar un servo MX-28T.
El software Robotis RoboPlus puede ser usado para configurar un servo, contiene varias herramientas, en particular Dynamixel Wizard. Está disponible para descarga y corre sólo en Windows aun cuando el software de DARwIn-OP corre en Ubuntu Linux.
La instalación de RoboPlus es simple y además instala sin preguntar el driver para el adaptador USB2Dynamixel. Una vez instalado se puede conectar el USB2Dynamixel y ver en el Administador de Dispositivos de Windows el puerto COM asignado. Luego se puede correr el programa Dynamixel Wizard, seleccionar el puerto COM en el combo de la izquierda y presionar el botón ‘connect’.

Luego, se muestran a la derecha 2 opciones de velocidad de transmisión, lo que permite buscar servos en velocidades 1000000 bps y 57142 bps por defecto.

Al hacer la búsqueda, el programa empieza a escanear cada velocidad de transmisión para IDs de 1 a 253. Esto toma unos segundos y el servo o servos conectados deberían aparecer en el panel de la izquierda.

Al seleccionar un servo, el panel derecho cambia a una tabla con todos sus registros. Algunos son de lectura/escritura y otros sólo lectura, según describe la especificación de MX-28T. El clon de DARwIn-OP usa los servos en modo Joint (articulación). Aquí podemos:
- Cambiar el registro 3 (ID) (seleccionándolo y ajustándolo).
- Cambiar el registro 4 (Baud Rate) a 1 (que significa 1000000 pbs).

También se puede probar el servo:
- Leyendo el registro 36 (Present Position) mientas se rota manualmente el servo. El valor debería cambiar al rotarse.
- Mover el servio cambiando el valor del registro 30 (Goal Position). Una vez que se setea un valor en el registro, el servo se mantendrá activo y tratará de mantenerse en la posición indicada. Para los parámetros de fábrica de un servo nuevo, es prácticamente imposible rotar a mano un servo activado. Al hacerlo se puede mirar el aumento de consumo de corriente ya que el servo trata de oponerse.

Más adelante usaré un adaptador USB2AX que es mucho más chico que el USB2Dynamixel, sólo funciona a 1 Mbps (que igual es mejor para minimizar esperas) y tiene sólo un bus TTL (justo el caso de los servos a usar).

Una vez que los servos están configurados con IDs distintos, se pueden encadenar y conectar a un PC o ser usados en el clon del DARwIn-OP.
One Reply to “Encendiendo el Servo Dynamixel MX-28T”