Control 2 informe 7

3

Click here to load reader

Transcript of Control 2 informe 7

Page 1: Control 2 informe 7

1

Resumen— Se describe el desarrollo de la respuesta de un controlador PID discreto realizado solo mediante código y que actúa sobre una planta de segundo orden.

I. INTRODUCCIÓN

Las técnicas de diseño de controladores convencionales basadas en el método del lugar geométrico de las raíces, el método de respuesta en frecuencia, el método de la curva de reacción propuesto por Ziegler-Nichols, etc., se pueden utilizar en el diseño de controladores digitales tomando como punto de partida el modelo continuo correspondiente a los controladores , y aplicando a ellos técnicas de discretización utilizando la transformada z o trabajando con las ecuaciones en diferencias que los describen. Indudablemente, esta técnica de diseño es la más utilizada en la actualidad para los sistemas de control basados en computadores digitales o microprocesadores.

II. PROCEDIMIENTO

Para cada uno de los sistemas H(s) del preinforme, obtener el equivalente discreto usando ZOH con tiempo de muestreo T = 0,1 s (preferiblemente que se pueda ajustar). Con las ecuaciones en diferencias de cada modelo y de los controladores indicados, simular en un archivo m el sistema de lazo cerrado, en forma recursiva, como se indica en la introducción. Mostrar las graficas de la salida y la señal de control si como referencia se aplica una entrada escalón unitario. Las plantas propuestas son las siguientes:

El siguiente es el scritp de matlab donde se calculan las ganancias de los controladores y simula la salida de los sistemas: clc close all

clear all num = 1; den = [1 1 -2]; num1 = 2; den1 = [1 -1]; sys1 = tf(num1,den1); sys = tf(num,den); %CALCULO DEL PID ts = 4 ; % Tiempo de establecimiento para lazo cerrado z = .7; % Coeficiente de amortiguamiento Mp = exp(-(z*pi)/sqrt(1-(z^2))); % Máx. sobreimpulso lazo cerrado wn = 4/(ts*z); % Frecuencia natural tpolo = 3*wn; % Ubicación del tercer polo kd = (2*z*wn)+tpolo-1; kp = (2*z*tpolo*wn)+(wn^2)+2; ki = (wn^2)*tpolo; T =.1; % Periodo de muestreo %SISTEMA DE SEGUNDO ORDEN Sysd = c2d(sys,T, 'zoh' ); nz = sysd.num{1}; dz = sysd.den{1}; a = dz(2); b = dz(3); c = nz(2); d = nz(3); yk1 = 0; % y(k-1) yk2 = 0; % y(k-2) ui_k1 = 0; % ui(k-1) uk1 = 0; % u(k-1) uk2 = 0; % u(k-2) ek1 = 0; % e(k-1) rk = 1; % r(k) for k=1:60 yk = -a*yk1-b*yk2+c*uk1+d*uk2; ek = rk-yk; ui_k = ui_k1+T/2*(ek+ek1); uk = kp*ek+ki*ui_k-kd*((ek-ek1)/T); y(k) = yk; u(k) = uk; yk1 = yk; yk2 = yk1; ui_k1 = ui_k; uk1 = uk; uk2 = uk1; ek1 = ek; end t = 1:max(size(u)); T1 = t*T; figure plot(T1,y, '.' ) title( 'Salida' ) grid on, xlabel( 'kT' ), ylabel( 'y(kT)' ) figure plot(T1,u, '.' )

Programación de un control PID (Marzo 2012)

Leonardo Restrepo, Albert Torres

Page 2: Control 2 informe 7

2

title( 'Señal de control' ) grid on, xlabel( 'kT' ), ylabel( 'u(kT)' ) %SISTEMA DE PRIMER ORDEN sysd1 = c2d(sys1,T, 'zoh' ); nz1 = sysd1.num{1}; dz = sysd1.den{1}; kp1 = .75; a1 = dz(2); b1 = nz1(2); y1k1 = 0; u1k1 = 0; r1k = 1; for k1=1:90 y1k = -a1*y1k1+b1*u1k1; e1k = r1k-y1k; u1k = kp1*e1k; y1(k1) = y1k; u1(k1) = u1k; y1k1 = y1k; u1k1 = u1k; end figure t1 = 1:max(size(u1)); T2 = t1*T; plot(T2,y1, '.' ) title( 'Salida' ) grid on, xlabel( 'kT' ), ylabel( 'y(kT)' ) figure plot(T2,u1, '.' ) title( 'Señal de control' ) grid on, xlabel( 'kT' ), ylabel( 'u(kT)' ) En las siguientes figuras se muestran las comparaciones entre las señales de los controladores continuos y discretos:

0 1 2 3 4 5 6-0.5

0

0.5

1

1.5

2Salida

kT

y(kT

)

Figura 1. Respuesta planta segundo orden.

Figura 2. Salida PI+D análogo.

0 1 2 3 4 5 6-40

-30

-20

-10

0

10

20

30

40Señal de control

kT

u(kT

)

Figura 3. Señal de control aplicada.

Figura 4. Señal u(t) análoga.

0 1 2 3 4 5 6 7 8 90

0.5

1

1.5

2

2.5

3Salida

kT

y(kT

)

Page 3: Control 2 informe 7

3

Figura 5. Respuesta discreta modelo primer orden.

Figura 6. Salida analógica.

0 1 2 3 4 5 6 7 8 9-1.5

-1

-0.5

0

0.5

1Señal de control

kT

u(kT

)

Figura 7. Señal de control.

Figura 8. Señal de control u(t)

III. CONCLUSIONES Y RECOMENDACIONES

Debido a que ambos sistemas en lazo abierto son inestables los resultados al aplicar el control no fueron los más óptimos ya que para ambos casos se logro acotar la salida ante una entrada escalón pero en la planta de primer orden se presenta un error de estado estable y un tiempo de establecimiento grande y para el modelo de segundo orden el sobre impulso fue del 40%. Al discretizar los sistemas y sus controladores las señales de salida de los mismos conservaron la mayoría de las

características aunque para hubo un leve aumento en el pico de la respuesta porque la estructura del controlador pasó de PI+D a PID, además en el intervalo de 0 a 1 segundos presentó ciertos valores negativos debido a que al iniciarse el algoritmo no contaba con los valores pasados del error, la señal de control y la salida para realizar los cálculos de las señales actuales.

IV. BIBLIOGRAFIA

[1] Apuntes cuaderno Control II [2] Entorno MATLAB.