Comparativa Smart Servos (Serial Servos)

Hace poco hablé de la nueva línea de Smart Servos de Lynxmotion y se me ocurrió que sería un buen tema poner en papel las caracteríasticas del resto de Smart Servos del mercado realizando una pequeña comparativa entre todos ellos. También ayudará a dejar plasmado qué es lo que voy a superar, ya que LibreServo nace con entre otras pretensiones, como ya expuse en objetivos de Libreservo, superar lo ya existente en el mercado a nivel software y electrónico, que son las partes que dependen de mi.

Smart Servos (arriba) vs Servomotores estándar (abajo)
Smart Servos vs Servomotores estándar

¿Por qué usar un Smart Servo en vez de un Servo estándar?

Casi con total seguridad si estás leyendo esta entrada ya tengas bien claro por qué quieres utilizar un Smart Servo, pero para algún despistado, vamos a ver qué motivos hay para usar un Smart Servo en vez de uno estándar.

  • Comunicación: La comunicación en un servo estándar es unidireccional. Al servo se le comunica la posición en la que quieres que esté pero no hay forma de tener una respuesta por parte del servo; si ha llegado a la posición, si el servo se está sobrecalentando, si tiene algún problema o alguna otra cuestión.
  • Software: Un servo estándar requiere de un señal PWM con un pulso bastante preciso, el cual se repite 50 veces por segundo. Cuando el número de servomotores aumenta, manejar dicha señal sobre todos los servomotores para que se vaya actualizando de manera adecuada para conseguir un movimiento suave y continuo 50 veces por segundo no es tan sencillo. Por norma, si se quiere una señal precisa, se necesita de timers dedicados para ello y cuando se manejan muchos servomotores, no se suelen tener tantos timers. Si has usado la librería servo.h de arduino la cual usa un sólo timer para intentar generar las señales de servo y has querido generar un movimiento suave, que cambie la posición 50 veces por segundo, habrás podido experimentar que la señal generada dista mucho de ser precisa y adecuada.
  • Hardware: Cada servomotor estándar requiere de su propia señal precisa y su correspondiente cable. Eso hace que necesites un montón de cables y de salidas digitales en tu microcontrolador, además de los más que necesarios timers ya mencionados.

2005, Robotis lanza al mercado el robot humanoide Bioloid equipado con Smart Servos AX-12
Bioloid Comprehensive Kit

Para solucionar todos estos problemas se crearon los smart servos. A finales del 2005, la empresa coreana Robotis lanzó su famoso kit Bioloid equipado con servomotores AX-12, la versión actual es un poco diferente a la original y unos 300€ más caro,. Dichos servomotores fueron uno de los primeros smart servos del mercado marcando tendencia hasta el día de hoy en cuanto a diseño y forma. Lo que Robotis hizo con dicho servomotor fue:

  1. Por un lado diseñar un nuevo servomotor en cuanto a forma y tamaño, diseño que fue un completo acierto.
  2. Por otro lado sustituyeron el potenciómetro típico que traían todos los servomotores de una vuelta por el potenciómetro Murata SV01, un potenciómetro de rotación continua que da un rango efectivo de unos 320 grados.
  3. Por último, equiparlo con un pequeño microcontrolador Atmega8A que programaron para recibir comandos vía puerto serie. No fueron los primeros en usar un microcontrolador Atmega para controlar el servomotor, pero sí los primeros en interesarse por programarlo para interactuar con el usuario.

A día de hoy, existen 4 marcas establecidas que fabrican smart servos. Cada cierto tiempo aparece alguna compañía, sobre todo china, que pone a la venta smart servos pero que al de un tiempo la compañía desaparece o descataloga productos tan rápido como apareció como ha sucedido con XYZrobot, que hace dos años apareció como copia casi exacta del dynamixel AX-12 pero con el doble de par prácticamente y a día de hoy es muy difícil, por no decir imposible, conseguir los servomotores porque parece ser que ya no los fabrican. Cuando uno invierte una cantidad importante de dinero en servomotores, que como veremos no son baratos, hay que asegurarse que el fabricante tenga cierto historial y no nos deje tirados cuando ya hemos invertido varios cientos, o incluso miles de euros.

Comparativa de Smart Servos
Comparativa de Smart Servos

Características comunes de los Smart Servo

En general, las siguientes características son compartidas por los smart servos:

  • Velocidad Variable: Un servomotor estándar, siempre se moverá a máxima velocidad a la posición indicada, en cambio, a los smart servo se les puede indicar la posición y la velocidad a la que queremos que se muevan y ellos sólos se moverán al destino a la velocidad requerida.
  • Rotación continua: Todos los smart servos permiten girarse los 360 grados como un motor estándar, además de mantener una posición como un servomotor.
  • Bus serie: Todos permiten ser conectados de manera encadenada, un servo a otro servo. Cada servo tiene un identificador propio de 8 bits, así cuando se manda una instrucción lo primer que se envía es el identificador del servo al que va dirigida la instrucción y aunque todos los servos en ese bus escuchen el comando, sólo el servo con dicho identificador lo ejecutará. Teoríacamente podrías conectar hasta 253 servomotores en cadena, aunque en la redidad luego no se pueden encadenar muchos más de diez antes de que surjan errores eléctricos, o porque la señal serie sufre errores por pasar por tantos servomotores, o por sobrecarga de las líneas de alimentación al pasar la alimentación, la corriente, de todo el bus por servos individuales.
  • Alimentación: Todos los servomotores están diseñados para ser alimentados directamente desde una batería LIPO de dos o tres celdas según modelo, existen casos especiales de cuatro o más celdas pero no es lo normal. Bastantes servomotores estándar no admiten ser alimentados directamente desde una LIPO y piden ser alimentados a 6V o no a más de 7.4V.

Teniendo claro las características comunes, analicemos las diferencias entre los smart servos existentes:

  • Conjunto de instrucciones, cuantas más instrucciones e instrucciones que permitan hacer y configurar cosas "más complejas", mejor.
  • Calidad de la documentación, donde el fabricante expone todo el conjunto de instrucciones, ejemplos, cómo conectar los servomotores, propiedades de ellos...
  • Características del modelo básico de entrada y de posibles modelos superiores.
  • El precio.


Robotis

Dynamixel AX-12a y XL410-W250
Dynamixel AX-12a y XL410-W250

Ha habido al menos tres versiones del modelo AX-12a; el AX-12, AX-12+ y AX-12A. Con pequeñas mejoras entre una y otra versión pero básicamente siendo el mismo servomotor que dynamixel sacó hace 15 años y que se sigue vendiendo a día de hoy. No fue hasta el tercer cuarto del 2018, no hace ni un año, cuando dynamixel decidió introducir un cambio real a su gama de entrada y puso a la venta el XL430-W250. Un servomotor que en cuanto a par y velocidad es muy similar y también usa piñones de plástico, pero al que ahora incorporaba un sensor de posición magnético, el AS5601 un modelo básico de 3€ pero suficiente, una nueva carcasa más moderna, de plástico también, un conjunto de instrucciones más avanzado, puerto serie más rápido... Todo ello por prácticamente sólo cinco euros más.

El modelo AX-12A trae un conjunto de instrucciones bastante limitado permitiendo hacer movimientos simples de A a B a una velocidad dada (dynamixel funciona con velocidad y no con tiempos). Por contra, el modelo XL430-W250 ya permite limitar la aceleración y velocidad para generar curvas básicas. Al indicar velocidad y aceleración, calcular cuánto va a durar un movimiento se puede hacer un poco más farragoso. Ambos traen un led simple que muestra poca información al usuario. La documentación de Dynamixel a día de hoy es bastante adecuada.

Ambos están equipados con un motor DC básico y piñonería de plástico pesando 54.6 gramos la versión vieja y 57.2 la nueva. Pensados para funcionar entre 9 y 12V, ambos dan 15Kg/cm de par a 12V y una velocidad de 0.17 seg/60º y 0.16 en la nueva versión. El mayor problema que hay es que cualquier mejora que se quiera hacer, para mejorar el par, es carísimo. En la versión vieja sólo existe una mejora con el mismo factor de forma que sería el AX-18A, que cuesta 100€, por los 45€ del básico, para darnos una nimia mejora en par alcanzando los 18Kg/cm. En la versión nueva saltaríamos de los 52,5€ a los más que abultados 247€ del modelo XM430-W210 y 37Kg/cm de par. Cabe mencionar también, que una "simple" U para unir servomotores de la serie X430 cuesta 37€, casi tanto como el servomotor básico. Sí, dynamixel es caro.


DST robot

HerkuleX DRS-0101 y DRS-0201 de DST robot
HerkuleX DRS-0101 y DRS-0201 de DST robot

DST robot, compañía coreana como Dynamixel, tiene la línea de smart servo HerkuleX. Su modelo básico es el DRS-0101, un servomotor de características parecidas al AX-12A de Dynamixel pero con ciertas diferencias a destacar. El servomotor Herkulex está pensado para funcionar con una batería LIPO de 2 celdas, en vez de las 3 celdas del Dynamixel, teniendo un rango de trabajo de 7 a 9V. Un tanto alto me parece el mínimo voltaje. Es un servo con engranajes de plástico y sin siquiera un rodamiento en el eje del servomotor... eso hace que pese muy poco, sólo 45 gramos, pero lo hace muy poco idóneo para cualquier trabajo serio. De todos los servos analizados, también es el de menor par, con sólo 12Kg/cm. Tiene como ventaja, que a diferencia de con el Dynamixel, se puede conectar directamente a un arduino o a tu microcontrolador favorito, pero la velocidad de transferencia de nuevo está un paso por detrás del Dynamixel, alcanzando sólo 0.666Mbps. Por contra, tiene un más que adecuado conjunto de instrucciones, y sus servomotores se basan en posición y tiempo de duración del movimiento, lo cual hace que la sincronización entre varios servomotores sea muchísimo más sencilla.

DST robot también ofrece un modelo superior, el DRS-0201. Hablamos de un servo con engranajes de metal, motor coreless y 24Kg/cm de par. Es un servomotor algo más pesado, 60 gramos, pero mucho más adecuado para tareas más duras. Por ejemplo, si se quiere hacer un bípedo, el DRS-0101 sólo se puede recomendar para los brazos, para las piernas se debería de usar el DRS-0201. El DRS-0201 es también bastante más caro, 140€. Precio que queda un poco deslucido si pensamos que ambos modelos sólo equipan un potenciómetro que leen con 10 bits de precisión. Por 140€ un sensor magnético hubiera sido una más que obligada decisión.


LewanSoul

LX-16A de LewanSoul
LX-16A de LewanSoul

LewanSoul es una compañía china que entró a competir con el resto de smart servos en 2016 apelando a nuestro bolsillo, y es que cuestan literalmente una fracción que sus competidores. Por menos de 14€ se pueden comprar directamente en Amazon. ¿Cómo han llegado a costar tan poco? Pues recortando en calidad en todo lo que han podido, pero aún así, trayendo características muy interesantes que llegan a dejar un mala posición a algunos en la competencia.

El LX-16A es un servomotor diseñado para trabajar con una LIPO de 2 celdas, con un rango de funcionamiento de 6 a 8,4 voltios, engarnajes de metal y un par de 17Kg/cm. Para ser un servomotor con entranajes metálicos, pesa sólo 52 gramos. Por 14€, es realmente impresionante.

Por contra, la velocidad del puerto serie es de sólo 115200bps, el más lento con diferencia. Además, es una copia descarada de los de Dynamixel, copiando en su manual de usuario imágenes directas del manual de Dynamixel, China en estado puro 🙃 , así que no se puede conectar directamente a un Arduino, como pasa con los Dynamixel. Sí que es cierto que sus movimientos se basan en tiempo, lo cual me parece una ventaja, pero el conjunto de comandos es muy básico. Es un servomotor extraordinariamente barato que lo hace ideal para entrar en el mundo de los smart servos, pero que no te engañen sus cifras, no es un servomotor pensado para trabajar duro. Su electrónica y motor son de una calidad ciertamente baja, habiendo reportes que indican que el voltaje máximo del motor es de sólo 6V, lo que haría que su vida útil se vea muy comprometido al trabajar siempre por encima de su voltaje máximo recomendado, así que como les exijas, seguramente acabes con varios servomotores quemados. Hay que tenerlo en cuenta.


Lynxmotion

LSS, Lynxmotion Smart Servo
LSS, Lynxmotion Smart Servo

Hace poquísimo tiempo salieron al mercado y me hice eco de la noticia en el artículo dedicado a la nueva familia de smart servos Lynxmotion Smart Servos, LSS. Ahí se puede ver una información más detallada al respecto.

Lynxmotion entra al mercado a competir con una familia de smart servos en el que su servomotor más básico no tiene nada que envidiar en cuanto a sensores y calidades con los más avanzados del resto de la competencia, lo cual hace que su servomotor de entrada tenga un precio que se me antoja un tanto abultado. Todos traen encóder magnético, sensor de corriente, led RGB y piñonería de metal, el básico de latón y el de alto par de acero. Además, no hace falta de hardware específico para comunicarse con ellos pudiéndolos conectar directamente a vuestro microcontrolador favorito hasta a 1Mbps. Aún con un conjunto de instrucciones algo limitado, desde Lynxmotion nos aseguran que irán ampliándolo en futuras versiones del firmware.

De su familia de smart servos, es el servomotor HT1, el de alto par, el que más me llama la atención. Con un par de 29Kg/cm, motor coreless y todas las características ya mencionadas, su precio es de "sólo" 117€. No vamos a decir que es barato, porque son 117€, pero comparándolo con el DRS-0201 es más barato y superior en características y comparándolo contra los Dynamixel, no tiene mucho que envidiar y cuesta menos de la mitad.


Recopilando datos

Como se puede ver, hay opciones para todos los gustos y bolsillos. A continuación se muesta la tabla resumen de las características más destacadas de cada servomotor, en formato tabla y en imagen.


Tabla comparativa de Smart Servos
Fabricante Dynamixel Dynamixel Dynamixel Dynamixel Dynamixel Herkulex Herkulex LewanSoul Lynxmotion Lynxmotion
Modelo AX-12A AX-18A XL430-W250 XM430-W210-R XM430-W350-R DRS-0101 DRS-0201 LX-16A ST1 HT1
Voltaje Funcionamiento 9-12 9-12 6,5-12 10-14,8 10-14,8 7-9 7-9 6-8,4 6-12,6 6-12,6
Par (Kg/cm) 15 @ 12V 18 @ 12V 15 @ 12V 37 @ 14,8V 49 @ 14,8V 12 @ 7,4V 24 @ 7,4V 17 @ 7,4V 14 @ 12V 29 @ 12V
Velocidad (seg/60º) 0,17 @ 12V 0,1 @ 12V 0,16 @ 12V 0,105 @ 14,8V 0,175 @ 14,8V 0,166 @ 7,4 0,147 @ 7,4V 0,16 @ 7,4 0,166 @ 12 0,166 @ 12
Engranajes Plástico Plástico y metal Plástico Metal Metal Plástico Metal Metal Metal Metal
Sensor Posición Potenciómetro Potenciómetro Magnético Magnético Magnético Potenciómetro Potenciómetro Potenciómetro Magnético Magnético
Resolución (bits) 10 10 12 12 12 10 10 10 12 12
Sensor Corriente No No No No No No
Resolución (mA/paso) -- -- -- 2,69 2,69 -- -- -- NA NA
Tipo motor DC Coreless DC Coreless Coreless DC Coreless DC DC Coreless
Peso (gramos) 54,6 55,9 54,6 82 82 45 60 52 58 80
Max. Vel. Puerto Serie (bps) 1M 1M 4,5M 4,5M 4,5M 0,667M 0,667M 115200 1M 1M
Tipo LED Simple Simple Simple Simple Simple RGB (7 colores) RGB (7 colores) Simple RGB (7 colores) RGB (7 colores)
Microcontrolador Atmega8 16AU Atmega8 16AU CortexM3 (STM32F103C8) CortexM3 (STM32F103C8) CortexM3 (STM32F103C8) NA NA NA Cortex M0 Cortex M0
Modo de control Velocidad Velocidad Velocidad Velocidad Velocidad Tiempo Tiempo Tiempo Velocidad Velocidad
Conjunto instrucciones Básico Básico Amplio Amplio Amplio Amplio Amplio Muy Básico Básico Básico
Precio (euros €) 45 100 45 247 247 42,35 140 14 72 117

Tabla comparativa de Smart Servos
Tabla comparativa de Smart Servos
Etiquetas

Suscripción

Recibir un email cuando se publique un nuevo artículo.