Implementación del control mediante código Arduino
Para continuar con el desarrollo y puesta en funcionamiento del plotter, es imprescindible la implementación del código de control en la placa Arduino. Este código constituye el núcleo del sistema, ya que se encarga de interpretar las instrucciones de movimiento y coordinar el funcionamiento de los distintos componentes electrónicos.
A continuación, se procedió a la carga del programa en la placa Arduino utilizando el entorno de desarrollo correspondiente. Este proceso permitió transferir el firmware necesario para gestionar los motores paso a paso, encargados del desplazamiento en los ejes X e Y, así como el resto de elementos del sistema.
El código implementado actúa como intermediario entre las órdenes enviadas desde el software de control y la ejecución física de los movimientos, garantizando que el plotter reproduzca con precisión las trayectorias definidas. De este modo, se asegura un funcionamiento coordinado y eficiente del dispositivo.
Diseño y vectorización de imágenes en Inkscape
En esta fase del proceso se utiliza Inkscape para la creación y preparación de los diseños que posteriormente serán dibujados por el plotter.
En primer lugar, se puede crear un diseño desde cero o importar una imagen (por ejemplo, en formato PNG o JPG). Sin embargo, para que el plotter pueda interpretarla correctamente, es necesario convertirla en un gráfico vectorial. Este proceso, conocido como vectorización, consiste en transformar la imagen en un conjunto de líneas y trayectorias definidas matemáticamente.
La vectorización se realiza mediante herramientas específicas del propio Inkscape, como la opción de “vectorizar mapa de bits”, que permite detectar los contornos de la imagen y convertirlos en trazados.
Una vez vectorizada, la imagen puede ser editada, simplificada o ajustada según las necesidades del proyecto, eliminando detalles innecesarios y optimizando las líneas para facilitar el trabajo del plotter.
Finalmente, el diseño vectorial se exporta a formato G-code mediante extensiones compatibles, generando así las instrucciones que el plotter utilizará para reproducir el dibujo físicamente.
Configuración del software y envío de instrucciones
Una vez completado el montaje del sistema y cargado el código en la placa Arduino, el siguiente paso consiste en establecer la comunicación entre el plotter y el ordenador, así como preparar los archivos que se van a dibujar.
Para ello, se utiliza un software de control que permite enviar instrucciones al Arduino a través del puerto serie. Estas instrucciones suelen estar en formato G-code, un lenguaje estándar que define los movimientos que debe realizar la máquina (coordenadas, trayectorias, velocidad, etc.).
Funcionamiento G-Code
En primer lugar, se debe conectar el plotter al ordenador mediante un cable USB y verificar que el puerto de comunicación es reconocido correctamente. A continuación, desde el software, se selecciona dicho puerto y se establece la conexión con la placa. Posteriormente, se carga el archivo de dibujo previamente generado o convertido a G-code. Una vez enviado, el Arduino interpreta estas instrucciones y las traduce en movimientos coordinados de los ejes X e Y, permitiendo que el bolígrafo reproduzca el diseño sobre la superficie de trabajo.
Este paso es fundamental, ya que constituye el enlace entre el diseño digital y su representación física, asegurando que el plotter funcione de manera precisa y controlada.
Enlace directo a Gcode: https://jscut.org/jscut.html
Base fija para la reducción de holgura
Al poner en funcionamiento el plotter, nos dimos cuenta de que había problemas de holgura en la estructura, lo que afectaba negativamente a la precisión y estabilidad del sistema. Este inconveniente provocaba pequeños desplazamientos no deseados durante el funcionamiento, reduciendo la calidad del trazado.
Para solucionar esta situación, se diseñó e implementó una base fija específicamente destinada a reforzar el conjunto. Esta base, identificada con la inscripción “plotter”, permite mantener los componentes en una posición estable, reduciendo significativamente la holgura y mejorando así el rendimiento general del dispositivo.
Otro de los problemas que encontramos estuvo relacionado con el G-code utilizado para controlar el movimiento del plotter. En las primeras pruebas, el código no incluía correctamente el eje Z, encargado de subir y bajar el lápiz. Como consecuencia, el plotter realizaba los movimientos en los ejes X e Y, pero no podía levantar ni bajar el rotulador en los momentos necesarios.
Para solucionar este problema, tuvimos que modificar y adaptar el G-code, añadiendo las instrucciones correspondientes al eje Z para controlar el movimiento vertical del lápiz. Gracias a esta modificación, el plotter pudo realizar dibujos de forma correcta, diferenciando los desplazamientos de dibujo y los movimientos sin trazar.