Construye un Plotter CNC con Arduino: Guía Paso a Paso para una Máquina de Dibujo DIY
Componentes y Suministros
| Componente | Cantidad |
|---|---|
| Arduino Nano R3 | 1 |
| Driver de motor dual H-Bridge L293D (Texas Instruments) | 1 |
| Servomotor SG90 Micro | 1 |
| Motor paso a paso de unidad DVD-ROM | 2 |
| PCB personalizada (JLCPCB) | 1 |
Herramientas y Máquinas Necesarias
- Cortadora láser (genérica)
- Impresora 3D (genérica)
Aplicaciones y Servicios Online
- Arduino IDE
- Inkscape
- Processing (The Processing Foundation)
- EasyEDA
Sobre este Proyecto
¡Hola a todos! Espero que hayan disfrutado mi anterior instructable "Cómo hacer tu propia plataforma de entrenamiento Arduino" y estén listos para uno nuevo. Como siempre, he creado este tutorial para guiarte paso a paso en la construcción de este tipo de proyectos electrónicos de bajo costo: la máquina plotter CNC, también conocida como "CNC de dibujo" o simplemente "máquina CNC Arduino".
Encontré muchos tutoriales en la web que explican cómo hacer un plotter CNC, pero la falta de información detallada dificultaba la construcción. Por eso decidí crear esta guía donde muestro en detalle cómo fabricar fácilmente tu propia máquina de dibujo.
Este proyecto es muy manejable, especialmente después de obtener el PCB personalizado que pedimos a JLCPCB. Para mejorar la apariencia de nuestra máquina, y hay suficiente documentación y código en esta guía para permitirte crear tu máquina fácilmente. Hicimos este proyecto en solo 5 días: tres días para conseguir todas las piezas necesarias y terminar el hardware y el ensamblaje, y 2 días para preparar el código y hacer algunos ajustes. Antes de empezar, veamos primero.
Qué Aprenderás en este Tutorial
- Selección correcta del hardware según las funcionalidades del proyecto
- Preparar el diagrama de circuito para conectar todos los componentes elegidos
- Ensamblar todas las partes del proyecto (ensamblaje mecánico y electrónico)
- Escalado del equilibrio de la máquina
- Manipulación del sistema
Paso 1: ¿Qué es una Máquina Plotter?
Como he hecho este instructable para principiantes, primero debo explicar en detalle qué es la máquina de dibujo y cómo funciona.
Según Wikipedia, CNC significa Control Numérico por Computadora, una máquina que es una estructura controlada por computadora que recibe instrucciones a través de un puerto serie enviadas desde una computadora y mueve sus actuadores según las instrucciones recibidas. La mayoría de estas máquinas son basadas en motores paso a paso, que incluyen motores paso a paso en sus ejes.
Otra palabra clave: "ejes". Sí, cada máquina CNC tiene un número definido de ejes que serán controlados por el programa de la computadora.
En nuestro caso, el plotter CNC que construimos es una máquina de doble eje (detalles en la imagen 1) que tiene pequeños motores paso a paso en sus ejes ("motor paso a paso en imagen 2"). Estos motores moverán una bandeja activa y la harán moverse en un plano de doble eje para crear el diseño de dibujo usando un bolígrafo. El bolígrafo se sostendrá y liberará usando un tercer motor en nuestra estructura: un servomotor.
Paso 2: El Motor Paso a Paso es el Actuador Principal
Un motor paso a paso (o motor de pasos) es un motor eléctrico DC sin escobillas que divide una rotación completa en un número de pasos iguales. La posición del motor puede ordenarse para moverse y mantenerse en uno de estos pasos sin ningún sensor de posición para retroalimentación (controlador de lazo abierto), siempre que el motor esté dimensionado cuidadosamente para la aplicación en términos de par y velocidad.
Primera pregunta: ¿de dónde conseguir los motores paso a paso para nuestro proyecto? Fácil: solo toma un lector de DVD viejo como el de la siguiente imagen.
Conseguí dos por 2 dólares. Todo lo que necesitas hacer es desarmarlo para extraer el motor paso a paso y su soporte, como muestran las siguientes imágenes; necesitaremos dos de ellos.
Una vez que tengas los motores del lector DVD, debes prepararlos para usarlos identificando los extremos de las bobinas del motor. Cada motor paso a paso tiene dos bobinas y, usando un multímetro, puedes identificar los extremos de la bobina midiendo la resistencia entre los pines del conector del motor ("como muestra la siguiente imagen") y para cada bobina debería ser aproximadamente 10 Ohmios medidos.
Después de identificar las bobinas del motor, suelda algunos cables para controlar el motor a través de ellas ("ver siguiente imagen").
Paso 3: El Diagrama de Circuito
El corazón de nuestra máquina es una placa de desarrollo Arduino Nano que controlará el movimiento de cada actuador según las instrucciones recibidas de la computadora. Para controlar estos motores paso a paso, necesitamos un driver de motor paso a paso para controlar la velocidad y dirección de cada actuador.
En nuestro caso usaremos un driver de motor H-Bridge L293D ("ver imagen 3") que recibirá los comandos del motor enviados desde Arduino a través de sus entradas y controlará los motores paso a paso usando sus salidas.
Para conectar todas las piezas necesarias junto con nuestra placa Arduino, he hecho el diagrama de circuito que muestra la primera imagen, donde debes seguir la misma conexión para ambos motores paso a paso y el servomotor.
La siguiente imagen explica en detalle a través de un esquema el diagrama de circuito y cómo deben ser los enlaces entre el Arduino y los otros componentes; por supuesto, puedes ajustar estos enlaces según tus necesidades.
Paso 4: Fabricación del PCB (Producido por JLCPCB)
Sobre JLCPCB
JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) es la mayor empresa de prototipos PCB en China y un fabricante de alta tecnología especializado en prototipos PCB rápidos y producción de PCB en pequeños lotes. Con más de 10 años de experiencia en fabricación de PCB, JLCPCB tiene más de 200,000 clientes en el país y en el extranjero, con más de 8,000 pedidos en línea de prototipos PCB y producción de PCB en pequeñas cantidades por día. La capacidad de producción anual es de 200,000 m² para diversos PCB de 1, 2 o múltiples capas. JLC es un fabricante profesional de PCB caracterizado por gran escala, buen equipamiento, gestión estricta y calidad superior.
Hablando de Electrónica
Después de hacer el diagrama de circuito, lo transformé en un diseño de PCB para producirlo ("ver las siguientes imágenes"). Para producir el PCB, elegí a JLCPCB, los mejores proveedores de PCB y los más baratos, para pedir mi circuito. Con su plataforma confiable, todo lo que necesito hacer son unos simples clics para subir el archivo Gerber y establecer algunos parámetros como el grosor del PCB, color y cantidad, luego pagué solo 2 dólares para obtener mi PCB después de solo cinco días.
Archivos de Descarga Relacionados
Puedes obtener el archivo del Circuito (PDF) desde aquí. Como puedes ver en las imágenes anteriores, el PCB está muy bien fabricado como muestra "la siguiente imagen" del esquema relacionado.
Y tengo el mismo diseño de PCB que hicimos para nuestra placa principal y todas las etiquetas y logotipos están allí para guiarme durante los pasos de soldadura. También puedes descargar el archivo Gerber para este circuito desde aquí en caso de que quieras hacer un pedido del mismo diseño de circuito.
Paso 5: Diseña un Soporte para tu Máquina
Para dar una mejor apariencia a nuestra máquina, decidí diseñar estas tres partes ("ver imagen 1") usando software Solidworks. Estas partes nos ayudarán a ensamblar los lectores DVD juntos. Obtuve los archivos DXF de estas partes y con la ayuda de mis amigos en FabLab Tunisia hice producir las partes diseñadas usando una máquina de corte láser CNC, usamos material de madera MDF de 5mm para obtener estas partes producidas.
Otro diseño es el soporte del bolígrafo de dibujo, lo obtuve a través de un proceso de impresión 3D. Puedes descargar todos los archivos relacionados desde los enlaces de abajo.
Paso 6: Ingredientes (Lista de Componentes)
Ahora revisemos los componentes necesarios para este proyecto. Estoy usando un Arduino Nano como se mencionó, será el corazón de nuestra máquina. El proyecto también incluye dos motores paso a paso con sus drivers IC y un servomotor. Encontrarás abajo algunos enlaces recomendados de Amazon para los artículos apropiados:
- El PCB que pedimos a JLCPCB
- Un Arduino Nano
- 2 x Driver H-Bridge L293D
- 2 x Zócalos IC DIP 16 pines
- 1 x Zócalo IC DIP
- Conectores de header SIL y tornillo
- 1 x Servomotor SG90
- 2 x Lectores DVD
- Las piezas impresas en 3D
- Las piezas cortadas por láser
- Algunos tornillos para el ensamblaje
- El bolígrafo que recibimos como regalo de JLCPCB o cualquier otro bolígrafo de dibujo
Paso 7: Ensamblaje Electrónico y Prueba
Pasamos ahora al ensamblaje por soldadura de todos los componentes electrónicos. Como de costumbre, encontrarás en la capa de seda superior una etiqueta de cada componente indicando su ubicación en la placa, y de esta manera estarás 100% seguro de que no cometerás errores de soldadura.
Realizar Algunas Pruebas
Después de soldar los componentes electrónicos ("ver primera imagen"), atornillé el lector DVD a la placa del eje X y hice lo mismo para la placa principal, luego coloqué los cables del motor en sus conectores de tornillo para hacer una prueba simple usando un código de prueba de motor paso a paso ("ver siguiente imagen"). Como ves, el motor paso a paso se mueve bien y vamos por buen camino.
/************************************************************************************************************************************************************************
* - Author : BELKHIR Mohamed
* - Profession : (Electrical Engineer) MEGA DAS owner
* - Main purpose : Industrial Application
* - Copyright (c) holder : All rights reserved
* - License : BSD 2-Clause License
* - Date : 20/04/2017
***********************************************************************************************************************************************************************/
/*********************************** NOTE **************************************/
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
// * Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED
/* ─▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █░░░█░░░░░░░░░░▄▄░██░█ █░▀▀█▀▀░▄▀░▄▀░░▀▀░▄▄░█ █░░░▀░░░▄▄▄▄▄░░██░▀▀░█ ─▀▄▄▄▄▄▀─────▀▄▄▄▄▄▄▀ */
#include <Stepper.h> // Incluir librería motor paso a paso
const int stepPerRotation = 20; // Número de pasos por vuelta. Valor estándar para CD/DVD
// Indicar pines del motor paso a paso eje X
Stepper myStepperX(stepPerRotation, 8,9,10,11);
void setup() {
myStepperX.setSpeed(100); // Velocidad motor paso a paso
myStepperX.step(100);
delay(1000);
myStepperX.step(-100);
delay(1000);
}
void loop() {}
Paso 8: Ensamblaje de las Partes Mecánicas
Continuamos el ensamblaje de nuestra estructura atornillando el segundo motor paso a paso a la placa del eje Y ("ver siguiente imagen").
Una vez preparando el eje Y, tendrás ambos ejes listos para crear el plano de doble eje del que hablamos en el primer paso ("ver siguientes dos imágenes"). Todo lo que necesitas hacer es colocar los dos ejes en un ángulo de 90°.
Construcción del Soporte del Bolígrafo
Preparamos el soporte del bolígrafo colocando un pequeño eje en un resorte para sostener el soporte del bolígrafo impreso en 3D y luego atornillamos el servomotor a su ubicación ("ver imagen 4"). El soporte del bolígrafo está listo, así que lo pegamos al carro del eje Y usando pegamento caliente u otro medio para que pueda deslizarse sobre el eje Y siguiendo los pasos del motor paso a paso ("ver imagen 5"), luego pegamos nuestra bandeja activa al carro del eje X ("ver imagen 6"), y terminamos atornillando los cables de los motores a sus conectores en la placa. Después de algunos arreglos, tenemos nuestro diseño mecánico listo para la acción ("ver imagen 7").
Paso 9: Parte de Software
Pasando a la parte de software, combinaremos tres softwares para dar vida a la máquina. He hecho una breve descripción en la primera imagen: haremos nuestro diseño usando el software Inkscape que produce un archivo G-code necesario para nuestra máquina, y para entender las instrucciones G-code la máquina debe tener su propio código que subiremos usando Arduino IDE. La última parte es cómo vincular el código de la máquina al archivo G-code; esto se realiza con el software Processing.
El primer paso es subir el sketch de la placa Arduino que puedes descargar desde el enlace publicado en GitHub y no olvides actualizar los pines de los motores paso a paso según tu esquema.
Preparando el G-code con Inkscape
Luego pasamos a Inkscape y ajustamos algunos parámetros ("ver siguientes dos imágenes") como los marcos del papel y las unidades.
Preparamos nuestro diseño y lo guardamos en formato MakerBot Unicon ("ver siguientes dos imágenes"). Si este formato no está disponible en tu versión de Inkscape, puedes instalar un complemento para tenerlo. Una vez que haces clic en (guardar), aparecerá una nueva ventana para ajustar los parámetros del archivo G-code.
Todo lo que necesitas hacer es seguir los mismos ajustes que nosotros y todo estará bien. Solo sigue "las siguientes tres imágenes", luego configuras estos parámetros de esta manera, y tendrás tu archivo G-code.
Vinculando la Máquina al Archivo G-code con Processing 3
Pasando al software Processing, es un poco como el Arduino IDE ("ver siguiente imagen").
Así que debes abrir el archivo 'CNC program' que puedes descargar del mismo repositorio en GitHub y simplemente ejecutarlo ("ver siguientes dos imágenes").
Aparecerá una segunda ventana. Necesitas presionar la tecla 'p' en tu teclado para seleccionar el puerto COM de la máquina ("ver siguiente imagen"), y presionar la tecla 'g' para seleccionar el archivo G-code deseado. Una vez que lo selecciones, la máquina comenzará a dibujar directamente.
Paso 10: Pruebas y Resultados
Y aquí estamos, ha llegado el momento de hacer algunas pruebas. Una vez subido el archivo G-code, la máquina comienza a dibujar y me gustó mucho el parpadeo del LED que muestra las secuencias enviadas a cada motor paso a paso.
Los diseños salen muy bien, y pueden ver chicos que el proyecto es asombroso y fácil de hacer también.
No olvides ver nuestro proyecto anterior, "cómo hacer tu propia plataforma de entrenamiento Arduino". Y suscríbete a nuestro canal de YouTube para más videos increíbles.
Una última cosa: asegúrate de hacer electrónica todos los días.
Fue BEE MB de MEGA DAS. ¡Nos vemos la próxima vez!
Proceso de manufactura
- Historia, producción y futuro de la acuñación moderna
- Construye tu propia máquina de escribir deberes casera (DIY Homework Writing Machine)
- Construye un Dispositivo de Levitación Ultrasónica con Arduino – Guía Paso a Paso
- Construye un Iron Man animado con Arduino: componentes, sensores y guía paso a paso
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Controlador de Humidificador DIY con Arduino y Relé: Configuración Segura de Alto Voltaje
- Construye un volante joystick personalizado con Arduino para gaming
- Arduino 101: Construye un Podómetro con Sensor DHT11 y Pantalla LCD
- Construye un Mezclador de Colores RGB con Arduino – Tutorial Paso a Paso
- Construye una Máquina CNC Totalmente Funcional con Arduino Nano R3
- Fresadoras CNC: Guía completa y detallada