Tutorial de matlab.docx

3
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: D onde 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 este 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.

Transcript of Tutorial de matlab.docx

Tutorial deMatLabPorHender Molina-Lisbeth RomnControladores PIDPara implementar los diferentes tipos de controladores (P, PD, PI, PID) en MatLab se hace uso de la funcin de transferencia propia del sistema a objeto de estudio. Si dicho sistema es de la forma:

Donde G(S) es la funcin de transferencia de la planta o proceso; mientras que C(S) es la funcin 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 relacin ente dos polinomios. El controlador PID es C(S)=Kp + Ki/S + Kd S que se representa como:

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

Para obtener la respuesta en lazo abierto ante una entrada escaln 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 escaln unitario se emplea el comando cloop, el cual genera los polinomios del numerador (numc) y denominador (denc) de la funcin de transferencia de lazo cerrado con realimentacin unitaria a partir de los polinomios de la funcin de transferencia de lazo abierto (num y den). Su sintaxis es: [numc,denc]=cloop(num,den,sign). El signo de la realimentacin 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 convolucin y multiplicacin polinomial de dos vectores. La salida obtenida mediante el comando step se muestra a continuacin:

http://www.angelfire.com/la/hmolina/matlab6.html