Está en la página 1de 188

DISEÑO DEL SISTEMA DE CONTROL AUTOMATICO DE pH EN LA

PLANTA DE TRATAMIENTO DE AGUA RESIDUALES DE LA EMPRESA


TERMOCARTAGENA S.A. E.S.P.

HERMES HERNANDO OSORIO LUGO Código: 9904017


RODRIGO ADOLFO VARGAS DIAZ Código: 9904072

UNIVERSIDAD TECNOLOGICA DE BOLIVAR


FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
CARTAGENA DE INDIAS
2005
DISEÑO DEL SISTEMA DE CONTROL AUTOMATICO DE pH EN LA
PLANTA DE TRATAMIENTO DE AGUA RESIDUALES DE LA EMPRESA
TERMOCARTAGENA S.A. E.S.P.

HERMES HERNANDO OSORIO LUGO Código: 9904017


RODRIGO ADOLFO VARGAS DIAZ Código: 9904072

Proyecto de trabajo de grado presentado como requisito parcial para


optar el titulo de Ingeniero Electricista e Ingeniero Electrónico.

Director
DAVID SENIOR ELLES
INGENIERO ELECTRONICO

UNIVERSIDAD TECNOLÓGICA DE BOLIVAR


FACULTAD DE INGENIERÍA ELECTRICA Y ELECTRÓNICA
CARTAGENA DE INDIAS
2005
NOTA DE ACEPTACIÓN:

Presidente del jurado

Jurado

Jurado

Cartagena de Indias, 08 de Noviembre del 2005


Rodrigo A. Vargas Díaz

A Dios, a mis queridos padres


Rodrigo A. Vargas Vargas y
Carmen C. Díaz Cano que me
brindaron todo su apoyo, de
igual forma mis hermanos y a
mi novia Margarita L. Beltrán
Cano que me acompaño en
todo estos momentos.
Hermes Osorio Lugo.

A mis queridos padres que me


brindaron todo su apoyo, de
igual forma a mis hermanos y
todas aquellas personas que
me acompañaron en este
momento.
AGRADECIMIENTOS

Los autores expresan sus agradecimientos a:

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.

El área de mantenimiento de la empresa Termocartagena S.A E.S.P por todo el


apoyo logístico que nos brindo para la ejecución del proyecto.

David Señor, Ingeniero electrónico por sus sugerencias y recomendaciones


para el desarrollo del trabajo

Muy especial al profesor e ingeniero electrónico Francisco Trespalacio Vergara


por la información valiosa que nos brindo para la elaboración del trabajo de
grado.
CONTENIDO

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

Tabla .1 Concentración de Ion hidrogeno e Ion hidroxilo y el pH de varias


soluciones.
Tabla 2. Constantes de ionización de ácidos y bases débiles
Tabla 3. Representación de la base de regla de un controlador difuso
Tabla 4. Representación de la base de regla de un controlador difuso
Tabla 5. Base de regla del controlador
Tabla 6. Cálculo de los valores de activación.
Tabla 7. Tabla de verdad
Tabla 8. Base de Reglas del modelamiento del controlador difuso.
Tabla 9. Valores límites entregados por el sensor de pH.
Tabla 10. Configuración de canales de entradas análogos y digitales.
Tabla 11. Valores de configuración para el tiempo de conversión.
Tabla 12. Correspondencia entre las entradas digitales y las señales de
realimentación.
Tabla 13. Fórmulas para Calcular la Taza de Transmisión.
Tabla 14. Registro asociados al Generador de Taza de Transmisión.
Tabla 15. Registros asociados con la Transmisión Asíncrona Serial, Receptor
Asíncrono del USART.
Tabla 16. Registros asociados con la Recepción Asíncrona Serial.
LISTA DE FIGURA

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

Anexo A. Programa de modelamiento del controlador empleado en Matlab.


Anexo B. Datos técnicos de la bomba principal.
Anexo C. Datos técnicos de las bombas dosificadoras de ácido y soda.
Anexo D. Datos técnicos de las válvulas eléctricas de recirculación y descarga.
Anexo E. transmisor de nivel tipo radar serie Rosemount 5600.
Anexo F. Datos técnicos del pH-metro.
Anexo G. Hoja característica del microcontrolador 16f774.
Anexo H. Hoja característica del Amplificador Operacional LF353.
Anexo I. Hoja característica del transistor NPN 2N3904.
Anexo J. Hoja característica del MAX-232.
Anexo K. Hoja característica del MAX-485.
Anexo L. Hoja característica del transistor NPN TIP120
Anexo M. Hoja característica del regulador de voltaje serie uA7800.
Anexo N. Hoja característica del regulador de voltaje serie MC79L00.
Anexo O. Diagrama eléctrico de control.
Anexo P. característica de los elementos de control.
Anexo Q. Programa del microcontrolador
Anexo R. Programa del PC en Java.
Anexo S. Tabla de correspondencia de valores de tiempo vs. pH.
Anexo T. Diagrama operativo de la planta de tratamientos de aguas residuales.
Anexo U. Diagrama esquemático del sistema de ácido y soda.
Anexo V. Circuito esquemático e impreso de la tarjeta de adquisición de datos.
Anexo X. Manual operativo de la pileta de tratamiento de aguas residuales u: 1,
2 y 3.
RESUMEN

En este trabajo se presentan los resultados del automatismo de la planta para


el tratamiento de aguas residuales (control de pH) de la empresa
TERMOCARTAGENA S.A. E.S.P. Se utiliza una técnica innovadora de
modelamiento difuso llamada error de inferencia presentada por el ingeniero
Juan Contreras (2005), El cual nos permite realizar el cálculo del controlador de
forma eficiente. Al inicio del proyecto se planteó diseñar un controlador difuso
pero debido a las condiciones económicas de la empresa patrocinadora y de
acuerdo a los equipos con que se disponen, se diseña un controlador ON-OFF
basado en el modelamiento difuso. Para aplicaciones futuras se explican los
criterios para el diseño del controlador difuso.

Para el automatismo de la planta se desarrolla un software de monitoreo y


control del proceso, capaz de mostrar las variables que actúan en el proceso y
controlar la variable de pH, de igual forma se diseña una tarjeta de adquisición
de datos utilizando la nueva tecnología de microcontroladores.

Se presenta los criterios de diseño para la elaboración de cada una de las


etapas (Instrumentación, Accionamiento y Control) que componen el proceso,
del mismo modo se hace claridad del comportamiento de la variable a controlar
que es el pH, se presentan todas las características químicas y se realizó un
estudio de laboratorio para conocer la curva de comportamiento del proceso.

En este trabajo se entrega toda la documentación requerida por el personal de


operación y de mantenimiento (Planos, manual de operación y manual de
mantenimiento) para un mejor funcionamiento del sistema.
INTRODUCION

TERMOCARTAGENA S.A. E.S.P. es una planta generadora de energía


eléctrica (térmica) que en su máxima producción genera 200MW/h. Este
proceso de generación se realiza por la inyección de vapor de agua
(temperatura de 510°C y una presión de 88Kg/cm2) a la turbina. Para la
producción del vapor de agua se necesita desmineralizar el agua cruda
proveniente del canal del dique, este proceso se realiza con el objetivo de
aumentar el rendimiento y la vida útil de los elementos que actúan en la
generación de la energía eléctrica.

Para la desmineralización del agua se realiza los siguientes pasos:

¾ Eliminación de las partículas en suspensión del agua.


¾ Filtración del agua (Filtro de arena y de carbón).
¾ Circulación del agua filtrada por los trenes de regeneración con el fin de
eliminar las partículas aniónicas y cátionicas.

De este proceso se produce aguas residuales las cuales no son reutilizable y


se necesita descargarlas a la bahía de Cartagena, con los mínimos
requerimientos que establecen las autoridades del medio ambiente*. Debido a
esto TERMOCARTAGENA S.A. E.S.P. cuenta con un sistema de neutralización
de aguas residuales.

El proceso de neutralización es el siguiente:

¾ Preparación del sistema: En esta el operador debe verificar las


condiciones necesarias de la puesta en marcha del sistema.

*
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.

La pileta de neutralización de aguas residuales se encontró con los


siguientes problemas:

¾ El sistema no funcionaba por causa de daños en el controlador de pH y


de las válvulas eléctricas y mecánica de descargas a la bahía.
¾ El sistema de neutralización que se implementaba anteriormente es
ineficiente ya que se realizaba en forma manual.
¾ Los elementos que se estaban utilizando para el proceso de
neutralización de aguas residuales no son los adecuados, debido que
se requiere un constante mantenimiento (cada 15 días).
¾ En el proceso de neutralización existen perdidas monetarias causadas
por la sobre dosificación de ácido y soda, ya que estos productos son
costosos.

Con el diseño del sistema de control automático de la planta de tratamiento de


aguas residuales se pretende que la empresa TERMOCARTAGENA S.A.
E.S.P. lo implemente para la puesta en marcha de este proceso con el objetivo
de:

-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

¾ Diseñar el sistema de control automático de pH de la planta de


tratamiento de agua residuales de la empresa TERMOCARTAGENA
S.A. E.S.P., mediante la utilización de tecnologías modernas de
microcontroladores, instrumentación, software de supervisión y control
asistido por computador.

ESPECIFICOS

¾ Analizar el estado actual de la planta neutralizadora de aguas


residuales con el propósito de establecer las modificaciones necesarias
para su automatización.
¾ Caracterizar el proceso de tratamiento de aguas residuales en la
empresa TERMOCARTAGENA S.A. E.S.P. con el fin de determinar las
variables a controlar y las especificaciones del proceso.
¾ Seleccionar los sensores adecuados para el sistema de control y
monitoreo del pH, la dosificación de ácido y soda, nivel de la pileta
neutralizadora y presión del agua filtrada en la tubería.
¾ Realizar experiencias de laboratorio que permitan obtener modelos
aproximados de cada una de las regiones en que se dividen los
procesos de pH ( zona de alto pH, zona de medio pH y zona de bajo
pH), así como el conocimiento suficiente de la dinámica del proceso
para diseñar el controlador fuzzy logic.
¾ Seleccionar los actuadores eléctricos (válvulas). Con base en las
especificaciones del sistema de control.
¾ Diseñar la estrategia de control de neutralización de aguas residuales.

-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

La actividad principal de la empresa TERMOCARTAGENA S.A. E.S.P. Es la


producción de la energía eléctrica. Esta empresa cuenta con una pileta de
neutralización que se utiliza para neutralizar el pH de las aguas residuales que
vienen de los trenes de regeneración de la planta de tratamiento de agua de
alimentación de caldera, que después es descargada a la bahía de Cartagena.
Normalmente en una regeneración, se deposita 36m3 en la pileta. Cuando el
nivel llega a 0.8m se debe arrancar automática o manualmente la bomba
Principal, haciendo recircular el agua de la pileta. En la tubería de descarga de
la Bomba Principal está instalado el electrodo del pH-metro, el cual está
graduado para valores preestablecidos. Cuando el pH es mayor de 8 éste le da
la señal al dosificador de ácido para que suministre el ácido necesario para
mejorar el pH de la pileta. Si el pH es menor de 6, la señal la recibe el
dosificador de soda para que suministre la soda necesaria para mejorar el pH
de la pileta. Cuando el pH está entre 6 y 8 el agua de la pileta está en
condiciones para descargarla a la bahía, siempre y cuando el nivel
preestablecido, que es de 1.5 metro dentro de la pileta, se haya alcanzado.
Entonces en la línea que va a la bahía se abre la válvula eléctrica de descarga,
permitiendo que desagüe la pileta, simultáneamente Se cierra la válvula
eléctrica de recirculación que está en la línea de recirculación.

Cuando la pileta está desaguando, hasta llegar a un nivel de 40cm, el sensor


de nivel debe dar la señal de apagar la bomba principal, evitando que ésta
funcione en vacío y el sistema debe quedar en condiciones de empezar un
nuevo ciclo.

-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.

¾ BOMBA DE RECIRCULACIÓN Y DESCARGA.


La función de esta es la de succionar el agua almacenada en la pileta
para la toma de muestra del pH, homogenizar el agua y descargar esta a
la bahía cuando este neutralizada. La bomba de recirculación y descarga
tiene una capacidad de 50 M3/Hora (220GPM) a una velocidad de
3500RPM.

¾ 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.

¾ BOMBA DOSIFICADORA DE ACIDO Y SODA.


Son las encargadas de permitir el flujo de ácido y soda según la señal
transmitida por el controlador de pH, para la neutralización de las aguas
residuales.

Al automatizar el proceso de pH de las aguas residuales se tendrá una mejor


optimización y una mayor eficiencia del proceso por lo tanto aumentara el
tiempo de vida de los instrumentos a utilizar.

-8-
1. DESCRIPCIÓN DEL PROCESO DE NEUTRALIZACIÓN.

1. 1. TEORIA DEL PROCESO DE NEUTRALIZACIÓN DE pH.

El pH es una magnitud de mucha importancia en un sin número de procesos


biotecnológicos, como por ejemplo en la neutralización de alimentos. También
ha cobrado gran relevancia en la minería y en el control de la contaminación,
como es el caso de la neutralización de tratamiento de aguas residuales. El
control de esta variable es en general difícil de realizar.

La dificultad del proceso de neutralización radica en los siguientes factores:

¾ El proceso es altamente no lineal.


¾ Es muy sensible a perturbaciones cerca al punto de neutralidad.
¾ Es difícil para formular e identificar un modelo matemático para el
proceso de pH.

Para tener más claridad de la naturaleza de este proceso a continuación se


describirán sus características y aspectos básicos.

1.1.1. Ionización

La teoría de ionización proviene de una disertación doctoral de SVANTE


ARRHENIUS en 1887. De acuerdo con la teoría original de Arrhenius, todos los
ácidos, bases y sales se disocian en iones cuando están en soluciones

-9-
acuosas. El notó que soluciones equivalentes† de diferentes compuestos tienen
un grado de conductividad muy diferente.

Arrhenius atribuyo este fenómeno al diferente grado de disociación o ionización


de cada sustancia, y esta teoría explica apropiadamente muchos de los
fenómenos observados en las soluciones acuosas.

1.1.2. Producto iónico del agua

Una de las relaciones de equilibrio mas importante en materia de soluciones


acuosas es la disociación del agua en Ion hidrógeno, o protón, y el ion
hidróxido.

H 2O ⇔ H + + OH − (1)

En el equilibrio químico la concentración de hidrógeno H+ e iones de hidróxido


OH- son dados por la formula.

[H ][OH ] = K
+ −
(2)
[H 2O ] w

Solo una pequeña fracción de moléculas de agua es dividida en los iones. La


actividad del agua es parcialmente unitaria y se ha encontrado
experimentalmente, que a 25 ºC, KW = 10-14 por lo tanto conseguimos que:

[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.

1.1.3. Ionizacion de ácidos y bases

Según la definición clásica, un ácido es un compuesto que genera un ion


hidrógeno (H+) al adicionar agua, y una base es un compuesto que, en agua,
cede un ion hidróxido (OH-). El producto de la actividad (o aproximadamente la
concentración molar) de estos dos iones permanecen constante a una
temperatura dada y es igual a K W. La teoría de Arrhenius sobre la ionizacion
ayuda a explicar cuando una base o un ácido son fuertes o débiles. Se
considera que la ionizacion de todos los ácidos y bases fuertes se aproxima al
100% cuando están en soluciones diluidas, es decir, se ionizan y se disocian
completamente.

Los ácidos y bases débiles se ionizan en escasa proporción y la expresión de


concentración de hidrógeno en términos de concentración molar o actividad es
bastante laboriosa, por eso se desarrollo otro método de expresión, que es el
pH.

1.1.4. El concepto de “p”: pH, pOH, pK.

En 1909 Sorensen propuso expresar la concentración de hidrogeniones en


términos de su logaritmo negativo y designó este valor como pH+. Su símbolo
ha sido remplazado por la designación más simple de pH. El subíndice “p”
designa la relación matemática entre el Ion y la variable como una función de
potencia; la “H” designa el Ion como hidrógeno.
Estos términos se pueden representar por:

- 11 -
{ }
pH = − log H + (4)
1
pH = log
{ }
H+
(5)

Donde [H+] denota la concentración de iones de hidrógeno. La ecuación 4 no


es descrita correctamente, ya que [H+] tiene la dimensiones de la
concentración, la cual es medida en unidades de M = mol / L. La versión
correcta de la ecuación 4 es entonces pH = - log ([H+] *ƒH), donde ƒH es una
constante de dimensiones de litros por mol. La formula 4 será usada sin
embargo por que es universalmente aceptada en los libros de química.

Para el agua, en ausencia de materiales extraños, la actividad es igual a la


concentración molar, [H+] es igual [OH-] – como lo requiere la electroneutralidad
y el producto, a 25 ºC es igual a KW o 10-14. Estas condiciones implican que [H+]
= [OH-] = 10-7, que es considerado el pH neutro del agua. Debe recordarse que
el punto neutro depende de la temperatura, por ejemplo: el log Kw. Varía de
aproximadamente -14.9 a 0ºC, -13.3 a 50 ºC, -12.1 a 100ºC.

La escala del pH usualmente se presenta en el rango de 0 a 14. Valores


menores que 7 indican que la concentración de hidrogeniones es más alta que
la concentración de ion hidróxido, y el agua se denomina ácida; en condiciones
opuestas, en la que el pH excede a 7, el agua se denomina básica. Se debe
notar que cuando el pH se mide con electrodo de pH, lo que se mide es la
actividad del Ion hidrógeno y no la concentración molar.

En la tabla 1 Note que la concentración del ión hidrógeno decrece en un factor


de 10 por cada unidad de incremento de pH y muestra que la concentración del
ión hidróxido se incrementa por un factor de 10 por cada unidad de incremento
de pH.

- 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%

Tabla .1 Concentración de Ion hidrogeno e Ion hidroxilo y el pH de varias


soluciones.

De igual forma, la expresión correspondiente para la concentración del Ion OH-


es pOH, definida como:

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)

Tomando logaritmo en ambos lados y cambiando de signo (recordando que el


log AB = log A + log B ).

[ ] [ ]
log H + + log OH − = log10 −14 = −14

[ ] [
− log H + − log OH − = 14 ]
pH + pOH = 14 (9)

En general se ha adoptado un logaritmo negativo o escala “p” con la siguiente


interpretación: cuando una cantidad este precedida de la letra p la combinación
significa –logaritmo que sigue a la letra p.
Con frecuencia se emplea el pKa para definir la fuerza de un ácido o una base
y esta dado por:

1
pK a = log = − log K a (10)
Ka

Donde Ka es la constante de disociación de un ácido, cuando se trata de base


se denota con la letra Kb.

1.1.5. Disociación de ácidos y bases débiles

1.1.5.1. Ácidos

Un ácido típico, HA, al disolverse en el agua, transfiere un protón de la


molécula del ácido a la molécula de agua, dando una solución ácida:

- 14 -
HA + H 2 O ⇔ H 3O + + A − (11)

La donación de un protón de la molécula de ácido a la molécula de agua


produce un Ión negativo A, que se llama anión.

Al recibir la constante de equilibrio para la reacción anterior se puede omitir


[H2O], que es un valor constante como también se puede hacer una
simplificación al escribir [H+] en lugar de [H3O+], lo cual da

Ka =
[H ][A ]
+ −
(12)
[HA]

Ka es una constante llamada constante de ionización del ácido HA y representa


una constante de equilibrio para la ecuación simplificada de la disociación de
un ácido o ecuación de ionización:

HA = H + + A − (13)

Los términos de “ionización” y “disociación” generalmente se usan


indistintamente, pero hablando en términos más precisos, la ionización es un
caso especial de disociación.

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).

En la tabla 2 se dan las constantes de disociación de varios ácidos en el agua.


Estos valores se pueden usar para calcular el grado de disociación, la [H+] y el
pH que resulta en las solucione de los ácidos. El grado de disociación es un
término muy usado y se define como la razón entre el número de moles
disociados y el número de moles totales. Por lo general se multiplica por 100
para expresarlo en porcentaje:

Números de moles que se disocian


Grado de porcentaje de disociación = * 100
Números de moles totales

1.1.5.2. Bases

Los mismos principios se pueden aplicar a las soluciones de las bases. Al


definir una base como una sustancia que es capaz de aceptar un protón,
(concepto de Bronsted), la concentración del Ión H+ decrecerá en soluciones y
aumentara la concentración del Ión hidróxido, OH+. Los hidróxidos iónicos de
los metales como el LiOH, NaOH, Ba(OH)2 , etc., son compuestos que
contienen iones hidróxido en estado sólido y al disolverse en el agua, los iones
OH- van a la solución. Debido a que estos hidróxilos están completamente
ionizados, se les denomina “bases fuertes” y constituyen un ejemplo de
electrolitos fuertes.
Existe una segunda clase de base, bases débiles formadas por moléculas
neutras que al reaccionar con el agua dan iones OH- para dar una solución
ligeramente básica.

- 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

y la constante de equilibrio, Kb, será:

Kb =
[BH ]* [OH ]
+ −
(15)
[B]

El valor pequeño de Kb nos dice que el equilibrio esta desplazado hacia la


izquierda y que solamente una pequeña cantidad de base reacciona con el
agua. Por lo tanto, la base se clasifica como débil. Al conocer Kb se puede
calcular la posición del equilibrio. Los problemas con Kb se manejan de la
misma forma que los que incluyen Ka. Entre mas grande sea el valor de Kb
mayor es la fuerza de la base.

- 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

Tabla .2 Constantes de ionización de ácidos y bases débiles

1.1.6. Balance de carga del Ión.

En las soluciones neutras no es posible la existencia de un solo tipo de Ión. Por


ello, no se puede decir que la medición de pH es la medida únicamente del Ión
hidrógeno. En las soluciones acuosas, los iones hidrógenos estarán
acompañados por los iones hidróxidos según el producto iónico de la constante
de agua pKw.

- 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.

1.1.7. Soluciones búfer.

En el “agua pura”, o en una solución acuosa neutra, el pH es 7, indicando que


[H+]=10-7 =0.0000001. Al agregar 0.001 mol de H+ a una solución neutra se
eleva [H+] a 0.0010001, ó 10-3/10-7 =104 =10000.

La adición de 0.001mol de OH- a una solución neutra cambia el pH de 7 a 11,0


o sea que [H+] ha disminuido 10000 veces. Sin embargo, algunas soluciones
tienen la capacidad de “consumir” H+ y OH- en grandes cantidades sin
experimentar un cambio apreciable en el pH. Estas soluciones reciben el
nombre de soluciones “buffer”, tampón, amortiguadoras o reguladoras.

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.

La estabilización del pH por acción de una solución buffer se puede explicar al


despejar [H+] de la expresión de Ka para el equilibrio de un ácido débil,

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 ]

[OH ] = K [[NH ]] = K [BASE



b +
3

[SAL]
]
b (29)
NH 4

1.1.8. Curvas de neutralización.

La curva de neutralización es un diagrama con pH para el eje Y y la relación de


ácido a base o diferencia entre las concentraciones de ácido y base, volumen o
flujo, para el eje X. La curva de neutralización es la pieza mas importante de
información para el diseño, commissioning y solución de problemas para los
sistemas de control de pH.

La sensibilidad de un sistema de control y la ganancia de un proceso de pH se


incrementa cuando la pendiente de la curva de neutralización se incrementa.
En la Figura 1 vemos los cambios en la curva de neutralización para 3 posibles
combinaciones de ácidos y bases fuertes y débiles.

- 22 -
Figura 1. Curva de neutralización para ácido fuerte / base fuerte, ácido
débil / base débil, ácidos fuertes / base débil

1.1.8.1. Ácido fuerte más base fuerte

¿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:

HCl + NaOH → NaCl + H 2 O (30)


Ácido Base Sal Agua

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)

Esta reacción a menudo se llama reacción de neutralización ya que si se añade


la cantidad suficiente de base para reaccionar con todo el ácido, la solución se
vuelve neutra.

- 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 va agregando poco a poco NaOH (una base) a la solución de HCl (un


ácido), el pH de la solución aumenta con cada adición de la base se observa en
la grafica .1, se puede apreciar que se produce un cambio muy rápido en el pH
de la solución a medida que se llega al “punto de equivalencia”, en donde el
ácido esta neutralizado exactamente.
Esta curva de ácido fuerte mas base fuerte se distingue por su pendiente
vertical en casi todo el rango de la escala de pH. El punto de neutralización
ocurre a un valor de pH igual a la mitad de pKw es decir la localización
depende de la temperatura de la solución, el punto de equivalencia coincide
con el punto neutral.

La pendiente de la curva de neutralización es vertical en el punto de


equivalencia.

La sensibilidad del sistema de control y la ganancia del sistema de pH es


importante para cualquier setpoint del pH exceptuando los de los extremos del
rango de la escala del pH.

1.1.8.2. Ácido débil más base fuerte

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)

La diferencia con el caso anterior se debe a que: (1) El CH 3COOH esta


parcialmente desasociado, mientras que el HCL esta totalmente ionizado; (2) el
producto en el punto de equivalencia CH 3COOH , no es una sal neutra como el
NaCL. En la figura 2 se muestra la curva de titulación típica para este caso.

Este sistema se distingue por una pendiente precipitada en el rango superior de


la escala de pH. El centro de esta pendiente precipitada es la localización del
punto de equivalencia que depende de la constante de disociación del ácido
débil.

La sensibilidad del sistema de control y ganancia del proceso de pH es de


interés para el setpoint de pH mayores a una unidad de pH por encima del pKa
del ácido débil y una unidad de pH por debajo del pKb de la base fuerte o el
pKw del agua.

La sensibilidad y ganancia es de menos importancia para el setpoint de pH


igual al pKa el cual es el punto medio de la porción plana inferior. Las porciones
planas de los extremos superiores e inferiores, del rango de pH, están fuera del
rango práctico del setpoint de pH.

- 25 -
Figura 2. Curva de neutralización para ácido débil / base fuerte y múltiples
ácidos / múltiples bases

1.1.8.3. Ácido fuerte mas base débil

La complicación encontrada en el caso anterior también aparece cuando se


añade una base débil, amoniaco, por ejemplo a una solución de un ácido
fuerte, como HCL. La reacción ácido base es:

NH 4 OH + HCl ⇔ NH + 4 + Cl − + H 2 O (33)

La solución en el punto de equivalencia contiene sólo NH+4. Cl y es ácida


debida a la presencia del Ion NH+4. El pH en el punto de equivalencia es
aproximadamente de 5. Los cálculos sobre pH en este caso son semejantes a
los de ácidos débiles mas base fuerte.

De acuerdo a la Fig. 1 Este sistema se distingue por una pendiente precipitada


en la parte inferior del rango de la escala de pH. El centro de esta pendiente es
la localización del punto de equivalencia que depende de la constante de

- 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.

1.1.8.4. Ácido débil mas base débil.

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.

El punto de equivalencia señalado, depende de la constante de disociación del


ácido y base, mientras que la magnitud de la ganancia del proceso de pH es
baja la ganancia es suave no lineal. El sistema podría considerarse difícil de
controlar.

1.1.8.5. Sistemas de múltiples ácidos y bases débiles.

Una concepción equivocada de una curva de neutralización es la de creer que


consiste de una sola curva en forma de S. En la Figura .2, un ácido débil con
pKa constante de 2.5 y 5.5 pH se neutraliza con una base débil con pKb
constante de 8.5 y 11.5 pH.

Nótese que se forman tres curvas de neutralización con formas de S, con un


punto de equivalencia en el punto de mayor pendiente para cada S. Las
constantes de disociación han de tener más de 2 unidades de pH de diferencia
entre ellas para que se presenten múltiples curvas S.

- 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.

1.1.9. Generación de la curva de neutralización de la planta.

Para tener un conocimiento exacto del comportamiento de la planta se realiza


la generación de la curva de neutralización, este procedimiento se hizo
tomando una muestra en un vaso de volumen conocido del proceso,
posteriormente se le adicionó un volumen fijo de reactivo desde una bureta y
luego los cambios de la de pH fueron medidos por un pHMETRO y registrados
de forme manual para que finalmente se obtuviera una curva representativa del
comportamiento de la planta, como se observa en la figura 3.

Figura 3. Curva de neutralización de la planta, generada en el laboratorio.

- 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.

El valor de pH inicial de las muestras de 500 mL del proceso esta comprendido


entre 13.379 y 13.62 lo cual indica que es una solución alcalina de valor
elevado y por tal motivo se decidió a suministrar ácido (HCl).

La primera prueba se realizó con un flujo constante de 1 mL, se observa en la


figura 4 que al inicio del proceso de adición las variaciones de pH de la muestra
no eran tan significativas, hasta llegar a un valor de 12.107 el cual al adicionar
1mL de HCl el pH bajo a un valor de 6.98 y al adicionar la siguiente cantidad de
HCl el pH bajo a 2.5 donde posteriormente al adicionar HCl los cambios de pH
no eran significativos.

Figura 4. Datos obtenidos en la prueba 1

- 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.

Figura .5 Datos obtenidos en la prueba 2

La tercera prueba se realizó para comprobar que el comportamiento de la


figura del proceso era real; el resultado obtenido fue positivo debido a que el
comportamiento del proceso se asemeja a las pruebas anteriores.

La curva de color rojo de la figura 3 representa el resultado de esta última


prueba.

Otra de las características observadas que es de gran importancia en la hora


de seleccionar el controlador son los retardos del pH-METRO en estabilizar la
medida, los retardos de mayor duración ocurrieron en la zona de neutralidad, la

- 30 -
diferencia del retardo con las otras dos zonas es considerable.

Los tiempos de estabilización del pH-METRO en las zonas donde la variación


de pH no es tan sensible es del orden de 1 – 3 minutos y la zona de mayor
sensibilidad es del orden de 20 – 40 minutos.

De acuerdo a las características mencionadas anteriormente la grafica de este


proceso clasifica en las reacciones de base fuerte y ácido fuerte.

De acuerdo a las pruebas realizadas se llega a la conclusión de que el proceso


de neutralización de esta planta es muy complejo debido a la alta no linealidad
y gran sensibilidad que existe en la zona de neutralidad, debido a esto se debe
utilizar un controlador que sea capaz de identificar la zonas del proceso de
neutralización para realizar la acción correspondiente con un tiempo
determinado y de esta forma minimizar las cantidades de ácidos y bases que
se utilizan en el proceso.

- 31 -
2. REQUERIMIENTOS Y CONSIDERACIONES DE DISEÑO.

El sistema de control automático que se diseñó está limitado a las condiciones


técnicas y económicas de la planta. Las limitaciones económicas actuales
imposibilitan la consecución de actuadores que permitan la implementación de
una estrategia de control más precisa (PID, control difuso, etc.), como por Ej.
Electro-válvulas proporcionales. Las válvulas solenoides adquiridas por la
compañía son del tipo ON/OFF, lo que obligó a buscar una estrategia de
control que cumpliera con las siguientes características, exigidas por el
personal que opera la planta:

1. Se contará con un software de visualización y control del proceso. Donde


el operario seleccionará la acción de encendido o apagado del proceso, y
a su vez visualizar las variables más importantes que intervienen en este
como son las medidas de pH, nivel, presión y de los estados de las
válvulas.
2. Al realizar la acción de encendido el sistema de control verificará que
todas las condiciones para la puesta en marcha del proceso de
neutralización estén dadas, en caso de que falte alguna de esta se emitirá
una señal de alarma y pueda ser visualizada en el computador.
3. Al cumplir con los requerimientos de las condiciones iniciales y haber
alcanzado el nivel requerido, el sistema automáticamente deberá realizar
la acción de cebado de la bomba principal, con el fin de evitar averías en
esta.
4. Cuando la medida de pH indique un valor entre 6 y 8 (medida deseada) el
controlador automáticamente deberá dar la orden de apagados de las
bombas dosificadoras (ácido y soda) y a su vez recircular el agua por un
determinado tiempo, con el fin de homogenizar la solución y garantizar
que la medida este entre rango deseado. Si durante el tiempo de
recirculación el pH se desvía de los valores deseados el controlador

- 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.

Este control se realiza de la siguiente manera:

¾ 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.

El control de pH es un tema al cual los investigadores y especialista han


dedicado mucho tiempo a través de los años debido a sus características
especiales y la importancia que reviste en los procesos químicos y de
tratamiento de aguas residuales. Algunas de esas características se han ido
mencionando a largo de este trabajo, de las cuales vale destacar: la variación
de la curva de respuesta, en forma de “S”, a la adición de reactivo dependiendo
la composición de la solución influente y la temperatura. Para manejar la
variabilidad en el tiempo algunos han propuesto esquemas complejos de
medición y control con múltiples puntos de medición de pH e inyección de
reactivo con los cuales pueden reconocer los cambios en la forma de respuesta
y adaptar los controles en concordancia [9].

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].

En este trabajo se implementará el controlador por lógica difusa (FLC), debido


a que en este tipo de controlador no es necesario obtener un modelo preciso
del comportamiento del proceso pero si algún conocimiento previo de las reglas
que lo gobiernan.

- 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.

3.1 CONCEPTOS BÁSICOS DE CONTROL DE LOGICA FUZZY

La lógica difusa ha cobrado una gran importancia en aplicaciones de procesos


industriales. Se ha considerado de manera general que el concepto de lógica
difusa apareció en 1965, en la Universidad de California en Berkeley,
introducido por Lotfi A. Zadeh. Las lógicas difusas, pues de hecho hay que
hablar de ellas en plural, son esencialmente lógicas multi-evaluadas que
extienden a las lógicas clásicas. Estas últimas imponen a sus enunciados
únicamente valores falso o verdadero. Bien que éstas han modelado
satisfactoriamente a una gran parte del razonamiento ``natural'', es cierto que el
razonamiento humano utiliza valores de verdad que no necesariamente son
“tan deterministas”. Por ejemplo, al calificar que “el cielo es azul” uno está
tentado a graduar qué tan “azul”, en efecto, es el cielo, e igualmente, si “un
vehículo se mueve rápido”, también se está obligado a considerar qué tan
rápido es el vehículo, aunque esto último no implique necesariamente
cuantificar la velocidad del vehículo con toda precisión. Las lógicas difusas
procuran crear aproximaciones matemáticas en la resolución de ciertos tipos de
problemas. Pretenden producir resultados exactos a partir de datos imprecisos,
por lo cual son particularmente útiles en aplicaciones electrónicas o
computacionales. El adjetivo “difuso” aplicado a ellas se debe a que los valores
de verdad no-deterministas utilizados en ellas tienen, por lo general, una
connotación de incertidumbre. Un vaso medio lleno, independientemente de
que también esté medio vacío, no está lleno completamente ni está vacío
completamente. Qué tan lleno puede estar, es un elemento de incertidumbre,
es decir, de difusidad, entendida esta última como una propiedad de
indeterminismo. Ahora bien, los valores de verdad asumidos por enunciados

- 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.

3.2 ESTRUCTURA DEL CONTROLADOR DIFUSO

Un control difuso está compuesto por las diferentes partes especificadas en el


siguiente diagrama de bloque:

Base de
regla
Fuzzi- Defuzzi-
Preprocesamiento ficación Postprocesamiento
ficación
Motor de
Inferencia

Figura 6. Diagrama de bloques de un controlador difuso.

A continuación se especifica detalladamente cada uno de estos bloques con el


objetivo de entender su funcionamiento.

- 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:

¾ Cuantización en relación con redondear números


¾ Normalización del rango
¾ Filtro para eliminar ruido
¾ Promediando para obtener término largo o cortos
¾ Multiplexación de varias medidas
¾ Diferenciación y integración o sus equivalencias discretas.

Una cuantización es necesaria para convertir los valores entrantes en un valor


entero. Por ejemplo, asuma que el error de la variable es 4.5, pero los valores
del error son = (-5, -4, ...0, …4, 5). La cuantización redondea a 5 para obtener
el valor más cercano. La cuantización es un medio para reducir datos, pero si la
cuantización es demasiado brusca puede hacer que el controlador oscile
alrededor del punto de referencia o incluso volverse inestable.

3.2.2. Fuzzificación

El primer bloque dentro del controlador es la fuzzificación que convierte cada


dato de entrada en sus respectivos grados de pertenencia de las funciones de
un sistema difuso. El bloque de fuzzificación recoge los datos de entrada y con
las condiciones de las reglas determinar qué grado de pertenencia tiene esa
entrada en particular. Hay un grado de pertenencia para cada término
lingüístico que aplica a esa variable de entrada.

- 38 -
3.2.3. Base de regla

Las reglas pueden usar diferentes variables. Los controladores pueden


aplicarse por consiguiente a problemas de multi-entrada-multi-salida (MIMO) o
problemas de una sola entrada una sola salida (SISO). Los problema típicos de
SISO consisten en regular una señal de control basado en una señal de error.

El controlador puede utilizar el error, la derivada del error y el error acumulado


como entradas, pero nosotros lo llamaremos lazo de control, porque en
principio los tres se forman de la medida del error. Para simplificar, se asume
que el objetivo del control es regular una variable del proceso alrededor de un
Set Point o referencia.

Estructura de la base de regla: Básicamente un controlador lingüístico contiene


reglas si -entonces, pero estas se pueden representar de diferentes formas.
Una forma de presentar las reglas es la siguiente:

Entradas
Salida
Error Derivada del error

Neg Pos Cero


Neg Cero NM
Neg Neg NG
Cero Pos PM
Cero Cero Cero
Cero Neg NM
Pos Pos PG
Pos Cero PM
Pos Neg Cero

Tabla 3. Representación de la base de regla de un controlador difuso

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.

Un segundo formato es el siguiente:

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

Tabla 4. Representación de la base de regla de un controlador difuso

Este formato es aun más conciso. Las variables de la entrada se colocan a lo


largo del eje, y la variable del la salida está dentro de la tabla. En caso de que
la tabla tenga una celda vacía, es una indicación de falla de regla. Este formato
es útil para verificar integridad.

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

En matemática, existen operadores lógicos que son and, OR, implicación y


doble implicación. A estas se le conoce con el nombre de conectividad. La
lógica difusa dispone de unas normas para efectuar esas operaciones: los
operadores para la operación lógica AND son llamados t-normas (min.,
producto, etc.) y los empleados para la operación lógica OR son llamados t-
conorma (ma, suma algebraica, etc.). El método de implicación más empleado
en control de procesos es la implicación de Mamdani (min.).

- 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

Un modificador lingüístico, es una operación que modifica el sentido de los


términos. Por ejemplo en la frase “Muy cerrado a 0” la palabra muy modifica
cerrado a 0, lo cual es difuso. Un modificador es así entonces una operación
difusa. El modificador muy puede definirse como el cuadrado de la función de
pertenencia subsecuente, que es:

Muy a = a2

El mismo ejemplo para otros modificadores son

Extremadamente a = a3
Levemente a = a1/3
Un poco a = mas o menos a y no levemente a

Una familia entera de modificadores es generada por ap donde p puede estar


entre cero e infinito. Con p = infinito el modificador de podría llamar
exactamente, porque suprimiría todos los número de pertenencia menores que
1.0.

- 41 -
3.2.3.3. Universo

Los elementos de un sistema difuso se toman del universo de discurso o un


universo especifico. El universo contiene todos los elementos que pueden
entrar en consideración. Antes de diseñar la función de pertenencia, es
necesario considerar el universo para las entradas y salidas.

Tome por ejemplo la regla:

Si el error es Negativo y la derivada del error es positiva entonces la salida es 0


Naturalmente, la función de pertenencia para el Negativo y Positivo debe ser
definida para todo los posibles valores de error y deriva del error. Los
siguientes universos pueden ser convenientes:

¾ El controlador de Smidth, por ejemplo, usa el universo de números


reales [-1,1].
¾ Los primeros autores de los artículos en control difuso usaban el
universo de [-6,6].
¾ Un universo de [-100,100] correspondiente a un porcentaje de una
escala.
¾ El universo de [0, 4095] correspondiente a la salida de un conversor
análogo a digital de 12 bits.

Otra consideración es que las funciones de pertenencia de entrada pueden ser


continuas o discretas. Una función de pertenencia continua se define en un
universo continuo por medios de parámetros. Una función de pertenencia
discreta se define en términos de un vector con un número finito de elementos.

En el caso anterior es necesario especificar el rango del universo y el valor de


cada punto. La opción entre la resolución fina y ancha es un oficio fuera de la
exactitud, velocidad y demandas de espacio. La cuantización toma tiempo para

- 42 -
ejecutar, y si este tiempo también es precioso, la función de pertenencia
continuas harán las cuantización obsoleta.

Si una entrada del controlador principalmente usa un sólo término, el factor de


escala puede colocarse tal que el rango entero sea usado. Una ventaja es que
esto permite un intervalo normal y elimina la necesidad de agregar más
términos.

3.2.3.4. Función de pertenencia

Cada elemento en el intervalo de disertación es miembro de un sistema difuso


en cierto grado, incluso puede ser cero. El grado de pertenencia para todos
estos miembros describe un sistema difuso. En un sistema difuso los
elementos se le asignan un grado de pertenencia, tal que la transición de
pertenencia a no pertenencia sea gradual en lugar de abrupto. Los puntos de
los elementos de pertenencia que sean diferente de cero se llaman soporte del
sistema difuso (support fuzzy set). La función que represente un número a cada
elemento de x del intervalo se llama función de pertenencia µ(x).

El diseñador se enfrenta inevitablemente con la pregunta de cómo construir el


término del sistema difuso. Hay dos preguntas específicas para considerar:

1. ¿Cómo determinar una forma para el sistema?


2. ¿Cuántos puntos son necesarios y suficientes?

Por ejemplo, en el controlador, el error usa una familia de términos: Negativo,


Cero y Positivo. De acuerdo con la teoría del sistema difuso el diseñador elige
la forma, el ancho es subjetivo.

Un término debe ser suficientemente ancho para permitir ruido en la medida.

- 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.

Una respuesta preliminar a las preguntas 1 y 2 es que el número necesario y


suficiente de reglas dependan del ancho de estas, y viceversa. Una solución
podría ser pedirles a los operadores del sistema que hagan una curva de
pertenencia del proceso; pero los operadores también encuentran dificultad
para establecer una curva en particular.

El manual para el producto de TILShell* recomienda lo siguiente:

¾ Comience con triangulares. Toda función de pertenencia para una


entrada o salida en particular debe ser triángulos simétricos del mismo
ancho. Deben llevarse a los más izquierdo y derecho de las rampas.
¾ El traslape debe ser por lo menos 50%. El ancho debe escogerse
inicialmente para que cada valor del intervalo pertenezca por lo menos a
dos reglas, posiblemente excepto para los elementos de los extremos.
Si, por otro lado, hay una abertura entre dos reglas que ninguna de esta
se enciende para valores en esa abertura. Por consiguiente la función
del controlador no se define.

Las funciones de pertenencia pueden ser trapezoidal, rectangular, o rampas


horizontales etc. La Figura 7 se muestra algunas formas típicas de funciones
pertenencia.

*
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.

3.2.4. Motor de inferencia

Las figuras 8 y 9 son ambas una construcción gráfica del algoritmo de


controlador difuso. En Fig. 8, cada uno de las nueve filas se refiere a una regla.

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

La operación de agregación es usada cuando se calcula el grado de


pertenencia o fuerza de encendido αk, de la condición de la regla k. Una regla,
generará un valor de pertenencia E1 que proviene de la señal de error y un
valor de pertenencia ∆E1 que proviene de la señal de derivada del error. La
agregación es la combinación,

αe1 and αde1

De igual forma para las otras reglas. La agregación es equivalente a la


fuzzificación, cuando hay sólo una entrada al controlador. La agregación a
veces se llama también cumplimiento de la regla o fuerza de activación.

- 46 -
Figura 9. Grado de pertenencia o fuerza de activación

3.2.4.2. Activación

La activación de una regla es la deducción de la salida, posiblemente reducido


por su fuerza de encendido. Las líneas en la tercera columna de la figura 9
indican la fuerza de encendido de cada regla. Sólo la parte sombreadas del
singletons se activa, y el min. o producto (*) se usa como operador de
activación. No hay diferencia en este caso, después que las funciones de
pertenencia de la salida sea singletons, pero en el caso general (función s, π y
z) sustituyendo estas en la tercera columna de la figura 8, el operador producto
conserva la forma inicial de la grafica de pertenencia, en lugar de recortar la
figura como lo hace la función de activación min. Ambos métodos trabajan bien
en general, aunque la multiplicación produce una señal de control ligeramente
más uniforme. En Figura 8, sólo la reglas cuatro y cinco son activadas.

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

Todos los resultados activados son acumulados, usando el operador máx.,


como se puede observar en la parte inferior de la tercera columna (Fig. 8).
Adicionalmente a esto, la acumulación sum cuenta las áreas que son
traslapadas más de una vez (Figura 9), de la salida singlenton (Figura 8) y la
acumulación sum se obtiene la siguiente salida:

α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

El sistema difuso resultante (Figura 8, en la tercera columna en la parte inferior


y en la figura 9, el extremo derecho) debe convertirse en un valor de salida que
puede enviarse al proceso como una señal de control. Este procesamiento se
llama defuzzificación. En la Figura 9 se observa en la coordenada X marcada
por una línea blanca vertical la señal de salida de control. El sistema difuso
resultante es así defuzzificado. Hay varios métodos del defuzzificación:

- 48 -
3.2.5.1. Centro de gravedad (COG):

El valor de salida U (línea blanca en Figura 9) es la abscisa bajo el centro de


gravedad del sistema difuso,

u=
∑ µ (x )x
i i i
(36)
∑ µ (x )
i i

Aquí el xi está un punto del universo discreto, µ(xi), es su valor de pertenencia


en la función de pertenencia. La expresión puede ser interpretada como el
promedio de los pesos de los elementos en sistema. En el caso de valores
continuos reemplace la integral por la sumatoria.

Este es un método muy utilizado aunque su complejidad computacional es


relativamente alta. Esto método también se llama centro de área.

3.2.5.2. Centro de gravedad para singlentons (COGS):

Si la función de pertenencia de la salida es singlenton (Fig. 8), el valor de salida


es:

u=
∑ µ (s )s
i i i
(37)
∑ µ (s )
i i

Aquí si es la posición de singlenton “i” en el universo, µ(si), es igual a la fuerza


de encendido αi de regla “i.” y u es diferenciable con respecto a la singlenton si.
Este método tiene una complejidad computacional relativamente buena y es
utilizado más en sistemas neuro-difuso.

- 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)

Aquí x es el punto en el universo, µ(x) es la función de pertenencia, Min. es el


menor valor de la izquierda de la función, y Máx. es el mayor valor de la
derecha. Este método tiene una complejidad computacional relativamente alta,
y puede ser ambiguo. Por ejemplo, si el sistema difuso consiste en dos
singlenton cualquier punto entre los dos habría dividido el área en dos mitades;
por consiguiente este es mejor utilizarlo en funciones continua que en
funciones discretas, por tal razón la BOA no se define para este tipo de
funciones.

3.2.5.4. (MOM):

Puede suceder, no obstante, que varios puntos existentes se asemejen, en


este caso la mejor elección es escoger el MOM, que consiste es seleccionar en
una aproximación intuitiva el punto de mayor posibilidad, i.e. número de
pertenencia máximo. Este método indiferente a la forma de la grafica del
sistema difuso. La complejidad computacional es relativamente buena.

3.2.5.5. Máximo a la izquierda (LM) y máximo a la derecha (RM):

Otra posibilidad es elegir el máximo a la izquierda (LM), o el máximo a la


derecha (RM). En el caso de un robot, por ejemplo, el debe elegir entre ir a la
izquierda o derecha para eludir un obstáculo delante de él. El defuzzificador

- 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

La escala de la salida es importante. En el caso de que la salida esta definida


en un intervalo normalizado esta debe representarse en unidades de
ingeniería, por ejemplo, voltios, metros, o toneladas por hora. La función de
este bloque es convertir por ejemplo la escala normalizada [-1,1] a las unidades
físicas [-10,10] voltios.

El bloque del post-procesamiento contiene una ganancia de salida que puede


ser sintonizada, y a veces también contiene un integrador.

3.2.7. Ejemplo De Un Controlador Difuso

Se desea diseñar un controlador difuso de pH para mantener la medida de este


a un valor de 7 pH. La figura muestra una pileta que tiene la función almacenar
el producto que se desea controlar, en dicha pileta consta de dos entradas de
tuberías estos son: la alimentación (feed) o producto que se desea controlar el
pH y la del reactivo (reagent) el cual es manipulado por una válvula de control
cuyo rango de entrada es de 4 – 20 mA, en la figura 10 observamos que el
controlador se encuentra el la salida de la bomba de recirculación.

- 51 -
Figura 10. Aplicación de un controlador de pH.

Diseño del controlador difuso

Figura 11. Controlador difuso.

Se podrían definir según las funciones de pertenencia cuya grafica y expresión


analítica se muestran a continuación:

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

Para la derivada del error:

Se selecciona el universo del discurso de la derivada del error entre [-1 1]


debido a que la velocidad de cambio del error es +/- 1 pH/minutos, es decir el
cambio de 1 pH de la medida del proceso con la válvula totalmente abierta y en
la zona de neutralidad la cual es mas sensible se realiza en 1 minuto.

- 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

Para voltaje de salida:

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.

El universo de la salida de la válvula no se selecciono de 4 a 20 debido a que


en los conjuntos difusos los valores extremos nunca se podrían dar en la salida
ya que se usa para la desfuzzificación el método del centro de gravedad y por
tal motivo nunca se obtendría la válvula totalmente cerrada (4mA) o totalmente
abierta (20mA)

- 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

Se considera la siguiente base de reglas

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

Tabla 5. Base de regla del controlador

- 55 -
Los valores que el sistema determina para las variables de entradas son los
siguientes:
Error = -3
Derror = 0.3

La solución seria

Paso 1. Fuzzificación. Si se aplican las funciones de pertenencia de las figuras


anteriores se obtiene:

( X + 2) (−3 + 2)
Eneg ( E ) = − =− = 0 .2
5 5

( X + 5) (−3 + 5)
Ecero( E ) = = = 0.4
5 5

( X − 0.7) (0.3 − 0.7)


Dcero( De) = − =− = 0.57
0.7 0.7

( X − 0 .2 ) ( 0 .3 − 0 .2 )
Dpos ( De) = = = 0.125
0 .8 0 .8

Paso 2. Cálculo de los valores de activación.

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

Tabla 6. Cálculo de los valores de activación.

- 56 -
Paso 3. Disparo de reglas

Vmed =0.2
Vmed =0.125
Vbajo =0.4
Vbajo =0.125

Como se está utilizando como t-norma el mínimo, utilizamos como t-conorma el


máximo y el resultado es el máximo de la aplicación.

Por tanto, se dispara las dos y se da como resultado el supremo como se


muestra en la figura 15.

0.4
0.2

Figura 15. Efecto de disparo de todas las reglas

La expresión analítica de la función resultado es la siguiente:

⎧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

Donde x es el valor numérico nítido de la acción de control C.

- 57 -
Paso 4. Desfuzzificación.

Para el cálculo de la salida del controlador hallamos el centro de gravedad:

∫ x ⋅ f ( x)dx
XG =
DOM ( X )

∫ f ( x)dx
DOM ( X )

Según la expresión analítica anterior, se tiene que realizar los siguientes


cálculos para obtener el valor nítido (valor de abscisa) del centro de gravedad
de la región rodeada por la función de pertenencia. Si se llama respectivamente
R1, R2, R3, R4, R5, R6 y R7 a las siete regiones distintas en las que se divide
el plano en la definición de la función de pertenencia tendremos los siguientes
cálculos:

( x − 10) ( x − 20)
6 8 18.4 20

∫ x ⋅ f ( x)dx = ∫ 0 + ∫ 0.4 ⋅ xdx + ∫ −


DOM ( X ) X <0 0 6
10
⋅ xdx + ∫ 0.2 ⋅ xdx + ∫ −
8 18.4
8
⋅ xdx + ∫ 0
x > 20

= 0 + 7.2 + 4.13 + 27.45 + 3.06 + 0 = 41.84

( 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

= 0 + 2.4 + 0.6 + 2.08 + 0.16 = 5.24

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.

Los primeros sistemas basados en reglas difusas se basaban en la información


suministrada por experto; sin embargo, para el caso de sistemas complejos
como el de la neutralización de pH, las reglas así construidas no permitían una
simulación aceptable del sistema. En la búsqueda de sistemas difusos que
aproximen de manera aceptable la dinámica sistemas complejos ha conllevado
al desarrollo de investigación en técnicas de extracción de reglas difusas a
partir de datos de entrada y salida, es decir al desarrollo de técnicas de
identificación difusa. Entre los autores que han aportado a este tipo de técnicas
tenemos: Wang y Mendel 1992, Sugeno y Yasukawa 1993, Nauck y Kruse
1995, Espinosa y Vandewalle 2000, Antonio salas 1998, entre otros.

El método principal que han empleando estos investigadores son llamadas


técnicas neuro-difusas, que es simplemente la combinación de las redes
neuronal con la lógica difusa, estos son algoritmos de agrupamiento para
obtener un modelo matemático a partir de unos datos de entrada y salida.

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.

La metodología empleada en este trabajo para la obtención del modelo difuso


de la planta de neutralización de pH esta basado en el método de error de
inferencia de Antonio Salas de su tesis doctoral (1998) llamado error de
inferencia. Juan Contreras retomó la técnica (2005) y, luego de realizar algunas
modificaciones, desarrolló un algoritmo nuevo con el cual ha obtenido mejor
resultado que los planteados anteriormente, tanto en precisión como en
interpretabilidad.

Las técnicas neuro-difusas tienen problema de interpretabilidad ya que, en la


mayoría de los casos de aproximación, en el resultado final se solapan hasta
tres conjunto al mismo tiempo, es decir, pierde la filosofía de la lógica difusa la
cual se basa en el racionamiento humano. Por ejemplo, no es interpretable que
un dato de temperatura tenga pertenencia en tres conjuntos al mismo tiempo,
como: caliente, tibia y fría, lo cual no compagina con la realidad o con la
interpretación humana. En este algoritmos se garantizan que los conjuntos que
se van a utilizar van a ser triangular y partición suma 1, que la suma de los
grados de partencia en cualquier punto va a ser igual a 1, por lo que se
garantiza interpretabilidad.

4.1 . ERROR DE INFERENCIA

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)

La inecuación µ A (u ) ≤ µ B ( y ) para probar el equivalente recordemos la tabla de

verdad que µ A (u ) ⇒ µ B ( y ) y lo comparamos µ A (u ) ≤ µ B ( y ) , Para la inecuación

µ A (u ) ⇒ µ B ( y ) tenemos que la implicación solamente es falsa cuando el


antecedente es verdadero y el consecuente es falso.

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

Tabla 7. Tabla de verdad

El algoritmos basado en error de inferencia trabaja de una manera muy


elemental, si el error de inferencia es cero solamente cuando el grado de
pertenecía en A o en el antecedente es menor o igual al grado de pertenencia
del consecuente, al ser menor tengo un infinito número de valores, lo que se
hace es igualar los grados de pertenencia garantizando que el error de
inferencia sea igual a cero.

El error de inferencia ε , es concebido como la distancia conceptual al conjunto


conclusión de la regla, está dado por:

⎧0................................u A (u ) ≤ u A ( y )
∈≈ ⎨ (40)
⎩u A (u ) − u B ( y )..............u A (u ) f u A ( y )

El conjunto conclusión de la regla está definido por

- 61 -
C (u ) = {y* ∈ Y u B ( y*) ≥ u A (u )} (41)

La distancia conceptual de un y Î Y al conjunto conclusión está dada por

dUB ( y, C (u )) = min u B ( y ) − u B ( y*) (42)


y *∈C ( u )

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 ⎠

Al conjunto C*(u) Ì Y que minimiza el error de inferencia global (5) se le


denomina conjunto conclusión de la inferencia ideal.

El método propuesto para crear un sistema difuso basado en reglas que se


aproxime a una función de una entrada una salida, con un error de inferencia
nulo, como se menciono anteriormente debe cumplir con la condición

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)

Donde ∧ representa una t-norma de la lógica borrosa.

- 62 -
4.2. DETECCIÓN DE CLASES

El número de clases o agrupamientos posibles de los datos experimentales de


entrada salida determina el número de reglas de sistema difuso. Para obtener
el número de clases posibles en los datos se propone un nuevo algoritmo
basado en la extensión cilíndrica de los valores modales de los conjuntos del
antecedente (o conjunción de los valores modales de los conjuntos de los
antecedentes) en el espacio de datos de salida. Los datos resultantes de la
proyección estarán todos sobre la recta z = 1, lo que facilita la detección de las
clases mediante un algoritmo de agrupamiento jerárquico. El algoritmo requiere
previamente: un conjunto de datos experimentales de entrada salida {uk , yk },
una partición inicial suma 1 de la(s) variable(s) de entrada mediante n
conjuntos triangulares normales distribuidos uniformemente sobre el espacio de
entrada (definido por el vector de datos experimentales de entrada).

Algoritmo 1. Detección de agrupamientos

Dado una colección de datos experimentales {uk , yk }U × V ; k = 1,..., N p

(a) Crear una partición triangular suma 1 del antecedente A ⊂ U en el rango


establecido por los valores mínimo y máximo de los datos de entrada, con un
número n de conjuntos difusos
(b) Determinar las posiciones en el arreglo de datos de entrada para el cual los
valores de pertenencia son iguales a 1 (valores modales)
(c) Crear una tabla de datos ( y j ,1) , donde j corresponde a una posición del

vector de entrada tal que u A ( x j ) = 1

(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

4.3. GENERACIÓN DE REGLAS

El número clases detectadas representan el número de reglas que debe tener


el sistema difuso. Se puede presentar casos, para sistemas de más de una
entrada, en que el número de clases es inferior al número de posibles
combinaciones de los conjuntos de las entradas, lo cual indica que existirán
combinaciones que producen el mismo conjunto conclusión. Por lo tanto, las
reglas con igual consecuente se deben resumir en una sola regla mediante la
disyunción de las conjunciones de sus antecedentes.

Algoritmo 2. Generación de reglas Dada m clases y el rango de los


universos de entrada y salida.

(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)

(b) Si el número posible de reglas q n es igual a m entonces conformar las


reglas según las clases a las que quede asignada cada combinación de
entrada (ir a algoritmo 1). En caso de que el número posible de reglas sea
superior a m indicaría que al menos dos reglas tienen la misma conclusión por
lo que se deben resumir en una regla cuyo antecedente sea la disyunción de
los antecedentes de las reglas en cuestión. Este caso no se presenta en el
caso de sistemas de una sola entrada una sola salida

- 64 -
4.4. GENERACIÓN DE LA PARTICIÓN DE ANTECEDENTE

El algoritmo anterior nos permite hallar el número de conjuntos de cada


variable de entrada pero no la distribución ni las funciones de pertenencia. El
algoritmo propuesto realiza una extensión de los conjuntos de la variable de
entrada en el universo de salida, asignando el grado de pertenencia de cada
elemento xk a su respectiva imagen yk. Las funciones de pertenencia discreta
definitivas de los conjuntos difusos de entrada y la distribución en el universo
de entrada se generan haciendo una redistribución de los intervalos de
evaluación considerados para las funciones discretas triangulares inicialmente
supuestas de acuerdo a los intervalos de los datos de salida. Esto, en principio,
limita el algoritmo a funciones biyectivas; sin embargo, se puede emplear en
caso de funciones no biyectivas dividiendo el problema en modelos locales.

Algoritmo 3. Generación y distribución de funciones de pertenencia

Dado el número n de conjuntos por variables y los rangos de los universos de


entrada y salida de los datos experimentales
(a) Crear una partición triangular suma 1 del antecedente A ⊂ U en el rango
establecido por los valores mínimo y máximo de los datos de entrada, con un
número n de conjuntos difusos (valor n obtenido en el algoritmo 2). Cada
conjunto se define mediante un arreglo del tamaño del vector de datos
experimentales de entrada u AI ( xk )

(b) Proyectar los conjuntos de entrada en el universo de salida mediante la


ecuación (6)

u B ( yk ) = u Ai ( xk ) (47)

Creando una tabla de datos ( yk , uB ( yk ))

- 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)

(d) Redistribuir los intervalos de evaluación de acuerdo a los intervalos en que


están distribuidos los datos de salida, estableciendo previamente los valores
mínimo (ymin) y máximo (ymax) de la variable de salida

( yk − ymin )
xk = (49)
( ymax − ymin )

(e) Asignar a cada valor de entrada xk el correspondiente grado de pertenencia


de yk; o sea

u Ai ( xk ) = uB ( yk ) (50)

Creando una tabla de datos ( xk , u Ai ( yk )) para cada uno de los conjuntos de


cada variable de entrada

La partición generada para el antecedente es suma 1 aunque muy


posiblemente no sea triangular.

4.5. MÉTODO DE INFERENCIA

Métodos de inferencia como el del centro de gravedad no son apropiados para


aproximación funcional, como se puede apreciar si se trata de aproximar una
función tan sencilla como la recta y = x. Por lo tanto se tomará la inferencia
propuesta por Sala [13].

- 66 -
∑ u (u ) y (i)
n i

y * (u ) = k =1 k m
(51)
∑ u (u )
n i
k =1 k

donde uiki (u ) es el grado de pertenencia del dato de entrada en el antecedente i

(en el caso de sistemas con más de una entrada corresponderá a la conjunción


de las entradas), ym(i) es el valor del singleton correspondiente a la salida i. El
denominador siempre arroja un valor igual a 1 cuando se trata particiones suma
1, el cual es el caso del método de aproximación propuesto.

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.

El proceso de modelación empleando técnicas de identificación borrosa


presentó inconvenientes en la toma de datos, por lo que se limitó a los datos
tomados en un proceso normal de operación, en la cual la inyección se hace a
flujo constante y nivel constante.

Al aplicar las técnicas de identificación borrosa fue posible obtener un modelo


aproximado con un error medio cuadrático (mse) de 0.015. La figura 16
muestra los conjuntos difusos de las variables de entrada y los conjuntos
singleton de la variable de salida.

- 67 -
La figura 16. Muestra los conjuntos difusos de las variables de entrada y
los conjuntos singlenton de la variable de salida.

La figura 17. Muestra la comparación entre la curva del modelo y la curva


real.

- 68 -
La base de reglas del modelo difuso está dada por:

Regla N° DESCRIPCIÓN

1 Si x es A1, entonces y es 10.34


2 Si x es A2, entonces y es 9.88
3 Si x es A3, entonces y es 9.71
4 Si x es A4, entonces y es 9.32
5 Si x es A5, entonces y es 8.08
6 Si x es A6, entonces y es 7.53
7 Si x es A7, entonces y es 7.13
8 Si x es A8, entonces y es 6.25
9 Si x es A9, entonces y es 4.39

Tabla 8. Base de Reglas del modelamiento del controlador difuso.

- 69 -
5. DISEÑO DEL CONTROLADOR DIFUSO

Para diseñar el control difuso se acudió a la estrategia basada en el modelo


inverso, con el fin de determinar la señal de entrada que debía aplicarse al
modelo difuso para obtener una salida previamente estipulada, tanto en valor
final como en tiempo de respuesta. La señal de salida deseada fue diseñada
como una exponencial decreciente de manera tal que estuviera acorde con los
tiempos apreciados en los procesos reales y que alcanzara, partiendo de un
valor de pH de 10.34, el valor de pH neutro o pH 7. Esta señal es mostrada en
la figura 18 y se aplicó al modelo difuso de manera inversa arrojando la señal
de entrada mostrada en la figura 19, con lo cual se obtiene una salida muy
similar a la deseada, como se observa en la figura 20.

Figura 18. Respuesta deseada del sistema.

- 70 -
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.

- 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.

Debido a las condiciones económicas por la que atraviesa la empresa


TERMOCARTAGENA S.A E.S.P, la instrumentación requerida para la puesta
en marcha e implementación del controlador difuso ideal no pudo ser adquirida,
por tal motivo para la puesta en marcha del proceso se utilizó la
instrumentación que anteriormente se venia usando, la estrategia de control
que se usa en este proyecto es la especificada en el capitulo anterior es decir
ya conocido el modelo de la planta y la salida que se desea obtener, se calcula
la señal de entrada.
Los equipos que se encontraban averiados fueron reemplazados por otro de la
misma característica y a los otros se le realizó mantenimiento.
A continuación se describe cada uno de elementos que intervienen en el
proceso:

• Bomba de recirculación y descarga.

La bomba que se instaló es fabricada por Metro Corporation – Fybroc Division,


esta tiene una capacidad de 50 M3 / Hora (220 GPM) a una velocidad de 3500
RPM, el materia es de Vinil Ester – reforzado con fibra de vidrio, Optimo para
ambientes corrosivos y donde se trabajan con soluciones ácidas y básicas.
Los datos técnicos de la bomba de succión se observan con mas detalles en el
anexo B.

• Bomba de dosificación de ácido y soda.

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.

• Electro válvula de recirculación.

La válvula son fabricadas por ASAHIAVALVE, Estás se divide en dos partes: el


cuerpo de la válvula y un actuador eléctrico. El cuerpo de la válvula utilizada es
tipo Bola en PVC de 4”, temperatura máx. 120°F y una presión de 150 Lbs,
material del sello EPDM seleccionada de acuerdo a las especificaciones del
producto. Por otra parte el actuador tiene un motor eléctrico de 1/8 HP a 110 V
y dos interruptores finales de carrera, estos tiene la finalidad de girar la bola a
90° hacia delante y atrás para abrir o cerrar la válvula según se requiera. Esta
se encuentra en la línea de recirculación y los datos técnicos se observan con
mas detalles en el anexo D.

• Electro válvula de descarga.

Las especificaciones de esta válvula son las misma de la válvula de


recirculación, se encuentra en la línea de descarga a la bahía y los detalles de
esta se observan en el anexo D.

• Presóstato.

Es un interruptor de presión que contiene un contacto normalmente abierto que


se activa a una presión pre-ajustada (25PSI) con un rango de 10 – 50 PSI.

• Válvula solenoide agua de sello.

El cuerpo de la válvula es de material PVC, la válvula tiene un diámetro de


½”,El actuador esta compuesto por una solenoide con alimentación de 110 V
AC. Esta válvula se utiliza para suministrarle agua filtrada al sello mecánico de
la bomba con el objetivo de mantenerlo sin ninguna traza de ácido o soda.

- 74 -
• Sensor de nivel.

El sensor de nivel es marca CGU modelo LC-1020A, tiene un voltaje de


alimentación de 110/220 V AC, el sensor de nivel es tipo electrodos el cual
tiene 4 electrodos (tres activos y una tierra), este tipo de sensor limita que la
estrategia de control sea mas optima debido a que es un sensor ON/OFF. Para
una estrategia de control mas eficiente se recomienda un sensor de nivel
continuo como es el caso del ultra sonido o radar ya que son los indicados
porque no tiene contacto directo con las soluciones que actúan en el proceso.
Se recomienda utilizar el Rosemount 5600 Series Radar Level Transmitter, los
datos técnicos se observan con mayor detalle en el anexo E.

• pH-metro.

El pH-metro utilizado es marca GEORGE FISHER +GF+, modelo SIGNET,


serie 9030 INTELEK – PRO con una alimentación de 120 VAC a 60 Hz, el cual
esta compuesto por: Electrodo de pH, tipo plano, 3-2714, y el preamplificador
el cual tiene una alimentación de 10 VDC y genera una señal de –414 mV
(pH=o) y +414 mV (pH=14). Este es compensado por temperatura. Los datos
técnicos se observan en el anexo F.

Debido a que la señal de mV que tiene el sensor se recomienda utilizar un


sensor con salida de 4 – 20 mA, debido a que esta señal es estándar y los
niveles de ruido son menores que una señal de milivoltios entre los
recomendados encontramos el analizador de pH marca YOKOGAWA, 4 hilos,
110-220V AC con señal de salida de 4-20mA, autodiagnóstico, 4 contactos de
salida, contacto integral con PT 100 (2- 12 pH) –5 a 105 grados centígrados,
sensor de ¾” NPT .

- 75 -
• Válvula manual de recirculación.

La válvula es fabricada por American Valve AV, el cuerpo de la válvula utilizada


es tipo diafragma de material PVC y tiene una volante que mueve un vástago
acoplado a el diafragma para abrir o cerrar la válvula, seleccionada de acuerdo
a las especificaciones del producto. Esta se encuentra en la línea de
recirculación.

• Válvula manual de descarga.

Esta válvula tienen las mismas características de la válvula de recirculación.

• Válvula manual de corte de agua filtrada.

La válvula es de 1” de diámetro, tipo bola, PVC, estas es utilizada para el


suministro de agua filtrada al sistema de la bomba de recirculación y descarga.

• Válvula reguladora de flujo de agua de sello.

La válvula es de ½” de diámetro, Tipo bola, PVC, esta es utilizada para regular


el flujo de agua por el sello.

• Válvula de toma de muestra.

La válvula es de ½” de diámetro, tipo bola, PVC, esta se utiliza para tomar


muestras del agua de la pileta, para el análisis en laboratorio.

• Válvula manual de ácido.

Válvula es de ½” de diámetro, tipo bola, PVC, esta se utiliza para permitir el


flujo de ácido hacia la tubería de recirculación y descarga.

- 76 -
• Válvulas manuales de soda.

Válvula es de ½” de diámetro, tipo bola, P.V.C, esta se utiliza para permitir el


flujo de soda hacia la tubería de recirculación y descarga.

• Válvula manual de corte de descarga de la bomba.

Válvula de 2” de diámetro, tipo bola, P.V.C, esta es utilizada para cebado de la


bomba, esta ubicada en línea de descarga de la bomba principal.

• Válvula manual de cebado de la tubería de succión.

Válvula de 1” de diámetro, tipo bola, P.V.C., Esta es utilizada para suministrar


el agua para cebado de la tubería de succión de la bomba principal con el fin
que esta no succione aire y se pueda dañar.

• Válvula manual de llenado del tanque de ácido.

Válvula de ½” de diámetro, tipo bola, en P.V.C., esta se encuentra en la línea


de llenado del tanque de consumo de ácido y se utiliza para llenar el tanque de
ácido cuando el nivel de este se encuentre bajo.

• Válvula de llenado de tanque de soda.

Válvula de ½” de diámetro, tipo bola, en P.V.C., esta se encuentra en la línea


de llenado del tanque de consumo de soda y se utiliza para llenar el tanque de
soda cuando el nivel de este se encuentre bajo.

- 77 -
• Manómetro indicador de presión suministro de agua filtrada.

Manómetro de presión. Rango de 0 – 100 PSI, tamaño de la carátula 2”,


conexión de ¼” por debajo en P.V.C. Se utiliza para indicación local de la
presión del suministro de agua filtrada al sistema. Para mayor optimización de
la planta se recomiendo un transmisor electrónico de presión con el mismo
rango de medida que el indicador de presión.

• Manómetro indicador de presión agua de sello.

Manómetro de presión. Rango de 0 – 60 PSI, tamaño de la carátula 2.5”,


conexión de ¼” por debajo en P.V.C. Se utiliza para indicación local de la
presión de agua en el sello mecánico de la bomba. Para mayor optimización de
la planta se recomiendo un transmisor electrónico de presión con el mismo
rango de medida que el indicador de presión.

- 78 -
7. DISEÑO DEL HARDWARE DE INTERFASE ENTRE EL PC Y LA PLANTA

La tarjeta se utiliza como interfase entre el mundo real y la maquina


(computador), ya que todo el proceso de control lo realiza el software
implementado en el PC, el PC le envía la orden correspondiente a la tarjeta
para activar o desactivar el dispositivo que corresponda dicha orden y este a su
vez le envía la realimentación.

En la figura 20 se observa el diagrama de bloques de la interfase y de acuerdo


a estos los módulos que la componen son los siguientes:

¾ 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.

Figura 21. Diagrama de bloque de la tarjeta de adquisición y control

- 79 -
A continuación describiremos detalladamente cada uno de los bloque ya
definidos

7.1. PROCESEMIENTO DE DATOS

El cerebro de la tarjeta de interfase entre el PC y la planta es el


microcontrolador, de acuerdo a los requerimientos de diseño (números de
entradas y salidas tanto análogas como digitales, conversor análogo a digital,
puerto de comunicación RS-232, etc.) encontramos que en el mercado existe
un microcontrolador capaz de brindarnos las características necesarias para el
diseño y ejecución del proyecto, dicho microcontrolador es de referencia PIC
16F877, cuya hoja características la encontramos en el anexo G.

Un microcontrolador es un circuito integrado que contiene toda la estructura


(arquitectura) de un microcomputador, o sea CPU, RAM, ROM, circuitos de
entrada y salida. En la figura 21 se observa un diagrama general del
microcontrolador.

+5V

Circuito externo CPU ROM


de reloj (cristal
u oscilador)
RAM

I/O I/O
GND

Entradas Salidas

Figura 22. Diagrama general de un microcontrolador

- 80 -
El microcontrolador esta encargado de:

¾ Conversión análoga a digital con el propósito de convertir la señal que


envía el sensor de pH en una señal digital.
¾ La visualización del valor del pH correspondiente a los datos leídos por
el conversor.
¾ La comunicación entre la tarjeta y el PC es a través del puerto serial
RS232 o RS485.
¾ La activación de las salida ON - OFF basado en relay, los cuales se
activan dependiendo de una orden que le envié el sistema de control
implementado en software del PC o la orden que envié un usuario.
¾ Reaccionar a las ordenes de entrada digitales ON – OFF realimentada
por los dispositivos de la planta.

7.1.1. Características generales del microcontrolador PIC 16f877

El PIC16F877 es miembros de la familia PIC16F8X, la cual se deriva a su vez


de la familia PIC16C8X. Son microcontroladores CMOS de 8 bits de bajo costo
y alto desempeño.

Emplean una avanzada arquitectura RISC y se caracterizan por su pila de 8


niveles y las múltiples fuentes de interrupciones con las que cuenta. Las
características más sobresalientes de estos microcontroladores se destacan a
continuación:

¾ Operan desde DC hasta 20 MHz.


¾ Solo 35 instrucciones.
¾ Todas las instrucciones se ejecutan en un ciclo de reloj, excepto las de
saltos que son de dos ciclos.
¾ El PIC16F877 cuenta con 8K de memoria de programa.
¾ 368 bytes de memoria RAM.

- 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.

7.1.2. Diagrama de pines

El microcontrolador PIC16F877 es un chip que, como puede apreciarse en la


figura 23, dispone de 40 pines. Este microcontrolador tiene consumo de
potencia bajo y es completamente estático; el reloj puede detenerse y los datos
de memoria no se pierden. Seguidamente se describirán cada uno de los pines.

Figura 23. Diagrama de pines del PIC16F874

- 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.

7.1.3. Arquitectura del PIC16F877

El PIC 16F877 al igual que los demás miembros de su familia, se caracterizan


porque:

¾ Su procesador es segmentado, "pipe-line".


¾ Su procesador es tipo RISC
¾ Tiene una arquitectura HARVARD
¾ El formato de las instrucciones es ortogonal
¾ Todas las instrucciones tienen la misma longitud (14 bits)
¾ La arquitectura está basada en banco de registros

7.2. ETAPA DE ACONDICIONAMIENTO DE LA SEÑAL

Para la medición del pH utilizaremos un dispositivo diseñado con transmisor


interno el cual tiene un comportamiento casi lineal. La grafica se observa en la
hoja característica del fabricante en el capitulo de anexos, uno de estos datos
se muestran a continuación

- 84 -
pH Voltaje (mV)
0 414
7 9
14 -414

Tabla 9. Valores límites entregados por el sensor de pH.

Con la ayuda del software de matemática Laboratorio Matrices (Matlab) se


grafica la curva que muestra el comportamiento del sensor. Por medio del
siguiente algoritmo.

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.

7.2.1. Calculo del sumador

Como se observa la salida del sensor maneja voltajes negativos y el conversor


solo acepta voltajes que van de cero voltios mínimo a 5 voltios máximo. Por tal
razón es necesario primero que todo corregir este valor sumándole un voltaje
de –0.414V al la señal entregada por el sensor, además de esto se debe
invertir la señal ya que se asume que para el valor máximo de PH se debe
obtener en la salida el valor máximo de Voltaje, el circuito encargado de estas
operaciones es el siguiente:

- 86 -
-5V

1k 100 88.5%
10nF

+
100uF
499k 499k

9V

mv PH 499k +
-414 14
0 7 LF356/NS
414 0

1k -9V

Figura 25. Circuito Sumador Inversor de ganancia 1.

Como se mencionó anteriormente este circuito solo es un sumador inversor, no


realiza ninguna operación de amplificación, el dispositivo dispone de
resistencias que deben ser de precisión para asegurar que las entradas no
estén descompensadas y la operación de suma sea correcta, además deben
ser de un valor alto para que la impedancia que vea el sensor de PH sea alta y
no exista ninguna caída de voltaje por desacoplamiento, El operacional que se
utilizó es de instrumentación contiene dos Amplificadores en su encapsulado
de 8 pines, tiene compensación interna y una alta ganancia de entrada, la
referencia de este dispositivo es LF353, la hoja característica se puede ver en
el anexo H.

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)

7.2.2. Calculo del Amplificador

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

Este es el voltaje mínimo que ve el conversor. Se utiliza la resolución máxima


del conversor para aprovechar lograr la máxima precisión posible.

Como el máximo valor decimal que entrega el conversor es de 1023 y la lectura


máxima que debe leer el sensor es (14 PH), lo que se hace es tomar la medida
máxima 1023 y multiplicar la por 1,37 obteniendo un nuevo valor máximo de
1401 y lo dividimos entre 100 obteniendo el valor máximo del PH 14.01 todo
este proceso se realiza por software, por tanto la nueva resolución del
conversor será de 0.0137 esta es el mínimo valor que puede arrojar el
conversor. Se prosigue a calcular el amplificador de la señal del sensor por
medio de los siguientes parámetros.

Voltaje máximo en la entrada del conversor=5V


Voltaje máximo en la entrada del amplificador = 0.828V

- 88 -
VSalida 5V
Av = = = 6,038 (57)
V Entrada 0.828V

Para obtener esta ganancia se implementa un amplificador no inversor como el


que se muestra en la figura 26.

Vcc

Vin=0.814V + LF353

VEE
R2

R1

Figura 26. Prototipo del amplificador de la señal del Sensor de PH

Asumiendo que R1 = 2kΩ tenemos que :


R2
Av = +1
R1 (58)
R2 = ( Av − 1) R2 = (6.038 − 1)2k = 10077,29468Ω

R2 se construirá a partir de una resistencia física de 10K de precisión y una


resistencia variable 100 Ohm. Para lograr el valor deseado. El circuito completo
se muestra en la figura 6.
Vcc

Vin=0.814V + LF353

VEE
R2
10k R3
100 0.01%
R1
2k

Figura 27. Diagrama esquemático del circuito amplificador

- 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

Figura 28. Circuito regulador.

Asumimos el valor del zener es de 5.1V y el de la resistencia es de 1kOhm por


tanto el valor máximo que puede suministrar el Amplificador es de:

VOUT OP − VIN CAD


I R = I DZ T =
R
VOUT OP = R x I DZ T + VIN CAD = 1kΩ x 20mA + 5V
VOUT OP = 25V (59)
(V − VIN CAD )
2
(20V )2
PR = = = 0,4W se toma de 1/2W
OUT OP

R 1KΩ
PDZ = VDZ I DZ MAX = 5.1x30mA = 0,153 se toma de 1/2W

Las entradas digitales también utilizan este sistema de protección

El voltaje con que se deben alimentar los operacionales se calcula mediante la


siguiente expresión.

VSal = Va+lim entacion − 2 (60)

Como el voltaje en la salida máximo debe ser de 5 voltios tenemos que el

- 90 -
voltaje de alimentación será:

Va+lim entacion = VSal + 2V = 5V + 2V = 7 (61)

Se decide alimentar el operacional con un voltaje de +9 voltios que lo


obtendremos de dos regulador integrado los cuales a su ves se alimentarán
con un voltaje de +12 (V), para asegurar que el voltaje que suministren los
reguladores se de 9 (V) por si ocurre una variación del voltaje la red eléctrica
domestica. .

El circuito de acople del sensor al conversor análogo a digital se muestra a


continuación:

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

Figura 29. Diagrama esquemático del circuito de acople entre el sensor y


el conversor Análogo a Digital

- 91 -
7.3. ENTRADA ANALOGA DEL SENSOR DE pH.

El módulo conversor análogo-digital incorporado en el PIC16F877 tiene 8


canales de entrada multiplexados con resolución de 10 bits. El número de
entradas se puede definir por software por medio de los bits apropiados en el
registro de control del conversor, así como el canal a convertir. Este módulo
funciona por medio del principio de aproximaciones sucesivas. El diagrama de
bloques del conversor se muestra en la figura 29.

La entrada análoga carga un condensador, el cual muestrea la señal de


entrada y mantiene su carga. La salida del condensador de muestreo y
retención es la entrada para el conversor. Con esta carga el conversor genera
un resultado digital de 10 bits correspondiente al valor análogo. El módulo A/D
puede utilizar como voltaje de referencia para la conversión el voltaje VDD de la
fuente o bien usar como referencias los voltajes aplicados en los pines RA2 y
RA3 (voltajes alto y bajo). Además, este conversor ofrece la particularidad de
operar mientras el dispositivo se encuentra en modo SLEEP. Para que pueda
operar en modo SLEEP se debe seleccionar como reloj de la conversión el
oscilador interno RC.

Figura 30. Diagrama de bloques del conversor análogo-digital

- 92 -
El módulo conversor A/D tiene cuatro registros:

¾ ADRESH: Almacena la parte alta del resultado de conversión de 10 bits.


¾ ADRESL: Almacena la parte baja del resultado de conversión de 10 bits.
¾ ADCON0: Controla la operación del conversor A/D.
¾ ADCON1: Configura los pines de los puertos como I/O digitales o como
entradas análogas.

Registro ADCON0 (1Fh en RAM)

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:

R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 U-0 R/W - 0


ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE ADON
bit 7 bit 0

Figura 31. Registro INTCON.

Bits 7-6 ADCS1:ADCS0: Bits de selección de reloj de conversión A/D.


00 = FOSC/2
01 = FOSC/8
10 = FOSC/32
11 = FRC (reloj derivado del módulo oscilador RC para el conversor A/D)

Bits 5-3 CHS2:CHS0: Bits de selección del canal análogo a convertir.


000 = canal 0, (RA0/AN0)
001 = canal 1, (RA1/AN1)
010 = canal 2, (RA2/AN2)
011 = canal 3, (RA3/AN3)
100 = canal 4, (RA5/AN4)

- 93 -
101 = canal 5, (RE0/AN5)
110 = canal 6, (RE1/AN6)
111 = canal 7, (RE2/AN7)

Bit 2 GO/DONE: Bit de estado de la conversión A/D


Si ADON = 1:
1 = Conversión A/D en progreso (activando este bit inicia la conversión A/D).
0 = No se está realizando conversión (este bit se borra automáticamente por
hardware cuando la conversión A/D finaliza)

Bit 1 Sin implementar: Se lee como '0'

Bit 0 ADON: Bit de encendido del conversor A/D


1 = El módulo conversor A/D está en operación
0 = El módulo conversor A/D no está en operación.
Registro ADCON1 (9Fh en RAM)

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:

U-0 U-0 U-0 U-0 R/W - 0 R/W - 0 R/W - 0 R/W - 0


ADFM PCFG3 PCFG2 PCFG1 PCFG0
bit 7 bit 0

Figura 32. Registro ADCON1.

Bit 7 ADFM: Bit de selección del formato de resultado


1 = Justificado a la derecha. Los 6 bits más significativos de ADRESH se leen
como '0'.
0 = Justificado a la izquierda. Los 6 bits menos significativos de ADRESL se
leen como ‘0’.

- 94 -
Bits 6 - 4 Sin implementar: Leídos como '0'.

Bits 3 - 0 PCFG3:PCFG0: Bits de control de configuración de los canales


análogos:

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

TABLA 10. Configuración de canales de entradas análogos y digitales.

A = Entrada análoga D = E/S Digital

Nota 1: Esta columna indica el número de canales análogos disponibles y el


número de canales análogos usados como entradas de voltaje de referencia.

Registros de resultado ADRESH (1Eh) : ADRESL (9Eh)

Esta pareja de registros almacenan el resultado de 10 bits de la conversión


A/D. Cuando la conversión finaliza, el resultado se carga en este par de
registros, el bit GO / DONE del registro ADCON0 (bit 2) se borra y el bit bandera
de interrupción A/D ADIF (bit 6 del registro PIR1) se activa. El módulo

- 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.

Figura 33. Justificación del resultado de la conversión

7.3.1. Requisitos de la adquisición

Con el fin de asegurar la precisión especificada del conversor, se debe permitir


que el condensador de carga en la entrada (CHOLD) cambie completamente
su nivel de voltaje antes de realizar otra conversión. El circuito equivalente de
la entrada se muestra en la figura 33. En este modelo se puede observar la
señal análoga de entrada, representada por medio de una fuente VA y una
resistencia interna RS; el pin RAx ó REx correspondiente al canal seleccionado
para la conversión, un condensador de entrada CPIN que funciona como el
contenedor del voltaje análogo y el circuito equivalente de un transistor PNP
que actúa como buffer. También se observan las corrientes de fuga (leakage)
de la base del transistor, el interruptor de muestreo SS con su respectiva
resistencia equivalente RSS, y el condensador de retención.

- 96 -
Figura 34. Modelo análogo de la entrada del conversor

La impedancia de la fuente de entrada RS y la del interruptor interno RSS


afectan directamente el tiempo requerido para la adquisición completa de la
señal de entrada. La máxima impedancia recomendada para fuentes análogas
es de 10 KΩ. A medida que la impedancia decrece, el tiempo de adquisición
necesario también disminuye.

Después de seleccionar el canal análogo a convertir, la adquisición de la señal


se debe realizar antes de que el proceso de conversión se inicie. Para calcular
el mínimo tiempo de adquisición se debe utilizar la siguiente ecuación :

TACQ = (Tiempo de actuación del transistor) + (Tiempo de carga del


condensador de retención CHOLD) + (Coeficiente de temperatura)

Donde el tiempo de actuación del transistor es igual a 2µseg, y el tiempo de


carga del condensador de retención queda definido por la siguiente ecuación:

TC = CHOLD (RIC + RSS + RS) In(1/2047)


= -120pF (1KΩ + 7KΩ + 10KΩ) ln (0.0004885)
= 16.47 µs

Y el coeficiente de temperatura TCOFF se calcula de la siguiente forma:

TCOFF = [(Temperatura de trabajo -25°C)(0.05µs/°C)]

- 97 -
Asumiendo una temperatura de trabajo de 50° C, el tiempo mínimo de
adquisición es:

TACQ = 2µs + 16.47µs + (50°C -25°C)(0.05µs/°C)


= 19.72µs

Tiempo de conversión TAD y reloj de conversión

El tiempo de conversión por bit se define como TAD. El proceso de conversión


A/D requiere un tiempo mínimo de 12TAD para 10 bits de resultado. Este tiempo
TAD depende de la máxima frecuencia de operación del microcontrolador. El
reloj de conversión se selecciona por software, y puede ser una de las posibles
cuatro opciones siguientes:

¾ 2TOSC
¾ 8TOSC
¾ 32TOSC
¾ Oscilador RC interno para el módulo A/D (2-6 µs)

Con el fin de realizar correctamente la conversión A/D, se debe seleccionar un


reloj de conversión (con los bits ADCS1:ADCS0 del ADCON0) que asegure un
mínimo tiempo TAD de 1.6µs. A continuación se muestra la tabla que relaciona
el reloj de conversión con la frecuencia de operación:

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

TABLA 11. Valores de configuración para el tiempo de conversión.

- 98 -
Nota 1: El reloj RC tiene un típico TAD de 4 µs, pero puede variar entre 2 y 6 µs.

Nota 2: Cuando la frecuencia de operación del dispositivo es mayor de 1MHz,


no se recomienda usar el reloj RC, salvo para modo SLEEP.

7.3.2. Configuración de las entradas análogas

Los registros ADCON1, TRISA y TRISE controlan la operación de los pines


como entradas análogas. Si un pin se desea configurar como entrada análoga,
se debe activar su correspondiente bit de configuración en el registro TRIS. Por
ejemplo, si se desea usar el pin RA0 como canal análogo, se debe borrar el bit
0 del registro TRISA. De igual forma, por medio del registro ADCON1, con los
bits PCFG3:PCFG0 se selecciona el funcionamiento de cada uno de los pines
como E/S digital o como entradas análogas.

7.3.2.1. Pasos para realizar una conversión

Los siguientes son los pasos necesarios para realizar una conversión A/D:

1. Configurar el módulo A/D:


¾ Configurar los pines que se utilizarán como entradas análogas,
referencias de voltaje y entrada/salida digital en el registro ADCON1.
¾ Seleccionar el canal de entrada para la conversión A/D en el ADCON0.
¾ Seleccionar el reloj de la conversión A/D en el ADCON0.
¾ Activar el módulo conversor A/D ADCON0.

2. Configurar la interrupción A/D (si se desea):


¾ Borrar el bit ADIF del registro PIR1.
¾ Activar el bit ADIE en el registro PIE1.
¾ Activar el bit PEIE en el registro INTCON.

- 99 -
¾ Activar el bit GIE en el registro INTCON.

3. Esperar el tiempo de adquisición requerido:


¾ Iniciar la conversión:
¾ Activar el bit GO / DONE en el registro ADCON0

4. Esperar la finalización de la conversión A/D, por medio de alguno de los


siguientes métodos:
¾ Escaneando el bit GO / DONE hasta que pase a '0'.
¾ O esperar por la interrupción A/D

5. Leer el par de registros de resultado de conversión A/D ADRESH:ADRESL y


borrar el bit ADIF si se requiere (para cuando se usa interrupción)

6. Para la próxima conversión saltar a los pasos 1 o 2 según se requiera. Se


debe esperar un mínimo de 2TAD antes de iniciar la próxima conversión.

7.3.2.2. Interrupción del módulo A/D

El módulo A/D puede utilizarse con interrupciones. Si la interrupción del


conversor está habilitada, cada vez que finalice el proceso de conversión se
generará. La interrupción del conversor se configura por medio de los bits ADIF
del registro PIR1 y ADIE del registro PIE1. A continuación se muestran esos
registros:

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

Figura 35. Registro PIR1.

Cuando la conversión finaliza, el bit ADIF se activa, generando una interrupción


por finalización del conversor. Una vez la interrupción es atendida, este bit de
borrarse por software.

b). Registro PIR2: Posee los bits de habilitación de las interrupciones


periféricas. Para el conversor, solo interesa el bit ADIE (bit número 6).

R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0 R/W - 0


PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE
bit 7 bit 0

Figura 36. Registro PIE1.

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.

7.4. ENTRADAS DIGITALES

La tarjeta dispone de 10 entradas digitales con voltaje TTL (0 y 5 Voltios), el


propósito de estas entradas es permitir ver el estado de las Bombas, las
válvulas, el presóstato y el nivel de la pileta. De esta forma tendremos una
realimentación que nos indica si el dispositivo que hemos activado o
desactivado recibió la orden de la tarjeta. El circuito nos indica las entradas
digitales y al dispositivo que corresponden.

- 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

Figura 37. Diagrama esquemático de conexión de las entradas digitales.

El diagrama de la figura 37. Indica las conexiones correspondientes a las


diferentes entradas digitales, cada una de ellas pose un circuito de protección
al cual se hizo referencia en la ecuación 5. En la tabla 12 se muestra la
correspondencia entre la entrada digital y señales de realimentación que se
quieren censar
Dispositivo Puerto Entrada

Válvula de recirculación RA1 IN0

Válvula de descarga RA3 IN1


Válvula Solenoide RA2 IN2
Presóstato RA4 IN3
Electrobomba RC0 IN4
Bomba de Ácido RC1 IN5
Bomba de Soda RC2 IN6
Sensor de nivel 1 RC3 IN7
Sensor de nivel 2 RC3 IN8
Sensor de nivel 3 RC4 IN9

Tabla 12. Correspondencia entre las entradas digitales y las señales de


realimentación.

- 102 -
7.5. SALIDAS DIGITALES

Las salidas digitales son los encargados de activar o desactivar el dispositivo


que indique la orden del controlador, esta etapa se realizó a base de relay. Los
cuales son manejados por medio del puerto paralelo del microcontrolador. Pero
como la señal de entregada por este puerto es de baja corriente y de entrega
un voltaje relativamente bajo al rededor de los 5 Voltios, es necesario una
etapa amplificadora de corriente. Como la que se muestra en la figura 38.

RELAY
VCC

VTTL D2

Q1
R1 D1

Figura 38. Diagrama esquemático del sistema de los relay

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

La resistencia R1 será de 36 (KOhm) a 1/4W

D1 se utiliza como protección ante corrientes inversas que se puedan generar


en la bobina del Relay también se utiliza como dispositivo de protección para
eliminar la posibilidad de que se active el transistor por voltaje bajo, alrededor
de 1 (V), D2 se utiliza como diodo de rueda libre con el propósito de eliminar
las corrientes inversas que se generan en la bobina del Relay, este diodo es de
alto Switcheo.

7.6. PUERTO DE COMUNICACIÓN SERIAL RS232 y RS485

El microcontrolador cuenta con dos modos de transmisión serial que son:

USART: Transmisor Receptor Universal Síncrono Asíncrono. También


conocido como Interfase de Comunicación Serial SCI.
SSP: Puerto Serial Síncrono

El USART puede ser configurado en lo siguientes modos:


Asíncrono (full duplex)
Síncrono - Maestro (half duplex)
Síncrono - Esclavo (half duplex)

USART en Modo Asíncrono.

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).

La selección del modo la realiza el bit SYNC, que se encuentra en el registro


TXSTA, en la posición 4 (TXSTA<4>), SYNC = 0 selecciona modo asíncrono.
Un generador de taza de transmisión dedicado de 8 bits puede ser usado para
derivar frecuencias estándar a partir del oscilador. La transmisión y recepción
del USART son funcionalmente independientes, sin embargo usan el mismo
formato de datos y la misma taza de transmisión.
El módulo USART en modo asíncrono consiste de los siguientes elementos:

¾ Generador de Taza de Transmisión


¾ Transmisor Asíncrono
¾ Receptor Asíncrono
¾ Circuito de Muestreo

A continuación se explica detalladamente los anteriormente items


mencionados:

¾ Generador de Taza de Transmisión del USART (BRG)

El BRG soporta ambos modos del USART: síncrono y asíncrono. El BRG es un


generador dedicado de 8 bits que consiste de un timer en constante
incremento. El registro de función especial SPBRG controla el periodo de
este timer. Adicionalmente, en el modo asíncrono únicamente, el bit BRGH
(TXSTA<2>) también controla la taza de transmisión, contando con velocidades
de transmisión bajas (BRGH = 0) y velocidades altas (BRGH = 1).

- 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).

SYNC BRGH = 0 (Low Speed) BRGH = 1 (High Speed)


0 (Asynchronous) Baud Rate = Fosc/(64(X+1)) Baud Rate = Fosc/(16(X+1))
1 (Synchronous) Baud Rate = Fosc/(64(X+1)) NA

Tabla 13. Fórmulas para Calcular la Taza de Transmisión.

Debido al redondeo, se genera un error en la taza de transmisión, este error


puede reducirse en algunos casos seleccionando BRGH = 1 para altas
velocidades, ya que la frecuencia de oscilación se divide en 16.

Ejemplo 1 Muestre los cálculos de la taza de transmisión para las siguientes


condiciones:
Fosc = 20 MHz
Taza de transmisión (BR) = 9,600 bps
BRGH = 0 (baja velocidad)
SYNC = 0 (asíncrono).
BR = Fosc / (64 (X + 1)) (64)

Despejando:
X= [Fosc/(BR) (64)] - 1
X= [20 MHz / (9600) (64)] - 1
X= 32.5521 – 1
X= 32

BR calculado= 20 MHz / (64 (32 + 1))= 9469.7 bps


Error= (BR calculado - BR deseado) / BR deseado= (9647 – 9600)/9600= - 0.49
%

- 106 -
La tabla 14 muestra los registros y bits de los registros asociados a la
generación de la taza de transmisión:

NAME Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


TXSTA CSRC TX9 TXEN SYNC BRGH TRMT TX9D
RCSTA SPEN RX9 SREN CREN FERR OERR RX9D
SPBRG Baud Rate Generator Register

Tabla 14. Registro asociados al Generador de Taza de Transmisión.

El bit SPEN (RCSTA<7>) debe habilitarse (SPEN = 1) para permitir la


transmisión recepción de datos, además de configurar los pines RX/DT y
TX/CK como pines del puerto serial.

¾ Transmisor Asíncrono del USART.

La transmisión en modo asíncrono del módulo USART está comprendido según


el diagrama a bloques del la figura 39. El registro de corrimiento serial (TSR) es
el encargado de generar la transmisión alimentado por el generador de taza de
transmisión (BRG). La transmisión se inicia simplemente escribiendo al registro
TXREG, el cuál forma parte de los registros de función especial.
Inmediatamente después el contenido del TXREG es copiado al TSR,
provocando que la bandera TXIF se encienda indicando que el TXREG ha
quedado vacío. El TSR no es un registro de función especial y no se encuentra
disponible al usuario.

- 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.

Figura 40. Diagrama de tiempos de la Transmisión asíncrona del USART.

Limpiar el bit TXEN durante la transmisión ocasionará abortarla, mandando el


pin TX/CK a alta impedancia. Para la transmisión de 9 bits, debe encenderse el
bit TX9 (TXSTA<6>) y escribir al noveno bit en la posición TX9D (TXSTA<0>).

- 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:

1) Inicializar el SPBRG para la apropiada taza de transmisión. Si se desea


una taza de alta velocidad, deberá encenderse el bit BRGH.
2) Habilitar el puerto serial asíncrono limpiando el bit SYNC y encendiendo
el bit SPEN.
3) Si se desea manejar interrupciones encender los bits TXIE, GIE y PEIE.
4) Encender el bit TX9 si se desea una transmisión de 9 bits.
5) Habilitar la transmisión encendiendo el bit TXEN (no olvidar que este
enciende el bit TXIF)
6) Si se ha escogido una transmisión de 9 bits, cargar primero el bit TX9D.
7) Cargar los datos a transmitir al registro TXREG (lo cual inicia la
transmisión).

Se puede realizar una transmisión llamada “espalda con espalda” escribiendo


el registro TXREG antes de que el TSR haya terminado de transmitir la palabra
antes escrita, no permitiendo que el bit TMTR no se encienda. Esto es posible
solamente monitoreando el bit TXIF, ya que este bit se enciende cuando una
nueva palabra se escribe al TXREG y no puede borrarse por software, sólo se
limpia cuando esta palabra se escribe al registro TSR, según se muestra en la
figura 41.

Figura 41. Transmisión asíncrona del USART en forma “espalda con


espalda”.

- 109 -
La tabla 15 muestra los registros y los bits asociados con la transmisión serial
asíncrono.

Tabla 15. Registros asociados con la Transmisión Asíncrona Serial.


Receptor Asíncrono del USART.

La recepción en modo asíncrono del módulo USART está comprendido según


el diagrama a bloques del la figura 42. Los datos son recibidos a través del pin
RX/DT y los drivers del bloque de recuperación de datos sí el bit CREN
(RCSTA<4>) es habilitado. El registro de recepción de corrimiento (RSR) copia
su contenido al registro RCREG después de que se halla recibido el bit de paro
y encendiendo al termino la bandera de interrupción RCIF. Este bit es de sólo
lectura y limpiado sólo por hardware cuando el registro RCREG es leído y se
encuentra limpio.

- 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:

1) Inicializar el SPBRG para la apropiada taza de transmisión. Si se desea


una taza de alta velocidad, deberá encenderse el bit BRGH.
2) Habilitar el puerto serial asíncrono limpiando el bit SYNC y encendiendo
el bit SPEN.
3) Si se desea manejar interrupciones encender los bits RCIE, GIE y PEIE.
4) Encender el bit RX9 si se desea una transmisión de 9 bits.
5) Habilitar la transmisión encendiendo el bit CREN.
6) Cuando la recepción se complete se encenderá el bit RCIF y si se
encuentra habilitada la interrupción ésta se generará.
7) Leer primero el registro RXSTA para obtener el noveno bit si este modo
está habilitado y determinar si no hubo algún error durante la transmisión
revisando los bits OERR y FERR.
8) Leer los 8 bits de datos del registro RCREG.
9) Si se presentó algún error limpiar los bits de error al limpiar el bit CREN.
Si hubo error, llamar a la rutina adecuada para corregirlo.

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.

Tabla 16. Registros asociados con la Recepción Asíncrona Serial.

El bloque de recuperación de datos opera a 16 veces la taza de transmisión


para muestrear correctamente el valor del dato leído. El valor del pin leído lo
determina a través de 3 lecturas realizadas durante las transiciones negativas
7, 8 y 9.

Figura 44 Esquema de muestreo del pin RX

CONEXIÓN RS232 Y RS485.

La tarjeta consta de dos sistemas de comunicación con el PC, la primera por


RS232 en la cual solo se puede conectar una sola tarjeta, a una distancia de
algunos pocos metros (máximo 15) con un cable normal. Este es posible por
medio de integrado MAX232 (ver anexo J para mayor información), el cual
convierte la señales de 0 a 5, enviadas por el microcontrolador a señales de –

- 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
+

RE1 Vdd C2+ R1in


C2- R1out
RE2 GNG C16 V- T1in
VDD RD7 T2out T2in
GNG RD6
+

OSC1 RD5
C14 R2in R2out
OSC2 RD4
RC0 RC
RC1 TX
RC2 RC5
RC3 RC4
RD0 RD3
RD1 RD2

Figura 45. Diagrama de conexión del MAX 232

El otro sistema de interconexión es por el puerto RS485, la conversión a este


sistema es posible gracias al integrado MAX485, este dispositivo envía la
señales de igual manera que las recibe del PIC 5 para decir que es un bit alto y
0 para decir que es un bit bajo, pero en la salida de este componente
encontramos un circuito de alta impedancia con el propósito de recorre grandes
distancia sin que se caiga la señal. Ver anexo K para mayor información, este
dispositivo necesita un señal de control la cual le indica al microcontrolador que
se ponga en estado de recepción (RE = 0V DE = 0V) o en estado de
transmisión (RE = 5V DE = 5V), este control lo realizamos por software y se
refleja en el pin RD7 del puerto D del micro, como se muestra en la figura 46.

- 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

Figura 46. Diagrama de conexión del MAX 485

Como los computadores no posen el puerto RS485 es necesario utilizar uno de


los puertos seriales disponibles, en nuestro caso se utiliza el RS232, al cual fue
necesaria conectarle un circuito conversor. Como se muestra en la figura 47.

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

Figura 47. Conversor de RS232 a RS485

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.

En el siguiente diagrama se muestra como es la conexión entre tarjetas.

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

Figura 48. Diagrama de comunicación.

- 116 -
7.7. FUENTE DE VOLTAJE DEL HARDWARE.

F1

-180/180V
D1 + RL
C1
60 Hz
C2
+ RL

Figura 49. Esquema del circuito de filtrado.

La fuente que se diseño entrega un voltaje de 12 Voltios para alimentar un


regulador de 9 Voltios y otro de –9 V, que son los encargado de suministrar la
energía a los operacionales, los cuales a su ves alimentan un regulador de 5
Voltios que alimenta al microcontrolador y al circuito encargado de la
transmisión serial. También alimenta al regulador de –5 V, para generar el
voltaje negativo –0.414V para adicionarlo a la señal del Sensor. Por tal razón la
señal rectificada y filtrada debe suministrar un voltaje mayor o igual a 12 voltios
con un rizado menor de 1% ya que se alimentaran circuitos digitales de dicha
fuente. El valor de los condensadores se calcula por medio de la siguiente
expresión basada el la resistencia de carga que va a tener la fuente y el rizado
de señal.

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

El circuito puede suministrar un rizado menor al 1% para corrientes menores o


igual a 100mA.

El circuito completo del sistema de filtrado y regulación es el siguiente:

78L09 78L05
1KAB40 IN OUT + IN OUT
100mA
-180/180V COM COM
10uF
+
60 Hz 2200uF
79L09
IN OUT
+ 2200uF
COM

10uF

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.

7.7.1. Calculo del transformador

Figura 51. Diagrama esquemático del transformador

Este dispositivo es el encargado de acoplar el circuito a la red eléctrica, se


encarga de tomar la señal de voltaje de la red eléctrica que tiene un voltaje
(RMS) de 120Vac y bajarlo al voltaje necesario para nuestro propósito, Este
dispositivo trabajo por el principio de inducción magnética. Esto nos indica que

- 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.

Vsec( P ) = V filtrado + 2 * VD = VDC + V p RIZ + 2 * VD = 12 + 12 x 0.01 + 1.4 = 13 .52 (67)


Vsec( pico ) = 13 .52 V
13 .52
VSEC ( RMS ) = = 9.56VRMS
2
Se toma de 10 Vrms
V prim ( pico ) = 170 V
170
V prim Rms = = 120 .2Vrms
2
120 .2
a= = 12 .02
10

El Transformador debe soportar en el primario un voltaje de 120 VRMS y en el


secundario debe proporcional un voltaje de 10 VRMS y una corriente mayor a
los 100mA

- 119 -
8. ETAPA DE ACCIONAMIENTO

De acuerdo a los requerimientos de operación se desea que el sistema


eléctrico accione de la siguiente manera:

¾ Se debe dar la opción de apagado y encendido general al sistema.


¾ El sistema debe tener dos modo de operación Local y Remoto.
¾ Al inicio del proceso se debe activar la solenoide con el fin de suministrar
agua al sello mecánico de la bomba principal.
¾ Accionar las válvulas de recirculación y descarga según se desee con
un enclavamiento eléctrico entre ella para que en ningún momento estén
abierta o cerrada al mismo tiempo.
¾ Prender las bombas dosificadoras de ácido y soda según lo requerido
por el sistema o la señal del controlador. Se debe realizar un
enclavamiento eléctrico entre las dos bombas para que en ningún
momento estén abierta o cerrada al mismo tiempo. Por costo y debido a
que no sufren por succionar en vació no se le coloca protección por bajo
nivel, pero se recomienda para un mejor funcionamiento y vida útil de
estas.
¾ Arrancar la bomba principal para recircular y comenzar el control
automático. Se debe arrancar con protección por nivel, presión de agua
del sello mecánico y sobre carga en el motor para prevenir daños en
esta. Antes de arrancar la bomba principal se debe dar la condición de
cebado de la bomba en caso tal no se podría dar arranque.

El diseño del diagrama de control se realizó en base a los requerimientos


anteriores y las consideraciones de diseño descritas en el capitulo 2.

A continuación se describe el funcionamiento detallado del diagrama


esquemático de control que se observa en el anexo O.

- 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.

¾ Funcionamiento del sistema en mando local

Al seleccionar mando local el sistema esta habilitado para recibir la orden de


Start (pulsador Start1), al pulsar este acciona el relay R, el cual esta enclavado
eléctricamente con un contacto normalmente cerrado del relay R2 que a su
vez es accionado por un contacto normalmente abierto R1 y este es accionado
por un contacto normalmente abierto del contactor BP de la bomba principal.
Este enclavamiento se utiliza para el lavado del sello mecánico de la bomba
principal después de finalizado el proceso.

Al accionarse el relay R energiza la bobina del temporizador off delay T1 que a


su vez con un contacto normalmente abierto (instantáneo al cierre y
temporizado a la desenergización) energiza la válvula solenoide para el
suministro de agua al sello mecánico de la bomba principal, si la presión del
agua de sello es mayor e igual a 25 PSI se activa una contacto normalmente
abierto del Presóstato el cual activa el contactor P1 que se utiliza para habilitar
el encendido de la bomba principal.

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.

Cuando la pileta alcanza un nivel de 1.5 M se cierra el contacto NO1 Del


sensor de nivel el cual energiza el relay R4, este tiene un contacto
normalmente abierto que habilita el encendido de la bomba principal, es decir

- 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.

Si las condiciones para el arranque de la bomba principal se cumplen el


operador puede dar orden de encendido de esta presionando el pulsador A1 el
cual acciona el contactor BP que tiene 3 contactos normalmente abierto para el
arranque de la bomba principal y uno auxiliar para retener la señal de pulso.
De igual forma el operador puede dar orden accionar válvula de recirculación o
descarga con los pulsadores A4 y A5 respectivamente y a las bombas
dosificadoras de ácido o soda según lo requiera con los pulsadores A2 y A3.
Para dar orden de parada de la bomba principal, válvula de recirculación y
descarga, bomba de dosificación de ácido y soda, se utiliza los pulsadores S1,
S4, S2, S3 respectivamente.

¾ Funcionamiento del sistema en mando remoto

Al seleccionar con el selector I2 la opción de mando remoto inmediatamente se


energiza los Contactores E1 y E2 que son utilizados para deshabilitar el mando
local del proceso. En este instante el proceso esta habilitado para que se
pueda controlar a través de computador mediante la interfase de adquisición de
datos. Esta interfase interviene en la lógica de control con las distintas entradas
y salidas digitales que se detallan a continuación.

ENTRADAS DIGITALES:

¾ IN0 : Realimentación del estado de la válvula de recirculación


¾ IN1: Realimentación del estado de la válvula de descarga
¾ IN2: Realimentación de estado de la válvula solenoide
¾ IN3: Indica que la presión de la línea agua de sello de la bomba es la

- 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:

¾ OUT0: Se utiliza para accionar el contactor VR de la válvula de


recirculación.
¾ OUT1: Se utiliza para accionar el contactor VD de la válvula de
descarga.
¾ OUT2: Se utiliza para energizar la válvula solenoide para el suministro
de agua de sello.
¾ OUT3: Se Utiliza para energiza el contactor BP de la bomba de
recirculación y descarga.
¾ OUT4: Se utiliza para energizar el contactor BA de la bomba de
dosificación de ácido.
¾ OUT5: Se utiliza para energizar el contactor BS de la bomba de
dosificación de soda.

La lógica de control en mando remoto es descrita en el capitulo 9. La selección


de cada una de las protecciones y elementos se realizó en base a las
características eléctricas del sistema de potencia ya existente.

Las características de cada uno de los elementos que intervienen en el


diagrama eléctrico de control y de potencia se observan en el anexo P.

- 123 -
9. DISEÑO DEL SOFTWARE.

9.1. MICROCONTROLADOR 16F877.

Diagrama de flujo físico del software implementado en el microcontrolador.

INICIO

ATENCIÓN DE
INTERRUPCIONES

CONVERSIÓN
ANÁLOGA A DIGITAL

CORRECCIÓN DE LOS DATOS


OBTENIDOS EN LA
CONVERSIÓN

GUARDADO DE LOS ÚLTIMOS


DATOS OBTENIDOS EN LA
CONVERSIÓN A/D

VISUALIZACIÓN DE LOS
ÚLTIMOS DATOS OBTENIDOS
EN LA CONVERSIÓN A/D

TRANSMISIÓN SERIAL 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

El programa maneja las interrupciones de recepción del puerto serial (RCREG),


las cuales son atendidas inmediatamente se produzcan en la subrutina de
nombre (INTER). Cuando se recibe un dato por el puerto serial se debe mirar
para ver que quiere el software del PC que haga la tarjeta.

- 125 -
INTER

Desactivamos las interrupciones globales


GIE←0

Si interrupción causada No GIE←1


por Puerto Serial Salir de Interrupción

Si

IN_REG←RCREG

Si

NO Si SI
BANDERA_S ≠0

Petición para leer el


Si IN_REG=1
Si Si pH actual en los
PORTB←PORTB⊕ sensores
Si IN_REG=’E’ CPU_ENCENDIDA←E
IN_REG
BANDERA_S←1
Si TEM00 =250
SINO
PORTB←PORTB⊗ 254 No
No FIN SI
Si Se cerró el
Si IN_REG=2 Si software
PORTB←PORTB⊕ IN_REG=’S’
Si Si IN_REG
PROTB←0
BANDERA_S←2 BANDERA S←0
SINO
PORTB←PORTB⊗ 253 No
No FIN SI
Si IN_REG=4
Si Si
PORTB←PORTB⊕ BANDERA_S←1
Si IN_REG=’A’
Si IN_REG
BANDERA_S←4
SINO
PORTB←PORTB⊗ 251 No
No FIN SI
Si IN_REG=8 Si Si
PORTB←PORTB⊕ IN_REG=’B’ BANDERA_S←2
Si IN_REG
BANDERA_S←8 Si
SINO
PORTB←PORTB⊗ 247
No FIN SI
Si IN_REG=16 Si Si
PORTB←PORTB⊕ IN_REG=’C’ BANDERA_S←4
Si
Si IN_REG
BANDERA_S←16
SINO
PORTB←PORTB⊗ 239
No FIN SI
Si IN_REG=32
Si Si
PORTB←PORTB⊕ IN_REG=’D’ BANDERA_S←8
Si IN_REG
BANDERAS←32 Si
SINO
PORTB←PORTB⊗ 223 No
No FIN SI
1 1a

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

• CONVERSIÓN ANÁLOGA DIGITAL

CONVERSOR

Activamos la entrada AN0 de conversor


ADCON0←C1Hex

Leemos el dato de la conversión correspondiente al


pH del sensor
Leemos los 8 bit bajos de la conversión
BIT_BAJO=ADRESL
Leemos los 2 bit altos de la conversión
BIT ALTO =ADRESH

FIN

- 127 -
¾ CORRECIÒN DE LECTURA DE LOS DATOS DEL CONVERSOR
ANALOGOA DIGITAL.

El conversor análogo a digital del microcontrolador tiene una resolución de


10bit los cuales están repartidos en dos registros uno que contiene los ocho bit
bajos y otro que contiene los 2 bit mas altos. Esta lectura debe ser
representada como un número decimal normal que varia de 0 a 1023 por tal
razón se optó en dividir el dato en dígitos que representan la unidad, decenas,
centenas y miles como se muestra a continuación.

- 128 -
CORRECCIÒN

Se divide los 8 bit menos significativos en unidades decenas y


centenas
DIVIDENDO ← BIT_BAJO * 1.37
UNIDADES ← [DIVIDENDO ( MOD) 100] ( MOD) 10
PUENTE ← DIVIDENDO ( MOD) 100

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

Los datos obtenidos en la lectura del conversor se corrigen y luego se guardan


en sus archivos correspondientes para su posterior visualización en el display o
su envió por el puerto serial.

GUARDAR

Guardamos los datos del sensor de PH en sus archivos


correspondientes.

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

Visualización de las unidades de la lectura del primer conversor


PORTE←0; apagamos todos los display
PORTD ← D_DECENA01 mostramos el número en el display 1
PORTE ←1; prendemos el display 1.
Retardo (15mSeg)

Visualización de las decenas de la lectura del primer conversor


PORTE←0; apagamos todos los display
PORTD ← D_CENTENA01 mostramos el número en el display 2 TEM03← TEM03+1
PORTE ←2; prendemos el display 2.
Retardo (1mSeg)

Visualización de las centenas de la lectura del primer conversor


PORTE ← 0; apagamos todos los display
PORTD ← D_MILES01 mostramos el número en el display 3
PORTE ← 4; prendemos el display 3.
Retardo (1mSeg)

Mientras que Si
TEM02<=20

No

FIN

¾ TRANSMISIÓN SERIAL DE LOS ÚLTIMOS DATOS OBTENIDOS EN LA


CONVERSIÓN A/D.

Cuando el computador solicita los datos de la lectura del sensor enviá el


número 69 y se carga en la variable CPU_ENCENDIDA, por tal razón si en el
momento de llegar a la subrutina REAL_LECT esta variable esta cargada con
ese valor se efectuá el proceso de envió sino, no se hace nada y se continua
con otro proceso.

- 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’

La lógica para enviar esta trama es la siguiente

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.

La tarjeta cuenta con un sistema de recuperación de trama el cual le manda un


código al PC y si este esta encendido debe responder con alguna solicitud esta
comprobación se hace cada 15 segundos aproximadamente.

PRUEBA

TEM00 ← TEM00+1

No
Si
TEM00 =256

Si

TEM00←0

TXREG= 'Ì'

FIN

- 133 -
9.2. SOFTWARE DEL PC.

Diagrama físico del software del PC.

Inicio

Abrir o crear archivo plano

Abrir el puerto serie RS232

Solicitud y recepción de los datos


actuales de la conversión A/D

Comprobación de Error y
corrección de los datos recibidos

Visualización de los datos obtenidos en


la solicitud de datos en tiempo real

Guardado de los datos obtenidos en la


solicitud de lectura en tiempo real

Petición de activación o
desactivación de los relay

Control del PH utilizando Lógica


Difusa

- 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:

pHMmesDdiaAaño.dat Extensión del


archivo

M → abrevia mes D → abrevia DIA A → abrevia Año


Mes → Valor numérico del DIA → Valor numérico del DIA Año→ Valor numérico del año
mes Ej.: D1 quiere decir DIA 1 Ej.: A 2005 quiere decir año
Ej.: M5 quiere decir mes 5 2005

Por tanto el archivo plano correspondiente al primero de mayo del 2005 será:

pHM5D1A2005.dat

INICIO

Cargamos el nombre del Archivo plano


pH1← “pHMmesDdiaAaño.dat”

Creamos el archivo plano y lo


Si No
abrimos
pH1= Existe
Base_D=”pHMmesDdiaAaño.dat”

Si

Abrimos archivo plano


Base D=”pHMmesDdiaAaño.dat”

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

Cargamos el nombre del puerto serial


IdPort ← “com1”
sPort ← idPort.open ()

Puerto abierto No Retardo de 3 Segundos, Pasado


este tiempo se finaliza el proceso

Si

Se asignan las variables de entrada y salidas


del puerto seria RS232 com2

Salida ← sPort.getOutputStream();
Entrada ← sPort.getInputStream();

FIN

¾ SOLICITUD DE LOS DATOS ARROJADOS EN LA LECTURA DE LOS


CONVERSORES A/D.

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

Enviamos código de solicitud a la TAD


Salida ← ‘E’

Esperamos respuesta de la TAD


correcc ← Entrada

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

El microcontrolador envía una trama compuesta por 8 elementos. Iniciamos con


un BYTE de Start que contiene el número 65, le sigue el contenido de la trama
y finaliza con un BYTE de Stop que contiene el numero 88

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

Para la visualización, lo único que se hace es hallar la relación entre el PH y la


altura a la cual se dibujara la línea que describe el comportamiento de dicho
pH.

INICIO

Los siguientes valores determinan la altura de las rectas que


describen el comportamiento grafico del PH.
145
K=
PH + 1
YH1 = 210 − K * PH
XH1 = XH1 + 1
Y1[tem]= YH1
X1[tem]=XH1
tem= tem+1;

Si (tem>=150)
graficas.ban00=0;
tem=149
Fin si

frame.jLabel14.setText(Double.toString(PH)+" PH")

FIN

¾ GUARDAR LOS DATOS OBTENIDOS EN LA SOLICITUD DE LECTURA


EN TIEMPO REAL

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

B_datos1 ← "SENSOR PH"+","+dia+"/"+mes+"/"+año+","+hora+":"+min+":"+seg+"


"+ampm+","+PH+","+flujo+","+volumen+","+"\n"
PH_ANT1=PH;
cont_min1=0;

Base D ← B datos1

FIN

- 140 -
¾ PETICIÓN DE ACTIVACIÓN O DESACTIVACIÓN DE LOS RELAY

Cuando se desea accionar un relay se debe enviar un BYTE indicando cual


relay deseamos manipular y un byte que indique si lo queremos activar o
desactivar. Esto se realiza de la siguiente manera.

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

Control_V_6 Control_V_8 Control_V_10 Control_E_B Control_ACIDO Control_bASE

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

FIN FIN FIN FIN FIN FIN

- 141 -
¾ CONTROL DEL pH UTILIZANDO

Para el control de pH lo que hacemos es suministrar ácido a la pileta en el caso


de que el PH este por encima del deseado o base si esta por debajo. La
cantidad exacta de ácido que se debe suministrar depende de la medida de pH,
Esta cantidad esta establecida en una tabla que fue realizada de acuerdo a la
grafica de señal de entrada que se requiere para obtener una medida de pH de
7, dicha grafica se explica en el capitulo 5 del controlador. Los valores de la
tabla corresponden a la cantidad de ácido o base que hay que agregar
dependiendo del PH actual en la pileta de neutralización. El dato se guarda en
la variable tiempo_activo para su posterior manipulación en el sistema de
control.

- 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

Inyectamos base a la pileta Apagamos la bomba de base


RB_base 32 RB_base 0
Control_base ( ) Control_base ( )
Flujo flujo + flujo A

PH>PID.Sp y PH<PID.Sp+1

Si

min≠cont_min_ant3

NO
Si

cont_min3 cont_min3+1 Apagamos la bomba de ácido y


Cont_min_ant3 min la de soda
RB_base 0
Control_Ácido ( )
RB_ácido 0
Control_Ácido ( )

(cont_min3≥cont y pileta≥2) o desagüe=1


NO
Si

Activar bomba de desagüe

FIN

- 143 -
¾ TABLA DE LA CORRESPONDENCIA ENTRE EL PH Y LA CANTIDAD DE
ACIDO O BASE QUE SE LE AGREGA AL AGUA

La tabla se encuentra en un hilo (Tabla) que trabaja independientemente del


flujo del programa principal, el cual constantemente esta leyendo el valor del
PH. Y asignando el valor correspondiente a la variable tiempo_activo. Para
este propósito se trabajo con la estructura de sentencia switch la cual se trata
de una alternativa a la bifurcación if elseif else cuando se compara la misma
expresión con distintos valores. Su forma general es la siguiente:

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;

default: “error por defecto”; }

A continuación se muestra el diagrama de flujo que muestra la lógica con que


se realice la asignación del tiempo de activación. Para ver la correspondencia
entre todos los valores del pH y su respectivo tiempo e activación se observa
en el anexo S.

- 144 -
INICIO

Switch = pH

Case 0.1 Si tiempo_activo=650 min


NO

Case 0.2 Si tiempo_activo=650 min

NO

Case 5.1 Si tiempo_activo=430 min

NO

Case 7 Si tiempo_activo=0min

NO

Case 9.8 Si tiempo_activo=529 min


NO

Case 10 Si tiempo_activo=534 min

NO

Case 14 Si tiempo_activo=650 min

NO

ERROR NO ES UN
DEFAULT Si VALOR VALIDO

- 145 -
CONCLUSIONES

En el presente trabajo hemos realizado la aplicación de técnicas y tecnologías


modernas, como es el caso del desarrollo de la tarjeta de adquisición de datos
a través de microcontroladores, software de visualización utilizando el lenguaje
JAVA de programación y técnica de modelamiento difuso que nos permitió
ajustar los tiempos de suministro de ácido o soda según sea lo requerido, La
técnica de modelamiento seleccionada de acuerdo con los resultados
obtenidos y a pruebas experimentales que se comparan con otras técnicas ah
resultado ser mas efectiva y sencilla de aplicar para procesos de
comportamiento altamente no lineales.

Mediante el método utilizado para el modelamiento se pueden determinar los


agrupamientos en los datos experimentales, lo cual permite el cálculo de reglas
borrosas y la generación del número de conjuntos posibles en cada
antecedente.

Se ha logrado obtener un controlador óptimo teniendo en cuenta los


requerimientos y restricciones que tuvimos con los equipos e instrumentación
utilizada en el proyecto.

Se muestra las posibilidades que brinda el uso de la lógica difusa. De igual


forma queda claro cada uno de los requerimientos de diseño de un controlador
difuso para aplicaciones futuras.

La importancia de este trabajo radica en la capacidad de adaptarse a otro


proceso diferente el cual se desee controlar el pH, ya que se presentan las
bases para realizar tanto el modelamiento como el controlador, de igual forma
el hardware y software de adquisición, monitoreo y control del proceso.

- 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.

Queda clara la capacidad que tiene el microcontrolador PIC16F877 para este


tipo de utilidades, la disponibilidad de entradas y salidas análogas, como
digitales de igual forma el puerto de comunicación serial RS232 y lo más
importante el bajo costo.

Un aspecto positivo de la realización del proyecto fue el bajo costo en la


consecución de los materiales para la tarjeta de adquisición de datos y la
realización del software de monitoreo y control.

- 147 -
REFERENCIAS BIBLIOGRAFICAS

[1] McMillan G. K., “pH Measurement and Control”. Instrument Society of


America. North Carolina: Segunda edición, 1994.

[2] Gulley N. y Jang J. R., “Fuzzy Logic Toolbox User’s Guide”, The Math
Works, (1995).

[3] Tres palacio F. y Vargas G., “Aplicación de las técnicas modernas de


control en la regulación del pH”, Tesis, Tecnológica de Bolívar 1998.

[4] Maloney, T. Electrónica Industrial Moderna. 3a Ed. México: Prentice may,


1997.

[5] García, Antonio. Química teorías y problemas. México: Alfa omega, 2000.

[6] Creus, Antonio. Instrumentación Industrial. 6a Ed. México: Alfa omega


Grupo editor S.A. de C.V.

[7] Trotta A. y Barolo M., “Dynamic Modeling and Control of pH”,

http://hp9.irc.na.cnr.it/GNIC/papers/trotta/trotta/napo3.html.

[8] Choy J. Y., Pandit H. G. y Rhinehart R. R., “A Process Simulator for pH


Control Studies”. Computer chem. Engng, vol 19, No. 5, pag. 527-539,
(1995).

[9] Riggs J. B. y Rhinehart R. R., “Method for pH Control”. U. S. Patent


4,940,551, July, 1990.

- 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).

[12] Jantzen J., “Fuzzy Control”. Technical University of Denmark: Electric


Power Eng. Dept., (rev. 4, 1994).

[13] Sala, A. Validación y Aproximación Funcional en Sistemas de Control


Basados en Lógica Borrosa. Universidad Politécnica de Valencia. Tesis
Doctoral, 1998.

[14] Krejei S., Kaspar J., Fuzzy control of pH processes, University of


Pardubice, 2001.

[15] Varela Olivas J., La lógica borrosa y sus aplicaciones, universidad de


castilla, 2001.

[16] Universidad Pontificia de Salamanca en Madrid, ESQUEMA DE LOGICA


BORROSA, Diciembre 2001.

[17] Peter Bauer y Stephan Nouak, Roman Winkler, Breve curso de Lógica
borrosa y control difuso.

[18] Jan Jantzen, DESIGN OF FUZZY CONTROLLERS, Technical University


of Denmark, Department of Automation, Bldg 326, DK-2800 Lyngby,
DENMARK. Tech. Report no 98-E 864 (design), 19 Aug 1998.

- 149 -
[19] J. Galindo Gómez, conjuntos y sistemas difusos, Departamento de
Lenguajes y Ciencias de la Computación Universidad de Málaga.

[21] Antonio P. Martins, Adriano S. CONTRIBUTION OF FUZZY LOGIC TO


CONTROL AN INDUSTRIAL PROCESS. Carvalho. Faculty of Engineering
of the University of Porto Institute of Systems and Robotics. IEEE 1997

[22] Jens Alex, Ulrich Jumar and Ralf Tschepetzki. A FUZZY CONTROL
APPLICATION TO WASTE WATER TREATMENT PLANTS. IEEE 1994.

[23] Leonid Reznik, fuzzy controllers, Victoria University of technology,


Melbourne Australia, first published 1977.

[24] Dora María Calderón Nepomuceno, Control Difuso Adaptable de un


Servomecanismo No Lineal, CENTRO de INVESTIGACIÓN y de
ESTUDIOS AVANZADOS del IPN, Noviembre de 2003

[25] Reza Langari. PAST,PRESENT AND FUTURE OF FUZZY CONTROL : A


CASE FOR APPLICATION OF FUZZY LOGIC IN HIERARCHICAL
CONTROL.IEEE 1999.

[26] Stephen Chiu. USING FUZZY LOGIC IN CONTROLAPPLICATIONS:


BEYOND FUZZY PID CONTROL. IEEE Control Systems.

- 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 -

También podría gustarte