Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TESIS
Que para obtener el ttulo de:
PRESENTA:
Delgado Bez Jess Adolfo
Mndez Martnez Oscar
ASESORES:
RESUMEN
AGRADECIMIENTOS
A mi familia y a todas aquellas personas por toda esa confianza que han
depositado en m, as como su amor y cario y sobre todo, su apoyo incondicional.
Mis logros y mis triunfos son de ustedes.
Por ltimo, quiero agradecer a esas personas que compartieron sus conocimientos
a lo largo de esta carrera, mis maestros; en especial a mis asesores de tesis, que
con su ayuda y experiencia lograron motivarme para culminar esta obra.
Esta tesis est dedicada a mi madre a quien agradezco de todo corazn por su
amor, cario y comprensin. De igual manera a mi familia le doy las gracias por su
apoyo y la ayuda incondicional. En todo momento los llevo conmigo.
A todas las personas que participaron e hicieron posible este proyecto, muchas
gracias por su disposicin y enseanza.
ndice General
Pg.
ndice de tablas i
ndice de ecuaciones ii
ndice de figuras iii
Planteamiento del problema 1
Objetivos 2
Justificacin 3
Introduccin 4
Estado del Arte 6
1. Captulo 1. Marco Terico 8
1.5. Nivel 15
1.6. Vlvulas 16
1.8. Simulink 20
2.1. Microcontrolador. 24
3.3.1. Puente H 58
3.4. Resultados 60
4.1. Conclusin 62
Bibliografa 64
Anexos 66
ndice de Tablas
Pg.
ndice de Ecuaciones
Pg.
Captulo I
Ecuacin 1.1 Definicin de flujo 10
Captulo II
Ecuacin 2.1. Frmula para el clculo del volumen del tanque 28
de proceso.
Ecuacin 2.2. Ecuacin de la recta. 28
ndice de Figuras
Pg.
Captulo I
Figura 1.1. Relacin entre los diferentes tipo de presin. 14
Captulo II
Figura 2.1. Diagrama de bloques de los perifricos internos del 24
microcontrolador MSP430G2452
Figura 2.2. Tarjeta de adquisicin de datos NI USB-6008 25
Capitulo III
Figura 3.1. Diagrama general del sistema de control 40
OBJETIVOS
JUSTIFICACIN
Esta obra busca resolver el problema del control automtico del flujo de agua a
travs de una tubera mediante la elaboracin y el control de una servovlvula
construida en base a una vlvula de globo, con el fin de demostrar una variante en
la automatizacin de procesos sin necesidad de realizar una gran inversin.
INTRODUCCIN
Es por ello que gran parte de la investigacin mundial est centrada en la creacin
de nuevas tecnologas capaces de proveer las mismas prestaciones a un menor
precio.
La demanda de estos instrumentos por parte de las industrias ha dado lugar a que
en los catlogos de algunos fabricantes se exhiban varios modelos de
CAPTULO I
Marco Terico
Newtonianos
No newtonianos
dnde:
Para aprender a analizar los sistemas que trabajan con fluidos es necesario
comprender los siguientes conceptos, los cuales tambin tienen como objetivo el
modelado y la solucin del problema planteado.
1.2. Densidad
1.4. Presin
La presin es una magnitud fsica definida como la fuerza que ejerce un cuerpo
sobre una unidad de superficie (ecuacin 1.6) y puede expresarse en unidades
tales como pascal (Pa), atmsferas, bar, kilogramos por centmetro cuadrado y psi
(libras por pulgada cuadrada), segn el campo de aplicacin y el sistema de
medida que se est usando [5]. En el anexo A figuran las unidades ms utilizadas
y sus equivalencias.
Si , entonces
Cabe mencionar que la ecuacin anterior no se aplica a los gases, debido a que el
peso especfico de un gas cambia con la presin, por lo que queda restringida
nicamente para lquidos homogneos en reposo [6].
1.5. Nivel
Existen varios mtodos para medir el nivel de lquidos, entre los cuales estn:
1.6. Vlvulas
Las vlvulas deben ser precisas en el control del fluido y presin, as como la
secuencia de operacin.
La pieza de la vlvula globo que controla el flujo es el disco, que est sujeto al
vstago de la vlvula (los discos estn disponibles en varios diseos). La vlvula
es cerrada dando vuelta al vstago de vlvula hacia adentro hasta que el disco se
apoye en el asiento de la vlvula. Esto evita que el lquido atraviese la vlvula (ver
figura 1.4 A). El borde del disco y su asiento estn delicadamente trabajados a
mquina de manera que cuando la vlvula es cerrada encastran en forma muy
precisa. Cuando la vlvula est abierta (ver figura 1.4 B), el lquido atraviesa el
espacio entre el borde del disco y el asiento. Dado que el fluido se desplaza
igualmente en todos los lados del centro de apoyo cuando la vlvula est abierta,
no existe ninguna presin sin balancear sobre el disco que cause un desgaste
desigual. El rgimen al cual el lquido atraviesa la vlvula es regulado por la
posicin del disco en relacin con el asiento.
K = coeficiente,
( )
( ) ( ) ( )
Donde ( ) [ ] y ( ) [ ]
( )
( )
( )
( )
1.8. Simulink
Data Acquisition Toolbox provee funciones para conectar MATLAB con tarjetas
de adquisicin de datos. El toolbox soporta una gran cantidad de DAQs,
incluyendo dispositivos USB, PCI, PCI-Express, PXI y PXI-Express, de National
Instruments, Measurement Computing, Advantech, Data Translation, y otros
proveedores.
CAPTULO II
Controladores, sensores y algoritmos
de control.
2.1. Microcontrolador.
Una gran ventaja que presenta este sensor es su bajo costo y su compensacin
en temperatura.
Caractersticas principales:
El tanque del proceso tiene un volumen de 160 litros el cual es obtenido a partir de
las dimensiones del mismo como se muestra en la ecuacin 2.1.
INSTITUTO POLITECNICO NACIONAL Pgina 27
Ingeniera en Comunicaciones y Electrnica
Las dimensiones internas del tanque del proceso, hasta el drenado son las
siguientes:
Largo = 0.4 m
Ancho = 0.4 m
Alto = 1 m
Ecuacin 2.1. Frmula para el clculo del volumen del tanque de proceso.
Ecuacin 2.3. Relacin lineal, altura volts, detectada por el sensor en el llenado
del tanque.
25
20
Voltaje sensor de presion
15
10
0
0 10 20 30 40 50 60 70 80 90 100
Altura
El sensor de flujo Gems tipo turbina proporciona un rango de flujo de salida exacto
y entrega un voltaje de corriente directa en forma de tren pulsos [13]. Los
parmetros bajo los cuales se seleccion el sensor de flujo son los siguientes:
Seal de error = Seal del valor de referencia Seal del valor medido
Elemento
de
Elemento de Elemento de Elemento de
+ control correccin proceso
Entrada, - Salida,
Sea
valor de l de
referencia
variable
erro
r controlada
Elemento de
Realimentacin medicin
Cdigo digital
de entrada Computadora Convertidor Salida
Proceso
digital-
Digital controlado
analgico
Convertidor
analgico-
digital
Para la integracin
Kp
Set-
Point TRANSMISOR
TRANSMISOR
- VARIABLE VARIABLE
SECUNDARIA PRIMARIA
CAPTULO III
Desarrollo
En este capitulo se desarrolla toda la parte del control del sistema, as como los
circuitos electrnicos utilizados para adecuar las seales entregadas por los
sensores y la etapa de potencia del motorreductor. Se analizarn y se justificar
todos los elementos electrnicos, los algoritmos y las estrategias de control
propuestas para el desarrollo del proyecto, conformado de tres partes medulares,
las cuales se explican a continuacin:
Etapa de potencia: esta es utilizada para energizar los devanados del motor de CD
por medio de un puente H encargado a su vez de controlar el sentido del giro y la
velocidad del motor.
La seal analgica de entrada es convertida a travs del BIT 2 del puerto 1 del
microcontrolador, el cual est configurado para hacer conversiones continuas. El
valor digitalizado del sensor de presin es mostrado en un LCD 16x2, en el cual se
puede observar el porcentaje de la presin que posee el contenedor. El cdigo del
programa de la adquisicin de datos y visualizacin de la variable presin se
muestra en el anexo D.
Por otro lado, los valores de presin medidos por el sensor MPX2010GP en las
diferentes alturas del tanque se muestran a continuacin:
Presin
Altura (m) (KPa)
0.1 0.981
0.2 1.962
0.3 2.943
0.4 3.924
0.5 4.905
0.6 5.886
0.7 6.867
0.8 7.848
0.9 8.829
1 9.81
Altura vs Presion
10
6
KPa
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
m
Los valores de frecuencia entregados por el sensor de flujo tipo turbina en las
diferentes alturas del tanque se muestran a continuacin:
Frecuencia
Altura (m) (Hz)
0.21 22.45
0.26 25.37
0.31 28.15
0.36 31.03
0.41 33.2
0.46 35.46
0.51 37.88
0.56 39.96
0.61 41.66
0.66 43.45
0.71 45.39
0.76 47.1
0.81 48.35
0.86 48.62
0.91 48.88
Para el clculo del flujo que pasa a travs del sensor a las diferentes alturas se
realiz una interpolacin de los valores de frecuencia y su respectivo flujo,
contenidos en la hoja de datos del sensor. Los valores obtenidos son los
siguientes:
Frecuencia Flujo
(Hz) (GPM)
22.45 1.8061
25.37 1.9702
28.15 2.1388
31.03 2.3166
33.2 2.4506
35.46 2.5811
37.88 2.7155
39.96 2.8311
41.66 2.9255
43.45 3.0264
45.39 3.1405
47.1 3.2411
48.35 3.3147
48.62 3.3305
48.88 3.3458
Flujo
Flujo (GPM)
4
3.5
2.5
2
Flujo (GPM)
1.5
0.5
0
0 10 20 30 40 50 60 Frecuencia
Debido a que las seales de salida del sensor de flujo son muy bajas (del orden de
17 Hz a 50Hz), se deben de amplificar a valores a donde el circuito convertidor
frecuencia a voltaje sea ms estable y evitar con ello la incursin de nuevos
elementos para mejorar la conversin.
SENSOR_FLUJO
10k
U1
R2
3 1
COMPIN PP
10k 9 2 14 12
VCOIN PC1OUT CKA Q0
1 9
CKB Q1
14 13 8
U2 SIGIN PC2OUT Q2
11
Q3
R1 6 2
CX1 R0(1)
3
R0(2)
R3 VCOOUT
4 6
R9(1)
C2 C1
7 7
CX2 R9(2)
5
INH
1nF 11 10 74LS90
R1 DEMOD
12 15
R2 ZENER
OUTPUT
4046
1nF
10k
SENSOR_FLUJO
4
10k
3
1
2
LM324
10k
11
10k 10k
5.6k
10k
3 1
4
COMPIN PP 20k 20k
10k 9 2 14 12
VCOIN PC1OUT CKA Q0
1 9 10 OUTPUT (0 - 2.5 VOLTS)
7
CKB Q1
14 13 8 V+ 8
3 SIGIN PC2OUT Q2
11 5k 9
R-C
CMIN
THR
Q3
10 6 2
4
CX1 R0(1) 1nF LM324
3 U1:C(V+)
R0(2)
11
GND
VCC
R12 4 6 5
8
VCOOUT R9(1)
7 7 7 U1:C(V-)
4
CX2 R9(2)
5 6
FOUT
IOUT
REFI
INH 20k
1nF 11 10 74LS90
R1 DEMOD LM324 20k
12 15 LM331 U1:C
R2 ZENER
11
1
3
4046 R7
1nF 20k
10k V- R6
20k
1nF 10k 10k
4
12
14
1k 10k 13
LM324
11
10k
10k
Para tal fin se recurri a la utilizacin del circuito integrado LM331, con la
configuracin tpica del convertidor en modo Frecuencia/Voltaje [14], como se
puede observar en la figura 3.4.
10k
10k
10k
10k
INPUT
7
R-C
CMIN
THR
1nF
GND
VCC
8
4
FOUT
IOUT
REFI
LM331
3
OUTPUT
1k
( )
Por tanto:
( )
( )
INPUT
4
3
1
2 U
LM324
R
11
5.6k
U
4
20k 20k
10 OUTPUT (0 - 2.5 VOLTS)
V+ 8
5k 9
4 LM324
U1:C(V+)
11
5
7 U1:C(V-)
6
20k
LM324 20k
U1:C
11
R7
20k
V- R6
20k
4
12
14
10k 13
LM324
11
10k
10k
Cabe mencionar que el encoder cuenta con 2 canales que entregan seales en
cuadratura con un defasamiento de 90 entre ellas. En base a esta caracterstica
se definir y controlar el sentido de giro, como se explicar ms adelante.
Por otro lado, los pulsos que entregue el encoder a travs del canal que quede
habilitado sern contados ascendentemente o descendentemente (segn sea el
caso) con el fin de adecuar la seal y mantener en memoria la posicin actual.
CANAL_B
U1 OUTPUT_ATRAS
4 2
D0 Q0
3
Q0
5 7
D1 Q1
CANAL_A 6
Q1
12 10
D2 Q2
11
Q2
13 15
D3 Q3
14
Q3
9
CLK
1
MR
74LS175
U2 OUTPUT_ADELANTE
4 2
D0 Q0
3
Q0
5 7
D1 Q1
6
Q1
12 10
D2 Q2
11
Q2
13 15
D3 Q3
14
Q3
9
CLK
1
MR
74LS175
En otras palabras se puede decir que la funcin principal del PWM es variar la
corriente promedio con la cual el motor trabaja, haciendo con ello un incremento o
un decremento en la velocidad de este.
La realizacin del control por PWM se logr a travs del mismo microcontrolador
como se puede observar en el cdigo del anexo F.
Perturbacin
Vlvula manual
SENSOR
Encoder
SENSOR
De flujo
INICIO
Inicializacin de variables y
perifricos del
microcontrolador
SUBRUTINA
Obtencin del valor absoluto DE
de error2
INTERRUPCIN
Controlador
Digital
Salida PWM
FALSO
Cierre de la
Error1> V.P.2 vlvula
VERDADERO
Abertura de la
vlvula
Subrutina de interrupcin
error1>V.P.2 V.P.2 - -
V.P.2 ++
Donde:
V.P.1 = flujo
V.P.2 = posicin
3.3.1. Puente H.
3.4. Resultados
Por otra parte, es loable sealar que el controlador proporcional realizo un buen
trabajo al reducir el error en estado estacionario durante todo el tiempo en que el
CAPITULO IV
Conclusin
Sin embargo, para trabajos posteriores, los autores de esta obra recomendamos
ampliar este proyecto de investigacin al incluir el estudio de diferentes clases de
controladores y realizar una comparacin exhaustiva para elegir la mejor opcin.
Por otra parte, seria buena idea considerar otro tipo de fluido a parte del agua.
Bibliografa
[2] TOSHIYA WATANABE ET L., Development of the Small Flow Rate Water
Hydraulic Servo valve. Departamento de Ingeniera Mecnica, Universidad de
Meijo, Japn. 2010.
[4] ROBERT L. MOTT, Mecnica de fluidos. Pearson Prentice Hall. Sexta Edicin.
2006.
[8] http://www.mathworks.com/products/simulink/
[9] http://www.mathworks.com/products/daq/
[10] http://www.ti.com/product/msp430g2452
[11] http://sine.ni.com/nips/cds/view/p/lang/es/nid/201986
[13] http://www.gemssensors.com/~/media/GemsNA/InstructionBulletins/157258-h.ashx
ANEXOS
#include "msp430x20x2.h"
#define FALSE 0
#define TRUE 1
void PulseLcm();
void SendByte(char,int);
void LcmSetCursorPosition(char,char);
void ClearLcmScreen();
void InitializeLcm(void);
void PrintStr(char *);
void vfBCD(long);
long temp;
long IntDegC;
long Porcentaje;
char UnidadMillar, Centena, Decena, Unidad;
void main(void)
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
InitializeLcm();
ClearLcmScreen();
SendByte(0x0C,FALSE);
SendByte(0x84,FALSE);
PrintStr("Porcs=");
for(;;)
{
temp = ADC10MEM;
Porcentaje = (temp * 10000)/(1023);
IntDegC = ((temp * 2500)/1023);
vfBCD(Porcentaje);
SendByte(0x8A,FALSE);
SendByte(UnidadMillar,TRUE);
SendByte(Centena,TRUE);
SendByte(0x2E,TRUE);
SendByte(Decena,TRUE);
Unidad = Unidad + 0x30;
SendByte(Unidad,TRUE);
__delay_cycles(5555555);
}
}
void PulseLcm()
{
LCM_OUT &= ~LCM_PIN_EN;
__delay_cycles(200);
LCM_OUT |= LCM_PIN_EN;
__delay_cycles(200);
if (IsData == TRUE)
{
LCM_OUT |= LCM_PIN_RS;
}
else
{
LCM_OUT &= ~LCM_PIN_RS;
}
PulseLcm();
if (IsData == TRUE)
{
LCM_OUT |= LCM_PIN_RS;
}
else
{
LCM_OUT &= ~LCM_PIN_RS;
}
PulseLcm();
}
if (Row == 0)
{
address = 0;
}
else
{
address = 0x40;
}
address |= Col;
void ClearLcmScreen()
{
SendByte(0x01, FALSE);
SendByte(0x02, FALSE);
}
void InitializeLcm(void)
{
LCM_DIR |= LCM_PIN_MASK;
LCM_OUT &= ~(LCM_PIN_MASK);
__delay_cycles(100000);
LCM_OUT = 0x20;
PulseLcm();
SendByte(0x28, FALSE);
SendByte(0x0E, FALSE);
SendByte(0x06, FALSE);
}
c = Text;
if ( D >= 1000 )
{
do
{
D-=1000;
UnidadMillar++;
}
while ( D >= 1000 );
}
if ( D >= 100 )
{
do
{
D-=100;
Centena++;
}
if ( D >= 10 )
{
do
{
D-=10;
Decena++;
}
while ( D >= 10 );
}
Unidad = D;
}
flujo = ADC10MEM*8;
error_flujo = set_point - flujo;
error_posicion = error_flujo - acumulador;
pwm_abs=abs(error_posicion);
pwm = (pwm_abs)/(28);
CCR1 = pwm + 480;
P1OUT |= BIT3;
P1OUT &= ~BIT4;
}
else{
flujo = ADC10MEM*8;
error_flujo = set_point - flujo;
error_posicion = error_flujo - acumulador;
pwm_abs=abs(error_posicion);
pwm = (pwm_abs)/(28);
CCR1 = pwm + 480;
P1OUT |= BIT4;
P1OUT &= ~BIT3;
}
}//Fin for
}//Fin main
// Rutina de servicio de interrupcion del puerto 1
#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
acumulador++;
P1IFG=0x00;
asm("RETI");
}
// Rutina de servicio de interrupcion del puerto 2
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
acumulador--;
P2IFG=0x00;
asm("RETI");
}
/*
Control en Cascada
"Primer controlador" -> Control de Flujo
error_flujo=set_point-flujo
Segundo Controlador -> Control de Posicin
error_posicion=error_flujo-acumulador
*/