Go Down

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

rego

gracias ngc1300.

segun valla avanzando con mi fresadora me iran saliendo mas dudas jejej y os mostrare que sale de todo esto.

en cuanto el cortador de foan cnc estaria bueno ya que en mi casi me serviria para hacer alas de los aviones pero primero me voy centrar en la fresadora que le sacare mas partido

muchas gracias, un saludo

Animbius

ngc1300 perdón por tanto tiempo de ausencia!!!!

La verdad es que mi fin de año fue muy complicado y sumado a un viaje que realicé... pero acá estoy de vuelta! y pronto a probar cnc nueva!

Te cuento que me leí todo lo que avanzó el desarrollo y tengo mucho nuevo por probar! ya me estoy bajando las versiones nuevas y tengo que ponerme al día con el tema finales de carrera y zonda de altura!

Tengo una sola consulta previa a testear! eso que comentas tiempo atrás sobre una corrección de altura.... en que consiste?

voy a ver que resulta todo y me doy otra vuelta por el foro!

SALUDOS Y EXCELENTES AVANCES!!!!! 

ngc1300

Hola animbius, me legro que estés de vuelta, lo de la corrección de altura es por que normalmente al montar la base suele haber una diferencia de altura de un lado sobre el otro, yo por ejemplo en mi caso el lado izquierdo de la base es 0,2 mm mas alto que el derecho esto cuando fresas por ejemplo una pcb hace que en un lado lado las pistas no se lleguen a marcar, con esta opción el programa corrige este error y modifica la altura para  compensar esta diferencia.

Estoy en las pruebas finales de la nueva versión 2.1 que trae bastantes cambios y la cual me esta costando algo mas probar.

Un saludo.

ngc1300

Hola!!

Después de una semana de pruebas con el programa, voy a colocar una versión beta por si alguno se anima a probarla mientras que yo sigo realizando pruebas con ella, A mi me ha funcionado perfectamente en todas las pruebas que he realizado, pero no puedo asegurar al 100% que no haga alguna cosa rara.

A continuación indico los cambios que he han efectuado:

         - Permite asignar a 0 cada eje de forma independiente.
         - Permite utilizar la sonda de contacto para asignar el eje Z
         - Permite ir al origen de coordenadas en los ejes X e Y manteniendo la altura del eje Z.
         - Añade parámetro para activar y desactivar el uso de la altura de seguridad
         - Cuando se va al origen de coordenadas si esta activo el uso de la altura de seguridad, primero mueve el eje Z a dicha altura y después mueve los ejes X e Y, finalmente baja el eje Z a 0
         - Modifica gamepad para movimientos en continuo, a medida que se mueve la palanca el movimiento es mayor pasando de los 0.2 mm a 1 mm al final del recorrido.
         - Añade opción para configurar carpeta por defecto a la hora de abrir archivos, aunque mantiene la ultima en la que se ha abierto un archivo si no hay carpeta por defecto.
         - Añade parámetros por defecto para las dimensiones del material, al igual que el anterior, en caso de no haber por defecto, recupera la ultima que se utilizo, y en caso de no haber ninguna, lo obtiene de la pieza a abrir.
         - Añade pre visualización del archivo Gcode (temporalmente los archivo con muchas lineas mas de 50000 no se pueden pre visualizar)
         - Añade una opción para personalizar las medidas de las transmisiones.
         - Añade un campo con el tipo de placa arduino, y muestra en los campos de pines tantos pines como tiene la placa seleccionada (en caso de no estar la placa, buscar una homogénea o notificarlo para añadirla).
         - Modifica la pantalla de configurar limites:
                  * Añade botón para buscar el origen de coordenadas usando los finales de carrera de los ejes X e Y
                  * Añade botón para buscar el origen del eje Z usando una sonda de contacto.
                  * Añade botón para buscar el final del eje X usando el final de carrera.
                  * Añade botón para buscar el final del eje Y usando el final de carrera.
                  * Añade botón para buscar el final del eje Z usando el final de carrera.
         - Modifica la pantalla de configurar alturas añadiendo un botón para buscar el origen del eje Z usando una sonda de contacto.
         - Añade un sistema para controlar un botón de parada de emergencia.
         - Cuando se produce una parada de emergencia, se recuperan las coordenadas donde se ha quedado la maquina.
         - Durante la ejecución de un programa si se produce una parada de emergencia, recupera las coordenadas y se pone en pausa, pudiendo continuar en el mismo lugar donde se produjo la emergencia.
         - Cuando se asigna la carpeta en la que se encuentra el firmware, pregunta si se desea cargar la información del firmware.
         - Añade mensaje de aviso de colocación de sonda de contacto.

Hay que tener en cuenta que se han añadido nuevos parámetros a la configuración, hay que asegurar que esos parámetros tienen la información correcta.

Enlace de descarga: https://bitbucket.org/jadiazg/cnccontrol/downloads
Enlace de incidencias: https://bitbucket.org/jadiazg/cnccontro ... tatus=open

Animbius creo que tu eres el único que usa la pantalla pequeña, si hay alguna cosa que no ves bien, dímelo.

Un saludo.

rego

Hola a todos.

ya consegui hacer andar el programa con el arduino enchufado y un mando jejejej felicidades esta de vicio

pero ahora tengo varias dudas ya que no tengo mucho conocimiento sobre esto

el caso es que estube mirando por internet como conectar los drivers A4988 al arduino y encontre varias formas distintas mi pregunta es:

para que funciones con este programa hay alguna manera especial de conectar los drivers??

gracias

ngc1300

En la pagina 2 del post hay un esquema de conexión, solo tienes que cambiar los pines  STEP, DiR y ENABLE, por los que tu tengas en el config.h del firmware, lo único que cambiaría de ese esquema es sacar la masa y los 5v del arduino.

rego

#96
Feb 09, 2014, 10:02 pm Last Edit: Feb 09, 2014, 11:34 pm by rego Reason: 1
joder  perdona mira que mire 100 veces el post jajjaja

el caso es que mire tanto por internet y vi un video que te explica esta forma que me lie jejej

muchas gracias por todo, un saludo

ngc1300

Alguno ha probado el manejo con el gamepad? Que os parece el cambio?

jucarar

Hola ngc1300,
Estaba revisando los cambios de la nueva versión del firmware para ponerlos en la que yo uso (la tengo modificada para poder usar también los ln298 en vez de lo polulu) y he visto una cosa que me extraña un poco
En el fichero
stepperCntrl.cpp
void stepperCntrl::moveLine(void)
   //set our current position and target position to be the same

   //_current_units.x = _target_units.x;

   //_current_units.y = _target_units.y;

   //_current_units.z = _target_units.z;

   _current_units.x = toMM(_stepsPerUnit.x, _current_steps.x, _units_in_mm);

   _current_units.y = toMM(_stepsPerUnit.y, _current_steps.y, _units_in_mm);

   _current_units.z = toMM(_stepsPerUnit.z, _current_steps.z, _units_in_mm);

Imaginó que es para guardar la posición real, pero si alguien esta trabajando con las medidas en pulgadas en vez de en mm, ¿no guardaría incorrectamente la posición real?


Saludos

ngc1300

#99
Feb 11, 2014, 09:16 pm Last Edit: Feb 11, 2014, 09:26 pm by ngc1300 Reason: 1
Si tienes razón, pero creo recordar que se establece al principio en mm, mañana lo mirare he intentare cambiarlo, también esta así por que el programa todavía no trabaja en otra cosa que no sean mm.

ngc1300

Bueno ante la duda de  que pudiese haber algo mal he mirado el código en un momento y te confirmo que es correcto, en la función toMM utiliza una variable para convertir a mm, como decía en el anterior post esta se asigna a 1 por defecto (mm) y posteriormente por códigos GCode se puede pasar a pulgadas, para hacer esto se llama al método setUnit que modifica el valor de la variable de conversión con el valor en mm de las pulgadas, con lo  que la función devolverá pulgadas en vez de mm. Lo correcto hubiese sido llamar a la función toUnits en vez de toMM.

jucarar

Hola ngc1300

Muchas gracias por la respuesta. Lo cierto es que el nombre de la función despista un poco, pero esta claro como funciona.
En cuanto pueda probaré la nueva versión.
Saludos

Ocirema

#102
Feb 12, 2014, 01:52 am Last Edit: Feb 12, 2014, 02:21 am by Ocirema Reason: 1
Un saludo soy nuevo en el foro...Gracias x el software ngc1300, te comento que lo probe y funciona bien pero no estoy conforme con el torque de mis motores... Sera por que estoy utilizando el paperstepper(l298)?... me comprare los A4988 y vere como  funciona...
Una consulta ngc1300, quisiera aportar con el desarrollo del software, estuve haciendo algo parecido con Matlab pero ahí no mas quedo añadiendo algunas cosas para manejar la potencia de un diodo láser ya sea para grabar en madera, circuito impresos, cortar tela,etc ... Que debo hacer?, que debo descargar?... Agradeceria mucho de tu ayuda

Miguel75

Hoy por fin he podido probar un poco la última versión, ya terminé de colocar el eje z y los finales de carrera.

Por encima te comento que la vista previa la he tenido que desactivar, se me quedaba pillado el programa y eso que los archivos nos son muy grandes. Creo recordar que advertías que podría pasar algo semejante.

El mando creo que tengo la misma configuración que tu, mando de ps2 con adaptador usb, no lo había probado antes así que no te puedo decir si ha mejorado o no. Solo que cuando muevo el stick se mueve una o dos veces y para que siga moviéndose hay que mover aunque sea un pelín el stick. El movimiento que me hace a mi, es acelera mueve un poco y desacelera.
Lo que si he comprobado es que si desenchufas el pad mientras usas la cnc (al menos la mía), se vuelve totalmente loca con las coordenadas.

La sonda aun tengo que montarla para probar.

El botón de parada de emergencia... de lujo. Y he intentado hacer la configuración de limites con la búsqueda de los finales de carrera, pero...  :smiley-roll-sweat: tenía confundido los ejes  =( cosa de la que acabo de darme cuenta. Mañana volveré a calibrarla.

De momento no he podido mirar más, pero me gusta mucho. Un trabajo genial ngc1300

ngc1300


Hoy por fin he podido probar un poco la última versión, ya terminé de colocar el eje z y los finales de carrera.

Por encima te comento que la vista previa la he tenido que desactivar, se me quedaba pillado el programa y eso que los archivos nos son muy grandes. Creo recordar que advertías que podría pasar algo semejante.

El mando creo que tengo la misma configuración que tu, mando de ps2 con adaptador usb, no lo había probado antes así que no te puedo decir si ha mejorado o no. Solo que cuando muevo el stick se mueve una o dos veces y para que siga moviéndose hay que mover aunque sea un pelín el stick. El movimiento que me hace a mi, es acelera mueve un poco y desacelera.
Lo que si he comprobado es que si desenchufas el pad mientras usas la cnc (al menos la mía), se vuelve totalmente loca con las coordenadas.

La sonda aun tengo que montarla para probar.

El botón de parada de emergencia... de lujo. Y he intentado hacer la configuración de limites con la búsqueda de los finales de carrera, pero...  :smiley-roll-sweat: tenía confundido los ejes  =( cosa de la que acabo de darme cuenta. Mañana volveré a calibrarla.

De momento no he podido mirar más, pero me gusta mucho. Un trabajo genial ngc1300


Me alegra que hagáis esas prueba, hay algunas cosas que yo como programador nunca pensare en hacer, como por ejemplo desactivar el gamepad mientras funciona el programa, me lo apunto a ver que esta pasando, aun así te comento que esta opción es un poco caótica para el programa y para el arduino ya que va mandando ordenes de avance continuamente, y al principio había muchos problemas, aunque en esta versión funciona de forma muy estable.

En cuanto a la vista previa, en principio no tenia pensado ponerla por que puede irte perfecto o puede que se te quede colgado todo el rato, por eso incluí la opción de desactivarla, en todo caso si puedes pasarme los ficheros con los que te pasa, ya que yo solo encontré problemas con los grandes, aunque también tengo que decir que mis fichero son sencillos.

El movimiento con el gamepad funciona de la siguiente manera he configurado distintos tipos de avance dependiendo donde este la palanca, con lo que si tienes la palanca al final del todo avanzara a pasos de 1mm cada vez,  a medida que se acerca la palanca al origen va disminuyendo los pasos, 0.8mm , 0.6mm , etc hasta avances de 0.2mm que es lo mínimo que avanza. en todos los casos tienes que mantener la posición de la palanca para que avance.  El hecho de que notes que acelera y para es por que no hay un movimiento continuo, si no que va mandando avances continuos, he intentado hacer un movimiento continuo pero el firmware no permite esa opción sin sacrificar mucha velocidad en los motores, aunque sigo investigando.

un saludo y gracias por los comentarios.

Go Up