Laboratorio4.docx

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Laboratorio4.docx as PDF for free.

More details

  • Words: 1,921
  • Pages: 15
Laboratorio 4: Implementación de controladores

LABORATORIO 4.-

IMPLEMENTACIÓN DE CONTROLADORES DIGITALES

1. OBJETIVO. Proporcionar los conceptos necesarios para la implementación de controladores digitales basados en ecuaciones de diferencias bajo el entorno Matlab-Simulink. 2. MATERIALES Y EQUIPOS - Matlab 2015 o superior. - Simulink. - Toolbox Simulink Desktop Real-Time. 3. FUNDAMENTO TEÓRICO En la computadora se elabora el software, de acuerdo con los objetivos del control por computadora (software de control). El software que realiza las tareas de adquisición de datos, maneja los registros de datos y de configuración de los dispositivos de entrada y salida permitiendo recoger y entregar datos a través de estos. Realiza tareas como: ejecución del algoritmo de control, linealización, cambio de escala, filtrado, etc. El esquema básico de un sistema de control por computadora se muestra en la Figura 1.

Figura 1. Sistema de control por computadora

Los dispositivos de entrada, son utilizados por la computadora para leer los datos medidos del proceso. Estos datos corresponden a los valores de las variables físicas del mismo, que pueden ser: señales discretas (estado de contactos o interruptores), o señales analógicas (valor de la presión, flujo, temperatura, pH, etc.). Curso: Control por Computadora

1

Laboratorio 4: Implementación de controladores Los dispositivos de salida son utilizados por la computadora para entregar al proceso las señales requeridas (variables de control) para que la variable controlada alcance el valor deseado. Las variables de control pueden ser señales discretas o señales analógicas. La etapa de procesamiento de datos, ejecuta las tareas propias del controlador mediante algoritmos previamente programados que pueden ser algoritmos de convencionales de tipo PID, ON/OFF, algoritmos de control avanzado, etc. Las tareas de comunicación, se utilizan para dar a conocer al usuario del sistema las condiciones de todo el proceso. A su vez, son requeridas para poder modificar a voluntad las condiciones de trabajo de la planta. La interfaz de comunicación, adecúa las señales entregadas por el computador digital a los diferentes dispositivos de comunicación que se tiene en el sistema de control. Los dispositivos de comunicación son necesarios para llevar a cabo la relación entre el usuario (operador) y el sistema de control. En este laboratorio se utilizará el software Matlab-Simulink para la implementación y ejecución de algoritmos de control (solución de ecuaciones de diferencias). 4. IMPLEMENTACIÓN DE ECUACIONES DE DIFERENCIA EN EL ENTORNO SIMULINK. El entorno de trabajo Simulink, permite la programación y ejecución de ecuaciones de diferencias de manera secuencial de varias formas, siendo una de las más efectivas, las funciones embebidas de Matlab (MATLAB Function). Para facilitar el manejo de este tipo de funciones, en el Ejemplo 1 se desarrolla la solución de una ecuación de diferencias para una entrada determinada con condiciones iniciales nulas. EJEMPLO 1. Haciendo uso de Simulink, implementar y simular la ecuación diferencial discreta:

Para una entrada: 2.5

U(t)

1.5

0.5

0

1

Curso: Control por Computadora

2

3

4

6

7

8

9

10

2

Laboratorio 4: Implementación de controladores SOLUCIÓN 1. El vector u(t) se implementará en un script *.m, para un tiempo de 10 segundos. Con dos pulsos: el primero unitario en el segundo 2 y otro de valor 2 en el segundo 7, considerando un tiempo de simulación de 10 segs y un periodo de muestreo de 1 seg. para la definición de este vector se tiene: t=(0.01:0.01:10)'; u(1:200)=0; u(201:300)=1; u(301:700)=0; u(701:800)=2; u(801:900)=0; u(901:1000)=0; u=u'; plot (t,u) [t u]

2. Bajo el entorno de Matlab, abrir Simulink, crear un nuevo modelo e incluir una función embebida de Matlab (MATLAB Function) del menú User-Defined Functions,

3. Para la inclusión del vector u(t) en el modelo, se introduce el bloque: From Workspace del menú sources, como data introducir [t u], asimismo para la salida colocar un bloque scope y un bloque mux. El programa debe quedar como sigue:

Figura 2. Diagrama de bloques del Ejemplo 1

En “Scope” Configuration Properties en la ficha Logging dar un check a la opción Log data to workspace y dar un nombre a la variable, por ejemplo Datos. 4. Ingresar al MATLAB Function, la implementación de la ecuación de diferencias es: function y

= fcn(u)

persistent yant; if isempty(yant) yant = 0; end y = yant+2*u; yant = y;

Curso: Control por Computadora

3

Laboratorio 4: Implementación de controladores Se genera una variable de tipo persistente

y(t 1) condicionada a tener un valor de cero

solamente en su estado vacío para que no se actualice en cero para cada iteración. 5. Ejecutar el programa, analizar los resultados. Con los datos enviados al workspace, obtener una gráfica en la que se muestre la respuesta de y(t) ante la entrada u(t) (Figura 3)

Figura 3. Respuesta y(t) ante una entrada u(t) del Ejemplo 1

5. IMPLEMENTACION DE CONTROLADORES DIGITALES REPRESENTADOS POR ECUACIONES DE DIFERENCIA. Haciendo uso de funciones embebidas, en el Ejemplo 2 se propone la implementación de un controlador PI básico, posteriormente se presenta una simulación para una determinada planta. EJEMPLO 2. Dado un controlador PI analógico, implementar la elaboración de la variable de control digital u(kt), en una computadora utilizando el método de rediseño digital.

SOLUCIÓN 1.

Utilizar un método de aproximación basado en FT. Para este ejemplo se utiliza el método de Diferencias en Retroceso: s' 

z1 zT

2. Reemplazando por , obtenemos las siguientes ecuaciones recursivas. Curso: Control por Computadora

4

Laboratorio 4: Implementación de controladores Error Acción proporcional Acción integral Ley de control 3.

Utilizando una función embebida de Matlab, la implementación es la siguiente: function u_act = fcn(SP,Kp,Ki,Kd,ym) % Periodo de muestreo T=0.01; % Condiciones iniciales persistent e_ant u_ant; if isempty(e_ant) e_ant=0; u_ant=0; end e_act = SP-ym; Prop=(e_act-e_ant)*Kp; Int=e_act*Ki*T; u_act=u_ant+Prop+Int; % Variables almacenadas para la siguiente iteración. e_ant=e_act; u_ant=u_act;

4.

Implementar el diagrama de bloques mostrado en la Figura 4, en el que se muestra la simulación del controlador para un modelo discreto de la planta.

Figura 4. Simulación de controlador con MATLAB Function

Curso: Control por Computadora

5

Laboratorio 4: Implementación de controladores EJERCICIOS PROPUESTOS EJERCICIO 1. Dado un controlador PID analógico, implementar la elaboración de la variable de control digital en una computadora utilizando un método de rediseño digital. Gc (s)  K p (1 

1  Td s) Ti s

En este caso utilizar el método de aproximación de Diferencias en Retroceso, con el objetivo de comparar el diseño de este controlador, con el PI del ejemplo 2. s' 

a) Reemplazar

z1 zT

para obtener ecuaciones resultantes para el PID por operación derivada: (2 puntos)

e[k]  SP  y[k] ;

Error

dAp[k]  Kp *(e[k]  e[k 1]);

Diferencia proporcional

dAd[k] 

Kd

[e[k]  2e[k 1]  e[k  2]];

T

Diferencia derivativa

dAi[k]  (Ki *T )* e[k];

Diferencia integral

u[k]  dAp[k]  dAd[k]  dAi[k]  u[k 1];

Acción final.

 Solución

Curso: Control por Computadora

6

Laboratorio 4: Implementación de controladores



FUNCIÓN EMBEBIDA - MATLAB: function u_act = fcn(SP,Kp,Ki,Kd,ym) % Factor de ponderación T=0.01; % Condiciones iniciales persistent e_ant e_ant2 u_ant u_ant2; if isempty(e_ant) e_ant=0; e_ant2=0; u_ant=0; u_ant2=0; end e_act= SP-ym; %Acción Proporcional Prop = Kp*(e_act - e_ant2); %Acción Integrativa Int = Ki*(T/2)*(e_act + 2*e_ant + e_ant2); %Acción Derivativa Der = (2*Kd/T)*(e_act - 2*e_ant + e_ant2); %Acción Mixta Mix = Ki*(Kd/Kp)*(e_act - e_ant2); %Salida del bloque u_act = u_ant2 + Prop + Int + Der + Mix; % Variables almacenadas para la siguiente iteración. e_ant2 = e_ant; u_ant2 = u_ant; e_ant = e_act; u_ant = u_act;

b) Implementar el controlador en una función embebida de Matlab, simular su comportamiento con un modelo discreto de la planta representado por: 𝑧 + 0.5 𝐺𝑝 (𝑧) = (𝑧 − 1)(𝑧 − 0.8)

Curso: Control por Computadora

7

Laboratorio 4: Implementación de controladores c) Calcular los coeficientes de sintonización para cumplir los siguientes requerimientos

mp  10% ess  0 ENTRADA DE REFERENCIA (SET POINT) - ESCALÓN: [R(t) = 1(t): AMPLITUD: 1u

Luego de realizar las pruebas necesarias se obtuvo: 𝐾𝑃 = 0.019 𝐾𝑖 = 0.01 𝐾𝑑 = 0 Con un: 𝑚𝑝 = 9.96% 𝑒𝑠𝑠 = 0

Curso: Control por Computadora

8

EJERCICIO 2. Considerando la siguiente representación de un PID analógico en serie:

a) Obtener las ecuaciones resultantes para controlador PID digital utilizando la aproximación de Tustin: (3 puntos) s' 



2z  1 Tz  1

FUNCIÓN EMBEBIDA - MATLAB: function u_act = fcn(SP,Kp,Ki,Kd,ym) % Factor de ponderación T=0.01; % Condiciones iniciales persistent e_ant e_ant2 u_ant u_ant2; if isempty(e_ant) e_ant=0;

Curso: Control por Computadora

9

e_ant2=0; u_ant=0; u_ant2=0; end e_act= SP-ym; %Acción Proporcional Prop = Kp*(e_act - e_ant2); %Acción Integrativa Int = Ki*(T/2)*(e_act + 2*e_ant + e_ant2); %Acción Derivativa Der = (2*Kd/T)*(e_act - 2*e_ant + e_ant2); %Acción Mixta Mix = Ki*(Kd/Kp)*(e_act - e_ant2); %Salida del bloque u_act = u_ant2 + Prop + Int + Der + Mix; % Variables almacenadas para la siguiente iteración. e_ant2 = e_ant; u_ant2 = u_ant; e_ant = e_act; u_ant = u_act;

b) Implementar el controlador en una función embebida de Matlab con el modelo discreto de la planta del Ejercicio 1. (2 puntos)

Luego de realizar las pruebas necesarias se obtuvo: 𝐾𝑃 = 0.015 𝐾𝑖 = 0.0002 𝐾𝑑 = 0.00001 Con un: 𝑚𝑝 = 5.53% 𝑒𝑠𝑠 = 0

Curso: Control por Computadora

10

ENTRADA DE REFERENCIA (SET POINT) - ESCALÓN: [R(t) = 1(t): AMPLITUD: 1u

c) Implementar un controlador PID por partes que se representa según las siguientes ecuaciones: (2 puntos) e[k]  SP  ym[k] ;

Error

Ap[k]  Kp * e[k];

Acción proporcional

Ad[k] 

Kd

(e[k]  e[k 1]);

T

Acción derivativa

Ai[k]  (e[k]*T )* Ki  Ai[k 1];

Acción integral

Ai[k 1]  Ai;

Ai anterior

u[k]  Ap[k]  Ad[k]  Ai[k];

Ley de control

Curso: Control por Computadora

11

function u_act = fcn(SP,Kp,Ki,Kd,ym) % Factor de ponderación T=0.01; % Condiciones iniciales persistent e_ant u_ant Int_ant; if isempty(e_ant) e_ant=0; u_ant=0; Int_ant=0; end e_act= SP-ym; %Diferencia Proporcional Prop = Kp*(e_act); %Diferencia Integrativa Int = (e_act*T)*Ki + Int_ant; Int_ant = Int; %Diferencia Derivativa Der = (Kd/T)*(e_act - e_ant); %Salida del bloque u_act = Prop + Int + Der; % Variables almacenadas para la siguiente iteración. Int_ant = Int; e_ant = e_act; u_ant = u_act;

Curso: Control por Computadora

12

d) Mediante el uso de gráficas, mostrar el comportamiento de los controladores con el modelo discreto de la planta dado. Mostrar la respuesta de la variable de control u[k] y la respuesta a la salida del sistema.

Curso: Control por Computadora

13

Comparación de salidas de cada contralador y variables de control

e) Describir comentarios y conclusiones de la implementación de este tipo de controladores. 

El control PID en aproximación de Tustin tiene el mismo comportamiento sin importar el método de aproximación que se utilice para el cambio de dominio.



Se puede apreciar que el comportamiento del PID por partes con el PID por aproximación de Tustin es distinto si se desea utilizar los mismos valores de Kp, Ki y Kd. Sin embargo, se puede despejar un factor de conversión para que el comportamiento sea similar. Si bien se puede notar que, para la planta dada, un PID diferencial con retroceso (con Kd muy bajo) es preferible a un PI de la misma estructura, esto no implica que siempre sea así. El análisis depende netamente de la planta a trabajar.





Se puede notar que el controlador en aproximación de tustin es más sensible al error, esto debido a que depende de 2 tiempos anteriores.

Curso: Control por Computadora

14

ESCUELA DE POSGRADO Curso: Control por Computadora

Tema: Laboratorio 4 Implementación de Controladores

Presentado por: ARENAS OVIEDO, ALVARO

Docente: Dr. Javier Sotomayor -2018-

Curso: Control por Computadora

15