Site hosted by Angelfire.com: Build your free website today!
Tutorial de
MatLab
Por Hender Molina - Lisbeth Román

Controladores PID
Para implementar los diferentes tipos de controladores (P, PD, PI, PID) en MatLab se hace uso de la función de transferencia propia del sistema a objeto de estudio. Si dicho sistema es de la forma:

donde G(S) es la función de transferencia de la planta o proceso; mientras que C(S) es la función de transferencia del controlador.

Para el caso del controlador proporcional, C(S)=Kp, que es una constante o valor escalar. El controlador PI es C(S)=Kp + Ki/S que puede representarse como una relación ente dos polinomios. El controlador PID es C(S)=Kp + Ki/S + Kd S que se representa como:

que es de nuevo una relación entre dos polinomios. Los coeficientes decrecientes en potencias de S de estos polinomio pueden ser almacenados en vectores en MatLab. Si se multiplica el controlador C(S) por la función de transferencia del proceso o planta G(S) se formará la función de transferencia de lazo abierto. Por ejemplo un G(S) puede ser:

Para obtener la respuesta en lazo abierto ante una entrada escalón unitario tenemos:

>>Kp=50;
>>Ki=1;
>>Kd=10;
>>num=[Kd Kp Ki];
>>den=[1 10 20 0 0];
>>step(num,den)

Para obtener la respuesta de lazo cerrado en el tiempo para una entrada escalón unitario se emplea el comando cloop, el cual genera los polinomios del numerador (numc) y denominador (denc) de la función de transferencia de lazo cerrado con realimentación unitaria a partir de los polinomios de la función de transferencia de lazo abierto (num y den). Su sintaxis es: [numc,denc]=cloop(num,den,sign). El signo de la realimentación viene dado por sign. Para el ejemplo anterior, tenemos:
>>Kp=500;
>>Ki=1;
>>Kd=100;
>>num1=[Kd Kp Ki];
>>den1=[1 0];
>>num2=1;
>>den2=[1 10 20 0];
>>[numc,numd]=cloop(conv(num1,num2),conv(den1,den2),-1);
>>step(numc,denc)

Se usa el comando conv para obtener la convolución y multiplicación polinomial de dos vectores. La salida obtenida mediante el comando step se muestra a continuación:



Implementación de lazos de control PID mediante Simulink.

Ir a la página principal del tutorial de MatLab