Autor Tema: Localizar el centro de un cilindro con linuxcnc.  (Leído 6830 veces)

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Localizar el centro de un cilindro con linuxcnc.
« en: 14 Marzo 2014, 00:11 »
Hola.

Cuando he necesitado localizar el centro de un cilindro montado en la mesa de la fresadora siempre me paso un monton de tiempo con galgas o comparadores para centrarlo.

He escrito un programita que te busca el centro haciendo 3 contactos, los necesarios para definir la circunferencia.

No importa ni el diámetro de la sonda ni el diámetro del cilindro, lo único necesario es arrancar el programa con el probe situado en el primer cuadrante si consideramos que el centro esta en 0,0.

Este programa no da el diámetro de la circunferencia, tan solo dice el centro de ella.

(Lunuxcnc   Busca centro de una circunferencia por interior )
(Situar la probe en el primer cuadrante de la circunferencia)
(                        by jbecerra)

(Cambiar estos parametros)

#<Diametro_Aproximado> = 80
#<Velocidad_Busca> = 50

G64
(Toma primer punto)

g90 g38.3 y#<Diametro_Aproximado> f#<Velocidad_Busca>

#<X1> = #5061

(Toma segundo punto)

(Separarse de X1)
g91 g1 x-1 f#<Velocidad_Busca>

g90 g38.3 x[#5061 - #<Diametro_Aproximado>] f#<Velocidad_Busca>
#<X2> = #5061
#<Y2> = #5062

(Toma Tercer punto)

(Separarse de Y2)
g91 g1 Y-1f#<Velocidad_Busca>

g90 g38.3 Y[#5061 - #<Diametro_Aproximado>] f#<Velocidad_Busca>

#<Y3> = #5062

(Calcula X Centro, Y Centro)
#<X_Centro> = [#<X2>+[[#<X1>-#<X2>]/2]]
#<Y_Centro> = [#<Y2>+[[#<Y3>-#<Y2>]/2]]

(Va a centro)
g1 x#<X_Centro> y#<Y_Centro>


M30


El ultimo movimiento sitúa la sonda en el centro de la circunferencia. Donde puede verse ya sus coordenadas.

En este vídeo se ve el proceso.

http://youtu.be/NkPS35BmCL4

El diámetro del cilindro es de 73 mm, para que se pueda apreciar las dimensiones.


Funcionamiento del programa:



Con la sonda situada dentro del primer cuadrante del circulo que queremos localizar, representada por un punto negro que pone Inicio, vamos dirección Y+ hasta tocar, con esto tenemos los puntos X1 e Y1, luego avanzamos en -X hasta volver a tocar, obtenemos los puntos X2 e Y2 y para terminar en dirección -Y donde tomamos los puntos X3 e Y3.

El punto central entre X1 y X2 nos dan el X Central.

El punto central entre Y2 e Y3 nos dan el Y Central.

Usamos las variables del cnc #5061 y #5062 que corresponden al valor del X y del Y del contacto de la sonda.


La sonda con faldas.

Esta hecha de acetal y acero para poder usar el contacto eléctrico, el acero tiene un lado roscado a 10-100 que se aloja en el plastico.



Debido a que la sonda es rígida, el contacto con la pieza puede modificar su posición o forzar la misma sonda, se hace recomendable una baja velocidad para que el tiempo de frenar se minimice, en el video se ve como cuando contacta se deforma  la falda.

Ahora toca modificar el programa para hacerlo usando las 2 posibles maneras de medir de esta sonda, usando la falda para avanzar a alta velocidad y una vez situados cerca usar la velocidad baja para aumentar la precisión.

Para conectar la sonda al linuxcnc tan solo es necesario un pin de entrada libre en la breakboard y unas linea en algún hal.

Si alguien tiene alguna consulta o duda intentare contestarla.
« última modificación: 14 Marzo 2014, 17:49 por Jbecerra »
Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.

Dédalo

  • Visitante
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #1 en: 13 Abril 2014, 11:33 »
¿Cómo corrige la deformación de la campana? En el vídeo no se ve que vuelva a repetir el contacto.
Dédalo

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #2 en: 13 Abril 2014, 13:13 »
Hola.

¡ No te has leido el post !
Cito.
Ahora toca modificar el programa para hacerlo usando las 2 posibles maneras de medir de esta sonda, usando la falda para avanzar a alta velocidad y una vez situados cerca usar la velocidad baja para aumentar la precisión.

y eso de "Ahora toca modificar..." aun no ha llegado,
el video esta hecho usando la falda, pero usándola como si fuera el palpador.
Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.

Dédalo

  • Visitante
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #3 en: 13 Abril 2014, 13:26 »
Sabía que era una cuestión de "faldas". ¡Cherchez la femme!
Dédalo

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #4 en: 20 Julio 2014, 22:15 »
Estoy intentando  reproducir esto.

Tengo configurada la entrada, pero no se para. Si miro en Hal-Configuration-Watch-probe veo que cuando hay contacto pasa de roja a amarillo. Pero no llega a verde. ¿Es eso normal?

Tengo una placa hangyu (la azul) alimentada por usb. Los 5V estan correctos en la placa.

Otro tema es que manual de la placa me vino en un mini CD en blanco (no me vino  >:( ). He ido sacando el pinout por pruebas. ¿Alguien tiene el manual?
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #5 en: 20 Julio 2014, 22:37 »
Tengo el puerto paralelo configurado en modo EPP.
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #6 en: 20 Julio 2014, 23:02 »
Me contesto a mi mismo:

Me faltaba una de las dos lineas "net probe-in"  en el fichero hal.

Ya funciona  :)
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #7 en: 20 Julio 2014, 23:07 »
Hola.

Me alegro que te funcione.

 Ni me dio tiempo a responder :)

Cuando termina el programa la sonda queda en el centro, ahora es el momento de poner las coordenadas X e Y a 0, Supongo que ya lo has hecho tambien.

Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #8 en: 20 Julio 2014, 23:35 »
Pues eso todavia no lo se hacer.
Tampoco acabo de entender porque pones G90. En las multiples pruebas lo quité y no lo me vuelto a acordar.
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #9 en: 21 Julio 2014, 09:01 »
Hola.

G90 pone la maquina en movimientos absolutos y G91 en incremental.

Para separar un poco la sonda despues de haber hecho el contacto uso el G91 , tan solo sumando o restando 1 mm, como este codigo es modal ( se queda la maquina en G91 hasta que se vuelva a cambiar ) hay que volver a las coordenadas en absoluto de nuevo y por eso pongo el G90 que es la forma habitual con que uso el CNC.

Repasare el programa de nuevo, siempre me ha funcionando, pero veo algo raro.

Espero que te funcione, si tienes alguna duda lo comentas.




Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.

Dédalo

  • Visitante
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #10 en: 21 Julio 2014, 11:24 »
¿Ranura?
Dédalo

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #11 en: 21 Julio 2014, 19:37 »
Hay que probar a ir mas rápido. Aunque tarde en parar la señal es instantánea (bueno al menos muy rápida)
El diámetro del sensor no importa porque se compensa.

Dedalo: ¿en que piensas?
Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Dédalo

  • Visitante
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #12 en: 21 Julio 2014, 20:08 »
Dedalo: ¿en que piensas?

Perdona alberttoy y a los demás: era un guiño a Jbecerra.
Y ¿en qué piensas tú? ¿Tenemos que avisar al espíritu de Freud para que nos siente en un diván?
Normalmente me pienso a mí mismo. Así me va...
Dédalo

Desconectado alberttoy

  • Aprendiz
  • *
  • Join Date: Dic 2012
  • Mensajes: 1453
  • Ubicación: Barcelona - Barcelona
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #13 en: 21 Julio 2014, 21:35 »
Yo pienso mucho, casi todo el rato.   ;D   
Es que procuro no ver la tele.  El hecho de que sea gratis me hace sospechar

Torno Optimum 240x500G, Fresadora Vertical/Horizontal ZAY7550, fresadora ceneceada SIEG Super X2P HiTorque Mill,  soldadora mig/mag/tig

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Re:Localizar el centro de un cilindro con linuxcnc.
« Respuesta #14 en: 21 Julio 2014, 22:54 »
Hola.

Cuento un poco lo de la "ranura" por si a alguien le interesa. 

El amigo Dedalo y yo hemos compartido una buena cantidad de horas, se supone que "enseñandole" lo poco que se de linuxcnc y algo de 3d.a cambio me he empapado de su buen hacer con el uso que hace de las herramientas y las maquinas.

A uno de los primeros programas que escribi en codigo G, lo llame "ranura" tan solo hace eso, una ranura definiendole el X e Y de inicio de la ranura, el X e Y del final de la ranura , a que profundidad total Z y la profundidad de las pasadas. Este programa ( como plantilla ) me sirve mucho como base para otros y cada vez que me preguntaba algo de CNC, yo le respondia, "  ... ranura, modificadole ...."

El hombre se ha pensado que como no sea con "ranura", no se puede hacer nada ( en mi caso ha acertadao bastante) asi que seguramente esa ¿Ranura? que inquirio en el hilo solo sea un "tic" que se le ha quedado por mi compañia.

Llamemosle. Efectos colaterales.


Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.