Hemos diseñado y construido una máquina CNC de tres ejes, equipada con tres motores paso a paso PM55L-048 desguazados de impresoras viejas.
El circuito de control que genera la secuencia de pasos lo hemos hecho con tres L297 (uno por cada motor), el circuito de potencia lo hemos hecho tres ULN2803 (uno por cada motor). En el ULN2803, dado que cada par Darlington tolera una corriente máxima de 0,5A, hemos conectado en paralelo 2 Darlington (1A) para alimentar cada uno de los cuatro bobinados de los motores paso a paso (configuracion unipolar).
Las señales de paso y dirección sobre el L297 se generan con una placa Arduino(TM) programada a tal efecto.
El funcionamiento del sistema es como sigue:
1- Con un programa CAD/CAM (G-Simple, CamBan, FreeMill etc) diseñamos la pieza que queremos fabricar.
2- Con el programa CAM compilamos el diseño para obtener un fichero de texto, con a secuencia de comandos G y M que al ser enviados una máquina CNC fabricarán la pieza diseñada.
3- Mediante un terminal de puerto serie (como Gtkterm) mandamos el fichero (con los comandos G y M), línea por línea, a la placa Arduino a través del puerto USB del ordenador (aunque el puerto USB funciona en este caso como un puerto serie).
4- La placa Arduino ejecuta los comandos G y M y los traduce en los movimientos adecuados (pasos adelante o atrás) de los motores para fabricar la pieza diseñada.
5- Las señales de paso y dirección se envían al L297 para que mueva los motores.
En estos vídeos se pueden ver varios estadios en el desarrollo de la máquina. En el último la máquina ha alcanzado la cima, se la ve fabricando el PCB de su propio circuito de control. El PCB se ha diseñado con Eagle. Sobre Eagle he instalado el Plugin pcb-gcode para generar el Código G necesario para fabricar el PCB on una máquina CNC.
Enlaces:
Códigos G, referencia completa
Códigos G y M referencia rápida
Software para cargar en la placa Arduino( RepRap Gcode Interpreter) y que sea capaz de procesar los comandos G
Terminal de comunicaciones serie, para mandar el fichero con los códigos G, generado por un programa CAM a la placa Arduino.
Programas CAM gratuitos para máquinas CNC.
-G-Simple: Muy sencillo, se pueden hacer piezas de muchas formas diferentes, aunque todavía no he encontrado como perfilar una pieza plana. Disponible en Windows, yo lo uso un Ubuntu 11.04 con Wine y funciona perfectamente.
Ejemplos de ficheros CAM de algunas piezas sencillas.
Proyectos similares, aunque incompletos. En ninguno de ellos se explica como hacer todo. Unos describen la parte informática y de programación, otros la parte mecánica y de construcción de la máquina.
Las tuberías de hierro son sólidas y fáciles de ensamblar para hacer estructuras complejas, aquí se usan para hacer una fresadora.
fresadora CNC está bastante claro, pero las u de aluminio ceden un poco con la presión de los rodamientos. mejor usar tubos de sección cuadrada. A la base de plástico habría que hacerle unos agujeros en forma de cuadrícula para poder fijar las piezas con tornillos. interesante lo del sofware cnc para linux. Habría que investigarlo y probarlo un poco.
Circuito de control para un motor paso a paso unipolar . A partir de aquí se puede construir la tarjeta controladora de la máquina CNC que se ve en enlace anterior.
Para un motor bipolar se puede usar el que viene en la hoja de características del circuito L298
Interprete de código G con Arduino para RepRap, seguramente se puede usar para una máquina cnc
Un driver completo usando un PICç
Circuito bastante completo usando el array de darlingtons + diodo de protección ULN2803 para nuestros motores requeriremos una corriente de aprox 1A, esto significa que o bien conectamos varias salidas en paralelo o usamos otro integrado de más potencia como el ULN2075
Motor PM55L-048 hoja de características del fabricante
Participantes
- Diego Serena
- Ruben Portillo
- Javier Beamonte
- Gianmarco Minelli