Autor Tema: Control CNC autonomo por USB  (Leído 21167 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Control CNC autonomo por USB
« 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:

Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Control CNC autonomo por USB
« Respuesta #1 en: 28 de Febrero de 2011, 11:48:52 »
hola, los programas de cam generan un archivo, que despues se abre con mach

un saludo

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Control CNC autonomo por USB
« Respuesta #2 en: 28 de Febrero de 2011, 12:31:38 »
mira este http://www.poscope.com/product.php?pid=3 dan los comandos y lo puedes hacer compatible con mach3

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Control CNC autonomo por USB
« Respuesta #3 en: 28 de Febrero de 2011, 14:47:35 »
MMMMM INTERESANTISIMO.... VOY A VER QUE PUEDO CONSEGUIR AL RESPECTO.
SALUDOS
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #4 en: 02 de Marzo de 2011, 08:23:41 »
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...?

Desconectado alogic.on

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 772
Re: Control CNC autonomo por USB
« Respuesta #5 en: 04 de Marzo de 2011, 04:23:45 »
Y si en vez de USB le pones una tarjeta sd en la que leer el archivo

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #6 en: 04 de Marzo de 2011, 05:49:15 »
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.

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #7 en: 13 de Marzo de 2011, 17:04:05 »
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.

Desconectado nutriax

  • PIC10
  • *
  • Mensajes: 42
Re: Control CNC autonomo por USB
« Respuesta #8 en: 25 de Marzo de 2011, 03:31:59 »
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...

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #9 en: 30 de Marzo de 2011, 09:49:23 »
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.

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #10 en: 04 de Abril de 2011, 07:57:39 »
Sigo informando... :mrgreen:

Por fin he conseguido que el enlace USB-Serie de  la placa espardino Espardino funcione bien, pero lo he hecho usando una placa externa (serial-USB) 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:

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #11 en: 13 de Abril de 2011, 05:30:46 »
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

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #12 en: 13 de Abril de 2011, 19:55:02 »
La captura prometida:



Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Control CNC autonomo por USB
« Respuesta #13 en: 14 de Abril de 2011, 01:47:12 »
Menuda tarea de titanes te has propuesto hacer. Ánimo porque parece que los pasos que vas dando son interesantes.

Desconectado splasma2

  • PIC16
  • ***
  • Mensajes: 131
Re: Control CNC autonomo por USB
« Respuesta #14 en: 14 de Abril de 2011, 17:45:45 »
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.


 

anything