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

Desconectado tessen

  • Aprendiz
  • *
  • Join Date: Abr 2010
  • Mensajes: 388
  • Ubicación: Malaga
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #45 en: 09 Marzo 2013, 10:55 »
rosli el lazo cerrado que tu comentas es el que se establece entre las reglas (caso de que existan) y el control, tu podrías apagar la alimentación de los motores y el control seguiría conociendo/controlando la posición, con servos (sean del tipo que sean) que se suelen manejar por estos lares, el lazo cerrado es entre el driver y el motor exclusivamente, si tu obligas al servo a moverse el driver mediante el encoder lo detecta e inicia la corrección, pero el control no se entera de ná

en bucle cerrado "pata negra" no se suelen usar pulsos, se suele utilizar comando de velocidad o par y los driver no intervienen en el proceso, son unos "mandáos" hacen lo que el control les dice, sin escuchar señales externas

dedalo1111 lo explica perfectamente


carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #46 en: 09 Marzo 2013, 11:44 »
No Tessen, en un control de posición siempre se utilizan pulsos para controlar la posición.En un control de par, la variable a controlar siempre es el par y en uno de velocidad la variable a seguir por el control siempre es la velocidad que no tienen nada que ver con el control de posición en el que la variable a controlar es la posición.En un control de posición (caso que nos ocupa)el módulo de posicionamiento (Mach 3 parece ser que no tiene) lleva incorporado un comparador que cuenta los pulsos del valor de consigna y le resta el número acumulado de pulsos con respecto a los pulsos de valor real que manda el encoder  (la regla) tratando en todo momento de que el resultado de la resta sea "0".El control de posicionamiento utiliza  un control mediante pulsos de valor de consigna que puede ser de 2 tipos .

1-PLS/DIR (pulso/dirección)
Con este método se envía a través de una salida una señal de cadena de pulsos al servoamplificador, mientras que la otra salida determina la dirección de giro.

2-FP/RP.(forward position/reverse position) o también CW/CCW (clockwise/counter clockwise)
Con este método una de las salidas entrega al servoamplificador los pulsos del valor de consigna para la marcha a la derecha, y la otra salida los pulsos de valor de consigna para la marcha a la izquierda.

El contador de comparación de valor real/valor de consigna determina la diferencia entre los pulsos de valor de consigna y los pulsos de valor real realimentados.Esta diferencia es conocida también como "pulsos acumulados".

Al operar la máquina con velocidad constante, el número de pulsos acumulados es aproximadamente constante.Durante la fase de aceleración o desaceleración, el número de pulsos acumulado cambia más.

La posición de destino ha sido alcanzada cuando el número de pulsos acumulado es igual o menor que el valor predeterminado.El servoamplificador deja de recibir pulsos de valor de consigna y envía la señal " En posición" (posicionamiento concluido).

El servomotor sigue funcionando aún hasta que el número de pulsos acumulados adopta el valor "0".

El tiempo entre la salida de la señal "IN POSITION" a la parada del servomotor es denominada "demora de detención".

los servos tienen un bloqueo de forma que si actúa una fuerza externa sobre el eje del motor, el motor genera una contrafuerza tan elevada en forma de un par opuesto tal que el numero de pulsos acumulado permanece siendo cero.
« última modificación: 09 Marzo 2013, 12:55 por carlinos »

Desconectado dedalo1111

  • Aprendiz
  • *
  • Join Date: Jul 2010
  • Mensajes: 918
  • Ubicación: Madrid
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #47 en: 09 Marzo 2013, 12:10 »
El otro día me enseñaba Gil dos husillos -de BF20?- que los ponías diente contra diente de uno y otro ¡¡y no engranaban a todo el largo!!!!

Con un doble PID (PID=lazo) este tipo de errores mecánicos se "absorven" y la regla es la que indica la posición real y absoluta sin desviaciones mecánicas y el encoder motor se asegura que las velocidades sean las adecuadas independientemente de la carga, lo cual es fundamental para movimientos coordinados (círculos, ángulos, etc.)

En Mach3 también se puede, pero no parece tan fácil. El otro día "arrebuscando" encontré que publican las interfaces con sus diferentes módulos internos, de forma que puedes "enganchar" al planificador de trayectoria  tu propio programa y delegar en el hardware que se asegure de generar y  mantener las posiciones teóricas. El "pero" es que está muy pobremente documentado, pocos drivers parecen hacerlo y aunque sepas programar lo suficiente no parece haber buen soporte con esas interfaces (incluso Smoothsteeper comentan problemas con algunas versiones, antíguas/free fundamentalmente).

Siguientes pasos: elegir una tarjeta hardware que soporte suficientes:

- contadores para los encoders de las reglas (A/B/I x 4? ejes... ¿señal diferencial o TTL?)
- suficientes I/O para los motores --> PWM / +-10V / Pulse-Dir (enable? error?)
- suficientes I/O para finales de carrera, etc. (deseable protegidos y que permitan sensores inductivos)
- relés para refrigerante?
- velocidad del cabezal? --> PWM/+-10V
==================================================================
TOTAL: ??? ??

Continuación: aprender a configurar HAL para "conectar" todo eso. (HAL es como un cableado de señales "físicas" a datos lógicos pero en un fichero de configuración)

Salu2

PD1. Borondes, te toca revisar especificaciones de tus drivers, reglas, etc. y rellenar la tabla
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 #48 en: 09 Marzo 2013, 12:49 »
DEDALO1111 ahora si que me tiro al rio que lo tengo bien cerca..ja ja DELEGO TODO ESTE TEMA A TIO_GIL que es el que tiene mis componentes por que yo estoy perdidisimo ya no se si voy por pulso y direccion o si me realimento a mi mismo..ja ja,cuando GIL me diga ,michel esto es lo que ay que traer,se trae y punto,porque como meta baza yo seguro que la cago..gracias a todos pero este post era para intentar colaborar a traves de vuestros conocimientos con mis GURUS COLABORADORES ,pero lo que es yo en esto no tengo ni puta idea,LO MIO ES EL MECANIZADO MANUAL.eso si la pàrte mecanica de mis cnc va a ir fina fina,la electronica se la dejo a gil y el linux a jbecerra ya que se ofrecieron amablemente y altruistamente a que de una vez pudiese hacer cumplir mi sueño que era tener cnc caseros al estilo 100% RURAL..gracias a todos de verdad,valoro todas la opiniones y el tiempo que perdeis ilustrandome y ayudandome en un camino TORTUOSO .ereselmejor .palmas .palmas .palmas .palmas .palmas .palmas .palmas .brinda .brinda .brinda .brinda .brinda .brinda .brinda

carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #49 en: 09 Marzo 2013, 18:30 »
A ver ,¿sirve o no sirve esta tarjeta para Mach 3? .Yo de informática no tengo ni idea pero tanta tarjeta para encoder ya mosquea.

http://www.vitalsystem.com/web/hicon/hicon.php

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #50 en: 09 Marzo 2013, 19:09 »
carlinos ,ese es el kit de la cuestion..que ay mucho por el mundo perooooooooooooooooo....no se aclara ni dios...de todas maneras esa tarjeta parece ser para motores de pasos....NO SE estoy ya con las neuronas chamuscadas...a ver dedalo1111 si te responde..ja ja QUE LA FUERZA NOS ACOMPAÑE .brinda


carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #52 en: 09 Marzo 2013, 19:29 »
Bueno, lo voy a preguntar en el foro de soporte de Mach3 y veremos que contestan los fabricantes de la tarjeta de marras.

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #53 en: 09 Marzo 2013, 19:31 »
ok esperamos DATOS .brinda

carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #54 en: 10 Marzo 2013, 20:03 »
La respuesta es que NO SE PUEDE por lo menos con Mach3

currently there are no PID loops inside HiCON to do closed loop control.  however if you use encoder feedback from motor or glass scale, it is used as the starting point of every move, so if there are any lost steps by the motor, they will be removed when the next move is started.  machmotion has done many HiCON installations using AC drives in this setup with excellent results.  They also use differential step/dir signals which virtually eliminates any loss of steps.

regards,
Rufi

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #55 en: 10 Marzo 2013, 20:24 »
TRAduccion de lo que pone carlinos ya que las normas del foro obligan a que los textos puestos en otro idioma deben tener debajo su traduccion en español .brinda

Actualmente no existen lazos PID dentro HICON que hacer control de lazo cerrado. Sin embargo si se utiliza realimentación de encoder de motor o regla optica, se utiliza como punto de partida de cada movimiento, de modo que si hay algún paso perdido por el motor, que se eliminará cuando el movimiento se inicie el siguiente. machmotion ha hecho muchas instalaciones HICON utilizando variadores de CA en esta configuración con excelentes resultados. También utilizan el paso diferencial / dir señales que prácticamente elimina cualquier pérdida de pasos.











« última modificación: 10 Marzo 2013, 20:28 por Borondes=100%Rural »

carlinos

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #56 en: 10 Marzo 2013, 20:27 »
Báscula de cristal=regla óptica.

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #57 en: 10 Marzo 2013, 20:31 »
TOTAL que el MACH3 PATATA ...NO ME ESPERABA MENOS..JA JA VIVA LINUX CNC .brinda

Desconectado Jbecerra

  • Aprendiz
  • *
  • Join Date: Feb 2011
  • Mensajes: 772
  • Ubicación: Mairena del Alcor, Sevilla.
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #58 en: 10 Marzo 2013, 20:41 »
Hola.
Sigo con interés el post, ya que me toca tratar de poner a punto el servomotor del amigo Borondes y no quiero quedar mal.
Espero poder realimentar el servo con la regla, por lo que he leído del linuxcnc ( que es mas agradecido...) y mi experiencia(poca).
He probado a usar el PID que tiene el linuxcnc y lo he realimentado con un potenciometro a través del arduino y funcionaba, pienso que sera cuestión de echarle un montón de horas.
SCARA con pendulo.
« última modificación: 10 Marzo 2013, 20:48 por Jbecerra »
Torno chino 280 -700, Fresadora BF-20. Ceneados.Con Linuxcnc.

borondes2010

  • Visitante
Re:COMO CREAR LAZO CERRADO EN LINUX CNC O MACH3?
« Respuesta #59 en: 10 Marzo 2013, 20:44 »
QUE se ponga a temblar todo el personal con la que vamos a liar...JOSE MARIA sabes que confio en ti,asi que a estudiar .brinda