Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Grabado láser con robot DIY Arduino SCARA

En este tutorial, le mostraré cómo convertí mi brazo robótico SCARA impreso en 3D DIY que construí en uno de mis videos anteriores para que funcione como grabador láser. Puede ver el siguiente video o leer el artículo a continuación.

Resumen del proyecto

El robot SCARA tiene 4 grados de libertad que son impulsados ​​por 4 motores paso a paso NEMA 17 y controlados mediante una placa Arduino. En el video original usé una placa Arduino UNO en combinación con un CNC Shield, pero ahora usaremos una placa Arduino MEGA en combinación con una placa RAMPs. Necesitamos esta combinación porque usaremos el firmware de la impresora 3D Marlin para controlar el robot.

En cuanto a la parte mecánica, solo tuve que cambiar el mecanismo de agarre con un módulo láser. En este caso, estoy usando un módulo láser de 5,5 W que es lo suficientemente bueno para grabar.

Una característica interesante que obtenemos con esta configuración de robot SCARA es que podemos tener un mayor rango de movimiento del eje Z y así podemos grabar con láser objetos más altos.

Además, el área de trabajo es bastante impresionante teniendo en cuenta el tamaño reducido del robot. Puede usar el área frente a él así como en ambos lados. De hecho, podemos configurarlo para usar casi todos los 360 grados alrededor del robot como área de trabajo. Podemos hacerlo gracias al firmware de la impresora 3D Marling de código abierto que tiene opciones para el grabado láser y la configuración del robot SCARA.

Para generar los códigos G, estoy usando otro software de código abierto, Inkscape y un complemento llamado Inkscape-Lasertools. Podemos generar códigos G solo con contornos o con contornos y relleno a partir de la misma imagen vectorial, y tenemos varias opciones como ajustar el rayo láser, la velocidad de desplazamiento, la velocidad de relleno, la velocidad del perímetro, los comandos de encendido y apagado del láser, incluido el control PWM del láser y así sucesivamente.

Sin embargo, ahora lo guiaré a través de todo el proceso de configuración de un robot SCARA para que funcione como grabador láser. Veremos el diseño de este robot SCARA, cómo instalar y configurar el firmware Marlin según nuestra máquina, y cómo preparar los dibujos y los códigos G para el grabado. Entonces, comencemos.

Diseño y Modelo 3D

Aquí hay un vistazo rápido al modelo 3D de este robot SCARA para que puedas ver cómo funciona en caso de que no hayas visto el tutorial original donde explico en detalle cómo lo construí.

El robot está diseñado de manera que la mayoría de las piezas se pueden imprimir fácilmente en 3D. Las juntas son impulsadas por motores paso a paso NEMA 17 cuya velocidad se reduce con la ayuda de correas GT2 y algunas poleas GT2 impresas en 3D adecuadas. El robot tiene 4 grados de libertad, pero en este caso solo necesitamos 3 GDL, dos rotaciones para llegar a cualquier punto del área de trabajo y un movimiento lineal para ajustar la altura del láser.

No se utilizará la cuarta articulación que gira el efector final, aunque se le acoplará el módulo láser. Hice el soporte para el láser de manera que el rayo láser esté en el centro de rotación de ese cuarto eje, por lo que incluso si el eje gira, no afectará la posición final.

Puede buscar y descargar este modelo 3D, así como explorarlo en su navegador en Thangs:

Descargue el modelo 3D de ensamblaje de Thangs.

Gracias Thangs por apoyar este tutorial.

Archivos STL para impresión 3D:

Patrocinado


Diseñé este robot SCARA usando 3DEXPERIENCE SOLIDWORKS for Makers, que también es el patrocinador de este video. Sí, has escuchado bien. Con 3DEXPERIENCE SOLIDWORKS for Makers, SOLIDWORKS finalmente ofrece sus herramientas de diseño líderes en la industria a los creadores de todo tipo a un precio increíblemente bajo.

Los creadores ahora pueden acceder a las mejores herramientas de diseño de SOLIDWORKS por solo $ 99 al año, pero para MIS espectadores, SOLIDWORKS ofrece una oferta por tiempo limitado que les permitirá obtener estas herramientas por un precio aún más bajo.

Así es. Para los espectadores de este video, pueden obtener este paquete hoy, que incluye una versión conectada a la nube de SOLIDWORKS, así como herramientas de diseño basadas en navegador como 3D Creator y 3D Sculptor, ¡a un precio especial del 20 % de descuento hasta agotar existencias!

Todo lo que tiene que hacer es hacer clic en mi siguiente enlace y crear su ID de 3DEXPERIENCE gratuita, que le permitirá acceder a esta oferta especial del 20 % de descuento, para que pueda comenzar a hacer lo mejor hoy. Muchas gracias a SOLIDWORKS por patrocinar y apoyar contenido educativo como este.

Echa un vistazo a SOLIDWORKS para creadores

20 % de descuento en SOLIDWORKS para creadores


Instalación del módulo láser

Primero, quité el mecanismo de agarre del robot que estaba sujeto con cuatro pernos.

Los cables usados ​​para controlar el servo de agarre ahora se usarán para controlar el módulo láser.

El módulo láser en particular que tengo funciona a 12V y se puede controlar usando una señal PWM con solo dos cables, Tierra y VCC. Para conectar el láser utilicé el conector que viene con el módulo, el de 3 pines. El cable negro izquierdo es tierra y el medio, el cable blanco en mi caso es el VCC. Soldé dos conectores de cable de puente macho a estos cables para poder conectarlos fácilmente a los cables del efector final.

Luego, simplemente coloco el conector en su lugar, pasé el cable a través de una de las aberturas del soporte y aseguré el módulo láser con dos pernos M3. Con cuatro pernos M4 aseguré el módulo láser al robot.

A continuación, como mencioné anteriormente, en lugar de la placa Arduino UNO que usé para controlar el robot en el video original, ahora necesitamos una placa Arduino MEGA y una combinación con una placa RAMPS.

Aquí primero debemos seleccionar la resolución de paso de los controladores. Por supuesto, para un movimiento más suave, debemos seleccionar la resolución más alta posible agregando tres puentes para cada controlador paso a paso. Estoy usando el controlador paso a paso A4988 que tiene una resolución de paso 16, pero también podemos usar el controlador paso a paso DRV8825 que tiene una resolución de paso 1/32.

Entonces podemos conectar todos los cables en su lugar. Hice marcar todos mis cables para no estropearlos.

Diagrama del circuito del grabador láser robot SCARA

Aquí está el diagrama de circuito de cómo se debe conectar todo.

Los motores paso a paso van justo encima de los controladores y los interruptores de límite que normalmente están cerrados con dos cables van en los topes S y - pines para cada eje respectivamente.

Para controlar el módulo láser, usaremos el pin D9 que en una configuración de impresora 3D se usa para controlar un ventilador. Este pin es compatible con PWM, por lo que podemos controlar la intensidad del láser con él. Para alimentar todo necesitamos una fuente de alimentación de 12V con una tasa de corriente mínima de 3A.

Puede obtener los componentes necesarios para este proyecto en los siguientes enlaces:

  • Motor paso a paso:NEMA 17……………… 
  • Controlador paso a paso A4988……………………..… 
  • Placa RAMPAS 1.6…………………………..…
  • Arduino MEGA…………………….…..…………
  • Interruptor de límite ………………………………. AmazonasBanggood  / AliExpress
  • Fuente de alimentación de CC …………………………. Amazonas  / Banggood  / AliExpress
  • Módulo láser …………………………………… Amazon / Banggood / AliExpress
  • Gafas de seguridad para láser …………………….. Amazon / Banggod / AliExpress

En cuanto a los componentes mecánicos, puede consultar el artículo original.

Una vez que conecté todo como se explicó, apreté un poco los cables y cubrí la electrónica para que todo se vea bien y limpio.

Terminando el ensamblaje

Hay una cosa más que necesitaba cambiar en mi robot SCARA para que funcione correctamente, y es cambiar cuándo se activa el interruptor de límite del segundo brazo. Como el robot SCARA se configurará para funcionar como diestro, la referencia del segundo brazo debe estar a 0 grados, o en línea con el primer brazo, mientras puede girar hacia la izquierda. Para ello, simplemente pegué una pequeña pieza en la articulación del brazo para que active el final de carrera en la posición descrita.

En realidad, hay un pequeño detalle más que necesitaba cambiar. El gatillo del interruptor de límite original interfería con una de las tuercas en la parte inferior del brazo, por lo que el brazo no podía alcanzar su movimiento completo.

Simplemente quité esa tuerca, la reemplacé con un inserto roscado para que no sobresalga cuando vuelva a asegurar la pieza en su lugar.

Y eso es. El robot SCARA ahora está listo para trabajar como grabador láser, pero, por supuesto, primero debemos instalar el firmware en la placa Arduino.

Ver también: Brazo robótico Arduino DIY con control de teléfono inteligente

Firmware Marlin para grabado laser con SCARA Robot

Como dije, usaré el firmware Marlin, que es uno de los firmware de código abierto más utilizados para impresoras 3D, que también tiene opciones para grabado láser y configuraciones de robot SCARA. Podemos descargar el firmware de Marlin ya sea desde su sitio web oficial o Github.com.

Para instalar el firmware de Marlin en la placa Arduino MEGA, usaremos PlatformIO IDE en lugar de Arduino IDE. Como el firmware de Marlin es grande y complejo, el IDE de Arduino a veces puede dar errores y no poder compilarlo.

PlarformIO se basa en el editor de código de Visual Studio y se puede instalar como una extensión. Esto significa que primero debemos instalar Visual Studio Code, luego buscar PlatformIO en el administrador de extensiones e instalarlo desde allí.

Una vez finalizada la instalación, podemos hacer clic en el botón Abrir proyecto, navegar a la carpeta Marlin que descargamos y descomprimimos, y hacer clic en "Abrir Marlin".

Esto cargará todos los archivos de Marlin en el editor y así podremos abrirlos y editarlos. Los dos archivos principales donde hacemos todos los ajustes de acuerdo con la configuración de nuestra máquina son los archivos Configuration.h y Configuration_adv.h.

En realidad, antes de abrir la carpeta Marlin, primero debemos ir al repositorio de Configuración en Github.com desde donde podemos descargar algunos archivos de configuración probados previamente que son adecuados para nosotros. En la carpeta “Ejemplos” debemos ir a la carpeta “SCARA” y copiar estos dos archivos de configuración y pegarlos en nuestra carpeta Marlin.

Consulte también: Cómo configurar GRBL & Controle la máquina CNC con Arduino

Configuración del firmware Marlin

Entonces, una vez que volvemos a abrir la carpeta Marlin con los archivos de configuración "SCARA", podemos abrir el archivo Configuration.h y editar algunos parámetros de acuerdo con nuestra máquina. Aquí lo primero es seleccionar el tipo de robot SCARA que tenemos.

/**
 * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
 * Implemented and slightly reworked by JCERNY in June, 2014.
 */
//#define MORGAN_SCARA

/**
 * Mostly Printed SCARA is an open source design by Tyler Williams. See:
 *   https://www.thingiverse.com/thing:2487048
 *   https://www.thingiverse.com/thing:1241491
 */
#define MP_SCARA

#if EITHER(MORGAN_SCARA, MP_SCARA)
  // If movement is choppy try lowering this value
  #define SCARA_SEGMENTS_PER_SECOND 100

  // Length of inner and outer support arms. Measure arm lengths precisely.
  #define SCARA_LINKAGE_1  228.15  // Arm 1 lenght - 228(mm)
  #define SCARA_LINKAGE_2 136.2    // Arm 2 lenght - 136.5(mm)

  // SCARA tower offset (position of Tower relative to bed zero position)
  // This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
  #define SCARA_OFFSET_X    300       // (mm)
  #define SCARA_OFFSET_Y    150       // (mm)Code language: Arduino (arduino)

El “MORGAN_SCARA” es para robot SCARA paralelo y el “MP_SCARA” es para robot SCARA serie, como el que tenemos. Esto se basa en un diseño de código abierto de Tyler Williams que implementa cinemática inversa en los códigos G generados para sistemas cartesianos normales.

En mi tutorial anterior ya expliqué qué es la cinemática inversa y cómo funciona con este robot SCARA, por lo que para obtener más detalles, puede consultar ese tutorial. Brevemente, con la cinemática inversa calculamos en qué ángulos deben posicionarse los dos brazos para alcanzar una determinada coordenada X, Y. Las matemáticas detrás de la cinemática inversa se basan en la trigonometría y el resultado depende únicamente de las longitudes de los dos brazos.

Dicho esto, aquí debemos ingresar la longitud de los brazos del robot, y en este caso es 228 mm para el primer brazo y 136,5 mm para el segundo brazo. El siguiente parámetro que debemos configurar es la posición cero de la cama de trabajo. Este valor se ingresa con los valores SCARA_OFFSET_X e Y y es la distancia desde la torre o la primera junta relativa a la posición cero del lecho.

Hay un conjunto más de parámetros que debemos ajustar de acuerdo con nuestra máquina, y ese es MANUAL_X_HOME_POS tanto para X como para Y. Estos valores son las distancias X e Y desde el efector final del brazo robótico o el láser cuando está en la posición inicial, relativa a la posición cero de la cama que establecimos previamente. Para obtener estos valores, hice un boceto simple en SOLIDWORKS con las dos líneas que representan los dos brazos del robot SCARA.

Desde aquí puede configurar la posición cero de la cama deseada y obtener los valores para las variables MANUAL_X_HOME_POS.

A continuación, necesitamos definir los conectores finales. En nuestro caso tenemos un tope para cada eje, que está en posición mínima.

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUGCode language: Arduino (arduino)

Además de eso, necesitamos definir X_HOME_DIR a -1, lo que indica la dirección de los topes finales al volver a casa.

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1Code language: Arduino (arduino)

Aquí también debemos verificar si todas las variables __MIN_ENDSTOP_INVERTING están configuradas en "FALSO".

Luego, debemos ajustar los valores DEFAULT_AXIS_STEPS_PER_UNIT para que coincidan con nuestra máquina.

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 177.7777777, 142.2222222, 400, 93 }Code language: Arduino (arduino)

Estos valores indican cuántos pasos debe enviar el programa a los controladores paso a paso para que el motor mueva una unidad, y en este caso es una rotación de la articulación de un grado. Así es como calculé estos valores para mi robot SCARA.

Los motores paso a paso NEMA 17 toman 200 pasos para una rotación completa, pero como estamos usando una resolución de 16 pasos, eso significa que necesitamos enviar 3200 pasos al controlador para que el motor haga una rotación completa de 360 ​​grados. Además de eso, para la primera articulación tenemos una reducción de velocidad de 20:1, lo que significa que necesitamos 64000 pasos para una rotación completa. Si dividimos este valor por 360, obtendremos el número 177.777, que en realidad es el número de pasos que el programa necesita enviar al controlador para girar la articulación una unidad o un grado.

El segundo brazo tiene una reducción de velocidad de 16:1, por lo que el valor será 142,222. Para el eje Z tenemos un tornillo de avance con un paso de 8 mm, lo que significa que una rotación completa del motor dará como resultado un movimiento lineal de 8 mm. Una unidad aquí es un mm, por lo que necesitamos dividir los 3200 pasos por 8, y así obtenemos el valor de 400, que es el número de pasos necesarios para que el eje Z se mueva una unidad o un mm. El cuarto valor aquí es para el extrusor paso a paso, pero como no tenemos ningún extrusor aquí, no tenemos que cambiarlo.

La dirección del motor paso a paso depende de la forma en que hayamos conectado los cables. En caso de que lo tengamos mal, podemos invertir los cables o cambiarlo aquí en el software configurando las variables INVERT_X_DIR en TRUE.

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR falseCode language: Arduino (arduino)

Deberíamos hacer algunos cambios más para que este firmware de Marlin funcione. Como Marlin es principalmente firmware para impresoras de estilo cartesiano clásico, el modo SCARA que presenta tiene algunos errores pequeños que aún no se resolvieron en el momento en que hice este proyecto. Estos son los cambios que hice para que funcione.

En scara.cpp, línea 75 reemplacé MORGAN_SCARA con MP_SCARA. En motion.cpp, tuve que comentar la línea 1716 y 1717, en cofiguration.h comentar VALIDATE_HOMING_ENDSTOPS, y en configuration_adv.h descomentar QUICK_HOME.

En realidad, incluso con estos cambios, el homing todavía no funcionaba correctamente al 100%, pero explicaré la solución que utilicé para que funcionara.

Sin embargo, ahora podemos hacer clic en el botón Cargar ubicado en la parte inferior izquierda del editor y el firmware de Marlin se instalará en la placa Arduino. Puede descargar este firmware particular de Marlin con todos los cambios que hice para trabajar con este robot SCARA a continuación o, por supuesto, puede descargar el firmware original de Marlin de Github.com y realizar todos los cambios por su cuenta como expliqué.

Software de Control – Rapetier-host

Muy bien, una vez que tengamos el firmware de Marlin instalado, ahora necesitamos un programa de computadora para controlar el robot y enviarle códigos G. Hay muchas opciones, pero elegí usar Rapetier-host, que es un popular software de impresión 3D. Podemos descargar y utilizar este software de forma gratuita. Una vez que lo instalamos, podemos ir a Config> Printer Settings y ajustar varias cosas aquí.

Debemos seleccionar el puerto COM al que está conectado nuestro Arduino y seleccionar la tasa de baudios que configuramos en el firmware de Marlin. En la pestaña Forma de la impresora, debemos establecer los valores máximos de X e Y y el Área de la impresora.

Una vez que aplicamos esta configuración, podemos hacer clic en el botón Conectar y el software debería conectarse a nuestro robot SCARA. Luego podemos ir a la pestaña Control manual y desde aquí intentar mover la impresora.

Tenga en cuenta que al presionar las flechas X o Y, el robot puede comportarse de manera extraña ya que implementa la cinemática inversa de inmediato y probablemente moverá ambos brazos incluso si presiona solo una flecha.

Sin embargo, para que el robot funcione, primero debemos ubicarlo. Antes de hacer clic en el botón de inicio, debemos acercar manualmente las juntas a los interruptores de límite.

Cuando hacemos clic en el botón Inicio, el robot debería comenzar a moverse hacia los interruptores de límite. En realidad, el segundo brazo comenzará a moverse hacia su interruptor de límite, mientras que el primer brazo debería moverse en dirección opuesta. Una vez que el segundo brazo o el eje Y lleguen a su interruptor de límite, el primer brazo o el eje X también comenzarán a moverse hacia su interruptor de límite. Una vez que se alcanza el interruptor de límite X, el robot irá al interruptor de límite Z.

Entonces, una vez que se realiza la búsqueda, deberíamos poder comenzar a grabar o mover manualmente el robot alrededor de su área de trabajo. Sin embargo, si intentamos hacer algo de inmediato, por alguna razón el robot se comportará mal y hará movimientos extraños. Para evitar este comportamiento extraño, después del inicio solo tenemos que desconectar el robot del software y luego volver a conectarlo .

Ahora podemos mover o grabar manualmente y el robot funcionará correctamente. Probablemente se trate de un error en el firmware de Marlin, y está ahí porque el modo SCARA en este firmware no está bien respaldado, ya que no hay mucho interés en él.

No obstante, si enviamos el comando G-code G00 X0 Y0 el robot debería ir a su posición cero, la que configuramos en el archivo Marlin Configuration.h.

Entonces podemos activar el láser enviando el comando M106 S10. El valor detrás de S puede ser de 0 a 255 y en realidad es el control PWM de la potencia del láser de 0 a 100%. Entonces, estamos usando un valor de S10 aquí para que no queme nada, pero será visible para que podamos ver la posición cero y también ajustar el enfoque del láser.

El enfoque se puede ajustar manualmente girando la lente láser en la parte inferior y al mismo tiempo depende de la distancia entre este y la pieza de trabajo. Se recomienda establecer una distancia de unos 5 cm y ajustar el enfoque hasta obtener el punto más pequeño posible.

Grabado láser con el robot SCARA 

Para calibrar la máquina, es buena idea comenzar grabando una forma cuadrada simple para que podamos ver si funciona correctamente.

En mi primer intento, la forma cuadrada no estaba en la posición y orientación correctas y eso se debe a que configuré un valor incorrecto para la variable MANUAL_X_HOME_POS. Una vez que lo corregí, la forma cuadrada se acercó a lo que debería ser.

Por lo tanto, cargo un código G de mi logotipo y configuro el robot para que lo grabe.

Para ser honesto, ver este robot SCARA trabajando como grabador láser es genial, pero tenga en cuenta que DEBEMOS usar gafas de seguridad láser que protegerá nuestros ojos de la luz ultravioleta del láser, ya que es muy peligrosa. Además, debemos usar una máscara de respirador de seguridad y trabaje en un espacio abierto o en una habitación bien ventilada, ya que los humos producidos durante el grabado con láser también son peligrosos para nuestra salud.

Sin embargo, el grabado del logo salió bien, pero noté que no era totalmente cuadrado.

Entonces, volví a grabar la forma cuadrada simple para descubrir qué estaba causando el problema. Me di cuenta de que el problema está en las dimensiones de las longitudes de los brazos. Como el robot no es tan rígido, cuando los brazos están extendidos, el propio peso de los brazos hace que el robot se incline un poco hacia delante. Esto hace que la dimensión o posición real de los brazos esté un poco desviada.

Después de hacer decenas de pruebas, terminé ajustando los valores de las longitudes de 228 a 228,15 mm para el primer brazo y de 136,5 a 136,2 mm para el segundo brazo. Esto me dio el resultado más preciso y ahora la forma cuadrada era correcta. Sin embargo, dependiendo de la ubicación de la impresión, ya sea que el brazo esté completamente extendido o no, la precisión podría variar.

Generación de código G para grabado láser

Por último, déjame mostrarte cómo preparé los dibujos y generé códigos G para grabarlos con láser. Usé Inkscape para ese propósito, que es un software de gráficos vectoriales de código abierto.

Aquí primero necesitamos establecer el tamaño de la página al tamaño de nuestra área de trabajo. Como ejemplo, les mostraré cómo preparé el logo de Arduino para grabarlo con láser.

Descargué una imagen del logotipo de Arduino y la importé a Inkscape. Usando la función Trace Bitmap, primero necesitamos convertir la imagen a un formato vectorial. Solo podemos generar códigos G a partir de formas vectoriales y para ello utilicé un complemento llamado Inkscape-Lasertools. Podemos descargar este complemento de Github.com y podemos instalarlo copiando los archivos del archivo zip y pegándolos en el directorio de extensiones de Inkscape.

Entonces, una vez que tenemos el complemento instalado, podemos ir a Extensiones>Lasertools para abrirlo y usarlo para generar un código G. Hay varias opciones para configurar y ajustar con este complemento. Como conectamos nuestro láser al pin D9 que se usa para controlar un ventilador, podemos activar el láser enviando el comando M106.

Podemos elegir si el código G solo contendrá los contornos de la forma o también el relleno en bucles cerrados. Podemos configurar la velocidad de desplazamiento del láser, la velocidad de relleno del láser y la velocidad del perímetro.

Al elegir un relleno, si queremos reducir la intensidad del láser en el área de relleno, podemos agregar el valor PWM al comando M106 para configurar la intensidad del láser, por ejemplo, M106 S128 para una potencia del láser del 50 %. Podríamos lograr un efecto similar si dejamos la potencia del láser al 100 % pero aumentamos la velocidad de desplazamiento en el área de relleno. Por lo tanto, estas son configuraciones con las que deberíamos jugar para ver qué funciona mejor para nosotros.

En el toque de Preferencias, podemos seleccionar "Eliminar pequeñas rutas de relleno", y en la pestaña Cuadro delimitador podemos seleccionar "Generar código G para la vista previa del cuadro delimitador". Esta función es muy útil ya que genera una vista previa del código G del área donde se realizará el dibujo, y así podemos posicionar nuestra pieza de trabajo con precisión.

Bien, una vez que generamos el código G, podemos cargarlo en el programa Repetier-Host. Como esto no es una impresión 3D, sino solo movimientos de viaje, debemos seleccionar la casilla de verificación "Mostrar movimientos de viaje" para obtener una vista previa de nuestro código G.

Finalmente podemos hacer clic en el botón "Imprimir" y nuestro robot SCARA grabará con láser la pieza de trabajo. Ya lo dije, ver el grabado láser de este robot SCARA es muy satisfactorio y podemos grabar muchas cosas con él.

Una buena característica es que tiene un eje Z ajustable, lo que significa que podemos grabar con láser objetos más altos, como por ejemplo, esta caja de madera para mis brocas Forstner. Grabé mi logotipo en el frente y un texto "Forstner bits" en la parte posterior de la caja.

Aquí hay un ejemplo de grabado de la misma forma vectorial, una silueta de batman en este caso, solo con contornos y con relleno en bucles cerrados.

Por supuesto, cuando se graba con relleno, el tiempo necesario para terminar el trabajo es mucho más largo, pero también la apariencia final es mucho mejor.

Finalmente, déjame mostrarte cómo grabé este enorme dibujo con un área de 600x450 mm con este robot SCARA.

Coloqué el robot encima de la pieza de trabajo para que pueda alcanzar el frente y los dos lados. Ajusté manualmente la pieza de trabajo y el robot para que estuvieran en el medio y paralelos entre sí.

En el firmware de Marlin, establecí la posición cero en la esquina inferior izquierda de la pieza de trabajo, que está a 300 mm del robot en la dirección X y a 150 mm en la dirección Y. Debemos tener en cuenta los signos al definir estos valores. De acuerdo con esto también cambié las variables MANUAL_X y Y_HOME_POS.

Después de cargar el firmware con estos nuevos valores, ubiqué el robot como se explicó anteriormente y envié el láser a la posición cero. Luego activé el láser para poder ajustar aún más la orientación del precio del trabajo según sea necesario.

Al enviar los comandos G01, que hacen líneas rectas, pude verificar y ajustar la pieza de trabajo para que se coloque correctamente.

Ahora bien, para preparar el código G para este grabado, hice una plantilla con esta configuración de la pieza de trabajo y el robot en Inscape. Desde aquí puedo ver hasta dónde puede llegar el robot con el láser y según este modificar el dibujo.

Para el dibujo, descargué una imagen y la convertí en una imagen vectorial con la herramienta Trazar mapa de bits.

Luego reescalé y posicioné la imagen como quería, y usando la herramienta Borrar eliminé las áreas donde está el robot y el área que está fuera del alcance del robot.

Luego generé el código G y dejé que la máquina hiciera su trabajo. Tomó 4 horas grabar con láser este dibujo.

Una vez que terminó, quise llenar el área vacía donde estaba el robot. Para ello, recoloqué el robot y la pieza de trabajo, así como cambié los parámetros de Marlin para que la nueva área de trabajo del robot sea este espacio vacío en la pieza de trabajo.

Overall, this method requires some work for setting it up, but still it works great. I really like how this engraving turned out.

Wrap up

To wrap up, although there were some problems with the firmware, I managed to find workarounds to them get this SCARA robot working as laser engraver. If we take a closer look to the engraving, we can see that it’s far from perfect.

The robot is not that rigid and has some backlash, and therefore we cannot get precise and smooth movements. However, the things we learned in this tutorial can be implemented in any SCARA robot so you can definitely get better results.

Espero que hayas disfrutado este tutorial y hayas aprendido algo nuevo. No dude en hacer cualquier pregunta en la sección de comentarios a continuación y consulte mi Colección de proyectos de Arduino.


Proceso de manufactura

  1. El reloj IV9 Numitron más simple de bricolaje con Arduino
  2. Obstáculos que evitan el robot con servomotor
  3. Controlar un robot Roomba con Arduino y un dispositivo Android
  4. Voltímetro de bricolaje con Arduino y una pantalla Nokia 5110
  5. MobBob:Robot Arduino DIY controlado por un teléfono inteligente Android
  6. Rueda de medición simple de bricolaje con codificador giratorio
  7. Monitor de calidad del aire para bricolaje con sensor Sharp GP2Y1010AU0F
  8. Juego DIY Arduino 1D Pong con tira de LED WS2812
  9. Brazo de robot Arduino DIY:controlado por gestos con las manos
  10. Controla el brazo del robot Arduino con la aplicación de Android
  11. Crea un robot para comer con Arduino Nano | Tornillo dorado