Der Einstieg in den 3D-Druck - Teil 3

En las primeras dos partes de esta serie de blog, le presenté una primera explicación de cómo se construye una impresora 3D y qué herramientas necesita para imprimir ideas creativas que encuentre interesantes en su propia impresora. En la mayoría de los casos, la base es un archivo STL convertido mediante un programa 3D-Slicer en el llamado GCODE.

También he descargado e imprimido muchos de estos archivos, pero en algún momento me molesté por el volumen de la impresora, especialmente cuando los ejes se movieron mucho o se realizaron muchos cambios de dirección. En la segunda parte de esta serie, ya se revisó  la modificación o actualización de un firmware personalizado utilizando Ultimaker Cura. En este blog, el enfoque será en la mejora de hardware, la calibración y la afinación PID. Para este propósito, utilizo el servidor de impresión Octoprint, del que hablaré más adelante.

Una advertencia justo al comienzo de este tipo de modificaciones. En algunos lugares se trabaja cerca de 230 V. Esta tensión es peligrosa para nosotros, y nunca debe subestimarse. ¡Si no tiene educación técnica, o tiene mucha confianza, las modificaciones de este tipo pueden poner en peligro la vida!

El silencioso controlador del motor paso a paso

Después de mi investigación más prolongada, ¿por qué mi impresora 3D era tan ruidosa, los controladores de los motores paso a paso instalados eran la fuente del error? Para entender por qué eso es así, encontré un ejemplo muy simple pero ilustrativo. Simplemente imagine dos polígonos, uno con, por ejemplo, 6 lados y uno con 10 lados, consulte la Figura 1.

Ejemplo simple de conductores de motor.

Figura 1: Ejemplo simple de controladores de motor.

Un controlador del motor envía una señal al motor de hasta donde debe girar y en qué dirección. Con los controaldores de motor baratos, consulte la figura 1 rojo 1, la resolución es bastante baja, lo que genera una imagen de impresión poco limpia. Sin embargo, si los controladores del motor son de alta calidad, consulte la Figura 1 rojo 2, los motores se pueden controlar con mayor precisión. Como resultado, la imagen de impresión también se mejora significativamente y la temperatura de los motores se puede reducir significativamente. Especialmente cuando los controladores del motor tienen una resolución más alta y también son de alta calidad, se solucionan tres problemas al mismo tiempo:

  1. Motores demasiado ruidosos
  2. Los motores se calientan mucho
  3. Imagen impresa con baja nitidez

En la red, encontrará un montón de resultados del tema "Silent Stepper Motor Driver". Dependiendo de la impresora, generalmente encontrará las variantes TMC2208 o TMC2209 como controladores preferidos. Estos están disponibles de muchos fabricantes, pero solo los controladores de motor baratos del Lejano Oriente no aportan la mejora esperada. Por el contrario, la mayoría de las veces la impresora será más silenciosa, pero la imagen de impresión no mejorará realmente. Especialmente con el TMC2208 está marcado con la versión 2 o 3, con el TMC2208 original solo hasta la versión 1.2. Debe prestar atención antes de comprar los nuevos controladores.

Para mi impresora, una Mega S de AnyCubic i3, decidí por el TMC2208 V1.2 de Fysect, consulte la Figura 2.

TMC2208 V1.2 por Fysect

Figura 2: TMC2208 V1.2 de Fysect

Es importante tener en cuenta que no uso la versión UART, sino la variante paso a paso. Nuevamente, asegúrese de prestar atención antes de la compra, qué variante se encuentra en el carrito de compras.

En este punto, ahora explico cómo realizo modificaciones con un dispositivo abierto. Hay 230 V en algunos lugares de la descripción, lo cual representa un peligro mortal. A menos que sea un especialista o entienda como manejar esta tensión, se desaconseja completamente estas modificaciones. En su lugar, pídale a una persona profesional que las realice.

En mi impresora, los llamados controladores A4988 Stepper se instalan, que deben ser reemplazados por el TMC2208. Primero, se debe abrir la parte inferior de mi impresora, lo que significa ponerla de lado, consulte la Figura 3. Antes, el conector IEC debe desconectarse de la impresora.

Una mirada a la impresora

Figura 3: Una mirada a la impresora

Primero, vemos la fuente de alimentación a continuación, que corresponde a 230 V en 24 y 12 voltios. Claramente, las conexiones en la fuente de alimentación están abiertas, lo que hace que esta conversión sea peligrosa. En la parte superior izquierda puede ver el corazón de la impresora, la placa madre con todas las conexiones. A la izquierda de la pantalla y, por encima del lector de tarjetas SD. Si mira la placa madre más cerca, puede ver claramente los controladores de motor incorporados, consulte Figura 4 Frontera roja. Con anterioridad, he retirado el ventilador para enfriar los controladores, de modo que la instalación y la expansión sean más fáciles.

Conductor paso a paso construido

Figura 4: Controladores paso a paso instalados

No se pregunte, no tengo una imagen original de los controladores del motor porque he construido otros para una prueba. Pero debe verificar si los controladores están conectados o soldados a la placa base, en mi caso, estaban conectados. Esto hace una conversión más fácil y le permite ahorrar tiempo, así como la instalación y el desmontaje.

Si se eliminan los controladores anteriores, puede echar un vistazo más de cerca a los controladores antiguos y nuevos, consulte la Figura 5.

Controladores viejos y nuevos pasadores arriba y abajo

Figura 5: Viejos y nuevos controladores paso a paso arriba y abajo

Solo los chips y los componentes electrónicos  demuestran que el nuevo controlador, a la derecha en la imagen, parece ser de mayor calidad. También es importante, entre otras cosas, qué pin es responsable de qué. El etiquetado de la propia placa base, consulte la Figura 6, también ayuda a instalar los módulos correctamente.

Letras PIN en la placa base de la impresora

Figura 6: Etiquetado de pines en la placa base de la impresora

Con los antiguos controladores, la etiqueta está en la parte inferior, por lo que tiene que reflejar el espejo. Con los controladores más nuevos, el etiquetado está en la parte superior y, por lo tanto, no es necesario un replanteamiento. Sin embargo, debe prestar atención a que los pines estén en el lugar correcto, de lo contrario corre el riesgo de dañar la placa base. En mi caso, la instalación fue muy rápida y sencilla, vea la Figura 7.

Los nuevos conductores paso a paso en la placa base.

Figura 7: Los nuevos impulsores paso a paso en la placa base.

Por lo tanto, se realiza la primera y bastante simple parte de la conversión, que definitivamente debería verificar que todos los controladores se instalaran correctamente. Como ya se mencionó, en mi caso, el etiquetado ha ayudado en la placa base.

Ahora viene la parte peligrosa, ya que el conector IEC se debe conectar de nuevo a la impresora, pero no olvide desconectar los cables del exterior de la carcasa a los motores, consulte la Figura 8.

Cable retirado fuera de la impresora.

Figura 8: Cable retirado fuera de la impresora.

Esto debe hacerse porque ahora el voltaje de referencia debe configurarse en cada controlador de paso individual. Esto se mide a través de cualquier conexión a tierra de la placa base y del tornillo de ajuste para configurar el voltaje de referencia, consulte la Figura 9. Para esto, la impresora debe estar encendida, de lo contrario, no se aplica voltaje a la placa base.

Medición del voltaje de referencia de los controladores del motor.

Figura 9: Medición del voltaje de referencia de los controladores del motor.

Por lo tanto, hay que tener cuidado al ajustar el voltaje de referencia en el potenciómetro giratorio. En el voltaje de referencia, hay tantas opiniones como usuarios en foros. En mi caso, he establecido el voltaje a 1.05V para los ejes X, Y y ambos Z y el extrusor a 1.1V. Si la imagen impresa tiene un desplazamiento en un eje, el voltaje de referencia debe ajustarse en consecuencia. El voltaje no debe ajustarse en menos de 0.8V, como se puede encontrar en varios foros. Precisamente porque la fuente de alimentación tiene conexiones abiertas, tenga cuidado de no tocar los cables para evitar descargas eléctricas o destruir componentes.

Finalmente, la impresora debe ser ensamblada nuevamente, consulte la Figura 10.

Conductor de motor bajo canal de ventilación.

Figura 10: Controlador de motor bajo canal de ventilación

En mi caso, he impreso un canal de ventilación antes y lo instalé con un ventilador de 12V más silencioso en la carcasa, sobre los controladores del motor. Para montar el canal de ventilación, los tornillos de montaje son utilizados por la placa base. Por lo tanto, los controladores del motor no deben ser demasiado calientes. Nuevamente, hay varias opiniones sobre si un canal de este tipo es útil o no.

Si la impresora 3D se ensambla de nuevo y todos los enchufes están conectados, en mi caso el firmware tuvo que adaptarse, de lo contrario, los motores girarían en sentido contrario, es decir, la dirección del motor se invierte. Como en la segunda parte de esta serie de blog, utilizo el firmware de Marlin adaptado de Knutwurst. Para que los motores vuelvan a girar en la dirección correcta, se necesita el firmware con el añadido "_TMC", consulte la Figura 11.

Selección de firmware correcto "KNUTWURST"

Figura 11: Selección del firmware correcto "Knutwurst"

La instalación del nuevo firmware se realiza de la misma manera que ya se ha descrito en la segunda publicación del blog, en mi caso con el programa 3D Slicer Ultimaker Cura. La impresora ahora es más silenciosa y ya se ha solucionado directamente un problema con motores que giraban incorrectamente.

Octoprint como servidor de impresión

Como se anunció en la segunda publicación del blog, Octoprint se presenta brevemente aquí. Octoprint es una interfaz web que le permite controlar la impresora y administrar las impresiones. Desde la idea básica, se puede imaginar cómo un servidor de impresión, cargando los gcodes en la interfaz web para seleccionarlos después para el trabajo de impresión. Además, tenemos acceso al  llamado terminal, que permite la comunicación directa con la impresora, a través de los códigos Marlin.

Octoprint se ofrece principalmente con una imagen para la Raspberry PI, la llamada imagen OctoPi, pero también se puede instalar en todos los demás sistemas operativos comunes. En la página de descarga correspondiente de Octoprint se explica exactamente cómo hacerlo. Para usar OctoPi sin restricciones, la página recomienda un Raspberry PI 3B o superior. Sin embargo, también hay usuarios en varios foros que informan sobre un uso exitoso con una Raspberry Pi 2 o Zero.

Antes de que aparezca la pregunta, Octoprint no es la única solución de servidor de impresión para la impresión 3D. De hecho, también se encuentra el llamado Repetier Server. Sin embargo, este software cuesta dinero para usar todas las características, pero a diferencia de Octoprint, aporta la ventaja de que varias impresoras 3D se pueden administrar al mismo tiempo. Para mis primeros pasos, todavía decidí usar Octoprint, porque uso Ultimaker Cura para el corte y Octoprint, entonces "solo" administra el trabajo de impresión. Sin embargo, para esta publicación de blog, el terminal y el control de la impresora son importantes, ya que aquí realizaremos los ajustes posteriores de software.

El afinación PID de Heatbed y Hotend

Este punto será un poco técnico y haremos una pequeña excursión en el mundo de la ingeniería de control. Como mencionó el título, los circuitos de control PID para Heatbed y Hotend se deben ajustar. Para los que no estén familiarizados con la ingeniería de control, lo explicaré brevemente.

Un controlador PID es, como su nombre indica, un lazo de control para mantener un punto de ajuste predeterminado de la manera más específica posible, incluso en presencia de perturbaciones. En la mayoría de las lecturas, esto se muestra como en la Figura 12.

Controlador PID, Wikipedia por MRMW

Figura 12: Controlador PID, Wikipedia por Mrmw

La forma del controlador más simple es un controlador P. Para esto, puede imaginar que un horno se va a calentar a 200 grados. Si se exceden los 200 grados, el horno se apaga. Si se enfría y la temperatura car por debajo de 200 grados, se volverá a encender. La curva de temperatura se asemeja a una sierra, con la temperatura objetivo en el medio. Los picos arriba y abajo son idealmente proporcionales. Los controladores PI, PD y PID mejoran este comportamiento cuando es necesario realizar cambios de manera más rápida y precisa.

En el caso de la impresora 3D, en este caso, el punto de ajuste significa la temperatura del Heatbed y el Hotend. Debido al recorrido, al ventilador, a la temperatura ambiente y a muchos otros factores, la temperatura puede variar enormemente, lo que podría llevar a una imagen de impresión desordenada o una separación del Heatbed. Con el regulador PID y un sensor de temperatura, estas fluctuaciones se registran y se realizan "contramedidas" adecuadas para mantener la temperatura en el punto de ajuste. En el caso del Heatbed y el Hotend, el MOSFET simplemente se enciende durante un periodo de tiempo para calentarse y luego se apaga nuevamente.

La afinación de estos dos circuitos de control se refiere a los parámetros P, I y D. El componente P es exclusivamente la parte proporcional de la ganancia.

El componente I es la parte integral en el lazo de control, para la desviación del control de tiempo. El componente D es la proporción diferencial, que responde al cambio del punto de ajuste.

Estas tres constantes están predefinidas en el firmware de Marlin, pero no coincidirán con los valores necesarios para la impresora. Además, en este caso, sólo el firmware personalizado "knutwurst" ofrece la posibilidad de ajustar estos parámetros del bucle de control, ya que no se podían cambiar con el firmware original. En ambos casos, es importante que la impresora tenga la temperatura ambiente y que no se haya calentado antes de alguna manera, de lo contrario, ¡los valores determinados después del software no son correctos!

Vamos a empezar con la afinación PID del Heatbed. Para hacer esto, abro Octoprint y me conecto a mi impresora y a la PI, consulte la Figura 13.

Conectar octoprint con la impresora

Figura 13: Conecte Octoprint con la impresora

Luego abro la terminal, consulte la Figura 14, aquí ya se muestra alguna información. La gran cantidad de información puede asustar al principio, pero es sólo la información que la impresora intercambiará y visualizará con la Raspberry PI.

Abrir la terminal

Figura 14: Abra el terminal.

A continuación, se introduce el comando del código 1 en el terminal. Me gustaría explicar este comando con los parámetros para que entienda lo que hace exactamente el comando.

M303 E-1 S60 C8

Código 1: Comando de terminal para la calibración PID del Heatbed

M303 es el comando para realizar el autoajuste del PID. El parámetro E-1 representa el Heatbed. Es importante en este punto, porque se trata de la sintonía PID del Heatbed. El parámetro S60, representa la temperatura establecida de 60 grados, que Heatbed debe calentar y mantener. El último parámetro C8 representa el número de ciclos que deben realizarse para el autoajuste del PID. Esto enfría deliberadamente el Heatbed y lo sobrecalienta ligeramente para determinar los parámetros exactos del regulador PID.

Una vez que se envió la orden al terminal, parece que al principio no sucede algo representativo, consulte la Figura 15, pero ahora el Heatbed se calienta a la temperatura objetivo 60 grados.

Pid Autotuning comenzó desde el climatizado

Figura 15: Afinación PID comenzó desde el Heatbed.

Después de un corto tiempo, el terminal se llenará con algún texto, consulte la Figura 16, que, entre otras cosas, emite los nuevos parámetros para el controlador PID.

Espacio del sintonización del automóvil PID desde la cama con calefacción.

Figura 16: Estado intermedio del autoajuste del PID desde el Heatbed.

¡Estos mensajes pueden ser ignorados por el momento, porque es solo un estado intermedio! Estos son los valores determinados del ciclo respectivo, pero aun no son los parámetros finales. Es importante solo cuando vea la línea como se muestra en la Figura 17.

Tuning de coche PID terminado del calentamiento con nuevas constantes

Figura 17: Autoajuste PID terminado del Heatbed con nuevas constantes

Aquí, el terminal anuncia que el autoajuste del PID se ha completado y que se han determinado las constantes para el controlador PID, consulte la Figura 17 con la marca amarilla. Los valores serán diferentes a lo que se muestran aquí en la Figura 17, pero el terminal recomienda almacenar estos valores en Configuración.H. La única diferencia es que no recompilaremos el firmware, sino que utilizaremos un comando de terminal para enviar los valores a la impresora. Para esto, utilizamos el comando de Marlin del código 2.

M304 P66.27 I13.05 D224.40

Código 2: Transmisión de nuevas constantes del regulador PID del Heatbed

Nuevamente, la breve explicación para que entienda completamente el comando. M304 es el comando de Marlin para establecer los valores del controlador PID. Es importante que el parámetro se establezca primero y no se guarde. Los parámetros P, I y D representan los valores del lazo de control y deben tener los valores de salida de autoajuste PID. Para evitar problemas, utilice siempre el punto en lugar de la coma para los decimales. Después del comando ingresado, sólo aparece un breve comentario que indica que los valores han sido tomados, consulte la Figura 18.

La impresora ha recibido las nuevas constantes PID para el calentamiento.

Figura 18: La impresora ha recibido las nuevas constantes PID para el Heatbed.

Por lo tanto, las nuevas constantes están disponibles temporalmente, pero cuando se reinicia la impresora o se restablecen los datos de EEPROM mediante el comando Marlin, las constantes antiguas se vuelven a usar. Para evitar que esto ocurra, o para asegurarse de que los valores se almacenan permanentemente, utilice el comando Marlin del Código 3 para almacenarlos permanentemente en la EEPROM de la impresora.

M500

Código 3: Almacenar parámetros permanentemente en la EEPROM

M500 es el comando de Marlin para transferir todos los cambios a la EEPROM, que se carga cuando se reinicia la impresora, por ejemplo.

Esto sigue siendo abierto el Hotend, cuyos parámetros son similares a los del Heatbed. Pero hay una pequeña diferencia. También, queremos que el ventilador caliente esté del Hoted esté activo y, debidamente controlado como "fuente de fallas". Utilizando el comando Martlin del código 4, el ventilador del Hotend se establece a máxima velocidad.

M106

Código 4: Establezca el ventilador de Hotend a máxima velocidad

A continuación, se inicia el autoajuste del  PID desde el Hotend. Para este propósito, se vuelve a utilizar el comando M303 de Marlin, pero los parámetros son ligeramente diferentes esta vez, vea el código 5.

M303 E-0 S230 C8

Código 5: Iniciar el autoajuste del PID para Hotend

En este caso E-0 significa que se debe seleccionar el Hotend y S230 significa que la temperatura de 230 grados es el punto de ajuste.

Ahora tenemos que esperar de nuevo hasta que los ciclos para el autoajuste del PID se hayan ejecutado y el terminal muestre la correspondiente información sobre la finalización con éxito, consulte la Figura 19.

PID AUTOTUNING completado por el hotend

Figura 19: Autoajuste PID completado desde el Hotend

Nuevamente, los valores para el controlador PID se muestran claramente, y se transmiten por medio del código 6 a la impresora.

M301 P15.79 I1.04 D59.82

Código 6: Establecer la constante PID para el Hotend

Es importante utilizar el comando M301 de Marlin, ya que éste escribe las constantes PID en la memoria. Después no debe olvidarse M500, para que también estas constantes PID se almacenan permanentemente en la EEPROM de la impresora.

Si el ventilador es ahora molesto, ejecute el código 7, que devuelve la velocidad del ventilador a 0 .

M106 S0

Código 7: Conectar de nuevo el ventilador del Hotend 

Calibrar el extrusor

El último punto de este blog y la mejora de nuestra imagen de impresión, está dedicado a la calibración del extrusor. El extrusor es la parte de la impresora que alimenta el filamento al hotend. Aquí también, se usa un motor paso a paso, que se debe configurar correctamente. Más específicamente, el motor paso a paso no debe establecerse correctamente, sino el controlador del motor paso a paso, que cambié al comienzo de este artículo. Si no hace esto, se podría frustrar rápidamente porque alimentará demasiado o muy poco filamento y, por lo tanto, la imagen de impresión se verá más que modesta.

Para que pueda calibrar el extrusor, necesita:

  1. Un calibrador
  2. Un bolígrafo fácilmente reconocible en el filamento
  3. Filamento
  4. Un software con el que puedo controlar explícitamente la extrusora, en mi caso Octoprint con el control de pestañas

Para que también pueda calibrar, el Hotend se debe llevar a la temperatura de funcionamiento, de lo contrario, el firmware de la impresora no dejará funcionar al extrusor. Al mismo tiempo, ya que no se debe desperdiciar filamento, retrocede el filamento, de modo que el hotend y el tubo guía ya no tengan material.

En el siguiente paso, tomo el marcador y hago un punto para mi punto de referencia, una marca a 100 mm del punto de referencia y un punto a 120 mm del punto de referencia, consulte la Figura 20.

Filamante con marcado para distancias.

Figura 20: Filement con marcado de distancias

A continuación, el punto de referencia se acerca lo más posible a la alimentación del extrusor, consulte la Figura 21.

Punto de referencia posicionado en movimiento desde la extrusora.

Figura 21: Punto de referencia posicionado en la alimentación del extrusor

Para conseguirlo, uso Octoprint con la pestaña de control, que me permite mover el extrsor, pero también los ejes individuales, consulte la Figura 22. Sin embargo, también puede simplemente insertar el filamento a mano, lo que puede ser más fácil o más difícil según la extrusor.

El control de la pestaña de octoprint

Figura 22: Pestaña de control de Octoprint

Ahora hago que la impresora alimente 100 mm de filamento y espero a que finalice el proceso. Para esto, utilizo los ajustes de control correspondientes en la pestaña Control de Octoprint. El filamento no debe tardar mucho. Si el marcador de 100 mm está ahora al comienzo del extrusor, no es necesario un paso más, pero eso no sucederá en la mayoría de los casos. El proceso se detendrá antes de la marca de 100 mm o después. En mi caso, el extrusor se alimentó 6,5 mm de más de filamento, ya que solo 13,5 mm se midieron a partir de la marca de 120 mm para la entrada del extrusor, consulte la Figura 23.

Medida cuánto filamento se mudó en

Figura 23: Medición de cuánto filamento se ha movido

Para que ahora sepa cuántos pasos, la impresora está aceptando actualmente para 100 mm, necesito estos pasos de la impresora a través del terminal. Con el comando de Marlin desde el código 8, el terminal entrega la respuesta deseada, consulte Figura 24 borde rojo.

M92

Código 8: Obtenga los pasos actuales para los ejes y el extrusor.

Retorno para el comando M92 en el terminal

Figura 24: Retorno del comando M92 en el terminal

Ahora se sabe que el extrusor realiza 405,71 pasos por 100 mm. Ahora es el momento de hacer algunos cálculos para que los pasos del extrusor también se ajusten. La fórmula es la siguiente:

Nuevo valor del paso del extrusor = 100 mm / (120 mm - Resto medido) * Pasos actuales

En mi caso, la fórmula se vería así:

Nuevo control del extrusor = 100 mm / (120 mm - 13.5) * 405.71

Nuevo control del extrusor = 380,95 (penúltimo decimal redondeado)

Tomo este valor y copio la salida del terminal y corrija el valor de E, para que mi nuevo comando M92-Marlin se vea como el código 9.

M92 x80.00 Y80.00 Z400.00 E380.95

Código 9: Transmitir nuevos pasos para el extrusor

Después de eso, un M500 y los pasos actuales se siguen almacenando en el siguiente reinicio.

Esto hizo un gran paso hacia la impresión perfecta. La impresora ahora está más silenciosa y puede controlar los ejes de manera más precisa y el extrusor ahora da la cantidad correcta de filamento durante la impresión. Por lo tanto, podemos imprimir sin problemas.

En la siguiente parte, me gustaría presentar OctoPrint un poco más y también mostrar la instalación, así como explicar el tema de la nivelación de la cama de malla con más detalle. Ya me he referido a esto en la primera parte, que repetiré brevemente. Por otro lado, otro método de software con el firmware actual de Knutwurst quisiera presentar. Esta es otra medida de afinación, que solo se necesita con Heatbeds, o si cree que la impresión necesita alguna mejora con ella. Además, me gustaría presentarle algunas plantillas de impresión en Thingiverse.com, con las que puede ver fácilmente cómo es la calidad de impresión de su impresora 3D.

Esto y otros proyectos se pueden encontrar en GitHub. https://github.com/M3taKn1ght/Blog-Repo.

Conceptos básicos electrónicaProyectos para principiantes

Deja un comentario

Todos los comentarios son moderados antes de ser publicados

Artículos de blog

  1. Ahora instalamos el esp32 a través de la administración.
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. Transporte Aéreo - programación de ESP mediante redes locales inalámbricas