TODOPIC
Mecatrónica => CNC - Control Numérico Computarizado => Mensaje iniciado por: splasma2 en 28 de Febrero de 2011, 10:38:16
-
Hola a todos.
Hace unas semanas, buceando por el foro , me encontre con este (CNC) y empezó a picarme el gusanillo.
Yo soy de esos cuñaos tecnologicos que les atraen cosas "raras", hasta ahora la electronica y la informatica, eran mis aficiones más extrañas, luego llegaron otras como astronomia, aeromodelismo, etc... y ahora le toca el turno a estas maquinitas.
Después de mirar mucho en este y otros foros, veo que las soluciones son todas muy parecidas, pero hay algo que me choca, y es que la mayoría de las placas de control utilizan un puerto paralelo ( yo mismo he comprado una china de este tipo) , y como sabeis este tipo de interface hace ya años que dejo de ser común en PC's , y no digamos en los portatiles.
Entonces , pensé, porque no hacer algo con USB, busqué y encontre soluciones como esta http://www.planet-cnc.com/, pero como me gusta "trastear", decidi hacer algo por mi mismo y en eso estoy. tengo una placa con un ARM7 a 60 Mhz, ya tengo el cerebro del monstruo (la verdad es que no sabía que hacer con ella ;-)) y más tarde encontré código para Arduino ( reprap) que va en la línea con lo que busco, ahora estoy migrandolo...
Este código esta pensado para leer comandos G-code por el USB y controlar directamente los motores, mi pregunta es , los programas que usais habitualmente como el Match-3 , permiten exportar un trabajo como un fichero de comandos G-code que luega pueda ser enviada a la " maquina "???? esa sería la forma de trabajar con el bicho... si funciona alguna vez...
Bueno, termino con el ladrillo, gracias por vuestra atención, ya os contaré como termina este "follón", :lol:
-
hola, los programas de cam generan un archivo, que despues se abre con mach
un saludo
-
mira este http://www.poscope.com/product.php?pid=3 dan los comandos y lo puedes hacer compatible con mach3
-
MMMMM INTERESANTISIMO.... VOY A VER QUE PUEDO CONSEGUIR AL RESPECTO.
SALUDOS
-
Bueno, ya he migrado parte del código de reprap (http://reprap.org/wiki/Mendel) al Keil-ARM, en concreto la parte que se encarga del control de los motores PaP y el interprete de los G-Codes.
Me he encontrado con un problema cuando he intentado mezclar todo esto con el código que crea un puerto serie virtual sobre USB (lpcusb) , esta parte también es bajada de internet.
He realizado 2 pruebas:
- Con el código lpcusb solamente (http://sourceforge.net/projects/lpcusb/) , a veces se crea el puerto virtual en el PC ( Vista) y a veces no, e incluso cuando se crea no funciona la mayoria de las veces, estoy usando una placa espardino y Keil. Por ahi he visto que es un problema común con este código y los LPC214x. pero no he encontrado solución.
- Cuando mezclo este código con el de reprap , no funciona nunca, creo que es debido a un conficto de interrupciones, ya que reprap usa la interrupción del TMR0 para gestionar los tiempos de control de los motros PaP y lpcusb usa la del modulo USB para gestionar el enlace USB con el host. Aquí estoy perdido... :5]
Vamos que si no consigo "meter" el código lpcusb, tendré que usar una solución "externa", ya sabeis los famosos modulos FTDI.
¿ Alguna ayudita...?
-
Y si en vez de USB le pones una tarjeta sd en la que leer el archivo
-
Y si en vez de USB le pones una tarjeta sd en la que leer el archivo
Si, es otra opción, ademas la placa viene ya con un lector SD instalado, pero quería tener las 2 posibilidades.
Sigo sin poder integrar el codigo de USB, por lo que tendré que usar una placa externa serial-USB, la verdad es que me ha decepcionado un poco este tema en los ARM, con los PICs fue mucho más fácil.
-
Buenas noticias... :mrgreen:
Al final he conseguido hacer funcionar el virtual COM por USB, he tenido que usar un código de ejemplo de Keil. ya he migrado la parte de control CNC de reprap, basicamente es un interprete de codigos G que genera los pulsos de los motores, es decir el trabajo de generar esos pulsos lo hace la placa no un programa de PC por puerto paralelo. El trabajo principal ha sido migrar código de Arduino a mi placa ARM7 (Espardino) , creo que ira mejor, son 32bits a 60 Mhz... :lol:
Como todavía no me ha llegado la controladora china, lo que hago es introducir un comando G-Code por el puerto serie virtual ;-) , y según se va ejecutando me va presentando las posiciones X,Y y Z de los motores y los pasos utilizados. A mi me parece que tiene muy buena pinta, pero hasta que no llegue el hardware no podré comprobarlo.
Originalmente el codigo reprap soportaba "extruders", esa parte la he eliminado poque mi máquina ( Proxxon m70 modificada) solo tiene tres ejes básicos X,Y,Z.
Tampoco interpretaba los comando G02 y G03 ( arcos) pero he conseguido un código en los foros de reprap, y ya está incluido.. a ver que tal...
ANIMO JAPON.
-
Hola que tal, felicitaciones :-/ yo ando en lo mismo, y me interesaria ver los avanzes que obtuviste y si podes mostrar placa circuito y codigo...
tambien seria importante que comentes como solucionaste el tema de las curvas, como controlas los motores (si por distintas velocidades de motor o por cantidad de pasos), en fin me gustaria que compartas esos conocimientos!
Desde ya muchas gracias...
-
Hola que tal, felicitaciones :-/ yo ando en lo mismo, y me interesaria ver los avanzes que obtuviste y si podes mostrar placa circuito y codigo...
tambien seria importante que comentes como solucionaste el tema de las curvas, como controlas los motores (si por distintas velocidades de motor o por cantidad de pasos), en fin me gustaria que compartas esos conocimientos!
Desde ya muchas gracias...
Hola nutriax, el tema va bastante bien, como comento en otros post ,lo que estoy haciendo es migrar el códigode reprap-Mendel a una placa ARM7 que tenía sin usar (Espardino), hasta ahora parece que funciona ya que consigo controlar los 3 motores (X-Y-Z) a partir de G-code, via USB :lol: .
La CNC es una Proxxon modificada que compre de segunda mano, y la placa de control de los motores es una placa-china comprada en eBay ( barata, unos 30€), que por ahora responde bien... ( bueno ahora estoy investigando una posible perdida de pasos...). Ahora para probar ,los comandos G-code los introduzco por un hyperterminal via USB desde un mini-portatil, pero estoy pensando en otra cosa... ;-)
S2.
-
Sigo informando... :mrgreen:
Por fin he conseguido que el enlace USB-Serie de la placa espardino Espardino (http://www.espardino.com) funcione bien, pero lo he hecho usando una placa externa (serial-USB (http://www.sparkfun.com/products/718)) con un chip conversosr serie-USB, el stack software de la placa no iba muy bien.
Con todo esto, la placa acepta ya via serie, los comandos básicos ( G00,G01,M0...) y los de arcos ( G02,G03) y el fresado es correcto, con las limitaciones de tamaño que tiene la Proxxon MF70. Ahora estoy mirando la posibildiad de cambiar la duración de los pulsos step, por comando para poder hacer un ajuste fino del control de los motores, os recuerdo que es la placa quien tiene el control total de estos pulsos, ya no llegan vian puerto paralelo de ningun PC.
Luego pasaré a la tarea de crear un filesystem con la tarjeta SD de la placa, basicamente esta actividad consistirá en integrar una libreria que use el filesystem FAT ( ChaN's FAT por ejemplo), servirá para guardar y recuperar programitas de comando G-Code sin necesidad de estar conectado al PC.
Y lo más importante , la interface LCD, quiero poner un LCD grafico 128x64 para controlar todas las funciones de la placa de manera totalmente autonoma ( sin PC) para hacer tareas simples como fresar modelos básicos: circulos, rectangulos, conectores DB15, DB25, etc... manteniendo siempre la posibilidad de conectarse al PC via serie. en ese lado , en el PC; estoy haciendo una aplicación Java para comunciarse con la placa, por ahora muy sencilla, que se encarga de enviarles scripts de comandos GCode.
Ufff, pues no me queda na por hacer.... :mrgreen: :mrgreen:
-
News...
He cambiado la estrategia... dado que la programación con la placa ARM es más dura de lo que pensaba, he decidido pasar la lógica de las funciones de más alto nivel al PC, por lo que ya no se puede llamar "Control Autónomo" :cry: , la única ventaja que mantengo es el enlace USB, por lo que puedo usar un mini-portatil para esto.
La placa se sigue encargando de controlar los motores directamente (pulsos, enable,...) , todo gestionado por el USB , en el PC estoy desarrollando una aplicación Java ( si, ya sé que reinventar la rueda, pero sino no me divierto... :) ), que me permite mover los ejes X,Y,Z , leer fichero con GCodes y gestionar el envio a la placa y funciones de modelos básicos, tengo completadas dos: rectangulos y circulos. con estas funciones puedo fresar esas figuras, considerando la anchura de la fresa, el ancho del material ( con estos 2 datos calculo el número optimo de pasadas a distinta profundidad) , o si el fresado es interior o exterior ( aqui afecta el ancho de la fresa) . Lo bueno es que como parto de cero , cualquier cosa que se me ocurra se puede implementar , com mayor o menor esfuerzo...
Aqui es donde os pido colaboración, si se os ocurre alguna función que se pueda "convertir" en comando GCodes se puede incluir...
En breve pondre, una captura de la apliación, no es muy vistosa... pero funciona.
Saludos
-
La captura prometida:
(http://img24.imageshack.us/img24/9779/machinet.png)
-
Menuda tarea de titanes te has propuesto hacer. Ánimo porque parece que los pasos que vas dando son interesantes.
-
Bueno Nocturno, no creas...
Como comenté al principio me he basado en código de reprap, eso si migrado a una placa ARM y esto parece que ya está "estable", ahora me dedico a mejorar la parte Java del PC, pero no pretendo llegar ni de lejos a las aplicaciones CNC serias... la idea es usar la maquinita para cosas sencillas, fresado de caratulas, taladro de PCBs, y cosas así. Como ya hay programas adecuados para trabajos complejos, lo único que necesito es leer el G-Code generado y a correr. Todo esto surge porque la CNC la tengo lejos de un PC "viejo" y prefería usar un mini-portatil para controlar la maquina :lol:
Con tiempo, intentaré migrar el código del ARM a un PIC potente , mas populares por estos lares ( tengo por ahi un par de PIC18F4550) , pero no sé como ira, ahora tengo 60 Mhz y 32 bits por lo que los calculos son rapidisimos, en el PIC las pocas operaciones de coma flotante que hay en el código deben notarse.
Saludos.
-
te dejo el gerber echo con rhinocam, de un teclado que estoy trasteando por si te sirve de ejemplo
(http://img838.imageshack.us/img838/8968/moldeteclado4x4.jpg)
-
Uhhh, gracias alogic.on, pero creo que es demasiado para mi Proxxon MF70, con area de trabajo 130x48. ;-)
-
pues solo un recuadro con su dibujillo ;-)
-
Uhhh, gracias alogic.on, pero creo que es demasiado para mi Proxxon MF70, con area de trabajo 130x48. ;-)
muy buen trabajo, habra la posibilidada de que comparatas el codigo???... bueno esque yo toy tratando de aser una pero no tengo mucha idea, ise lago pero me falla
debe ser en la programacion, utilizo java igual que tu pero toy fallando en algo qye no me da, saludos .....
y utilizas algun microcontrolador??...
-
Uhhh, gracias alogic.on, pero creo que es demasiado para mi Proxxon MF70, con area de trabajo 130x48. ;-)
muy buen trabajo, habra la posibilidada de que comparatas el codigo???... bueno esque yo toy tratando de aser una pero no tengo mucha idea, ise lago pero me falla
debe ser en la programacion, utilizo java igual que tu pero toy fallando en algo qye no me da, saludos .....
y utilizas algun microcontrolador??...
Hola amigo, ese proyecto lo abandoné por este otro:
DSP mbed (http://www.todopic.com.ar/foros/index.php?topic=41442.0)