1. El objetivo es conocer técnicas de compensación mediante respuesta en frecuencia y diseñar compensadores para satisfacer especificaciones de desempeño usando Matlab.
2. Se describen conceptos de respuesta en frecuencia y métodos de diseño de controladores como adelanto de fase y atraso de fase.
3. Se diseñan compensadores para dos sistemas para cumplir con especificaciones de margen de fase y ganancia, y error estático de velocidad.
1. REDES DE COMPENSACIÓN MEDIANTE RESPUESTA EN FRECUENCIA
1. OBJETIVO
• Conocerlasdiferentestécnicasde compensaciónde sistemasde control.
• Realizarel control medianterespuestaenfrecuenciaparasatisfacerlasespecificacionesde
desempeño.
• Conocerel empleodel paquete Matlab,orientadoal ajuste de loscompensadoresdiseñados.
2. FUNDAMENTOTEORICO
• Conocerlosconceptosde respuestaenfrecuenciaparadiversossistemas
La respuestaenfrecuencia,se refiere alarespuestaenestadoestablede unsistemasujetoa
una señal sinusoidal de amplitudfija,peroconunafrecuenciaque varíacon ciertorango.
El análisisdinámicode unsistemaenel dominiode lafrecuenciaconsiste esencialmente en el
estudio de la variación del margen de ganancia y margen de fase con el cambio en la
frecuenciaenlaseñal de entradaMediante laevaluaciónde la función de transferencia de un
sistema para s = jw.
• Conocerlosmétodosde diseñode controladores
Diseñode controladorde adelantode fase.
El ancho de bandase incrementaporloque mejoralavelocidadde repuesta.
Redde atraso de fase.
La fase de trayectoriadirectadel sistemaenel nuevocruce de gananciase incrementa
gracias a la fase mínimaque incorporael compensadorenel cruce de ganancia.
Esto mejorael margende fase.
Redatraso y adelantode fase.
Consiste enponeruncompensadorde adelantode fase yuncompensadorde atraso
que se han diseñadoporseparado.
3. TRABAJO EXPERIMENTAL
3.1. Considere el sistemade lazoabierto.Diseñeuncompensadortal que laconstante de error
estáticode velocidadseade 4 seg-1,el margende fase seade 50° y el margende gananciasea
de 10 dB o más. 𝐺( 𝑠) =
1
𝑠2+1
Constante de errorestáticode velocidad.
Parámetrosdel sistema
Mp=0°
Mg=∞
Kv=
6. 3.3. Proponer un programa en MATLAB que realice la compensación para los casos
Compensación en adelanto
n=input('ingrese numerador n = ');
d=input('ingrese denominador d = ');
g=tf(n,d)
bode(g)
hold on
grid
[mmg,mf,wg,wf]=margin(g);
mg=20*log10(mmg)
d1=d(1:end-1);
f=0;
kv=evalfr(tf(n,d1),f);
fprintf('Kv = %2.4g seg^-1n Mg = %2.4f dBn Mf = %2.4f Gradosn Wg =
%2.4f rad/sn Wf = %2.4f rad/sn',kv,mg,mf,wg,wf)
kvc=input('ingrese el Kv requerido kvc = ');
k=kvc/kv
g1=tf(conv(n,k),d)
bode(g1)
[mg1,mf1]=margin(g1);
fprintf('El margenn de fase de G1(s) es n Mp = %2.4fn',mf1)
mmp=input('ingrese el Mp requerido Mp = ');
fi=mmp-mf1
fim=fi+8
alf=(1-sind(fim))/(1+sind(fim))
magnitud=-20*log10(1/sqrt(alf))
wgrf=input('ingrese la frecuencia en la magnitud dada W = ');
c=wgrf*sqrt(alf)
t=1/c;
p=1/(alf*t)
kc=k/alf
nc=conv(kc,[1 c]);
dc=[1 p];
gc=tf(nc,dc)
ncn=conv(n,nc);
dcd=conv(d,dc);
gcg=tf(ncn,dcd)
bode(gcg)
Compensación en atraso
n=input('ingrese numerador n = ');
d=input('ingrese denominador d = ');
g=tf(n,d)
bode(g)
hold on
grid
[mmg,mf,wg,wf]=margin(g);
mg=20*log10(mmg)
d1=d(1:end-1);
f=0;
7. kv=evalfr(tf(n,d1),f);
fprintf('Kv = %2.4g seg^-1n Mg = %2.4f dBn Mf = %2.4f Gradosn Wg =
%2.4f rad/sn Wf = %2.4f rad/sn',kv,mg,mf,wg,wf)
kvc=input('ingrese el Kv requerido kvc = ');
k=kvc/kv
g1=tf(conv(n,k),d)
bode(g1)
[mg1,mf1]=margin(g1);
fprintf('El margenn de fase de G1(s) es n Mp = %2.4fn',mf1)
mmp=input('ingrese el Mp requerido Mp = ');
fi=mmp+12
wn=input('ingrese la frecuencia al ángulo(fi) dado Wn = ');
c=wn-0.345
T=1/c
MG=input('ingrese la magnitud al ángulo(fi) dado MG = ');
bta=10^(MG/20)
P=1/(bta*T)
kc=k/bta
nc=conv(kc,[1 c]);
dc=[1 P];
gc=tf(nc,dc)
ncn=conv(n,nc);
dcd=conv(d,dc);
gcg=tf(ncn,dcd)
bode(gcg)
Compensación atraso adelanto.
n=input('ingrese numerador n = ');
d=input('ingrese denominador d = ');
g=tf(n,d)
bode(g)
hold on
grid
[mmg,mf,wg,wf]=margin(g);
mg=20*log10(mmg);
d1=d(1:end-1);
f=0;
kv=evalfr(tf(n,d1),f);
fprintf('Kv = %2.4g seg^-1n Mg = %2.4f dBn Mf = %2.4f Gradosn Wg =
%2.4f rad/sn Wf = %2.4f rad/sn',kv,mg,mf,wg,wf)
kvc=input('ingrese el Kv requerido kvc = ');
kc=kvc/kv
g1=tf(conv(n,kc),d)
bode(g1)
[mg1,mf1,wg,wf]=margin(g1);
mmg1=20*log10(mg1);
fprintf('Los margenes de G1(s) es n Mp = %2.4fn Mg = %2.4fn Wg =
%2.4fn',mf1,mmg1,wg)
mmp=input('ingrese el Mp requerido Mp = ');
fi=mmp+5;
bta=(sind(fi)+1)/(1-sind(fi));
c=wg/10;
t2=1/c;
p=1/(bta*t2);
8. fprintf('El Beta es = %2.4fn el cero es = %2.4fn el polo es =
%2.4fn',bta,c,p)
nca=[1 c];
dca=[1 p];
disp('El compensador en atraso seria:')
gca=tf(nca,dca)
a=[wg/10 wg wg*10];
b=[mmg1-20 mmg1 mmg1+20];
figure
semilogx(a,b)
grid
disp('Señale el intercepto de la recta con el 0 dB')
[c1]=ginput(1);
close figure 2
p2=c1(1);
c2=p2/bta;
fprintf('El cero es = %2.4fn El polo es = %2.4fn',c2,p2)
ncad=[1 c2];
dcad=[1 p2];
disp('El compensador en adelanto seria:')
gcad=tf(ncad,dcad)
nc=conv(n,nca);
dc=conv(d,dca);
ncc=conv(nc,ncad);
dcc=conv(dc,dcad);
nccc=conv(kc,ncc);
gcg=tf(nccc,dcc)
bode(gcg)
margin(gcg)
gcg1=feedback(gcg,1)
3.4 Realizar un VI que permita visualizar la función de transferencia del sistema, el
compensador y visualización de los diagramas de Bode del sistema compensado y sin
compensar
9. 4. CONCLUSIONES Y RECOMENDACIONES
CONCLUCIONES
- Verificamoslosdiferentesmétodosde compensaciónenfrecuencia. en adelanto,
atraso y atraso adelanto.
- Realizamosel control mediante losmétodosde compensación en frecuencia para
satisfacerlosdatosque requerían.Algunosen adelanto, atraso y otros en ambos.
10. - Fijarse bienel losdatos requeridos y en el diagrama de bode sin compensar para
poder aplicar el correcto compensador.
- Todoslos cálculoslospodemosrealizarenmatlabparaun mejorentendimiento y
calcular el mejor compensador para el sistema
- Tambiénpodemosusarel programa labview para variar algunos parámetros y así
llegar a hallar el mejor compensador para dicho sistema.
RECOMENDACIONES
- Conocerque mejorao empeoraunpoloy uncero para poderaplicarel respectivo
método de compensación.
- Ver el diagrama de bode sin compensar para poder aplicar el método que
compense mejor.
- Si no compensalosrequerimientosajustaralgunos parámetros o constantes para
que cumpla lo pedido.
- Saber los comandos para graficar, hallar los márgenes, etc. En matlab
5. BIBLIOGRAFIA
- http://es.wikipedia.org/wiki/Respuesta_en_frecuencia
- http://www.buenastareas.com/ensayos/Compensaci%C3%B3n-Utilizando-
M%C3%A9todos-De-Repuesta-En/1052653.html
- http://www.slideshare.net/guest21fbd4/clase-6-diseo-de-controladores-por-
respuesta-en-frecuencia