Motores Closed-loop: Makerbase MKS Servo 42b (Review)
Motores Closed-loop: Makerbase MKS Servo 42b (Review)

Motores Closed-Loop: Makerbase MKS Servo42b (Breve análisis)

Desde hace ya algún tiempo estamos viendo en la escena de la impresión 3D un tipo de motores paso a paso que incluyen electrónica en la parte posterior y a los cuales les puede ser conectado un display OLED de 9,6″ pulgadas.

Probablemente te preguntarás para qué sirven y qué ventajas puede ofrecernos a la hora de montarlos en nuestras impresoras, así que en el artículo de hoy intentaremos arrojar algo de luz sobre ellos.

Estos motores se denominan Closed-Loop, y su función principal es la de no perder pasos en cualquiera de sus operaciones durante el proceso de impresión. El proceso es relativamente sencillo, simplemente sigue leyendo nuestro artículo y descubrirás cómo lo hacen.

Hoy analizaremos brevemente los nuevos motores de la empresa Makerbase, ya conocida de sobra por sus electrónicas, la cual ha desarrollado dos versiones de motores servo para NEMA17 y NEMA23 concretamente (Servo42b y Servo57b respectivamente).

Y como siempre antes de comenzar, deseo recordarte que puedes unirte a 3DWork en nuestro canal de Telegram lleno de trastornados por la impresión 3D, o en cualquiera de nuestras redes sociales FacebookTwitterInstagram.

 

 

Breve introducción

A la hora de gestionar los movimientos de nuestros motores paso a paso se utilizan unas diminutas plaquitas electrónicas denominadas drivers. Y es muy importante conocer el rol que desempeñan estos componentes a la hora de hablar de cualquier tipo de motor (sea Servo o no).

Los drivers se encargan de efectuar los diferentes cálculos que precisa nuestra impresora 3D para poder realizar las piezas que le solicitamos. Ciertamente son un componente imprescindible en nuestro hardware y elegir unos buenos drivers es algo bastante importante.

Antes de continuar te recomiendo que si dispones de unos minutos te leas un interesantísimo artículo que escribimos hace un tiempo denominado Drivers TMC: Guía sobre los mejores drivers y sus tecnologías para impresión 3D.

En él hacemos una interesante introducción a los drivers de la marca Trinamic, a día de hoy unos de los más utilizados en nuestras impresoras, y que nos ofrecen una serie de características estupendas.

 

Motores servo en impresión 3D

Un motor servo o servomotor es un elemento de accionamiento que controla velocidad, par motor y posicionamientos. Además, operan en un sistema denominado “Closed-Loop”. Pero, ¿Qué significa esto exactamente?

Significa que disponen de un encoder (o decodificador) que envía la posición del motor al controlador. Y este controlador se encarga de comparar los valores enviados para corregir la posición del motor y así minimizar el error de posicionamiento, en caso de que sea necesario.

Como resultado de este proceso obtenemos un muy preciso y fiable posicionamiento en este tipo de motores. Sin embargo, estos sistemas requieren un ajuste fino de sus parámetros y estos componentes extras de control también añaden un extra en el coste del dispositivo.

En el caso de un motor stepper que opera en un sistema “Open-Loop”, como son los que utilizamos normalmente, su funcionamiento carece de un sistema de posicionamiento por lo que no es capaz de proporcionar información a su controlador para conocer su posición.

No obstante, algo muy importante a tener siempre en cuenta es que si un motor paso a paso (Stepper) opera dentro de sus límites de diseño no debería “perder pasos”, ya que nos ofrecen muy buena precisión en su posicionamiento.

 

Velocidades y torque del motor

Una regla general es que los motores paso a paso (Steppers) se comportan perfectamente en aplicaciones que funcionan en rangos de 1000 rpm o por debajo. lo cual sería más que suficiente para nuestras impresoras 3D. Esto es porque a mayor velocidad los motores pierden torque rápidamente.

Sin embargo, los motores servo pueden operar en un amplio rango de velocidades sin esta pérdida tan acusada de torque. Y esto los convierte en una elección más adecuada para diferentes tipo de escenarios que puedan presentarse.

En el caso de motores servo estos son una mejor tecnología para usar en aplicaciones que necesitan un alto torque en altas velocidades. Como en el caso de máquinas CNC o impresoras 3D donde se tenga que mover un gran volumen (por ejemplo una cama muy pesada).

Drivers actuales como los TMC se pueden considerar como un “Semi Closed-Loop” ya que monitorizan y corrigen fallos pero sin disponer de la posición exacta. Permiten en parte mitigar este problema pero sin un posicionamiento exacto no son capaces de recuperar la posición en caso de pérdida de pasos.

Su forma de mitigarlo es ajustando la definición de pasos dinámicamente, proveer de más corriente cuando es necesario, etc. Pero como hemos comentado, una buena configuración de tu máquina limitará muchísimo cualquier pérdida de pasos.

 

Solucionando posibles pérdidas de pasos

Uno de los problemas que nos pueden aparecer en escena cuando estamos efectuando alguna pieza en 3D es la posible pérdida de pasos durante el proceso de impresión.

Esto puede deberse a diferentes motivos. Escasa refrigeración de drivers y/o motores, excesiva corriente a los mismos o que la cama/cabezal golpeen en algún obstáculo son algunos claros ejemplos. Sobra decir que esto destruye completamente nuestra pieza impresa, o la deja como mínimo imperfecta.

Y todo esto, sin importar cualquiera que sea el motivo, sucede por una simple razón. Cuando nuestro driver envía información al motor para indicarle cuántos pasos ha de girar no recibe confirmación alguna del mismo. El driver efectua un acto de fé y siempre confiará en que el motor ha realizado su función correctamente. Pero esto no siempre es así.

No existe una comunicación bidireccional entre el driver y el motor y por consiguiente, ningún tipo de validación o verificación de que una orden del driver al motor ha sido completada correctamente.

Para subsanar este pequeño problema, los motores de Makerbase MKS Servo42b disponen de un microcontrolador de 32 bits que constantemente recibe la información de cuántos pasos han sido enviados a cada motor.

Y no solo almacena esa información, sino que gracias a un pequeño sensor magnético (concretamente el Allegro’s A1333LLETR-T) va a comprobar si efectivamente esos pasos enviados se han producido en nuestro motor.

Si los pasos enviados del driver al motor difieren con los que se han realizado, el microcontrolador nos informará con un led azul parpadeante y dará la orden de completar los pasos restantes. De esta manera no tendremos pérdida alguna de pasos en nuestra impresión.

 

Componentes necesarios

Por aquí os dejo algunos de los componentes que aparecen en el artículo de hoy. Es mi deber informarte que son enlaces de afiliados a diferentes tiendas online Marketplaces de internet.

Si por un casual los utilizas, el precio del producto será el mismo que si accedes de manera habitual. Y a 3DWork le quedará una pequeña comisión que ayudará a mantener esta página web.

MKS Servo42b (NEMA17)
MKS Servo57b (NEMA23)

 

Instalación del motor MKS Servo42b

El proceso de instalación no puede ser más sencillo. Para instalar un Motor MKS Servo42b solo debes remover el driver actual de tu placa, ya que estos motores traen su propio driver integrado en su propia electrónica (Allegro A4954LPT).

En su lugar introduciremos el adaptador especial que trae, para luego cablearlo hasta nuestro nuevo motor, y esto será todo lo que deberás efectuar (clic para agrandar imagen).

Como ya habrás imaginado, aunque estos motores son completamente plug and play, precisaras de una electrónica donde puedas extraer fácilmente los drivers (no soldados a placa).

Entiendo que si dispones de drivers soldados a placa, también pueden ser utilizados, pero deberás sacar las líneas y soldar una por una a placa para poder utilizarlos, algo que se me antoja bastante laborioso, pero completamente posible si tienes algo de paciencia 🙂

Por último, deberás verificar que el nuevo motor efectua el giro correctamente. En caso contrario podrás invertir el giro utilizando el display OLED y accediendo a sus menús (como puedes ver en el vídeo a continuación), o directamente conectando un cable USB y ejecutando el software Terminal que trae consigo.

De esta forma, no deberás modificarlo en el firmware de tu impresora, compilarlo y subirlo a tu electrónica, algo que es de agradecer y que nos ahorrará trabajo.

 

Puntos fuertes del MKS Servo42b (y débiles)

La gran ventaja que nos ofrecen este tipo de motor es evitar la posibilidad de perder pasos en nuestras impresiones, lo cual es algo excelente y con mucho peso.

Otro detalle que nos ha gustado es que la calidad y potencia de los motores utilizados, así como en el resto de los componentes, es sensacional.

Una de las posibles mejoras sería intentar integrar drivers TMC, con ello eliminaremos el famoso efecto “Piel de salmón” que queda en la superficie de nuestras piezas y que siempre ha venido relacionado con la familia de drivers Allegro.

No obstante, deseo hacer hincapié en que este problema se aprecia mayormente en la versión Servo42a, ya que en la versión Servo42b disminuye bastante este inconveniente debido a la velocidad de la nueva CPU en parte.

Otra mejora que sería de agradecer, aunque en este caso precisarán de colaboración con el equipo de desarrollo de Marlin, sería integrar parte de la configuración en el mismo firmware. De esta forma, se podrían efectuar ajustes de configuración desde el propio display nativo de nuestra impresora, sin necesidad de recurrir al mini display OLED 0,96″.

 


PUNTOS FUERTES

POSIBLES MEJORAS
  • Gran torque en motor
  • Fácil configuración mediante pantalla OLED
  • Conexión USB vía terminal
  • Altas aceleraciones
  • Completamente plug and play
  • Drivers no silenciosos
  • Falta de integración en Marlin
  • Se aprecia algo de «piel de salmón» en la versión Servo42a (no tanto en la 42b)

 

Especificaciones técnicas

Makerbase dispone de dos versiones de motores servo Closed-Loop. No obstante nosotros en 3DWork.io solo hemos tenido la oportunidad de probar los MKS Servo42b v1.0. Os dejamos por aquí las especificaciones de ambos motores:

 

MKS Servo42a

  • Basado en el proyecto abierto de Misfittech “Nano_stepper” (más información aquí)
  • CPU Atmel ATSAMD21G18A-U de 48Mhz
  • Encoder magnético Allegro’s A1333LLETR-T Contactless 0° a 360° angle sensor IC 12 bit
  • Drivers Allegro’s A4954LPT, que soportan hasta 2 amperios
  • Configuración de parámetros por interface I2C OLED de 0.96 pulgadas e instrucciones USB
  • Compatible con todas las electrónicas de impresión 3D (MKS SV_EXT V1.1)
  • Admite la compilación y carga de firmwares a la electrónica mediante la plataforma Arduino

 

MKS Servo42b

  • Basado en el proyecto abierto de Misfittech “Nano_stepper” (más información aquí)
  • Para mejorar el rendimiento, el equipo de Makerbase ha realizado los siguientes cambios
    • Proyecto portado a microcontroladores STMicroelectronics de 32-bits (STM32F103C8T6 ARM 32-bit Cortex™-M3, 72 MHz max. frequency)
    • Sustituido encoder magnético por Allegro’s A1333LLETR-T Contactless (0° to 360° angle sensor IC, 12 bit)
    • Portado desde la plataforma Arduino a PlatformIO (preferible para compilar microcontroladores STM32)
    • Cambio de zócalo en placa base. Ahora es compatible con un mayor número de placas electrónicas que utilizan MKS SV_EXT V1.1 de Makerbase

 

 

Esperamos que este breve acercamiento a los Motores Closed-Loop MKS Servo42b haya podido ser de tu interés.

Si lo deseas, puedes encontrar otros artículos interesantes en 3DWork en los siguientes enlaces: