Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

PID inestable

Hola

 

 

Tengo un VI que simula el control de velocidad con un sistema PID de una maquina embobinadora de rollos de metal.

 

El motor principal tiene que ir bajando su velocidad ya que a medida que el diametro del rollo aumenta la velocidad angular tambien lo hara, por lo que el motor tiene que bajar su velocidad a para que mantenga una velocidad angular constante.

 

El problema con mi VI es que al momento de que el sistema alcansa el SetPoint este se vuelve inestable.

 

Adjunto el VI.

 

Gracias

 

 

0 kudos
Mensaje 1 de 7
3.902 Vistas

Hola Antonio García,

 

¿Puedes describir más a detalle el comportamiento inestable que se presenta?

 

Probé tu VI y funcionó muy bien. Al iniciar, el motor incrementa su velocidad y empieza a disminuir conforma la lectura del encoder se acerca a la referencia. Finalmente cuando el encoder llega justo a la referencia, la velocidad del motor continúa decreciendo para mantener constante el encoder. Según entiendo ese es justo el comportamiento que esperas.

 

Quedo en espera

Salvador Mikel
National Instruments
Ingeniería de Aplicaciones
www.ni.com/soporte
0 kudos
Mensaje 2 de 7
3.874 Vistas

Hola

 

La inestabilidad se presenta cuando la Variable del proceso se iguala al Setpoint, en este caso el valor esta en 10, tal vez no se note tan rapido si tienes ganacias muy bajas.

 

 

Ganacias

 

K: 7

I: .010

😧 0

 

 

PID.jpg

 

Saludos

 

 

0 kudos
Mensaje 3 de 7
3.866 Vistas

Estimado Antonio

 

Me resulta realmente interesante tu aplicación pero tengo algunas dudas.

 

Mencionas en tu primer post que mientras aumenta el diámetro de lo que se está embobinando se reduce la velocidad angular. Esto no me hace de todo clic a menos que la razón por la cual se reduzca sea el peso y el motor vaya cediendo, pero de no ser así normalmente la velocidad angular sería constante independientemente del diámetro de lo embobinado. Lo que definitivamente si cambia es la velocidad tangencial que es w*r, pero la angular no de manera natural. Revisé todos los resultados en un arreglo y llegué a unas conclusiones. Si entiendo tú estás tratando de controlar la velocidad del motor e igualarla a la velocidad del encoder y se llega a controlar durante un tiempo pero ocurre algo muy particular entonces, mientras la variable de proceso es mayor al setpoint no hay problema porque todo es lineal, pero, al ser inferior la planta ya no se comporta igual (por dar un ejemplo el setpoint es 10 y la variable de proceso 9.8) ya que al velocidad del motor va a aumentar pero también aumentará el diámetro (siendo como un doble aumento) provocando un aumento de más en la velocidad en la siguiente iteración lo cual tratará de compensar bajando la velocidad pero aún así aumentará el diámetro y eso se irá repitiendo una y otra vez sacando la planta de control.

 

Aquí mis recomendaciones serían que primeramente te asegures que la lógica que estás empleando sea la correcta, yo no me metí demasiado a analizarlo y probablemente esté mal, pero no estaría de más que revisaras eso. Si la lógica está bien, entonces podrías cambiar los parámetros de control en función a los rangos para que no se salga de control.

 

Quedo a tus órdenes para cualquier cosa.

 

Saludos

 

Coamín Cruz

NI México

0 kudos
Mensaje 4 de 7
3.765 Vistas

Estoy tratando el mismo tema, alguien em podria ayudar a la formulación matematica de como funciona? Esto es, mantener una velocidad lineal constante en funcion de una consigna, y que el solo calcule la velocidad angular en funcion de su  diametro en todo momento. Basicamente, no entiendo como va calculando lo que se desenrolla o enrolla y en funcion de eso y la velocidad, el diametro.

0 kudos
Mensaje 5 de 7
3.304 Vistas

Hola Kandu;

 

Te recomiendo que coloques tu pregunta en un foro nuevo, pues este fue respondido por última vez en 2010. 

 

Saludos

0 kudos
Mensaje 6 de 7
3.234 Vistas

Buen Dia

 

Kandu

 

Puedes hacer lo siguiente

 

  • Colocar un sensor de ultrasonido que te este midiendo el Radio del Rollo.
  • Colocar un sensor que te mida 1 vuelta por cada revolucion y calcular el diametro sumando el espesor por cada vuelta

Saludos

 

Antonio Garcia

0 kudos
Mensaje 7 de 7
3.231 Vistas