Controladores PID de dos grados de libertad
Los controladores PID de dos grados de libertad (2-DOF) incluyen pesos de puntos de referencia en los términos proporcionales y derivativos. Un controlador PID de 2-DOF es capaz de alcanzar una anulación de perturbaciones rápida sin un aumento significativo del sobreimpulso en el seguimiento de puntos de referencia. Los controladores PID de 2-DOF también son útiles para mitigar la influencia de los cambios en la señal de referencia de la señal de control.
Puede representar controladores PID utilizando los objetos de modelo especializados pid2
y pidstd2
. Este tema describe la representación de controladores PID de 2-DOF en MATLAB®. Para obtener información sobre el ajuste automático de controladores PID, consulte Ajuste de controladores PID.
Representaciones de un controlador PID de 2-DOF de tiempo continuo
Esta ilustración muestra una arquitectura de control habitual usando un controlador PID de 2-DOF.
La relación entre la salida del controlador de 2-DOF (u) y sus dos entradas (r e y) se puede representar en forma paralela o estándar. Las dos formas difieren en los parámetros utilizados para expresar las acciones proporcionales, integrales y derivativas del controlador, como se expresa en la siguiente tabla.
Forma | Fórmula |
---|---|
Paralela (objeto pid2 ) |
En esta representación:
|
Estándar (objeto pidstd2 ) |
En esta representación:
|
Utilice la forma de controlador más práctica para su aplicación. Por ejemplo, si desea expresar las acciones integrales y derivativas en términos de constantes de tiempo, utilice la forma estándar. Para ver ejemplos sobre cómo crear controladores de forma paralela y estándar, consulte las páginas de referencia de pid2
y pidstd2
, respectivamente.
Para obtener información sobre cómo representar controladores PID en tiempo discreto, consulte Controladores proporcionales, integrales y derivativos (PID) de tiempo discreto.
Arquitecturas de control de 2-DOF
El controlador PID de 2-DOF es un controlador de dos entradas y una salida con la forma C2(s), como se muestra en la siguiente figura. La función de transferencia de cada entrada a la salida es en sí un controlador PID.
Cada uno de los componentes Cr(s) y Cy(s) es un controlador PID con distintos pesos en los términos proporcional y derivativo. Por ejemplo, en tiempo continuo, estos componentes están dados por:
Puede acceder a estos componentes convirtiendo el controlador PID a una función de transferencia de dos entradas y una salida. Por ejemplo, supongamos que C2
es un controlador PID de 2-DOF almacenado como un objeto pid2
.
C2tf = tf(C2); Cr = C2tf(1); Cy = C2tf(2);
Cr(s) es la función de transferencia desde la primera entrada de C2
hasta la salida. Del mismo modo, Cy(s) es la función de transferencia desde la segunda entrada de C2
hasta la salida.
Supongamos que G
es un modelo de sistema dinámico, como un modelo zpk
, que representa la planta. Cree la función de transferencia de lazo cerrado desde r hasta y. Tenga en cuenta que el lazo Cy(s) tiene retroalimentación positivo, según la definición de Cy(s).
T = Cr*feedback(G,Cy,+1)
Como alternativa, utilice el comando connect
para crear un sistema de lazo cerrado equivalente directamente con el controlador de 2-DOF C2
. Para ello, establezca las propiedades InputName
y OutputName
de G
y C2
.
G.InputName = 'u'; G.OutputName = 'y'; C2.Inputname = {'r','y'}; C2.OutputName = 'u'; T = connect(G,C2,'r','y');
Existen otras configuraciones en las que puede descomponer un controlador PID de 2-DOF en componentes SISO. Para opciones concretas de C(s) y X(s), cada una de las siguientes configuraciones es equivalente a la arquitectura de 2-DOF con C2(s). Puede obtener C(s) y X(s) para cada una de estas configuraciones usando el comando getComponents
.
Feedforward
En la configuración de feedforward, el controlador PID de 2-DOF se descompone en un controlador PID SISO convencional que toma la señal de error como entrada y un controlador de feedforward.
Para un controlador PID de 2-DOF, de tiempo continuo y de forma paralela, los componentes están dados por:
Acceda a estos componentes usando getComponents
.
[C,X] = getComponents(C2,'feedforward');
El siguiente comando construye el sistema de lazo cerrado desde r hasta y para la configuración de feedforward.
T = G*(C+X)*feedback(1,G*C);
Feedback
En la configuración de retroalimentación, el controlador PID de 2-DOF se descompone en un controlador PID SISO convencional y un controlador de retroalimentación.
Para un controlador PID de 2-DOF, de tiempo continuo y de forma paralela, los componentes están dados por:
Acceda a estos componentes usando getComponents
.
[C,X] = getComponents(C2,'feedback');
El siguiente comando construye el sistema de lazo cerrado desde r hasta y para la configuración de retroalimentación.
T = G*C*feedback(1,G*(C+X));
Filtro
En la configuración de filtro, el controlador PID de 2-DOF se descompone en un controlador PID SISO convencional y un prefiltro en la señal de referencia.
Para un controlador PID de 2-DOF, de tiempo continuo y de forma paralela, los componentes están dados por:
El filtro X(s) también se puede expresar como la relación: –[Cr(s)/Cy(s)].
El siguiente comando construye el sistema de lazo cerrado desde r hasta y para la configuración de filtro.
T = X*feedback(G*C,1);
Para ver un ejemplo que ilustre la descomposición de un controlador PID de 2-DOF en estas configuraciones, consulte Decompose a 2-DOF PID Controller into SISO Components.
Las fórmulas que se muestran más arriba conciernen a controladores de tiempo continuo y de forma paralela. Los controladores de forma estándar y los controladores de tiempo discreto se pueden descomponer en configuraciones análogas. El comando getComponents
funciona en todos los objetos de controlador PID de 2-DOF.
Consulte también
getComponents
| pid2
| pidstd2
| pidtune
| pidTuner