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
CONSULTA Ayuda con script para cambio de boquilla
#1
Hola a todos, me podrían ayudar con un script para cambio de boquilla el cuál debe: con un clic elevar el eje z a 300 mm y calentar el extrusor a 200 °c al llegar a los 200 °c hacer una retracción rápida de 8 mm y luego haga un pitido y luego con otro clic haga una extrusión de 8 mm, solo me faltan las lineas para esperar un clic y haga la acción de la siguiente linea, gracias
  Responder
#2
Hola @Rocaforte, bienvenido al foro.
Si el firmware es Marlin o Reprap, para realizar una pausa y que espere hasta que el usuario indique la continuación, se utiliza el comando M0.
La sintaxis en Marlin es:

M0 [Pms] [Ss] [mensaje]

Todos los parámetros son optativos, si no se pone ninguno se realiza una parada hasta que el usuario indique la continuación, mediante el control que tenga en la pantalla.
El parámetro P indica la duración de la pausa en milisegundos, indicados por ms.
El parámetro S indica  también la duración pero en segundos, indicados por s.
Si se ponen tanto P como S, se tiene en cuenta solo S.
Si se pone mensaje, este aparecerá en la línea de mensajes de la pantalla.
  Responder
#3
Gracias por la respuesta, pues creo entender que es Marlin las que traen la cr-10, entonces el código quedaría así:

M117 Cambio de Boquilla
M0 [Pms] [3] [Oprima para continuar]
G0 F9000 Z300 ; Mueve el eje z a 300mm
E0 200°; Aquí no estoy seguro que se haga así
G1 -8 F3600; Retraer 8 mm rápidamente
M300 S294 P200; Hace un pitido
M117 Cambie la boquilla
M0 [Pms] [3] [Oprima para continuar]
G1 E+8 F3600; Extruir 8mm
Es mi primer intento de script esta bien? o está todo mal. Triste
Si hay errores me podrían corregir por favor, gracias Sonrisa
  Responder
#4
Hola, paso a contestar tu pregunta y después haré un comentario sobre el propósito del script.

No está bien escrito el comando M0. Los [ ] indican que ese parámetro es opcional: se pone lo que está dentro o no se pone nada.

Los valores ms, s y mensaje hay que sustituirlos por el número o texto, en su caso, que corresponda.

Si lo que quieres es que se pare la ejecución hasta que se presione el botón de control de la pantalla, basta con que pongas M0 Oprima para continuar.

Si además quieres que, en caso de que el usuario no pulse nada, en 3 segundos se continúe con el siguiente comando: M0 S3 Oprima para continuar.

Respecto al script que indicas, varias cosas: el mensaje que pones con el comando M117 no se va a ver, ya que lo sustituirá inmediatamente el que indicas para el comando M0.

Lo mejor es colocarlos juntos ("Cambio de boquilla: oprima para continuar") en este último y habilitar el scroll en Marlin para que se vea toda la línea en la pantalla.

Para ello, tienes que habilitar la opción en el archivo Configuration_adv.h, descomentando (quitar la // del inicio) la línea //#define STATUS_MESSAGE_SCROLLING.

Dado que los movimientos que vas a realizar en el script son relativos, lo mejor es configurarlos así y al finalizar volver al movimiento absoluto. Los comandos son: G90 para absolutos, G91 para relativos.

Conviene que, antes de realizar este script, esté hecho el "homing" para evitar posibles complicaciones.

La velocidad que indicas para el movimiento del eje Z es tan alta que, con toda seguridad, no se tendrá en cuenta, ya que en el firmware tendrás una máxima para ese eje mucho menor y será con esta con la que se moverá realmente. Si es una CR-10, seguramente será de 15 mm/s (900 mm/m). Todo lo que pase de ahí en el comando, no se tiene en cuenta.

El comando que fija la temperatura en 200º y espera a que se alcance es M109 S200. Dado que tienes que subir el eje Z una distancia tan grande y no va a ser a una velocidad muy alta, mejor poner una orden de calentamiento sin espera antes de subir (para que vaya calentando mientras sube) y una con espera al terminar el movimiento. La orden de calentamiento sin espera es M104 S200.

Para los movimientos tienes que indicar el eje a mover y en el caso de la retracción es E. En este caso, para la velocidad vale lo mismo que indicaba para el eje Z: es posible que en el firmware esté configurada una velocidad máxima para ese eje menor, seguramente 25 mm/s (1500 mm/m), por lo que se tendrá en cuenta esta última. Si quieres que el extrusor se mueva más rápido, tendrás que cambiarla.

Para Marlin, los comandos G0 y G1 son iguales. Se suele utilizar siempre G1.

El comando M300 necesita, como es lógico, que Marlin considere que hay un zumbador y su comportamiento es distinto dependiendo de que se tenga habilitado o no el parámetro SPEAKER. Solo producirá tonos si el zumbador puede realizarlos y se tiene descomentada la línea //#define SPEAKER en el archivo Configuration.h. Sino, dará igual los parámetros que indiques en el comando, solo dará un pitido monotonal. En las respuestas que doy en este post, tienes toda la información sobre este tema. Como en este caso no necesitas tonos, puedes poner simplemente un comando sin parámetros que producirá un pitido monotonal.

Teniendo en cuenta todo lo anterior y lo que indicas que quieres hacer, podría ser algo así:

M0 Cambio de boquilla: oprima para continuar    ; Muestra el mensaje y espera una pulsación del usuario
M104 S200                                                                          ; Temperatura del fusor a 200º
G91                                                                                       ; Movimiento relativo
G1 Z+300 F900                                                                   ; Mueve el eje Z +300 mm
M109 S200                                                                          ; Espera a que el fusor tenga 200º antes de continuar
G1 E-8 F1500                                                                      ; Retráe el filamento 8 mm.
M300                                                                                    ; Pitido
M0 Cambie la boquilla y oprima para continuar    ; Muestra el mensaje y espera una pulsación
G1 E+8                                                                                 ; Extruye 8 mm (utilizará la velocidad del último movimiento)
G90                                                                                       ; Movimiento absoluto


Por último, unas consideraciones sobre el propósito del script: parece que tienes pensado utilizarlo para cambiar la boquilla, estando el conjunto boquilla/barrel/cubo calentador montado en la impresora y a temperatura de impresión. Si es así, no es una buena idea por varios motivos.
Para conseguir que esta parte quede bien montada, sin que se produzcan pérdidas de material fundido entre la boquilla y el barrel, hay que poder manipular con comodidad estos elementos y estando calientes a temperatura de impresión y montados en la impresora será casi imposible.
Por otra parte, el filamento que ha salido del fusor al retraerlo 8 mm, quedará con el extremo irregular debido a que se encontraba fundido y se solidifica con una forma que seguramente no permita que se introduzca directamente solo con una orden de avance de 8 mm.  Seguramente, habrá que sacarlo completamente y cortar el extremo fundido.
  Responder
#5
Wow muchas gracias por esa amplia respuesta te luciste, la verdad que el que sabe sabe, andaba totalmente perdido, pero bueno gracias por compartir tus conocimientos y sobre quitar la boquilla estando caliente, es porque imprimo varias piezas con boquilla de 0.6 y otras de 0.2 y quería que fuera un poco más rápido de hacer y para eso utilizo guantes que resisten altas temperaturas, así que por eso no te preocupes, probaré el script que muy amablemente escribiste, tienes razón en lo del filamento retraído y sí mi intensión es sacarlo por completo y cortarlo y volverlo a introducir, de nuevo gracias infinitas por la ayuda.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Problema cambio de color en Prusaslicer Tomas007 5 242 25-11-2023, 11:03 PM
Último mensaje: ricardo2501
  Cambio de color en Anycubic KOBRA con prusa slicer cristianrm1997 3 0 07-06-2023, 12:53 PM
Último mensaje: Simemart
  Ayuda con código G para purga inicial CarlosDRX 3 192 28-01-2023, 11:21 AM
Último mensaje: Simemart
  CONSULTA Cambio de filamento con M600 resume a altura incorrecta. lorenzzomp 4 376 03-09-2022, 09:32 PM
Último mensaje: Macuho
Triste CONSULTA Cambio de color durante impresión en Cura Sinteprod 9 11,553 21-10-2021, 04:00 PM
Último mensaje: samsap