Академический Документы
Профессиональный Документы
Культура Документы
UNIVERSIDAD NACIONAL
DEL CENTRO DEL PERÚ
FACULTAD DE INGENIERÍA
ELÉCTRICA Y ELECTRÓNICA
SEMESTRE: IX
2018
INFORME CONTROL AUTOMÁTICO II
TRABAJO N° 1
Ajustar empíricamente por el método de prueba y error el regulador PID para
controlar la planta de segundo orden de la Figura, utilizando el fichero pid2.m
G S Kp 1 1 TdS
TiS
Constante proporcional Kp = 35
Tiempo integral Ti = 55
Tiempo derivativo Td = 16
-----------------------------------------------
35
INFORME CONTROL AUTOMÁTICO II
Mp = 1% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II
TRABAJO N° 2
INFORME CONTROL AUTOMÁTICO II
CONTROLADOR PROPORCIONAL
PROGRAMA:
clc
echo on
%
% CONTROL MOTOR CC + CARGA EQ. REDUCTOR
%
% Ang. Ref + | | | 5 | | 1 |
Ang.salida
% --->( )--->| P |--->|------------ |------>|-------|----
>
% - ^ | | | s(0.55s + 1)| | 30 | |
% | ------------- ------- |
% | |
% | |
% | |
% ------------------------------------------------
%
%
echo off
Kp=input('Introduzca la constante
proporcional Kp = '); (CORRECCIÓN)
% La función de transferencia del regulador es
numc=[Kp] ;
(CORRECCIÓN)
denc=[1];
% La función de transferencia de la planta (motor + reductor) es
INFORME CONTROL AUTOMÁTICO II
nump=[5];
denp=conv([0.55 1 0],[30]) ;
numg=conv(numc,nump);
deng=conv(denc,denp);
[num,den]=feedback(numg,deng,1,1,-1);
disp(' ')
disp(' ')
disp('La función de transferencia del sistema realimentado es')
printsys(num,den)
subplot(2,2,2)
% La respuesta al escalón será
respesc=step(num,den,t); plot(t,respesc);grid; title ('Resp
escalón')
subplot(2,2,3)
% La señal de error
error=escalon-respesc';
plot(t,error);grid;title('Señal de error')
subplot(2,2,4)
% La señal del controlador
manipp= Kp*error;
manip=manipp ;
plot(t,manip);grid;title('Señal de control')
disp(' ')
disp(' ')
disp(' ')
disp('Vea en la Figura la evolución de la señal de error ')
disp('y la señal de salida del controlador PID')
INFORME CONTROL AUTOMÁTICO II
disp(' ')
disp('Tenga en cuenta que una señal de control de magnitud
elevada')
disp('saturará con toda seguridad al actuador del proceso')
disp(' ')
RESULTADOS DE LA SIMULACIÓN
Mp = 3% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II
CONTROLADOR PROPORCIONAL-INTEGRAL
PROGRAMA:
clc
echo on
clc
% CONTROL DE POSICION DE LA ARTICULACION BASE DE UN ROBOT
%
% CONTROL MOTOR CC + CARGA EQ. REDUCTOR
%
% Ang. Ref + | | | 5 | | 1 |
Ang.salida
% --->( )--->| PI |--->|------------ |------>|-------|---->
% - ^ | | | s(0.55s + 1)| | 30 | |
% | ------------- ------- |
% | |
% | |
% | |
% ------------------------------------------------
%
%
echo off
Kp=input('Introduzca la constante
proporcional Kp = '); (CORRECCIÓN)
Ti=input('Introduzca el tiempo
integral Ti = '); (CORRECCIÓN)
% La función de transferencia del regulador es
numc=[Kp*Ti, Kp] ;
(CORRECCIÓN)
denc=[Ti, 0];
% La función de transferencia de la planta (motor + reductor) es
nump=[5];
denp=conv([0.55 1 0],[30]) ;
INFORME CONTROL AUTOMÁTICO II
numg=conv(numc,nump);
deng=conv(denc,denp);
[num,den]=feedback(numg,deng,1,1,-1);
disp(' ')
disp(' ')
disp('La función de transferencia del sistema realimentado es')
printsys(num,den)
clf
subplot(2,2,1)
% La entrada es un escalón
escalon=ones(1,length(t)); plot(t,escalon);grid;title('Entrada
escalón')
subplot(2,2,2)
% La respuesta al escalón será
respesc=step(num,den,t); plot(t,respesc);grid; title ('Resp escalón')
subplot(2,2,3)
% La señal de error
error=escalon-respesc';
plot(t,error);grid;title('Señal de error')
%
subplot(2,2,4)
% La señal del controlador
derivada= diff(error)./diff(t);
derivada(length(t))=derivada(length(t)-1);
i=0; integral=[];integral(1)=1*0.05;
for i=1:length(t)-1
manip=manipp + manipi ;
plot(t,manip);grid;title('Señal de control')
INFORME CONTROL AUTOMÁTICO II
disp(' ')
disp(' ')
disp(' ')
disp('Vea en la Figura la evolución de la señal de error ')
disp('y la señal de salida del controlador PID')
disp(' ')
disp('Tenga en cuenta que una señal de control de magnitud elevada')
disp('saturará con toda seguridad al actuador del proceso')
disp(' ')
RESULTADOS DE LA SIMULACION:
Mp = 9% de
sobreimpulso
CONTROLADOR PROPORCIONAL-DERIVATIVO
PROGRAMA:
clc
echo on
clc
% CONTROL DE POSICION DE LA ARTICULACION BASE DE UN ROBOT
%
% CONTROL MOTOR CC + CARGA EQ. REDUCTOR
%
% Ang. Ref + | | | 5 | | 1 |
Ang.salida
% --->( )--->| PD |--->|------------ |------>|-------|----
>
% - ^ | | | s(0.55s + 1)| | 30 | |
% | ------------- ------- |
% | |
% | |
% | |
% ------------------------------------------------
%
%
echo off
Kp=input('Introduzca la constante
proporcional Kp = '); (CORRECCIÓN)
Td=input('Introduzca el tiempo
derivativo Td = '); (CORRECCIÓN)
% La función de transferencia del regulador es
numc=[Kp*Td, Kp] ;
(CORRECCIÓN)
denc=[1];
INFORME CONTROL AUTOMÁTICO II
nump=[5];
denp=conv([0.55 1 0],[30]) ;
numg=conv(numc,nump);
deng=conv(denc,denp);
[num,den]=feedback(numg,deng,1,1,-1);
disp(' ')
disp(' ')
disp('La función de transferencia del sistema realimentado es')
printsys(num,den)
clf
subplot(2,2,1)
% La entrada es un escalón
escalon=ones(1,length(t)); plot(t,escalon);grid;title('Entrada
escalón')
subplot(2,2,2)
% La respuesta al escalón será
respesc=step(num,den,t); plot(t,respesc);grid; title ('Resp
escalón')
subplot(2,2,3)
% La señal de error
error=escalon-respesc';
plot(t,error);grid;title('Señal de error')
%
INFORME CONTROL AUTOMÁTICO II
subplot(2,2,4)
% La señal del controlador
derivada= diff(error)./diff(t);
derivada(length(t))=derivada(length(t)-1);
manipp= Kp*error;
manipd= Kp*Td*derivada;
manip=manipp + manipd ;
plot(t,manip);grid;title('Señal de control')
disp(' ')
disp(' ')
disp(' ')
disp('Vea en la Figura la evolución de la señal de error ')
disp('y la señal de salida del controlador PID')
disp(' ')
disp('Tenga en cuenta que una señal de control de magnitud
elevada')
disp('saturará con toda seguridad al actuador del proceso')
disp(' ')
RESULTADOS DE LA SIMULACION:
INFORME CONTROL AUTOMÁTICO II
Mp = 0% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II
TRABAJO N° 3
Utilizando el fichero zn1.m, sintonizar el regulador PID aplicando el primer
método de Ziegler-Nichols para controlar una planta de la que se desconoce su
dinámica.
a.- Hallar “L” y “T”, imprimiendo la curva “S” y para lo cual hallar la tangente en
punto de inflexión.
c.- Realizar un ajuste o sintonía final de manera manual de tal manera que sobre
impulso sea menor 25%
INFORME CONTROL AUTOMÁTICO II
Obtención de L yT:
clc
echo on
D=tf([27],[1 9 27 27]);
dt=0.05;
t=0:dt:8;
y=step(D,t)';
dy=diff(y)/dt; %derivada
[m,p]=max(dy);% el punto de inflexion
d2y=diff(dy)/dt; %la segunda derivada
yi=y(p);
ti=t(p);
L=ti-yi/m, %calculo del retardo
T=(y(end)-yi)/m+ti-L,% calculo de la constante de tiempo
Kp=1.2*T/L,
Ti=2*L,
Td=0.5*L,
plot(t,y,'b',[0 L L+T t(end)],[0 0 y(end)
y(end)],'k');grid;title('Punto de Inflexion')
L=
0.2683
T=
1.2323
Kp=1.2*T/L,
Kp =
INFORME CONTROL AUTOMÁTICO II
5.5124
Ti=2*L,
Ti =
0.5365
Td=0.5*L,
Td =
0.1341
INFORME CONTROL AUTOMÁTICO II
Mp = 51% de
sobreimpulso
Mp = 52% de
sobreimpulso
Mp = 19% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II
TRABAJO N° 4
Utilizando el fichero zn2.m , sintonizar el regulador PID aplicando el segundo método de
Ziegler-Nichols para controlar una planta inestable en lazo abierto, de función de
transferencia
400
Gp (S ) 2
S (S 30S 200)
Buscando el valor de la ganancia critica(Kcr) para el cual el sistema de control presenta
una oscilación sostenida
-HALLAR EL VALOR DE Kcr y Pcr, los valores para sintonización de controlador PID
-Realizar un ajuste o sintonía final de manera manual de tal manera que sobreimpulso sea
menor 25%
SOLUCION:
400𝐾𝑝
1+ =0
�(�2 + 30�+ 200)
�
3 2
+ 30� + 200�+ 400𝐾𝑝 = 0
�3 1 200
�2 30 400𝐾𝑝
6000 − 400𝐾𝑝
�1 30 0
�0 400𝐾𝑝 0
Kcr=60/4=15
𝑤 = 14.142
INFORME CONTROL AUTOMÁTICO II
14.15
�𝑐�= = 2.26 𝐻𝑧
2𝜋
1
𝑃𝑐�= = .0.45 �
��
�
𝑐�
Kp=0.6*Kcr=0.6*15 = 9
Ti=0.5*Pcr=0.5*0.45 = 0.225 seg
Ti=0.125*Pcr=0.125*0.45 = 0.056 seg
INFORME CONTROL AUTOMÁTICO II
Mp = 55% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II
Mp = 22% de
sobreimpulso
INFORME CONTROL AUTOMÁTICO II