Autor Tema: COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?  (Leído 42929 veces)

Desconectado el octavo pasajero

  • Oficial 1ª
  • **
  • Join Date: Oct 2011
  • Mensajes: 2650
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #30 en: 06 Marzo 2013, 23:03 »
Tou ahí le has dado ,
 
Las holguras y desalineos son algo que se debe controlar y corregir en los parametros o ajustes del cnc y cuando sobrepasan determinados valores se sustituye o trampea lo que toque: guías, patines, husillos, tuercas...
Luego hay máquinas que tienen reglas y/o encoders duplicados en algunos ejes, algunas solo es para mostrar en una pantalla la diferencia entre coordenadas reales/programadas y en máquinas más modernas ya te puede saltar una alarma si la interferencia es demasiado amplia.

Mi reflexión es que no hace tanto tiempo que están disponibles estas ventajas para uso industrial digamos en máquinas de menos de 100000€ y es pronto para aprovecharlas a nivel doméstico, a buen precio quiero decir  :P

si se sacaran los trapos sucios de la mayoría de maquinas de las empresas la palabra precisión cambiaría de significado.

Tou

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #31 en: 06 Marzo 2013, 23:17 »
creo que algunos conceptos de como trabaja un servo y sus controladoras y como interactuan estas con el CNC me parece que no lo tienes muy claro
Que quede claro que de "rollos digitales" yo no tengo ni idea y trabajo mejor si no tengo que abrir el armario eléctrico  ;D .
Solo quería compartir lo que he visto y averías que me han pasado personalmente. He visto el mismo control Fagor montado con motores de pasos o servos y solo habría que desenchufar y cambiar settings. Luego he estrenado máquinas en las que el captador de posición era un opcional que pagas o no y en la puesta en marcha se verifica y configura, o en una muy vieja taladradora-roscadora Maquisis incluso se lo llegamos a desmontar cuando se estropeó y simplemente marcaba 0 en el eje X sin alarmas. El resto de por donde entran y como salen las coordenadas son conjeturas mías   :-X

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #32 en: 06 Marzo 2013, 23:25 »
ok mi experiencia digamos que es un poco distinta a la tuya,pero leyendo unos cuantos tochos y preguntando a los que saben de cncs de verdad saque unas conclusiones muy claras de como interactuan los servos profesionales y sus controladoras con los captadores lineales de la maquina y de como interpreta el cnc esos parametros,en este post toda la informacion y experiencias de cada uno son bienvenidas siempre y cuando no sean chorradas o comentarios que no vengan al tema en cuestion,en tu caso ya que trabajas con cncs de verdad tu experiencias y observaciones son bienvenidas ya que siempre aportan cosas que a veces no nos damos cuenta asi que a ver si entre todos sacamos algo concluyente para nuestros sistemas caseros y si no pues seguro que aprendemos un monton de cosas .brinda

Tou

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #33 en: 06 Marzo 2013, 23:30 »
Tou ahí le has dado ,si se sacaran los trapos sucios de la mayoría de maquinas de las empresas la palabra precisión cambiaría de significado.
Que no es eso tampoco pero el cero no existe: primero la mecánica debe estar lo mejor posible. Aquí confío que Borondes y sus técnicas rurales  ;) se aproximarán al 0,0. Seguro que la electrónica tambien la borda el resto del equipo  .bien .

Las controladoras serán lo mejor dentro de lo que el bolsillo permita pero claro a mi se me hace raro que un software de 150€ como Mach3 maneje todas las señales que le entran y vomite pulsos coherentemente  :o
De EMC me lo creería más por eso estoy atento  .brinda

Desconectado dedalo1111

  • Aprendiz
  • *
  • Join Date: Jul 2010
  • Mensajes: 918
  • Ubicación: Madrid
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #34 en: 06 Marzo 2013, 23:34 »
Hola, ufff como cunde el hilo en un solo día. Os cuento lo que yo llevo indagado -a nivel de documentación ojo, me puedo columpiar porque aún no me he puesto al lio- a ver si entre todos sacamos algo en claro esta vez.

................

En Mach3 lo que llevo leido -de foros- me coincide con lo que ponéis, puede leer de reglas A/B añadiendo un segundo puerto, pero solo lo usa para el DRO... lo cual es una sorpresa ¡carajo!, si manejas lo más complicado la trayectoria, la generación de pulsos e incluso tienes la lectura de un DRO... ¿no rematas la faena y añades una "formulita" en el programa??.

Yo probaría a mandar un correo al soporte de Mach3 (ya que lo tienes comprado) y preguntarles directamente a ArtSoft que confirmen si esto es así, incluso en las últimas versiones.

.................

Sobre LinuxCNC definitivamente si es posible, al menos a nivel de teórico/manuales -salvo el tema de frecuencia de pulsos que comentáis que desconozco-. Es lo que llaman "PID anidado" (nested PID), hay o había una sección de HAL dedicada a ello (que basta que la busque para no dar con ello).

Lo que se consigue con este doble lazo, es que el lazo interno gobierna la velocidad del motor y la regla en el lazo externo gobierna la posición. Con ello se obtiene la máxima precisión posible.

La implementación con "servoamplificadores" es la más sencilla, "PID" no deja de ser más que una fórmula que simplificando mucho es:

Código: [Seleccionar]
error = [valor real] - [valor teórico]
error, puede ser velocidad o posición, según lo que estemos calculando (un tacómetro o una regla de posición).

Este valor de "error" es fácil de convertir en una señal de +/-10V y ya tienes un lazo cerrado. Cuando se complica es cuando la señal son Pulso/Dir... pues hay que andar generando pasos que compensen y a la vez mantener el ritmo.

A ver si puedo sacar un rato y pongo los enlaces concretos a toda esta "teoría" en los manuales del LinuxCNC.

En esta parte es donde se agradecerían enlaces a información relativa.

Salu2

PD. Yo en mi controladora estoy incorporando toda esta lógica en el micro del servo de cada eje, porque como dice Gil "divide y vencerás" en la línea de no hacer coincidir todas estas señales sobre el PC y que sea el cuello de botella como comentábais.
Fresadora Wabeco F1200E CNC, Torno Warco WM-180, Sierra FEMI 780XL, cortadora porex FDC4

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #35 en: 06 Marzo 2013, 23:46 »
varias cosas,mi maquinillo va a llevar husillos de bolas hiwin y no mierda china,el ajuste sera lo maximo que la mecanica RURAL me pueda dar,y la electronioca esta compuesta por servomotores profesionales con encoders de 2000 pulsos y controladoras profesionales para esos servos osea que no tiene nada que ver con un motor de pasos y una controladora china..y el cnc lo va a controlar linux cnc lo del mach3 es para recabar informacion por si alguien que lo use le pudiese servir lo que descubramos,y las reglas opticas seran de 5micras osea que veremos a ver lo que logramos con este coctel de piezas,y si es cierto que el cero absoluto no existe pero ay que intentar acercarse lo mas posible,no es lo mismo acercarse 3 micras que 3 decimas,ademas yo no soy conformista si no hace las cosas el cnc como yo quiero que las haga pues desarmos el invento y vendo las piezas y sigo trabajando en mis maquinas manuales que esas si hacen lo que yo les digo a la milesima.hacerse un cnc para que vaya mas o menos bien no esta dentro de mi vision o va bien o no va y si no va que le den..ja ja el cnc que estoy casi seguro de que ira casi perfecto es el de el compañero y amigo CARLINOS ya que lo e visto in situ y con los componentes que tiene si hace lo que le queda igual de bien que lo que tiene echo sin ninguna duda sera uno de los mejores routers que veremos en mucho tiempo y ademas con potencia de maquina de verdad no con pijaditas asi que la gente sube mucho el nivel por que tiene claro lo que hace y cada vez lo hace mejor,logicamente querer hacer un cnc casero con precision y gastarse 500 euros entonces despues que no se queje de que es una porqueria y de que va mal..logicamente muchas veces tienes lo que pagas y por mucha electronica que le pongas con una mecanica de pichiglas no se consigue mas que un monton de tiempo y de dinero tirado

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #36 en: 06 Marzo 2013, 23:52 »
YUPIIIIIIIIIIIIIIIIIIIIIIIIIIII mi equipo de colaboradores electronicos VEO QUE SON UN POCO RURALES y parece que no lo ven imposible por lo que un millon de  .palmas .palmas .palmas .palmas .palmas .palmas .palmas y seguimos adelante con la moral muy alta ahora despues de dedalo1111 falta gil para que lance una de sus bombas y nos deje flipando..ja ja y becerra pues que lea otro poquito mas el manual del emc y a ver si logramos hacer un coctel que lo podamos digerir..ja ja .brinda

Desconectado dedalo1111

  • Aprendiz
  • *
  • Join Date: Jul 2010
  • Mensajes: 918
  • Ubicación: Madrid
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #37 en: 06 Marzo 2013, 23:57 »
Fresadora Wabeco F1200E CNC, Torno Warco WM-180, Sierra FEMI 780XL, cortadora porex FDC4

Tou

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #38 en: 06 Marzo 2013, 23:57 »
Citar
hacerse un cnc para que vaya mas o menos bien no esta dentro de mi vision
¿Tienes controlada tambien la calidad de la corriente que te llega? Espero que te llegue en perfecta sincronía o como se diga pero un desfase pequeño te da al traste con cualquier precisión electrónica,  lo digo porque en el curre hubo que poner un transformador :'(
Y  repito que os deseo que os salga ese cóctel de piezas lo mejor posible y me queda claro que no vas a usar una placa cnc de ebay  ;D ;D

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #39 en: 07 Marzo 2013, 00:00 »
la corriente de mi taller entra estabilizada con 25amperios y filtrada..tu tranquilo que eso ya lo tengo por culpa de los variadores desde hace unos cuantos años para proteger la electronica de los siemens micromaster de mis maquinas manuales,y la electronica no es una china de ebay...ja ja
aqui te dejo una muestra de mi electronica CHINA..ja ja
http://foro.metalaficion.com/index.php/topic,10532.195.html
« última modificación: 07 Marzo 2013, 00:05 por Borondes=100%Rural »

carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #40 en: 07 Marzo 2013, 17:07 »
El problema del Mach 3 y Linux es que tiran mucho del procesador del ordenador y con salida por puerto paralelo hay límites de velocidad insalvables.Cualquier CNC profesional tiene procesadores independientes que trabajan a varios MHz que es lo que necesitan las entradas de encoder.La entrada de encoder 2 exterior del servo de Borondes acepta señales de 800KHz que al final son 3.2 millones de cuentas por segundo y si multiplicamos eso por 4 entradas para una fresadora de 4 ejes ya me diréis lo que hace el procesador del PC con eso.
Yo pienso que el que quiera hacer un control CNC profesional tiene que comprar tarjetas PCI con software dedicado que también puede ser de otros fabricantes y que llevan procesadores independientes que hacen todo el trabajo pesado.
Naturalmente estas tarjetas se van por encima de 300 euros si compramos una china (que seguro puede ser muy buena) y se van a mas de 1000 si compramos una europea o americana.

Desconectado dedalo1111

  • Aprendiz
  • *
  • Join Date: Jul 2010
  • Mensajes: 918
  • Ubicación: Madrid
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #41 en: 07 Marzo 2013, 20:52 »
Nasss, cierto que no todo se puede leer por el puerto paralelo. Aunque da un ancho de banda algo superior a 1Mhz, para el caso de una regla con resolución de 3 micras a ¿1000mm/min? lo sobrepasa.

En el caso de Mach3 el problema de uso de CPU es que al no tener un sistema de "tiempo real" (el RTOS del Linux modificado que lleva LinuxCNC) lo que hacen es poner en bucle a muestrear las patillas a toda leche. Para frecuencias de Khz pues "vale"... pero no para estos usos más serios que buscamos.

Completamente de acuerdo en que cada eje ha de ser "ayudado" con hardware dedicado (distribuir las tareas que decía Gil en su día). En particular hay una "gama" bastante bien integrada con Linux CNC que son las MESA: http://www.mesanet.com/fpgacardinfo.html (hay otros fabricantes por supuesto).

Disponen de un "chip" dedicado (FPGA, que viene a ser como un micro "simplón" pero especializado en I/O) y hay toda una gama con >50 I/O (frente a la docena de un puerto paralelo) y contadores para las reglas que alcanzan los 200Mhz. Las hay PCI, USB e incluso Ethernet, pero estas últimas el driver está en "beta"... en los foros USA tienen muy buena acogida.

En Linux CNC tienen los drivers para ellas publicados e integrados con ejemplos de configuración (son los HOSTMOD2) para encoders, servos, PaP, etc. (hay otros fabricantes, pero de lo que he leido me ha parecido los más extendidos con un precio muy razonable precio/características).

La filosofía de estas tarjetas, es poner una tarjeta al ordenador (mejor PCI, pero puede ser hasta ethernet) y esta "breakout" dispone de uno(varios) conector(es) 50pines "estandar a sus tarjetas" de forma que acoples una tarjeta de encoders, o drivers de motor, o relés, o entradas optoacopladas.... es muy, muy completa la familia.

Estos son unos ejemplos de configuración con diferentes modelos de sus tarjetas + complementos: http://linuxcnc.org/docs/html/drivers/hostmot2.html#_configurations

Ale, ya tenéis lectura amigos  ;D ;D

Salu2

PD. I/O para el que no le suene son Input/Output... entradas/salidas... vamos, los pines en el caso del puerto paralelo que son las señales/cables que puede manejar el ordenador.
« última modificación: 07 Marzo 2013, 23:48 por dedalo1111 »
Fresadora Wabeco F1200E CNC, Torno Warco WM-180, Sierra FEMI 780XL, cortadora porex FDC4

Desconectado rosli

  • Aprendiz
  • *
  • Join Date: Nov 2011
  • Mensajes: 98
  • Ubicación: Navas (barcelona)
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #42 en: 09 Marzo 2013, 01:15 »
Hola..

No quiero ser categorico pero yo lo veo asi:

El lazo cerrado los que teneis servos ya lo teneis, no busqueis por que no hay mas, ni reglas exteriore en la mesa ni nada.
Si tu le das a un servo con su driver configurado para que acepte pulsos direccion, por ej. 30 pulsos el girara 30 pulsos
ni uno mas ni uno menos, por que si hay una fuerza exterior que quiera desviarlo de esta posicion, el servo contrarrestrara
con toda su potencia esta fuerza.

Cuando hablais de maquinas que llevan servos y ademas reglas en las mesas, estas solo se usan para decirle al control a la
velocidad a que ba hacia el destino y asi poder preveer como llegara y ajustar la velocidad del servo con su PID para que no se pase. Algunas ademas las utilizan para detectar un posible error del control (Redundancia). Hay maquinas que para este menester usan una dinamo taquimetrica.

El famoso lazo cerrado que se comenta por los foros es solo para motores pap independientemente del programa que los controle Mach, Linux, ya que estos pueden perder pasos. UN SERVO NO.

Desconectado tio_gil

  • Global Moderator
  • Oficial 1ª
  • ****
  • Join Date: Sep 2009
  • Mensajes: 3099
  • Ubicación: Madrid - España
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #43 en: 09 Marzo 2013, 08:51 »
Rosli, te apuesto lo que quieras a que hago perder la posicion a un servo de los que se usan por aquí y el driver ni se entera y el programa tampoco.

Olvídate del tipo de motor que se quiera poner, como si quieres poner un conejillo de indias corriendo en el carrusel y este acoplado a los ejes. Lo que estamos viendo es cómo meter un lazo cerrado como Dios manda a uno de estos programas (y ya por lo visto, el candidato es el Linux CNC). Otra cosa luego es como lo gestione

La única manera de saber si nos hemos desplazado lo que queremos es medir la mesa (para ser exactos, medir donde se hace realmente el movimiento: si es una mesa, en la mesa, si es un plato giratorio, en plato), lo demás son artificios que más o menos se pueden acercar a la realidad. Así que tengas holguras (por la tuerca, por la mesa, porque los chinos han puesto rodamientos radial en vez de axiales - los que tengan BF-20 que lo comprueben-, etc) no vale para nada el medir lo que se mueve el husillo (ni siquiera si pones un husillo a bolas).

Torno Optimun D240x500 modificado, Fresa BF20L Vario modificada, mucha otra herramienta... y pocas ganas de trabajar !!

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #44 en: 09 Marzo 2013, 10:18 »
TIO_GIL menos mal que tu entiendes a UN RURAL COMO YO .ereselmejor .ereselmejor .ereselmejor .ereselmejor .ereselmejor .ereselmejor .ereselmejor,la explicacion de lo que yo quiero es exactamente como la comenta tio_gil mas claro imposible, .brinda .brinda .brinda .brinda .brinda