Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sistemas
de
Control de Procesos
usando MATLAB
UPSLP
2016
El control automático es un tópico de extrema relevancia pero poco comprendido en los
estudiantes de pregrado de cualquier ingeniería. La importancia que implica la
conjunción de prácticamente todos los conocimientos previos debidamente estudiados
en el transcurso de su carrera es expuesta en el curso de Sistemas de Control de
Procesos.
Este manual busca introducir a los estudiantes a los Sistemas de Control. Comienza con
una introducción a la solución y gráficas de sistemas lineales, utilizando primeramente
el editor de MATLAB. Posteriormente, utilizando MATLAB/SIMULINK, se podrá
revisar los sistemas de control en bloques, obtener su repuesta ante las variaciones de
entrada, perturbaciones, retroalimentación, y distintos controladores.
Objetivo: Introducir al estudiante al uso de MATLAB como una herramienta para rea-
lizar cálculos matemáticos y desplegar resultados por medio de gráficas. Además definir
el concepto de un programa en MATLAB, por medio de un archivo-m para ejecutar una
serie de comandos de manera conjunta.
Material:
Computadora Personal
Software Matlab/Simulink
Contenido: Matlab es un software cuyo editor basa su sintaxis en notación vectorial y/o
matricial. Asimismo este software es capaz de realizar operaciones matemáticas de
análisis complejo, así como manejar tablas y graficar resultados. El comienzo de estas
prácticas será el de manejar los comandos básicos y funciones predefinidas para el
análisis de los sistemas de control.
Desarrollo:
Ejemplo 1.- Realizar operaciones aritméticas entre dos matrices
>> num=[1 3]
>> den=[1 5 6]
>> G1=tf(num,den)
>> H=printsys(num,den)
>> roots(den)
>> poly(-3 -2)
𝑠+3
Ejemplo 3.- Multiplicación de polinomios ( (𝑠+4)(3𝑠−2)(2𝑠2 +5𝑠+2) )
>> a=[1 4]
>> b=[3 -2]
>> c= [2 5 2]
>> d=conv(a,b)
>> den=conv(d.c)
>> syms t s
>> Y=8*exp(-4*t)*sin(2*t)
>> laplace(Y)
>> G=(40*s)/(s^2+25)
>> ilaplace(G)
Ejercicios:
1. Resuelva el 1er examen parcial ayudándose con los comandos de MATLAB
revisados en esta práctica
Objetivo: Aprender a utilizar MATLAB analizar las respuestas de los sistemas ante
distintas entradas y graficar los resultados de manera personalizada
Material:
Computadora Personal con Software Matlab/Simulink
Desarrollo:
Abrir Matlab
6𝑠+4
Definir la función de transferencia: 𝐺 = 𝑠2 +4𝑠+3
Graficar la respuesta natural del sistema a lazo abierto, mediante el comando:
>> impulseplot(G)
Cambiar el color de línea de la gráfica, para este ejemplo a color rojo (‘r’)
>> impulseplot(G, ‘r’)
>> C=feedback(G1,1)
figure
subplot(2,2,1)
impulseplot(LA,'r')
axis([0 5 -2 4])
xlabel('Tiempo')
ylabel('')
title('Respuesta impulso de lazo abierto')
subplot(2,2,2)
stepplot(LA,'k')
axis([0 5 0 2])
xlabel('Tiempo')
ylabel('')
title('Respuesta escalón de lazo abierto')
subplot(2,2,3)
impulseplot(LC,'r')
axis([0 5 -2 4])
xlabel('Tiempo')
ylabel('')
title('Respuesta impulso de lazo cerrado')
subplot(2,2,4)
stepplot(LC,'k')
axis([0 5 0 2])
xlabel('Tiempo')
ylabel('')
a. title('Respuesta escalón
Guarde el programa de defunción
la nueva lazo cerrado')
en la carpeta
con la ruta actual
que se esté trabajando (Ej: C:\Program Files\MATLAB\R2011a) y
end
regrese al editor de Matlab.
1.5
2
1
0
0.5
NOMBRE, FECHA Y HORA
-2 0
0 1 2 3 4 5 0 1 2 3 4 5
Tiempo (seconds) Tiempo (seconds)
1.5
2
1
0
0.5
-2 0
0 1 2 3 4 5 0 1 2 3 4 5
Tiempo (seconds) Tiempo (seconds)
d. Observe como fue que se hizo una nueva función .m para utilizarla a su
conveniencia en Matlab
e. La gráfica obtenida edítela para personalizarla con sus datos desde el
propio editor de la figura (Modifique colores, tipos de línea, grosor de
línea, incluya leyendas en cada figura, etc…)
Ejercicios:
1. Grafique (personalizando sus figuras con su nombre, fecha y hora de
realización) las respuestas impulso y escalón unitarios, para los siguientes
sistemas tanto en lazo abierto como en lazo cerrado.
3𝑠+2 4
i. 𝐺1 = 4𝑠2 +12𝑠+9 ii. 𝐺2 = 𝑠2 +3𝑠
7 𝑠
iii. 𝐺3 = 𝑠2 +2𝑠+8 iv. 𝐺4 = 𝑠2 +7𝑠+12
8𝑠 3𝑠
v. 𝐺5 = 𝑠2 +2𝑠 vi. 𝐺6 = 𝑠2 −2𝑠
𝑠−2 (𝑠+2)(𝑠+3)
vii. 𝐺7 = 4𝑠2 +12𝑠+9 viii. 𝐺8 = 𝑠3 +6𝑠2 +4𝑠+6
Material:
Computadora Personal con Software Matlab/Simulink
Desarrollo:
Partiendo del siguiente diagrama de bloques
R(s) + E(s) C(s)
G1 G2
-
H1
𝑠+1 4𝑠 3
𝑑𝑜𝑛𝑑𝑒: 𝐺1 = ; 𝐺2 = ; 𝐻1 =
𝑠+6 𝑠2 + 5𝑠 + 4 𝑠2 + 2𝑠
Se utilizarán los siguientes comandos:
Num1=[1 1];
Den1=[1 6];
G1 G2 Num2=[4 0]; 4𝑠 2 + 4𝑠
Den2=[1 5 4]: 𝑇1 =
[N1,D1]=series(Num1,Den1,Num2,Den2);
𝑠3 + 11𝑠 2 + 34𝑠 + 24
T1=tf(N1,D1)
Num1=[1 1];
+ Den1=[1 6];
G1
+ Num2=[4 0]; 𝑠 3 + 10𝑠 2 + 33𝑠 + 4
Den2=[1 5 4]: 𝑇2 =
G2 𝑠 3 + 11𝑠 2 + 34𝑠 + 24
[N2,D2]=parallel(Num1,Den1,Num2,Den2);
T2=tf(N2,D2)
+ Num1=[1 1];
G1
Den1=[1 6];
-
Hnum1=[3]; 𝑠 3 + 3𝑠 2 + 2𝑠
𝑇3 =
H1
Hden1=[1 2 0]: 𝑠 3 + 8𝑠 2 + 15𝑠 + 3
[N3,D3]=feedback(Num1,Den1,Hnum1,Hden1,-1);
T3=tf(N3,D3)
𝐶(𝑠)
Por lo tanto, utilizando la tabla anterior para encontrar la función de transferencia 𝑅(𝑠)
del sistema del ejemplo, se encuentra que:
𝐶(𝑠) 4𝑠 4 + 12𝑠 3 + 8𝑠 2
= 5
𝑅(𝑠) 𝑠 + 13𝑠 4 + 56𝑠 3 + 104𝑠 2 + 60𝑠
𝑠−1
4
c) R(s) C(s)
+ 16 1
𝑠 + 0.8
+ - 𝑠
-
4
d)
-
R(s) C(s)
+ 1
𝑠 𝑠
+ 𝑠
- +
1
𝑠
e)
+ C(s)
R(s) + 5 𝑠+3
+
4 𝑠 2 + 4𝑠 + 3 + 𝑠 2 + 7𝑠 + 1
- -
-
1
𝑠+2 𝑠