Vous êtes sur la page 1sur 25

ÁLGEBRA DE BLOQUES Y MATLAB

Integrantes:
Elizabeth Ospina Rojas
Natalia Andrea Marín Giraldo

Asignatura:

Laboratorio de control clásico

Docente:

Adolfo Pacheco Rojas

Instituto Politécnico Nacional


Ingeniería mecatrónica
Ciudad de México
2019
INTRODUCCIÓN:
En esta práctica se llevó a cabo la resolución de dos sistemas de control de lazo cerrado, empleando el
método manual llamado álgebra de bloques, así como también se resolvieron usando herramientas
computacionales como Matlab con sus comandos series, parallel, feedback y connect. Posteriormente, se
simularon los sistemas en simulink.

Objetivo
• El alumno identificará los subsistemas y las señales que componen un sistema de control.
• El alumno reducirá, con algebra de bloques, diagramas correspondientes a sistemas de control
usando comandos de Matlab®.

1. MARCO TEORICO:

EJEMPLOS DE SISTEMAS DE CONTROL


1.1 Control nivel del agua
Para llenar un tanque de 500 litros de agua se necesita una bomba hidráulica, una toma de agua y los
elementos electrónicos de encendido y apagado del sistema. En este caso el punto de referencia es qué tan
lleno se quiere el tanque.
En este sistema no importa cuánto tiempo pase ya que se instalan unos sensores de nivel para tener una
retroalimentación y que así se pueda detener el sistema cuando se llene, o iniciarlo cuando se detecte que
está por debajo del nivel mínimo.

Fig. [1] Sistema de control de nivel del agua.


1.2 Control de temperatura
Un ejemplo sería el sistema de control de temperatura de una habitación. Midiendo la temperatura real y
comparándola con la temperatura de referencia (la temperatura deseada), el termostato activa o desactiva
el equipo de calefacción o de enfriamiento para asegurar que la temperatura de la habitación se conserve
en un nivel cómodo sin considerar las condiciones externas.

Fig. [2] Sistema de control de temperatura.

1.3 Control iluminación de calles.


El sistema de control, a través de un transductor de realimentación, conoce en cada instante el valor de la
señal de salida. De esta manera, puede intervenir si existe una desviación en la misma.

Fig. [3] Sistema de control de iluminación.


2. SINTAXIS DE MATLAB PARA RESOLVER ALGEBRA DE BLOQUES
2.1 Comando SERIE
Conecta dos modelos en serie, la conexión queda así:
sys = series (sys1, sys2)
Este comando es equivalente a una multiplicación directa
sys = sys2 * sys1

Fig. [4] Sistema en serie.

2.2 Comando PARALLEL


Conecta dos objetos modelo en paralelo, la conexión queda así:
sys = parallel (sys1, sys2)
Este comando es equivalente a una suma directa
sys = sys1 + sys2

Fig. [5] Sistema en paralelo.

2.3 Comando FEEDBACK


Aplica la retroalimentación negativa de un circuito cerrado, su sintaxis es así:
sys = feedback (sys1, sys2)
se calcula un sistema de modelo de lazo cerrado para el ciclo de retroalimentación del sistema
Fig. [6] Sistema de retroalimentación.

2.4 Comando CONNECT


El comando de conexión interconecta los elementos del diagrama de bloques haciendo coincidir las
señales de entrada y salida según se especifique, su sintaxis es así:
sysc = connect (sys1,…,sysN,inputs,outputs)

Fig. [7] Ejemplo sistema de control lazo cerrado.

3. DESARROLLO

REDUCCION DEL SISTEMA 1

Fig. [8] Sistema de control 1.


3.1.1 Reducción del sistema de forma manual por medio del algebra de bloques.

Fig. [9] Simplificación del sistema de control 1 de forma manual.


3.2.1 Reducción del sistema por medio de Matlab usando los comandos series,
parallel y feedback:

-Primero se declararon las funciones


>> g0=tf ([0 1], [1 0 0]) g0 = 1/s^2
>> g1=tf ([0 50], [1 1]) g1=50/s+1
>> g2=tf ([1 0], [0 1]) g2=s
>> g3=tf ([0 2], [0 1]) g3=2 static gain
>> g4=tf ([0 2], [1 0]) g4=2/s
>> g5=tf ([0 1], [0 1]) g5=1 static gain

-Se resolvió el feedback entre g1 y g4 y se nombró y1


>> y1=feedback (g1, g4)
y1 = 50 s
-------------
s^2 + s + 100

-Se resolvió el paralelo entre g2 y g3 y se nombró y2


>> y2=parallel(g2,-g3)
y2 = s – 2

-Se resolvió la serie entre y1 y y2 y se nombró y3


>> y3=series (y1, y2)
y3 =
50 s^2 - 100 s
--------------
s^2 + s + 100

-Se resolvió la serie entre g0 y y3 y se llamó y4


>> y4=series (g0, y3)
y4 =
50 s^2 - 100 s
-------------------
s^4 + s^3 + 100 s^2

-Finalmente se resolvió el feedback entre y4 y g5


>> y5=feedback (y4, g5)
y5 =
50 s^2 - 100 s
---------------------------
s^4 + s^3 + 150 s^2 - 100 s

-Se hizo la grafica


>> stepplot (y5)
Fig. [10] Grafica del sistema 1 obtenida por Matlab.

3.3.1 Simulación del sistema 1 usando simulink.

Fig. [11] Diagrama de bloques del sistema 1 obtenida por simulink.


Fig. [12] Grafica del sistema 1 obtenida por simulink.

3.4.1 Reducción del sistema 1 usando Connect


-Primero fueron declaradas las funciones, ‘n’ representa los numeradores y ‘d’ los denominadores

n1 = [1]; d1 = [1];
n2 = [0 1]; d2 = [1 0 0];
n3 = [0 50]; d3 = [1 1];
n4 = [1 0];
n5 = [0 2];
n6 = [0 2]; d6 = [1 0];
n7 = [0 1]; d7 = [0 1];

-Fue definido el número total de bloques en el diagrama


nblocks = 7
-Se escribió la función para declarar matrices de estado
blkbuild

-Se planteo la matriz de interconexión de bloques, así como los bloques de entrada y salida
Q=
2 1 -7
3 2 -6
4 3 0
5 3 0
6 3 0
7 4 -5

>>input = 1
>>output = 7

-Se definió el connect para calcular el modelo del sistema en el espacio de estados
[a, b, c, d] = connect (a, b, c, d, q, input, output)

-Se usó el comando ss2tf para transformar la función de variables de estado en función de transferencia en
‘s’
[num, den] = ss2tf (a, b, c, d)

-Se usó minreal para eliminar los polos y ceros comunes


[num, den] = minreal (num, den)

-Se mostró el sistema


printsys (num, den)

-Finalmente se obtuvo el resultado:


50 s^2 - 100 s
----------------------------------------------------
s^5 + 2 s^4 + 101 s^3 + 150 s^2 - 100 s - 2.3207e-13

-Se obtuvo la gráfica:

Fig. [13] Grafica del sistema 1 obtenida por connect.

REDUCCION DEL SISTEMA 2


Fig. [13] Sistema de control 2.

3.1.2 Reducción del sistema de forma manual por medio del algebra de bloques.

Fig. [14] Reducción del sistema de control 2 de forma manual.


Fig. [15] Reducción del sistema de control 2 de forma manual.
Fig. [16] Reducción del sistema de control 2 de forma manual.
Fig. [17] Reducción del sistema de control 2 de forma manual.

3.2.2 Reducción del sistema 2 por medio de Matlab usando los comandos series,
parallel y feedback:
-Primero fueron declaradas las funciones

-g1=tf ([0 1], [1 7])


g1 =
1
-----
s+7

-g2=tf ([0 1], [1 2 3])


g2 =
1
-------------
s^2 + 2 s + 3

-g3=tf ([0 1], [1 4])


g3 =
1
-----
s+4

-g4=tf ([0 1], [1 0])


g4 =
1
----
s

-g5=tf ([0 5], [1 7])


g5 =
5
-----
s+7

-g6=tf ([0 1], [1 5 10])


g6 =
1
--------------
s^2 + 5 s + 10

-g7=tf ([0 3], [1 2])


g7 =
3
-----
s+2
-g8=tf ([0 1], [1 6])
g8 =
1
-----
s+6

-Se cambio la posición de g5 delante de g7 y a la relación g5/g7 se le nombro y1

-y1=(g5/g7)
y1 =
5 s + 10
--------
3 s + 21

-Se resolvió el feedback entre g7 y g6 y se le nombro y2

-y2=feedback (g7, g6)


y2 =
3 s^2 + 15 s + 30
-----------------------
s^3 + 7 s^2 + 20 s + 23

-Se resolvió el paralelo entre g3 y g4 y se nombró como y3

-y3= parallel (g3, g4)


y3 =
2s+4
---------
s^2 + 4 s
-Se resolvió la serie entre y2 y y3 y se nombró y4
-y4=series (y2, y3
y4 =
6 s^3 + 42 s^2 + 120 s + 120
--------------------------------------
s^5 + 11 s^4 + 48 s^3 + 103 s^2 + 92 s

-Se hizo cambio de posición entre y4 y g2 y se nombró y5


-y5= (g2/y4)
y5 =
s^5 + 11 s^4 + 48 s^3 + 103 s^2 + 92 s
------------------------------------------------
6 s^5 + 54 s^4 + 222 s^3 + 486 s^2 + 600 s + 360

-Se resolvió el paralelo entre y5 y y1 y se nombró como y6


-y6= parallel (y5, y1)
Y6 =
33 s^6 + 384 s^5 + 2025 s^4 + 5967 s^3 + 10299 s^2 + 9732 s + 3600
-------------------------------------------------------------------
18 s^6 + 288 s^5 + 1800 s^4 + 6120 s^3 + 12006 s^2 + 13680 s + 7560

-Se resolvió el feedback entre y4 y g8 y se nombró y7


-y7= feedback (y4,-g8)
Y7 =
6 s^4 + 78 s^3 + 372 s^2 + 840 s + 720
--------------------------------------------------------
s^6 + 17 s^5 + 114 s^4 + 385 s^3 + 668 s^2 + 432 s – 120

-Se resolvió la serie entre g1 y y6 y se nombró y8


-y8= series (g1, y7)
Y8 =
6s^4 + 78 s^3 + 372 s^2 + 840 s + 720
----------------------------------------------------------------------
s^7 + 24 s^6 + 233 s^5 + 1183 s^4 + 3363 s^3 + 5108 s^2 + 2904 s - 840

-Finalmente, Se resolvió el feedback entre y7 y y8 y se nombró y9


-y9= feedback (y8, y6)
y9 =
108 s^10 + 3132 s^9 + 39960 s^8 + 299376 s^7 + 1.474e06 s^6 + 5.015e06 s^5 + 1.202e07 s^4 +
2.017e07 s^3 + 2.295e07 s^2 + 1.62e07 s + 5.443e06
-------------------------------------------------------------------------------------------------------------
18 s^13 + 720 s^12 + 12906 s^11 + 137916 s^10 + 984402 s^9 + 4.972e06 s^8 + 1.831e07 s^7 +
4.98e07 s^6 + 9.963e07 s^5 + 1.436e08 s^4 + 1.419e08 s^3 + 8.519e07 s^2 + 2.049e07 s - 3.758e06

-Finalmente, usando el comando stepplot(y9) se obtuvo la grafica

Fig. [18] Grafica del sistema 2 obtenida con MATLAB.


3.3.2 Simulación del sistema en simulink

Fig. [19] Diagrama de bloques del sistema 2 obtenido por simulink.

Fig. [20] Grafica del sistema 2 obtenida por simulink.

3.4.2 Reducción del sistema 2 usando Connect


-Primero fueron declaradas las funciones, ‘n’ representa los numeradores y ‘d’ los denominadores
n1 = [1]; d1 = [1];
n2 = [0 1]; d2 = [1 7];
n3 = [1 0]; d3 = [1 4];
n4 = [0 1]; d4 = [1 0];
n5 = [0 1]; d5 = [1 2 3];
n6 = [0 3]; d6 = [1 2];
n7 = [0 1]; d7 = [1 5 10];
n8 = [0 1]; d8 = [1 6];
n9 = [0 5]; d9 = [1 7];

-Fue definido el número total de bloques en el diagrama


nblocks = 9

-Se escribió la función para declarar matrices de estado


blkbuild

-Se planteo la matriz de interconexión de bloques, así como los bloques de entrada y salida
q=
2 1 -5 -9
3 2 8 0
4 2 8 0
5 2 8 0
6 3 4 -7
7 6 0 0
8 6 0 0
9 3 4 -7

-input = 1
-output = 6

-Se define el connect para calcular el modelo del sistema en el espacio de estados
[a, b, c, d] = connect (a, b, c, d, q, input, output)
-Se usó el comando ss2tf para transformar la función de variables de estado en función de transferencia en
s
[num, den] = ss2tf (a, b, c, d)

-Se usó minreal para eliminar los polos y ceros comunes


[num, den] = minreal (num, den)

-Se mostró el sistema


printsys (num, den)

-Finalmente se obtuvo el resultado


3 s^8 + 63 s^7 + 540 s^6 + 2592 s^5 + 8109 s^4 + 17469 s^3 + 26772 s^2+ 26100 s + 15120
-----------------------------------------------------------------------------------------------------------------------------
s^10 + 33 s^9 + 468 s^8 + 3730 s^7 + 18602 s^6 + 61292 s^5 + 135503 s^4+ 197028 s^3 + 173413 s^2
+ 69978 s – 10440

-Se obtuvo la grafica

Fig. [21] Grafica del sistema 2 obtenida por connect


ANÁLISIS DE RESULTADOS
A la hora de reducir diagramas de bloques es muy efectivo hacer uso de Matlab y simulink ya que estas
herramientas ayudan no solo a encontrar la función de trasferencia equivalente en el circuito de control,
sino que también nos muestra las gráficas de su comportamiento.
En este caso se pudo comprobar que la reducción en ambos sistemas se realizó correctamente dado que las
gráficas obtenidas en SPF y CONNECT, coindicen.

CONCLUSIONES
Se puede tomar un sistema de control complejo y reducirlo en una expresión más sencilla haciendo uso del
álgebra de bloques, esto puede realizarse de forma manual o computacional. Se debe tener mucho cuidado
al momento de resolverlo de forma manual, ya que se pueden cometer muchos errores y la aproximación
puede no ser la más optima.
Es importante conocer las funciones que tiene Matlab para la reducción de diagrama de bloques, las cuales
son: series, parallel y connect ya que son muy útiles para resolver los sistemas de control porque arroja
resultados muy precisos y en poco tiempo.
Antes de llevar a la practica un sistema de control es importante hacer la simulación, en este caso se usó
simulink, para poder hacer un análisis del comportamiento de las funciones de transferencia y poder
predecir posibles fallas en el sistema.
CIBERGRAFÍA

https://docplayer.es/47424958-Reduccion-de-diagramas-de-bloques-con-
matlab.html?fbclid=IwAR34Mm9EfQK-Lydhk2cvTqtuXf7zEP72GJIGBPJzr-sOUw5k6jG1pK6bigg

https://es.mathworks.com/help/control/ref/connect.html

https://es.mathworks.com/help/control/ref/feedback.html

https://es.mathworks.com/help/control/ref/parallel.html

https://es.mathworks.com/help/control/ref/series.html

https://www.youtube.com/results?search_query=reducci%C3%B3n+de+bloques+con+matlab+%28conn
ect%29

https://es.slideshare.net/edwinalexissemianriobeltran/diagramas-de-bloques-con-matlab