Go Down

Topic: Desarrollo de Soft para control de Fresadora CNC (Read 39 times) previous topic - next topic

Animbius

Me tomo el atrevimiento de abrir un nuevo hilo, con el objetivo de potenciar el desarrollo de un programa específico para controlar una fresadora CNC, especialmente con las características que poseen aquellas que hemos construido y/o puesto a punto mediante el uso de este mismo foro.

Invito a todos aquellos que crean interesante la propuesta y sobre todo a aquellos que ya están trabajando en el tema desde el hilo sobre construcción y calibrado de CNC, ya que es todo parte de lo mismo y solo pretendo organizar el desarrollo!

Aún no se como se hace para citar formalmente a los diferentes usuarios (para que se enteren de la existencia de este hilo), pero intentaré darle difusión!

espero tomen la posta, ya que yo soy un simple interesado en tener un programa y no tengo la capacidad técnica para llevarlo adelante!

Gracias por al menos interesarse en leer la entrada y saludos para toda la comunidad!

PD.:Espero cualquier sugerencia y o consejo, ya que no soy muy experimentado en el uso del foro!

fm

   

Terraguea

Wuenas¡¡¡¡
Aunque no escriba últimamente sigo leyendo vuestros progresos cada poco días, voy liado en muchas cosas prioritarias pero añorando el volver a compartir aprendizaje.
Suerte con el hilo.
Un saludo a todos

ngc1300

He añadido otra versión del programa en la que se corrigen los siguientes errores:

Modifica el tamaño de la pantalla para que se vea de forma correcta a una resolución de 1024x768 (issue #8).
Detecta la versión del firmware y si es superior la 1.0.9 manda comando G92 con la ultima posición de la maquina en caso contrario fija los ejes a 0
Corrige error al leer los comentarios (issue #1).
Avisa si no esta posicionado en las coordenadas 0,0,0 cuando se inicia un mecanizado (issue #2).
Establece la velocidad de conexión por defecto en 19200 (issue #7).
Corrige error en botón inicio, al parar el programa se quedaba en pausa (issue #6).
Corrige error al abrir mas de un archivo, no se representaba en 3D el contenido de este ultimo (issue #4).
Corrige error de no leer los códigos I y J en las lineas G2 y G3 (issue #9).

He desactivado la opción de referenciar con respecto a una pieza ya que me ha dado algún problema, cuando lo tenga solucionado lo volveré a activar.

El firmware que yo uso (1.0.10) tiene una modificación en el G92, he hecho un pullrequest en el repositorio de fm, pero si el quiere intento colgarlo con el programa, ahora estoy modificando el G0 cuando termine de hacer los test hago un pullrequest otra vez.

un saludo a todos



Animbius

Enterado y bajando!

cuando tenga novedades aviso!

SALUDOS!

Animbius

Me tomo el atrevimiento de colgar el enlace a las descargas, por si alguien mas quiere bajarlo y no lo encuentra!

https://bitbucket.org/jadiazg/cnccontrol/downloads

Ahora si, saludos!

ngc1300

Buenas a todos!!

Gracias por colgar el enlace animbius la otra vez se me paso.

He colgado otra versión con los siguientes cambios:

- Se ha activado el seguimiento de la linea por la que va el programa mecanizando.
- Se ha activado el referencia do respecto a una pieza.
- Ahora una vez se inicia un mecanizado detecta si no se esta en las coordenadas 0,0,0 y si es así avisa, pudiendo establecerlos desde la misma pantalla de aviso o cancelar el mecanizado.

Enlace de descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads
Enlace de incidencias: https://bitbucket.org/jadiazg/cnccontrol/issues?status=new&status=open

También he colgado la versión del firmware modificada por mi con los siguientes cambios:

- Código G92: Ahora si se envía solo establece el origen a 0,0,0 y si se envían coordenadas se establecen estas como origen.
- Código G00: Cuando se recibe un codigo G00 la maquina se mueve a la máxima velocidad configurada en el configMe.h y si recibe el código G01 la maquina se mueve a la ultima velocidad establecida.

Un saludo.

Miguel75

Buenas!

Fantástico trabajo ngc1300, el programa está muy bien.
Estoy probandolo para ver si lo puedo utilizar con mi cnc láser pero tengo un problema que te quería comentar a ver si se te ocurre algo.
El tema es que intento modificar en el firmware los pins que yo utilizo en el shield que me hice para mi arduino, pero cuando utilizo el programa de control se me queda bloqueado y no puedo hacer nada. Si cargo el arduino con el firmware tal como lo has publicado, tu programa funciona perfectamente... y tan solo cambio los pins de los drivers y los finales de carrera, nada más.
Tengo:
Windows 7 64b.
Ide Arduino ERW 1.0.5 también he probado con arduino-1.5.4-r2, con el mismo resultado.


También tengo una pequeñísima sugerencia, es una tontería en realidad pero no podrías hacer que recordara el directorio de trabajo?

Un saludo.

Animbius


Buenas!

Fantástico trabajo ngc1300, el programa está muy bien.
Estoy probandolo para ver si lo puedo utilizar con mi cnc láser pero tengo un problema que te quería comentar a ver si se te ocurre algo.
El tema es que intento modificar en el firmware los pins que yo utilizo en el shield que me hice para mi arduino, pero cuando utilizo el programa de control se me queda bloqueado y no puedo hacer nada. Si cargo el arduino con el firmware tal como lo has publicado, tu programa funciona perfectamente... y tan solo cambio los pins de los drivers y los finales de carrera, nada más.
Tengo:
Windows 7 64b.
Ide Arduino ERW 1.0.5 también he probado con arduino-1.5.4-r2, con el mismo resultado.


También tengo una pequeñísima sugerencia, es una tontería en realidad pero no podrías hacer que recordara el directorio de trabajo?

Un saludo.


Yo tampoco pude hacer andar el soft con el firmware que vengo usando (de Fm con mi configuración), pero no lo probé con el firm en bruto como está subido, ya que como estoy haciendo unos cortes importantes con la máquina, no quise apurarme a hacer pruebas. Cuando termine de fresar este trabajo voy a toquetear el firm a ver si arranca!

ngc1300


Buenas!

Fantástico trabajo ngc1300, el programa está muy bien.
Estoy probandolo para ver si lo puedo utilizar con mi cnc láser pero tengo un problema que te quería comentar a ver si se te ocurre algo.
El tema es que intento modificar en el firmware los pins que yo utilizo en el shield que me hice para mi arduino, pero cuando utilizo el programa de control se me queda bloqueado y no puedo hacer nada. Si cargo el arduino con el firmware tal como lo has publicado, tu programa funciona perfectamente... y tan solo cambio los pins de los drivers y los finales de carrera, nada más.
Tengo:
Windows 7 64b.
Ide Arduino ERW 1.0.5 también he probado con arduino-1.5.4-r2, con el mismo resultado.


También tengo una pequeñísima sugerencia, es una tontería en realidad pero no podrías hacer que recordara el directorio de trabajo?

Un saludo.


La verdad que me tiene preocupado el hecho de que no podáis hacer funcionar el programa, he probado con el firmware 1.0.9 y con el firmware modificado 1.0.11 y no he podido detectar el problema, Yo en mi cnc tengo los pines cambiados también con respecto a la configuración base del firmware con lo que no es problema de cambiar los pines, el programa no controla nada del firmware solo se limita a mandarle ordenes, con lo que la configuración de los parámetros de la maquina no influye. Creo que debe ser un problema de comunicación.

No me ha quedado muy claro si te funciona con mi firmware o no. Si me pudieses explicar un poco mas que es lo que ocurre a ver si puedo detectar que es lo que pasa, te cuento que es lo que tendría que pasar cuando conectas y me dices que hay de diferente con lo que te ocurre.

Cuando le das al botón de conectar el  programa busca al arduino en el puerto especificado en la configuración y se comunica a la velocidad indicada en la configuración, normalmente 19200, una vez hecho esto en la ventanita de abajo-izquierda (log) aparecerán 3 ok. Si vas a la pestaña de información tendrás datos del firmware, la versión y conectado en color verde.

Si aparece todo esto puedes ir a la pestaña control manual y mover cualquier eje, si le das a mover un eje los botones se desactivan y en la ventanita de log muestra las coordenadas que has mandado, una vez recibe el ok del arduino se vuelven a activar los botos y aparece el ok en la ventanita de log.

A ver si podemos detectar este problema, intentare de implementar un log interno por si esta detectando algún error en el programa a ver si se detecta que es lo que pasa.

Miguel75

Estoy haciendo la prueba tal como dices, y voy explicando mejor.
Ahora mismo el arduino tiene la versión del firmware de fm que has puesto junto al programa (sin modificar por mi).
ventana del log:
Code: [Select]

ÿ
ok
ok
ok
Enviado G1 X-1.0 F1500
ok
Enviado G1 X-11.0
ok
Enviado G1 Y10.0
ok

En la pestaña de información, tal como dices. La información del firmware y el conectado en verde.

Ahora con el ide 1.0 he realizado estos cambios, ni siquiera he guardado el archivo, solo lo he cargado en el arduino.
Code: [Select]

// X axis configuration
#define X_STEP_PIN      2  // Step control PIN.
#define X_DIR_PIN       5  // Direction control PIN.
#define X_MIN_PIN       9  // min detection switch PIN
#define X_MAX_PIN       9  // max detection switch PIN
#define X_ENABLE_PIN    8 // Driver enable pin

// Y axis configuration
#define Y_STEP_PIN      3  // Step control PIN.
#define Y_DIR_PIN       6  // Direction control PIN.
#define Y_MIN_PIN       10  // min detection switch PIN
#define Y_MAX_PIN       10  // max detection switch PIN
#define Y_ENABLE_PIN    8 // Driver enable pin

// Z axis configuration
#define Z_STEP_PIN      4  // Step control PIN.
#define Z_DIR_PIN       7 // Direction control PIN.
#define Z_MIN_PIN       11  // min detection switch PIN
#define Z_MAX_PIN       11  // max detection switch PIN
#define Z_ENABLE_PIN    8 // Driver enable pin


#define MOTOR_PIN       12 // Spindle motor control pin
#define FAN_PIN         A0    // Fan control pin
#define LCD_BL_PIN      A1 // LCD backlight control pin


He ejecutado el programa, le doy a conectar y ahí se queda bloqueado. El interruptor no se pone en verde y no puedo acceder a ninguna de las pestañas, de hecho tengo que irme al administrador de tareas para poder cerrar el programa ya que no me deja ni cerrarlo.
He intentado volver a cargar el firmware sin modificar (con tu programa colgado), pero el ide me dice que el com4 (en mi caso) está en uso, se queda pillado en el inicio de comunicación con el arduino, y luego con el firmware sin tocar va bien... no lo entiendo,  ¿solo por cambiar los pins?.

Espero que te sirva para algo y ver donde está el problema.

ngc1300

Cuando el programa esta colgado, lo que esta  haciendo es esperar a que el arduino le de un ok, y tiene el puerto abierto, solo un programa puede tener el puerto abierto a la vez, por eso te da error el ide de arduino, con los datos que me das voy a probar a ver que ocurre

ngc1300

he depurado el programa y por alguna razón que desconozco con esa combinación de pines el arduino no detecta la llegada de información por parte del programa, seguiré trabajando en el tema a ver por que con esos pines no funciona.

Miguel75

#13
Oct 22, 2013, 12:18 am Last Edit: Oct 22, 2013, 12:35 am by Miguel75 Reason: 1
Bueno, después de leer tu último mensaje he probado otra cosa. La configuración de pines era la que utilizo en mi cnc, pero como el firmware que utilizo tiene botones específicos de play, pause, reset y un solo final de carrera por eje, el shield que me hice no me va a servir de mucho, y como el software me da muchos errores con el gcode hasta cancelando el trabajo por si solo, no me importa cambiar los pines y hacer uno nuevo... resumiendo
Code: [Select]

// X axis configuration
#define X_STEP_PIN      5  // Step control PIN.
#define X_DIR_PIN       6  // Direction control PIN.
#define X_MIN_PIN       2  // min detection switch PIN
#define X_MAX_PIN       2  // max detection switch PIN
#define X_ENABLE_PIN    12 // Driver enable pin

// Y axis configuration
#define Y_STEP_PIN      7  // Step control PIN.
#define Y_DIR_PIN       8  // Direction control PIN.
#define Y_MIN_PIN       11  // min detection switch PIN
#define Y_MAX_PIN       11  // max detection switch PIN
#define Y_ENABLE_PIN    12 // Driver enable pin

// Z axis configuration
#define Z_STEP_PIN      9  // Step control PIN.
#define Z_DIR_PIN       10 // Direction control PIN.
#define Z_MIN_PIN       A0  // min detection switch PIN
#define Z_MAX_PIN       A0  // max detection switch PIN
#define Z_ENABLE_PIN    12 // Driver enable pin

#define MOTOR_PIN       13 // Spindle motor control pin
#define FAN_PIN         3    // Fan control pin
#define LCD_BL_PIN      4 // LCD backlight control pin


He probado con esta configuración y va perfecto... es extraño que la que no funciona sea tan solo por el orden de la configuración  :smiley-eek:

Otra cosa, en la ventana de trayectorias tan solo sale el área de trabajo (creo), pero al trabajar no sale el diseño.

ngc1300

Al final después de mucho probar he detectado que por algún motivo con unos pines tarda mas que con otros en conectar, ademas tambien con algunos pines cuando conectas el arduino manda un carácter extraño que yo tenia que procesar, pero con esa combinación de pines no lo hace así, aunque no me gusta mucho la solución ha sido retardar un poco la conexión y omitir la lectura de ese carácter que manta el arduino hasta que encuentre por que a veces lo manda y a veces no.

He puesto una nueva versión con esos cambios, ademas también ya recuerda el ultimo sitio donde se abrió un archivo.

Descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads
Incidencias: https://bitbucket.org/jadiazg/cnccontrol/issues?status=new&status=open

Espero que ahora si a todos les conecte bien.

Go Up