Autor Tema: PID_PARA_HORNO  (Leído 10897 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: PID_RTOS
« Respuesta #15 en: 25 de Febrero de 2013, 13:43:50 »
Ahora hay que tener en cuenta que un horno es un sistema no lineal.

A bajas temperaturas, la velocidad de subida de la temperatura es muy alta y la velocidad de bajada de la temperatura es muy baja.
Por el contrario a altas temperaturas, la velocidad de subida de la temperatura es baja y la velocidad de bajada de la temperatura es alta.

Este trabalenguas significa que la ganancia Kp debe ser baja a bajas temperaturas para evitar el sobrepulso (Ziegler-Nichols sintoniza el PID para obtener un pequeño sobrepulso)
Por el contrario a altas temperaturas Kp debe ser más alta.

Para solucionar esto te recomiendo utilizar tres técnicas:

1.- Limitar la ganancia Integral a un pequeño rango de error. Cuando el error es grande (por ejemplo mayor de 50ºC) la ganancia integral se hace cero y el valor integral también se hace cero.

2.- Utilizar alimentación Feed-Forward. Esto significa colocar en la entrada del horno la tensión que consigue la temperatura deseada (se puede hacer con una pequeña tabla) y luego añadir el control PID.

3.- Utilizar ganancia Kp variable con la temperatura de referencia, aumentando Kp a medida que aumenta la temperatura. Si sintonizas Kp para 30ºC y sintonizas Kp para 330ºC puedes hacer una simple recta para que Kp pase por los dos valores.


Creo que deberías cambiar el nombre del hilo a "PID para horno". Un RTOS es un Real Time Operating System y en este hilo no se trata.

Saludos.
« Última modificación: 25 de Febrero de 2013, 14:56:11 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: PID_PARA_HORNO
« Respuesta #16 en: 25 de Febrero de 2013, 16:24:47 »
Para sintonizar Kp y Kd de forma fina a diferentes temperaturas te recomiendo comenzar con las ganancias que te indica Ziegler-Nichols y a partir de ahí
seguir las indicaciones de ajuste del PID a mano que te puse en otro post:

Otra forma es sintonizar el PID "a mano".

1º.- Aumentas el control Proporcional poco a poco. Verás como el error disminuye y la velocidad de respuesta aumenta.
     Si el resultado es aceptable aquí terminas.

2º.- Si el sistema comienza a ser inestable, añades control Derivativo para estabilizarlo y que no oscile. Así puedes seguir aumentando el control proporcional.
     Si el resultado es aceptable aquí terminas.

3º.- Si la velocidad es correcta, pero tienes todavía error (la temperatura finalmente obtenida no es la deseada) puedes aumentar el control Integral para que el error sea cero.
     Si el sistema se hace algo inestable, pasas al punto 2º y aumentas el control derivativo un poco.



Saludos.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: PID_RTOS
« Respuesta #17 en: 25 de Febrero de 2013, 18:01:45 »
LA TENSIÓN GENERADA POR EL SENSOR DE TEMPERATURA EN CADA MOMENTO SE CORRESPONDE CON LA TEMPERATURA DE SALIDA, YA QUE LA SENSIBILIDAD ES DE 1 V/ºc, DE TODAS FORMAS SI NO ES ESO LO QUE ME PREGUNTABAS, ARRIBA TIENES DISPONIBLE EL CIRCUITO EN PROTEUS PARA SIMULARLO.

Hay que añadir un sensor de temperatura que transforme la temperatura en tensión, mejor en el rango de 0 a 5 voltios para que el PIC pueda leerlo.

Saludos.

Desconectado pic16f88A

  • PIC10
  • *
  • Mensajes: 21
Re: PID_PARA_HORNO
« Respuesta #18 en: 25 de Febrero de 2013, 18:10:39 »
No creo que haga falta, basta con colocar un divisor de voltaje de factor 100, de esa manera ya lo va poder leer el conversor analógico digital, directamente, no va superar los 5 voltios.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: PID_PARA_HORNO
« Respuesta #19 en: 25 de Febrero de 2013, 18:31:11 »
He revisado el archivo para Proteus.
El modelo de horno no utiliza entrada analógica, sino digital. El calentador sólo puede encenderse o apagarse a tope (todo/nada).
Con ese funcionamiento no se puede estimar el PID con Ziegler-Nichols.

El modelo del sistema tendría que hacerse por el método de la función descriptiva:
   http://www.esi2.us.es/~fsalas/asignaturas/TS3IT07_08/apuntes.pdf
   Función descriptiva

Es un método un poco avanzado.


Yo ajustaría el PID a mano. Este horno parece tener muy poca "inercia térmica", de forma que no vas a tener sobrepulsos grandes.

Saludos.
« Última modificación: 25 de Febrero de 2013, 19:12:21 por Picuino »

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: PID_PARA_HORNO
« Respuesta #20 en: 25 de Febrero de 2013, 18:42:07 »
Otro sistema que se puede utilizar es encender la resistencia con PWM. De esta forma hay una entrada analógica (por ejemplo un valor de PWM entre 0 y 100) y entonces sí que se puede aplicar Ziegler-Nichols.

En cualquier caso el sistema es No-lineal y va a dar diferentes resultados a diferentes temperaturas.

Saludos.