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

@Fm, a ver si seria facil adaptar el codigo para que lea el comando con la velocidad cambiada de posicion, es decir, por ejemplo:

G01 F100 X10 Y10

Pues el programa lo lee bien, y lo marca, pero la electronica no lo debe entender.

Saludos

No se si es problema del SW de la electronica o del SW del PC. Me he fijado que segun el cuadro de estado que muestra los comandos enviados, si se pone un comando con la velocidad delante, ignora todo lo que hay detras.

La electronica se lo debería tragar bien. El código lo que hace es:
si el comando es 0, 1, 2, 3 o 30 mira a ver si hay feedrate (F) y en ese caso lo lee y luego lo aplica.

Por lo tanto, el programa que los está secuenciando se los está tragado.

Pues entonces debe ser problema del que manda el comando, que no lo debe mandar completo. En la consola donde se ve que comandos manda, del comando de ejemplo, solo mandaria el termino correspondiente a la velocidad

Codigo en el editor: G01 F100 X10
Comando que muestra la consola: G01 F100

De momento, me estoy haciendo un programita en vb que me procese el codigo de nuevo, y lo arregle, a ver si me sale. Hace 4 años que no programo, y se nota.

Una pregunta. ¿quién genera ese código G?

Si metes ese código G a Txapuzas CNC Tx yo creo que funcionaría bien. Has probado con printrun o replicatorG?

Hablo de codigo g probado directamente en el soft de txapu. No he probado con los que mencionas

¿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: