Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Director
DAVID SENIOR ELLES
INGENIERO ELECTRONICO
Jurado
Jurado
Juan Contreras Montes, Ingeniero Eléctrico y asesor del trabajo de grado, por
sus prontas sugerencias y valiosas colaboración durante el desarrollo del
trabajo.
Pág.
INTRODUCCION 1
1. DESCRIPCIÓN DEL PROCESO DE NEUTRALIZACIÓN 9
1.1. TEORIA DEL PROCESO DE NEUTRALIZACIÓN 9
1.1.1. Ionización 9
1.1.2. Producto iónico del agua 10
1.1.3. Ionización de ácidos y bases 11
1.1.4. El concepto de “p”: pH, pOH, pK. 11
1.1.5. Disociación de ácidos y bases débiles 14
1.1.5.1. Ácidos 14
1.1.5.2. Bases 14
1.1.6. Balance de carga del ión 18
1.1.7. Soluciones búfer 20
1.1.8. Curvas de neutralización 22
1.1.8.1. Ácido fuerte mas base fuerte 23
1.1.8.2. Ácido débil mas base fuerte 24
1.1.8.3. Ácido fuerte mas base débil 26
1.1.8.4. Ácido débil mas base débil 27
1.1.8.5. Sistemas de múltiples ácidos y bases débiles 27
1.1.9. Generación de la curva de neutralización de la planta 28
2. REQUERIMIENTOS Y CONSIDERACIONES DE DISEÑO 32
3. SELECCIÓN Y CONCEPTOS DEL SISTEMA DE CONTROL 35
3.1. CONCEPTOS BASICOS DE CONTROL DE LOGICA DIFUSA 36
3.2. ESTRUCTURA DEL CONTROLADOR DIFUSO 37
3.2.1. Pre-procesamiento 38
3.2.2. Fuzzificación 38
3.2.3. Bases de reglas 39
3.2.3.1. Conectividad 40
3.2.3.2. Modificadores 41
3.2.3.3. Universo 42
3.2.3.4. Función de pertenencia 43
3.2.4. Motor de inferencia 45
3.2.4.1. Agregación 46
3.2.4.2. Activación 47
3.2.4.3. Acumulación 48
3.2.5. Defuzzificación 48
3.2.5.1. Centro de gravedad (COG) 49
3.2.5.2. Centro de gravedad para singlentons (COGS) 49
3.2.5.3. Bisectriz de área (BOA) 50
3.2.5.4. MOM 50
3.2.5.5. Máximo a la izquierda (LM) y máximo a la derecha (RM) 50
3.2.6. Post-procesamiento 51
3.2.7. Ejemplo de un controlador difuso 51
4. MODELAMIENTO DIFUSO DE LA PLANTA DE NEUTRALIZACIÓN
DE Ph 59
4.1. ERROR DE INFERENCIA 60
4.2. DETECCIÓN DE CLASES 63
4.3. GENERACIÓN DE REGLAS 64
4.4. GENERACIÓN DE LA PARTICIÓN DE ANTECEDENTE 65
4.5. METODO DE INFERENCIA 66
4.6. RESUSLTADOS 67
5. DISEÑO DEL CONTROLADOR DIFUSO 70
6. SELECCION DE LA INSTRUMENTACION 73
7. DISEÑO DEL HARDWARE DE INTERFASE ENTRE EL PC Y LA
PLANTA 79
7.1. PROCESAMIENTO DE DATOS 80
7.1.1. Características generales del microcontrolador PIC 16f877 81
7.1.2. Diagrama de pines 82
7.1.3. Arquitectura del PIC16F877 84
7.2. ETAPA DE ACONDICIONAMIENTO DE LA SEÑAL 84
7.2.1. Calculo del sumador 86
7.2.2. Calculo del Amplificador 88
7.3. ENTRADA ANALOGA DEL SENSOR DE pH. 92
7.3.1. Requisitos de la adquisición 96
7.3.2. Configuración de las entradas análogas 99
7.3.2.1. Pasos para realizar una conversión 99
7.3.2.2. Interrupción del módulo A/D 100
7.4. ENTRADAS DIGITALES 101
7.5. SALIDAS DIGITALES 103
7.6. PUERTO DE COMUNICACIÓN SERIAL RS232 y RS485 104
7.7. FUENTE DE VOLTAJE DEL HARDWARE. 117
7.7.1. Calculo del transformador 118
8. ETAPA DE ACCIONAMIENTO 120
9. SOFTWARE 124
9.1. MICROCONTROLADOR 16F877 124
9.2. P.C. 134
10. CONCLUSIONES 146
REFERENCIAS BIBLIOGRAFICAS 148
ANEXOS 152
LISTA DE TABLA
Figura 1. Curva de neutralización para ácido fuerte / base fuerte, ácido débil /
base débil, ácidos fuertes / base débil.
Figura 2. Curva de neutralización para ácido débil / base fuerte y múltiples
ácidos / múltiples bases
Figura 3. Curva de neutralización de la planta, generada en el laboratorio.
Figura 4. Datos obtenidos en la prueba 1.
Figura 5. Datos obtenidos en la prueba 2.
Figura 6. Diagrama de bloques de un controlador difuso.
Figure 7. Ejemplo de funciones de reglas: (a) función-S, (b) función – gausiana,
(c) función-Z, (d-f) versión triangular, (g-i) versión trapezoidal, (j)
función-π, (k) rectangular, (l) singlenton.
Figura 8. Grafica de la señal de control en un controlador difuso.
Figura 9. Grado de pertenencia o fuerza de activación.
Figura 10. Aplicación de un controlador de pH.
Figura 11. Controlador difuso.
Figura 12. Error.
Figura 13. Derivada del error.
Figura 14. Voltaje de salida.
Figura 15. Efecto de disparo de todas las reglas.
Figura 16. Muestra los conjuntos difusos de las variables de entrada y los
conjuntos singlenton de la variable de salida.
Figura 17. Muestra la comparación entre la curva del modelo y la curva real.
Figura 18. Respuesta deseada del sistema.
Figura 19. Señal de entrada del sistema para alcanzar pH de 7.
Figura 20. Señal de salida del sistema controlado para alcanzar pH de 7.
Figura 21. Diagrama de bloque de la tarjeta de adquisición y control.
Figura 22. Diagrama general del microcontrolador.
Figura 23. Diagrama de pines del PIC16F874.
Figura 24. Curva de comportamiento de la sensor de pH, para un rango entre 0
pH Y 14 pH.
Figura 25. Circuito Sumador Inversor de ganancia 1.
Figura 26. Prototipo del amplificador de la señal del Sensor de PH.
Figura 27. Diagrama esquemático del circuito amplificador.
Figura 28. Circuito regulador.
Figura 29. Diagrama esquemático del circuito de acople entre el sensor y el
conversor Análogo a Digital.
Figura 30. Diagrama de bloques del conversor análogo-digital.
Figura 31. Registro INTCON.
Figura 32. Registro ADCON1.
Figura 33. Justificación del resultado de la conversión.
Figura 34. Modelo análogo de la entrada del conversor.
Figura 35. Registro PIR1.
Figura 36. Registro PIE1.
Figura 37. Diagrama esquemático de conexión de las entradas digitales.
Figura 38. Diagrama esquemático del sistema de los relay.
Figura 39. Diagrama a bloques del Transmisor en modo asíncrono del USART.
Figura 40. Diagrama de tiempos de la Transmisión asíncrona del USART.
Figura 41. Transmisión asíncrona del USART en forma “espalda con espalda”.
Figura 42. Diagrama a bloques del Receptor en modo asíncrono del USART.
Figura 43. Diagrama de tiempos de la Recepción asíncrona del USART.
Figura 44. Esquema de muestreo del pin RX.
Figura 45. Diagrama de conexión del MAX 232.
Figura 46. Diagrama de conexión del MAX 485.
Figura 47. Conversor de RS232 A RS485.
Figura 48. Diagrama de comunicación.
Figura 49. Esquema del circuito de filtrado.
Figura 50. Circuito esquemático completo del sistema de filtrado y regulado de
la señal de alimentación del la Tarjeta de adquisición.
Figura 51. Diagrama esquemático del transformador.
Figura 52. Trama de comunicación serial.
LISTA DE ANEXO
*
Decreto 1954 de 1984
-1-
¾ Cebado de la bomba principal: Se hace con el fin de que la bomba no
trabaje en vacío, este proceso se realiza con agua filtrada.
¾ Después de haber realizado la acción de cebado se procede a recircular
el agua contaminada para tomar muestra de pH.
¾ De acuerdo a la muestra que se tomen se adiciona ácido o soda para la
neutralización.
¾ Se procede a descargar el agua neutralizada a la bahía de Cartagena.
¾ Después de realizar la descarga se procede al lavado y lubricación de
sello mecánico de la bomba (se realiza con agua filtrada), por 15
minutos para asegurar el lavado de la cámara del sello mecánico,
desalojando cualquier traza de ácido que hayan podido penetrar durante
la operación de circulación o descarga del agua.
-2-
¾ Evitar las sanciones por la contaminación del medio ambiente.
¾ Menor costo en el proceso de neutralización.
¾ Optimización del proceso.
¾ Más tiempo de vida y menos mantenimiento a los elementos de control
a utilizar.
-3-
OBJETIVOS
GENERAL
ESPECIFICOS
-4-
¾ Seleccionar el microcontrolador adecuado para la realización del control
automático del sistema.
¾ Diseñar el software para el microcontrolador y para el monitoreo del
proceso.
¾ Diseñar los manuales de operación del sistema de control y monitoreo
del proceso.
¾ Diseñar los manuales de los software del microcontrolador y del
monitoreo del proceso.
¾ Diseñar los diagramas eléctricos y planos del sistema de control.
-5-
ESTADO DEL ARTE
-6-
CARACTERISTICAS DEL PROCESO DE NEUTRALIZACIÓN EN LA
EMPRESA TERMOCARTAGENA S.A. E.S.P.
¾ PILETA.
Es un tanque de concreto que tiene una capacidad aproximadamente de
45m3, la cual es la encargada de almacenar el agua residual proveniente
del proceso de desmineralización del agua y que se desea descargar a
la bahía con los mínimos requerimientos necesarios establecidos por las
autoridades ambientales.
¾ MOTOR
Es el que tiene la tarea de proporcionarle la energía mecánica a la
bomba de recirculación y descarga, este motor proporciona una
velocidad de 3500RPM para obtener la máxima capacidad de la bomba
de recirculación y descarga.
¾ ELECTRODO DE pH
Tiene como finalidad medir el pH de la solución tomada en la tubería de
descarga, para luego enviar la señal de esta muestra al controlador de
pH.
-7-
¾ pH-METRO
Es el encargado de recibir la señal proporcionada por el sensor de pH,
para luego enviar la señal al controlador y de ese modo activar la bomba
dosificador de ácido o soda según se requiera para la neutralización del
agua.
-8-
1. DESCRIPCIÓN DEL PROCESO DE NEUTRALIZACIÓN.
1.1.1. Ionización
-9-
acuosas. El notó que soluciones equivalentes† de diferentes compuestos tienen
un grado de conductividad muy diferente.
H 2O ⇔ H + + OH − (1)
[H ][OH ] = K
+ −
(2)
[H 2O ] w
[H ][OH ] = K
+ −
W = 10 −14 a 25 ºC (3)
†
Una solución equivalente se define como la solución que contiene un peso equivalente de una sustancia
por litro de solución.
- 10 -
Al satisfacer este equilibrio, los valores numéricos de [H+] y [OH-] incluyen
todos los iones H+ y OH- presentes, sin tener en cuenta que estos iones son
producto únicamente del agua, o de otros constituyentes en el agua.
- 11 -
{ }
pH = − log H + (4)
1
pH = log
{ }
H+
(5)
- 12 -
VALORES DE pH DE VARIAS SOLUCIONES
pH de productos pH de varios
Concentración H+ Concentración
pH alimenticios pH productos
Mols/litro OH- Mols/litro
comunes químicos a 25 ºC
0 1 0.00000000000001 0 Ácido sulfúrico
1 0.1 0.0000000000001 1 Ácido hidroclórico
2 0.01 0.000000000001 Jugo limón 2
3 0.001 0.00000000001 Jugo naranja 3 Ácido acético
Ácidos 4 0.0001 0.0000000001 Cerveza 4
5 0.00001 0.000000001 Queso 5 Ácido hodrociánico
6 0.000001 0.00000001 Leche 6
Neutro 7 0.0000001 0.0000001 Agua pura 7
8 0.00000001 0.000001 Huevos blancos 8 Bicarbonato sodico
9 0.000000001 0.00001 Bórax 9 Acetato de potasio
10 0.0000000001 0.0001 Magnesia 10 Amoniaco
Básico 11 0.00000000001 0.001 11
12 0.000000000001 0.01 12 Soda cáustica 0.04%
13 0.0000000000001 0.1 13
14 0.00000000000001 1 14 Soda cáustica 4%
pOH = log
[
1
−
= − log OH −
] [ ] (6)
OH
[OH ] = 10
− − pOH
(7)
- 13 -
La relación entre el pH y el pOH se puede ver de la expresión
[H ][OH ] = K
+ −
W = 10 −14 (8)
[ ] [ ]
log H + + log OH − = log10 −14 = −14
[ ] [
− log H + − log OH − = 14 ]
pH + pOH = 14 (9)
1
pK a = log = − log K a (10)
Ka
1.1.5.1. Ácidos
- 14 -
HA + H 2 O ⇔ H 3O + + A − (11)
Ka =
[H ][A ]
+ −
(12)
[HA]
HA = H + + A − (13)
El valor de Ka nos permite entender con más precisión los términos de ácidos
“fuertes” y “débiles”. Un ácido fuerte es uno que está bastante desasociado en
solución y tendrá en consecuencia una constante de ionización, Ka,
relativamente grande, esta constante indica la fuerza del ácido, a mayor valor
de Ka, mas fuerte es el ácido. Un ácido débil tiene una tendencia menor a
desasociarse y por tanto tendrá un valor de Ka mas pequeño.
Los ácidos fuertes comunes usados en el laboratorio, tales como HCL, HNO3,
H2SO4, etc. Están completamente disociados en soluciones y sus valores de Ka
son muy altos. Se les conoce también como “electrolitos fuertes”. Sin embargo,
- 15 -
la mayoría de los ácidos se clasifican como “débiles” y no están totalmente
disociados en solución; su valor de Ka varía desde medianamente grande (por
ejemplo HIO3, Ka = 1.7 * 10-1) pasando por pequeños (por ejemplo, ácido
acético, Ka =1.8 * 10-5) hasta demasiado pequeños (por ejemplo, HCN, Ka = 4.9
* 10-10).
1.1.5.2. Bases
- 16 -
La constante de equilibrio para esta reacción se designa por Kb, se pueden
escribir en forma general, para una base débil B, donde la reacción con el agua
no es completa:
B + H 2 O ⇔ BH + + OH − (14)
Ácido
Conjugado
Kb =
[BH ]* [OH ]
+ −
(15)
[B]
- 17 -
CONSTANTES DE IONIZACION DE ACIDOS Y BASES DEBILES A 25 ºC
Nombres Constantes
Ácidos débiles Ka
Acético 1.8 * 10E-5
Benzoico 6.4 * 10E-5
Cloroacético 1.4 * 10E-3
Fórmico 1.8 * 10E-4
Cianhídrico 4.9 * 10E-10
Fluorhídrico 6.7 * 10E14
Yódico 0.17
Nitroso 4.5 * E-4
Propiónico 1.3 * 10E-5
Bases débiles Kb
Amoníaco 1.8 * 10E-5
Anilina 4 * 10E-10
Etilamina 4.3 * 10E-4
Piridina 1.7 * 10E-9
Metilamina 4.4 * 10E-4
- 18 -
Para que exista neutralidad de carga en soluciones que solo tienen iones [H+]
e iones [OH-], se requiere que la cantidad de mili equivalente de ión hidrógeno
sea igual a la cantidad de mili equivalente de ión hidróxido. Si existen otros
iones en la solución, la suma de mili equivalente de cada ión, multiplicado por
su carga (normalidad), debe ser igual a 0. La ecuación de balance de carga es
la suma de todas las normalidades de todos los iones presentes en la solución
igualada a 0. O sea que, un ácido o base fuerte se ioniza completamente de
forma tal que, el número de equivalentes catiónicos es igual al número de
equivalentes de aniónicos. Un ácido o base débil se ioniza parcialmente. Las
concentraciones de los iones pueden calcularse de las relaciones de las
constantes de disociación combinadas en una expresión basada en la
concentración del ácido o base.
1
N1 = *s*N (16)
(1 + p1)
(1 + 0.5 * P 2)
N2 = *s*N (17)
{1 + P 2 * (1 + P1)}
N3 =
[1 + 0.33 * P3 * (2 + P 2)] * s * N (18)
{1 + P3 * [1 + P 2 * (1 + P1)]}
P1 = 10 [s*( pH − pK 1) ] (19)
P 2 = 10 [s*( pH − pK 2 ) ] (20)
P3 = 10 [s*( pH − pK 3) ] (21)
Nb − Na + 10 − pH − 10 ( pH − pKW ) = 0 (22)
1 1
* Nb − * Na + 10 − pH − 10 ( pH − pKw ) = 0 (23)
(1 + P1b ) (1 + p1a )
- 19 -
Donde:
N = concentración del ácido o base (normalidad)
N1 = concentración de iones de una sola disociación (normalidad)
N2 = concentración de iones de una disociación doble (normalidad)
N3 = concentración de iones de una triple disociación (normalidad)
Na = concentración del ácido (normalidad)
Nb = concentración de la base (normalidad)
pK1 = constante de primera disociación
pK2 = constante de la segunda disociación
pK3 = constante de la tercera disociación
PKw = producto iónico para el agua.
S = signo del ión (s = -1 para ácidos y s = +1 para bases)
Las anteriores ecuaciones establecen las relaciones en las que se basan los
programas de simulación del proceso de pH y los cálculos numéricos de las
curvas de neutralización.
Un buffer es una mezcla de un ácido débil y una base débil la cual se puede
obtener mezclando un ácido débil con una disolución de una sal de su base
- 20 -
conjugada, “buffer ácido”, puesto que el anión del ácido es una base débil.
También se puede preparar la solución buffer mezclando una disolución de una
base débil con otra de una sal de su ácido conjugado “buffer básico”. El ácido
débil reacciona con cualquier cantidad de OH- agregado, mientras que el papel
de la base débil es consumir el H+ que pueda haberse introducido. Esto impide
que se perturbe en mayor grado el equilibrio de HOH ⇔ H + + OH − y el cual
depende el pH de la solución.
HA = H + + A − (24)
Ka =
[H ][A ]
+ −
(25)
[HA]
En donde
[H ] = K [[HA]] = K [ÁCIDO
+
a −
[SAL]
a
] (26)
A
Esta es la ecuación que se usa para cualquier buffer ácido, puesto que Ka es
un valor constante, se deduce que [H+] depende totalmente de la razón de la
concentración del ácido, HA, a la concentración de la base, A- . Una vez
establecida esta razón, se puede determinar al pH de la solución.
El problema práctico que se presenta con las soluciones buffer es decir que
cantidades se necesita de ácido y de base débil para “amortiguar” o regular la
solución a un pH predeterminado y es la relación de los constituyentes la que
fija el pH.
- 21 -
Para un buffer básico, por ejemplo, NH3 + NH4CL, la expresión es muy
semejante
NH 3 + H 2 O ⇔ NH + 4 + OH − (27)
Kb =
[NH ]* [OH ]
+
4
−
(28)
[NH 3 ]
[SAL]
]
b (29)
NH 4
- 22 -
Figura 1. Curva de neutralización para ácido fuerte / base fuerte, ácido
débil / base débil, ácidos fuertes / base débil
¿Qué ocurre cuando se mezcla una solución de ácido fuerte como HCl con la
solución de una base fuerte como NaOH? El resultado es el siguiente:
Tanto HCl como NaOH son electrolitos fuertes desasociados en 100%; NaCl es
una sal neutra. En consecuencia, se puede considerar que en realidad se
añade es una solución de OH- a otra de H+ que se neutraliza según la reacción
H + + OH − ⇔ H 2 O (31)
- 23 -
Si por ejemplo se mezcla exactamente 100 mml de HCl 0.5M con exactamente
100 mml de NaOH, 0.5M, el Ion H+ del ácido se neutraliza exactamente por el
Ion OH- de la base y la solución final tendrá un pH igual a 7 (solución neutra).
Naturalmente no es necesario que se mezclen cantidades iguales de ácido y
base para que ocurra una reacción. En muchos casos se usa uno u otro en
exceso.
Si se titula una solución de un ácido débil con una base fuerte, el cambio de pH
al irse agregando la base difiere del caso del ácido y base fuerte.
Consideremos, por ejemplo, la titulación del ácido acético (ácido débil) con una
solución de NaOH (base fuerte):
- 24 -
CH 3 COOH + OH − ⇔ CH 3 COO − + H 2 O (32)
- 25 -
Figura 2. Curva de neutralización para ácido débil / base fuerte y múltiples
ácidos / múltiples bases
NH 4 OH + HCl ⇔ NH + 4 + Cl − + H 2 O (33)
- 26 -
disociación de la base débil. La sensibilidad y ganancia del proceso de pH son
importantes para setpoint de pH mayores a 1 unidad de pH por debajo de la
pKb de la base débil y 1 unidad de pH por encima de la pKa del ácido fuerte. La
sensibilidad y ganancia son menores para un setpoint de pH igual al pKa, la
cual es el punto medio de la porción plana superior. Al igual que el caso
anterior, los extremos están por fuera del rango del setpoint de pH práctico.
Este sistema se distingue por carecer de una pendiente precipitada a través del
rango. La pendiente de la curva de neutralización es mayor en el punto de
equivalencia pero es suave y relativamente pequeña comparada con los
sistemas anteriores.
- 27 -
Las curvas son simétricas porque las concentraciones y las distancias entre las
constantes de disociación son iguales, pero normalmente las curvas de
neutralización de pH no son simétricas.
- 28 -
En la figura 3 se observa la alta no linealidad del proceso, el cual muestra una
pendiente casi vertical en la zona de neutralidad por lo que lo hace ser sensible
en esta zona.
- 29 -
Debido a lo sucedido en la prueba anterior que solo se pudo tomar un dato en
la zona de neutralidad se decidió suministrar gran cantidad de HCL en la zona
de pH comprendida entre 13.62 - 12.107 y reducir la dosis hasta llegar al valor
de pH de 2.1 y luego aumentar la dosis, como se observa en la figura 5 de
acuerdo a esto los resultados obtenidos fueron mas ilustrativos debido a que se
pudo obtener mas valores de pH en la zona de neutralidad.
- 30 -
diferencia del retardo con las otras dos zonas es considerable.
- 31 -
2. REQUERIMIENTOS Y CONSIDERACIONES DE DISEÑO.
- 32 -
automáticamente mandará una señal ordenando la dosificación de ácido y
soda según se requiera.
5. Una vez transcurrido el tiempo de homogenización del pH de la pileta. El
controlador mandará automáticamente la señal de abrir a la válvula de
descarga y cerrar la válvula de recirculación simultáneamente.
6. Si durante la descarga en la pileta, la muestra alcanza valores de pH por
encima o por debajo del valor definido, el controlador automáticamente
ordenara abrir la válvula de recirculación y cerrar la válvula de descarga
simultáneamente.
7. En el proceso de descarga, cuando la pileta llegue a un nivel de 40cm, el
controlador debe mandar una orden de parada a la bomba principal.
8. después de terminado el proceso se realizará el lavado de forma
automática de la cámara del sello mecánico de la bomba desalojando
cualquier traza de ácido que haya podido penetrar durante la operación de
recirculación o descarga.
¾ CONTROL DE pH.
Se contaran con dispositivos de medición del pH el cual envía al
controlador una señal de voltaje proporcional al pH de la solución. El
controlador le enviará la información a través del puerto de comunicación
al microcontrolador para realizar la acción correspondiente de acuerdo
con el set point. Esta medida podrá ser visualizada en tiempo real en el
computador mediante el software de visualización y control. Contaremos
con un diseño de un controlador Fuzzy Logic el cual tiene una gran
eficiencia para este tipo de procesos.
¾ CONTROL DE NIVEL.
Se hace con el fin de tener un control exacto sobre el nivel de la pileta.
Este se realizará a través de un sensor de nivel que manda señales de
voltaje o corriente al controlador el cual dependiendo de esta, el realizará
- 33 -
los cálculos correspondiente para adicionar más ácidos y sodas según
requiera y a su vez mandará las señales de acción de encendido o
apagado de la bomba principal y la señal de apertura o cierre de la
válvula de descarga. El nivel de la pileta se tendrá en cuenta para
relacionar la cantidad de químicos de la mezcla (ácido o soda según se
requiera), que se realizará a través de las bomba dosificadora.
¾ SENSORES DE PRESIÓN.
En el proceso se utilizará un manómetro indicador de presión para poder
determinar el suministro de agua filtrada que se utiliza para el cebado de
la bomba principal y otro manómetro con un contacto normalmente
abierto para indicador y protección por baja presión de agua de lavado y
lubricación de la bomba principal.
- 34 -
3. SELECCIÓN Y CONCEPTOS DEL SISTEMA DE CONTROL.
Otros problemas que presenta el control de pH tienen que ver con los
elementos de medición y actuación, que por lo regular requieren de una
especial atención en las rutinas de mantenimiento.
Para este tipo de proceso existe una variedad de técnica de control que se han
venido utilizando a lo largo de este tiempo como son: Control adaptativo,
control por ganancia programada, controladores Fuzzy Logic, PID (no es muy
optimo), etc. Debido a los resultados que se han obtenidos en los diferente
trabajos que hemos investigado, el control de pH con lógica difusa es uno de lo
mas eficiente y relativamente fácil de implementar [11].
- 35 -
La escogencia de la técnica FLC se basó en: su enorme versatilidad para
trabajar en ambientes no lineales; la robustez para manejar cambios de
dinámica y perturbaciones; y la familiaridad de los pocos parámetros que
eventualmente tendría que ajustar un técnico, para sintonizar el lazo de control.
- 36 -
aunque no son deterministas, no necesariamente son desconocidos. Por otra
parte, desde un punto de vista optimista, lo difuso puede entenderse como la
posibilidad de asignar más valores de verdad a los enunciados que los clásicos
“falso” o “verdadero”. Así pues, reiteramos, las lógicas difusas son tipos
especiales de lógicas multi-evaluadas. El objetivo de todo sistema manejador
de una lógica difusa es describir los grados de los enunciados de salida en
términos de los de entrada. Más aún, algunos sistemas son capaces de refinar
los grados de veracidad de los enunciados de salida conforme se refinan los de
los de entrada. Por estas propiedades es que ciertos sistemas de lógica difusa
aparentan una labor de aprendizaje, y son excelentes mecanismos de control
de procesos. Desde el punto de vista tecnológico, las lógicas difusas se
encuadran en el área de la llamada Inteligencia Artificial y han dado origen a
sistemas expertos de tipo difuso y a sistemas de control automático.
Base de
regla
Fuzzi- Defuzzi-
Preprocesamiento ficación Postprocesamiento
ficación
Motor de
Inferencia
- 37 -
3.2.1. Pre-procesamiento
Las entradas son por lo general medidas por un equipo de medición, en lugar
de ser lingüística. Un pre-procesador, es el primer bloque en la figura 6 la
función de este bloque es la de acondicionar la medida antes de que esta entre
en el controlador. Ejemplos de pre-procesamiento son:
3.2.2. Fuzzificación
- 38 -
3.2.3. Base de regla
Entradas
Salida
Error Derivada del error
Cada fila representa una regla del controlador. Este formato se satisface quizás
mejor para un usuario experimentado que quiere conseguir una apreciación
global de la base de la regla rápidamente. El formato está ciertamente
preparado para guardar de forma organizada en una base de datos. Se debe
- 39 -
especificar que en este formato correlativo se asume implícitamente que la
operación lógica entre las entradas siempre es and u OR.
D erivada de error
∆neg ∆cero ∆positivo
E rror Eneg NG NM CERO
E cero NM C ER O PM
E pos CERO PM PG
Cuando las variables de entrada es el error y la deriva del error, este formato
es también llamado plano de fase lingüístico. En caso de que la variable de
entradas involucradas sea n > 2, la tabla crece a una serie de matriz n-
dimensional.
3.2.3.1. Conectividad
- 40 -
a and b = min(a,b) Mínimo
a or b = max(a,b) Maximo
o
a and b = a*b Multiplicación algebraica
a or b = a + b – a*b Suma probabilística o
algebraica
3.2.3.2. Modificadores
Muy a = a2
Extremadamente a = a3
Levemente a = a1/3
Un poco a = mas o menos a y no levemente a
- 41 -
3.2.3.3. Universo
- 42 -
ejecutar, y si este tiempo también es precioso, la función de pertenencia
continuas harán las cuantización obsoleta.
- 43 -
Un cierto traslape es deseable; ya que de otra forma el controlador puede
ejecutarse dentro de los estados definidos pobremente, donde quizás la salida
no sea la apropiada.
*
Hill, Horstkotte & Teichrow, 1990
- 44 -
Figure 7. Ejemplo de funciones de reglas: (a) función-S, (b) función –
gausiana, (c) función-Z, (d-f ) versión triangular, (g-i) versión trapezoidal,
(j) función-π, (k) rectangular, (l) singlenton.
Por ejemplo, la primera fila dice que si el error es negativo (fila 1, columna 1) y
la derivad del error es negativa (fila 1, columna 2) entonces la salida debe ser
negativa grande (fila 1, columna 3). La grafica corresponde a la base de la
regla en 1. Las reglas reflejan la estrategia que la señal de control debe tener
una combinación del error y la derivada del error, un controlador difuso
proporcional-derivativo. El error y la derivada del error son indicados por las
líneas verticales en la primera y segunda columna de la grafica. Para cada
regla, el motor de inferencia busca los valores del número de pertenencia en la
condición de la regla.
- 45 -
Figura 8. Grafica de la señal de control en un controlador difuso
3.2.4.1. Agregación
- 46 -
Figura 9. Grado de pertenencia o fuerza de activación
3.2.4.2. Activación
Una regla k puede ser el anterior peso por un factor de peso wk ∈[1,0] que este
es el grado de seguridad. En este caso la fuerza de encendido se modifica a:
αk*=wk*αk. (34)
- 47 -
El grado de seguridad es determinado por el diseñador, o un programa de
aprendizaje que intenta adaptar las reglas a alguna relación de entrada-salida.
3.2.4.3. Acumulación
α1*s1+α2*s2+…+αn*sn (35)
Los alphas son las fuerzas de activación de las n reglas y los S1... Sn son la
salidas singlenton ser calculados como un vector producto, este tipo de
inferencia es relativamente rápido en una matriz orientado al lenguaje.
3.2.5. Defuzzificacion
- 48 -
3.2.5.1. Centro de gravedad (COG):
u=
∑ µ (x )x
i i i
(36)
∑ µ (x )
i i
u=
∑ µ (s )s
i i i
(37)
∑ µ (s )
i i
- 49 -
3.2.5.3. Bisectriz de área (BOA):
Este método selecciona la abscisa de la línea vertical que divide el área bajo la
curva en dos mitades iguales. En el caso continuo,
u= {∫
min
x
µ (x )dx = ∫
x
max
}
µ ( x)dx (38)
3.2.5.4. (MOM):
- 50 -
debe entonces seleccionar uno u otro. Este método es indiferente a la forma de
la grafica del sistema difuso. La complejidad computacional es relativamente
pequeña.
3.2.6. Post-procesamiento
- 51 -
Figura 10. Aplicación de un controlador de pH.
Para el error:
Se selecciona el universo del discurso del error entre [-7 7] debido a que el +/-
7 es el máximo error que se puede obtener en el proceso, se toma como
función la triangular para mayor facilidad en los cálculos.
- 52 -
Figura 12. Error
⎧1 si X < −7
⎪ ( X + 2)
⎪
Eneg ( E ) = ⎨− si −7 ≤ X ≤−2
⎪ 5
⎪⎩0 si X > −2
⎧0 si X ≤ −5
⎪ ( X + 5)
⎪ si −5 < X ≤ 0
⎪ 5
Ecero( E ) = ⎨
⎪ (5 − X ) si 0< X ≤5
⎪ 5
⎪0 X >5
⎩ si
⎧0 si X <2
⎪ ( X − 2)
⎪
Epos ( E ) = ⎨ si 2≤ X ≤7
⎪ 5
⎪⎩1 si X >7
- 53 -
Figura 13. Derivada del error
⎧1 si X < −1
⎪ ( X + 0 .2 )
⎪
Dneg ( De) = ⎨− si − 1 ≤ X ≤ −0.2
⎪ 0 .8
⎪⎩0 si X > −0.2
⎧0 si X ≤ − 0 .7
⎪ ( X + 0 .7 )
⎪ si − 0 .7 < X ≤ 0
⎪ 0 .7
Dcero( De) = ⎨
⎪ − ( X − 0 .7 ) si 0 < X ≤ 0 .7
⎪ 0 .7
⎪0 X > 0 .7
⎩ si
⎧0 si X < 0 .2
⎪ ( X − 0 .2 )
⎪
Dpos ( De) = ⎨ si 0 .2 ≤ X ≤ 1
⎪ 0 .8
⎪⎩1 si X >1
El universo del discurso del voltaje de salida del controlador es de [0 24] debido
a que la válvula tiene un rango de entrada de 4 -20 mA.
- 54 -
Figura 14. Voltaje de salida
⎧1 si X <0
⎪ ( X − 10)
⎪
Vbajo(V ) = ⎨− si 0 ≤ X ≤ 10
⎪ 10
⎪⎩0 si X > 10
⎧0 si X ≤5
⎪ ( X − 5)
⎪ si 5 < X ≤ 12
⎪ 7
Vmed (V ) = ⎨
⎪− ( X − 20) si 12 < X ≤ 20
⎪ 8
⎪0 X > 20
⎩ si
⎧0 si X < 20
⎪ ( X − 15)
⎪
Valto(V ) = ⎨ si 20 ≤ X ≤ 24
⎪ 9
⎪⎩1 si X > 24
D eriv ad a d e erro r
D neg D cero D positivo
Eneg V alto V m ed V m ed
E rro r
E cero Vm ed Vbajo V bajo
E pos Vm ed Vbajo V bajo
- 55 -
Los valores que el sistema determina para las variables de entradas son los
siguientes:
Error = -3
Derror = 0.3
La solución seria
( X + 2) (−3 + 2)
Eneg ( E ) = − =− = 0 .2
5 5
( X + 5) (−3 + 5)
Ecero( E ) = = = 0.4
5 5
( X − 0 .2 ) ( 0 .3 − 0 .2 )
Dpos ( De) = = = 0.125
0 .8 0 .8
Para cada regla se elige el menor de los valores obtenidos por las funciones de
pertenencia para los elementos de su antecedente y se obtiene la siguiente
tabla:
D erivada de error
D neg D cero D positivo
Eneg 0 m in (0.2 y 0.57)=0.2 m in (0.2 y 0.125) = 0.125
E rror
E cero 0 m in (0.4 y 0.57)=0.4 m in (0.4 y 0.125) = 0.125
E pos 0 0 0
- 56 -
Paso 3. Disparo de reglas
Vmed =0.2
Vmed =0.125
Vbajo =0.4
Vbajo =0.125
0.4
0.2
⎧0 si x<0
⎪0.4 si 0≤ x<6
⎪
⎪ ( x − 10)
⎪⎪− si 6≤ x<8
10
µ (C ) ( x) = ⎨
⎪0.2 si 8 ≤ x < 18.4
⎪ ( x − 20)
⎪− si 18.4 ≤ x ≤ 20
⎪ 8
⎪⎩0 si x > 20
- 57 -
Paso 4. Desfuzzificación.
∫ x ⋅ f ( x)dx
XG =
DOM ( X )
∫ f ( x)dx
DOM ( X )
( x − 10) ( x − 20)
6 8 18.4 20
( x − 10) ( x − 20)
6 8 18.4 20
∫ f ( x)dx = ∫ 0 + ∫ 0.4dx + ∫ −
DOM ( X ) X <0 0 6
10
dx + ∫ 0.2dx + ∫ −
8 18.4
8
dx + ∫ 0
x > 20
41.84
Donde el centro de gravedad o salida del controlador es X G = = 7.9
5.24
- 58 -
4. MODELAMIENTO DIFUSO DE LA PLANTA DE NEUTRALIZACION DE
pH.
Las técnicas que han tenidos mayores éxito convergen en unos métodos de
clustering llamadas fuzzy-clustering o de agrupamiento difuso, estas técnicas
permiten aproximar una función mediante un sistema basado en reglas
borrosa, por decir uno puede aproximar una ecuación sencilla x = y por un
conjunto de reglas, es decir. Si x es bajo entonces y es bajo, si x es medio
entonces y es medio y si x es alto entonces y es alto, donde x se evalúan en un
conjunto difuso y se evalúan las reglas mediante un mecanismo de inferencia,
no es eficiente modelar sistema que tenga una función de transferencia tan
sencilla como es x = y, pero para procesos que tiene una dinámica mas
compleja no lineal sí resulta eficientes en comparación con las reglas de
modelación no lineales que existen.
- 59 -
Los algoritmos desarrollados por los investigadores son probados en
problemas clásico llamado benkmarch classic (los mas usados son los de Box-
jenkins, Gas Furnace y Serie de Mackey-Glass), donde los resultados
obtenidos sirven como referencia para medir la eficiencia y eficacia del método
utilizado, Las prueban que se tiene en cuenta para medir los parámetros antes
mencionados son: error cuadrático medio (u otra medida de error), el número
de parámetros a sintonizar y la interpretabilidad.
En lógica borrosa es común tratar con reglas del tipo “Si u es A, entonces y es
B”, donde u y y representan dos variables numéricas, y A ⊂ U y B ⊂ Y, son
- 60 -
dos conjuntos difusos de entrada y salida respectivamente, definidos en los
universos U y Y. La regla mencionada es equivalente a la inecuación
µ A (u ) ≤ µ B ( y ) (39)
A B µ A (u ) ⇒ µ B ( y ) µ A ( u ) ≤ µB ( y)
0 0 1 1
0 1 1 1
1 0 0 0
1 1 1 1
⎧0................................u A (u ) ≤ u A ( y )
∈≈ ⎨ (40)
⎩u A (u ) − u B ( y )..............u A (u ) f u A ( y )
- 61 -
C (u ) = {y* ∈ Y u B ( y*) ≥ u A (u )} (41)
Para una base de reglas N, todas con antecedentes conjuntos difusos definidos
en un universo U y consecuentes conjuntos difusos definidos en un universo Y,
la función de error de inferencia global está dada por
1
⎛ N
⎞
∈ (u, y ) = ⎜ ∑φi (u , y ) ∈i (u, y ) P ⎟
P
(43)
⎝ i =1 ⎠
u A ( x) = u B ( y ) (44)
En el caso de una regla del tipo “Si u es A, entonces y es B”. Si el sistema tiene
n entrada se debe representar por una regla del tipo “Si u1 es A1, u2 es A2, …,
uN es An, entonces y es B”, por lo cual el sistema generado deberá cumplir con
la condición.
((u A1 ( xk ) ∧ (u A2 ( xk ) ∧ ... ∧ (u An ( xk )) = uB ( y ) (45)
- 62 -
4.2. DETECCIÓN DE CLASES
(d) Determinar las clases o grupos existentes en los datos (cluster jerárquico)
(e) Incrementar el número de conjuntos n de la(s) variable(s) de entrada y
volver al punto (a) Seguir incrementando hasta que las clases determinadas no
varíen con el incremento de n.
- 63 -
El algoritmo entrega el número m de clases que será igual el número de reglas
necesarias para aproximar la función
(a) Hallar el número n de conjuntos para cada una de las q variables de entrada
aproximándolo al valor superior más cercano en caso de que el valor resultante
sea un fraccionario
n= m
q
(46)
- 64 -
4.4. GENERACIÓN DE LA PARTICIÓN DE ANTECEDENTE
u B ( yk ) = u Ai ( xk ) (47)
- 65 -
(c) Determinar el conjunto de singletons de salida de los valores yk con grado
de pertenencia asociado de 1. Estas serán las ubicaciones de los singletons
de salida.
ym = {yk u B ( yk ) = 1} (48)
( yk − ymin )
xk = (49)
( ymax − ymin )
u Ai ( xk ) = uB ( yk ) (50)
- 66 -
∑ u (u ) y (i)
n i
y * (u ) = k =1 k m
(51)
∑ u (u )
n i
k =1 k
4.6. RESULTADOS
Los resultados obtenidos por esta técnica fueron satisfactorios, debido a que el
modelo es interpretable y tiene un error cuadrático medio pequeño. El
programa de modelamiento empleado en Matlab se presenta en el anexo A.
- 67 -
La figura 16. Muestra los conjuntos difusos de las variables de entrada y
los conjuntos singlenton de la variable de salida.
- 68 -
La base de reglas del modelo difuso está dada por:
Regla N° DESCRIPCIÓN
- 69 -
5. DISEÑO DEL CONTROLADOR DIFUSO
- 70 -
Figura 19. Señal de entrada del sistema para alcanzar pH de 7.
- 71 -
En vista de las limitaciones existentes en la planta para instalar el control
difuso, especialmente por la falta de recursos para adquirir las electro-válvulas
proporcionales necesaria, se procedió a implementar un control ON/OFF para
lo cual ha sido muy valiosa la información suministrada por el modelo difuso y
el control difuso ya que ha permitido definir los tiempos de operación (ON y
OFF) para alcanzar la respuesta deseada.
- 72 -
6. SELECCIÓN DE LA INSTRUMENTACIÓN.
Las bombas dosificadoras de ácido y soda son fabricadas por BLUE WHITE
INDUSTRIES, Están diseñadas bajo especificación del producto a utilizar,
estas bombas manejan una precisión de +/- 2% y trabajan a una presión de 80
PSIG.
- 73 -
Los datos característicos se pueden observar con mas detalles en el anexo C.
• Presóstato.
- 74 -
• Sensor de nivel.
• pH-metro.
- 75 -
• Válvula manual de recirculación.
- 76 -
• Válvulas manuales de soda.
- 77 -
• Manómetro indicador de presión suministro de agua filtrada.
- 78 -
7. DISEÑO DEL HARDWARE DE INTERFASE ENTRE EL PC Y LA PLANTA
¾ Procesamiento de datos.
¾ Etapa de acondicionamiento de la señal de pH.
¾ Entrada análoga del sensor de pH (-414mV a 414mV).
¾ Entradas digitales.
¾ Salidas digitales.
¾ Puerto de comunicación serial RS232 y RS485
¾ Fuente de voltaje.
¾ Interfase de visualización del valor de pH.
- 79 -
A continuación describiremos detalladamente cada uno de los bloque ya
definidos
+5V
I/O I/O
GND
Entradas Salidas
- 80 -
El microcontrolador esta encargado de:
- 81 -
¾ 256 bytes de memoria EEPROM.
¾ Palabra de instrucción de 14 bits de ancho.
¾ Pila de ocho niveles.
¾ Circuito de vigilancia (Watchdog) para recuperación por fallas de
programa.
¾ Modo de operación para ahorro de potencia "sleep".
¾ Gran cantidad de pines de entrada/salida direccionables y controlables
individualmente.
¾ Maneja corrientes considerables (hasta 25 mA por pin en modos
sumideros y fuentes).
¾ Capacidad de protección de código.
¾ Diversos periféricos.
¾ Direccionamientos en modos directo, indirecto y relativo para datos e
instrucciones.
¾ Alta inmunidad al ruido.
- 82 -
¾ VDD: (pines 11 y 32) son los pines de alimentación. Está comprendida
entre 2V y 5.5V.
¾ VSS: (pines 12 y 31) son los pines de tierra o referencia.
¾ OSC1/CLKIN y OSC2/CLKOUT: (pines13 y 14) son los pines de la
entrada de cristal/ fuente externa de reloj y salida de oscilador a cristal
respectivamente. Los microcontroladores PIC, permiten cuatro tipos de
osciladores externos para aplicarles la frecuencia de funcionamiento.
¾ MLCR /Vpp: (pin 1) Entrada de Reset si está a nivel bajo y entrada de
la tensión de programación cuando se está programando el dispositivo.
¾ RA0-RA5/: (Pines 2, 3, 4, 5, 6 y 7 respectivamente) Corresponden a
cinco líneas bidireccionales de E/S del puerto A (PORTA). Es capaz de
entregar niveles TTL cuando la tensión de alimentación aplicada en VDD
es de 5V ± 5%. El pin RA4/TOCKI, si se programa como salida es de
colector abierto. Como entrada puede programarse en funcionamiento
normal o como entrada del contador/temporizador TMR0. Los pines del
puerto A también sirven como entradas análogas para el conversor
análogo – digital.
¾ RB0-RB7: (Pines 33 a 40) Corresponden a ocho líneas bidireccionales
de E/S del puerto B (PORTB). Es capaz de entregar niveles TTL cuando
la tensión de alimentación aplicada en VDD es de 5V ± 5%. RB0 puede
programarse además como entrada de interrupciones externas INT. Los
pines RB4 a RB7 pueden programarse para responder a interrupciones
por cambio de estado. Las patillas RB6 y RB7 corresponden con las
líneas de entrada de reloj y entrada de datos respectivamente, cuando
está en modo programación.
¾ RC0 - RC7: (Pines 15, 16, 17, 18, 23, 24, 25 y 26 respectivamente)
Corresponden a ocho líneas bidireccionales de E/S del puerto C
(PORTC). Es capaz de entregar niveles TTL cuando la tensión de
alimentación aplicada en VDD es de 5V ± 5%. Estos pines pueden
cumplir funciones adicionales, tales como salidas de PWM, recepción y
transmisión serial, puerto I2C, etc.
- 83 -
¾ RD0 - RD7: (Pines 19, 20, 21, 22, 27, 28, 29, 30 respectivamente)
Corresponden a ocho líneas bidireccionales de E/S del puerto D
(PORTD). Es capaz de entregar niveles TTL cuando la tensión de
alimentación aplicada en VDD es de 5V ± 5%. Adicionalmente, este
puerto puede programarse como puerto paralelo esclavo, con el fin de
trabajar con dispositivos periféricos que utilicen interfaz paralela.
¾ RE0 - RE2: (Pines 8 al 10) Corresponden a tres líneas bidireccionales
de E/S del puerto E (PORTC). Es capaz de entregar niveles TTL cuando
la tensión de alimentación aplicada en VDD es de 5V ± 5%. También se
pueden programar como entradas análogas para el conversor análogo -
digital.
- 84 -
pH Voltaje (mV)
0 414
7 9
14 -414
X2=-0.414;
y2=14
x1=0.414;
y1=0
m=(y2-y1)/(x2-x1);
b=7;
x=x2:0.001:x1;
y=m*x+b
plot(x,y)
grid on
axis([-0.414 0.414 0 14])
- 85 -
Figura 24. Curva de comportamiento de la sensor de pH, para un rango
entre 0 pH Y 14 pH.
- 86 -
-5V
1k 100 88.5%
10nF
+
100uF
499k 499k
9V
mv PH 499k +
-414 14
0 7 LF356/NS
414 0
1k -9V
La salida de este circuito nos entrega una señal que va de 0 a 0.824 V, esta
señal es la que se debe amplificar para llevarla al conversor análogo a digital.
Esto se puede demostrar matemáticamente ya que este circuito cumple con las
definiciones teóricas del inversor obteniendo que:
- 87 -
VOUT R f
AV = = (52) Rf
VIN R
V IN = V1 + V2 R f = R = 499kΩ (53) V1 R
Rf R R
VOUT = VIN = (V1 + V3 ) = (54) V2
R R
VOUT = V1 + V3 (55)
El conversor análogo del PIC es de 10 Bit, esto nos indica que el valor máximo
decimal que entrega el conversor es de 1023 cuando en la entrada del
conversor es de 5V y el mínimo valor es 1 cuando en la entrada del conversor
hay :
5
V IN BAJO = = 0,004887V (56)
1023
- 88 -
VSalida 5V
Av = = = 6,038 (57)
V Entrada 0.828V
Vcc
Vin=0.814V + LF353
VEE
R2
R1
Vin=0.814V + LF353
VEE
R2
10k R3
100 0.01%
R1
2k
- 89 -
La señal que entrega el circuito de la figura 5 en teoría va de 0 a 5 (Vdc), pero
puede existir la posibilidad que suministre mas o menos de este valor, por tal
razón se colocara un circuito regulador en la salida que nos asegure que el
voltaje que llegue del conversor sea de –0.7(V) a 5(V), se utilizara un zener
como elemento regulador y una resistencia como elemento limitador de
corriente como se muestra en la figura 28.
R
1k
Dz
1N4733
R 1KΩ
PDZ = VDZ I DZ MAX = 5.1x30mA = 0,153 se toma de 1/2W
- 90 -
voltaje de alimentación será:
V1
-5V
+V
R4 R3
1k 100 88.5%
+
C5
100uF
R2 R5
499k 499k
mv PH
-414 14 V2
9V
0 7 +V
414 0
V4
-414m/414mV R1
499k + IC1 IC1B R11
+ LF356/NS 1k
1 Hz LF356/NS
D1
R9 1N4733
R6 V3 10k
1k +V-9V
R10
200 20%
R8
2k
- 91 -
7.3. ENTRADA ANALOGA DEL SENSOR DE pH.
- 92 -
El módulo conversor A/D tiene cuatro registros:
Este registro, mostrado en la figura 30, controla la operación del módulo A/D.
Este registro permite configurar las funciones de los pines del puerto A y E, los
cuales pueden funcionar como entradas análogas o como entradas/salidas
digitales. A continuación se describen cada uno de sus bits:
- 93 -
101 = canal 5, (RE0/AN5)
110 = canal 6, (RE1/AN6)
111 = canal 7, (RE2/AN7)
Este registro, mostrado en la figura 31, permite configurar cada uno de los
pines de los puertos A y E como canales análogos o como pines de E/S digital.
También permite seleccionar el formato de entrega del resultado de conversión.
A continuación se describen las funciones de cada uno de sus bits:
- 94 -
Bits 6 - 4 Sin implementar: Leídos como '0'.
PCFG3: AN7 AN6 AN5 AN4 AN3 AN2 AN1 AN0 VREF+ VREF- CAN/
PCFG0 RE2 RE1 RE0 RA5 RA3 RA2 RA1 RA0 Refs (1)
0 A A A A A A A A VDD VSS 8/0
1 A A A A VREF+ A A A RA3 VSS 07-Ene
10 D D D A A A A A VDD VSS 5/0
11 D D D A VREF+ A A A RA3 VSS 04-Ene
100 D D D D A D A A VDD VSS 3/0
101 D D D D VREF+ D A A RA3 VSS 02-Ene
011 D D D D D D D D VDD VSS 0/0
1000 A A A A VREF+ VREF- A A RA3 RA2 06-Feb
1001 D D A A A A A A VDD VSS 6/0
1010 D D A A VREF+ A A A RA3 VSS 05-Ene
1011 D D A A VREF+ VREF- A A RA3 RA2 04-Feb
1100 D D D A VREF+ VREF- A A RA3 RA2 03-Feb
1101 D D D D VREF+ VREF- A A RA3 RA2 02-Feb
1110 D D D D D D D A VDD VSS 1/0
1111 D D D D VREF+ VREF- D A RA3 RA2 01-Feb
- 95 -
conversor brinda la flexibilidad de justificar a la izquierda o a la derecha el
resultado de 10 bits dentro de los 16 bits del par de registros. El formato del
resultado se selecciona con el bit de control ADFM del registro ADCON1 (bit 7).
La figura 32 ilustra la operación de justificación del resultado de la conversión.
Los bits adicionales se cargan con '0's. Mientras no se esté utilizando el
conversor, estos registros se pueden usar como registros de propósito general.
- 96 -
Figura 34. Modelo análogo de la entrada del conversor
- 97 -
Asumiendo una temperatura de trabajo de 50° C, el tiempo mínimo de
adquisición es:
¾ 2TOSC
¾ 8TOSC
¾ 32TOSC
¾ Oscilador RC interno para el módulo A/D (2-6 µs)
Frecuencia del
Reloj de conversión A/D ( TAD )
dispositivo
Período de Máxima
ADCS1:ADCS0
operación frecuencia
2Tosc 0 1.25 MHz
8Tosc 1 5 MHz
32Tosc 10 20 MHz
RC 1 2 11 Nota 1
- 98 -
Nota 1: El reloj RC tiene un típico TAD de 4 µs, pero puede variar entre 2 y 6 µs.
Los siguientes son los pasos necesarios para realizar una conversión A/D:
- 99 -
¾ Activar el bit GIE en el registro INTCON.
a). Registro PIR1: Posee los bits bandera de las interrupciones periféricas.
Para el conversor, solo interesa el bit ADIF (bit número 6).
- 100 -
R/W - 0 R/W - 0 R-0 R-0 R/W - 0 R/W - 0 R/W - 0 R/W - 0
PSPIF ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF
bit 7 bit 0
Para habilitar la interrupción del conversor, se deben activar los bits PEIE y GIE
del registro INTCON, y el bit ADIE del registro PIE1.
- 101 -
R11
MOL 1k
V-6
V-10 V-8 D2
1N4733 U1
P-1 PIC16F877
MCLR RB7
RA0 RB6
R12 RA1 RB5
1k RA2 RB4
RA3 RB3
RA4 RB2
D3 RA5 RB1
1N4733 RE0 RB0
RE1 Vcc
RE2 GNG
Vcc RD7
GNG RD6
OSC1 RD5
1k R13 OSC2 RD4
RC0 RX
1k R14 RC1 TX
RC2 RC5
MOL3 1k R15 RC3 RC4
Electrobomba RD0 RD3
acido RD1 RD2
1k R16
BASE 1k R17
1k R18
PILETA MOL1 1k R19
1k R20
1N4733
1N4733
1N4733
1N4733
1N4733
1N4733
1N4733
1N4733
D4 D5 D6 D7 D8 D9 D10 D11
- 102 -
7.5. SALIDAS DIGITALES
RELAY
VCC
VTTL D2
Q1
R1 D1
Los reles a utilizar poseen una bobina que maneja 12V dc y una corriente de
10mA. El puerto del microcontrolador puede suministra un voltaje de 5V y una
corriente 100uA. Conocidos estos parámetros proseguimos a calcular los
componentes del circuito.
I C 10mA
β= = = 100
I E 100 µA
β = 100 (62)
PQ1 = VCE MAX x I C = 12 x 10mA = 0,12W
PQ1 = 0,12W
Transistor a utilizar debe manejar una corriente mínima de 10mA, una potencia
mínima de 100W y una ganancia mínima de 100, el dispositivo que cumple con
estas especificaciones es el transistor NPN 2N3904, cuya hoja características
se puede ver en el anexo I.
- 103 -
VTTL − VD1 − VBE 5 − 0.7 − 0.7
R1 = = = 36000Ω
IB 100µA (63)
PR1 = I B (VTTL − VD1 − VBE ) = 100µA x (5 − 0.7 − 0.7) = 0,00036W
En este modo, el USART usa el formato estándar Sin regreso a Cero (NRZ)
que consiste en un bit de inicio, ocho bits de datos y un bit de paro. El formato
de datos mas común es de 8 bits, sin embargo es posible generar
- 104 -
transmisiones y recepciones de 9 bits. La paridad no está soportada por el
hardware, pero pueden ser implementadas por software (almacenado como un
noveno bit de transmisión). El USART transmite y recibe primero el bit menos
significativo (LSB).
- 105 -
Dada una deseada taza de transmisión y una frecuencia de oscilación (Fosc),
se puede calcular el valor entero mas cercano usando la fórmula de la tabla 13,
donde X es el valor del registro SPBRG (de 0 a 255).
Despejando:
X= [Fosc/(BR) (64)] - 1
X= [20 MHz / (9600) (64)] - 1
X= 32.5521 – 1
X= 32
- 106 -
La tabla 14 muestra los registros y bits de los registros asociados a la
generación de la taza de transmisión:
- 107 -
Figura 39. Diagrama a bloques del Transmisor en modo asíncrono del
USART.
El reloj que recorre los datos (BRG) se debe habilitar a través del bit TXEN
(TXEN<5>). El TSR comienza a recorrer los datos hacia el pin TX/CK
agregando automáticamente el bit de inicio y el bit de paro, cuando el TSR se
vacía se enciende el bit TRMT (TXSTA<1>), el TMRT es un bit de sólo lectura
y no hay lógica de interrupción atada a este bit, por lo que se debe muestrear
para determinar cuando se ha vaciado el TSR.
- 108 -
En modo de ahorro de energía (SLEEP) la trasmisión serial asíncrona se
detiene.
Los pasos para programar la transmisión serial asíncrona son los siguientes:
- 109 -
La tabla 15 muestra los registros y los bits asociados con la transmisión serial
asíncrono.
- 110 -
Figura 42. Diagrama a bloques del Receptor en modo asíncrono del
USART.
Para evitar la pérdida de datos al recibir las palabras, el registro RCREG tiene
una arquitectura FIFO con una profundidad de 2 registros, permitiendo recibir 2
bits en el RCREG mas otro siendo recibido en el RSR. Si aún así el registro
RCREG no es leído a tiempo, la palabra recién llagada se perderá y se
encenderá al mismo tiempo el bit OERR (RCSTA<1>), que es el bit de error de
sobre ejecución. Este bit debe ser borrado por software. Cuando este bit se
enciende se inhiben las transferencias del RSR al RCREG, por lo que es
importante limpiar el bit O ERR. Para borrar este bit es necesario apagar y
encender el bit de habilitación de recepción continua, el bit CREN (RCSTA<4>.
El bit FERR (RCSTA<2>) se enciende al detectar que el bit de paro se recibió
en cero, este bit junto con noveno de datos se reciben en el registro RCSTA
por lo que primero se deben leer estos bits antes de leer el registro RCREG o
de otra forma se perderán por la estructura FIFO cuando llegue otra palabra.
- 111 -
Figura 43. Diagrama de tiempos de la Recepción asíncrona del USART.
Los pasos para programar la recepción serial asíncrona son los siguientes:
Como puede apreciarse, los pasos 1-4 son muy parecidos tanto para la
transmisión como la recepción. Los pasos 1 y 2 sólo requieren ser realizados
una vez y será suficiente para la recepción y como para la transmisión. La tabla
16 muestra los registros y los bits asociados con la recepción serial asíncrono.
- 112 -
Normalmente estos registros se encuentran en el banco 1, excepto el registro
RCSTA.
- 113 -
10V para indicar que hay un uno y de 10 para indicar que hay un cero, este
integrado contiene en su interior un sistema multiplicador de voltaje a base de
capacitores y diodos. Para elevar el voltaje de 5 voltios a 20 voltios
aproximadamente. El diagrama esquemático de conexión de esta se muestra
en la figura 45.
V1
5V
+V
IC9 DB9
+ C15
MCLR RB7 C13 1 6
RA0 RB6 2
RA1 RB5 IC8 + 3 7
4 8
RA2 RB4 MAX232 9
RA3 RB3 5
+
C1+ Vdd
RA4 RB2 V+ GNG
RA5 RB1 C17 C1- T1out
RE0 RB0
+
OSC1 RD5
C14 R2in R2out
OSC2 RD4
RC0 RC
RC1 TX
RC2 RC5
RC3 RC4
RD0 RD3
RD1 RD2
- 114 -
IC2
MCLR RB7
RA0 RB6
RA1 RB5
RA2 RB4
RA3 RB3
RA4 RB2
RA5 RB1
RE0 RB0
RE1 Vdd
RE2 GNG
VDD RD7 IC4
GNG RD6 MOL
OSC1 RD5 RS485
R Vcc
OSC2
RC0
RD4
RC RE B Contr
RC1 TX DE A Bl
RC2 RC5 D GNG A
RC3
RD0
RC4
RD3
GNG
RD1 RD2
R2
1.8k
IC3
9 - 12 V DC o A W04 78L05
IN OUT
D1
COM
C7
100nF C4
1uF
+
+
C6 C5
1uF
1000uF IC1 + DB9
MAX232
1 C1+ Vdd 16
+
1uF 2 V+ GNG 15 1 6
C1 3 C1- T1out 14 2 7
4 C2+ R1in 13 3
+
5 C2- 12 4 8
1uF R1out 5 9
C2 6 V- T1in 11
1uF 7 T2out T2in 10 IC2
8 R2in R2out 9
+
C3
1 R RS485 Vcc 8
2 RE B7
3 DE MOL
4D A6 R1
4 PINES
GNG 5 160
R2
2.2k
R3
Q1 1k
2N3904
Este circuito convierte la señales del puerto RS232 a señales RS485, pero
necesita una señal de control que este en sincronización con la tarjeta, pero de
estado invertido, esto quiere decir que cuando la señal de control en la tarjeta
este en uno la señal de control en este dispositivo debe estar en 0. Por tal
razón se habilito la salida de control que vemos en la figura 46. Que se conecta
- 115 -
en la entrada de control que se muestra en la figura 47.
9 - 12 V DC o A IC3
W04 78L05
IN OUT
D1
COM
C7
100nF C4
1uF
+
+C6 C5
1uF
1000uF IC1 + DB9
MAX232
1C1+ Vdd16
+
1
1uF 2V+ GNG15 2 6
C1 3C1- T1out14 7
3
4C2+ R1in13
+
4 8
1uF 5C2- R1out12 9
C2 6V- 11 5
T1in10
7T2out T2in IC2
1uF
C3+ 8R2in R2out9
1R RS485 8
MOL
Vcc7 Control
2RE B
3DE A6 R1 B
4D GNG5 160 A
R2
GNG
2.2k
R3
Q1 1k
IC4 2N3904
MCLR RB7
RA0 RB6
RA1 RB5
RA2 RB4
RA3 RB3
RA4 RB2
RA5 RB1
RE0 RB0
RE1 Vdd
RE2 GNG
VDD RD7 IC5
GNG RD6 RS485 MOL1
OSC1 RD5
OSC2 RD4 R Vcc Control
RC0 RC RE B B
RC1 TX DE A
RC2 RC5 D GNG A
RC3 RC4 GNG
RD0 RD3
RD1 RD2 R5
1.8k
- 116 -
7.7. FUENTE DE VOLTAJE DEL HARDWARE.
F1
-180/180V
D1 + RL
C1
60 Hz
C2
+ RL
0.24 (65)
C1 =
% rRL
Vsal
RL = (66)
I C arg a
12V
= 120Ω
100 mA
% r = 1%
0.24
C1 = = 2000uf
1x120
- 117 -
Se tomara el valor inmediatamente Superior comercial que es de 2200uF
Se procede a verificar si el valor del capacitor que escogimos es el adecuado
0.24 0.24
%r = = = 0.9
C1 RL 2200ufx120
78L09 78L05
1KAB40 IN OUT + IN OUT
100mA
-180/180V COM COM
10uF
+
60 Hz 2200uF
79L09
IN OUT
+ 2200uF
COM
10uF
- 118 -
el dispositivo esta compuesto por dos bobinas una llamada bobina primaria que
es donde se conecta la red eléctrica y otra donde se induce el voltaje o bobina
secundaria. Si queremos reducir el voltaje de la entrada la bobina primaria
debe ser mayor que el de la bobina secundaria y si lo queremos elevar se debe
hacer lo contrario. Después de esta introducción se realizan los cálculos.
- 119 -
8. ETAPA DE ACCIONAMIENTO
- 120 -
El primer paso para dar arranque al proceso es seleccionar la opción ON del
selector I1, en este instante el sistema esta habilitado para que operador
seleccione la opción entre local y remoto con el selector I2.
Cuando la pileta alcanza un nivel de 0.8 M se cierra el contacto NO2 del sensor
de nivel activando la bobina del relay R3 que a su vez cierra un contacto
normalmente abierto que hablita el encendido de la bomba principal. El relay
R3 lo deshabilita el relay R4 con un contacto normalmente cerrado con el fin de
que la bomba principal se habilite por alto nivel o nivel de trabajo normal
independientemente.
- 121 -
cuando el nivel baja menor de 0.8 M el contacto normalmente abierto del relay
R3 que mantiene habilitado el funcionamiento del motor se abre debido a que
el contacto de NO2 es deshabilitado, pero el contacto R4 continua cerrado, EL
contacto R4 solo se deshabilita cuando la pileta llega a un nivel de 0.4 M e
inmediatamente se apaga la bomba principal.
ENTRADAS DIGITALES:
- 122 -
deseada para arrancar el proceso.
¾ IN4: Indicación de nivel deseado para iniciar el proceso de neutralización
¾ IN5: Realimentación del estado de la válvula de dosificación de ácido
¾ IN6: Realimentación del estado de la válvula de dosificación de soda.
¾ IN7: Realimentación del estado de la bomba principal
¾ IN8: Indicación de alto nivel y bajo nivel
SALIDAS DIGITALES:
- 123 -
9. DISEÑO DEL SOFTWARE.
INICIO
ATENCIÓN DE
INTERRUPCIONES
CONVERSIÓN
ANÁLOGA A DIGITAL
VISUALIZACIÓN DE LOS
ÚLTIMOS DATOS OBTENIDOS
EN LA CONVERSIÓN A/D
VERIFICACION DE CONEXIÓN
ENTRE EL PC Y EL PIC
FIN
- 124 -
¾ ATENCIÓN DE LAS INTERRUPCIONES
- 125 -
INTER
Si
IN_REG←RCREG
Si
NO Si SI
BANDERA_S ≠0
GIE←1
Salir de Interrupción - 126 -
1
1a
Si Si
IN_REG=’F’ BANDERA_S←16
No
Si Si
BANDERA_S ← 32
IN_REG=’G’
No
Si Si
TXREG ← PORTB
IN_REG=’H’
No
GIE←1
Salir de Interrupción
FIN
CONVERSOR
FIN
- 127 -
¾ CORRECIÒN DE LECTURA DE LOS DATOS DEL CONVERSOR
ANALOGOA DIGITAL.
- 128 -
CORRECCIÒN
DECENAS ←
{PUENTE − UNIDADES }
10
CENTENA ←
[DIVIDENDO − PUENTE ]
100
UNIDAD01 ← UNIDAD
DECENA01 ← DECENA
CENTENA01 ← CENTENA
UNIDAD02 ← 0
UNIDAD03 ← 0
Si DECENA02 ← 0 DIVIDENDO ← UNIDAD01+UNIDAD02+ UNIDAD03
Si
BIT_ALTO =0 DECENA03 ← 0 UNIDADES ← [DIVIDENDO ( MOD) 100] ( MOD) 10
CENTENA02 ← 0 DECENAS ←
{[DIVIDENDO (MOD) 100] − UNIDADES }
CENTENA03 ← 0 10
No CADU00 ← UNIDADES; digito que representa las unidades
de la lectura
UNIDAD02 ← 6
UNIDAD03 ← 0 DIVIDENDO ← DECENA01+ DECENA02+
Si Si DECENA02 ← 5 DECENA03+DECENAS
BIT_ALTO =1 DECENA03 ← 0 UNIDADES ← [DIVIDENDO ( MOD) 100] ( MOD) 10
CENTENA02 ← 2 {[DIVIDENDO (MOD) 100] − UNIDADES }
DECENAS ←
No CENTENA03 ← 0 10
CADD00 ← UNIDADES; digito que representa las decenas
UNIDAD02 ← 0
de la lectura
UNIDAD03 ← 2 DIVIDENDO ← CENTENA01+ CENTENA02+
Si Si DECENA02 ← 0 CENTENA03+DECENAS
BANDERA_AD =2 DECENA03 ← 1 UNIDADES ← [DIVIDENDO ( MOD) 100] ( MOD) 10
CENTENA02 ← 0
No
CENTENA03 ← 5 DECENAS ←
{[DIVIDENDO ( MOD) 100] − UNIDADES}
10
UNIDAD02 ← 6 CADC00 ← UNIDADES; digito que representa las centenas
UNIDAD03 ← 2 de la lectura
Si Si DECENA02 ← 5 CADM00 ← DECENAS; digito que representa los miles de
BANDERA_AD =8 DECENA03 ← 1 la lectura
CENTENA02 ← 2
CENTENA03 ← 5
FIN
- 129 -
¾ GUARDAR DATOS ACTUALES DE LA CONVERSIÓN A/D
GUARDAR
D_UNIDAD01←CADU00, W
D_DECENA01←CADD00
D_CENTENA01 ←CADC00
D_MILES01 ←CADM00
FIN
- 130 -
¾ VISUALIZACIÓN DE LOS ÚLTIMOS DATOS OBTENIDOS EN LA
CONVERSIÓN A/D.
GUARDAR
TEM02←0
Mientras que Si
TEM02<=20
No
FIN
- 131 -
Al mover al registro TXREG cualquier valor lo estamos enviando por el puerto
serial RS232, Como anteriormente se habían guardo los datos obtenidos en la
conversión, se sigue a cargar el contenido de estos archivos al Registro
TXREG para su envió por el puerto Seria RS232, formando así una trama la
cual se inicia con un registro de Start en nuestro caso es el numero 65 y se
finaliza con el numero 88. Quedando la trama compuesta por 6 registros así.
‘A’ U1 D1 C1 M1 ‘X’
REAL_LECT
Si No
CPU_ENCENDIDA=’’
Si
TXREG ← 'A'
TXREG ← D_UNIDAD01
TXREG ← D_DECENA01
TXREG ← D_CENTENA01
TXREG ← D_MILES01
TXREG ← 'X'
FIN
- 132 -
¾ COMPROBACIÓN DE CONEXIÓN POR MEDIO DEL PUERTO SERIAL
CON EL COMPUTADOR.
PRUEBA
TEM00 ← TEM00+1
No
Si
TEM00 =256
Si
TEM00←0
TXREG= 'Ì'
FIN
- 133 -
9.2. SOFTWARE DEL PC.
Inicio
Comprobación de Error y
corrección de los datos recibidos
Petición de activación o
desactivación de los relay
- 134 -
¾ ABRIR O CREAR ARCHIVO PLANO
El Software cuenta con una rutina que verifica si el archivo plano existe si esto
es verdadero solamente se abre el archivo si no se crea un nuevo archivo de
extensión .dat y el nombre tiene las siguientes especificaciones:
Por tanto el archivo plano correspondiente al primero de mayo del 2005 será:
pHM5D1A2005.dat
INICIO
Si
FIN
- 135 -
¾ ABRIR EL PUERTO SERIAL RS232
Para abrir el puerto primeros hay que especificar cual puerto serial es el que
vamos a usar en nuestro caso será el COM2. Luego sE prosede a abrir y
configura el puerto Serie RS232.
INICIO
Si
Salida ← sPort.getOutputStream();
Entrada ← sPort.getInputStream();
FIN
Cuando se solicita un dato a la tarjeta hay que enviarle un código para que ella
reconozca que es lo que se esta preguntando. Para la solicitud de datos de la
conversión análogo a digital se enviá el carácter ‘E’. La tarjeta inmediatamente
recibe este valor y lo carga en la bandera CPU _ ENCENDIDA = ’E’ con este
valor le indica al microcontrolador que envié los datos actuales de la lectura del
conversor análogo a digital (A/D).
- 136 -
INICIO
Si No
Correcc=’A’
Si
AD[0] ←correcc
i ←1
Mientras que No
i<8
Si FIN
AD[i] ← Entrada
i ← i+1
- 137 -
¾ COMPROBACIÓN DE ERROR Y CORRECCIÓN DE LOS DATOS
RECIBIDOS
Estado de las
Estado de
Start Unidades Decenas Centenas Miles Entradas Stop
la pileta
digitales
Los cuatro registros que se encuentran después del start (65), contiene los
datos de la lectura de la conversión A/D, divididos en unidades, decenas,
Centenas y miles. Con el propósito de ayudar a comprobar el error, se tiene en
cuenta que estos no superan el valor de 9 y por tal razón si en algún momento
se recibe un valor mayor a 9 en este campo existe un error y se decide abortar
este proceso de lectura para hacer una nueva solicitud.
INICIO
No
Si
AD[0]='A' ⊗ AD[1]<=9 ⊗ AD[2]<=9 ⊗
AD[3]<=9 ⊗ AD[4]<=9 ⊗ AD[7]='X’
Si
PH←AD [1]+AD[2]*10+AD[3]*100+AD[4]*1000
PH ← PH /100
BIT_BAJO=AD [5]
PILETA=AD [6]
FIN
- 138 -
¾ VISUALIZACIÓN DE LOS DATOS OBTENIDOS EN LA SOLICITUD DE
DATOS EN TIEMPO REAL
INICIO
Si (tem>=150)
graficas.ban00=0;
tem=149
Fin si
frame.jLabel14.setText(Double.toString(PH)+" PH")
FIN
Para guardar los datos se crea la cadena de caracteres que queremos guardar,
separada cada variable que compone la cadena con comas y se finaliza con
(/n). La cadena de caracteres se observa a continuación:
"SENSOR PH"+","+día+"/"+mes+"/"+año+","+hora+":"+min+":"+seg+"
"+ampm+","+PH+","+flujo+","+volumen+","+"\n"
- 139 -
INICIO
Si No
cont_min1>=minutos ⊗ abs (PH_ANT1-PH)>=grados
Si
Base D ← B datos1
FIN
- 140 -
¾ PETICIÓN DE ACTIVACIÓN O DESACTIVACIÓN DE LOS RELAY
Byte
Relay Activa Desactivar
indicador
Válvula de recirculación V6 A RB_v6=1 RB_v6=0
Válvula de descarga V8 B RB_v8=2 RB_v8=0
Válvula solenoide V10 C RB_v10=4 RB_v10=0
Electrobomba EB D RB_EB=8 RB_EB=0
Bomba de ácido F RB_acido=16 RB_acido=0
Bomba de Base G RB_base=32 RB_base=0
Salida ← ‘A’ Salida ← ‘B’ Salida ← ‘C’ Salida ← ‘D’ Salida ← ‘F’ Salida ← ‘G’
Salida ← RB_V6 Salida ← RB_V8 Salida← RB_V10 Salida← RB_EB Salida← RB_acido Salida← RB_base
- 141 -
¾ CONTROL DEL pH UTILIZANDO
- 142 -
INICIO
PH> (PID.Sp+1)
conteo_seg<tiempo_activo
conteo_seg<tiempo_activo NO
Si
Apagamos la bomba de Ácido
Inyectamos ácido a la pileta RB_ácido 0
RB_ácido 16 Control_Ácido ( )
Control_Ácido ( ) Flujo flujo + flujo A
NO PH<PID.Sp
Si
conteo_seg<tiempo_activo NO
Si
PH>PID.Sp y PH<PID.Sp+1
Si
min≠cont_min_ant3
NO
Si
FIN
- 143 -
¾ TABLA DE LA CORRESPONDENCIA ENTRE EL PH Y LA CANTIDAD DE
ACIDO O BASE QUE SE LE AGREGA AL AGUA
Switch (expression) {
case valor 1: sentencia 1; break;
case valor 2: sentencia 2; break;
case valor 3: sentencia 3; break;
.
.
.
case valor n: sentencia n; break;
- 144 -
INICIO
Switch = pH
NO
NO
Case 7 Si tiempo_activo=0min
NO
NO
NO
ERROR NO ES UN
DEFAULT Si VALOR VALIDO
- 145 -
CONCLUSIONES
- 146 -
Con la puesta en marcha del proyecto la empresa se ahorra tiempo de
operación debido a que se realizaba de forma manual que de acuerdo al
tiempo obtenido experimentalmente es un proceso largo, de igual forma el
suministro de ácido y soda es menor. Los objetivos y las tareas que se
plantearon en el anteproyecto fueron cumplidos no al 100% debido a las
condiciones anteriormente mencionadas pero si a satisfacción de la empresa.
En este trabajo queda claro cada uno de los factores químicos que intervienen
en el proceso de pH y que son muy importantes en la hora de seleccionar la
instrumentación y tener en cuenta para aspectos de calibración.
Factores como la temperatura la cual afecta la medidas del pH, las soluciones
búfer que se utilizan para la calibración del controlador o transmisor de pH y la
curva de comportamiento de pH. Se puede apreciar que para cada tipo de
proceso que se desea controlar el pH puede existir curvas de comportamiento
diferente de acuerdo a la clasificación ya sea ácidos (fuertes y débiles) o bases
(fuertes y débiles) este aspecto es determinante para obtener un mayor éxito
en el diseño del controlador.
- 147 -
REFERENCIAS BIBLIOGRAFICAS
[2] Gulley N. y Jang J. R., “Fuzzy Logic Toolbox User’s Guide”, The Math
Works, (1995).
[5] García, Antonio. Química teorías y problemas. México: Alfa omega, 2000.
http://hp9.irc.na.cnr.it/GNIC/papers/trotta/trotta/napo3.html.
- 148 -
[10] Tadeo F., Holohan A., Vega P., l1-Optimal Regulation of a pH Control
Plant, Universidad de Valladolid, 2002
[11] Qin S. J. y Borders G., “A Multiregion fuzzy Logic Controller for Nonlinear
Process Control”, IEEE Transactions on Fuzzy Systems, Vol. 2, No. 1,
(February 1994).
[17] Peter Bauer y Stephan Nouak, Roman Winkler, Breve curso de Lógica
borrosa y control difuso.
- 149 -
[19] J. Galindo Gómez, conjuntos y sistemas difusos, Departamento de
Lenguajes y Ciencias de la Computación Universidad de Málaga.
[22] Jens Alex, Ulrich Jumar and Ralf Tschepetzki. A FUZZY CONTROL
APPLICATION TO WASTE WATER TREATMENT PLANTS. IEEE 1994.
- 150 -
Web sites:
www.ieee.org
IEEE Transaction on Fuzzy Systems
IEEE Transaction on Automatic Control
IEEE Transaction on Control Systems Technology
IEE Control Theory and Applications
http://www.fuzzytech.com/e/e_a_dek.html : Aplicaciones varias.
http://www.manufacturing.net/ctl/article/CA259215 : Articulo que comprara
técnicas de control convencional con Fuzzy.
http://www.manufacturing.net/ctl/article/CA372359 Temperatura PID Vs Fuzzy
- 151 -
ANEXO A. PROGRAMA DE MODELAMIENTO DEL CONTROLADOR
EMPLEADO EN MATLAB.
- 152 -
ANEXO B. DATOS TÉCNICOS DE LA BOMBA PRINCIPAL.
- 153 -
ANEXO C. DATOS TÉCNICOS DE LAS BOMBAS DOSIFICADORAS DE
ÁCIDO Y SODA.
- 154 -
ANEXO D. DATOS TÉCNICOS DE LAS VÁLVULAS ELÉCTRICAS DE
RECIRCULACIÓN Y DESCARGA.
- 155 -
ANEXO E. TRANSMISOR DE NIVEL TIPO RADAR SERIE ROSEMOUNT
5600.
- 156 -
ANEXO F. DATOS TÉCNICOS DEL PH-METRO.
- 157 -
ANEXO G. HOJA CARACTERÍSTICA DEL MICROCONTROLADOR 16F774.
- 158 -
ANEXO H. HOJA CARACTERÍSTICA DEL AMPLIFICADOR OPERACIONAL
LF353.
- 159 -
ANEXO I. HOJA CARACTERÍSTICA DEL TRANSISTOR NPN 2N3904.
- 160 -
ANEXO J. HOJA CARACTERÍSTICA DEL MAX-232.
- 161 -
ANEXO K. HOJA CARACTERÍSTICA DEL MAX-485.
- 162 -
ANEXO L. HOJA CARACTERÍSTICA DEL TRANSISTOR NPN TIP120
- 163 -
ANEXO M. HOJA CARACTERÍSTICA DEL REGULADOR DE VOLTAJE SERIE
UA7800.
- 164 -
ANEXO N. HOJA CARACTERÍSTICA DEL REGULADOR DE VOLTAJE SERIE
MC79L00.
- 165 -
ANEXO O. DIAGRAMA ELÉCTRICO DE CONTROL.
- 166 -
ANEXO P. CARACTERÍSTICA DE LOS ELEMENTOS DE CONTROL.
- 167 -
ANEXO Q. PROGRAMA DEL MICROCONTROLADOR
- 168 -
ANEXO R. PROGRAMA DEL PC EN JAVA.
- 169 -
ANEXO S. TABLA DE CORRESPONDENCIA DE VALORES DE TIEMPO VS.
PH.
- 170 -
ANEXO T. DIAGRAMA OPERATIVO DE LA PLANTA DE TRATAMIENTOS DE
AGUAS RESIDUALES.
- 171 -
ANEXO U. DIAGRAMA ESQUEMÁTICO DEL SISTEMA DE ÁCIDO Y SODA.
- 172 -
ANEXO V. CIRCUITO ESQUEMÁTICO E IMPRESO DE LA TARJETA DE
ADQUISICIÓN DE DATOS.
- 173 -
ANEXO X. MANUAL OPERATIVO DE LA PILETA DE TRATAMIENTO DE
AGUAS RESIDUALES U: 1, 2 Y 3.
- 174 -