Está en la página 1de 21

UNIVERSIDAD AUTONOMA "TOMAS FRIAS"

Facultad de Ingeniería Tecnológica


INGENIERIA MECATRONICA

NOMBRE: Jhonny Wladimir Peñaloza Cabello


DOCENTE: Ing. Gunar Rodríguez
MATERIA: Simulación y Modelaje (ETN - 808)
SEMESTRE: 2/2019
FECHA: 20 - 11-2019

20 de Noviembre de 2019 Bolivia - Potosí


UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

INDICE GENERAL

INDICE GENERAL........................................................................2

1. Objetivo……………………………………………………………………………3
2. Herramientas y nomenclatura………………………………………….3
3. Fundamento teórico……………………………………………………4 -13
4. Funcionamiento………………………………………………………..14 - 30
5. Conclusiones………………………………………………………………31 -32
6. Recomendaciones………………………………………………………..33
7. Bibliografias…………………………………………………………………33

2
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

1. Objetivos:
 Modelar y simular un sistema de sensor de temperatura
termistor de carateristicas no lineales.
 Familiarizarse, fijar la operacionalización en entorno
MatLab Guide.

2. Herramientas y nomenclatura:

GUIDE es un entorno de programación visual disponible en MATLAB


para realizar y ejecutar programas que necesiten ingreso continuo
de datos. Tiene las características básicas de todos los programas
visuales como Visual Basic o Visual C++.
INICIO
Para iniciar nuestro proyecto, lo podemos hacer de dos maneras:
• Ejecutando la siguiente instrucción en la ventana de comandos:
>> guide
• Haciendo un click en el ícono que muestra la figura:

3
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

Se presenta el siguiente cuadro de diálogo:

Ventana de inicio de GUI.

Se presentan las siguientes opciones:

a) Blank GUI (Default)


La opción de interfaz gráfica de usuario en blanco (viene
predeterminada), nos presenta un formulario nuevo, en el cual
podemos diseñar nuestro programa.
b) GUI with Uicontrols
Esta opción presenta un ejemplo en el cual se calcula la masa, dada la
densidad y el volumen, en alguno de los dos sistemas de unidades.
Podemos ejecutar este ejemplo y obtener resultados.
c) GUI with Axes and Menu
Esta opción es otro ejemplo el cual contiene el menú File con las
opciones Open, Print y Close. En el formulario tiene un Popup menu, un
push button y un objeto Axes, podemos ejecutar el programa eligiendo
alguna de las seis opciones que se encuentran en el menú despegable y
haciendo click en el botón de comando.

4
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

d) Modal Question Dialog


Con esta opción se muestra en la pantalla un cuadro de diálogo común,
el cual consta de una pequeña imagen, una etiqueta y dos botones Yes
y No, dependiendo del botón que se presione, el GUI retorna el texto
seleccionado (la cadena de caracteres ‘Yes’ o ‘No’).

Elegimos la primera opción, Blank GUI, y tenemos:

Entorno de diseño de GUI


La interfaz gráfica cuenta con las siguientes herramientas:

Para obtener la etiqueta de cada elemento de la paleta de componentes

ejecutamos: File>>Preferentes y seleccionamos Show names in component


palette.

Tenemos la siguiente presentación:

5
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

Entorno de diseño: componentes etiquetados.

La siguiente tabla muestra una descripción de los componentes:

PROPIEDADES DE LOS COMPONENTES

Cada uno de los elementos de GUI, tiene un conjunto de opciones que


podemos acceder con click derecho.

Opciones del componente.

6
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

La opción Property Inspector nos permite personalizar cada elemento.

Entorno Property Inspector.

Permite ver y editar las propiedades de un objeto. Al hacer click derecho en el


elemento ubicado en el área de diseño, una de las opciones más importantes
es View Callbacks, la cual, al ejecutarla, abre el archivo .masociado a nuestro
diseño y nos posiciona en la parte del programa que corresponde a la
subrutina que se ejecutará cuando se realice una determinada acción sobre el
elemento que estamos editando.

Por ejemplo, al ejecutar View Callbacks>>Callbacks en el Push Button, nos


ubicaremos en la parte del programa:

function pushbutton1_Callback(hObject, eventdata, handles)

%hObject handle to pushbutton1 (see GCBO)

%eventdata reserved-to be defined in a future version of MATLAB

%handles structure with handles and user data (see GUIDATA)

7
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

3. fundamento teórico:
G.U.I.D.E.
INTERFAZ GRÁFICA DE USUARIO EN MATLAB

La interfaz gráfica de usuario, conocida también como GUI (del inglés


graphical user interface) es un programa Informático que actúa de interfaz de
usuario, utilizando un conjunto de imágenes y objetos gráficos para
representar la información y acciones disponibles en la interfaz. Su principal
uso, consiste en proporcionar un entorno visual sencillo para permitir la
comunicación con el sistema operativo de una máquina o computador.
FUNCIONAMIENTO DE UNA APLICACIÓN GUI

Una aplicación GUIDE consta de dos archivos: .m y .fig. El archivo .m es el que

Contiene el código con las correspondencias de los botones de control de la


interfaz y el archivo .fig contiene los elementos gráficos. Cada vez que se
adicione un nuevo elemento en la interfaz gráfica, se genera
automáticamente código en el archivo .m. Para ejecutar una Interfaz Gráfica,
si la hemos etiquetado con el nombre curso.fig, simplemente ejecutamos en
la ventana de comandos >> curso. O haciendo click derecho en el m-file y
seleccionando la opción RUN.
MANEJO DE DATOS ENTRE LOS ELEMENTOS DE LA APLICACIÓN Y EL ARCHIVO .M

Todos los valores de las propiedades de los elementos (color, valor, posición,

string…) y los valores de las variables transitorias del programa se almacenan


en una estructura, los cuales son accedidos mediante un único y mismo
identificador para todos éstos. Tomando el programa listado anteriormente,
el identificador se asigna en:

handles.output = hObject;

handles, es nuestro identificador a los datos de la aplicación. Esta definición


de identificador es salvada con la siguiente instrucción:

guidata(hObject, handles);

guidata, es la sentencia para salvar los datos de la aplicación.

8
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

Aviso: guidata es la función que guarda las variables y propiedades de los


elementos en la estructura de datos de la aplicación, por lo tanto, como regla
general, en cada subrutina se debe escribir en la última línea lo siguiente:

guidata(hObject,handles);

Esta sentencia nos garantiza que cualquier cambio o asignación de


propiedades o variables quede almacenado.

Por ejemplo, si dentro de una subrutina una operación dio como resultado
una variable diego para poder utilizarla desde el programa u otra subrutina
debemos salvarla de la siguiente manera:

handles.diego=diego;

guidata(hObject,handles);
La primera línea crea la variable diego a la estructura de datos de la
aplicación apuntada por handles y la segunda graba el valor.
SENTENCIAS GET Y SET

La asignación u obtención de valores de los componentes se realiza mediante


las sentencias get y set. Por ejemplo si queremos que la variable utpl tenga el
valor del Slider escribimos:

utpl= get(handles.slider1,'Value');

Notar que siempre se obtienen los datos a través de los identificadores


handles.

Para asignar el valor a la variable utpl al statictext etiquetada como text1

escribimos:

set(handles.text1,'String',utpl);%Escribe el valor del Slider...

%en static-text

9
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

4. Funcionamiento: En el funcionamiento mostraremos


desde el inicio del programa hasta la culminación del
programa realizado donde entramos el Matlab Simulink.
Donde primeramente declaramos nuestras variables,

Las fórmulas que se utilizan para dicho calculo son las siguientes:

Calculo de P:
Xk = temperaturas
𝒃 − 𝑿𝒋
𝑷= Ra = 2492 = Rmax
𝒃−𝒂 Rb = 982 = Rmin
b = 42 = Xmax
a = 20 = Xmin
rj = Rk
Calculo de RL: Xj= Xk

𝑹𝒂(𝑹𝒃 − 𝑹𝒋) − (𝑷 ∗ 𝑹𝒋)(𝑹𝒃 − 𝑹𝒂)


𝑹𝑳 =
𝑷(𝑹𝒃 − 𝑹𝒂) − (𝑹𝒃 + 𝑹𝒋)

Calculo de RK2:
𝑹𝒌 ∗ 𝑹𝒄
𝑹𝒌𝟐 =
𝑹𝒌 + 𝑹𝒄

10
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

A continuación les mostraremos el programa realizado, para


completar la siguiente tabla:

K Xk RK P RL2 RK2
1 20 2492 1 1469.61 924.43
2 22 2292 0.9090 1471.75 896.24
3 24 2040 0.8181 1404.7 894.71
4 26 1915 0.7272 1344.08 789.76
5 28 1757 0.6363 1307 749.47
6 30 1611 0.5454 1236.1 699.43
7 32 1481 0.4545 1212.52 666.69
8 34 1360 0.3636 1140.99 620.45
9 36 1251 0.2727 1086.44 581.46
10 38 1152 0.1818 1026.96 542.94
11 40 1060 0.09090 824.42 463.74
12 42 982 0 72.3 67.34

11
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

Las herramientas de MatLab GUIDE

Xk = temperaturas
Ra = 2492 = Rmax
Rb = 982 = Rmin
b = 42 = Xmax
a = 20 = Xmin
rj = Rk
Xj= Xk
𝑏−𝑋𝑗 𝑅𝑘∗𝑅𝑐
P= Rk2 =
𝑏−𝑎 𝑅𝐾+𝑅𝑐

42 −32 (1481)(1212,55)
P = 42 −20 Rk2 =
(1481+1212,55)
Rk2 = 666,69
P = 0,4545
3000
2500
𝑅𝑎(𝑅𝑏−𝑅𝑗)−𝑃𝑅𝑗(𝑅𝑏−𝑅𝑎)
RL = 2000
𝑃(𝑅𝑏−𝑅𝑎)−𝑅𝑏+𝑅𝑗
1500
1000 Series1

2492(982−1481)−0.4545∗1481(982−2492) 500
RL =
0.4545(982−2492)−982+1481 0
1 3 5 7 9 11
RL = 1212,52
X max X min

12
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

TAREAS:

a) La 1ra forma es con edit en MatLab GUIDE


b) La 2da forma es aplicando los lisbox en MatLab GUIDE

Para ello utilizaremos las siguientes formulas, para luego aplicarlo y llevarlo a
Matlab Guide, y generar el código en Script que nos permitirá introducir
datos para diferentes tipos de variables, y así obtener los diferentes Errores y
la Obtención de los cálculos para el llenado de la tabla .

A) La 1ra forma es con edit en MatLab GUIDE

Código del insizoa.m

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

a=20;
b=42;
Ra=2492;
Rb=982;
x1=str2double(get(handles.x1,'string'));
x2=str2double(get(handles.x2,'string'));
x3=str2double(get(handles.x3,'string'));
x4=str2double(get(handles.x4,'string'));
x5=str2double(get(handles.x5,'string'));
x6=str2double(get(handles.x6,'string'));
x7=str2double(get(handles.x7,'string'));
x8=str2double(get(handles.x8,'string'));
x9=str2double(get(handles.x9,'string'));
x10=str2double(get(handles.x10,'string'));
x11=str2double(get(handles.x11,'string'));
x12=str2double(get(handles.x12,'string'));

R1=str2double(get(handles.R13,'string'));
R2=str2double(get(handles.R14,'string'));
R3=str2double(get(handles.R15,'string'));
R4=str2double(get(handles.R16,'string'));
R5=str2double(get(handles.R17,'string'));
R6=str2double(get(handles.R18,'string'));
R7=str2double(get(handles.R19,'string'));
R8=str2double(get(handles.R20,'string'));
R9=str2double(get(handles.R21,'string'));
R10=str2double(get(handles.R22,'string'));

13
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores
R11=str2double(get(handles.R23,'string'));
R12=str2double(get(handles.R24,'string'));

P1=((b-x1)/(b-a));
P2=((b-x2)/(b-a));
P3=((b-x3)/(b-a));
P4=((b-x4)/(b-a));
P5=((b-x5)/(b-a));
P6=((b-x6)/(b-a));
P7=((b-x7)/(b-a));
P8=((b-x8)/(b-a));
P9=((b-x9)/(b-a));
P10=((b-x10)/(b-a));
P11=((b-x11)/(b-a));
P12=((b-x12)/(b-a));

RL1=(Ra*(Rb-R1)-(P1*R1*(Rb-Ra)))/(P1*(Rb-Ra)-Rb+R1);
RL2=(Ra*(Rb-R2)-(P2*R2*(Rb-Ra)))/(P2*(Rb-Ra)-Rb+R2);
RL3=(Ra*(Rb-R3)-(P3*R3*(Rb-Ra)))/(P3*(Rb-Ra)-Rb+R3);
RL4=(Ra*(Rb-R4)-(P4*R4*(Rb-Ra)))/(P4*(Rb-Ra)-Rb+R4);
RL5=(Ra*(Rb-R5)-(P5*R5*(Rb-Ra)))/(P5*(Rb-Ra)-Rb+R5);
RL6=(Ra*(Rb-R6)-(P6*R6*(Rb-Ra)))/(P6*(Rb-Ra)-Rb+R6);
RL7=(Ra*(Rb-R7)-(P7*R7*(Rb-Ra)))/(P7*(Rb-Ra)-Rb+R7);
RL8=(Ra*(Rb-R8)-(P8*R8*(Rb-Ra)))/(P8*(Rb-Ra)-Rb+R8);
RL9=(Ra*(Rb-R9)-(P9*R9*(Rb-Ra)))/(P9*(Rb-Ra)-Rb+R9);
RL10=(Ra*(Rb-R10)-(P10*R10*(Rb-Ra)))/(P10*(Rb-Ra)-Rb+R10);
RL11=(Ra*(Rb-R11)-(P11*R11*(Rb-Ra)))/(P11*(Rb-Ra)-Rb+R11);
RL12=(Ra*(Rb-R12)-(P12*R12*(Rb-Ra)))/(P12*(Rb-Ra)-Rb+R12);

RK1=(R1*RL1)/(R1+RL1);
RK2=(R2*RL2)/(R2+RL2);
RK3=(R3*RL3)/(R3+RL3);
RK4=(R4*RL4)/(R4+RL4);
RK5=(R5*RL5)/(R5+RL5);
RK6=(R6*RL6)/(R6+RL6);
RK7=(R7*RL7)/(R7+RL7);
RK8=(R8*RL8)/(R8+RL8);
RK9=(R9*RL9)/(R9+RL9);
RK10=(R10*RL10)/(R10+RL10);
RK11=(R11*RL11)/(R11+RL11);
RK12=(R12*RL12)/(R12+RL12);

set(handles.RL25,'string',RL1);
set(handles.RL26,'string',RL2);
set(handles.RL27,'string',RL3);
set(handles.RL28,'string',RL4);
set(handles.RL29,'string',RL5);
set(handles.RL30,'string',RL6);
set(handles.RL31,'string',RL7);
set(handles.RL32,'string',RL8);
set(handles.RL33,'string',RL9);
set(handles.RL34,'string',RL10);
set(handles.RL35,'string',RL11);
set(handles.RL36,'string',RL12);

14
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

set(handles.RK37,'string',RK1);
set(handles.RK38,'string',RK2);
set(handles.RK39,'string',RK3);
set(handles.RK40,'string',RK4);
set(handles.RK41,'string',RK5);
set(handles.RK42,'string',RK6);
set(handles.RK43,'string',RK7);
set(handles.RK44,'string',RK8);
set(handles.RK45,'string',RK9);
set(handles.RK46,'string',RK10);
set(handles.RK47,'string',RK11);
set(handles.RK48,'string',RK12);

Grafica del insizoa.figura

3000

2500

2000

1500
Series1
1000

500

0
1 3 5 7 9 11
X max X min

15
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

CALCULO DE LINEALIZACION DE SENSOR DE TEMPERATURA NO LINEAL


TERMISTOR

Xk RK P RL2 RK2

20 2492 1 1469.61 924.43


22 2292 0.9090 1471.75 896.24
24 2040 0.8181 1404.7 894.71
26 1915 0.7272 1344.08 789.76
28 1757 0.6363 1307 749.47
30 1611 0.5454 1236.1 699.43
32 1481 0.4545 1212.52 666.69
34 1360 0.3636 1140.99 620.45
36 1251 0.2727 1086.44 581.46
38 1152 0.1818 1026.96 542.94
40 1060 0.09090 824.42 463.74
42 982 0 72.3 67.34

b) La 2da forma es aplicando los lisbox en MatLab GUIDE

Código del insizob.m

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

X=20:2:42;
set(handles.listbox1,'string',X);
RK =
[0;894.714;753.414;709.834;604.474;566.032;484.487;453.33;379.813;357.531
;263.508;0;];
set(handles.listbox2,'string',RK);
plot(X,RK);

16
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

Grafica del insizob.figura

Observaciones.- La observación que tengo es que hay tener mucho cuidado


con la tabulación de fórmulas y guardar variables para los diferentes cálculos
y así obtener la adquisición de datos requeridos en este laboratorio de
linealizacion de sensores termistores industriales

5 Conclusiones:
 En conclusión podemos decir que es muy útil la simulación para darnos
cuenta de los aspectos que podríamos pasar por alto en la ejecución
física del modelaje y simulación de un sistema de sensores de
linealizacion de termistores.
 El modelo que acabamos de ver está diseñado el modelo para calcular
así obtener La Error relativo ,Error absoluto , Error porcentual

17
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

La varianza la desviación de varianza el error total error de calibración


error de certificado.
 en este laboratorio tener en cuento la utilización del programa de
Matlab GUIDE.
 identificar las características. Tipos y clasificaciones de todos los
sensores de temperatura para una buena modelación y su simulación.
 saber manejar el programa de MATLAB GUIDE al realizar los
laboratorios.
 Se logró el diseño del sistema de Calibración de Termocuplas
 Se logró crear en las casillas los títulos de la tabla a través de la

obtención de datos en GUIDE.

 Se logró desarrollar las operaciones de las ecuaciones en Matlab.

 Se obtuvo mostrar en la tabla de Excel por la adquicion de bloques

programados en Matlab guide.

 Se llegó a utilizar las condicionantes e instrucciones en el software del

entorno de Matlab Script en archivos .m

En la siguiente práctica realizada podemos dar a conocer las siguientes


conclusiones.

 Debemos tener cuidado al declarar las variables al introducir a dicho


programa para llegar al resultado que deseamos obtener de las 12
medidas de proceso de linealizacion de termistores.
 En programa de Matlab guide se introduce a modelos y después se
tienen los valores que se desea para calcular el error de la medida
para 20ºC – 42ºC, si las 11 medidas del proceso son calibrados del
T1 hasta T12

18
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

 Se debe tener en cuenta los valores negativos que puedan salir en los
cálculos ya que afectaran considerablemente al modelo del
termómetro, para evitar este inconveniente podemos aplicar una
serie de artificios matemáticos como ser valor absoluto, el producto
por una constante negativa, etc

 De acuerdo con el modelo y el programa realizado podemos decir


que el presente laboratorio realizado, se llegó al resultado
satisfactoriamente teniendo en cuenta varios aspectos simbólicos
tanto como en los modelos matemáticos.

6.- Recomendaciones:
Se recomienda o se Puede modificar esta modelación de los sistemas de
sensores de temperatura Termistores para tener un buen entorno de ventana
en de MATLAB GUIDE ordenado o como también minimizando bloques para
la adquisición de datos con programación en Matlab en Script guardando
un solo archivo .m para una mejor presentación de informes sobre sus
cálculos.

También se recomienda tener mucho cuidado en la ubicación o conexión


nombrar bien las variables o declaración de variables para realizar el código
en Callball para obtener mejor adquisición del dato.

También el resultado del procedimiento de cálculo y así tener una ordena


programación Matlab GUIDE para comprar en la tabla de Excel para un mejor
cálculo de datos.

NOTA: * ENLACE DE LA EXPLICACION EN DE LA REALIZACION DEL


LABORATORIO # 4 LINEALIZACION DE SENSORES DE TEMPERATURA SENSORES
TERMISTORES *

 Video lab4#a
 Video lab4#b

19
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

7.- BIBLIOGRAFIA.-

 http://www.matpic.com/esp/matlab/interfaz_grafica.html
 https://es.scribd.com/doc/97921221/Sensores-RTD
 https://www.academia.edu/28852673/SENSORES_DE_TEMPERATURA
_Industriales
 https://es.slideshare.net/reymartinez1/rtd-pt100-14884304
 https://www.mecatronicalatam.com/tutorial/es/sensores/sensor-de-
temperatura/rtd
 https://es.wikipedia.org/wiki/RTD

20
UNIVERSIDAD AUTONOMA "TOMAS FRIAS" Simulación Y Modelaje:
Facultad de Ingeniería Tecnológica Linealizacion de termistores

21

También podría gustarte