Академический Документы
Профессиональный Документы
Культура Документы
Sistemas Realimentados
RECURSOS MATLAB
Help de MATLAB
RECURSOS MATLAB
RECURSOS MATLAB
Teora de Sistemas
Seccin de publicaciones de la ETSII
RECURSOS MATLAB
La web: (www.mathworks.com)
RECURSOS MATLAB
INSTALACIN MATLAB
QU VAMOS A VER
MATLAB para:
La obtencin del lugar de las races.
Ecuaciones:
Gbomba
Gdepo
Qent
1
Vb
s 1
H
1
Qent s ( s 2)
V kH
E Vi V
Vb C (s) E
>>Gba=Gbomba*Gdepo
>>rlocus(Gba)
Lmite de
estabilidad
Lmite de
estabilidad
Desde MATLAB se pueden obtener los polos en bucle cerrado para una
K dada:
>> polos = rlocus(Gba, 6)
polos =
-3.0000 + 0.0000i
-0.0000 + 1.4142i
-0.0000 - 1.4142i
% subgrfico 1 de 2
>>rlocus(Gba)
>>title(Lugar directo)
>>subplot (2,1,2)
% subgrfico 2 de 2
>>rlocus(-Gba)
>>title(Lugar inverso)
Alguna pregunta?
REGULADORES
1
Kp + Ki * --- + Kd * s
s
with Kp = 3, Ki = 0.072, Kd = 3.71
Continuous-time PID controller in parallel form.
Kp * (1 + ---- * --- + Td * s)
Ti
REGULADORES
Ajuste de reguladores:
>> C3 = pidtune (Gba, pi )
% ajuste automtico de un PI
1
Kp + Ki * --s
with Kp = 0.4, Ki = 0.0184
Continuous-time PI controller in parallel form.
1
Kp + Ki * --- + Kd * s
s
with Kp = 3, Ki = 0.345, Kd = 3.85
Continuous-time PID controller in parallel form.
REGULADORES
Comparar resultados:
>> step(feedback(Gba,1))
>> hold
>> step(feedback(C1*Gba,1))
>> step(feedback(C2*Gba,1))
>> step(feedback(C3*Gba,1))
>> step(feedback(C4*Gba,1))
REGULADORES
>> pidTuner
REGULADORES
Alguna pregunta?
Sistemas Realimentados
(Interfase SISOTOOL)
>> sisotool*
Sistemas Realimentados
(Interfase SISOTOOL)
SISOTOOL
SISOTOOL
Estructura con
en la realimentacin
prealimentacin
SISOTOOL
Edit Architecture:
importar
los
diferentes
bloques
(F,
C,
G,
H)
Tuning Methods:
New Plot: crear nuevas figuras con respuestas al escaln, impulso o nuevos
diagramas (Bode, Nichols, Nyquist).
SISOTOOL
SISOTOOL
du=0
r=step
n=0
dy=0
SISOTOOL
Los polos en bucle cerrado se pueden mover directamente sobre el lugar para
llevarlos a una nueva posicin
SISOTOOL
Las posiciones de los polos en bucle cerrado se obtienen pinchando sobre ellos
SISOTOOL
SISOTOOL
Resultado:
Nuevo
lugar de
las races
Regulador
aadido
Nueva
respuesta
SISOTOOL
du=step
r=0
n=0
Respuesta
del sistema
ante
perturbacin
en la
entrada du
dy=0
SISOTOOL
SISOTOOL
Nuevo
lugar de
las races
Nueva
respuesta
Regulador
ajustado
SISOTOOL
Los polos y ceros del regulador se pueden mover directamente sobre el lugar; tambin desde el
men principal en ROOT LOCUS EDITOR
SISOTOOL
Exportar al workspace:
>> M = tf (IOTransfer_r2y)
From input "r" to output "y":
1.166 s^2 + 1.793 s + 1.121
--------------------------------------------------s^4 + 3 s^3 + 3.166 s^2 + 1.793 s + 1.121
Continuous-time transfer function.
Construye tu PID
T
u (k ) K ek
Ti
Inicializar T
Inicializar ek-1
Inicializar K, Ti, Td
loop
input ek
P=ek
I=T/Ti*(ek+ek-1)/2
D=Td/T*(ek-ek-1)
uk=K*(P+I+D)
ek-1=ek
Goto loop
Analgico
ek ek 1 Td
(ek ek 1 )
2
T
% tiempo de muestreo
% error instante inicial
% parmetros del PID
%
%
%
%
%
% siguiente instante T
Digital
(cdigo pseudo-Pascal)
Alguna pregunta?
FUNCIN de MATLAB
(Ficheros .m)
Una function (funcin) de MATLAB es un script al que opcionalmente se le
podr pasar unas variables de entrada, realizar unos clculos y devolver
un resultado en unas variables de salida.
La sintaxis para la creacin de una funcin es:
function [variables de salida]=nombre_funcion(variables de entrada)
lneas de cdigo
end
Para crear un nuevo script o function seleccionar en el men HOME:
New Script o Function se abrir el editor de MATLAB.
Las toolbox de MATLAB son una coleccin de funciones.
FUNCIN de MATLAB
(La funcin feedback y su fichero.m)
La instruccin feedback de MATLAB ejecuta la funcin del mismo nombre,
almacenada en el fichero feedback.m:
FUNCIN de MATLAB
(Ejemplo function)
% salida (resultado)
resultado=x+y;
end
Ejecucin en MATLAB:
>> calcular = suma(2,3)
calcular =
FUNCIN de MATLAB
(Ejemplo 2)
1. Diagrama de bloques:
2. Funcin de MATLAB:
% *******************************************************************
%
Ejemplo: funcin de MATLAB para resolucin diagrama bloques
% *******************************************************************
function [DNI, nmat, Gba, polos, horas]= practica()
disp('18561856X 1856 Nikola Grupo 1');
% Datos del ejercicio
% ------------------DNI=18561856; % variable de salida: DNI
nmat=1856;
% variable de salida: n de matrcula
3. Ejecucin en MATLAB:
>> [a1 a2 a3 a4 a5]=practica()
18561856X 1856 Nikola Grupo 1
a1 =
18561856
a2 =
1856
a3 =
11
------------------s^3 + 2 s^2 + 6.5 s
a4 =
no
a5 =
3
J=0.1;
B=0.1;
K=1.1;
Kb=0.5;
polos=no;
horas=3;
end
LISTADO INSTRUCCIONES
function
pid
pidstd
pidtool
pidtune
rlocus
rltool
sisotool
ss2tf
subplot
tf
AHORA T
Tu opinin es importante
https://goo.gl/forms/LKWyvTKCDbM5sZIC2
FIN
Prctica 1
Lugar de las Races
Reguladores
Sistemas Realimentados
[Curso 2016/2017]