Elegir motores eléctricos rentables para el brazo robótico
En este artículo quiero explicar cómo se realizó la selección del componente más importante del manipulador robótico: los motores eléctricos. Comenzaré con una visión general de las soluciones elegidas por Trossen Robotics en el manipulador Viper X 300 S, que es una de las soluciones más populares para proyectos de investigación como Aloha 2 y Pi0.
Servoaccionamientos en el manipulador Viper X 300 S
Servoaccionamientos en el manipulador ViperX 300 S
En primer lugar, examinamos las soluciones existentes para manipuladores de 6DOF (seis grados de libertad). El manipulador en el que me centré es el Viper X 300 S, ya que originalmente estaba incluido en la lista de materiales de Aloha 2. El fabricante ha puesto a disposición parte de la documentación y los planos, y me pareció una gran idea reutilizar estas soluciones.
Brazo robótico de escritorio ViperX-300 6DOF
El principal reto al crear un manipulador asequible es encontrar accionamientos accesibles con alto par. En el Viper X 300 S, Trossen Robotics utilizó DYNAMIXEL XM430-W350 servomotores con un par de bloqueo de 4 Nm, con un precio de $290, and DYNAMIXEL XM540-W270-T/R servomotores con un par de bloqueo de 10 Nm, con un precio de $430. A total of 9 servo motors se necesitan para crear semejante manipulador, lo que eleva el coste total a 3590 $, lo que ya no se considera asequible.
| ID | Nombre de la articulación | Servo | Velocidad en baudios | Precio |
| 1 | cintura | XM540-W270 | 1Mbps | $430 |
| 2 | hombro | XM540-W270 | 1Mbps | $430 |
| 3 | hombro (secundario) | XM540-W270 | 1Mbps | $430 |
| 4 | codo | XM540-W270 | 1Mbps | $430 |
| 5 | codo (secundario) | XM540-W270 | 1Mbps | $430 |
| 6 | giro del antebrazo | XM540-W270 | 1Mbps | $430 |
| 7 | ángulo de la muñeca | XM540-W270 | 1Mbps | $430 |
| 8 | giro de la muñeca | XM430-W350 | 1Mbps | $290 |
| 9 | pinza | XM430-W350 | 1Mbps | $290 |
| Total | $3590 | |||
Un ingeniero (en adelante, Alan) que trabaja actualmente en el proyecto realizó un cálculo cinemático para un brazo manipulador con una longitud total de 700 mm y una capacidad de carga de 750 gramos.
Articulaciones del ViperX 300
| Versión 1.1 — 0,75 kg | |||||||
| Factor de seguridad de inercia — 1,5 | |||||||
| Articulación | Eje | Hombro, cm | Carga | kg*sm | kg*sm | Peso en el extremo | kg |
| Base | 0 | 0 | 3 | 7 | |||
| Hombro | 1 | 20 | 1,8 | 54,0 | 81 | carga | 0,75 |
| Codo | 2 | 20 | 1,5 | 30,0 | 45,0 | pinza | 0,25 |
| Antebrazo | 3 | 0 | 1,2 | 0 | 0 | servo | 0,1 |
| Mano -1 | 4 | 15 | 1,1 | 16,5 | 24,8 | ||
| Mano — 2 | 5 | 0 | 1 | 0 | 0 | ||
| Pinza | 6 | 0 | 0,75 | 0 | 0 | ||
Según los cálculos, en la base del brazo necesitamos accionamientos con un par requerido de 81 kg·cm, es decir, 8 Nm en total. Esto significa que, si instalamos dos servomotores en la base, cada uno con un par de bloqueo de 4 Nm, debería ser suficiente. Sin embargo, es fundamental entender que, si un servomotor tiene un par de bloqueo de 4 Nm, su par efectivo máximo —con el que puede funcionar de forma estable— suele ser aproximadamente la mitad de ese valor, como se ilustra en el Performance Graph.
XM430-W350 Performance Graph
Esta limitación debe tenerse en cuenta para garantizar que el manipulador pueda manejar las cargas deseadas sin sobreesforzar los motores.
Tipos de servoaccionamientos
Empecé a estudiar qué tipos de motores se utilizan en los manipuladores económicos.
- Motores paso a paso, como el Nema 17 y el Nema 23.
Motor paso a paso Nema 17
- Motores PWM (modulación por ancho de pulsos), como el Dsservo de 160 kg·cm.
Dsservo DS51160MG
- Motores UART (transmisor-receptor asíncrono universal), como el Feetech STS 3215-C01.
Feetech-STS3215
¿En qué indicadores clave nos centraremos?
- Par
- Precisión
- Corriente, voltaje
- Retroalimentación (sensores de temperatura, corriente y posición)
- Peso
- Coste
¿Qué es el par del motor?
Par = fuerza (F) × distancia (d)
El par del motor es la fuerza que lo hace girar. Puedes imaginarlo como la «fuerza de torsión» que ayuda al motor a realizar su trabajo. Cuanto mayor es el par, más fácil le resulta al motor acelerar y levantar cargas pesadas. Es importante en los coches: un buen par ayuda a acelerar mejor y a subir pendientes.
El par de un motor se define como el producto de la fuerza aplicada por la distancia desde el punto de pivote hasta donde se aplica esa fuerza. La fórmula es la siguiente:
Par = fuerza × distancia (o par = F × d). Cuanto mayor es el par, mayor es el brazo de palanca con el que puede trabajar este motor.
Precisión de posicionamiento
En robótica, este es uno de los indicadores más importantes, ya que la tarea del servoaccionamiento es posicionar con precisión el brazo en el espacio, y cuanto más preciso sea, mejor. Las principales características de un brazo robótico son la repetibilidad y la precisión absoluta.
Repetibilidad
Se refiere a la capacidad del manipulador de volver al mismo punto del espacio tras múltiples ciclos. Se mide en milímetros (por ejemplo, ±0,01 mm). Cuanto menor es el valor, mayor es la precisión en la repetición de los movimientos.
Precisión absoluta
Es la capacidad del manipulador de alcanzar un punto determinado del espacio respecto a un sistema de coordenadas global. Se mide en milímetros (por ejemplo, ±0,1 mm). La precisión absoluta suele ser peor que la repetibilidad debido a la acumulación de errores en la cinemática.
Sensores de retroalimentación
Sensores de posición
- Sensores de efecto Hall: estos sensores determinan la posición del rotor. Utilizan imanes para saber dónde se encuentra la parte móvil del motor (el rotor) o a qué velocidad gira.
Principio de funcionamiento del sensor de efecto Hall
- Resolvers: proporcionan una determinación precisa del ángulo de rotación. Funcionan como «detectores angulares» precisos, indicando la posición exacta del rotor del motor.
Principio de funcionamiento del resolver
- Potenciómetros: este dispositivo, similar a un control de volumen, cambia su resistencia a medida que el motor se mueve, indicando la posición de su eje.
Principio de funcionamiento del potenciómetro
- Codificadores ópticos: proporcionan información sobre la posición y la velocidad del rotor. Imagina una pequeña rueda con ranuras. La luz pasa a través de esas ranuras y, contando esos destellos, determinamos cuántas vueltas ha dado el motor y dónde se encuentra.
Principio de funcionamiento del codificador óptico
- Codificadores magnéticos: también miden la posición y la velocidad mediante campos magnéticos. Utilizan imanes para seguir la posición del motor y funcionan bien incluso en condiciones difíciles.
Principio de funcionamiento del codificador magnético
Sensores de corriente
- Sensores de medición de corriente: miden la corriente que consume el motor para evaluar la carga.
Principio de funcionamiento del sensor de medición de corriente
Sensores de temperatura
- Termopares o termistores: controlan la temperatura del motor para evitar el sobrecalentamiento.
Principio de funcionamiento del termopar
Motores paso a paso
Esquema del motor paso a paso
No entré en detalle sobre los motores paso a paso debido a su tamaño, mayor peso, menor par y baja precisión de posicionamiento.
For example, the Nema 17 Bipolar 1.8° 36Ncm puede compararse con el servomotor UART económico ST3215-C018 en un rango de precio similar. El Nema 17 pesa 280 gramos y tiene un par de 36 N·cm (o 3,6 kg·cm) con un ángulo de paso de 1,8 grados.
Motor paso a paso Nema 17
El servomotor en un rango de precio similar, Feetech ST3215-C018, pesa 55 gramos, tiene un par de 30 kg·cm y una precisión de posicionamiento de 0,09 grados.
| Modelo de motor | Masa/gramos | Par nominal/kg | Precisión/grados | Precio/$ |
| Nema 17 Bipolar 1.8deg 36Ncm | 280 | 3,6 | 1,8 | 10,75 |
| Feetech ST3215-C018 | 55 | 15 | 0,09 | 16.45 |
Así que, si comparamos en función de las características clave que tuvimos en cuenta para nuestro brazo —peso × par × precisión de posicionamiento—, la diferencia sería (280 / 55) × (15 / 3,6) × (1,8 / 0,09) ≈ 424 veces. Por supuesto, no podemos comparar estos tipos de motores únicamente con estos 3 parámetros; hemos omitido otros factores como las RPM, la relación de reducción, el ruido y el juego. Si los añadimos a la tabla de comparación, la diferencia ya no será tan significativa. Para algunos escenarios, el motor Nema podría ser la mejor opción.
PWM frente a UART
Esquema básico del servoaccionamiento
Empecé a buscar servos asequibles con alto par. Lo primero que encontré fue el Dsservo RDS51150, que tiene un par de 150 kg·cm, un valor muy alto para este tipo de servo. Una característica de estos servos es que incluyen un sistema de control con un sensor de posición basado en un potenciómetro, lo que complica la obtención de retroalimentación y el control de la posición debido a la precisión y sensibilidad limitadas del potenciómetro.
Principio de la modulación por ancho de pulsos
Una característica del funcionamiento de los motores Dsservo es que son motores PWM (modulación por ancho de pulsos). Es un método para controlar la potencia de la corriente eléctrica encendiéndola y apagándola mediante pulsos. Carecen de codificador magnético para transmitir la posición actual del eje y no tienen controlador integrado. Estos motores no son adecuados para sistemas robóticos en los que la precisión de posicionamiento y la retroalimentación son importantes.
Pensé en cómo compensar estas carencias. Encontramos un codificador magnético adecuado, el AS5600, con 4600 posiciones. Además, necesitábamos un controlador capaz de funcionar con PWM.
Codificador magnético AS5600
Alan recomendó a un buen programador que trabaja en robótica. Sugirió abandonar el PWM en favor de los motores UART (transmisor-receptor asíncrono universal), ya que las complejidades adicionales en el control por software y la implementación técnica probablemente no se justificarían. La fiabilidad de los motores PWM económicos frente a los UART también es cuestionable, ya que los potenciómetros integrados para detectar la velocidad fallan a menudo.
| PWM | UART | |
|---|---|---|
| Principio de funcionamiento | Analógico: control de la potencia mediante modulación por ancho de pulsos | Digital: transmisión de comandos a través de una interfaz serie |
| Tarea principal | Regulación suave de la velocidad (motores de CC) | Posicionamiento preciso (servoaccionamientos) |
| Precisión | Alta para la velocidad, baja para la posición | Alta para el posicionamiento (precisión de paso) |
| Comunicación | Unidireccional (control → motor) | Bidireccional (admite retroalimentación) |
| Complejidad del hardware | Mínima (driver + generador PWM) | Alta (controlador con UART + protocolo) |
| Eficiencia energética | Mayor (control directo de la potencia) | Menor (depende del protocolo y del procesamiento) |
| Aplicaciones típicas | Taladros, ventiladores, servoaccionamientos | Impresoras 3D, CNC, robótica |
En el caso de los motores UART, podemos conectarlos en serie en un único bus, obteniendo retroalimentación sobre la posición, la intensidad de corriente y la temperatura del motor. Sin embargo, el coste de tales motores con un par similar será considerablemente mayor.
Empecé a considerar motores UART adecuados y, tras un análisis cuidadoso, me decanté por los siguientes tipos: Feetech de 30 kg y 50 kg. Al comprar en lotes de 100 unidades, el coste será de $12 each.
Servomotor Feetech STS3215-C018. Par y juego
Servomotor Feetech STS3215
El ingeniero preparó un cálculo cinemático del sistema basado en los valores de par indicados en el sitio web del vendedor. En este punto, Alan señaló que el par especificado para el motor es el par de bloqueo, es decir, el par máximo con el que el motor puede funcionar antes de detenerse por completo bajo carga. Por lo tanto, no podemos usar ese par para considerar la capacidad de elevación del manipulador, ya que sencillamente no se moverá con tal carga.
Gráfico de par, potencia, eficiencia y corriente
Los gráficos del enlace following graphs vienen al rescate y muestran que el par operativo máximo en el que hay que fijarse es en realidad la mitad de lo indicado; esto se aprecia en el centro del gráfico. En concreto, muestra 15 y 25 kg·cm. Esto significa que, si usamos un brazo de palanca de 700 mm con dos motores de 50 kg, podríamos alcanzar una capacidad de elevación máxima de 240 gramos, lo cual es insuficiente.
El mes pasado, Alan pidió varias muestras para probarlas en casa. Esto es lo que observamos.
Medición del juego del Feetech STS3215
El juego del servomotor es el doble de lo indicado (≤0,5°) en the technical documentation, con 3 mm para una longitud de brazo de 160 mm, lo que corresponde a aproximadamente 1,072 grados.
En segundo lugar, medimos la temperatura bajo carga constante.
Prueba 1: Comprobación de sobrecalentamiento durante la retención de carga estática.
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
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ó.
Conclusiones
- 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.
Eso es todo por ahora en cuanto a los motores eléctricos. ¡Las novedades sobre nuestro progreso en robótica se publicarán sin duda en el sitio web!
Inicia sesión para dejar un comentario.