Construye un plóter de dibujo: dos ejes paso a paso
Un plóter que busca su origen (homing), dibuja un cuadrado de 100 mm cerrado con precisión de décimas de milímetro y lo repite fielmente.
Qué vas a construir
Un plóter de dibujo cartesiano: dos ejes ortogonales accionados por correas dentadas, un mecanismo elevador de lápiz y un controlador que determina la posición exacta de la pluma porque estableció su cero de máquina contra finales de carrera al encender y ha contabilizado meticulosamente cada pulso emitido desde entonces.
Conviene reflexionar sobre por qué este es el proyecto idóneo para introducirse en las máquinas de precisión. Casi todos los demás proyectos del catálogo —seguidores de línea, esquivadores de obstáculos, robots de autoequilibrio— cuentan con realimentación sensorial en bucle cerrado: un sensor percibe el entorno, el software reacciona y los desvíos se corrigen continuamente. Esta máquina carece de ello. Ningún sensor mide dónde se encuentra el lápiz sobre el papel. La única razón por la que un trazo culmina en el punto exacto es que cada hipótesis de diseño y calibración física se cumplió con exactitud.
Esa característica la convierte en una maestra rigurosa. Un seguidor de línea que derive unos milímetros sigue completando el circuito. Un plóter con derivas traza un cuadrado cuyos extremos no se tocan, y ese hueco visible en tinta sobre el papel revela en milímetros exactos la magnitud del error acumulado.
La métrica rectora del proyecto
Dibuja un cuadrado de 100 mm de lado y mide con calibre el desfase en el vértice donde la última esquina debería encontrarse con la primera.
Esa única medición es el panel de control del proyecto, y la morfología del error diagnostica su causa raíz:
| Comportamiento del trazo | Causa probable | Procedimiento correctivo |
|---|---|---|
| Consistentemente mayor o menor en un porcentaje fijo | Relación de pasos/mm errónea | Calibración dimensional |
| Desfase idéntico independientemente del tamaño | Holgura mecánica (backlash) | Tensión de correas y prisioneros |
| Desfase aleatorio y variable en cada ejecución | Pérdida de pasos en el motor | Corriente, velocidad y rampas |
| Cierra el perímetro pero traza un paralelogramo | Falta de perpendicularidad entre ejes | Escuadra y ajuste del bastidor físico |
| Cierra a baja velocidad, pero abre al aumentar rapidez | Exceso de aceleración o frecuencia de arranque | Ajustar rampas o migrar a 24 V |
Cuatro de estas cinco causas se solucionan mediante parámetros de configuración; una reside en la estructura física. Distinguir cuál tienes delante antes de alterar variables constituye la destreza fundamental de este montaje.
Lista de materiales (BOM)
| Componente | Cantidad | Coste aprox. | Notas |
|---|---|---|---|
| Motor paso a paso NEMA 17, 1.5–1.8 A | 2 | 18–28 € | Cuerpo estándar de 40 mm. Evita los modelos extraplanos |
| Controlador A4988 | 2 (+1 repuesto) | 6–12 € | O DRV8825 (revisando la fórmula específica de Vref) |
| Arduino Uno | 1 | 4–20 € | Un modelo Nano es igualmente válido y más compacto |
| CNC Shield v3 | 1 | 5 € | Muy recomendada: integra el condensador de protección |
| Servo SG90 | 1 | 2 € | Mecanismo elevador de la pluma (eje Z) |
| Microinterruptor con palanca | 2 | 1 € | Uno por eje, ubicados en los límites mínimos de recorrido |
| Correa dentada GT2 de 6 mm | 2 m | 5 € | Con núcleo de fibra de vidrio. El caucho puro cede por tracción |
| Polea dentada GT2 de 20 dientes, ánima 5 mm | 2 | 4 € | Determina la constante cinemática de 80 pasos/mm |
| Poleas locas GT2 (idlers) | 4 | 5 € | Rodamientos lisos para el retorno de las correas |
| Varillas calibradas lisas de 8 mm, 400 mm | 4 | 10 € | O perfiles de aluminio V-slot 2020 con ruedas de POM |
| Rodamientos lineales LM8UU | 8 | 6 € | Dos por cada extremo de soporte |
| Fuente 12–24 V, 2 A+ | 1 | 8–15 € | 24 V amplía notablemente la velocidad sin pérdida de par |
| Condensador electrolítico 100 µF, 35 V+ | 1 | 0.20 € | Obligatorio si cableas los drivers sin CNC Shield |
| Multímetro digital | 1 | 10–25 € | Imprescindible para medir y ajustar Vref |
| Tornillería M3 y soportes impresos en 3D | — | 5 € | O piezas cortadas en madera contrachapada |
Presupuesto total estimado: 90–130 €. El multímetro y la fuente de alimentación son herramientas reutilizables; la mecánica específica ronda los 60 €.
Adquirir correas de caucho sin núcleo de fibra provoca estiramientos plásticos que degradan la repetibilidad, y comprar únicamente dos controladores en lugar de tres implica que un descuido accidental sin condensador detendrá el proyecto durante días.
Esquema general de conexiones
12–24 V ──┬── 100 µF ──┬── VMOT (Driver X)
│ └── VMOT (Driver Y)
└── GND ─────┬── Arduino GND
│
Arduino Uno │
D2 ── X STEP D5 ── Y STEP │ Driver X ── bobina A ── motor X
D3 ── X DIR D6 ── Y DIR │ └ bobina B
D8 ── ENABLE (ambos, activo bajo) │ Driver Y ── bobina A ── motor Y
D9 ── X endstop (INPUT_PULLUP) │ └ bobina B
D10 ── Y endstop (INPUT_PULLUP) │
D11 ── Señal servo pluma ───────────┴── Alimentación servo 5 V de Arduino
Una pauta de cableado esencial: mantén los cables de los finales de carrera físicamente separados del cableado de los motores. La corriente conmutada de un motor paso a paso induce picos electromagnéticos considerables, y un hilo de final de carrera que transcurra en paralelo a lo largo de 30 cm actúa como una antena receptora de ruido espurio. Una máquina que busca el cero de forma impecable con motores parados pero falla en plena ejecución adolece casi con certeza de este acoplamiento inductivo.
Hitos progresivos de validación
Supera metódicamente cada etapa antes de avanzar al siguiente ensamblaje:
1. Un motor individual en banco. Driver cableado, Vref calibrado, pin ENABLE a nivel bajo y 3200 micropulsos enviados.
→ Criterio de éxito: el eje gira una revolución completa y la marca de referencia vuelve al punto inicial diez veces seguidas.
2. Calibración de Vref en ambos controladores. Calcula el voltaje según la corriente nominal del motor y el valor de las resistencias sensoras de la placa (R100 o R050).
→ Criterio de éxito: lectura con multímetro dentro de ±0.02 V del valor teórico; tras 10 minutos de retención estática, los motores están tibios pero toleran el tacto continuo.
3. Bastidor y desplazamiento de ambos ejes. Correas montadas y con tensión media. → Criterio de éxito: desplazados manualmente con motores apagados, los carros deslizan con suavidad de tope a tope sin puntos duros ni atascos.
4. Pasos por milímetro. Ordena un desplazamiento de 100 mm en cada eje, mide con regla rígida y recalibra la relación si procede. → Criterio de éxito: un comando de 100 mm arroja entre 99.5 y 100.5 mm en ambos ejes repetidamente.
5. Medición de holgura (backlash). Aproxima el carro a una cota desde la izquierda y anota la posición; aproxímalo desde la derecha y compara. → Criterio de éxito: diferencia inferior a 0.2 mm. Si es mayor, retensa las correas y aprieta los prisioneros sobre el plano del eje.
6. Búsqueda de límites dinámicos. Incrementa velocidad y rampa de aceleración hasta que se produzca una pérdida de sincronismo (salto de pasos), fijando los parámetros nominales de trabajo al 50–60% de ese umbral crítico. → Criterio de éxito: 20 ciclos de ida y vuelta a velocidad de trabajo retornan a la misma marca con menos de 0.1 mm de variación.
7. Rutina de homing (cero de máquina). Finales de carrera montados, ciclo de tres fases implementado y diez secuencias de búsqueda de cero evaluadas. → Criterio de éxito: las diez marcas quedan confinadas dentro de 0.05 mm. Desconecta un final de carrera y comprueba que el firmware arroja error en lugar de forzar mecánicamente el carro.
8. Mecanismo de pluma. Servo montado y calibrado en ángulos de reposo y contacto. → Criterio de éxito: la pluma contacta el papel con una presión ligera y constante a lo largo de toda la superficie de dibujo.
9. El cuadrado de validación. Realiza el ciclo de homing y dibuja un cuadrado de 100 mm sobre papel. → Criterio de éxito: el último vértice cierra sobre el primero con una tolerancia inferior a 0.3 mm, y tres repeticiones sucesivas superponen sus trazos con total fidelidad.
Qué aspecto tiene una máquina bien calibrada
| Parámetro | Primer montaje operativo | Tras calibración minuciosa | Límite físico alcanzable |
|---|---|---|---|
| Cierre del cuadrado de 100 mm | 1–3 mm | 0.2–0.3 mm | Escuadra y rigidez del chasis |
| Repetibilidad de homing | 0.3 mm | 0.02–0.05 mm | Histéresis del microinterruptor |
| Holgura mecánica (backlash) | 0.5 mm | 0.05–0.15 mm | Ajuste entre dientes de correa y polea |
| Velocidad lineal de dibujo | 20 mm/s | 100–200 mm/s | Frecuencia de arranque y par dinámico |
| Resolución por micropaso | — | 0.0125 mm | Muy superior a las tolerancias mecánicas |
La comparación entre la resolución teórica por micropaso (0.0125 mm) y el error geométrico real (0.2–0.3 mm) sintetiza la lección técnica del proyecto: la resolución electrónica es veinte veces más fina que la precisión final obtenida. Ningún componente de la precisión global está limitado por el motor paso a paso; depende exclusivamente de la rigidez de la estructura, la tensión de las correas y la perpendicularidad de las guías.
El simulador de motores paso a paso ejemplifica esta realidad: bajo una carga mecánica realista, el rotor se desfasa físicamente tres o cuatro micropasos por detrás de la posición teórica dictada por el driver antes de perder el paso.
Detalles de hardware fundamentales
Preferible 24 V sobre 12 V. Ambos voltajes son funcionales. La diferencia radica en la velocidad a la que el par útil decae por efecto de la fuerza contraelectromotriz: alrededor de 280 rpm a 12 V frente a 600 rpm a 24 V para un mismo motor y límite de corriente. Con poleas GT2 de 20 dientes, esto equivale a unos 190 mm/s frente a 400 mm/s antes de comprometer el margen de par.
Configura los puentes MS1–MS3 en alto (1/16 de paso). La división por dieciséis no incrementa la precisión absoluta de la máquina, pero atenúa drásticamente las resonancias mecánicas y vibraciones acústicas de cada conmutación de fase, logrando un desplazamiento suave y silencioso. El coste computacional de generar 8 000 pulsos por segundo a 100 mm/s se encuentra perfectamente dentro de las capacidades de un Arduino Uno.
Ajusta la tensión de las correas a un nivel firme, sin exceso. Una tensión desmedida sobrecarga los rodamientos del motor y añade fricción parásita que consume par motor útil; una tensión insuficiente introduce holgura en los cambios de sentido.
Aprieta ambos prisioneros asegurando el plano rectificado del eje. Si una polea se desliza sobre el eje cilíndrico, el error resultante imita una pérdida de pasos pero no responde a ninguna corrección electrónica. Una gota de fijador de roscas es una medida altamente preventiva.
Diagnóstico y resolución de fallos
| Síntoma observado | Causa probable | Solución |
|---|---|---|
| El motor zumba pero no rota | Bobinas cruzadas o falta de rampa de aceleración | Identificar pares de fase con multímetro; programar rampa suave |
| Un eje deriva de forma acumulativa | Pérdida de pasos en las aceleraciones | Reducir aceleración, reajustar Vref o aminorar velocidad máxima |
| Traza bien despacio pero pierde pasos rápido | Superada la velocidad límite para la tensión aplicada | Migrar la alimentación a 24 V |
| Cuadrado dimensionalmente sobredimensionado | Parámetro de pasos/mm erróneo | Medir con regla patrón y corregir el factor de escala |
| Cuadrado abierto por un valor fijo | Holgura mecánica (backlash) | Tensar correas y verificar prisioneros de poleas |
| La cota de homing varía en cada ejecución | Falta de una segunda pasada lenta de contacto | Implementar palpado fino a 1–3 mm/s |
| Homing correcto en vacío, errático al trazar | Ruido inducido en el cable del final de carrera | Separar cables y añadir condensador de 100 nF a masa en el pin |
| Driver destruido al encender la fuente | Falta de condensador electrolítico en VMOT | Soldar condensador de 100 µF muy próximo al driver |
| Corte intermitente de motores durante el trazado | Protección térmica del controlador disparada | Reducir Vref, instalar disipador y proveer ventilación activa |
| La pluma raspa de forma irregular en un lado | Cama desnivelada o montaje rígido del lápiz | Nivelar la base y suspender el lápiz con resorte o por gravedad |
| Ondulaciones periódicas en las líneas a cierta velocidad | Resonancia mecánica en banda media | Variar ligeramente la velocidad o aportar masa al carro |
| Figuras geométricas deformadas en rombo | Ejes no perpendiculares a 90° | Escuadrar mecánicamente la estructura del bastidor |
Ampliaciones futuras recomendadas
Implementación de firmware GRBL. Una vez validada la cinemática, flashear GRBL dota a la placa de un intérprete estandarizado de comandos G-code con control de homing, límites suaves, aceleraciones optimizadas y múltiples sistemas de coordenadas, permitiendo enlazar el plóter con suites de software de diseño vectorial y CAM.
Arquitectura cinemática CoreXY. Empleando los mismos dos motores anclados al bastidor estático y un tendido cruzado de correas, los ejes X e Y se convierten en combinaciones cinemáticas sincronizadas. Al no desplazar el peso de los motores en los carros móviles, se incrementa notablemente la aceleración y la velocidad de operación.
Cabezal láser de diodo. Mecánicamente equivalente con una herramienta lumínica, requiriendo cabinas cerradas, filtros de longitud de onda específicos y sistemas de enclavamiento de seguridad certificados.
Eje Z motorizado con husillo. Para trazar sobre superficies de altura variable o realizar grabados superficiales, un husillo T8 entrega 400 pasos/mm y retiene su posición con los motores desenergizados.
Control paso a paso en bucle cerrado. La inclusión de un codificador magnético u óptico tras cada motor convierte cualquier salto de paso inadvertido en una corrección inmediata o en una alarma de parada de seguridad.
Hoja de ruta del proyecto
La ruta de construcción
Sigue el árbol tecnológico desde las piezas hasta un robot que funciona. Cada nodo se desbloquea cuando completas sus requisitos previos, y tu progreso se guarda en este dispositivo.
0 / 20 completados
Componentes
- ActuadorNEMA 17 Stepper MotorEl motor paso a paso bipolar estándar de 1.8° por paso para robótica de precisión, impresoras 3D y CNC.
- DriverA4988 Stepper DriverEl controlador de motores paso a paso con micropasos hasta 1/16 para impresoras 3D y robots CNC.
- ControladorArduino UnoLa tolerante placa de 8 bits con la que la mayoría descubre la robótica.
- SensorBump SwitchDetección táctil por contacto mecánico directo: infalible, instantánea y de coste mínimo.
- ActuadorSG90 Micro ServoEl ligero actuador rotativo de 9 gramos con control de ángulo absoluto mediante PWM.
- AlimentaciónBattery Power PackLa fuente de energía determinante: por qué la química y la resistencia interna importan más que los voltios.
Tutoriales de esta ruta
- Intermedio · 35 minCómo funcionan los motores paso a paso: retraso y pasos perdidosEl ángulo de retraso lo explica todo en un motor paso a paso. Apréndelo una vez y perder pasos dejará de ser un misterio.
- Principiante · 30 minCableado del A4988 y Vref: el límite de corrienteEl único ajuste que decide si tu paso a paso funciona o se quema: fijar Vref con un multímetro.
- Principiante · 25 min de lecturaPasos por milímetro: correas, husillos y calibración métricaUn único número vincula pulsos eléctricos con milímetros reales. Dedúcelo y verifícalo con una medición práctica.
- Intermedio · 30 minBusqueda de origen: coordenadas de maquina y piezaPor que toda maquina CNC choca contra un interruptor al arrancar y que significa de verdad el numero que fija.
- Intermedio · 40 min de lecturaPerfiles de movimiento: aceleración trapezoidal y curva en SAplica una rampa en lugar de un escalón: perfiles trapezoidales, límite de tirón (jerk) y el coste real de una curva en S.
- Intermedio · 30 minJuego mecanico en reductores de robots: como medirlo y arreglarloTodo reductor tiene holgura. Averigua cuanta tiene el tuyo y lo que le esta costando en silencio a tu robot.
- Principiante · 30 min de lecturaPor qué delay() rompe los robots: temporización con millis()Un robot atrapado en un delay() está ciego. Sustitúyelo por millis() y realiza bien la comparación ante desbordamiento.
- Principiante · 30 minPor qué tu robot se reinicia cuando arrancan los motoresEl reinicio que parece un fallo de código casi siempre es la batería. Presupuesta la corriente y mide la caída.
Practica antes de cablear
Ajústalo en el simulador en vivo
La ruta de construcción pasa por un laboratorio en el navegador. Consigue aquí el comportamiento correcto y luego traslada tus ajustes al robot real.
Preguntas frecuentes
¿Qué nivel de precisión puede alcanzar un plóter de dibujo casero?
Un plóter accionado por correas bien ajustado repite posiciones con un margen de 0.1 a 0.2 mm y cierra un cuadrado de 100 mm con pocas décimas de tolerancia. El límite no es el motor: a 1/16 de micropaso con una polea GT2 de 20 dientes, cada micropaso equivale a 0.0125 mm, una resolución mucho más fina que cualquier elemento mecánico del conjunto. Lo que realmente introduce error es la tensión de la correa, la rigidez del chasis, la holgura en las poleas y la perpendicularidad entre ambos ejes. Si el error supera el medio milímetro, revisa esos cuatro factores mecánicos antes de modificar el firmware.
¿Necesito una CNC Shield o puedo montarlo en protoboard?
Ambas opciones son viables. Una CNC Shield cuesta muy poco, proporciona zócalos seguros para los controladores A4988, distribuye los pines de finales de carrera e incluye el condensador electrolítico de desacoplo, eliminando la causa más habitual de destrucción del driver. Montar en placa de pruebas sirve para dos ejes siempre que instales un condensador de 100 µF entre VMOT y GND y mantengas el cableado de potencia alejado de las señales lógicas de pulso y dirección.
¿Por qué usar un servo para elevar el lápiz en lugar de un tercer motor paso a paso?
Porque el mecanismo de dibujo solo precisa dos estados: lápiz arriba y lápiz abajo, sin requerir posicionamiento continuo milimétrico. Un servo convencional de modelismo resuelve esto con una única línea de control PWM y sin controlador de potencia intermedio. Un eje Z con motor paso a paso exigiría un tercer driver A4988, cableado adicional, un husillo y un sensor de final de carrera de origen, encareciendo y complicando algo que un micro-servo solventa en una sola línea de código.
¿Correa o husillo para los ejes X e Y?
Correa, decididamente. Una correa dentada GT2 proporciona unos 80 pasos/mm y se desplaza holgadamente a 200 mm/s o más; un husillo T8 requiere unos 400 pasos/mm y demanda cinco veces más pulsos para la misma distancia, lo que en un Arduino Uno limita la velocidad máxima a unos 30 mm/s. Un plóter desplaza una carga casi nula y necesita rapidez sobre el papel, que es el escenario idóneo para las correas dentadas. Los husillos demuestran su valor en ejes verticales que deben soportar peso en reposo.
¿Por qué el cuadrado dibujado no cierra en la última esquina?
Existen cuatro causas distinguibles. Si el desfase es un porcentaje constante de la longitud, la calibración de pasos/mm es incorrecta: ajusta con una regla de precisión. Si el espacio abierto es constante independientemente de la escala del dibujo, se trata de holgura mecánica (backlash): tensa las correas y aprieta los prisioneros de las poleas. Si la desviación varía en cada intento, estás perdiendo pasos: reduce la aceleración o sube la corriente del driver (Vref). Si el dibujo cierra pero forma un rombo o paralelogramo, los ejes no son perfectamente perpendiculares, un error geométrico de la estructura.
¿Puedo instalar GRBL en lugar de programar mi propio firmware?
Sí, y es la opción recomendada una vez validada la máquina. GRBL convierte el microcontrolador Uno en un intérprete completo de código G con homing, aceleraciones suaves, límites por software y transformaciones de coordenadas, calibrando los pasos/mm mediante los parámetros $100 y $101. Escribir primero un control elemental propio facilita depurar la electrónica y la mecánica por separado antes de lidiar con configuraciones avanzadas de software.