¿Qué tan preciso es realmente el micropaso?
Los motores paso a paso dividen una rotación completa en cientos de pasos discretos, lo que los hace ideales para controlar movimientos con precisión, ya sea en automóviles, robots, impresoras 3D o máquinas CNC. La mayoría de los motores paso a paso que encontrará en proyectos de bricolaje, impresoras 3D y pequeñas máquinas CNC son motores paso a paso híbridos bifásicos bipolares, ya sea con 200 o, en la variante de alta resolución, con 400 pasos por revolución. Esto da como resultado un ángulo de paso de 1,8 °, respectivamente 0,9 °.
En cierto modo, los pasos son los píxeles de movimiento y, a menudo, la resolución física dada no es suficiente. La conmutación brusca de las bobinas de un motor paso a paso en el modo de paso completo (accionamiento por ondas) hace que el motor salte de una posición de paso a la siguiente, lo que provoca un sobreimpulso, una ondulación del par y vibraciones. Además, queremos aumentar la resolución de un motor paso a paso para un posicionamiento más preciso. Los controladores de motores paso a paso modernos cuentan con micropasos, una técnica de conducción que comprime números arbitrarios de micropasos en cada paso completo de un motor paso a paso, lo que reduce notablemente las vibraciones y (supuestamente) aumenta la resolución y precisión del motor paso a paso.
Por un lado, los micropasos son realmente pasos que un motor paso a paso puede ejecutar físicamente, incluso bajo carga. Por otro lado, por lo general no aumentan la precisión de posicionamiento del motor paso a paso. Microstepping está obligado a causar confusión. Este artículo está dedicado a aclarar eso un poco y, dado que es un asunto que depende mucho del controlador, también compararé las capacidades de micropasos de los controladores de motor A4988, DRV8825 y TB6560AHQ de uso común.
En un motor paso a paso híbrido, un controlador de motor habilitado para micropasos ajustará la corriente en las bobinas del estator para colocar el rotor de imán permanente en una posición intermedia entre dos pasos completos posteriores. Luego, un paso completo se divide en varios micropasos, y cada micropaso se logra mediante las dos corrientes de bobina.
Muchos controladores de motores industriales más antiguos presentan solo 4 micropasos (modo de un cuarto de paso), pero hoy en día, se encuentran comúnmente 16, 32 e incluso 256 micropasos por paso completo. Si antes teníamos un motor paso a paso de 200 pasos por revolución, ahora tenemos un milagro de 51.200 pasos por revolución. En teoria.
En la práctica, todavía estamos tratando con controladores de bucle abierto, lo que significa que el controlador del motor no conoce la posición angular exacta del eje del motor y no corregirá las desviaciones. La fricción, el propio par de detención del motor y, lo que es más sorprendente, la carga externa que actúa sobre el rotor pasarán desapercibidos para el conductor. Sin cerrar el ciclo a través de un codificador y un controlador especial más sofisticado, lo mejor que podemos suponer es que el motor estará en algún lugar ± 2 pasos completos (sí, así de malo) cerca de su posición objetivo, que es la desviación máxima antes del rotor. encaja en la posición de paso completo incorrecta, lo que resulta en la pérdida de paso.
El par incremental de un micropaso a otro es, gobernado por trigonometría despiadada, solo una fracción del par dinámico del motor. Para garantizar que el eje del motor realmente se asiente en +/- 1 micropaso, también debemos reducir la carga en consecuencia. Si se supera este par incremental más pequeño, no se perderá un paso, pero se producirá el mismo error de posicionamiento absoluto de hasta ± 2 pasos completos. La siguiente tabla muestra la devastadora relación.
Fuente: Nota técnica sobre motores paso a paso: Microstepping Myths and Realities by Micromo
La buena noticia es que, siempre que usemos un controlador de motor lo suficientemente potente y no excedamos ese par incremental, ya sea por una carga externa o por la inercia interna del motor, el único límite teórico para lograr una precisión de posicionamiento de micropasos es la fricción interna del motor y el par de detención. Estos valores dependen en gran medida del tipo de motor, pero generalmente son valores bastante bajos (casi insignificantes). Por ejemplo, el motor utilizado en la siguiente prueba se especifica con un par de retención de 200 g cm. Eso es solo el 5% de su par de retención de 4000 g cm. De acuerdo con la tabla anterior, este motor debe ser capaz de un posicionamiento preciso con 16 micropasos por controlador de paso completo.
Entonces, ¿se aplica esta teoría? ¿Y todos los controladores de motor de micropasos ofrecen el mismo rendimiento en términos de precisión de posicionamiento de micropasos? Recientemente tuve la oportunidad de probar algunos controladores de motor para un proyecto y me sorprendieron bastante los resultados.
Para la configuración de prueba, tomé prestado el puntero láser rojo de mi termómetro IR y lo conecté al motor a través de un accesorio impreso en 3D. Un soporte de espejo impreso en 3D une un primer espejo de superficie al eje del motor y presenta dos palancas con una longitud de 100 mm cada una para cargar el motor con una masa determinada. Para la prueba de carga, adjunté una masa de 100 g a una palanca, lo que da como resultado un impulso de carga de 1000 g cm a través de la palanca. Eso es una cuarta parte del par de retención del motor utilizado para esta prueba: un Wantai 42BYGHW609 con 1,7 A por fase, 4000 g cm de par de retención y 200 pasos por revolución.
Monté el conjunto del motor en un alféizar rígido y lo coloqué de manera que el punto del puntero láser se proyectara a través de la habitación sobre una regla de bolsillo adherida a la pared opuesta, a unos 6 metros de distancia. La palanca óptica magnifica los pasos para lecturas precisas. Inicialmente, planeé simplemente anotar las lecturas manualmente, pero rápidamente me di cuenta de que escribir un pequeño script de procesamiento de imágenes de Java para extraer las lecturas de las fotografías se podía hacer en una fracción del tiempo. Entonces, se conectó una cámara DSLR a mi electrónica de prueba, un Arduino y un RAMPS 1.4, para que se active y adquiera las lecturas de posición. Ciertamente debería haber apuntado el láser a la pared blanca y limpia junto a la regla, pero un simple umbral en el canal rojo hizo un buen trabajo al extraer con precisión el punto de láser rojo brillante de la regla. A partir de la lectura en la regla y la distancia en la pared, luego calculé la posición angular del eje del motor.
Todos los controladores de motores paso a paso se probaron en su modo de 16 micropasos por paso completo. Antes de la medición, el motor paso a paso se colocó en una posición de tope de paso completo y el espejo se alineó con un haz perpendicular a la pared. Luego, se ejecutaron 16 micropasos en una dirección mientras se disparaba la cámara después de cada paso. Después de eso, se ejecutaron 16 micropasos en la dirección inversa, devolviendo el motor paso a paso a su posición original. Una vez más, la cámara se activaba después de cada paso. Medir la posición en ambas direcciones debería permitirme tener una idea de la holgura amortiguada del motor (si está presente), pero resultó en información más interesante de lo esperado. Esta secuencia de prueba se ejecutó para cada conductor, tanto descargado como cargado con 1000 g cm. Los conductores más fuertes causaron un poco de exceso durante las pruebas cargadas, por lo que se les dio tiempo para descansar antes de que se disparara una fotografía.
Vale la pena mencionar que todos los siguientes resultados se originan en el mismo motor y el mismo paso de motor físico para garantizar la comparabilidad. No se ha promediado ni procesado de otro modo, excepto el cálculo del ángulo de posición del eje. Sin embargo, todas las pruebas se han realizado varias veces en diferentes hardware (es decir, el mismo controlador IC, pero diferentes placas de conexión de diferentes fuentes) para garantizar la cordura de los resultados. Incluso los resultados extravagantes (como el DRV8825) fueron reproducibles en diferentes configuraciones. Tenga en cuenta que los siguientes gráficos pueden dar la falsa impresión de una medición continua en el tiempo. En realidad, muestran una serie de medidas discretas en las marcas en el eje x, y el gráfico de líneas solo debería hacer que sea más fácil ver las no linealidades de un vistazo.
El Allegro A4988 en una placa de arranque de controlador paso a paso similar a Pololu se desempeñó mejor, tanto sin carga como con carga. A pesar de que solo entrega 1 A por fase, logró micropasos muy lineales e igualmente espaciados en la prueba sin carga, con desviaciones pequeñas pero reproducibles de la posición ideal dentro de ± 1 micropaso. Curiosamente, el A4988 muestra su mayor desviación en la posición de medio paso.
Como era de esperar, la posición del eje se desvía notablemente bajo carga: más de la mitad de un paso completo. Ahí va el sueño de la resolución infinita. Sin embargo, el gráfico también muestra que las posiciones de paso completo no son inmunes a esta deflexión, a pesar de que están soportadas por el ligero par de detención del motor.
El DRV8825 de Texas Instruments en una placa de arranque de controlador paso a paso similar a Pololu tuvo el peor rendimiento. Repetí la medición varias veces con diferentes tableros de ruptura de diferentes fuentes, todos ellos resultaron en curvas casi idénticas a esta. Sin embargo, dado que el controlador es capaz de suministrar una corriente más alta de 2,2 A al motor, muestra una deflexión significativamente menor bajo carga en las posiciones de paso completo y medio paso.
Tanto cargado como descargado, el DRV8825 funciona bien hasta que alcanza el medio paso. Luego, salta casi a la siguiente posición de paso completo en un solo micropaso. En la dirección inversa, vuelve a funcionar bien hasta que alcanza el medio paso, esta vez en la otra mitad del paso completo, antes de volver a la posición original de paso completo. El comportamiento es difícil de explicar. Al menos las deficiencias en la ruta de detección de corriente del motor deberían afectar el posicionamiento de manera más uniforme. Estoy seguro de que los lectores de Hackaday pueden contribuir a explicar, confirmar o refutar este comportamiento del DRV8825, o tal vez señalar fallas en la configuración de medición que podrían haber causado estos resultados.
Puedo admitir que no esperaba mucho de la placa de controlador ST6560T4 roja y económica con cuatro canales de controlador de motor Toshiba TB6560AHQ 3A, pero es un gran controlador IC y funcionó sorprendentemente bien. Los controladores se ajustaron a 2,25 A para esta prueba y lograron una buena linealidad a lo largo de la secuencia de micropasos con una desviación de ± 2 micropasos cuando estaban descargados.
Sin embargo, hubo no linealidades reproducibles en la posición superior de paso completo que el A4988 no mostró, y el comportamiento del TB6560AHQ bajo carga difiere notablemente del comportamiento inactivo. Además, es sorprendente que el motor se desvíe bajo la carga en más de medio paso completo, ya que la corriente más alta debería aumentar el par motor de manera similar al DRV8825.
Espero que este informe y los resultados de las mediciones lo ayuden con sus decisiones de diseño y cuando trabaje con estos controladores tan comunes. Hice estas pruebas para una aplicación bastante limitada, y no deberían generalizarse demasiado. Aunque me atrevo a concluir lo siguiente:
Los motores paso a paso en máquinas más pesadas, como los enrutadores CNC, que utilizan micropasos de bucle abierto, se benefician principalmente de las vibraciones reducidas y la ondulación de par más baja del modo de micropasos. No pueden confiar en los micropasos como un medio para aumentar la precisión de posicionamiento (al menos no sin mantener grandes márgenes de torsión), ya que una carga aún puede desviar la posición del eje en más de un paso completo.
Sin embargo, las aplicaciones pequeñas y ligeras con baja carga y baja fricción pueden recurrir al microstepping como un truco barato para obtener más precisión de un motor paso a paso estándar. Incluso con un controlador de motor barato y de baja corriente, mirando el A4988 de muy buen rendimiento, es posible un posicionamiento angular preciso, siempre que la carga se mantenga baja, idealmente dentro del par incremental de un micropaso.
Como siempre, estaré encantado de escuchar sus pensamientos, opiniones y experiencias sobre el tema de esta publicación. ¿Qué sucede con mis DRV8825? ¿En qué controladores de motor paso a paso confía la mayor parte del tiempo? ¡Cuéntanos en los comentarios!