This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Configuración Marlin para 2 extrusores
#21
El PID es un sistema para el control del calentamiento de los elementos calefactores, que consigue que se mantengan más estables las temperaturas.
Para su funcionamiento, hay que configurar tres parámetros denominados Kp, Ki y Kd, cuyos valores deben ser ajustados de forma muy precisa para que el sistema funcione de forma correcta y para ello, Marlin incorpora una utilidad que encuentra esos valores de forma empírica, denominada PID Autotune y que se lanza mediante el comando M303, al que hay que añadirle una serie de parámetros que controlan cómo se realizará la prueba.
Su sintaxis es M303 Enc Cni Sto, donde nc es el número del elemento calentador a probar (0, 1, etc. para los hotends; -1 para la cama caliente); ni el número de iteraciones de la prueba; to, el valor de la temperatura objetivo para el calentador.
Para realizar la prueba, conviene partir de los elementos a temperatura ambiente, configurar la temperatura objetivo igual a la que se utilizará en las impresiones (por lo que debería tenerse un PID distinto si las temperaturas varían mucho, como para los diferentes materiales de impresión) y configurar un mínimo de iteraciones suficiente, para conseguir afinar bien el resultado (yo suelo utilizar 8).
La forma más cómoda de realizarlo, consiste en conectar la impresora al ordenador por USB y utilizar una aplicación apropiada para enviar el comando (yo recomiendo Pronterface), trasladando a los parámetros correspondientes de Marlin, los valores de los parámetros que devuelve al finalizar el proceso (devuelve las líneas de Marlin tal cual, solo hay que copiar y pegar).
El tipo de sensor que llevan los hotends y la cama (son de 100K Ohms los más habituales), no tienen nada que ver con todo lo anterior.
Si tienes los dos hotends situados en línea con el eje X (de izquierda a derecha, según se mira la impresora de frente), el 0 es el de la izquierda y el 1 el de la derecha, no al revés como indicas, pues el origen de la impresora está en la esquina delantera izquierda y al llevar a ese punto el cabezal de impresión, debe quedar la boquilla del hotend0 justo sobre él.
Los límites del área de impresión se definen para el hotend0, por lo que el hotend1 se saldrá fuera de ella si se le indica que el punto máximo de desplazamiento en el eje X es el ancho de la cama, ya que el hotend0 irá hasta el borde derecho de la misma: por eso debes configurar en el parámetro [b]X_MAX_POS[/] el ancho de la cama menos la distancia entre los dos hotends, para que el que quede en el borde sea el hotend1.
Sobre el soporte de arcos, puedes dejarlo si quieres pues te sobra memoria en el ATMega2560, pero los programas de corte no soportarán nunca esos comandos, pues la forma en que cortan en capas las piezas solo utiliza líneas rectas (utilizar arcos sería demasiado complicado y no compensa): solo está ahí para cuando se utiliza Marlin en CNC, pues en este entorno se procesan las geometrías de las piezas, no se cortan en capas, siendo muy sencillo implementar los comandos de arcos.
Llevo varios años trabajando con Marlin y contestar las preguntas del foro te hace tener que investigar mucho más en su interior (es la ventaja de hacerlo, probablemente yo aprendo mucho más que los usuarios a los que les respondo las preguntas).
  Responder
#22
Bueno ya estoy aquí de nuevo,
He terminado al fin de armar todo lo que es la mecánica de la impresora y ahora al cargar el marlin del que hablamos no me funciona nada ni se enciende la pantalla.
He copiado el archivo de configuración de la bq y he empezado a probar. He configurado lo de los dos extrusores y funcionan con sus respectivas sondas, lo mismo pasa con la cama caliente que tambien funciona bien.
Los finales de carrera de los ejes X e Y funcionan correctamente, el bltouch se enciende pero no funciona, sale la sonda para tomar medición pero no se recoge al tocar con la mesa, al encender la impresora si que actúa pero después ya no.
Lo mismo pasa con el ventilador de capa que no funciona. Creo que me falta algo de configurar para que funcionen los servos pero no tengo ni idea.
Y la velocidad al hacer el home es demasiado lenta creo yo, cuando va a sacar el home en z sube demasiado eso también me gustaría cambiarlo con que suba 5 o 10mm seria suficiente.
No he configurado ningún offset eso lo dejo para cuando empiece a funcionar todo.
Subo la configuración que tengo hasta el momento.


Archivos adjuntos
.rar   Marlin.rar (Tamaño: 87.68 KB / Descargas: 2)
  Responder
#23
Hola, en tu caso solo con los archivos de configuración no es posible ver si tienes bien el tema, se necesita saber donde tienes conectada cada cosa.
Cuando se especifica el FET_ORDER como EEB, por defecto Marlin asigna al ventilador de capa el pin 4 y al BL-Touch el servo0 que, al configurar la placa como RAMPS_14, se corresponde con el pin 11.
Si estás utilizando todo el conector del servo, recuerda que tienes que habilitar los 5V en el pin central, para lo que hay que colocar un puente entre los pines rotulados Vcc y 5V de la RAMPS.
La velocidad del home se configura en el parámetro HOMING_FEEDRATE_MM_M y tienes para el eje Z 150 mm/min, que es algo baja para los husillos T8-8: yo suelo utilizar 240 mm/min con ellos.
Por la configuración que tienes, la subida inicial del eje Z en el home, depende de los parámetros Z_CLEARANCE_DEPLOY_PROBE, que es la distancia necesaria para asegurar que se puede desplegar el sensor y Z_HOMING_HEIGHT, que es la altura mínima en que debe estar el eje Z para comenzar el home: al tener sensor, el segundo es redundante y puedes comentar sin más esa línea, basta con que configures el primero con un valor adecuado.
Supongo que cuando dices que no has configurado ningún offset te refieres a los de X e Y, pues supongo que el Z Probe Offset si lo habrás configurado o sino tendrás problemas al hacer el home del eje Z.
  Responder
#24
Te adjunto foto, el selector está puesto bien que ya tratamos eso al principio y las conexiones están donde tú me dices.
[Imagen: IMG-20230505-200405.jpg]


[Imagen: IMG-20230505-200912.jpg]


Voy a ver lo que me has comentado para afinarlo un poco. El z offset probe no lo he configurado voy a verlo también.
  Responder
#25
Para saber por qué no funciona el ventilador de capa, tendrás que medir con un multímetro: que tengas 12V en la entrada del mosfet (entre VIN y GND), 5V en el control (entre VCC y GND) y que al activar el ventilador de capa al máximo (por pantalla al 100% o comando M106), tengas 5V en la señal (entre SIG y GND)  y 12V en la salida (entre V+ y V-).
Por cierto, ese cable que utilizas para el control del mosfet, tiene varios hilos del apantallado sueltos y puede darte problemas: mejor utiliza uno que no lo tenga.
Naturalmente, estamos buscando culpables en el control, pero nada impide que lo que esté mal sean los propios componentes (mosfet, ventilador, BL-Touch, etc): es algo que hay que comprobar también.

P.S.: Mucho cuidado al realizar las medidas de los voltajes.
  Responder
#26
(05-05-2023, 07:43 PM)Simemart escribió: Para saber por qué no funciona el ventilador de capa, tendrás que medir con un multímetro: que tengas 12V en la entrada del mosfet (entre VIN y GND), 5V en el control (entre VCC y GND) y que al activar el ventilador de capa al máximo (por pantalla al 100% o comando M106), tengas 5V en la señal (entre SIG y GND)  y 12V en la salida (entre V+ y V-).
Por cierto, ese cable que utilizas para el control del mosfet, tiene varios hilos del apantallado sueltos y puede darte problemas: mejor utiliza uno que no lo tenga.
Naturalmente, estamos buscando culpables en el control, pero nada impide que lo que esté mal sean los propios componentes (mosfet, ventilador, BL-Touch, etc): es algo que hay que comprobar también.

P.S.: Mucho cuidado al realizar las medidas de los voltajes.

Acabo de probar todo lo del ventilador de capa y he descubierto que no funciona, como bien has dicho he medido y he visto que el mosfet actuaba y sacaba los 12vcc he puesto otro ventilador de capa que tenia y funciona y regula bien asi que ese problema esta solucionado.

Y acabo de ver el fallo del bltouch era que los cables del final de carrera estaban al revés no savia que tenían polaridad y al medir con el tester me he dado cuenta que llevan 5vcc.
De momento voy a seguir ultimando todo ahora que eso ya funciona.
Me gustaria saber si se puede poner para ver la temperatura de los dos extrusores y de la cama al mismo tiempo en pantalla que eso me falta.

muchas gracias simemart eres un crack.
  Responder
#27
Si la pantalla es de tipo gráfico (tipo 12864), Marlin muestra en pantalla todas las temperaturas sin tener que configurar nada, pero si es de caracteres (tipo 2004) no caben todas y por lo que he visto en el código, Marlin prioriza los hotends (máximo 2 en este tipo de pantalla) por lo que, si no me equivoco, en este caso la de la cama no es posible saberla por pantalla.
  Responder
#28
Lo que estoy viendo es que no me sale la cama caliente ni en el menú para poder calentarla. igual no la he configurado. Los hotend si que me salen y como tu dices salen los dos en pantalla pero la cama caliente no puedo verla ni aun dándole a temperatura para calentarla manualmente.
Estoy contento va cogiendo forma jejeje. Lo del ventilador de capa esta solucionado, se había soltado un cable del ventilador, lo he soldado y a funcionar.

Vale tenía sin actual var la cama.
[Imagen: 16833590156092263791194645240529.jpg]
Si que sale en pantalla también. Ahora toca configurar los ofset para que el bltouch mida bien. La boquilla ya la tengo configurada p ro quiero que el bltouch mida en el centro y en las esquinas bien.
  Responder
#29
Efectivamente, solo miré las consultas que hacías y tienes sin activar la cama caliente (parámetro TEMP_SENSOR_BED): recuerda que debes calibrar el PID.
En todo caso y si no estoy equivocado, con esa pantalla no verás la temperatura de la cama, solo la de los hotends.

P.S.: Pues sí estaba equivocado, estaba escribiendo cuando pusiste el resultado.
  Responder
#30
(06-05-2023, 08:51 AM)Simemart escribió: Efectivamente, solo miré las consultas que hacías y tienes sin activar la cama caliente (parámetro TEMP_SENSOR_BED): recuerda que debes calibrar el PID.
En todo caso y si no estoy equivocado, con esa pantalla no verás la temperatura de la cama, solo la de los hotends.

P.S.: Pues sí estaba equivocado, estaba escribiendo cuando pusiste el resultado.

Voy poniendo los pasos por si a alguien le pasa y así aprendemos todos, ahora estoy calibrando los offset del bltouch para que mida bien.
Iré escribiendo si surgen mas dudas.
Me intriga saber si he conseguido nivelar perfecto las boquillas para que pueda imprimir bien Sonrisa
  Responder
#31
He revisado toda la configuración y he encontrado estos puntos a corregir:
- Con el ATMega2560 puedes poner la velocidad de transmisión serie a 250000 (parámetro BAUDRATE).
- Activa el PID de la cama (#define PIDTEMPBED) y regula el PID.
- Debes activar el uso de la EEPROM (#define EEPROM_SETTINGS).

El desfase del eje Z (Z Probe Offset), no debes ponerlo en el firmware, hay que configurarlo de forma empírica: pon un 0 para Z en el parámetro NOZZLE_TO_PROBE_OFFSET.
La forma más sencilla de hacerlo es con comandos gcode, conectando la impresora al ordenador por USB y utilizando Pronterface para enviarlos.
El proceso es como sigue:
- Calentar cama y fusor a temperatura de impresión y esperar unos minutos.
- Poner el desfase a 0 con un comando M851 Z0 y guardarlo en la EEPROM con un M500.
- Hacer el home enviando un G28.
- Quitar la limitación que impide los movimientos hacia posiciones negativas, enviando M211 S0.
- Con los controles de movimiento del eje Z, realizar el ajuste de la hoja de papel, utilizando los movimientos de 10 mm y 1 mm (si está aún lejos) y terminando con el de 0,1 mm para ajustarlo de forma precisa.
- Fijar el valor del desfase con M851  Z-X.XX, siendo –X.XX el valor que indica en este momento la pantalla para el eje Z. Guardamos el valor en la EEPROM con M500.
- Activar de nuevo la limitación de movimientos negativos con M211 S1.

Los offsets de X e Y, tendrás que configurarlos en función de donde quede la boquilla respecto a la esquina delantera izquierda de la cama, al hacer home solo de esos ejes (comando G28 XY).

P.S.: Sabrás si tienes los dos hotends a la misma altura, cuando regules el Z Probe Offset: la hoja de papel debe rozar igual en ambos.
  Responder
#32
Lo de la comunicación lo cambiaré si es mejor, el PIDTEMBED lo he activado antes lo que no he hecho lo del m303.
Los offset los tengo ya configurados tanto los de la boquilla como el del bltouch y el eje z también he sacado la altura.
Me falta configurar el simplify 3d y probar a imprimir algo. Cuando realice los últimos cambios que me has dicho subiré el config otra vez y probaré que hoy no estoy en casa.
  Responder
#33
He cambiado alguna cosilla.
El tema de offset tanto del bltouch como de la boquilla los configure desde la impresora por eso después los ponía en el marlin, no sabia hacerlo como tu me has comentado. Metí el marlin como tu decías y movía los ejes manualmente desde la impresora para saber los offset adecuados y para centrar el bltouch igual jajaja.
Subo la configuración que tengo ahora por si se me ha escapado algo.
Voy a configurar el slicer a ver si sale algo. Tengo entendido que el prusaslicer va muy bien pero no consigo los acabados que me deja el simplify 3d aun con la versión 4.1 que es la que tengo.
Muchas gracias por todo @Simemart
Pd. Me e dado cuenta de que no tenia activado el #define RESTORE_LEVELING_AFTER_G28, ya lo he puesto.


Archivos adjuntos
.rar   Marlin.rar (Tamaño: 87.7 KB / Descargas: 1)
  Responder
#34
Para asegurar que se activa el autolevel después del home, es mejor activar ENABLE_LEVELING_AFTER_G28, pues con RESTORE_LEVELING_AFTER_G28 se pone como estuviese antes de hacer el home: si estaba desactivado no se activa.
Tienes que realizar la calibración del PID de la cama, sino no sirve de nada tenerlo activado: por el contrario, seguramente tengas problemas de calentamiento o fluctuación de la temperatura.
Y aunque puede que no haya mucha diferencia si son idénticos, sería raro que coincidiese el PID de los dos hotends, por lo que puedes asignarles valores a cada uno por separado, para lo que debes activar el parámetro PID_PARAMS_PER_HOTEND y colocarlos en los parámetros DEFAULT_Kx_LIST.
  Responder
#35
Efectivamente tengo problemas con el calentamiento de la cama caliente, sale error al calentar. Lo de poner los parámetros del segundo hotend no te he entendido como hacerlo, puedo sacar los valores como me indicaste arriba pero no se donde ponerlos en marlin.
En que pueda hare el PID de la cama ya que va montada la cama caliente y encima una chapa de aluminio de 3mm para darle rigidez y encima el cristal templado para poder manipularlo jajaj es demasiado lo se pero bueno.
  Responder
#36
Para configurar los parámetros del PID de forma independiente para cada hotend, tienes que descomentar la línea #define PID_PARAMS_PER_HOTEND, realizar el PID Autotune por separado para cada uno de ellos (parámetro E del comando M303) y colocar los valores de Kp, Ki y Kd en los parámetros DEFAULT_Kp_LIST, DEFAULT_Ki_LIST y DEFAULT_Kd_LIST, que son matrices cuyos elementos son los valores de los distintos hotends separados por comas, ordenados del primer hotend al último: recuerda que el primer hotend es el que se encuentra más cerca del origen.
  Responder
#37
Gracias @Simemart, ya he configurado lo que me has comentado. He visto que en la impresora hoy un menú para ajustar la posición de la segunda boquilla. En el slicer que uso que es simplify no he visto nada para poder ajustar su posición así que intuyo que será desde ese menú, en que pueda la intentare calibrar. He impreso un cubo de calibración para ajustar el multiplicador de extrusión y a salido bastante bien, el acabado a sido muy bueno, faltan los retoques pertinentes pero creo que va por buen camino.
  Responder
#38
Al firmware no le importa la separación que tengan los dos hotends, pues fija la posición por los offsets programados y estos tienen que ser los del primer hotend: el que tiene que indicar donde se va a imprimir y con qué hotend es el programa de corte, para lo que todos tienen (incluido Simplify3D, por supuesto) un lugar donde configurar esos offsets.
En concreto, en Simplify3D  se configuran en el campo Offsets del cabezal, al que se puede acceder por dos vías: el menú Herramientas>Opciones>Máquina o por la pestaña Gcode del perfil de impresión que se utilice.
Utilizar uno u otro (el del perfil se habilita marcando la opción Modificar definición de máquina), depende de si utilizamos el programa solo para un modelo de impresora o para varios distintos, lo que necesariamente obliga en este último caso a usar el perfil de impresión.
  Responder
#39
Ya estoy aquí de nuevo jejeje. He estado mirando lo de los offset en el slicer y no se porque pero no me los corregía, siempre imprimía igual, sin embargo en la opción que tiene marlin en la impresora si que los he podido corregir y he conseguido que las dos boquillas estén totalmente alienadas, he impreso un cubo de calibración espiralizando el exterior y cambiando de extrusor y he conseguido que no haya salto en las paredes exteriores, por supuesto en la interior hay salto ya que una boquilla es de 0.2 y la otra de 0.4 pero he conseguido dejarlo clavado. La altura también la conseguí dejar exactamente igual en ambas boquillas que eso fue un poco complejo, estoy probando las velocidades de impresión y he podido imprimir a velocidades relativamente altas comparando con la Anet a 8 y la geeetech prusa i3 pro w que tengo. En esta como he hecho yo el chasis anclajes soportes etc he conseguido imprimir a velocidades de 200mm/s y perímetros a 100mm/s dejando buen acabado y sin deformar la pieza aunque veo que es demasiado rápido jejeje. He tenido que configurar el gcode inicial y el gcode final que no lo tenia configurado para dos extrusores y me gusta purgar antes de iniciar y al terminar que apagara los dos extrusores que tampoco lo hacia. Por todo lo demás parece que va bastante bien, si surgen problemas los expondré mas adelante.
Muchas gracias nuevamente @Simemart sin tu ayuda no lo hubiera conseguido.
  Responder
#40
Me alegro que lo hayas conseguido.
Un saludo.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Ayuda configuracion del Marlin para compilar en el arduino NOQUI 1 0 13-02-2024, 06:06 PM
Último mensaje: Simemart
  Marlin para Ender 3 Pro Ivan_Serroels 17 36 26-11-2023, 10:18 AM
Último mensaje: Simemart
  Linear Advance Configuracion e impresion 21Curiosos 4 0 11-08-2023, 03:09 PM
Último mensaje: Simemart
  Configuracion de ventiladores Marlin 21Curiosos 16 1,024 19-06-2023, 08:22 PM
Último mensaje: wolf
  Power Loss Recovery Configuracion bbouett 1 0 07-06-2023, 08:07 PM
Último mensaje: Simemart