Autor Tema: Teoría y práctica de controladores PID  (Leído 13655 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #15 en: 07 de Marzo de 2013, 17:31:21 »
He publicado cómo calcular los parámetros PID para un sistema utilizando su respuesta al escalón.

https://sites.google.com/site/picuino/ziegler-nichols

Aplicando un escalón al simulador de control de temperatura da el siguiente resultado:



Con esta respuesta al escalón se pueden calcular los parámetros del PID con el método de Ziegler-Nichols:
    Kp = 0.290
    Ki = 0.121
    Kd = 0.174

y se obtiene una respuesta con un pequeño sobrepulso:




Saludos.
« Última modificación: 07 de Marzo de 2013, 17:41:46 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #16 en: 07 de Marzo de 2013, 17:41:21 »
A partir de los parámetros calculados con Ziegler-Nichols, se pueden ajustar a mano los valores para conseguir una respuesta un poco más rápida y estable:
    Kp = 0.28
    Ki = 0.10
    Kd = 0.21




Saludos.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Teoría y práctica de controladores PID
« Respuesta #17 en: 08 de Marzo de 2013, 12:56:26 »
Increible! Cuando estuve desarrollando el software y hardware de control de un motor lineal de 500Kg de fuerza me volvi loco con el control PID, de hecho al final termine ajustandolo a ojo sin entender completamente como ocurria, y tardando un monton de tiempo!
Acabo de ver tu pagina sobre el control PID y esta todo perfectamente explicado, con una sencillez brillante!
Me encanta!
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #18 en: 08 de Marzo de 2013, 15:37:34 »
Gracias Marttyn, echaba de menos algún comentario y el tuyo no podía ser mejor.

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #19 en: 08 de Marzo de 2013, 16:53:05 »
Ya he publicado el método de sintonización del PID con la ganancia crítica en lazo cerrado:

https://sites.google.com/site/picuino/ziegler-nichols

Primero conseguimos que el sistema en lazo cerrado oscile de forma mantenida aumentando la ganancia proporcional Kp = 0.43 y eliminando las ganancias derivativa e integral (Kd=0  Ki=0)



La ganancia crítica será entonces Kc = 0.43 y el periodo de oscilación crítico será Tc = 5.3 segundos.

A partir de estos dos parámetros se pueden calcular los parámetros del PID:

   Kp =  0.254    
   Ki = 0.096
   Kd = 0.169

Que consigue la siguiente respuesta:




Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #20 en: 10 de Marzo de 2013, 09:13:03 »
He iniciado una nueva página donde se explica la implementación de un PID digital:

PID digital

Por ahora se muestra el esquema de un controlador PID digital:



También se explica cómo escoger el periodo de muestreo y las ecuaciones para programar el PID digital.

Sólo me falta programar un ejemplo real. Estoy pensando en utilizar un transistor, una resistencia o lámpara que caliente y un sensor NTC para medir temperatura.

Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #21 en: 10 de Marzo de 2013, 14:40:25 »
Veo que el tema tiene interés por todas las visitas que está recibiendo.
Quiero animar a que hagan comentarios o críticas constructivas.

¿A alguien le gustaría que tratase algún tema de PIDs que no haya tratado?
¿Alguna errata que modificar?
¿Alguna explicación que no queda del todo clara?

Con ayuda podré mejorar el tema.

Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Teoría y práctica de controladores PID
« Respuesta #22 en: 10 de Marzo de 2013, 15:54:35 »
Yo visito cada post que pones y lo leo con interés, pero no se me ocurre mejor comentario que este:  ((:-)) ((:-)) ((:-)) ((:-))

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Teoría y práctica de controladores PID
« Respuesta #23 en: 10 de Marzo de 2013, 16:15:53 »
Me pasa igual, te vengo siguiendo con mucha atención. ((:-)) ((:-))
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: Teoría y práctica de controladores PID
« Respuesta #24 en: 10 de Marzo de 2013, 19:43:52 »
Yo de momento tambien te sigo y leo, pero con el curso de Android y otras cosillas, me falta tiempo para estudiarlo mas a fondo.
Como te dije al principio, me interesa mucho, pero ahora lo tengo un poco dejado el tema.
De todas formas no te desanimes, digo como los demas, es muy interesante y te seguimos.

Saludos.

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Teoría y práctica de controladores PID
« Respuesta #25 en: 11 de Marzo de 2013, 09:52:17 »
Yo voi también siguiendo esas magnificas explicaciones que estás aportando.
Hace tiempo compre un horno de 1200 W aprox. y me gustaría poder implementarle un control PID,pero
de momento mis conocimientos no llegan a tanto, pero no desespero.
De hecho siguiendo tus explicaciones constato que para mi la diferencia es que en el horno real el incremento
de temperatura es mucho mas lento que en tu experimento,tu experimento está en los seg. y el mio va por minutos.

Saludos y gracias a ti y a todos los que haceis estos aportes de conocimientos/experiencia para los que no llegamos a tanto.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #26 en: 11 de Marzo de 2013, 12:46:19 »
Ahora estoy estudiando el problema del tiempo de muestreo.
El libro que estoy siguiendo no es claro en este punto:

    Ogata, Katsuhiko. Sistemas de control en tiempo discreto. Segunda edición. Editorial Prentice Hall.

En el libro aparecen dos criterios para calcular el máximo tiempo de muestreo que son contradictorios entre sí. Por otra parte el criterio del tiempo de subida depende mucho del valor del escalón de entrada. Ese tiempo de subida es mayor cuando el escalón de entrada es jmayor. Al final no me queda claro qué tiempo tomar como referencia.

En cuanto aclare este punto publico los resultados.

Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Teoría y práctica de controladores PID
« Respuesta #27 en: 11 de Marzo de 2013, 13:09:05 »
Aprovechando que te ofreces a resolver dudas, mi gran duda en las implementaciones PID es la determinación del modelo.
En tu caso, has tomado un montón de hipótesis sobre el horno pero, en un caso real, ¿cómo se pueden determinar esos parámetros?

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #28 en: 11 de Marzo de 2013, 13:20:58 »
Yo voi también siguiendo esas magnificas explicaciones que estás aportando.
Hace tiempo compre un horno de 1200 W aprox. y me gustaría poder implementarle un control PID,pero
de momento mis conocimientos no llegan a tanto, pero no desespero.
De hecho siguiendo tus explicaciones constato que para mi la diferencia es que en el horno real el incremento
de temperatura es mucho mas lento que en tu experimento,tu experimento está en los seg. y el mio va por minutos.

Saludos y gracias a ti y a todos los que haceis estos aportes de conocimientos/experiencia para los que no llegamos a tanto.


El primer ejemplo práctico que estoy preparando es de un horno. El tiempo de respuesta no es importante, los métodos son los mismos, que es lo importante.

Te adjunto la hoja de cálculo con la que estoy haciendo las simulaciones para un horno de 1200W y un tiempo de subida de un minuto y medio.
Los cálculos del PID los he realizado con el método de la ganancia crítica en lazo cerrado de Ziegler-Nichols y ajustando el anti-windup a mano.


Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Teoría y práctica de controladores PID
« Respuesta #29 en: 11 de Marzo de 2013, 13:29:58 »
Aprovechando que te ofreces a resolver dudas, mi gran duda en las implementaciones PID es la determinación del modelo.
En tu caso, has tomado un montón de hipótesis sobre el horno pero, en un caso real, ¿cómo se pueden determinar esos parámetros?

Lo bueno del método de Ziegler-Nichols y del ajuste a mano es que no hace falta determinar el modelo de planta. Te ahorras una buena cantidad de matemáticas.
Lo único que tienes que averiguar es el periodo de oscilación con ganancia crítica o el tiempo de retardo y de subida del sistema.

Si quieres ir más allá, hay dos métodos para identificar el sistema.

1.-  El primero de ellos supone que conoces el modelo del sistema, para después hacer ciertos ensayos con los que calcular sus parámetros. Este método puede ser válido para motores, transformadores, depósitos, hornos y otro tipo de plantas de las que puedes conocer a priori su modelo. Un ejemplo de este sistema de modelado lo puedes encontrar en el modelado de motores de corriente continua que he publicado:
https://sites.google.com/site/picuino/motor_equivalent_model
Al final del todo hago un ensayo a un motor para averiguar sus parámetros: MODELADO DE UN MOTOR DE CORRIENTE CONTINUA

2.- Otro método es parecido al análisis de regresión. En el análisis de regresión puedes ajustar una serie de puntos a una recta, a una curva cuadrada, etc. Mediante Matlab se puede hacer este análisis que requiere que le introduzcas la señal de entrada al sistema muestreada, la señal de salida del sistema muestreada y el modelo que quieres que reconozca (un sistema con dos polos, con tres polos, etc.)
Este método se utiliza cuando no sabes nada del sistema muestreado y quieres aproximarle a un sistema sencillo de segundo o tercer orden.

Saludos.
« Última modificación: 11 de Marzo de 2013, 13:32:11 por Picuino »


 

anything