Electrónica CNC/impresora 3D (driver, shields y placa)

¿quién genera ese código G?

Generado por coppercam, se supone que es g-code iso standard. Pero vamos, si pones esa instruccion en el soft de txapu, no se procesa adecuadamente.

Pues no me he podido resistir... He subido y publicado la última versión (1.0.5) de la CNC.

Tiene varias mejoras con respecto a la versión anterior en la parte del MMI (lo que se ven en el LCD):

  • Le he puesto un splash durante el arranque.
  • Ahora muestra la velocidad del ventilador con unas barras (está un poco hackeado el código pero bueno ya lo arreglaré).
  • Muestra las coordenadas X, Y, Z y el feedrate.

Uso de memoria:

FLASH disponible en la vinciDuino: 28672 bytes

MMI + Control Temperatura: 
Flash utilizada: 22794
RAM disponible: 1645

MMI:
Flash utilizada: 20400 
RAM disponible: 1680

Control de temperatura:
Flash utilizada: 20028
RAM disponible: 1820

Solo código CNC:
Flash utilizada: 17822 bytes
RAM disponible: 1846

Como veis la aplicación es muy comedida usando la RAM y para todo lo que hace tampoco está devorando tanta flash. Da más que de sobra para que pueda controlar otro motor PaP.

Os la podeis descargar donde siempre: https://bitbucket.org/fmalpartida/cnc-controller/downloads#download-108162

Espero que lo disfrutéis.

Por cierto, he abierto el terminal (linea serie) le he mandado el gcode: F2000 X1.0 y funciona sin problemas como os comenté.

Te mueve el motor bien con ese comando? No vale con simularlo, pues el soft del pc lo marca bien, pero en la realidad...

Lo que estoy haciendo es mandarle Gcodes directamente al puerto serie. En el LCD sale correctamente todo, mañana enchufaré la electrónica a la CNC a ver que hace. Pero vamos, creo que va a funcionar tal y como indica el MMI en el LCD.

@baronrojo - perdona, se me ha pasado tu post. El cubo tiene 3 entradas, las he conectado a pines analógicos. Por lo tanto no habría problemas a la hora de conectar finales de carrera. El código está, más o menos, preparado para soportarlo. Simplemente ahora lo tengo des habilidado.

El programa no puede saber cuanto le queda por completar el programa ya que el PC le envía 1 comando gcode a la vez. Hasta que no ha ejecutado el que tiene en curso el PC no le manda el siguiente.

Con respecto a introducir el 4 control del motor paso a paso, no es muy complicado incluirlo el el código actual. El único inconveniente es ponerlo en la electrónica actual. Simplemente no cabe. Date cuenta que es un PCB de 5x5cm!

Ya me diras si te funciona con la electronica conectada, sino grabo un video para los dudosas :sweat_smile:

Probado sobre la máquina y funciona a la perfección.

Le estoy mandando al software de mi controladoras desde Txapuzas Tx el siguiente código g: F3000 X10.01 y similares. Esto se lo estoy enviando desde la linea de comandas que tiene Txapuzas Tx. También lo he probado directamente abriendo un terminal serie contra la placa y perfecto.

Pues se me escapa porque no me funciona a mi esa forma :blush: Porque algo manda, quiere como hacer algn movimiento la electronica, y nada, pasa al siguiente comando.

Y claro, el codigo que genera el coppercam, es todo asi, pues funciona mal.

Esta noche reviso todo de nuevo

Pues yo sigo en mis 13, a mi no me funciona el comando poniendo, de echo, no funciona nada pfffffffffff.

Si pongo F1000 X10 en el sitio para mandarle n comando, si que va. Pero ese caso no me sirve, pues el codigo va a compañado de un G01, si se lo pongo: G01 F1000 X10 quiere hacer algo, pero no hace nada de nada

Probaré tu código pero debería funcionar exactamente igual.

Pues ya lo he probado:

  • abriendo el monitor serie de Arduino y enviando el comando tal cual lo has publicado la electrónica y el SW de control de la CNC funcionan perfectamente: G01 F1000 X10

  • por el contrario si lo intento enviar desde la consola de Txapuzas CNC Tx, no funciona!

Por lo que se ve Txapuzas CNC Tx parece que modifica de alguna forma el código antes de enviarlo.
De todas formas, escribir un pequeño secuenciador que envíe linea a linea un fichero por el puerto serie, no debería ser muy complicado ni llevar más de 20min. Vamos algo escrito en python lo puedes poner a funcionar con muy pocas líneas de código. Digo python por hacer algo multiplataforma, con Java sería tres cuartos de lo mismo.

Complicao no es, para los que programais a diario. A mi me costara un poquito mas, lo hago en visualbasic que estoy algo familiarizado. COn el unico fin de procesar el codigo y generar un nuevo fichero.

Al final no estaba loco :sweat_smile: :wink:

No, no os engañéis que yo no programo a diario. Vamos que salvo en casa, hace mucho que no programo nada.

Tal vez te resulte más sencillo usar el generador de gcode que tiene Eagle. Lo hice funcionar hace algún tiempo y el código que genera se interpreta bien tanto por Txapuzas CNC como por replicatorG y printrun.

Otra idea es que te escribas el programa en VB que lea de un fichero y lo mande directamente a la electrónica línea a linea.

Otra idea es, si estás familiarizado con VB es ver en el código de TxapuCNCTx que hace con los comandos que le envía a la máquina.

No, no estabas loco, jajaja Si es que, cuando el río suena agua lleva. Vamos que se habías visto algo es porque había algo. Yo me estaba centrando en la electrónica y su SW de control más que en otra cosa :wink:

Si, el generador de g-code de Eagle funciona perfecto, sin ningun problema. Prefiero usar el Protel, que me resulta mucho mas sencillo de manejar, aunque luego tenga que hacer algun paso extra para llegar al codigo.

La idea que llevo es, cargar el codigo generado del coppercam, procesarlo y guardarlo en un archivo nuevo, ya con todo en orden.

Por cierto, esto no tiene nada que ver con lo anterior. No estaria nada mal, poder añadir un boton de parada de "emergencia". Se podria implementar via i2c porque no quedaban pines libres no Fm?

Programita terminado. Y codigo ejecutandose ya en la maquina :grin:

:wink:
Si lo quieres poner junto al código de la CNC coméntamelo. Pero tendremos que añadir una breve descripción en la wiki del proyecto.

No hay problema Fm, deja que lo comente un poco mas y lo deje arregladito y te lo mando.

Saludos

Por cierto que tal te han salido esos PCBs?

Foto, foto, foto...

Pues anteriormente todo eran probatinas sacadas del eagle. Y la semana pasada que me iba a poner con algo serio, me encontre con el problema mencionado del codigo g y txapu.

Actualmente resuelto con un procesado final, quiero incluir un par de cosas al programa, pues ahora tengo que quitar alguna linea a mano del archivo. Asi que esto lo implementare y te mando Fm el programita. No es muy eficiente, porque seguro que se puede hacer mucho mas rapido, pero cumple perfectamente con su proposito. Lo tengo ya todo comentado.

Aqui os pongo un par de placas, son unas tiras para unos leds. Miden 135x6mm. Taladros de 0,8mm. Fresa en V de 0,2mm 30º, que hara un surco de unos 0,5mm y profundidad de 0,015mm.

https://dl.dropbox.com/u/6147749/Fotos/P1090022.JPG

Lo unico es que deja rebaba y le tengo que pasar la lija despues, pero vamos, por lo demas, todo bien.