You are on page 1of 22

SISTEMAS DE CONTROL

FUNCIN DE TRANSFERENCIA MEDIANTE ADQUISICIN DE


DATOS PARA SISTEMAS DE PRIMER Y SEGUNDO ORDEN
UTILIZANDO IDENT MTALB

INGENIERIA EN ELECTRNICA E
INSTRUMENTACIN
INTEGRANTES:
ALEX AGUIRRE
KAREN HERRERA
SANTIAGO MISSE
JUAN ACATO
BRYAN PILA
JUAN ZAMBRANO

ING. FRANKLIN SILVA

SEXTO A

LATACUNGA 2017
NDICE

OBJETIVOS ................................................................................................................................ 2

INTRODUCCIN: ................................................................................................................. 2

MARCO TERICO: .............................................................................................................. 3

DESARROLLO: ..................................................................................................................... 6

ANLISIS DE RESULTADOS ........................................................................................... 18

CONCLUSIONES: ............................................................................................................... 20

RECOMENDACIONES:...................................................................................................... 21
FUNCIN DE TRANSFERENCIA MEDIANTE ADQUISICIN DE DATOS
PARA SISTEMAS DE PRIMER Y SEGUNDO ORDEN UTILIZANDO IDENT
MTALB

OBJETIVOS

Objetivo General

Procesar un conjunto de datos de un sistema de primer o segundo orden, para


obtener la funcin de transferencia mediante el uso de la herramienta IDENT
Matlab.

Objetivos especficos

Investigar la herramienta IDENT Matlab y su funcionamiento.


Adquirir datos a partir de un sistema de primer orden o segundo orden.
Estimar un modelo matemtico (funcin de transferencia) de un conjunto de datos
adquiridos.

INTRODUCCIN:

Matlab es un programa interactivo de clculo numrico y de visualizacin de datos basado


en software de matrices, en un entorno de desarrollo totalmente integrado y orientado a
proyectos que requieren un elevado clculo numrico y visualizacin grfica, por su
amplio abanico de programas especializados llamados Toolboxes que cubren casi todas
las reas del conocimiento, en este trabajo se explicar como sacar la funcin de
transferencia con una entrada escaln para sistemas de primero y segundo orden a travs
de adquisicin de datos.

ABSTRACT:

Matlab is an interactive numerical calculation and data visualization program based on


matrix software in a fully integrated, project-oriented development environment that
requires high numerical computation and graphical visualization due to its wide range of
programs called Cover almost all The areas of knowledge in this paper are explained as
the transfer function with a step input for the first and second order systems through the
acquisition of data.
MARCO TERICO:

Este mtodo nos ayuda a identificar o estimar un modelo matemtico (funcin de


transferencia) de una planta (ejemplo motor dc) sin necesidad de conocer los parmetros
tcnicos de la planta o de conocerla realmente, entonces habra que considerarlo como un
proceso desconocido al cual a travs de su adquisicin de datos podremos encontrar un
modelo con un grado de compatibilidad alto. Para este fin la herramienta ident de
Matlab nos permite configurar para lograr la identificacin de forma exitosa, para este
caso se identificara a un sistema prototipo de segundo orden, para ello se tienen en cuenta
los pasos en la siguiente secuencia:

1) Adquisicin de datos
Para utilizar la herramienta de Matlab lo primero que debemos hacer es obtener
los datos de un sistema ya sea de primer orden o de segundo orden en funcin del
tiempo.

Una vez obtenido los datos graficamos en Matlab para obtener una grfica de la
respuesta con la cual nos vamos a guiar para procesos posteriores.

2) Ahora para empezar con la identificacin del sistema, ingresamos el comando


ident y nos aparece la siguiente ventana, en este entorno importamos la data
procesada en Matlab eligiendo time domain data (data en el dominio del
tiempo).

Figura 1: Panel de configuracin para la identificacin (ident) en MATLAB


Y luego aparece la siguiente ventana y le ingresamos los siguientes valores segn
el cdigo y el tiempo de muestre segn sea nuestra configuracin a la hora de
adquirir, despus le damos clip en importar.

La ventana SYSTEMS IDENTIFICATION TOOL se muestra de la siguiente


manera y le damos un clip en process models

Seguidamente aparece la siguiente ventana la configuramos tal y como est en la


siguiente figura y le damos un clip en ESTIMATE. En este caso se va a
introducir el nmero de polos segn el grado de la funcin de transferencia ya sea
de primer orden o de segundo orden.
Despus le damos click en models ouput donde se podr observar la grfica de
nuestra estimacin aplicando la funcin ident.

Despus le damos un clip en la figura que lleva un P2 y luego en present para


que salgan las constantes de la funcin de transferencia identificada en la venta de
comandos del matlab:

Con esta configuracin se presenta el modelo en funcin de transferencia,


estimado por la herramienta ident de matlab:

Esto nos permite realizar cualquier tcnica de control para los modelos que se
requiera ya sea de primer orden o de segundo orden con los datos que se obtendrn
al analizarlos con respecto al tiempo e ir obteniendo nuestros parmetros.
DESARROLLO:

CODIGO DE PROGRAMA

BOTON GRAFICAR

syms s
t=0:0.1:5;
v=get(handles.selector,'Value')
switch v
case 1
cla
set(handles.ec1,'String','Primer Orden');
G2=get(handles.ft,'String')
G=sym(G2)

pretty(G)
g=ilaplace(G);

t=0:0.1:5;
g2=sym(g)
g2=inline(g2)
g1=g2(t)
axes(handles.axes2)
axis off
hold on
Z = ['$$f(s) = ', latex(G), '$$'];
text('Interpreter','latex',...
'String',Z,...
'Position',[0 .4],...
'FontSize',16)
Z1 = ['$$F(t) = ', latex(g), '$$'];
text('Interpreter','latex',...
'String',Z1,...
'Position',[0.5 .4],...
'FontSize',16)
hold off
c=[t',g1'];
r=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1]
assignin('base','o1',g1')
assignin('base','i1',r')
set(handles.uitable1,'data',c);
pretty(g)
axes(handles.axes1)
hold on
x=[0 1 2 3 4 5]
y1=[1 1 1 1 1 1]
plot(t,g1)
plot(x,y1)
legend('c(t)','r(t)')
ylabel('c(t)');
xlabel('t')
hold off
ident
case 2
cla
set(handles.ec1,'String','Sobreamortiguado');
G2=get(handles.ft,'String')
G=sym(G2)
pretty(G)
g=ilaplace(G);

t=0:0.1:5;
g2=sym(g)
g2=inline(g2)
g1=g2(t)
axes(handles.axes2)
axis off
hold on
Z = ['$$f(s) = ', latex(G), '$$'];
text('Interpreter','latex',...
'String',Z,...
'Position',[0 .4],...
'FontSize',12)
Z1 = ['$$F(t) = ', latex(g), '$$'];
text('Interpreter','latex',...
'String',Z1,...
'Position',[0.3 .4],...
'FontSize',12)
hold off
c=[t',g1'];
r=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1]
assignin('base','o1',g1')
assignin('base','i1',r')

set(handles.uitable1,'data',c);
pretty(g)
axes(handles.axes1)
hold on
x=[0 1 2 3 4 5]
y1=[1 1 1 1 1 1]
plot(t,g1)
plot(x,y1)
legend('c(t)','r(t)')
ylabel('c(t)');
xlabel('t')
hold off
ident

case 3
cla
set(handles.ec1,'String','Criticamenteamortiguado');
G2=get(handles.ft,'String')
G=sym(G2)
pretty(G)
g=ilaplace(G);

t=0:0.1:5;
g2=sym(g)
g2=inline(g2)
g1=g2(t)
axes(handles.axes2)
axis off
hold on
Z = ['$$f(s) = ', latex(G), '$$'];
text('Interpreter','latex',...
'String',Z,...
'Position',[0 .4],...
'FontSize',16)
Z1 = ['$$F(t) = ', latex(g), '$$'];
text('Interpreter','latex',...
'String',Z1,...
'Position',[0.5 .4],...
'FontSize',16)
hold off
c=[t',g1'];
r=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1]
assignin('base','o1',g1')
assignin('base','i1',r')

set(handles.uitable1,'data',c);
pretty(g)
axes(handles.axes1)
hold on
x=[0 1 2 3 4 5]
y1=[1 1 1 1 1 1]
plot(t,g1)
plot(x,y1)
legend('c(t)','r(t)')
ylabel('c(t)');
xlabel('t')
hold off
ident
case 4
cla
set(handles.ec1,'String','Subamortiguado');
G2=get(handles.ft,'String')
G=sym(G2)
pretty(G)
g=ilaplace(G);

t=0:0.1:5;
g2=sym(g)
g2=inline(g2)
g1=g2(t)
axes(handles.axes2)
axis off
hold on
Z = ['$$f(s) = ', latex(G), '$$'];
text('Interpreter','latex',...
'String',Z,...
'Position',[0 .4],...
'FontSize',11)
Z1 = ['$$F(t) = ', latex(g), '$$'];
text('Interpreter','latex',...
'String',Z1,...
'Position',[0.3 .4],...
'FontSize',11)
hold off
c=[t',g1'];
r=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1]
assignin('base','o1',g1')
assignin('base','i1',r')

set(handles.uitable1,'data',c);
pretty(g)
axes(handles.axes1)
hold on
x=[0 1 2 3 4 5]
y1=[1 1 1 1 1 1]
plot(t,g1)
plot(x,y1)
legend('c(t)','r(t)')
ylabel('c(t)');
xlabel('t')
hold off
ident

case 5
G2=get(handles.ft,'String')
G=sym(G2)
pretty(G)
g=ilaplace(G);

t=0:0.1:5;
g2=sym(g)
g2=inline(g2)
g1=g2(t)
axes(handles.axes2)
axis off
hold on
Z = ['$$f(s) = ', latex(G), '$$'];
text('Interpreter','latex',...
'String',Z,...
'Position',[0 .4],...
'FontSize',16)
Z1 = ['$$F(t) = ', latex(g), '$$'];
text('Interpreter','latex',...
'String',Z1,...
'Position',[0.5 .4],...
'FontSize',16)
hold off
c=[t',g1'];
r=[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1]
assignin('base','o1',g1')
assignin('base','i1',r')

set(handles.uitable1,'data',c);
pretty(g)
axes(handles.axes1)
hold on
x=[0 1 2 3 4 5]
y1=[1 1 1 1 1 1]
plot(t,g1)
plot(x,y1)
legend('c(t)','r(t)')
ylabel('c(t)');
xlabel('t')
hold off
ident
end

BOTON EJEMPLO

v=get(handles.selector,'Value')
switch v
case 1
set(handles.ft,'String','2/(s*(s+2))');
case 2
set(handles.ft,'String','9/(s*(s^2+9*s+9))');
case 3
set(handles.ft,'String','9/(s*(s^2+6*s+9))');
case 4
set(handles.ft,'String','9/(s*(s^2+2*s+9))');
case 5
set(handles.ft,'String','9/(s*(s^2+9))');
end

BOTON BORRAR

cla(handles.axes1)
cla(handles.axes2)

GUIDE
PROCEDEMIENTO

1.- INGRESAMOS LA FUNCION DE TRANSFERENCIA EN LA TRANSFORMADA


DE LAPLACE

2.- DAMOS CLIC EN EL BOTON GRAFICAR PARA OBTENER LAS ECUACIONES


LA TABLA DE DATOS Y LA GRAFICA DE c(t) vs t.

ECUACIONES

GRAFICA
TABLA DE DATOS

3.- LOS DATOS DE ENTRADA Y SALIDA SE GUARDA EN DOS VARIABLES EN


EL WORKSPACE EN FORMA DE VECTOR.

4.- PONEMOS EL COMANDO IDENT PARA QUE SE DESPLIEGUE UNA


VENTANA CON LA APLICACIN.
5.- DAMOS CLIC EN IMPORT DATA, TIME DOMAIN DATA

6.- IMPORTAMOS LAS VARIABLES DESDE WORKSPACE Y DAMOS CLIC EN


IMPORT
7.- LA GRAFIA NOS APARECE EN IMPORT DATA LUEGA DAMOS CLIC EN
ESTIMATE Y TRANSFERER FUNCTION MODELS.

8.- PONEMOS EL NUMERO DE CEROS Y POLOS DE LA FUNCION DAMOS CLIC


EN ESTIMATE
9.- NOS DARA LA FUNCION DE TRANSFERENCIA DESPUES DE REALIZAR LA
ESTIMACION
FUNCIONES DE SEGUNDO GRADO:

SOBREAMORTIGUADO

CRITICAMENTEAMORTIGUADO
SUBAMORTIGUADO

NO AMORTIGUADO

ANLISIS DE RESULTADOS
Se puede observar que conforme la grfica avanza en el tiempo, los valores de la tabla
concuerdan con la respuesta.
Sistema sobre amortiguado

Tambin podemos observar en la grfica que, al representar un sistema sobre


amortiguado, su pendiente tiende a ser mnima un pequeo rango de valor.

Sistema No amortiguado
Ahora si lo comparamos con un sistema no amortiguado, se puede apreciar como su
tiempo ha disminuido, pero no llega a un tiempo de establecimiento.
Sistema Subamortiguado
Con este grafico se observa un sistema sub amortiguado representa el lmite de la
estabilidad, oscila un tiempo, pero se estabiliza. As mismo como su tiempo de
establecimiento es menor a los dems sistemas.

CONCLUSIONES:

Se comprende todos los parmetros involucrados con el uso de la funcin IDENT


de Matlab para la identificacin de sistemas mediante el ingreso de una tabla de
datos
Los comandos q se utiliz son:
Ilapace para la inversa de Laplace

Prety nos expresa la funcin de mejor manera

Inline para sacar la ecuacin matricial

Plot para la grafica

Uitable para sacar los datos en la tabla del guide

ident para la funcin de transferencia

Se analiz la respuesta transitoria de sistemas de segundo orden mediante la


simulacin de la adquisicin de datos de una tabla de datos que varan en el tiempo
para comprender la funcin IDENT de Matlab
RECOMENDACIONES:

Verificar el funcionamiento de la funcin IDENT y los parmetros involucrados


Realizar el programa en un entorno grafico de Matlab , para que sea fcil la
comprensin del mismo

LINKOGRAFA:

https://de.mathworks.com/products/matlab.html
http://www.lawebdelprogramador.com/foros/Matlab/1607950-Adquisicion-de-
datos-de-arduino-a-matlab.html
https://earchivo.uc3m.es/bitstream/handle/10016/17166/PFC_DelaHorraKollmer
Mario_0513.pdf