FACULTAD DE INGENIERÍA ELECTRÓNICA
Curso: Laboratorio de sistemas de control 1
Tema: Identificación de sistemas
Tipo de informe: Informe Final
PROFESOR: Malca Fernades Jean Carlos
INTEGRANTES: Bustamante Chaccha Carlos 12190084
Ynca Yllisca Javier Alonso 12190123
2017-1
LABORATORIO SISTEMAS DE CONTROL 1
GUÍA N°6: IDENTIFICCIÓN DE SISTEMAS BLOQUES (INFORME FINAL)
I. OBJETIVO
El objetivo de la práctica es familiarizar al estudiante con las principales técnicas de identificación
experimental para encontrar una función matemática que permita establecer posteriormente la ley de
control. Así mismo, conocer las principales herramientas que Matlab nos brinda para la identificación de
sistemas.
II. PROCEDIMIENTO
Se adjunta los archivos Sistema1. pdsprj, [Link] y proteus2matlab.m. Los 2 primeros archivos
deberán ser ejecutados con el programa Proteus. Cado uno contiene un sistema diferente a identificar.
El archivo proteus2matlab.m debe ser guardado en el directorio de MATLAB®. Este archivo es una
función que acondiciona y obtiene a partir de los datos exportados de Proteus.
Parte I. Métodos basados en la curva de reacción
En esta parte identificaremos un modelo para 2 sistemas implementados en Proteus, applicando los
métodos basados en la curva de reacción usando Matlab.
1.1. Ejecute el programa Proteus y abra el archivo [Link]. Este archivo contiene un bloque
denominado Sistema1.
Figura 9. Diagrama del Sistema1
1.2. La respuesta del sistema lo podemos observar en el visor de ‘Analogue Analysis’, tal como
se muestra en la siguiente figura.
1.3. Indique de que orden es el sistema a analizar.
1.4. Elija un método de Curva de Reacción, más adecuado según su criterio, identificar un modelo G(s)
para el sistema.
El modelo seleccionado será el método para identificación de sistemas de 1er orden sin retardo.
Su modelo del sistema será:
1.5. Para un mejor análisis y poder comparar la respuesta del modelo hallado con la respuesta del
sistema, se utilizará el software MATLAB®. Para ello, exporte los datos haciendo clic en la opción
Graph →Export Graph Data (Fig.10). Guarde el archivo con el nombre “[Link]” en la carpeta
que se tiene como directorio MATLAB®.
1.6. En MATLAB®, ejecute la función “proteus2matlab”, escribiendo en la línea de comando:
>> [Tiempo, Vin, Vout]=proteus2matlab('[Link]');
La cual creará en el Workspace los vectores Tiempo, Vin y Vout obtenidos a partir del archivo exportado
en (e).
1.7. Grafique los vectores Vin y Vout vs el vector Tiempo.
Vemos la entrada que es un escalón de una amplitud de 5v, y la salida que se estabiliza a 5v en
aproximadamente 1.2 segundos.
1.8. Utilice Matlab para hallar un modelo según el método elegido en d.(Cree un script que obtengan
los parámetros necesarios )
Obteniendo los parámetros:
1.9. Defina la función de transferencia G(s) obtenida en (h).
Veamos la función de transferencia:
1.10. Obtenga su respuesta a un escalón.
1.11. Dibuje en una sola gráfica la respuesta del sistema y del modelo. Haga una comparación. ¿Es
aceptable la respuesta del modelo?
Vemos que es casi idéntica, con la diferencia que en la curva hay una leve separación entre gráficas.
Ampliaremos la parte de la curva: (Rojo: Data Real, Azul: Modelo identificado)
1.12. Calcule la suma del error cuadrático entre el sistema y el modelo identificado.
Obteniendo:
1.13. Ejecute el programa Proteus y abra el archivo [Link]. Este archivo contiene un bloque
denominado Sistema2.
1.14. La respuesta del sistema lo podemos observar en el visor de ‘Analogue Analysis’, tal como se
muestra en la siguiente figura.
1.15. Repita los pasos del 3.3 al 3.12. (Además de seleccionar alguno de los métodos presentados,
investigue de otro método de identificación y aplíquelo)
El sistema a analizar es de segundo orden, pero es una respuesta sobre amortiguada, por lo que en
nuestra identificación lo aproximaremos a un sistema de primer orden.
Lo analizaremos con el método de la Tangente modificada de Miller.
Graficando las señales Vin y Vout:
Vemos en la parte izquierda, la gráfica de la entrada y en la parte derecha, la gráfica de la salida.
Creando un script:
Como podemos ver, para hallar el punto de inflexión, se tuvo que hallar la 2da derivada. Nótese que el
comando diff no proporciona la derivada, mas sino una diferencia por lo que se tiene que dividir por la
separación entre datos.
Obteniendo los parámetros del scrib:
Obteniendo la función de transferencia:
Obteniendo su respuesta al escalón:
Como podemos observar, que existe un retardo en la salida, producto de la exponencial en la función de
transferencia.
Veamos en una sola imagen el modelo y la data real(exportada del Proteus)
Como podemos ver en la gráfica, la figura roja es la data importada de Proteus, y la azul viene a ser
nuestro sistema identificado y aproximado por el método de las tangentes de Miller.
Notamos que si bien es cierto que la aproximación es cercana, posee mucha diferencia con la real, pero
si requerimos una identificación para una aplicación de gran precisión pues tendríamos que elegir otro
método más que se aproxime más a la real.
Veamos cuál es la suma del error cuadrático del modelo identificado:
Con lo cual obtenemos:
Como podemos observar, el erro es muy considerable y esto comprueba lo distante que estaban las
gráficas presentadas en el paso anterior.
Nos piden investigar otro método y aplicarlo. Indagando por la web, uno se puede topar con muchos
métodos, en mi caso elegí uno de ellos: “Método de identificación de tres puntos 123c”
Según este método, la función de transferencia viene dada por:
Usaremos el método general. Para lo cual tenemos que hallar los tiempos en los cuales la señal llega al
25%, 50% y 75% de su valor máximo.
Acto seguido, hallamos las demás variables según:
Se presentó un resumen del método que vamos a usar para el sistema de segundo orden
sobreamortiguado. Veamos el algoritmo que se creó para analizarlo en Matlab:
Con ello obtenemos la siguiente función de transferencia:
Obteniendo la siguiente gráfica:
Como podemos ver en la gráfica superior la identificación fue todo un éxito, salió muy cercana a la señal
real, tanto que casi solo se ve la señal identificada (roja) y no la data real (azul).
Haciendo un acercamiento:
Como podemos observar, se nota que si hay una pequeña diferencia entre las gráficas, entonces
evaluamos la suma de errores al cuadrado:
Si comparamos este error con el método de Miller obtenido anteriormente, la diferencia es muy grande,
ya que con el método de Miller el error nos salía 722.11 y con este método de 3 puntos nos sale solo
2.0729.
2.24. Repetir el mismo procedimiento para el caso de sistema2.
Parte II: System identification toolbox
En esta parte utilizaremos la toolbox que nos ofrece Matlab para identificar modelos para cada uno de
los 2 sistemas propuestos en la parte I.
Importante los datos de los [Link] y [Link] deben ser importados a Matlab como en
el punto 3.6 de la Parte I.
1.16. Ingresamos a la interfaz gráfica de la toolbox. ( comando “ident” )
1.17. Importamos la información obtenida del Sistema1 a la interfaz. (Click en “Time domain data” )
1.18. Completamos en el cuadro dialogo que aparece con la información correspondiente. Luego
hacemos click en Import.
1.19. Seleccionamos Transfer Function Models, para estimar un una función de transferencia para los
datos introducidos.
1.20. A continuación, ingresamos los números de polos y zeros que consideremos puede tener el
sistema. Y hacemos click en estimate.
1.21. Una vez que la interfaz haya estimado un modelo, de acuerdo con las características
especificadas. Comparamos la respuesta del modelo con la salida dad. Para lo cual activamos la
casilla Model Output, con la cual también obtendremos el porcentaje de aproximación a la salida
real.
Como podemos ver, luego de la estimación, nos sale que hay un parecido con la señal de data de un
99.79%.
Veamos su función de transferencia estimada por Matlab:
1.22. Calcule la suma del error cuadrático entre el sistema y el modelo identificado
Veamos el error cuadrático:
Con lo que el error es:
Como podemos ver, el error es bastante pequeño, con lo cual podríamos decir que tenemos una muy
buena identificación.
Para el sistema de 2do orden sobreamortiguado (Segundo circuito):
Como podemos ver en la gráfica, luego de haber realizado pasos similares al de primer orden,
obtenemos la identificación de este sistema sobreamortiguado de segundo orden. Nótese que tiene una
precisión de 99.84%. Se trabajó con 2 polos y ningún cero.
La función de transferencia estimada por Matlab es la siguiente:
Y veamos la comparación entre gráficas:
Como podemos ver en la gráfica, la estimación proporcionada por Matlav es muy buena, pero para
asegurarnos de que la estimación es precisa, hallaremos su error cuadrático:
Y obtenemos como error cuadrático:
Como podemos ver, es un error bastante bajo, considerando que hemos tomado 30001 muestras y
estas se han ido sumando.
Pero aun así, con el método de tres puntos hemos obtenido un error menor a éste, por lo que este
método es más preciso.
Parte III: Identificación de un sistema físico
En esta parte, identificaremos un modelo a partir de la respuesta temporal de un sistema real.
2.26. Implemente el circuito presentado en la figura.
3.27. Conecte una señal de entrada adecuada que permita observar la curva de reacción del sistema.
Como vemos, nuestra salida presenta un sistema sub-amortiguado.
3.28. Utilizando uno de los métodos más presentados, el más adecuado según su criterio, obtenga un
modelo para el circuito implementado.
Luego de haberlo simulado en Proteus y haber importado la data a Matlab…
Utilizaremos el segundo método, en el cual nos ayuda la toolbox de Matlab, con ello obtenemos:
Vemos que la gráfica azul tiene un mayor porcentaje de precisión, ésta esta constituida por dos polos y
un cero.
Lo importamos a Matlab y comparémosla con la gráfica real:
Como vemos, la gráfica de nuestra identificación se aproxima.
Su función de transferencia es:
Ahora analicemos el error, para lo cual hallamos el error cuadrático:
Con lo cual el error es:
Como podemos notar, el error es bajo, aun siendo las gráficas no tan semejantes, esto se debe al
tamaño de puntos tomados en consideración, antes eran 30000 muestras, en este caso solo son 100
muestras.
3.29. Investigue de otro método de identificación y aplíquelo.
Para esta parte del laboratorio se investigó otro método que consiste en hallar wn (frecuencia natural) y
z (factor de amortiguamiento).
Veamos su función de transferencia:
Y el gráfico a considerar es:
Y hallamos los parámetros mediante despeje de los datos obtenidos de la gráfica:
Obteniendo la siguiente gráfica:
Como vemos en la parte superior, esta gráfica no es una buena aproximación a la verdadera, ello se
debe al método utilizado y a las constantes aproximaciones que contiene éste.
Veamos el algoritmo en Matlab:
Asimismo evaluamos el error:
Vemos que es un error relativamente bajo a lo esperado con la impresión de las gráficas, y ello se debe a
la cantidad de puntos en la muestra, solo fueron 101 puntos.
Su función de transferencia es:
3.30. Defina en Matlab los modelos hallados en los puntos 3.28 y 3.29.
Como hemos visto anteriormente, por los dos modelos obtenemos un modelo por identificación, el
primero con la toolbox de Matlab obtuvo mucho menos error que el segundo, que fue realizado
siguiendo un algoritmo.
El trabajo de Matlab fue mostrado en el paso anterior, por lo que volverlo a mostrar sería redundante.
3.31. Compare las respuestas temporales obtenidas en Matlab con la del circuito implementado.
Veamos las imágenes obtenidas en el laboratorio, durante la implementación de los circuitos
identificados anteriormente:
En el caso del circuito 1 RC:
En el caso del circuito 2 – Respuesta sobre amortiguada:
En el caso del circuito 3 – respuesta sub amortiguada:
Como podemos ver en la gráficas obtenidas del laboratorio, las diferentes respuestas se acercan a los
modelos identificados, asimismo existen ligeras variaciones debido a que los componentes utilizados
son reales, osea que presentan un error.
Conclusiones:
El utilizar el método de identificación aproximando a una función de transferencia de primer o
segundo orden resulta un método de hallar la función de transferencia un poco tediosa en
comparación si usáramos la herramienta de identificación de Matlab.
Aún con lo anteriormente mencionado, al emplear el método de tres puntos en el segundo
circuito se obtuvo un error menor que el obtenido al emplear la herramienta de identificación
de Matlab.
En cuanto a sistema sub amortiguados es recomendable usar la herramienta de Matlab a usar
la forma general de ecuación de segundo grado ya que, como hemos visto, obtenemos mucho
error identificándolo de esta última manera.