Autor Tema: Procesador CNC de Codigo G  (Leído 53774 veces)

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado ESTECA55

  • PIC24H
  • ******
  • Mensajes: 1404
Procesador CNC de Codigo G
« en: 29 de Junio de 2008, 23:04:13 »
Bueno este tema surge luego de la idea de hacer un proyecto para controlar una máquina CNC sin la PC que hablamos en otro tema del foro.

En un principio la idea era hacer algo USB para usar con los soft mas comunes, que trabajan por el puerto paralelo, pero luego surgió la posibilidad de diseñar y construir algo independiente a la PC, o sea interpretar el código G, que eso si se crearía en una PC con todas las herramientas disponibles, y pasarlo a este hardware que se encargaría de controlar los ejes como lo hacen los software's por medio del puerto paralelo.

Creo que la primer meta seria hacer algo simple, nada de gráficos, para simular tenemos la PC, con un LCD común voltaria para visualizar las diferentes variables de configuración que podamos llegara tener, lo de graficar las trayectorias creo yo que seria una de las ultima cosas que encararía, lo importante es mover los ejes tal cual indica el código G.

Saludos




Hay que esforzarse por ser el mejor, no creerse el mejor

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #1 en: 30 de Junio de 2008, 03:59:12 »
Lo que hay que ver es si los pic pueden leer rápidamente una tarjeta de memoria tipo sd o mmc.

Yo, por comodidad usaré un PIC18, ya que no he usado nunca los dspic y esto me parece demasiado grande para empezar a usarlos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Procesador CNC de Codigo G
« Respuesta #2 en: 30 de Junio de 2008, 06:05:43 »
Son igual de cómodos que los PIC, Slalen. Es más, en muchas ocasiones es más cómodo porque vas sobrado de recursos y no necesitas exprimirte el coco.

Desconectado Ferenczyg

  • PIC10
  • *
  • Mensajes: 20
Re: Procesador CNC de Codigo G
« Respuesta #3 en: 30 de Junio de 2008, 06:52:01 »
Con el registro de TurboCNC

http://www.dakeng.com/turbo.html

se envia el codigo fuente. TurboCNC tiene posibilidad de excitar los motores por fase ademas de por paso/dirección. Supongo que mirando la parte de TCNC que corresponde a interprete de G y control de bobinados se podria tener algo por donde orientarse uno. Evidentemente eso no entra 'a pelo' en un pic, básicamente porque es pascal para MSDOS, pero ideas si que supongo que podria dar.

Salu2
« Última modificación: 30 de Junio de 2008, 06:56:37 por Ferenczyg »

Desconectado ESTECA55

  • PIC24H
  • ******
  • Mensajes: 1404
Re: Procesador CNC de Codigo G
« Respuesta #4 en: 30 de Junio de 2008, 11:59:50 »
Si es verdad, yo la verdad con ese tipo de memorias no tengo experiencia.

Yo creo que no vamos a tener problemas, recordemos que estamos controlando una maquina, algo mecánico, tenemos que ganarle con la electrónica en velocidad jeje, lo que si por ahi leer la memoria SD con el mismo pic que esta generando los trenes de pulsos pueda llegar a dar problemas, en ningún momento tenemos que cortar el tren de pulsos para ponernos a atender otra cosa, si el tren de pulsos no es constante podemos tener grandes perdidas de paso en el motor, sobre todo si queremos trabajar rápido. Por ahi lo que se puede hacer es con otro micro leer la memoria, que seria la parte de comunicación, también podría tener en un futuro la conexión USB para no tener que andar pasando la tarjeta, y le entregue al Microcontrolador master los datos de una forma mas rápida, por ejemplo en paralelo.

Yo creo que también me voy a tirar por el lado de un 18F, es verdad lo que dice Nocturno, pero por estos lados son mas complicados de conseguir, tanta variedad no hay, y aca no llegan samples, cuando pase por una casa de electrónica voy a preguntar que tienen. Por lo pronto tengo un 18F4520 esperando ser programado, creo que voy a empezar con este.

Que opinas Slalen, largamos con este?? seria bueno ir haciendo todos el mismo hardware así desarrollamos el soft entre todos, es solo una idea, obviamente ponerse de acuerdo no es fácil, no tengo problemas en usar otro cosa, mejor definirlo ahora que no tenemos nada hecho jeje

Ferenczyg, exactamente eso es lo que se propone, un interprete de código G, si ven el turbo cnc es muy simple, no grafica ni genera G, simplemente lee el g y controla la máquina.

Yo me tiro por controlarlo como se hace en la PC a los ejes, con paso y dirección, es mas simple, cargaríamos menos al procesador, además la idea es usar un buen driver con control de corriente, o porque no un driver comercial que trabaja de este modo. Vamos por parte, si además pretendemos hacer el Traslator para generar la secuencia de activación de las bobinas, y ni hablar si qeremos hacer micro pasos, es complicarnos de entrada.

Lo que si tengo decidido es usar alguno de mis drivers que estan publicados en la web, tal cual estan, reemplasaria la Interfaz y la PC por este prototipo. Yo en los drivers uso el siguiente conector:



En un primer momento irían 3 de estos conectores (X, Y y Z), donde ahi tenemos presentes las señales de de Paso,y Dirección, y Enable que generaríamos con el Micro, u la de Paso o Medio paso, que esa la controlaría con un jumper, normalmente siempre uso medio paso, no vale la pena controlar eso desde el prototipo.

Bueno, estamos en contacto, saludos.
Hay que esforzarse por ser el mejor, no creerse el mejor

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Procesador CNC de Codigo G
« Respuesta #5 en: 30 de Junio de 2008, 16:01:11 »
Hola Amigos!, buen emprendimiento!  :-/
esto mas que programacion "es matematica pura" ja ja ja :mrgreen:
Entre dos puntos, la distancia es una recta, calcular la pendiente, generar los "triangulos" para los avances de cada motor.... ¿seria algo asi Esteban?

Ya estoy tildando como favorito  :-)

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #6 en: 30 de Junio de 2008, 16:58:46 »
Esteca,

Yo había pensado en el 18F4550 o el 18F2550 ya que ya tienen USB2.0.

Para lo del driver se me había ocurrido un 16F876 y unos transistores de potencia a la salida.

Se podría hacer una comunicación serie entre los pic tipo I2C o USART, me da igual.

La ventaja es que como dices los motores van a ser independientes de la decodificación y como mucho van a 16MHz (que para controlar los pap nos basta y nos sobra); y la decodificación USB o SD a 48MHz, con lo que podríamos poner un display y estaría bien gobernado.

El esquema de los drivers a ver si lo puedo subir mañana, que ya lo tengo en mente pero me falta echar cuentas. La idea de hacer así los drivers es porque me sale más barato que comprar un integrado de tanta potencia y el código ya lo tengo :mrgreen: (sólo faltaría la comunicación).

Lo de hacerlo en común me parece genial, así podremos depurar mucho el código.

Un menú, que yo creo que es totalmente necesario, es el de elegir el centro de coordenadas y que el micro recalcule todos los puntos del sistema.

Modificación:

PD.: ¿Qué lenguaje de programación queréis usar? Por mi el C-CCS con la librería de PalitroqueZ (sólo con su permiso) de las MMC y SD. Si no el C18 que trae librerías para las tarjetas.

Le pregunté a PalitroqueZ si cree que con su librería se podría hacer. El problema es que debe estar liado con exámenes y no me ha contestado.
« Última modificación: 30 de Junio de 2008, 17:14:30 por Slalen »

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Procesador CNC de Codigo G
« Respuesta #7 en: 30 de Junio de 2008, 20:16:56 »
Hola Slalen, lo que llamas centro de coordenadas, se llama en el cnc cero de pieza, y eso, lo puedes alterar, es decir, colocas tus coordenadas de inicio, donde mas te convenga segun el tipo de pieza, algunas es mas somple en el centro, otras en los extremos...

Hay otra coodenada que se llama cero de maquina, que "normalmente" es fija y dada por el fabricante, por fines de carrera, por encoder, etc...

Estoy de acuerdo en que hay que apuntar al USB  :mrgreen: hay muchos del foro que ya lo saben emplear !  :-/

Los ingresos de datos, podrian ser con un teclado "Redpic" pc  :D

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #8 en: 01 de Julio de 2008, 04:15:59 »
Lo que yo me refiero, (no se si me expliqué bien) es que puedas mover la herramienta de la máquina a un punto y lo elijas como cero de pieza y el pic recalcule todos los puntos con esa referencia. Osea, que no sea mediante programación y que lo haga la máquina ella sola.

Lo del teclado, si quereis uno de ordenador, por mi bien. Yo pensaba en uno numérico pero me gusta la idea :mrgreen:

De todo esto lo único que se controlar es el USB y los motores pap. TODO LO QUE TENGO QUE APRENDER!!!!! :mrgreen: :( :mrgreen:

Modificación:

PD.: ¿Qué os parece el display de un nokia para los menús?
« Última modificación: 01 de Julio de 2008, 04:19:05 por Slalen »

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #9 en: 01 de Julio de 2008, 07:08:10 »
Qué os parece hacer la estructura del compañero cucaracha http://webs.ono.com/cucaracha/fresadora3D.htm

Me gusta por seguir con la idea de hacer una CNC barata con medios accesibles y sencilla (aunque parezca de bricomania)

Desconectado Renatox_

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 541
    • máquinas cnc
Re: Procesador CNC de Codigo G
« Respuesta #10 en: 01 de Julio de 2008, 12:12:29 »
Hola como están yo también quiero colaborar. Esteca a la comunicación con los motores sería bueno agregarle una señal de alarmar "ALM" para el caso de un servomotor, el driver le manda una señal al control para indicar que ha ocurrido una falla, como sobretensión, sobrecorriente o error de posición.

Lo de usar una pantallita me parece que es importante, no para ver los gráficos del mecanizado, sino para ver el programa que se ha enviado, y cuando este esté ejecutándose se vea la línea de código sombreada. Me inclinaría más por usar una pantalla más grande a la de un celular, mínimo 128x64 si es el doble mucho mejor. También se tiene que tener la posibilidad de modificar y/o corregir el código enviado en el mismo control, para esto es importante tener un teclado.

Propongo que hay que atacar al problema desde lo principal, es decir procesar e interpolar un código G pequeño para saber la rapides de procesamiento que necesitamos, cuantos pic necesitaremos y si usaremos memorias, etc.

Por ejm un código como este:

T0101
G96 S600 M3
M8
G0 X100 Y50 Z-20
G1 X140 F400
M9
M5
M30

También hay que tener un puerto de expansión para las señales del PLC, algunas pueden ser:

Entradas:

Xhome, Yhome, Zhome
Stop de emergencia

Salidas

Pin de M3_M4 del husillo
Pin M5 parada del husillo
Bombda de agua.

Un G0 que pueda llegar por ejm a 4000mm/min, con opción de modificarlo estaría bien para empezar.
También hay que programar aceleración y desaceleración.

Hay muchas cositas a tener en cuenta, poco a poco las iremos descubriendo.

saludos.
« Última modificación: 02 de Julio de 2008, 00:50:58 por Renatox_ »
control de movimiento

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #11 en: 01 de Julio de 2008, 12:29:21 »
Cuanto más grande es el display más caro es....

Yo no quiero olvidar el origen de esta cnc, y es el de hacerla con piezas recicladas y gastándo el mínimo dinero... Por eso mi idea del display de nokia

Desconectado electrotacto

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 560
Re: Procesador CNC de Codigo G
« Respuesta #12 en: 01 de Julio de 2008, 13:57:14 »
hola amigos, mi nivel de programacion no me permite opinar refrente a al como y y que micro utilizar. En lo que si quiero opinar es en sistema como tal, como pienzan alimentar la informacion a la máquina si esta planteado que es autonoma, osea sin PC, no creo que manual porque el minimo diseño genera un larga llista de lineas de instruccion en G-Code.

Si una vez generado el G-code cual sería su tratamiento. supongo que ha de haber una memoria de desacarga, me imagino yo; pero como se llevaria el codificado de g-Code a valores hexadecimales los cuales llenaría el banco de memoria y cual sería el medio de transporte desde la Pc hasta la máquina ya que el puerto ya no trabajaría de modo maestro-esclavo si no mas bien para almacenar la lista de instrucciones para que la máquina pueda hacer su trabajo.

Bueno mas que un aporte es una inquietud, pero si fuese yo un usuario de este hermoso proyecto, sería la primera de mis inquietudes saber como funcionaría antes de entrar en los detalles de los controles. Hagamos un bosquejo preliminar de como pudiera funcionar y en funcion a este ir desarrollando cada bloque.

No puedo aportar ideas en las estructuras de programacion a utilizar pero si tengo ideas en cuanto al harwdware.

saludos.


No es lo mismo un metro de encage negro a que un negro te encage un metro

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #13 en: 01 de Julio de 2008, 16:46:32 »
Electrotacto, tus inquietudes (como yo me lo imagino) se basa en la lectura de las sd.

Las sd estarían formateadas en fat ya sea 32, 16 u 8. Al leerlas con el pic te da igual ya que lee los bytes en hexadecimal.

Si buscas en la página de atiopes (www.ucontrol.com) y creo que en el foro, atiopes hizo un manual sobre las tarjetas multimedia.

Pues bien, todas las tarjetas sean del tipo que sean, tienen un bloque de inicialización que es donde se determina el formato (en nuestro caso da igual).

Depués, declara el nombre de los ficheros y por último están los ficheros.

Si obligamos a que el fichero se llame de una determinada manera, nos basta con realizar una búsqueda en la tarjeta.

Cuando encuentre el archivo, tendrá que decodificar los datos hexadecimales y realizar la instrucción.

El orden de los bloques no se si es así exactamente. Si alguien quiere más información os recomiendo que busquéis el tutorial porque no tiene nada de desperdicio.

Ahora hago los esquemas de los drivers para que opinéis.

Electrotacto tiene razón, tenemos que ir declarando lo básico para poder empezar.

¿Quién se apunta?

Mi idea: Como todo esto parte del post "Mini CNC" el cual me animó a hacerme una, lo principal (como la anterior) muy barata, con materiales reutilizados.

La idea del teclado me ha gustado, yo quería un teclado matricial porque conseguí dos.

El display de nokia porque tengo varios y son fáciles de conseguir (y muy baratos).

Los drivers de los pap con un pic y unos transistores porque es mucho más barato que un driver de motor pap.

Puerto USB, por comodidad. Hasta se puede hacer que el PC reconozca la CNC como un lector de tarjetas y poder grabar los archivos directamente.

Y por último que el sistema sea todo lo compatible que se pueda con el resto de CNC
« Última modificación: 01 de Julio de 2008, 17:26:53 por Slalen »

Desconectado Slalen

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1079
    • Página web personal de Guillermo Herrero González
Re: Procesador CNC de Codigo G
« Respuesta #14 en: 01 de Julio de 2008, 17:23:17 »
Os cuelgo dos amplificadores de corriente. Los transistores aguantan 100A y 100V.



El mosfet es el BUK9575 cuesta como 1€ y el resto que lleva es un 1n4007 y un par de resistencias de 0.25W

Los bipolares son el MJD122 (es smd) cuesta como 0,25€ y lleva 4 resistencias de 0.25W

Os pongo los dos para que decidáis si lo hacemos smd o no
« Última modificación: 01 de Julio de 2008, 17:25:59 por Slalen »