User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/teaching/ie0117/proyectos2_2016_i/driver_cortadora_laser.meta failed
teaching:ie0117:proyectos2_2016_i:driver_cortadora_laser

Implementación de Software de Control para la Cortadora Láser

Integrantes

  • Alonso Montero Fuentes
  • Brian Morera Madriz
  • Isaac Eduardo Gómez Sánchez

Introducción

En este proyecto se desarrolla un sistema mediante el cual se puede hacer uso de la cortadora Full Spectrum modelo 20×12 5ta generación, reemplazando el software propietario RetinaEngrave por uno de código abierto. Se utiliza una conexión entre los programas Visicut e Iris para obtener los resultados buscados.

Nota Histórica

El ARCOS-Lab es un laboratorio de investigación ubicado en la Escuela de Ingenierı́a Eléctrica de la Universidad de Costa Rica, donde se desarrollan proyectos de investigación e ingenierı́a en el campo de la robótica en general, valiéndose de equipo para prototipado para su desarrollo, entre estos el uso de una impresora 3d, cortadora láser, otros.

La cortadora láser es fundamental para la creación de PCBs, cortes en general de prototipado y demás, es de la marca Full Spectrum modelo 20×12 5 generación, cuyo software por defecto es RetinaEngrave. Dicho software es privativo y sólo está para Windows, por lo que el usuario no cuenta con la posibilidad de modificarlo para ajustarlo a sus necesidades, ventajas que tendrı́a si fuese código abierto. Además el ARCOS-Lab utiliza software libre, ejemplo Debian como sistema operativo.

A pesar de que el software por defecto de la cortadora láser es privativo, existen alternativas open source para realizar las mismas funciones que dicho software privativo realiza. Una de esta alternativas es VisiCut, el cual es un software de control para cortadoras láser creado por Thomas Oster como parte de tesis de pregrado. Permite tener una visualización del acabado del trabajo en el material,soporta los formatos SVG, EPS, DXF y VisiCut PLF (Portable Laser Format).

VisiCut posee LibLaserCut, que es una biblioteca basada en Java que está diseñado para proporcionar apoyo a la CNC cortadoras láser en cada sistema. El objetivo principal de esta herramienta es añadir el soporte para láser Epilog y la junta LAOS a la aplicación VisiCut. Ası́, se puede ampliar la funcionalidad mediante la adición del controlador de cada cortadora láser como una subclase de la clase GenerigGCodeDriver.java, siendo el principal motivo del porqué utilizar VisiCut para el control de la cortadora.

Por medio de esta biblioteca se puede usar VisiCut para controlar la cortadora, agregando caracterı́sticas carentes por RetinaEngrave como formatos para importar jobs o la edición de estos antes de enviarlos. Pero esta biblioteca es independiente de de la plataforma para cortadoras láser, por lo que es necesario agregar soporte a esta biblioteca para poder utilizar la cortadora con VisiCut.

Nota Teórica

TCP-IP

Es un conjunto de protocolos para la comunicación de datos. Toma su nombre de dos de sus protocolos más importantes que lo conforman: TCP (Transmisión Control Protocol) e IP (Internet Protocol). Fue creado en 1969 por la agencia de proyectos de investigación avanzada de los Estados Unidos (ARPA por sus siglas en inglés ) como un proyecto experimental de red conmutada de paquetes. Dicho protocolo es el estándar en todo tipo de aplicaciones telemáticas incluidas las redes locales y las corporativas. Su popularidad se debe a una serie de características que responden a una serie necesidades actuales de la trasmisión de datos en todo el mundo, tales como:

  • Sus estándares son abiertos y ampliamente soportados por todo tipo de sistemas, es decir que son desarrollados independientemente del hardware o de los sitemas operativos.
  • Funciona en prácticamente cualquier medio: red Ethernet, conexión ADSL o fibra óptica.
  • Tiene un sistema de direccionamiento que asigna a cada equipo conectado una dirección única en toda la red.

Modelo Cliente Servidor

Una arquitectura distribuida que permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma.

En el modelo cliente servidor, el cliente envía un mensaje solicitando un determinado servicio a un servidor (hace una petición), y este envía uno o varios mensajes con la respuesta (provee el servicio). En un sistema distribuido cada máquina puede cumplir el rol de servidor para algunas tareas y el rol de cliente para otras.

Gcode

En términos generales, G-code es un lenguaje mediante el cual las personas pueden decir a máquinas herramienta controladas por computadora qué hacer y cómo hacerlo. Esos qué y cómo están definidos mayormente por instrucciones sobre adónde moverse, cuán rápido moverse y qué trayectoria seguir.

Visicut

Es una herramienta desarrollada por Thomas Oster para optar por el grado de Bachillerato. Dicha herramienta permite el uso de cortadores laser para prácticamente cualquier sistema operativo e incluso preparar los cortes a realizar en el laboratorio desde casa.

Como una base de esta herramienta se desarrolló la librería LiblaserCut. Esta librería provee una sencilla interfaz para implementar un controlador de cortadora láser.

Protocolo

En informática y telecomunicación, un protocolo de comunicaciones es un sistema de reglas que permiten que dos o más entidades de un sistema de comunicación se comuniquen entre ellas para transmitir información por medio de cualquier tipo de variación de una magnitud física. Se trata de las reglas o el estándar que define la sintaxis, semántica y sincronización de la comunicación, así como también los posibles métodos de recuperación de errores. Los protocolos pueden ser implementados por hardware, por software, o por una combinación de ambos.

Iris

Es un proyecto del Laboratorio de Robots Autónomos y Sistemas Cognitivos (ARCOS LAB por sus siglas en inglés), desarrollado para confeccionar y correr cortes vectoriales en la cortadora láser Full Spectrum Hobby 20×12 5ta generación sin tener que usar el software provativo Retina Engrave.

Instrucciones De Instalacion y Uso

Visicut

Para la instalación del software visicut, deben seguirse las instrucciones oficiales de instalación, estas pueden ser encontradas en el siguiente link.

Para el mejor funcionamiento de la cortadora, debe modificarse el GenericGcodeDriver, para esto ir dentro de proyecto de Visicut a LibLaserCut > Source Packages > com.t_oster.liblasercut.drivers > GenericGcodeDriver.java y modificar Laserbed width a 20 y Laserbed height a 12.

Una vez en el programa Viscut, para poder correr el job en la cortadora, éste debe ser guardado. Para esto ir a File > Export Laser Code.. y seleccionar el directorio donde desea que este archivo sea guardado.

Si se desean mayores instrucciones sobre el uso de Viscut en sí, se puede visitar el siguiente link oficial.

Implementación de cliente-servidor

Al final de esta wiki se encuentra un tar.gz con los archivos necesarios para implementar el modelo de cliente-servidor.

1. Si se encuentra en una plataforma de GNU/Linux tome el archivo MyServer.py del tar.gz indicado y córralo desde la terminal usando el comando de consola:

python MyServer.py

Para ello es necesario tener instalado Python en su sistema.

Seguidamente abra otra terminal y compile el programa MyClient.java empleando el comando de consola:

javac MyClient.java

y a continuación corra el programa usando el comando de consola:

java MyClient

2. A continuación ingrese uno de los siguientes comandos, cuya funcionalidad ya fue comprobada, en la terminal donde está corriendo el cliente:

Para conectarse con la cortadora:

  • {"cmd":"connect_to_laser"}

lo idóneo es que este sea siempre el primer comando que se ingrese.

Para correr un perímetro cuadrado:

  • {"cmd":"run_perimeter"}

En este último comando se le solicitará la cantidad en X y Y a donde desea mover el láser. Además, al correr este comando se cierra la conexión automáticamente con la cortadora, de modo que deberá realizar de nuevo la parte 1.

Para correr el gcode con la canción de Super Mario:

  • {"cmd":"run_job"}

Para mover el laser cierta cantidad de pasos:

  • {"cmd":"moveto"}

En este último comando se le solicitará la cantidad en X y Y a donde desea mover el laser.

Para desconectar la conexión con la cortadora:

  • {"cmd":"quit"}

lo idóneo es que este se el último comando que se ingrese.

Fuentes Bibliográficas

laser_cutter_driver.tar.gz

teaching/ie0117/proyectos2_2016_i/driver_cortadora_laser.txt · Last modified: 2022/09/20 00:08 (external edit)