Prueba del servomotor Feetech STS3215: holgura, repetibilidad y par

Views icon 13421
Testing of Feetech STS3215 Servomotor

En septiembre pasamos a una etapa más detallada de pruebas de los servomotores antes de comenzar la programación del controlador. Empezamos a probar el Feetech STS3215 C018 (relación de reducción 1:345, 12 V, par de bloqueo de 30 kg·cm), un servomotor popular ampliamente utilizado en proyectos robóticos de código abierto como SO-ARM100 y el Robonine parallel gripper. Este artículo se centrará principalmente en su rendimiento. Para empezar, revisaré los datos proporcionados por el fabricante. Estos valores servirán de referencia para nuestras pruebas de verificación. Algunas de las imágenes muestran el Waveshare STS3215, que es técnicamente muy similar, hasta el punto de usar la misma versión de firmware.

Codificador magnético de 12 bits

Codificador magnético de 12 bits

El Feetech STS3215 incorpora un codificador magnético de 12 bits que proporciona 4096 pasos por cada giro de 360° (0,088° por paso). Este diseño magnetorresistivo elimina el desgaste por fricción frente a los codificadores basados en potenciómetro con contactos deslizantes, que se degradan con el tiempo. La ausencia de superficies de contacto móviles garantiza un control en lazo cerrado fiable y un rendimiento constante a largo plazo sin degradación del codificador.

 

Feetech STS-3215: parte trasera y engranajes

Feetech STS-3215: parte trasera y engranajes

El servo cuenta con una caja de engranajes metálica de varias etapas diseñada para ofrecer un par de salida elevado en un formato asequible. Según the datasheet, la especificación de la caja de engranajes incluye una holgura ≤ 0,5°, lo cual es típico para esta clase de servo. Se utilizan engranajes metálicos en lugar de plástico para soportar cargas sostenidas y ciclos de movimiento repetitivos. El codificador está integrado antes de la etapa de engranajes para ofrecer una retroalimentación directa del motor. La caja de engranajes utiliza una relación de 1:345, lo que permite al servo convertir la velocidad del motor en un par de salida elevado, adecuado para aplicaciones robóticas. La alta relación de reducción y el diseño de la caja de engranajes metálica hacen que este servo no sea apto para aplicaciones de accionamiento inverso, ya que las fuerzas externas pueden hacer girar los engranajes con facilidad, provocando un movimiento incontrolado y posibles daños en el motor.

El gráfico de la curva de rendimiento muestra official datasheet los valores de potencia de salida, velocidad de rotación, eficiencia y consumo de corriente para cargas de par de 0 a 30 kg·cm. La velocidad disminuye de forma lineal a medida que aumenta la carga, mientras que la potencia de salida alcanza su máximo en torno a los 15 kg·cm antes de descender con cargas mayores. La eficiencia llega a su máximo (aproximadamente el 26%) en el rango de 6-9 kg·cm, lo cual es típico de los motores asequibles de tipo servo. El consumo de corriente aumenta de forma lineal con la demanda de par en todo el rango de funcionamiento. Estas especificaciones de catálogo demuestran que, a pesar de los modestos valores de eficiencia propios de los diseños de bajo coste, el servo ofrece una gestión de potencia fiable, adecuada para aplicaciones de robótica y automatización ajustadas al presupuesto.

Prueba de rendimiento de velocidad y precisión

El servo Feetech STS-3215 se probó al 100% y al 50% de su velocidad nominal. Las mediciones mostraron una velocidad máxima de aproximadamente 46 RPM, con una precisión de ±2% y fluctuaciones de en torno al 7%. Aunque a velocidades más bajas se observaron pequeñas oscilaciones, en general el movimiento se mantuvo estable y acorde con las especificaciones del fabricante.

Estos resultados confirman que la velocidad nominal en vacío del servo, de 0,22 s/60°, coincide bien con los valores de la hoja de datos, ofreciendo una velocidad y una capacidad de respuesta adecuadas para aplicaciones de robótica y control de movimiento.

Ajuste de velocidad al 100%. Promedio medido de 45,6 RPM con una desviación típica de 0,48 RPM.

Ajuste de velocidad al 100%. Promedio medido de 45,6 RPM con una desviación típica de 0,48 RPM.

Ajuste de velocidad al 50%. Promedio medido de 21,9 RPM con una desviación típica de 0,34 RPM.

Ajuste de velocidad al 50%. Promedio medido de 21,9 RPM con una desviación típica de 0,34 RPM.

Ajuste de velocidad al 5%. Promedio medido de 2,3 RPM con una variación observada de unos 0,25 RPM.

Ajuste de velocidad al 5%. Promedio medido de 2,3 RPM con una variación observada de unos 0,25 RPM.

Medición de la holgura

Una de las características clave que nos hizo replantear el diseño de nuestro manipulador es la holgura. Con un comparador de cuadrante, primero medimos un desplazamiento lineal de 1,3 mm en el extremo de un brazo de palanca de 86 mm. A partir de ahí calculamos una holgura angular de 0,0151 radianes (≈ 0,87°), notablemente superior al límite de 0,5° indicado en la hoja de datos. Esta desviación es bastante significativa, ya que incluso pequeños errores angulares en la articulación se traducen en desplazamientos de orden milimétrico en el extremo del brazo.

El montaje de prueba utilizó una goma elástica que aplicaba aproximadamente 30 g de tensión para asegurar una carga constante, mientras un comparador de cuadrante medía el desplazamiento resultante. Este método proporcionó lecturas estables sin una fuerza excesiva ni dependencia del par.

Además, parte de esta holgura parece tener origen en el software: existe una zona muerta integrada de 10 cuentas del codificador, lo que significa que el motor ignora los comandos pequeños dentro de ese rango. La holgura también se manifiesta como temblor u oscilación cuando el brazo está extendido: al servo le cuesta volver con precisión a su posición objetivo, lo que provoca una vibración visible.

Prueba de repetibilidad

Otro parámetro importante es la repetibilidad. La prueba de repetibilidad del servo Feetech STS3215 se realizó con una palanca vertical de 10 cm, con incrementos de 20 pasos, tres ciclos en cada dirección y tres iteraciones completas. Los resultados indican un rendimiento estable en condiciones controladas.

Parámetros y resultados de la prueba:

  • Configuración de la palanca: brazo vertical de 10 cm
  • Método de prueba: incrementos de 20 pasos; 3 ciclos en cada dirección; 3 iteraciones completas
  • Desviación medida en el extremo: ±0.3 mm
  • Repetibilidad angular equivalente: ≈ 0.17° (≈10 arcmin)
  • Resolución del codificador: 12-bit = 0.088°
  • Equivalente lineal de una cuenta del codificador (a 10 cm de radio): ≈ 0.153 mm
  • Desviación observada: ≈ 2 encoder counts
  • Notes: el palpador de resorte compensa el juego mecánico; la prueba podría refinarse o repetirse bajo carga para mejorar la precisión
La desviación media absoluta de posición medida es de unos 2 pasos del codificador, o 0,17 grados

La desviación media absoluta de posición medida es de unos 2 pasos del codificador, o 0,17 grados

Esto indica que, aunque la repetibilidad medida se sitúa dentro de unos pocos pasos del codificador, el servo STS3215 mantiene un comportamiento de posicionamiento constante, y un mayor refinamiento podría validar su rendimiento en condiciones de carga operativa.

Prueba de par

También realizamos una prueba dinámica de par del servo Feetech STS-3215 con cargas variables para evaluar su rendimiento real en movimiento.

Configuración de la prueba:

  • brazo de palanca de 10 cm
  • Cargas de prueba: 1 kg, 1,5 kg y 2 kg

Resultados de la prueba:

  • Con una carga de 1,5 kg: el servo mantuvo un funcionamiento estable con un aumento de temperatura de aproximadamente 15 °C tras 10 minutos de movimiento continuo
  • Con una carga de 2 kg: el servo entró en protección por sobrecarga tras varios ciclos de funcionamiento, limitando temporalmente el par de salida para evitar daños
  • El rendimiento se mantuvo constante hasta aproximadamente 15 kg·cm, coincidiendo estrechamente con el par nominal indicado en la hoja de datos
La prueba dinámica de par con una carga de 10 kg·cm muestra que el consumo de corriente se mantiene muy por debajo de 1 A, mientras que la estimación interna de carga supera ligeramente el 50%

La prueba dinámica de par con una carga de 10 kg·cm muestra que el consumo de corriente se mantiene muy por debajo de 1 A, mientras que la estimación interna de carga supera ligeramente el 50%

En la prueba dinámica con una carga de 10 kg·cm, la desviación media absoluta de posición medida fue de 22,5 pasos del codificador, lo que corresponde a aproximadamente 2 grados

En la prueba dinámica con una carga de 10 kg·cm, la desviación media absoluta de posición medida fue de 22,5 pasos del codificador, lo que corresponde a aproximadamente 2 grados

Con una carga de 15 kg·cm en la prueba dinámica, la estimación interna de carga indica un pequeño margen restante, mientras que el consumo de corriente se mantiene dentro del rango esperado

Con una carga de 15 kg·cm en la prueba dinámica, la estimación interna de carga indica un pequeño margen restante, mientras que el consumo de corriente se mantiene dentro del rango esperado

Con una carga de 15 kg·cm en la prueba dinámica, la desviación media absoluta de posición medida es de 30 pasos del codificador, o unos 2,6 grados.

Con una carga de 15 kg·cm en la prueba dinámica, la desviación media absoluta de posición medida es de 30 pasos del codificador, o unos 2,6 grados.

Esta prueba demuestra la capacidad de par dinámico del servo y la eficacia de sus mecanismos de protección térmica y contra sobrecargas. El funcionamiento continuo al par nominal máximo puede acelerar el desgaste mecánico durante periodos prolongados.

A continuación examinamos el par de bloqueo: el par máximo que el motor puede mantener en una posición estática sin movimiento.

Configuración de la prueba:

  • brazo de palanca de 10 cm colocado en un ángulo de 45°
  • Carga estática: aproximadamente 3,5 kg (≈ 35 kg·cm de par)

Resultados de la prueba: Bajo una carga elevada y prolongada, el servo entraba ocasionalmente en modo de protección por sobrecarga, reduciendo el par de salida a aproximadamente el 20% de la capacidad nominal. Tanto el tiempo de espera de la protección como el límite de par seguro son configurables a través de los registros del controlador, lo que permite a los usuarios ajustar con precisión el comportamiento de la protección para aplicaciones específicas. El par de bloqueo medido superó ligeramente el valor de 30 kg·cm de la hoja de datos, confirmando que el STS-3215 rinde por encima de su especificación nominal cuando se configura correctamente.

Temperatura bajo carga constante

Test 1: Comprobación de sobrecalentamiento durante la retención de carga estática.

Prueba de sobrecalentamiento con carga estática. Feetech STS3215

Prueba de sobrecalentamiento con carga estática. Feetech STS3215

El brazo con una mancuerna se colocó de lado, sosteniendo un peso de 1 kg con un brazo de palanca de 15 cm, lo que da un par de 15 kg·cm. En 10 minutos, la temperatura subió a 48 °C y se mantuvo estable durante una hora sin aumentar más.

Prueba 2: Oscilación en un rango de ±90 grados. Medición de temperatura

Oscilación en un rango de ±90 grados. Prueba de temperatura. Feetech STS3215

Oscilación en un rango de ±90 grados. Prueba de temperatura. Feetech STS3215

Partiendo de 48 °C, la temperatura alcanzó los 60 °C tras 50 minutos. Durante los siguientes 20 minutos, la temperatura no aumentó. Después se redujo la velocidad de oscilación para acelerar el calentamiento (véase la nota más abajo). Se necesitaron otros 40 minutos para alcanzar los 71 °C, momento en el que el motor se sobrecalentó.

  • Umbral de temperatura crítico: a 71 °C, el motor presenta problemas, como se observó en los experimentos realizados ayer y hoy (dos casos). No parece haber protección térmica integrada, por lo que será necesario apagarlo manualmente cuando se alcance esta temperatura.
  • Efecto de la aceleración en el calentamiento: reducir la aceleración aumentó la velocidad de subida de la temperatura. Inicialmente, con una aceleración de 5, la temperatura alcanzó los 60 °C. Bajar la aceleración a 2 provocó el sobrecalentamiento tras un tiempo adicional. Mañana, en pruebas posteriores, mediremos el tiempo necesario para sobrecalentarse con una aceleración de 5, ya que una aceleración de 2 es demasiado lenta para nuestra aplicación.

Experimento de compensación de la holgura

Un experimento adicional, realizado por nuestro ingeniero de software Boris, se centró en la compensación de la holgura mediante un montaje de pretensado con dos servos. En esta prueba se montaron dos servos Feetech STS-3215 con brazos de palanca de PETG impresos en 3D, conectados por una cuerda tensada. Cada servo aplicaba una pequeña precarga, eliminando de forma efectiva el juego mecánico del mecanismo.

El montaje es sencillo, pero muy eficaz para demostrar cómo el pretensado puede eliminar la holgura en la práctica. Cuando ambos servos aplicaban tensión opuesta, los brazos permanecían completamente inmóviles, confirmando que el juego mecánico quedaba totalmente compensado. Este método mejora notablemente la estabilidad y la precisión de posicionamiento, lo que lo hace especialmente útil para articulaciones robóticas, sistemas de control de movimiento y proyectos de automatización caseros.

Puntos clave:

  • Dos servos STS-3215 con brazos de palanca de PETG
  • Mecanismo de cuerda con pretensado controlado
  • Demuestra la eliminación de la holgura mecánica mediante compensación por precarga

Resumen de especificaciones y resultados de las pruebas

Parámetro / método de prueba / condición Resultado medido Especificación / valor de la hoja de datos Observaciones / comentarios
Tensión de funcionamiento 12 V 12 V Rango de funcionamiento: 4-14 V
Par estático (de bloqueo) Brazo de palanca de 10 cm a 45° sobre la báscula ~3.5 kg (35 kg·cm) 30 kg·cm Ligeramente superior al nominal; entra en protección con carga prolongada
Par dinámico Levantando 1,5 kg con palanca de 10 cm Soporta la carga con un aumento de +15 °C La temperatura aumentó +15 °C tras 10 min; la sobrecarga se activó con una carga de 2 kg
Velocidad en vacío (RPM) Medida al 100% y al 50% de la velocidad Máx. ~46 RPM; precisión ±2%; fluctuación ~7% 45 RPM (0.22 s/60°) Ajustes estándar; funcionamiento algo irregular pero aceptable
Resolución del codificador Lectura del registro por UART 4096 pasos por vuelta (12 bits) Codificador magnético de 12 bits (4096) 0,088° por paso
Holgura de la caja de engranajes (juego libre) Medición por giro libre con la mano (método del comparador de cuadrante) ~ 0,87° ≤ 0.5°
Error de posición bajo carga Carga de 1,5 kg, palanca de 10 cm, ángulo de 45° 20-30 valores del codificador (1,8-2,6°) El error aumenta considerablemente bajo carga
Repetibilidad (comparador de cuadrante) Palanca vertical de 10 cm; incrementos de 20 pasos; 3 ciclos en cada dirección; 3 iteraciones Desviación de ±0,3 mm en los puntos de medición El palpador de resorte compensa el juego mecánico; la prueba podría refinarse o realizarse bajo carga
Aumento de temperatura (prueba de carga estática) — carga de 1 kg con brazo de palanca de 15 cm (≈15 kg·cm de par); brazo colocado de lado La temperatura subió a 48 °C tras 10 min y se mantuvo estable durante >1 h sin aumentar más Rango de temperatura de funcionamiento: –10 °C – 60 °C Comportamiento térmico estable bajo carga estática; dentro de los límites nominales de funcionamiento
Aumento de temperatura (prueba de oscilación) — rango de ±90°; movimiento continuo; temperatura inicial de 48 °C Alcanzó los 60 °C tras 50 min, se estabilizó durante 20 min y luego subió a 71 °C tras ~110 min, provocando el sobrecalentamiento Umbral de protección contra sobrecalentamiento: 70 °C No se observó un apagado térmico activo: cerca de los 70 °C se requiere un corte manual. Reducir la aceleración aumentó la velocidad de calentamiento (accel = 2 → sobrecalentamiento; accel = 5 → estable ~60 °C).
Interfaz de comunicación UART TTL, semidúplex Funcional 38400 bps – 1 Mbps (1 Mbps por defecto); conexión encadenable de varios servos
Control en lazo cerrado La retroalimentación de posición y velocidad funciona de forma fiable Admite mantenimiento de posición y control de velocidad
Telemetría / retroalimentación Lectura por UART: posición, velocidad, corriente, tensión, carga, temperatura Telemetría completa disponible
Sistemas de protección Sobrecarga, sobrecorriente, sobretensión, subtensión, sobretemperatura Funcional Tiempo de espera y límites seguros configurables mediante registros
Zona muerta del firmware Comando de entrada < 10 pasos del codificador No se observa movimiento Banda muerta integrada de 10 cuentas
Precio / accesorios ~15 $ (servo) + ~5 $ (adaptador UART) Excelente relación calidad-precio

Conclusiones

El Feetech STS3215 demuestra un buen rendimiento de par y una comunicación UART estable, adecuados para aplicaciones de robótica y automatización de gama media. Sin embargo, la holgura mecánica y una zona muerta definida por el firmware (10 cuentas del codificador) reducen la precisión de posicionamiento en tareas de movimiento fino.

Principales ventajas

  • Compacto y ligero
  • Control en lazo cerrado integrado (posición y velocidad)
  • Telemetría y funciones de protección integradas
  • Ajuste sencillo de parámetros y protocolo UART
  • Admite conexión en cadena de varios servos
  • Precisión adecuada del codificador (4096 pasos)
  • Puede controlarse directamente desde un PC o un microcontrolador

Principales limitaciones

  • Holgura de la caja de engranajes superior a la especificada
  • El firmware no puede actualizarlo el usuario
  • Requiere pruebas de carga prolongada para evaluar el desgaste a largo plazo
  • Ruido mecánico audible