Anda di halaman 1dari 25

Informe de Laboratorio N3

Facultad de Ingeniera Mecnica FIM

Control Digital

TEMAS:
Identificacin de modelos paramtricos y diseo de un controlador PID

Cdigo Curso:
MT228 - A

DATOS DE LOS ALUMNOS:


Apellidos y Nombres

Cdigo

Caldern Oscanoa, Ronny David

20122516F

Farceque Cruz, Yonatan

20124568C

Huasupoma Malca, Enrique

20121046F

2016-Ii

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

NDICE
INDICE ............................................................................................................... 2
1.-Objetivos ...................................................................................................... 3
2.-Marco Terico .............................................................................................. 4
2.1 ALGORITMO RLS (RECURSIVE-LEAST-SQUARES ALGORITHM) .......................... 4
2.2 DISEO DE UN CONTROLADOR PID ................................................................ 5
3.-Esquema del Experimento .......................................................................... 8
3.1 IDENTIFICACIN DE PLANTAS ......................................................................... 7
3.2 DISEO DEL CONTROLADOR PID.................................................................... 8
4.-Resultados .................................................................................................. 10
4.1 IDENTIFICACIN POR TOOLBOX DE MATLAB................................................... 10
4.2 IDENTIFICACIN POR MATHSCRIPT ............................................................... 11
4.3 IDENTIFICACIN POR LABVIEW ................................................................... 12
4.4 IDENTIFICACIN POR RLS ........................................................................... 12
4.5 DISEO DEL CONTROLADOR PID.................................................................. 14
4.6 SIMULACIN EN LABVIEW .......................................................................... 15
4.7 SIMULACIN EN MATLAB ............................................................................. 16
5.-Conclusiones.............................................................................................. 17
6.-Bibliografa ................................................................................................. 18
7.-Anexos ........................................................................................................ 19
A. TOOLBOX DE MATLAB PARA IDENTIFICACIN DE MODELOS PARAMTRICOS ........ 19
B. CDIGO MATHSCRIPT EN MATLAB ................................................................. 19
C. PROGRAMAS EN LABVIEW PARA IDENTIFICACIN DE MODELOS PARAMTRICOS 20
D. CDIGO DEL ALGORITMO RLS EN MATLAB ..................................................... 21
E. CDIGO PARA LA OBTENCIN DE PARMETROS DEL PID (PLANTA DE SEGUNDO
ORDEN) Y PARMETROS PARA LA SIMULACIN EN LABVIEW

................................ 22

F. DIAGRAMAS DE SIMULACIN EN LABVIEW...................................................... 24


G. CDIGO PARA LA SIMULACIN EN MATLAB ..................................................... 25

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

1. Objetivos

Analizar un sistema analgico de 2do orden, donde su implementacin


electrnica emula a un proceso analgico. El sistema analgico
interacta con la tarjeta DAQ USB 6008/6002 por ende, nos permitir
adquirir los datos.

Identificar el modelo paramtrico del sistema real, para luego


implementar los algoritmos basados en los mnimos cuadrados
recursivo usando herramientas del Toolbox de MATLAB y Toolkit de
LabVIEW.

Una vez realizada la recopilacin y anlisis de informacin obtenida,


se disear un controlador PID digital, el mismo que ser probado en
tiempo real mediante LabVIEW y la DAQ USB-6008.

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

2. Marco Terico
2.1.

Algoritmo RLS (Recursive-Least-Squares algorithm)

Se basa en el uso de filtros adaptativos para encontrar los coeficientes del filtro
que permiten obtener el mnimo cuadrado de la seal de error (definida como la
diferencia entre la seal deseada y la seal producida a la salida del filtro) en
forma recursiva.
Se infiere que se trata de in mtodo que involucra inteligencia artificial, pues los
coeficientes se adaptan en cada iteracin. En nuestro sistema de control se
utiliz para reconstruir la planta a partir de sus entradas y salidas teniendo como
ley de control minimizar la siguiente expresin basada en los mnimos
cuadrados.
Importancia del filtro de Kalman en la elaboracin del algoritmo RLS
En primer lugar, el filtro de Kalman minimiza el error cuadrtico, y se basa
en el algoritmo de mnimos cuadrado LS
El filtro de Kalman es uno de los principales filtros utilizados sobre todo
para depuracin de seales, permitir el paso de seales deseadas y
eliminacin del ruido, es ampliamente utilizado en los algoritmos RLS.
El filtro de Kalman est basado en la matriz de autocorrelacin de datos y
del vector P. Dichas estimaciones se realizan mediante el promedio de un
numero M de muestras ms recientes del vector de datos X(n) y de la
referencia d(n).
El algoritmo RLS es sin duda el mejor algoritmo adaptativo para la
minimizacin del MSE (Error mnimo cuadrado).

El algoritmo RLS (mnimo cuadrado recursivo) est basado en la


estimacin del algoritmo LS (mnimo cuadrado) de un filtro de coeficiente
w(n-1) una iteracin n-1 puede ser rpidamente estimados con
herramientas computacionales, usando el arribo de datos que se obtiene
con los valores recursivos.

Este desarrollo LS es muy costoso computacionalmente, el algoritmo RLS


con el filtro de Kalman actualiza el valor de entrada para cada muestra
que llega al filtro, para ello pondera exponencialmente los datos para ir
eliminando de forma gradual el efecto que tienen sobre los pesos de los
datos ms antiguos. Esto le permitir seguir pequeas variaciones de la
seal, los cuales nos permitirn formar una etapa de prediccin y una de
correccin.
En los algoritmos RLS se suele utilizar el promedio IIR, (filtro de respuesta
infinita).

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Caractersticas del Algoritmo RLS


El algoritmo adaptativo mnimo cuadrado recursivo es una extensin del
algoritmo mnimo cuadrado, disminuye el nmero de interacciones para
llegar a su convergencia.
Permite utilizar los valores obtenidos anteriormente en la convergencia
para hallar el prximo valor y no solamente la diferencia de error como
hace el mnimo cuadrado.
Utilizar la estimacin, esto se aparta de los mtodos de gradiente que
utilizan los algoritmos LMS.
El algoritmo RLS necesita de los valores de landa y de P para evaluar los
valores de los pesos. Su desajuste se minimiza con valores de prximos
a la unidad.
2.2.

Diseo de un controlador PID

Esta seccin presenta los mtodos de diseo de un controlador PID que se


basan en el conocimiento de la funcin de transferencia de proceso. El mtodo
de diseo de la ubicacin de polos simplemente intenta encontrar polos en lazo
cerrado para disear un controlador PID en tiempo continuo. Posteriormente por
la tcnica del rediseo podernos emularlo para llevarlo a un controlador PID
Digital que es el objetivo final de la experiencia.
Diseo de un controlador PID, para una planta de segundo orden con cero
Considere un sistema de segundo orden con un cero finito que viene
representado por el siguiente modelo:

Este modelo tiene cuatro parmetros. Tiene dos polos que pueden ser reales o
complejos, y tiene un cero finito y otro cero no finito. El modelo dado por la
funcin de transferencia de Gp(s) captura muchos procesos, sistemas
oscilatorios, y sistemas con ceros en el semiplano derecho.
Suponemos que el proceso puede controlarse mediante el diseo de un
controlador PID tipo paralelo dado por la funcin de transferencia:

Ecuacin Caracterstica
El sistema de lazo cerrado es de tercer orden y tiene la ecuacin caracterstica:

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Una adecuada ecuacin caracterstica en lazo cerrado de un sistema de tercer


orden dado puede ser escrito por:

Resultando:

Representacin Matricial
Igualando los coeficientes de igual potencia en S y resolviendo en las ecuaciones
anteriores, nos resulta:

Reordenando

En forma matricial.

Condiciones de diseo

Para un buen diseo, debemos y tener en cuenta la fijacin del factor de


amortiguamiento de preferencia valores en el rango [0.6 - 0.7].

Otro parmetro es la constante de sintona , que puede ser puesto en el


rango [0-1].

El valor que se ponga a la frecuencia natural 0 va a depender de cun


rpido o lento es el proceso, esto debe verse en pruebas en lazo abierto
as mismo el comportamiento que tiene (sobre amortiguado, sub
amortiguado). Por ejemplo, respuestas rpidas van a requerir que la
frecuencia se vea incrementada, digamos valores por encima de
100rad/seg ya que el tiempo de establecimiento es mucho menor a
1segundo.

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

3. Esquema del Experimento


3.1.

Identificacin de plantas

Se procedi a montar el circuito que har de planta en el sistema de control (Ver


Fig. 1), donde se utilizaron los siguientes valores de resistencias y capacitores:
Caso subamortiguado: R1=R2=R3=1k, C1=1F y C2=220nF
Caso sobreamortiguado: R1=R2=R3=1k, C1=0.2F y C2=220nF

Fig. 1 Diagrama electrnico del circuito del cual se realizar el modelo


paramtrico
Se simul a lazo abierto estos sistemas para entradas de tipo Step desfasado y
seno para los dos casos antes mencionados, obtenindose en total cuatro
plantas diferentes.
Finalmente se realiz la identificacin del modelo paramtrico de las plantas
mediante cuatros mtodos distintos: Toolbox de Matlab (Ver Anexo A), cdigo
Mathscript de Matlab (Ver Anexo B), LabVIEW (Ver Anexo C) y algoritmo RLS
(Ver Anexo D).
Una vez identificadas las plantas, se escogi una de ellas (en nuestro caso la
planta identificada con el algoritmo RLS) y se procedi a desarrollar el
controlador digital para dicha planta.

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

3.2.

Diseo del controlador PID

Diseando un controlador PID para nuestra planta, identificado en el laboratorio:


() =

326.1 + 205200
( . 11)
+ 651.6 + 205200

Nuestro controlador a utilizar ser el siguiente:

() = + +

Aplicando las consideraciones de diseo, para nuestra planta se eligi los


siguientes valores:
= 0.1 ;

= 0.7 ;

0 = 440 /

Con estos datos calculamos los calores de C1, C2 y C3:


1 = (2 + ) 0
2 = (1 + 2 ) 02
3 = () 03
Reemplazando valores:
1 = 660
2 = 220704
3 = 8518400
Y de nuestra planta obtenemos los siguientes valores:
1 = 326.1
2 = 205200
1 = 651.6
2 = 204500
Finalmente aplicando la forma matricial:
1 1
1 0 2 1. 1
[2 1
1. 2 ] . [ ] = [2 2]
3
0 2
1. 3

Reemplazando los datos en la matriz:


326.1
[205200
0

0
326.1
205200

8.4
10158
72015715.2 ] . [ ] = [ 16204 ]
8518400
2779553920

Resolviendo dicha matriz se obtiene lo siguiente:


= 0.027
= 42.095
= 0.000042

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Por lo tanto, nuestro controlador es el siguiente:

() =

0.000042 2 + 0.027 + 42.095


( . 13)

Este procedimiento de diseo a mano para obtener los parmetros del PID,
tambin fue codificado en Matlab y los coeficientes del controlador fueron
exportados a Matlab (Ver Anexo E).
Estos parmetros fueron importados al LabVIEW mediante un subVI para
integrarlos luego al VI principal y poder desarrollar el control digital en tiempo
real de la planta. (Ver Anexo F)
Adicionalmente se realiz un control en tiempo continuo de la planta y
controlador a lazo cerrado en Matlab para comparar los resultados obtenidos en
LabVIEW. (Ver Anexo G)

[Volver al ndice]

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

4. Resultados
4.1.

Identificacin por Toolbox de Matlab:


[Seno-Sobreamortiguado-ARX211]

Fig. 2 Modelo ARX obtenido por un script de Matlab

Fig. 3 Modelo ARX obtenido por el Toolbox de Matlab

Fig. 4 Error de correlacin del modelo obtenido


[Volver al ndice]

10

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Fig. 5 Funcin de transferencia de la planta identificada

4.2.

Identificacin por Mathscript:


[Step-Sobreamortiguado-ARX111]

Fig. 6 Error de correlacin del modelo obtenido

Fig. 7 Funcin de transferencia de la planta identificada

[Volver al ndice]

11

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

4.3.

Identificacin por LabVIEW:


[Seno-Subamortiguado-ARX211]

Fig. 8 Error de correlacin del modelo obtenido

Fig. 9 Funcin de transferencia de la planta identificada


4.4.

Identificacin por RLS:


[Step-Subamortiguado-ARX211]

Fig. 10 Error de correlacin del modelo obtenido

[Volver al ndice]

12

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Fig. 11 Funcin de transferencia de la planta identificada


Resumen del proceso de identificacin:

Fig. 12 Modelos identificados con sus respectivas descripciones

[Volver al ndice]

13

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

4.5.

Diseo del controlador PID

Fig. 13 Obtencin de parmetros del PID

Fig. 13 Obtencin del controlador discretizado a T=0.01s

Fig. 14 Control y error en tiempo continuo

[Volver al ndice]

14

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

4.6.

Simulacin en LabVIEW

OBS:
Durante el laboratorio se introdujo los parmetros del controlador de manera
directa, pero presentamos en este informe la forma correcta de cmo obtenerlos
exportndolos desde Matlab:

Fig. 15 Importacin de los datos obtenidos en Matlab a LabVIEW

Fig. 16 Importacin de los datos obtenidos en Matlab a LabVIEW

[Volver al ndice]

15

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

Fig. 17 Control de la planta en tiempo real


4.7.

Simulacin en Matlab

Fig. 18 Control de la planta offline (Matlab)

[Volver al ndice]

16

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

5. Conclusiones

Como vemos al tratarse de un algoritmo para la reconstruccin de la


planta, basado en iteraciones constantes con actualizacin de sus
coeficientes, podemos concluir que este mtodo se sostiene de la
inteligencia artificial para lograr dicho objetivo. En comparacin con
otros mtodos para hallar la planta, este parece ser el ms ptimo,
pues se basa en la minimizacin del error mnimo cuadrtico, adems
de ser un algoritmo recursivo, este se logra en un menor nmero de
iteraciones la identificacin de la planta ms prxima, a diferencia de
su predecesor el algoritmo LS que nos condicionaba a una mayor
carga computacional para lograr el mismo objetivo.

Los controladores PID permiten mejorar la respuesta de un sistema,


aunque esta respuesta no siempre sea ptima. Las reglas propuestas
en las condiciones de diseo presentan una forma de obtener los
parmetros del controlador PID, siempre y cuando se tenga un modelo
matemtico del sistema. En nuestro caso se puede concluir que el
diseo del controlador PID para nuestra planta de segundo orden es
correcto, ya que se verifico en tiempo real a travs de simulaciones
tanto en Matlab y LabVIEW, el buen control que ejerce sobre nuestro
sistema.

Comparando los resultados de la accin de control en LavVIEW


(online/discreto) y Matlab (offline/continuo), observamos que el
sistema planta-controlador a lazo cerrado en tiempo discreto generan
un pequeo sobreimpulso mientras que el sistema planta-controlador
a lazo cerrado en tiempo continuo no presenta o tiene un sobreimpulso
imperceptible, podemos concluir entonces que el periodo de muestreo
utilizado es el causante de estos picos por generar un pequeo retardo
para la accin de control.

[Volver al ndice]

17

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

6. Bibliografa
1.

Ogata, Katsuhiko, Sistemas de Control en Tiempo Discreto 2da


Edicin, Prentice Hall

2.

https://ocw.mit.edu/courses/mechanical-engineering/2-161-signalprocessing-continuous-and-discrete-fall-2008/study-materials/rls.pdf

3.

http://www.esi2.us.es/~alamo/Archivos/Certificaciones/Sec_9_Otras_
Publicaciones/Docente/AlamoPIDTotal.pdf

4.

https://ocw.mit.edu/courses/mechanical-engineering/2-154maneuvering-and-control-of-surface-and-underwater-vehicles-13-49fall-2004/lecture-notes/lec16.pdf

5.

https://eva.fing.edu.uy/pluginfile.php/72068/mod_resource/content/4/rl
s_handout.pdf

6.

Apuntes del curso

[Volver al ndice]

18

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

7. Anexos
A.- Toolbox de Matlab para identificacin de modelos
paramtricos

B.- Cdigo MathScript en Matlab


clear all; close all; clc
%% Lectura de la DATA
load dataStepSobreamortiguado.lvm
x=dataStepSobreamortiguado(:,4);
y=dataStepSobreamortiguado(:,6);
fs=100;
T=1/fs;
data=iddata(y,x,T); % crea un objeto de datos I/O para
% encapsularlos y sus propiedades
%% Evaluando la estructura parametrica ARX
th=arx(data,[1 1 1]);
present(th)
Gd=tf(th.b,th.a,T); % FT del modelo discreto con periodo T
thc=d2c(Gd);
% FT del modelo continuo
[num,den]=tfdata(thc);
Gs=tf(num,den);
[n,d]=tfdata(Gs,'v');
printsys(n,d);
%% Mapeo de polos
figure(1)
[P,Z]=pzmap(Gd);
iopzmap(th,'sd',1)
h=iopzplot(th);

[Volver al ndice]

19

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

showConfidence(h)
axis([-1.5 1.5 -1.5 1.5])
%% Ploteo de residuos
figure(2)
resid(th,data,'Corr',25)

C.- Programas en LabVIEW para identificacin de modelos


paramtricos

[Volver al ndice]

20

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

D.- Cdigo del algoritmo RLS en Matlab


clear all; close all; clc
% Herramientas para Identificar Modelo con MATLAB
% Mtodo RLS
%% Lectura de la DATA
load 'dataStepSubamortiguado.lvm' % Trabajaremos con el caso de
entrada STEP
% para un sistema Subamortiguado
size(dataStepSubamortiguado);
% 401x6
u=dataStepSubamortiguado(:,4);
% Entrada escaln unitario
y=dataStepSubamortiguado(:,6);
% Respuesta del sistema
subamortiguado
%% Creando la red objeto
fs=100; % Definimos fs
T=1/fs; % Periodo de muestreo (desde la DAQ-USB 6002)
data=iddata(y,u,T); % crea un objeto de datos I/O para
% encapsularlos y sus propiedades
figure(1)
plot(data)
% Ploteamos la data
axis([0 4 -0.5 1.5])
%% Evaluando la estructura parametrica ARX
na=1; nb=1; nk=1;
th=arx(data,[na,nb,nk]);
% Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)
%
A(z) = 1 + 0.03846 z^-1
%
B(z) = 1.04 z^-1
% Sample time: 0.01 seconds
thd=tf(th.b,th.a,T); % FT del modelo discreto con periodo T
thc=d2c(thd)
% FT del modelo continuo
[n,d]=tfdata(thc,'v');
printsys(n,d)
G=tf(n,d);
T=0.01;
Gd=c2d(G,T);
[n,d]=tfdata(Gd,'v');
%% Algoritmo de identificacin
alfa = 1000; % coef para matriz
P_0 = alfa*diag(ones(4,1)); % matriz de coef recursiva, 4 relac con el
# coef
a1=d(2);a2=d(3);
% coeficientes de la planta (den)
b1=n(2);b2=n(3);
% coeficientes de la planta (num)
theta_p = [a1 a2 b1 b2]';
% vector de parametros estimados
theta_0 = zeros(4,1);
% cond inicial
ae1 = zeros(1,1);
% cond iniciales de coef. pueden ser
aleatorias
ae2 = zeros(1,1);
% en otro caso
be1 = zeros(1,1);
be2 = zeros(1,1);
lambda_0 = 0.99;
% Factor de memoria [0-1], part del
algoritmo
% se pone el mayor posible para que sea
mas
% veloz
Y=zeros(1,2); % con iniciales
U=zeros(1,2);

[Volver al ndice]

21

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

YY=zeros(1,2);
M = 100;
% Definimos las iteraciones
for r = 1:M
k = r + 2; % contador
U(k) = 1; % input % CAMBIO SEGUN DATA
psi_p = [-Y(k-1) -Y(k-2) U(k-1) U(k-2)]'; % vector de datos % CAMBIO
% Algortimo RLS
Y(k) = psi_p'*theta_p;
YY(r) = Y(k);
psi = psi_p;
e = Y(k)-psi'*theta_0;
i = P_0*psi;
j = psi'*i;
gamma = i/(lambda_0 + j);
% Update de prediccion del vector parametros
theta = theta_0+gamma*e; % e error de prediccion
ae1(r+1) = theta(1); % update de ae1
ae2(r+1) = theta(2); % update de ae2
be1(r+1) = theta(3); % update de be1
be2(r+1) = theta(4); % update de be2
P = (diag(ones(4,1)) - gamma*psi')*P_0/lambda_0;
theta_0 = theta;
P_0 = P;
end
%% Modelo estimado
Gdi=tf([be1(end), be2(end)],[1, ae1(end), ae2(end)],T);
Gci=d2c(Gdi);
dur=1;
figure(2)
subplot(211), step(Gdi,'m',dur), hold, step(Gd,'b',dur) % discreto
subplot(212), step(Gci,'m',dur), hold, step(G, 'b',dur) % continuo
%% Evolucion de coeficientes
q=0:M;
figure(3)
plot(q,ae1,'k:',q,ae2,'r',q,be1,'b',q,be2,'k')

E.- Cdigo para la obtencin de parmetros del PID (planta de


segundo orden) y parmetros para la simulacin en LabVIEW
clear all; close all; clc
%% Func. Transferencia
%
b1*s+b2
% Gp(s)= ----------%
s^2+a1*s+a2
%% Caso Subamortiguado
% ===================
% Step
b1=326.3; b2=205200;
a1=651.6; a2=204800;
Gp=tf([b1 b2],[1 a1 a2]);
%% Parametros ideales
tau=0.7;alfa=0.1;w0=440;
%% Coeficientes ideales
c1=(2*tau+alfa)*w0;
c2=(1+2*alfa*tau)*w0^2;
c3=alfa*w0^3;

[Volver al ndice]

22

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

%% Matrices de coeficientes
A=[b1 0 b2-b1*c1
b2 b1 -b1*c2
0 b2 -b1*c3];
B=[c1-a1
c2-a2
c3];
%% Parametros del PID
X = linsolve(A,B);
Kp=X(1); Ki=X(2); Kd=X(3);
Ti=Kp/Ki;
Td=Kd/Kp;
disp('Parametros del PID [Kp,Ki,Kd]'), vpa([Kp Ki Kd],6)
%% Funcion de transferencia del controlador
Gc=tf([Kp*Ti*Td Kp*Ti Kp],[Ti 0]);
L=series(Gc,Gp); % Gc*Gp
H=L/(L+1); % Feedback
%% Control y error
figure(1)
t=0:0.001:2;
u=ones(size(t));
yp=lsim(H,u,t);
subplot(211)
plot(t,yp) % ploteo del control
xlabel('t(seg)'),ylabel('y(t)')
subplot(212)
plot(t,u-yp','r') % ploteo del error
xlabel('t(seg)'),ylabel('e(t)')
%% Discretizando
T= 0.01;
[Nt, Dt] = tfdata(Gc,'v');
Nt = poly2sym(Nt,'s');
Dt = poly2sym(Dt,'s');
syms z
Gdt = Nt/Dt;
%% Rediseo por Tustin
Gdt=subs(Gdt,{'s'},(2*(z-1))/(T*(z+1)));
% Rediseno por Euler Backward
% Gdt=subs(Gdt,{'s'},(z-1)/(T*z));
Gdt=simplify(Gdt);
Gdt=vpa(Gdt,4);
[NDt DDt]=numden(Gdt);
NDt=sym2poly(NDt);
DDt=sym2poly(DDt);
% FT del Controlador D(z)
GDt=tf(NDt,DDt,T);
printsys(NDt,DDt,'z')
%% Generando data para LabVIEW
[Np,Dp]=tfdata(Gp,'v');
datos=[Np Dp NDt DDt]; %Coeficientes para LabVIEW
save dataExportada.lvm datos -ascii -tabs

[Volver al ndice]

23

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

F.- Diagramas de simulacin en LabVIEW

[Volver al ndice]

24

Universidad Nacional de Ingeniera

29-10-16

Facultad de Ingeniera Mecnica F.I.M

G.- Cdigo para la simulacin en Matlab


%% Simulacion en Matlab
figure(2)
tOn1 = 1;
h = 0.01; % paso
t1 = 0:h:tOn1; % tiempo de simulacion 1
u1 = zeros(size(t1));
tOn2 = 1.4;
t2 = t1(length(t1))+h:h:t1(length(t1))+tOn2;
u2 = 2*ones(size(t2));
tOn3 = 1;
t3 = t2(length(t2))+h:h:t2(length(t2))+tOn3;
u3 = 3*ones(size(t3));
tOn4 = 1.5;
t4 = t3(length(t3))+h:h:t3(length(t3))+tOn4;
u4 = ones(size(t4));
tOn5 = 1.2;
t5 = t4(length(t4))+h:h:t4(length(t4))+tOn5;
u5 = 2*ones(size(t5));
tOn6 = 1.4;
t6 = t5(length(t5))+h:h:t5(length(t5))+tOn6;
u6 = 3*ones(size(t6));
tOn7 = 1.2;
t7 = t6(length(t6))+h:h:t6(length(t6))+tOn7;
u7 = ones(size(t7));
tOn8 = 1.4;
t8 = t7(length(t7))+h:h:t7(length(t7))+tOn8;
u8 = 0.25*ones(size(t8));
tt=[t1 t2 t3 t4 t5 t6 t7 t8]; % referencia
uu=[u1 u2 u3 u4 u5 u6 u7 u8]; % referencia
[y,x]=lsim(H,uu,tt);
plot(x,y,'b','LineWidth',1)
xlabel('t(seg)'),ylabel('y(t)')
hold on
plot(tt,uu,'r--','LineWidth',1)
grid on
axis([0 10 -0.5 3.5])
legend('Control','Referencia')

[Volver al ndice]

% tiempo de simulacion 2
% tiempo de simulacion 3
% tiempo de simulacion 3
% tiempo de simulacion 3
% tiempo de simulacion 3
% tiempo de simulacion 3
% tiempo de simulacion 3

25

Anda mungkin juga menyukai