Maquina CNC laser para cajas automontables

Muy buenas compañer@s
Hoy traigo un nuevo proyecto para ver si me podéis ayudar a ir avanzando y finalmente encontrar una solución a mi problema.

Para poneros en situación, voy a montar un E-commerce y a la hora de empaquetar hay piezas muy pequeñas, que implicarían una caja para envío de 10x10cm y otras muy grandes que pueden ser de 80x10xm o en algunos casos de 1mx50cm y más medidas de por medio, lo que implicaría un desembolso enorme solo en stock de cajas solo para poder hacer envíos, lo cual no es rentable.

Por lo que para solventar este problema se me ha ocurrido lo siguiente, que no se si es viable.

Dispongo de una fresadora CNC que me hice yo mismo.

Y se me ha ocurrido, comprar planchas de cartón virgen sin cortar, y pasar la fresadora a laser, para cortar las planchas de cartón a la medida que yo quiera, pudiendo así adaptarme a las necesidades de cada pedido.

El problema no recae en eso ya que seria relativamente sencillo cambiar la fresadora por un laser.
El problema viene con los hendidos, una plancha recortada, pero sin hendidos no sirve de nada ya que seguramente no se va a doblar por donde queremos ni de la forma adecuada, para esto se me han ocurrido 2 formas “sencillas” de solucionarlo.

Opción A=usar uno de estos kits con un cilindro neumático adaptándole en la punta una rueda que pivote para que pueda realizar los hendidos.
https://www.amazon.es/dp/B097QR5ZTY/ref=redir_mobile_desktop?encoding=UTF8&psc=1&ref=sspa_mw_detail_3

Opción B=usar el eje z de la fresa como sube y baja, (igual que esta el rotulador de la foto) pero en lugar del rotulador, igual que en el caso anterior adaptar una rueda que pivote para realizar los hendidos.

No se si se os ocurre alguna otra manera de poder gestionar este proyecto en lo que a nivel hardware se refiere, no hay nada cerrado por lo que se pueden plantear todas las alternativas del mundo para llevar a cabo este proyecto de la forma mas adecuada posible.

Y ahora el problema gordo (para mi). El sofware.
Para poneros en situación de lo que hay montado ahora mismo, la maquina dispone de:
-Fuente de alimentación de 24v
-4 drivers MD430-V1
-Arduino UNO
-CNC shield V3.0
Aunque este es el material del que dispongo ahora mismo, no me limito a el, si fuera necesario cambiar el Arduino UNO por un MEGA u otra cosa, añadir elementos, etc, digo lo mismo que lo anterior no hay nada cerrado por lo que se puede plantear cualquier cosa.

Mi problema mas gordo viene a la hora del software, que en ese sentido si que no se por donde meterle mano ni como hacerlo, he usado GRBL para usar la fresadora, pero que ocurre, no se como hacer, para que por un lado, le mande las instrucciones de corte por laser y que me haga los hendidos, de verdad que no se por donde meterle mano y es lo que mas me preocupa.
Lo que me gustaría, que primero haga un “ciclo” donde corte el cartón, y que luego haga otro, donde el sistema que se decida, realice los hendidos.

Me gustaría también que si se os ocurre alguna función que se pudiera implementar para un mejor rendimiento o una mayor utilidad la aportarais.

Muchas gracias a tod@s.
Espero podáis ayudarme a avanzar con este proyecto.

P.d: si consideraos que no es el foro o la sección adecuada donde postear esto, pido disculpas, y estaré en cantado de solucionar el problema.

Seguramente el Eje Z permite hacer lo que dices.
El tema es que en lo personal no he trabajado con CNCs pero tampoco conozco el software. Si nos pones el link del que estas usando o la página que corresponda a la documentación, estoy seguro que existen cosas como lo que pides y ademas estarán contempladas en el software.

Buenos días

Amplío información para orientaros mejor para que podáis ayudarme y algún descubrimiento que he hecho.

///////////////////////////////////////////////////////////////////////
En cuanto al firmware que he estado usando es el archiconocido GRBL.
Adjunto el enlace a GitHub para ver si podéis ayudarme.
En el enlace aparece todo lo necesario para entenderlo y conocerlo mejor.
Aparece el código y un montón de cosas, pero entre tantas cosas me pierdo, la verdad.

///////////////////////////////////////////////////////////////////////
En cuanto a los descubrimientos, he hecho, son los siguientes.

Descubrimiento nº1.
La placa MKS DLC, al igual que el Arduino UNO utiliza el microcontrolador ATmega328P.
Adjunto enlaces para que podáis echarle un vistazo.

Descubrimiento nº2.
Tanto en la placa anterior (MKS DLC) como ArduinoUNO+CNC shield, GRBL deja pines "libres" a los cuales podemos darle utilidades como salidas, pero no se como localizar en el código o en algún sitio cuales son estos pines.

Descubrimiento nº3.
En este archivo, al final del documento, cuenta que podemos hacer nuestro propio comando, lo cual me parece muy útil, pero no entiendo exactamente en que parte del código hay que incluirlo, ni como asignarle una función.

///////////////////////////////////////////////////////////////////////
Conclusiones:

Habiendo investigado este poco, creo que una de las mejores opciones seria el emplear la MKS DLC junto con una pantalla táctil TFT24, además, en el kit anterior que he adjuntado, también suministra un modulo wifi, pero no se como implementarlo ni que utilidad puede tener.

Me gustaría que me ayudarais a entender o a localizar que pines son los que se quedan libres, y como puedo añadir una función a ese pin.

Porque se me ha ocurrido lo siguiente, en caso de localizar el pin libre y como crear un comando, seria algo "simple".

Suponiendo que a un valor de G-code "M1234" activara y desactivara un relé en el pin que se queda libre, lo tendría solucionado, o eso creo, ya que podria generar un G-code manualmente.

Espero me podáis ayudar a encauzar este proyecto.
Muchas gracias.

He leido al respecto y lo que tienes que hacer es usar la señal DIR del eje Z para controlar tu actuador/solenoide
Durante el tiempo que el EJE Z este activo la dirección tambien lo estará, digamos, cuando baja será tu acción de hacer los hendidos, y cuando sube el eje Z es cuando termina de actuar, de ese modo controlas el funcionamiento.
Dime si te sirve mi sugerencia.

Te comento que no he trabajado con grbl.

Buenas noches compañer@s.
Después de un tiempo investigando y pensando y haciendo alguna pequeña prueba, la decisión tomada ha sido sencilla.
Para activar el sistema de endidos, he decidido, en el gcode poner el comando M8 que lo que haría seria activar el sistema de refrigeración adicional.
M7 activaría un chorrito de aire para cuando se este cortando el laser y M8 activaría un relé, que es el que haría bajar mi sistema de endido.

Ahora tengo un nuevo problema.
Necesito de alguna manera “monitorizar” hacia donde se esta moviendo la maquina (para así direccionar la rueda del endido.

La solución mas fácil que se me ha ocurrido es hacer un sistema aislado con un arduino adicional ademas del que empleo para mover la maquina y activar el laser.

La idea es leer todos los datos que emite la maquina, de direcciones, pulsos, etc. para saber en que dirección se esta moviendo, pero me faltan cosas.

Lo unico productivo que he conseguido que es util de primeras, es leer los valores de dirección de los drivers de x e y.
Sin embargo cuando hay un problema.
Cuando se mueve la maquina en Y+ ; X+ o en diagonal (Y+ y X+ al mismo tiempo) en los tres casos, los valores de dir de los drivers son los mismos (0,0). (Esto pasa para otros casos, que se comparten valores).

He intentado medir los pines de step, pero no arrojan valores que se puedan emplear, ya que arroja 1 cada x tiempo, supongo que es debido al tiempo que tarda en procesarse, pero no se como leerlo para que me sirva, ya que si pudiera leerlo de la manera adecuada tendría el problema solucionado.

Otra solución que se me ha ocurrido es “medir” o “monitorizar” que motor se mueve, pero como tienen enclavamiento (creo que se llama asi), por lo que siempre tiene corriente (no estan apagados y encendidos), ademas de funcionar a mas de 5v por lo que arduino no puede leer esa señal. Pero si pudiera de alguna manera “leer” cual de los dos motores es el que se esta moviendo, también seria una solución

A alguien se le ocurre como puedo gestionar esto!?

Lo ideal, seria conseguir leer todos los datos, para que un motor paso a paso, direccionara el sistema en base al movimiento de la maquina, no que se posicionara unicamente a 0° 45° y 90°

Si alguien puede echarme una mano, de estaría muy agradecido
Un abrazo a tod@s