Pages: 1 [2] 3 4 ... 26   Go Down
Author Topic: Desarrollo de Soft para control de Fresadora CNC  (Read 35397 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Siendo deciros que la versión del firmware que coloque tiene un bug, que no he podido detectar hasta hoy que me he puesto con la maquina, he borrado el incorrecto y he vuelto a subir el correcto.

El error es debido a que por error comprimí la ultima versión en la que estaba trabajando y no estaba probada al 100%, en vez de la que tenia probada en la maquina.

Espero no vuelva a ocurrir y perdón por las molestias.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Justo estaba por escribirte algunos errores que habia detectado, porque estoy trabajando y probando el soft.

De todas maneras te cuento lo que recopilé y si alguno de los errores es por esto que vos comentas, simplemente no le prestes atencion.
La buena noticia es que con el firmware modificado la maquina se conecta perfecto con el soft!
estoy haciendo las pruebas con el firm V1.0.11 y el soft 1_2_6, que son los que me aparecen en la pagina para descargar.

1- Los botones de control manual correspondientes al eje X, estan al revés.
2-la visualización está rotada, es decir visualiza al 0,0,0 arriba a la derecha y los ejes creciendo para abajo y para la izquierda.
3-No lee los comandos de las curvas (ya lo habia comentado)
4-No interpreta las lineas de codigo que tengan algún comentario entre parentesis, por ejemplo "G01 Z-5.000000 F1000.0(Penetrate)"
5-El tamaño de la pantalla no entra en una netbook (ya lo habia comentado)

Como sugerencias te diría:
1-Que la visualización durante el proceso de fresado muestre paso a paso lo que realiza y ya no el resultado final del trayecto.
2-Que ademas de recordar el ultimo directorio de trabajo, recuerde el ultimo material usado (en mi caso uso siempre el mismo).

Y me queda la duda de que son los tiempos que muestra en la solapa de informacion, los calcula segun la velocidad?

Estoy muy contento con como funciona el soft! es realmente facil e intuitivo, y sobre todo muy especializado para la tarea.

muy bueno!

SALUDOS!!

PD.: ya esta actualizado el archivo para descargar???
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lo primero de todo agradecerte que estés probando el programa, aunque yo lo intento probar todo, muchas cosas no las puedo probar del todo, ya que al no tener la maquina donde hago el programa es un poco mas difícil. Y aunque intento probar el programa en la maquina antes de colgarlo, a veces se me escapa alguna cosa.

Te contesto a todas tus preguntas.

El bug del firmware esta en que no hace caso al comando G92(la maquina no fija el origen 0,0,0), este comando en la primera versión que modifique lo hice de una forma que no me terminaba de convencer, ya que el código no estaba muy optimizado, hice una modificación para intentar optimizar mas el código y es esta ultima que yo iba a probar la que se colo en el RAR en vez la primera que tenia muy probada, pero en el enlace actual ya esta corregido, el erróneo lo borre para que no hay confusiones.

1- Los botones estaban colocados así, para poder relacionar el botón con el movimiento de la maquina, si le dabas al botón de la derecha la maquina mueve el eje X a la derecha y si le das a la izquierda lo mueve a la izquierda, pensé en esta forma por que es mas fácil para un novato no tener que pensar si derecha es mas o menos, le das al botón para donde quieres que se mueva la maquina, pero encuentro que puede ser mejor ponerlos como dices ya que hasta ahora es como la gente lo esta usando, con lo que la nueva versión ya los trae cambiados, pero es un cambio pequeño que puedo modificar en cualquier momento si os gusta mas mi idea.
2- la visualización es otro aspecto que pensé que era mejor ver como lo vas a ver tu en la maquina, claro que todo esto depende de como sea la maquina de cada uno, la mía por ejemplo es como la de la pagina de txapuzas, con lo que si yo miro la maquina de frente y miro las trayectorias me coincide con lo que hará la maquina, si lo rotase como tu dices no lo vería igual, ya que en mi maquina coincide el 0,0,0 arriba a la derecha. Creo que voy a parametrizar la visualización para que si otro usuario mira la maquina desde otro punto lo pueda ver igual que le quedara en su maquina.
3- Corregido a ver si estaba vez si que hace bien las curvas
4- Este apartado es un poco complicado, los comentarios si que los interpreta, pero en este caso que me pones no hay espacio entre los números y el "(", que es lo que yo utilizaba para diferenciar bloques, ahora eso ya lo he modificado, pero tengo que hacer cambios en este apartado, ya que hay muchos tipos de códigos G que pueden ser muy distintos los unos de los otros con lo que esto ira evolucionando poco a poco.
5- El tamaño de la pantalla lo modifique a 989x 691 es un tamaño suficiente para una una resolución mínima de 1024x768 yo en mi portátil lo tengo así, de todas formas dime que resolución usas y así intento hacer algo para resoluciones mas pequeñas.

La opción de visualizar lo que esta haciendo la maquina, esta pensado para hacerlo mas adelante, ahora quiero estabilizar esta versión que no haya bugs importantes y se pueda usar bien, una vez hecho esto iré a por las mejoras, al fin y al cabo lo que esta haciendo se ve en la propia maquina.

La opción de que recuerde las dimensiones del material ya esta hecho en esta nueva versión, es curioso pero ayer pensaba en esto mismo.

En cuanto a los tiempos.
tiempo proceso: es el tiempo que llevamos ejecutando el mecanizado actual.
tiempo restante: es la estimación del tiempo que queda para terminar, para no ralentizar mucho el programa esta estimación por ahora no es muy precisa y se calcula haciendo la media del tiempo empleado en ejecutar las lineas del programa y extrapolando al total de lineas, como he dicho antes quiero trabajar mas en esta opción una vez este estable el programa para afinar mas en la estimación.

Estoy muy contento de que te guste como esta quedando el programa, la idea es como dices algo sencillo y que nos ayude ha hacer las cosas un poco mas fáciles.

He colocado una nueva versión con esas correcciones.

Enlace descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads#download-253358
Enlace incidencias: https://bitbucket.org/jadiazg/cnccontrol/issues?status=new&status=open

Si queréis podéis usar el enlace de incidencias para crear incidencias de los errores o mejoras para el programa, a si podemos llevar un control y comentar sobre ellas.

Gracias otra vez a todos.
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se me olvido comentar una cosa con respecto a la visualización, se puede rotar, hacer zoom y trasladar con el ratón, botón izquierdo para rotar, botón derecho para trasladar y ruleta central para zoom, mas adelante tenia pensado poner botones también.
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

EXCELENTE ngc1300!!!!
estoy bajando la nueva V para probarla cuanto antes!
Coincido con vos en lo de estabilizar y pulir la versión para luego mejorarla.

Respecto a los botones, entiendo lo que me comentas, el tema creo que es el siguiente, en mi cnc los ejes corresponden el X crece para la derecha y el Y crece para arriba, es decir con el origen abajo a la izquierda, como sería comúnmente una terna de coordenadas. Sin dudas esto va a variar según las diferentes máquinas, pero creo que la convención mas lógica sería esa. Claro es mi opinión.

Respecto a la pantalla, la netbook que uso con la cnc tiene 1024x600. Pero entiendo que sea muy chica como para la visualización y demás. Por tal vez tener la opción de modificarla o simplemente de poder deslizar dentro de la ventana. no se cuan complejo sería cualquiera de las dos opciones....

SEGUIMOS!!!!
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 66
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Esta mañana estuve cortando, usando el soft en su ultima versión, con el firmware modificado. Todavía estoy impresionado con lo bien que está funcionando!!!

-Lectura de curvas: solucionado.
-Lectura de parentesis en los comentarios del código: no lo revisé ya que modifiqué el código y se los saqué.
-Comunicación con firmware: solucionado.
-Dirección de movimiento de la botonera: Solucionado.
-Tamaño de pantalla: todavía no resuelto (de todas maneras el problema no afecta la funcionalidad del programa).
-Visualización: funciona, en una segunda etapa me gustaría pulirla pero en principio anda perfecto.
-configuración de orígenes: anda perfecto.

posiblemente se me escapen cosas, pero tengo el orgullo de decirte que funciona mejor que REPETIER!!!!

te dejo una fotito de mi rustica y casera CNC prototipo 0 (cero), funcionando con el soft, y el detalle de la pantalla.



* 2013-10-25 14.10.05.jpg (520.16 KB, 1600x1200 - viewed 193 times.)

* 2013-10-25 14.09.42.jpg (660.81 KB, 1600x1200 - viewed 153 times.)

* 2013-10-25 13.42.30.jpg (662.71 KB, 1600x1200 - viewed 170 times.)

* 2013-10-25 15.11.48.jpg (439.89 KB, 1600x1200 - viewed 118 times.)
« Last Edit: October 25, 2013, 01:17:32 pm by Animbius » Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He añadido una nueva versión del programa, los cambio son los siguientes:

- Modifica la pantalla para resoluciones inferiores a 1024x768.
- Cuando se modifica el gcode y se abre un nuevo archivo pregunta si se desean guardar los cambios.
- muestra una ventana cuando se carga un archivo indicando el estado de la carga.

Enlace descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads#download-253358
Enlace incidencias: https://bitbucket.org/jadiazg/cnccontrol/issues?status=new&status=open
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Animbius has podido probar como te queda la pantalla en esta nueva  versión?,  la he ajustado a 600 puntos de alto, si pones la barra de tareas que se oculte de forma automática se debe ver toda la ventana.
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He añadido una nueva versión, como tiene bastantes mejoras la he etiquetado como versión 2. En principio la cuelgo como beta ya que hay una mejora (compensar las distintas alturas de la base) que aunque he probado, quiero tenerlo unos días mas de prueba y a ver si alguno de vosotros la puede probar también.

Los cambios son los siguientes:

- Añade al titulo el nombre del archivo que se ha abierto.
- Añade la posibilidad de tener mas de un idioma, (he añadido el ingles aunque la traducción no es muy buena).
- Añade un parámetro para establecer cada cuando tiempo se leen las temperaturas.
- Modifica la forma de trazar las trayectorias en el dibujo para que tome como partida la esquina inferior izquierda en vez de la superior derecha, ademas el eje X es positivo hacia la derecha y negativo a la izquierda.
- Corrige movimiento de gamepad (cuando se movía a derecha disminuía el eje X) se ha cambiado para que lo aumente.
- Modifica la pantalla de configuración para poner los parámetros del fichero de configuración del firmware, también se ha añadido un botón con el que se puede modificar el firmware con esta configuración(solo modifica, no carga en arduino).
- Cambia la pantalla de configuración sacando los limites a la pantalla principal y se añade funcionalidad para compensar las diferentes alturas de la base.
- Añade asistente para asignar los limites de la maquina.
- Añade asistente de configuración de alturas de la base.
- En la pantalla de limites se puede cambiar las coordenadas de origen, re calculando los nuevos limites y re posicionando la maquina a las nuevas coordenadas.
- Modifica el botón de establecer origen para que cuando se pulsa re calcule los limites con respecto a la nueva posición del 0,0,0.
- Comprueba que el archivo que se va a abrir es un archivo con Gcodes (issue 13).

Enlace descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads#download-253358
Enlace incidencias: https://bitbucket.org/jadiazg/cnccontrol/issues?status=new&status=open
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Es mi primer mensaje , hace mucho tiempo que estoy leyendo para poder fabricar una modesta Cnc , y me decidí a registrarme para agradecer el esfuerzo que haces para que las cosas funcionen .

se que no es demasiado , pero comencé con la idea de fabricarla a base de prueba y error , me he peleado con ubuntu a mas no poder , (3 semanas ya..) y con tu programa llevo 15 minutos y parece  que he tocado el cielo con los dedos jajjaja

solo tengo muchas dudas , y todas son con respecto a si hay alguna modificación en la conección entre el arduino ( uno en mi caso) y los A4988, o el programa está echo para que se pueda utilizar en base a por ejemplo el txapu_pololu.

si alguien puede decirme por donde estan las presentaciones.... voy encantado , pero creo que mi alegria fué mas fuerte que la falta que se pueda cometer por no presentarme.

saludos a todos !!!
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Me alegra que te sea útil el programa. No entiendo muy bien tu pregunta, pero  intento contestarte, el programa no controla  directamente los drivers de los motores,eso lo hace el firmware, en principio el programa es compatible con el firmware de txapuzas tanto la versión que usa pololus como la otra, así como con la versión 1.0.9  de fm, hay una versión 1.0.11 que es la misma de fm con algún cambio, yo te recomiendo esta ultima. Pero como te he dicho antes puedes usar cualquiera de ellas aunque perderás funcionalidad dependiendo de cual uses, para mas dudas no dudes en preguntar.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Entonces mi pregunta queda contestada , ya que la duda que tenia era sobre la conección entre los pololu y el arduino (tanto los pines de arduino como los de pololu)



Otra pregunta que si puedes contestarla me sacarás de una duda muy grande que tengo, y es sobre el tipo de motor (es)
Mi duda es especifica : quiero comprar unos  motores de 2V  , 1.2A y 1.7Ohm en el bobinado (nema 17) los cuales aun no los he comprado por temor a que no me sirvan.
Van a ir controlados por los A4988 , pero tengo dudas de que el pololu pueda con ellos y que no los queme , tanto el controlador como el motor; Tengo entendido que con el potenciometro que llevan los pololu se pueda regular el amperaje que se le entrega al motor y que los motores pueden trabajar a un poco mas de voltaje de lo que dicen que trabajan , pero tengo un poco de miedo a quemarlos.
¿que recomendacion de motor me da usted para montar una CNC de aproximadamente 40 x40 de area de trabajo para fresado de MDF y algun metacrilato? .

Desde ya muchas gracias por su colaboración ya que encuentro información si , pero un poco confusa y es dificil encontrar a gente con ganas de explicar !

saludos
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

El esquema es correcto, solo tienes que descargarte el firmware (CNC_V1.0.11.rar) y configurar el archivo configMe.h con los parámetros de tu maquina, desde la versión 2 también se puede modificar este archivo de forma mas sencilla. Una vez modificado  se carga en el arduino.

En cuanto a los motores, lo mas importante es el torque que tengan, el voltaje normalmente se utilizan 12V y sobre todo no pasarse del amperaje que soporta el motor, se buscan motores que tengan mucha fuerza para que no se salten pasos y se pierda precisión, aquí hay muchas opciones en cuanto a amperaje que soportan y toque, eso ya depende de tu presupuesto a la hora de elegir unos u otros. Para los motores que indicas, yo pienso que van un poco justos los pololu, estos drivers ya van forzados a 1 A y los motores que indicas son 1.2A con lo que van a sufrir, puedes probar a ver que torque dan a 1A, pero yo no subiría los pololu mucho mas, de todas formas yo no soy el mas indicado para recomendarte, es mejor que te mires bien el siguiente post http://forum.arduino.cc/index.php?topic=87714.1125 ya que es mas especifico del montaje de la maquina, es muy largo pero merece la pena leerlo entero, es en el que yo me base para montar mi maquina, allí puedes preguntar que hay muchos expertos en el tema. Este post esta mas orientado al programa que yo estoy desarrollando para el manejo de la maquina.

Espero que te haya sido de ayuda.  

Un saludo.
« Last Edit: December 09, 2013, 04:33:54 am by ngc1300 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Perdon por la demora en contestar .

TE cuento mis problemas ahora mismo con tu soft , tal vez puedas orientarme sobre mis errores...

Sobre Win7 funciona el que no es beta , la version  1.2.8 conecta con el arduino; la version beta no llega a conectar , se queda bloqueada completamente y tengo que matar el proceso para tener otra vez el control , me dá que el problema es entre el arduino y el programa , ¿algo de las velocidades de coneccion tal vez?

Ahora directamente sobre el problema que tengo con el que si conecta y envia ordenes al arduino y este , al parecer le envia un mensaje de ok, ya que aparece en la pantalla.

te cuento como lo hago y que error tengo:
Comienzo por enchufar al usb al arduino , acto seguido abro el sketch para cargarlo , modifico los pines a las de mi maquina
Code:
#define X_STEP_PIN      4  // Step control PIN.
#define X_DIR_PIN       5  // Direction control PIN.
#define X_MIN_PIN       0  // min detection switch PIN
#define X_MAX_PIN       0  // max detection switch PIN
#define X_ENABLE_PIN    8 // Driver enable pin

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

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

luego de Cargar correctamente el sketch , enciendo la fuente de los motores y los pololu , (pin verde y negro)
En ese preciso instante, los motores quedan como ``electrizados´´ y zumbando, como un ruido a electricidad; Inicio el programa e intento hacer que se muevan los motores pero no hay forma , no se mueven.

Te cuento otra cosa , el unico sketch que pude hacer funcionar fué el rep rapnew firmware sobre txapucnc , el unico problema que tengo es que el eje X no deja de moverse cuando se le da la orden Z=1.0 , hace como microsteppings por lo que el sistema funciona (los ejes X e Y  giran sin problema y al parecer sin perder pasos. )

Si necesitas mas datos , por favor , no dudes en pedirme lo que sea , 8fotos o video)

saludos y felices fiestas.
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 227
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Siento el retraso pero con las fiestas es difícil sacar algo de tiempo.

La conexión se realiza igual en todas las versiones del programa, no he hecho cambios en ese aspecto desde hace unas cuantas versiones, según me cuentas parece que sea un problema con el puerto y la velocidad de conexión, mas bien el puerto diría yo.

No me queda claro que versión del firmware usas, creo por lo que he leído que usas una de reprap pero esas versiones de firmware no están probadas con el software, en principio funciona con las versiones de fm y con la versión modificada que hay colgada donde el software https://bitbucket.org/jadiazg/cnccontrol/downloads/CNC_V1.0.11.rar.

La ventaja de la versión 2 beta es que si le indicas donde esta la carpeta del firmware puedes configurar la velocidad y los pines y el los modifica en los ficheros del firmware, luego tienes que poner este firmware en el arduino con el IDE de arduino.

En principio los pines no los tienes mas solo que usas distintos pines para el enable, con poner el mismo vale, ya que o están todos los motores funcionando o están todos parados(Aunque el motor no se mueva esta funcionando ya que tiene que mantener la posición).

Una vez has cargado el firmware modificado en el arduino, arrancas el programa,  configuras el puerto (donde te detecta windows el arduino) y la velocidad. Ahora puedes darle al botón de conectar, si todo va bien aparecen 3 ok en el log y en la pestaña de información te sale información del firmware y la versión de este. Ahora ya puedes mover los ejes y cargar un archivo con un gcode para mecanizar lo.

Si no te funciona así no dudes en volver a preguntar.

Logged

Pages: 1 [2] 3 4 ... 26   Go Up
Jump to: