Centro de Investigaciones Hidráulicas
Trabajo de Diploma
Facultad de Ingeniería Eléctrica Especialidad de Ingeniería en Telecomunicaciones y Electrónica
Antonio Delgado Fornaguera Alejandro Portal León
Dr. Jorge Ramírez Beltrán Ing. Daniel Vega Fernández
Facultad de Ingeniería Eléctrica Especialidad de Ingeniería en Telecomunicaciones y Electrónica
Antonio Delgado Fornaguera Alejandro Portal León
Dr. Jorge Ramírez Beltrán Ing. Daniel Vega Fernández
Agradecimientos A Jorge, nuestro tutor, por compartir su sabiduría, por estar al pie del cañón junto a nosotros y por todo el tiempo que le robamos. r obamos. Al Dani, por su dedicación y ayuda; gracias por compartir tu local el cual ya es nuestro, y que sean muchos cangrejitos más. A nuestras familias. A los de aquí y los de allá, qué sería de nosotros sin ustedes. Uno especial para Marlene y Octavio, por guiarnos y apoyarnos desde el primer día. A nuestros amigos “Los Borrachos” , Piloto, Japi, Pedro, Saumel, Yosbel, Darwin, Arnold y Maurice. ¡Que viva la Bucanero! A Mariacarla, gracias por tu cariño y por tantos buenos momentos. A Ana y a Carlos, mis padrinos en La Habana, gracias por su cariño y apoyo; y a Betuca por su sazón. A María, por su apoyo incondicional y por enseñarme a aprovechar el tiempo. A Laury, Eylen, Harold, Ale y David, unidos siempre por la amistad y por la cancha. A Gildo, hermano, el puerto serie pincha. A Alcides, por sus consejos y apoyo. A Alejandro, gracias por tu interés y por echar tanta agua. A Osmani, Ariel y Abdiel. Todos para uno. Gracias a ATMEL, Microchip, MAXIM y OMRON por fabricar los componentes nuestros de cada día. Y muy en especial al pluviógrafo P-2, de fabricación soviética, que después de todo y sin embargo “se mueve” . En fin, gracias a todos los que hicieron posible que esta tesis se realizara antes de octubre, no vamos a defraudarlos.
Dedicatoria “A mi madre, que es mi luz y guía; y a mi abuelo, El Tito, que desde chiquito me inculcó el amor por la electrónica.” Alejandro Portal León
“A todo el que contribuyó a mi formación, en especial a mi madre.” Antonio
Declaración de autoría Declaramos que somos los únicos autores de este trabajo, el cual dejamos en las manos de esta institución y de nuestro país, para que tenga el uso adecuado.
Y para que haga constar se firma el presente documento:
_______________ Antonio Delgado Fornaguera
_______________ Alejandro Portal León
Somos estudiantes de 5to año de Ingeniería en Telecomunicaciones y Electrónica, y aspirantes al título.
Resumen El presente trabajo consiste en la automatización del pluviógrafo P-2 con el objetivo de rehabilitar la red pluviográfica del país, la cual está fuera de servicio debido a desperfectos mecánicos y falta de insumos. Esta decisión se tomó después de un análisis de los pluviógrafos en el mercado mundial, demostrándose que era más factible automatizar los P-2 existentes que adquirir ejemplares modernos. La automatización del pluviógrafo radica en obtener los datos de cantidad de lluvia y momento en que esta ocurre de forma digital. Esto se realiza al transformar, mediante un transductor, el movimiento lineal que indica la caída de lluvia en el P-2 en una señal eléctrica. Dicha señal se procesa empleando un microcontrolador con el fin de cuantificar el movimiento detectado y conocer su sentido. La exactitud de la hora y la fecha es suministrada por un reloj de tiempo real. Una vez obtenido el dato de lluvia en el tiempo, se almacena en una memoria y se transmite hacia una computadora para realizar el posprocesamiento de la información. Además, fue sustituido el mecanismo original de vaciado del pluviógrafo por un mecanismo electromecánico. Los dispositivos seleccionados fueron simulados, junto a las subrutinas creadas, comprobando el correcto funcionamiento del prototipo antes de llevarlo a la práctica. Posteriormente se puso a prueba el prototipo creado simulando diferentes caudales de lluvia, comprobándose experimentalmente el funcionamiento del diseño y que este cumple con los requisitos planteados.
Abstract The present work consists on the automation of the P-2 rain gauge with the objective of rehabilitating the rain gauge net of the country, which is outside of service due to mechanical damages and lack of spare parts. This decision took after an analysis of the rain gauges in the world market, being proven that it was more feasible to automate the existent P-2 that to acquire modern copies. The automation resides on obtaining the data of quantity of rain and moment in which it happens in a digital way. This is carried out when transforming, by means of a transducer, the lineal movement that indicates the rain fall in the P-2 in an electric sign. This sign is processed using a microcontroller with the purpose of to quantify the detected movement and to know its sense. The accuracy of the hour and the date is given by a real time clock. Once obtained the rain fact in the time, it`s stored in a memory and it`s transmitted toward a computer to carry out the post processing of the information. Also, the original mechanism of the rain gauge casting was substituted by an electromechanical mechanism. The selected devices were simulated, next to the created subroutines, checking the correct operation of the prototype before taking it to the practice. Later on it put on test the created prototype simulating different rain flows, being proven the operation of the design experimentally and it fulfills the outlined requirements.
i
Índice Introducción............................................................................................................................................1 Capítulo 1. Medición de las precipitaciones con pluviógrafos ...................................5 1.1 Equipos colectores ........................................................................................................ ............. 5 1.1.1 Pluviómetro..........................................................................................................................6 1.1.2 Pluviógrafo............................................................................................................................7 1.2 Registros pluviográficos ............................................................................................... ........... 9 1.2.1 Pluviograma............................................................................................................. .......... 10 1.2.2 Curva de Masa......................................................................................... .......................... 11 1.3 Pluviógrafo P‐2 ............................................................................................... .......................... 12 1.4 Reseña histórica y actualidad de los pluviógrafos .................................................... 15 1.5 Errores en la medición .......................................................................................................... 17 1.6 Precipitaciones máximas...................................................................................................... 18 1.7 Conclusiones parciales .................................................................................................... ...... 19
Capítulo 2. Análisis e implementación del Hardware .................................................. 20 2.1 Conversión de movimiento lineal en señal eléctrica................................................ 20 2.1.1 El encoder óptico............................................................................................................. 21 2.1.2 Diseño del patrón.................................................................................................... ........ 24 2.1.3 Diseño del encoder ................................................................................................. ........ 25 2.1.4 Diseño del Schmitt ‐ Trigger........................................................................... ............ 28 2.2 Requisitos de diseño del equipo........................................................................................ 30 2.3 Microcontrolador AT89LP4052 ........................................................................................ 33 2.3.1 Comparación con los 8051 estándares.................................................................. 35 2.4 Comunicación Serie ........................................................................................................ ........ 36 2.4.1 Interfaz RS‐232 ................................................................................................................ 37 2.4.2 El circuito integrado MAX232.................................................................................... 37 2.5 El reloj de tiempo real............................................................................................................ 39 2.5.1 Reloj y calendario................................................................................... ......................... 40 2.5.2 Comunicación con el microcontrolador ................................................................ 40 2.6 La memoria de registro......................................................................................................... 42 2.6.1 Descripción del funcionamiento.............................................. ................................. 42
ii
ii 2.6.2 Escritura Modo página.................................................................................................. 43 2.7 Solución al problema del vaciado del P‐2...................................................................... 44 2.8 Conclusiones parciales .................................................................................................... ...... 46
Capítulo 3. Análisis e implementación del Software. ................................................... 47 3.1 Detección de las señales ............................................................................ ........................... 47 3.1.1 Detección de la subida .................................................................................................. 48 3.1.2 Detección de la bajada................................................................................................... 49 3.1.3 Algoritmo de detección......................................................................................... ........ 50 3.2 Programación del RTC........................................................................................................... 51 3.2.1 Interfaz I2C ............................................................................................................ ............ 52 3.2.1.1 Las señales I2C.................................................................................... .......................... 52 3.2.1.2 Intercambio de señales I2C ..................................................................................... 53 3.2.1.3 Reconocimiento esclavo‐amo ................................................................................ 54 3.2.1.4 Reconocimiento amo‐esclavo ................................................................................ 55 3.2.2 Algoritmo de lectura de datos del reloj ................................................................. 55 3.3 Transmisión por puerto serie ............................................................................................ 56 3.4 Atención a la memoria EEPROM....................................................................................... 58 3.5 Atención al electroimán ........................................................................................................ 61 3.6 Conclusiones parciales .................................................................................................... ...... 63
Capítulo 4. Resultados y análisis económico. .................................................................... 64 4.1 Simulación en Proteus ..................................................................................................... ...... 64 4.1.1 Simulación de los sensores de movimiento......................................................... 64 4.1.2 Simulación del RTC........................................................... .............................................. 66 4.1.3 Simulación del puerto serie ........................................................................................ 67 4.1.4 Simulación de la memoria EEPROM ....................................................................... 68 4.1.5 Simulación completa.............................................................................................. ........ 69 4.2 Resultados experimentales ................................................................................................. 70 4.2.1 Prueba para una intensidad de lluvia de 180 mm/h....................................... 72 4.2.2 Prueba para una intensidad de lluvia de 112,5 mm/h ................................... 74 4.2.3 Prueba para una intensidad de lluvia de 50 mm/h.......................................... 75 4.2.4 Prueba para una intensidad de lluvia de 5 mm/h............................................. 76 4.2.5 Prueba para distintas intensidades de lluvia...................................................... 76
iii
iii 4.2.6 Discusión de los resultados ........................................................................................ 78 4.3 Análisis económico.................................................................................................................. 78 4.4 Conclusiones parciales .................................................................................................... ...... 79
Conclusiones ........................................................................................... ............................................. 80 Recomendaciones .................................................................................................. ........................... 81 Referencias bibliográficas................................................................................................ ............ 82 Glosario ...................................................................................................... ............................................. 85
1
1
Introducción La precipitación es el origen de todas las corrientes superficiales y subterráneas, por lo cual su cuantificación y el conocimiento de su distribución, en el tiempo y en el espacio, se convierten en problemas básicos para la hidrología. En la actualidad existe una gran variedad de instrumentos y técnicas para obtener información de las diferentes fases de la precipitación. Sin embargo, los aparatos que miden la cantidad y la intensidad de la precipitación son los más importantes. Estos aparatos colectores reciben los nombres de pluviómetro y pluviógrafo. El pluviómetro se emplea para registrar láminas de lluvia cada 24 horas, mientras que el pluviógrafo, equipo a tratar en este trabajo, se utiliza para registrar en forma continua las cantidades de precipitación caída. Los registros del pluviógrafo pueden definir la cantidad de precipitación y el tiempo que esta tardó, con lo cual se puede analizar la distribución de la lluvia en el tiempo para así calcular la intensidad de lluvia. En Cuba la red pluviográfica está compuesta por más de 200 equipos P-2, modelo soviético del pluviógrafo de tipo flotador. La mayoría de los componentes físicos de estos equipos, como la cubierta, el mecanismo de recepción de la lluvia y el sistema de flotante, se encuentran en perfecto estado ya que están fabricados de materiales no férreos para evitar oxidaciones por la exposición a los agentes meteorológicos. En este momento dicha red no se encuentra funcionando en condiciones aceptables debido a que muchos de estos pluviógrafos han dejado de funcionar por presentar desperfectos en el complejo mecanismo del sistema inscriptor, el sistema de contrapeso que hace bajar el flotante y la falta de piezas de repuesto. Es por ello que el Instituto Nacional de Recursos Hidráulicos (INRH) se ha visto en la necesidad de renovar la red pluviográfica. Es así que, el INRH le propone al Centro de Investigaciones Hidráulicas (CIH), perteneciente al Instituto Superior Politécnico “José Antonio Echeverría”, Cujae, buscar la solución más factible para rehabilitar la red pluviográfica del país acorde con los avances tecnológicos del presente siglo y con los recursos “Automatización del Pluviógrafo P-2”
2
2 monetarios de que dispone dicha institución. En tal sentido, la solución que brinda el CIH es automatizar los pluviógrafos P-2 existentes en el país, problema a resolver en el presente Trabajo de Diploma. Es por esto que el objeto de estudio de esta tesis es el pluviógrafo de flotador P-2, transitando por los campos de la Electrónica, los Microcontroladores y la Hidrología. Para lograr la automatización del pluviógrafo P-2 se trazaron los siguientes objetivos: 1. Convertir el movimiento lineal de la varilla del flotador del pluviógrafo en una señal eléctrica. 2. Diseñar y poner a prueba un equipo que interprete y procese dicha señal eléctrica para medir la intensidad de lluvia. 3. Transmitir los datos de cantidad de lluvia junto a la fecha y hora en que la misma ocurre. 4. Almacenar los datos de cantidad de lluvia y el momento en que ocurre en una memoria. Para dar cumplimiento a los objetivos propuestos se plantearon las siguientes tareas:
Estudiar el funcionamiento del modelo de pluviógrafo P-2.
Estudiar los pluviógrafos que se encuentran actualmente en el mercado mundial.
Diseñar un sensor que permita convertir un movimiento lineal en señal eléctrica.
Obtener datos de hora y fecha en tiempo real.
Lograr una comunicación bidireccional entre un microcontrolador y una computadora.
Emplear una memoria para almacenar datos.
Fabricar un prototipo de equipo para comprobar el funcionamiento de la arquitectura diseñada.
“Automatización del Pluviógrafo P-2”
3
3 En este trabajo de diploma se desarrolla un prototipo de equipo partiendo de la siguiente hipótesis: Empleando los conocimientos adquiridos durante la carrera y utilizando los recursos disponibles por el CIH se puede automatizar el pluviógrafo P-2 para obtener y almacenar los datos de las precipitaciones en tiempo real y de forma digital. Para el desarrollo de este trabajo fueron empleados los siguientes métodos de investigación: 1. Método histórico – lógico para analizar el estado del arte de los pluviógrafos. 2. Método sistémico para entender y solucionar el problema a partir del objeto de estudio. 3. Método teórico – práctico al estudiar teóricamente los métodos y las técnicas de diseño de cada uno de los bloques que conforman la arquitectura del equipo y en la comprobación experimental del equipo diseñado. El contenido de la tesis se encuentra estructurado en cuatro capítulos. En el primer capítulo, “Medición de las precipitaciones con pluviógrafos”, se abordan los principales aspectos teóricos relacionados con los pluviógrafos: principios de funcionamiento, antecedentes y situación actual, errores y precipitaciones máximas. En el segundo capítulo, “Análisis e implementación del hardware”, se realiza una exposición de los aspectos teóricos más relevantes que constituyen las bases del diseño e implementación de los bloques que conforman este trabajo, tal y como fueron realizados en la práctica. En el capítulo tercero, “Análisis e implementación del software”, se presenta una descripción por bloques del programa realizado en lenguaje ensamblador que emplea el microcontrolador. Se verán las principales subrutinas y la manera en que el microcontrolador controla el funcionamiento del sistema. En el cuarto capítulo, “Resultados y análisis económico”, se muestran las simulaciones
realizadas
con
la
herramienta
Proteus
para
demostrar
“Automatización del Pluviógrafo P-2”
4
4 teóricamente el funcionamiento del hardware y software diseñados. Además, se describen las pruebas que se realizaron para comprobar el funcionamiento del pluviógrafo P-2 automatizado, demostrando su importancia práctica. Por último se realiza un breve análisis del costo del equipo diseñado. Al finalizar, con las Conclusiones y Recomendaciones, se resumen los resultados obtenidos y se verifica el cumplimiento de los objetivos planteados. Además se sugieren los aspectos que en el futuro pueden dar continuidad al trabajo.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
5
5
Capítulo 1. Medición de las precipitaciones con pluviógrafos
Capítulo 1. Medición de las precipitaciones con pluviógrafos Las precipitaciones se miden por la altura que alcanza el agua caída sobre una superficie plana y horizontal, en la que no existieran pérdidas por infiltración ni evaporación. Tal altura se expresa en milímetros y las mediciones se llevan a una aproximación de los décimos de mm [1]. Es necesario tener presente que un milímetro de precipitación equivale a un litro de agua por metro cuadrado: 1mm = 1L / m2. A su vez, la intensidad de la precipitación suele medirse en milímetros por hora, es decir, precipitación por unidad de tiempo. Cuando se trata de precipitaciones intensas, se pueden medir en milímetros por minuto [2]. Por la forma en que cae, se pueden distinguir diversos tipos de precipitación, entre los cuales el de mayor interés para este trabajo es la lluvia, precipitación atmosférica de gotas de agua en estado líquido. La mayor parte de las gotas de agua tienen, generalmente, un diámetro igual o mayor que medio milímetro, y caen, en el aire en calma, con una velocidad superior a los dos metros por segundo. Según sus intensidades, pueden clasificarse en [1]:
Ligera, para tasas de caída de hasta 2,5 mm/h
Moderada, desde 2,5 hasta 7,5 mm/h
Fuerte, por encima de 7,5 mm/h
1.1 Equipos colectores Al no ser físicamente posible obtener o colectar la totalidad de la lluvia que llega a la tierra desde la atmósfera, el dato de la precipitación sólo puede ser obtenido a partir de muestras tomadas por instrumentos específicamente diseñados para ese fin, siendo los pluviómetros y pluviógrafos, los aparatos más empleados.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
6
6
Capítulo 1. Medición de las precipitaciones con pluviógrafos
1.1.1 Pluviómetro El pluviómetro es un instrumento concebido para la recogida y medición de agua precipitada, en la hipótesis de distribución homogénea horizontal y sin efecto de evaporación. Están oficialmente reconocidos dos tipos de pluviómetros, de los cuales el que se haya en uso en la actualidad es el denominado Tipo B. Está compuesto de tres secciones principales, como se muestra en la figura 1.1: •
La sección superior (a), que es la receptora, tiene una boca circular, formada por un aro de bronce reforzado, con su arista superior afilada y achaflanada a 45º con la cara inclinada hacia afuera. En su interior tiene un embudo con orificio para la salida del agua. El borde superior de dicho embudo está soldado a las paredes del pluviómetro, a 10 cm por debajo de la boca, a fin de que las gotas que caigan sobre el mismo, no puedan volver al exterior por rebote.
•
La sección inferior (b) destinada a retención.
•
El recipiente (c), denominado colector, que sirve para trasvasar a la probeta el agua recogida, a fin de efectuar su medición [1].
Figura 1.1 Pluviómetro tipo B. El pluviómetro únicamente proporciona la altura de precipitación total en intervalos previamente establecidos, comúnmente 24 horas, medidas a partir de las 8 de la mañana de cada día [3].
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
7
7
Capítulo 1. Medición de las precipitaciones con pluviógrafos
1.1.2 Pluviógrafo Para obtener registros continuos de las precipitaciones y determinar las intensidades de lluvia producidas en intervalos de tiempo predeterminados, se recurre al empleo del pluviógrafo, que consiste básicamente en un pluviómetro con un dispositivo de registro cronológico de las alturas de agua precipitadas, o de envío de la información correspondiente a pequeños intervalos de tiempo, a un centro computarizado de almacenamiento de datos. La utilización del pluviógrafo es importante, porque determina la intensidad de las precipitaciones, que es el factor fundamental para su clasificación en débil, moderada o fuerte. Existen tres tipos fundamentales de pluviógrafos: de contrapeso, de balancín y de flotador. En el pluviógrafo de contrapeso, el peso de un recipiente junto con la precipitación acumulada en él, se registran continuamente, bien por medio de un mecanismo dotado de un muelle o bien con otro sistema de balanza de pesas. Este pluviógrafo no tiene un mecanismo que le permita vaciarse por sí mismo, pero existe un sistema de palancas que facilita que la pluma recorra la banda las veces que sea necesario. Este tipo de pluviógrafo está diseñado para evitar al mínimo las pérdidas por evaporación. El pluviógrafo de balancín cuenta, bajo la boca del embudo, con un compartimiento en el que hay dos cubetas gemelas, una de las cuales recibe el agua precipitada y al llenarse, se produce un desequilibrio que hace que la cubeta vuelque la cantidad de agua que contiene (equivalente a 0,1; 0,2 ó 0,5 mm de lluvia según los modelos), moviendo a la segunda cubeta al lugar de recolección del agua. En ese momento se acciona un circuito eléctrico que marca o produce el registro correspondiente. En otros modelos, como el mostrado en la figura 1.2, al producirse la descarga una rueda dentada gira el espacio de un diente y provoca un movimiento que registra un trazo vertical sobre la cartilla de papel, igual a la sensibilidad. Mientras la otra cubeta se llena, la pluma inscribe un trazo horizontal de longitud proporcional al tiempo que tarda en llenarse. En la cartilla se registra así un diagrama escalonado en ascenso hasta que se alcanza la altura máxima
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
8
8
Capítulo 1. Medición de las precipitaciones con pluviógrafos
de aquella, y de continuar la precipitación, el diagrama se invierte hasta el borde inferior, y así sucesivamente.
Figura 1.2 Pluviógrafo de balancín. El pluviógrafo de flotador con sifón, mostrado en la figura 1.3, es un cilindro terminado en su parte superior en una boca circular. La lluvia, recogida por el receptor, pasa a través de un embudo y un tubo al recipiente cilíndrico que contiene un flotador. A medida que el nivel del agua en el depósito sube, lo hace también el flotador, el que se haya vinculado al sistema registrador. La capacidad del recipiente es igual al volumen de agua correspondiente a 10 mm de lluvia, de modo que al llenarse, se accione un sifón que desagua el recipiente a un depósito y el flotante retorna a su posición inicial, para luego volver a subir si la lluvia continúa. Para regular el momento en que se vacía el receptor, es decir, ajustar el cero, puede variarse la altura del codo del sifón mediante un dispositivo [2]. El sistema inscriptor está formado por un brazo de palanca con una plumilla fijada a un vástago unido al flotador, colocada sobre un tambor con un sistema de relojería. Los cambios de altura del agua en este receptor son registrados por la plumilla, cuyo movimiento está asegurado por unos carriles. Las bandas o gráficas que se ajustan al tambor, llamadas pluviogramas, pueden ser para una medición diaria, semanal o mensual. Las diarias se usan más en períodos o zonas lluviosas; la semanal, en lugares donde la lluvia no es diaria y las mensuales, en períodos de estación seca o en zonas áridas.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
9
9
Capítulo 1. Medición de las precipitaciones con pluviógrafos
Figura 1.3 Pluviógrafo de flotador. Cuando los registros son trazados en cartillas sobre el tambor giratorio, presentan la característica de que cada vez que se produce un vaciado, la curva del pluviograma baja desde el borde superior al inferior de la cartilla, lo que debe tenerse presente al calcular los totales de precipitación [1].
1.2 Registros pluviográficos Tomando en cuenta que los pluviógrafos registran en forma continua la variación de la altura o lámina de lluvia con respecto al tiempo, sus registros son los que permiten realizar el análisis más completo de las tormentas en la zona donde esté ubicado el pluviógrafo. El análisis de las precipitaciones en los pluviógrafos se basa en el estudio del pluviograma, gráfica a partir de la cual se pueden obtener la curva de masa y otros tipos de curvas que posibilitan caracterizar las precipitaciones en un momento dado.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
10
10
Capítulo 1. Medición de las precipitaciones con pluviógrafos
1.2.1 Pluviograma El pluviograma constituye la gráfica sobre la cual la plumilla del pluviógrafo registra la lluvia acumulada. La lectura del mismo indica la cantidad de precipitación acumulada cada determinado período de tiempo [3]. Los pluviogramas se dibujan sobre una cartilla cuyos ejes marcan el tiempo y la cantidad de lluvia. El eje de tiempo puede ser de un día, una semana o un mes, de acuerdo con el mecanismo de relojería del pluviógrafo y las necesidades de precisión; mientras que el eje de la cantidad de lluvia tiene un máximo de 10 cm con una resolución de 0,1 mm. Sobre esta cartilla es que la plumilla va registrando en todo momento, de forma que la ausencia de precipitación queda reflejada como una recta horizontal y la presencia de lluvia, como una recta inclinada. A medida que aumenta la intensidad de la lluvia, esta recta se hace más inclinada y tiende a convertirse en una recta vertical, sin llegar a serlo. El pluviograma presenta como limitación la amplitud de registro de 10 cm, equivalente a 10 mm de lluvia acumulada, que corresponde al punto de vaciado del volumen acumulado de lluvia en el recipiente. Este vaciado queda representado en la cartilla como una recta vertical, lo que se ilustra en la figura 1.4 para el caso de una tormenta real.
Figura 1.4 Pluviograma de una tormenta real.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
11
11
Capítulo 1. Medición de las precipitaciones con pluviógrafos
Para interpretar la información que brindan los pluviogramas hay dos vías: transformarlo en una curva de masa o escanearlo para lograr una lectura automática. A partir de la imagen escaneada de un pluviograma, se puede obtener una planilla que contenga la cantidad de precipitación acumulada cada cierto período de tiempo. La lectura automática del pluviograma, puede ser dividida en cuatro etapas: caracterización y resolución, alineación y recorte, fraccionamiento por zonas y muestreo [4]. La transformación del pluviograma en una curva de masa se realiza caracterizando las tormentas de forma individual, es decir, tomando las muestras desde que comienza la lluvia hasta que termina. Las rectas inclinadas que indican la presencia de lluvia, se mantienen con la misma pendiente con que fueron registradas; mientras que las rectas verticales que indican el vaciado del dispositivo, se eliminan; de forma tal que la recta que aparece tras el vaciado se une con la que se encuentra antes de la descarga. El análisis de la curva de masa es de gran importancia en este trabajo debido a que es la curva que se debe obtener una vez automatizado el pluviógrafo. Es por esto que se profundizará en dicha curva en el epígrafe 1.2.2. A partir de los pluviogramas se pueden obtener otra serie de curvas importantes para los hidrólogos. Tales son los casos de la curva de intensidad y duración (ID) y la curva de intensidad, duración y frecuencia (IDF). En las curvas ID a medida que se reduce el intervalo de tiempo, la intensidad máxima expresada en unidad constante, por ejemplo mm/h, va creciendo. Por su parte, las curvas IDF son una gráfica en la cual se concentran las características de las tormentas de la zona donde se encuentra ubicado el pluviógrafo, con respecto a sus variables: magnitud, duración y frecuencia [1].
1.2.2 Curva de Masa La curva de masa es la curva de precipitación acumulada en un determinado período, representada en un sistema de ejes en que se grafican los valores del tiempo, usualmente en horas, en el eje de las abscisas, y de precipitación acumulada en mm en el eje de las ordenadas, como se ilustra en la figura 1.5. Esta curva es empleada generalmente para representar las características de las tormentas consideradas en forma individual, obteniéndose los valores “Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
12
12
Capítulo 1. Medición de las precipitaciones con pluviógrafos
pertinentes en base a los registros de los pluviógrafos en los pluviogramas.
Figura 1.5 Curva de masa. masa. La observación de la curva de masa indica claramente la intensidad y la variación de la lluvia en el tiempo durante el transcurso de la tormenta, de ahí su importancia en el estudio de las precipitaciones. Para determinar el valor de la intensidad de la lluvia en el tiempo se halla la inclinación de la recta mediante el cálculo de la pendiente. Los cambios de pendiente, por tanto, equivalen a cambios en la intensidad de la lluvia. Así, los tramos en que la curva de masa se hace horizontal indican períodos sin lluvia. Una vez automatizado el pluviógrafo, los datos que se registran son de cantidad de lluvia, hora y fecha en que esta ocurre, elementos necesarios para conformar la curva de masa.
1.3 Pluviógrafo P 2 El pluviógrafo de fabricación soviética P-2, equipo que se emplea para la medición de intensidad de lluvia en nuestro país, es un modelo del pluviógrafo de flotador sin sifón automático. En la figura 1.6 se muestran numeradas cada una de las partes que lo conforman, las cuales se describen a continuación: •
Cuerpo del instrumento (1), con un embudo colector (2) de 500 cm 2 de superficie.
•
Cámara de flotación (3) en cuyo interior se halla el flotador que articula el
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
13
13
Capítulo 1. Medición de las precipitaciones con pluviógrafos
vástago (4), al cual se fija el soporte del brazo (5) de la pluma inscriptora (6). El área de la cámara de flotación es diez veces menor que la del colector. •
Mecanismo de contrapeso, montado sobre la cubierta de la cámara del flotador, cuyo objetivo es impulsar el desagüe a través del sifón a cualquier intensidad de la precipitación.
•
El sifón (14) está conectado a la cámara de flotación y sirve para descargar el agua de la cámara cada vez que en esta se acumulen 500 cm3 de agua.
•
Recipiente (7) dentro del cual se vierte el agua descargada.
•
Cilindro con pluviograma enrollado (8) impulsado por un mecanismo de relojería que contiene en su interior, el cual permite completar una revolución del cilindro en 24 horas; montado sobre el pedestal (9).
•
Base (10). Sirve de apoyo a la cámara de flotación y al cilindro.
•
Cubierta protectora (11). Se usa para trasladar o guardar el instrumento.
Durante la precipitación el agua del embudo colector pasa a través del tubo de drenaje (12) a la cámara de flotación, hasta llenarla. A medida que aumenta el nivel de agua en la cámara de flotación, el flotador es obligado a subir; consecuentemente, la plumilla describirá una curva ascendente sobre el pluviograma, cuya mayor o menor inclinación estará en función de la intensidad de la precipitación; a mayor intensidad, más empinada la curva y viceversa. Cada vez que se acumulan 500 cm 3 de agua en la cámara de flotación y la pluma indica 10 mm en el pluviograma, el flotador (17), habiendo alcanzado su posición más alta, empuja el tornillo de ajuste (13) liberando el retén (15) de la hélice (16). Por la acción de una pesa (18), la hélice comienza a girar y sus levas (19), al chocar con el soporte del brazo portapluma, fijado al vástago, sumergen el flotador en el agua. El agua forzada por el flotador, llenará abundantemente el sifón, dando lugar a que se origine una descarga normal del agua. Con el descenso del flotador se libera el tornillo de ajuste y el retén topa nuevamente con la hélice, inmovilizándola hasta que vuelva a llenarse la cámara de flotación. Cuando se vacía la cámara de flotación, la pluma regresa
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
14
14
Capítulo 1. Medición de las precipitaciones con pluviógrafos
a la división cero. De continuar la precipitación, se repetirá el ciclo antes mencionado [5].
Figura 1.6 Pluviógrafo P-2. Para que el mecanismo de contrapeso funcione correctamente tiene que estar bien calibrado. Para ello se regula la altura del sifón y el tornillo de ajuste. En la calibración de la altura del sifón se llena el dispositivo de agua. Una vez que el flotador ha llegado al tope, se introduce pausadamente el sifón hasta que se produzca la descarga del agua. En este momento se fija firmemente el sifón por medio del tornillo provisto para tal fin. La regulación del tornillo de ajuste se hace llenando el dispositivo de agua y girando el tornillo hasta que toque el flotador. De este modo se pone a punto el mecanismo de contrapeso para lograr el vaciado forzado.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
15
15
Capítulo 1. Medición de las precipitaciones con pluviógrafos
1.4 Reseña histórica y actualidad de los pluviógrafos El pluviógrafo es un invento del siglo XIX. Los primeros registros que se archivan datan del pluviógrafo tipo balancín de Walravens en enero de 1893, el pluviógrafo de balancín de Hottinger en septiembre de 1896 y el pluviógrafo de flotador de Hellmann-Fuess de mayo de 1898. Sin embargo, la primera patente es del pluviógrafo de flotador presentada por Chappell en mayo de 1938 [6]. Aunque en la actualidad se siguen fabricando los pluviógrafos de registro mediante cartilla, estos han pasado a un segundo plano por el complejo mecanismo de inscripción que poseen, la necesidad de supervisar el equipo constantemente para el cambio de cartilla y los posibles errores al interpretar los pluviogramas. Con los avances de la tecnología, se fueron desarrollando nuevos pluviógrafos que entregan los datos de precipitación de forma analógica o digital, logrando una mayor exactitud en las mediciones sin tener que supervisar el equipo en largos períodos de tiempo. En abril de1966 fue patentado por Barker [7] el primer pluviógrafo con registro gráfico de mediciones automáticas. El mismo consiste en un modelo del pluviógrafo de balancín, en el que cada vaciado de las cubetas activa un interruptor magnético que cierra un circuito generador de un pulso eléctrico, el cual se registra y se muestra en un contador enmarcado en la pared del pluviógrafo. A partir de ese momento, los pluviógrafos automatizados de balancín han ido en constante desarrollo, contando cada vez con más facilidades. Sin embargo, todavía no se ha patentado ningún modelo de pluviógrafo de flotador automatizado. En el mercado mundial se encuentran numerosos tipos de pluviógrafos sofisticados, la mayoría de los cuales entregan los datos de forma digital. Algunos ejemplos que pueden ilustrar este hecho son: el modelo 609 de la Scientific Sale, el Rain 110 de MadgeTech y el RG-2500 de Omega. El modelo 609, recolector y medidor de datos de precipitaciones, es completamente independiente al alimentarse de baterías reemplazables cada un año. Incluye un registrador dentro de la cubeta de medición que permite adquirir automáticamente hasta 160 pulgadas de precipitación en una memoria EEPROM, y que posibilita determinar velocidad, tiempo y duración de la lluvia.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
16
16
Capítulo 1. Medición de las precipitaciones con pluviógrafos
Posee una resolución de 0,01 pulgada. Se le puede programar la hora y fecha de inicio del registro [8]. El modelo Rain110, ilustrado en la figura 1.7, contiene un sistema completo para la medición y el registro de precipitaciones durante largos períodos de tiempo. Puede registrar hasta 6 pulgadas de lluvia cada hora y 131 pulgadas de precipitación total. Sólo guarda en memoria cuando hay lluvia presente, aumentando el tiempo que el sistema puede registrar. Emplea una batería con una duración de más de 10 años [9].
Figura 1.7 Modelo Rain110. El pluviógrafo de balanza RG-2500 tiene diversas variantes de acuerdo con el área de superficie. La lluvia caída pasa del colector a un filtro y se va almacenando hasta alcanzar la cantidad equivalente a 0,01 pulgada, momento en que se activa un conmutador magnético y la muestra se descarga a la base de la cubeta. Cada incremento genera una señal eléctrica que pasa a un sistema de adquisición de datos. El modelo RG-2500 tiene 20 cm de orificio [10]. El costo de estos modelos oscila entre los 600 y 1100 USD. Las actuales condiciones del INRH no permiten obtener en el mercado mundial la cantidad de equipos necesarios para modernizar la red pluviográfica del país. Se puede asegurar que el costo de uno de estos equipos es muy superior al costo estimado si se automatiza el pluviógrafo soviético P-2 con un equipo que incluya todas las facilidades y capacidades de los actuales pluviógrafos ; además de la ventaja que implica contar con un equipo de fabricación cubana de know-how conocido y creado a partir de las necesidades y condiciones del país. Es por ello que es mucho más factible para el INRH automatizar los pluviógrafos P-2 existentes en el país teniendo en cuenta que, salvo el sistema inscriptor de datos, estos equipos se encuentran en buen estado.
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
17
17
Capítulo 1. Medición de las precipitaciones con pluviógrafos
1.5 Errores en la medición Partiendo del hecho de que toda medición tiene una posibilidad de error, es necesario conocer cuales pueden ocurrir al trabajar con un equipo de mediciones dado para así determinar la forma de corregirlos. En la medición de las precipitaciones hay que tener en cuenta, en primer lugar, los errores inherentes a la lluvia y al lugar donde se realiza la medición, para luego analizar los errores propios del equipo colector empleado. Por último, es necesario considerar los errores producidos por el factor humano por ser los más perjudiciales y por lo tanto los más importantes de erradicar. El principal error es debido a las características de la forma de caída de la lluvia. La gran mayoría de las veces la lluvia no cae en forma vertical, sino que es fácilmente desviada por el viento, dejando de ser perpendicular a la boca del equipo colector. La causa de los errores más frecuentes derivados del lugar donde se ubica el equipo de medición, radica en la cercanía de edificios, árboles u otros obstáculos próximos al aparato. Para evitar estas situaciones se han ideado protecciones y se han establecido normas o condiciones para la instalación de los aparatos. Los fundamentales errores propios de los pluviógrafos son: la pérdida de agua por evaporación, las salpicaduras y el agua necesaria para empapar el medidor, equivalente a pérdidas de 0,25 mm por lluvia o 25 mm al año [2]. Un error particular del pluviógrafo de flotador radica en el período de vaciado. Cuando este comienza a vaciarse deja de registrar por lo que toda la lluvia que cae dentro del pluviógrafo durante ese intervalo es expulsada junto con la que había acumulado. Esto puede ocasionar pérdidas de hasta 1 mm por cada vaciado. Estos errores, propios de los dispositivos, no se pueden eliminar, por lo tanto hay que tenerlos en cuenta cada vez que se realicen las mediciones. Por último están los errores propios de la medición hecha por el hombre. Al ser el sistema de registro de muchos pluviógrafos mediante el empleo de pluviogramas, y la sensibilidad del mismo es de 0,1 mm, puede haber una gran variación en su interpretación cuando se transforma en una curva de masa. Además, como el análisis de la curva de masa se basa en el cálculo de las pendientes de las rectas para conocer las distintas intensidades de las
“Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
18
18
Capítulo 1. Medición de las precipitaciones con pluviógrafos
precipitaciones, donde los cambios de pendiente se obtienen por apreciación del observador, lo que introduce una fuente de incertidumbre. La mejor vía para eliminar estos errores humanos es registrar los datos de precipitación de forma digital, uno de los objetivos de este trabajo de diploma.
1.6 Precipitaciones máximas Un evento cuyo estudio reviste gran interés en este trabajo, lo constituyen las precipitaciones de gran magnitud. Para el diseño del equipo a realizar es de gran importancia conocer la cantidad de precipitación resultante de las condiciones
meteorológicas
más
críticas
que
son
consideradas
razonablemente posibles para un área dada. Una vez conocidos los registros máximos de precipitación se puede determinar la sensibilidad del prototipo de equipo. A simple título ilustrativo, una reseña de las máximas precipitaciones puntuales registradas en el mundo, consigna los siguientes valores en la tabla 1.1, en función de su duración [1,11]: Tabla 1.1 Precipitaciones máximas acumuladas para diferentes intervalos de tiempo en el mundo.
A pesar de que Cuba está situada en el centro mismo de una de las zonas donde concurren el más alto número de ciclones en el mundo, las mayores intensidades se han reportado en países que incluso la rodean: Jamaica, Panamá, Puerto Rico, los EEUU, Centro América durante el Mitch. Esta “Automatización del Pluviógrafo P-2”
Capítulo 1. Medición de las precipitaciones con pluviógrafos
19
19
Capítulo 1. Medición de las precipitaciones con pluviógrafos
circunstancia obedece a las características de la red pluviográfica cubana, en la cual predominan, en proporción abrumadora (2000 contra 200), los equipos acumuladores de 24 horas sobre los de registros continuos o pluviógrafos. En la tabla 1.2 se muestran los registros más notables en estaciones de nuestro país [11]. Tabla 1.2 Precipitaciones máximas acumuladas para diferentes intervalos de tiempo en Cuba.
1.7 Conclusiones parciales 1. Es mucho más factible para una inversión a gran escala automatizar los pluviógrafos P-2 existentes en el país que adquirir nuevos modelos en el mercado mundial. 2. El resultado final de un pluviógrafo es la obtención de la curva de masa para calcular la intensidad de las precipitaciones, es por ello que al automatizarlo, se deben obtener los datos de cantidad de lluvia caída en el mismo junto a la hora y fecha en que ocurrió para poder graficar la curva de masa.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
20
20
Capítulo 2. Análisis e implementación del Hardware
Capítulo 2. Análisis e implementación del Hardware En el presente capítulo se presenta el diagrama en bloques del equipo con que se automatizará el pluviógrafo P-2 realizado a partir de los requisitos de diseño. Se exponen los aspectos teóricos más relevantes y la implementación de los bloques que en esta etapa del prototipo serán desarrollados
2.1 Conversión de movimiento lineal en señal eléctrica. El pluviógrafo P-2, como se explica en el primer capítulo, es una variante del pluviógrafo de flotador. Cuando llueve, el vástago realiza un movimiento vertical hacia arriba, debido a la fuerza de empuje ejercida sobre el flotante por el agua que se almacena en la cámara de flotación; mientras que durante el vaciado de dicha cámara, el vástago realiza un movimiento hacia abajo. El primer problema a resolver es detectar este movimiento lineal del vástago. Para detectar ese movimiento y convertirlo en una señal eléctrica, con el fin de registrarla y darle un futuro procesamiento, se puede emplear un potenciómetro que varíe con la altura del vástago, o algún transductor, óptico o magnético. Un potenciómetro es un dispositivo electromecánico que consta de una resistencia de valor fijo sobre la que se desplaza un contacto deslizante llamado cursor que la divide eléctricamente. La aplicación más común de los potenciómetros en instrumentación es como sensor de desplazamiento de tipo resistivo. El movimiento del cursor origina un cambio en la resistencia, el cual puede utilizarse para medir desplazamientos lineales o angulares de piezas acopladas al cursor. La opción del potenciómetro, si bien puede ser acertada, ya que permitiría cuantificar el movimiento y digitalizarlo utilizando un conversor A/D, no es la más eficiente, pues para poder adaptarlo al pluviógrafo se necesitaría algún engranaje mecánico de poleas con cremalleras. Esto introduciría en el dispositivo fuerzas de rozamiento adicionales provocadas por la interacción
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
21
21
Capítulo 2. Análisis e implementación del Hardware
mecánica del engranaje con el pluviógrafo y variaría el punto de flotación del flotador, por lo que la subida del vástago se vería afectada. Los transductores magnéticos adecuados para esta aplicación son los de efecto Hall. El efecto Hall se emplea para hacer sensores de desplazamiento, particularmente en aplicaciones de posición y desplazamiento lineal o rotatorio. El efecto Hall relaciona la tensión entre dos puntos de un material conductor o semiconductor con un campo magnético a través del material. Cuando se utilizan por sí mismos, los sensores de efecto Hall solo pueden detectar objetos magnetizados. Sin embargo, cuando se emplean de conjunto con un imán permanente, son capaces de detectar todos los materiales ferromagnéticos. La opción de realizar un sensor por efecto Hall queda descartada, debido a la complejidad de diseñar y hacer un patrón con una resolución pequeña pues este debe ser de un material ferromagnético. Otro punto importante es el consumo, el cual es elevado, pues la corriente que debe emplearse para generar el campo magnético para poder detectar la presencia del patrón metálico es de un valor elevado [12]. Se decidió hacer uso de un transductor óptico con un patrón de luz no luz por las facilidades que impone. Dicho transductor se adjunta al vástago del pluviógrafo desplazándose junto con el mismo, mientras que el patrón queda fijo a una pieza creada para este fin. Un solo transductor óptico no es suficiente pues detectaría el movimiento y la posición del vástago pero no el sentido, por lo que es necesario emplear dos de estos transductores; a este conjunto se le conoce como encoder óptico bidireccional.
2.1.1 El encoder óptico El encoder óptico es un transductor que convierte tanto la posición lineal como angular en una señal digital. El principio de operación de un encoder consiste en que un led y un fototransistor, los que se encuentran en un mismo encapsulado llamado par óptico, se encargan de detectar el paso o no de la luz a través de un patrón lineal que posee marcas opacas y transparentes de igual longitud. El patrón también puede ser unos discos concéntricos en un eje giratorio, los cuales están fabricados con unas ranuras codificadas y que siguen el mismo principio “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
22
22
Capítulo 2. Análisis e implementación del Hardware
de dejar pasar o no la luz. En la figura 2.1 se ilustra el esquema de un par óptico.
Figura 2.1 Par óptico. Los encoder ópticos se dividen fundamentalmente en dos grupos:
Encoder incremental
Encoder absoluto
El encoder incremental se caracteriza porque determina su posición al contar el número de pulsos que se generan cuando un rayo de luz es atravesado por las marcas opacas y transparentes del patrón lineal, como es el caso de este trabajo, o en la superficie de un disco unido a un eje. Los encoders incrementales pueden ser clasificados en unidireccionales y bidireccionales. Los unidireccionales dan una sola salida y no se puede determinar el sentido del movimiento por lo que sólo servirán para obtener desplazamiento. Los bidireccionales ofrecen dos salidas A y B y el sentido queda determinado por la diferencia de fase que exista entre ellas. La figura 2.2 muestra un encoder óptico incremental bidireccional.
Patrón
Leds emisores
Fototransistores
Figura 2.2 Encoder óptico incremental bidireccional. El encoder incremental bidireccional posee dos pares ópticos ubicados a una distancia conveniente para lograr que, al moverse el patrón a través de los dos
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
23
23
Capítulo 2. Análisis e implementación del Hardware
pares, se genere a la salida de cada canal una señal cuadrada con un desfasaje de 90° entre ellas. La cuadratura de los pares da el sentido del movimiento, ya que al moverse el patrón en un sentido la señal del canal A se antepone a la del canal B 90° y al moverse en sentido contrario la señal del canal A queda retrasada a la del canal B 90°, como se muestra en la figura 2.3.
Figura 2.3 Desfasaje existente entre los dos canales del encoder.
Con un dispositivo adecuado y un algoritmo de programación se puede tratar la señal digital que se obtiene a la salida del encoder para determinar, teniendo en cuenta los pulsos detectados, la altura alcanzada por el vástago a partir de un origen; y según el desfasaje entre los dos canales, el sentido del movimiento vertical. En el encoder absoluto, el patrón contiene varias bandas dispuestas en forma de coronas circulares concéntricas, de manera tal que, en sentido radial, el rotor queda dividido en sectores, con marcas opacas y transparentes codificadas en código Gray. El estator tiene un par óptico por cada bit representado en el patrón. El valor binario obtenido de los fotorreceptores es único para cada posición del rotor y representa su posición absoluta. Se utiliza el código Gray en lugar de un binario clásico, porque en cada cambio de sector sólo varía el estado de una de las bandas, evitando errores por falta de alineación de los fotorreceptores. Generalmente, los encoders incrementales proporcionan mayor resolución a un costo más bajo que los encoders absolutos. Además, su electrónica es más simple ya que tienen menos líneas de salida [13]. Es por esto y por las necesidades del equipo a diseñar que se decidió utilizar un encoder óptico incremental bidireccional para captar el sentido del movimiento vertical y la posición del vástago del pluviógrafo. “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
24
24
Capítulo 2. Análisis e implementación del Hardware
2.1.2 Diseño del patrón Al emplear pares ópticos, el patrón tiene que ser diseñado con marcas equidistantes que dejen pasar o no el rayo de luz proveniente del led emisor. El problema a resolver está en la longitud de estas marcas, las cuales vienen dadas por la resolución con que vaya a trabajar el pluviógrafo. Después de un abarcador estudio de la resolución de los distintos tipos de pluviógrafos que se encuentran hoy en día en el mercado mundial y las condiciones que debe cumplir el equipo a diseñar, se decidió captar los incrementos de precipitación en el P-2 automatizado cada 0,25 mm, equivalente a 0,01 pulgada, resolución que poseen la mayoría de los pluviógrafos modernos. Para convertir esta resolución del pluviógrafo a la distancia de las marcas transparentes y opacas del patrón, es necesario tener en cuenta las características del pluviógrafo P-2 expuestas en el epígrafe 1.3. El área de la superficie del embudo colector es de 500 cm 2 y el área de la cámara de flotación es diez veces menor que la del colector, por lo que cada milímetro de lluvia real en el embudo colector equivale a 10 mm en la cámara de flotación. De esta conversión de 1 a 10 propia del pluviógrafo P-2, se obtiene que una lámina de 0,25 mm de lluvia real es equivalente a 2,5 mm de incremento del nivel de agua dentro de la cámara de flotación. Como se desea que el patrón tenga una relación directa con la cámara de flotación para detectar el movimiento vertical del vástago al moverse el flotador a la par del nivel de agua, se empleará una resolución del patrón de 2,5 mm. En el algoritmo a desarrollar en el tercer capítulo de este trabajo para detectar el movimiento vertical del vástago, se decidió captar las transiciones de los pulsos provenientes del encoder al pasar de las zonas opacas a las transparentes y viceversa. Es por esto que cada una de las zonas del patrón debe poseer un ancho igual a la resolución de 2,5 mm definida anteriormente, de forma que cada vez que se detecte una transición sea porque el nivel del agua subió 2,5 mm. En la figura 2.4 se muestra la resolución del patrón resultante.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
25
25
Capítulo 2. Análisis e implementación del Hardware
Figura 2.4 Resolución del patrón lineal.
2.1.3 Diseño del encoder Luego de una búsqueda de encoders ópticos en el mercado mundial se decidió probar con el AEDS-9620 fabricado por AGILENT, el cual es un módulo encoder de pequeñas dimensiones que cuando trabaja en conjunto con una rueda giratoria o una cinta puede detectar rotaciones o posición lineal. El mismo consiste en un led que emite luz a través de un lente y un detector compuesto por cuatro fotodiodos, todo esto encapsulado en un pequeño paquete plástico en forma de C. Posee una resolución de 150 líneas por pulgada (LPI), puede trabajar en un rango de voltaje de 2,8 a 5,5 V y tiene dos canales de salida, A y B, los cuales presentan un desfasaje de 90° entre sí [14]. Con este encoder se realizaron varias pruebas. En ellas se utilizó un osciloscopio que detectara las señales de salida de los dos canales para observar el comportamiento de dichas señales: si en realidad salían con el desfasaje requerido y si no se perdían pulsos. Se utilizaron varios patrones de distintos materiales con la resolución decidida fijados a una pieza metálica; mientras que el encoder se fijó a una varilla con movimiento vertical a través de la pieza en que se encuentra el patrón. Las pruebas arrojaron que entre las dos señales visualizadas en el osciloscopio no existía el desfasaje requerido para detectar el sentido del movimiento. Esto se debe a que la resolución a la que opera este encoder es mucho más elevada que la de los patrones empleados. Este encoder quedó desechado por poseer una resolución muy alta, lo que provoca problemas a la hora de detectar eventos lentos como es el caso de la subida y bajada del vástago debido a la acción de las precipitaciones. Se llegó a la conclusión de que la mejor opción era realizar el diseño de un encoder
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
26
26
Capítulo 2. Análisis e implementación del Hardware
incremental bidireccional que estuviera acorde con las exigencias del pluviógrafo. En el diseño del encoder óptico incremental lo fundamental es ubicar los dos pares ópticos en cuadratura. Esto se logra poniendo sus ventanas de detección a una distancia igual a la mitad del valor de la resolución del patrón diseñado. Como la resolución del patrón es de 2,5 mm, las ventanas de detección de los pares ópticos deben ubicarse a 1,25 mm una de la otra, es decir una al inicio de una zona opaca y la otra a la mitad de la misma. Al ser esta distancia muy pequeña para poder situar los dos pares, hay que ubicarlos a una distancia mayor que permita mantenerlos en cuadratura y los deje lo más cerca posible uno del otro de acuerdo con sus dimensiones físicas. Esta distancia sería igual a los 1,25 mm correspondientes a la mitad de una zona opaca, más la distancia existente para llegar a la mitad de la próxima zona opaca. Para poder ubicar los pares a la menor distancia posible manteniendo la cuadratura, los requisitos del par óptico a seleccionar son sus dimensiones, en específico su ancho, el cual debe ser lo más estrecho posible y el tamaño de la ventana de detección, que debe ser menor que 1,25 mm. Para el diseño del encoder óptico se seleccionó el par óptico EE-SX298 fabricado por OMRON, el cual posee un par Darlington de transistores a la salida y una ventana de detección con un ancho 0,5 mm [15]. En la figura 2.5 se muestra el circuito interno y sus dimensiones. Con este par óptico quedan resueltos los requisitos planteados pues posee un ancho de 5 mm y una ventana de detección de 0,5 mm.
Figura 2.5 Dimensiones en mm y circuito interno del par óptico EE-SX298.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
27
27
Capítulo 2. Análisis e implementación del Hardware
En la figura 2.6 se muestra la forma de lograr la cuadratura con dos pares ópticos EE-SX298.
Figura 2.6 Cuadratura del encoder. Para la conexión eléctrica del par óptico es necesario poner un resistor entre Vcc y el ánodo del led para limitar el paso de la corriente por el emisor y otro resistor entre Vcc y el colector del fototransistor para polarizar el mismo. El esquema se muestra a continuación en la figura 2.7.
Figura 2.7 Conexión eléctrica del par óptico. Para el cálculo del valor de Rd se tienen los siguientes datos [15]: Vf máx If
=
=
1,4V
20mA
Donde Vf
e If
son el voltaje y la corriente de directa del diodo
respectivamente. La ecuación 2.1 permite calcular el valor de Rd .
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
28
28
Capítulo 2. Análisis e implementación del Hardware
Rd =
V cc
− V fmáx
(2.1)
I f
Sustituyendo en la ecuación 2.1 se obtiene: Rd
=
180Ω
Para calcular el valor de Rc se tienen los siguientes datos: I Lmín
=
0,5mA
V CE = 2V
Donde I L es la corriente de mínima luz captada por el receptor y V CE el voltaje colector emisor del fototransistor. La ecuación 2.2 permite calcular el valor de Rc . Rc
=
V cc − V ce
(2.2)
I Lmín
Sustituyendo en la ecuación 2.2 se obtiene: RC
=
6 K Ω
A la salida del encoder óptico debe acoplarse un comparador analógico que acondicione las señales de los dos canales y entregue dos señales eléctricas sin oscilaciones al dispositivo encargado de procesar las mismas. Para evitar que el comparador se dispare múltiples veces en la zona de transición entre luz y no luz, este debe ser un disparador de Schmitt-Trigger.
2.1.4 Diseño del Schmitt Trigger Se decidió emplear un Schmitt –Trigger pues una de sus aplicaciones es la de convertir un voltaje de entrada de variación lenta en una onda de salida con un cambio brusco, casi discontinuo, que suceda a un valor preciso de la transición lenta. La señal de entrada debe abarcar los límites del campo de histéresis (VH), siendo el V H el valor resultante de la diferencia de los valores de voltaje de las bandas donde se requiere que ocurran las transiciones. Normalmente la salida es una onda cuadrada asimétrica cuya amplitud es independiente del valor entre picos de la señal de entrada. Finalmente la onda de salida tiene los frentes de subida y caída más pronunciados que los de la onda de entrada [16]. En la figura 2.8 se puede observar la aplicación del Schmitt –Trigger a manera “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
29
29
Capítulo 2. Análisis e implementación del Hardware
de circuito de cuadratura, para el caso específico de la señal que proviene de un canal del encoder.
Figura 2.8 Aplicación del Schmitt –Trigger en la señal de un canal del encoder. Al disparador de Schmitt sugerido por Millman se le fijó el voltaje de conmutación para que este estuviera centrado en 2,5 V. En la figura 2.9 se muestra el esquema eléctrico del diseño.
Figura 2.9 Esquema eléctrico del Schmitt - Trigger. Utilizando la ecuación planteada por Millman se pasó a calcular el valor del resistor R1 pues R2 se fijó a un valor de 36K Ω [16]. V H
=
2 R2Vo
(2.3)
R1 + R2
Se tomó un voltaje de histéresis de 2V y se fijaron los siguientes parámetros como condiciones de diseño: V0 = 5V, R2 =36 KΩ Despejando R1 de la ecuación 2.3 se obtuvo que R 1 = 144KΩ.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
30
30
Capítulo 2. Análisis e implementación del Hardware
Para corroborar la validez del diseño, este se simuló con el PSPICE y se obtuvieron los resultados mostrados en la figura 2.10.
Figura 2.10 Esquema de la simulación del Schmitt – Trigger. En la figura se puede observar que el voltaje V 2 = 3,5000V y V1 = 1,5003V, siendo el voltaje de histéresis V H = 2V aproximadamente. El esquema eléctrico completo del encoder sería el mostrado en la figura 2.11.
Figura 2.11 Esquema eléctrico del encoder.
2.2 Requisitos de diseño del equipo En este trabajo se harán las mediciones en tiempo real de los datos de precipitaciones para su posterior procesamiento por lo que este diseño solo llegará hasta la recopilación y el envío de los datos alcanzados. Los datos de
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
31
31
Capítulo 2. Análisis e implementación del Hardware
precipitaciones obtenidos serán almacenados junto con la hora exacta y la fecha en que se registraron, de manera que se debe utilizar una memoria de registro y un reloj de tiempo real (RTC) para que suministre dichos datos de hora y fecha. El RTC estará respaldado por una batería para que no pierda los registros de tiempo una vez programados. Al realizar un estudio de las precipitaciones máximas ocurridas en el mundo y en Cuba, se decidió que el equipo debe ser capaz de detectar una intensidad de lluvia máxima de 180 mm en una hora, lo que equivale a 3 mm por minuto. Al calcular la intensidad de la lluvia en el pos-procesamiento, se debe contar con la hora exacta de la ocurrencia de la medición. De ahí que el RTC debe suministrar la información de segundos, minutos, hora, día y mes. El año y el día de la semana no son indispensables por lo que no serán tomados en cuenta al guardar los datos en la memoria para aprovechar al máximo su capacidad. Para poder transmitir los datos obtenidos hacia una estación central donde se realizará
el
pos-procesamiento
de
los
mismos,
se
implementará
la
comunicación serie a través de la interfaz RS-232. Los datos a transmitir serán el incremento de la altura del vástago junto con los siete registros de tiempo del RTC. La comunicación serie se utilizará para poder comunicar al equipo con un equipo autómata o radiomodem utilizando el protocolo Modbus con el fin de insertar este equipo en un sistema de telecontrol. Aunque en este trabajo no se va a tratar el tema de la comunicación con equipos autómatas insertados en una red de telecontrol, se estudió la posibilidad de que esto ocurra en un futuro a través del protocolo Modbus, dada su importancia y las facilidades que brinda el mismo. De acuerdo con la aplicación, esta comunicación pudiera efectuarse utilizando RS-232 o RS- 485. Una vez obtenidas las señales desfasadas que indican el movimiento del vástago, es necesario un dispositivo capaz de recibir y procesar estos pulsos eléctricos para determinar el sentido del movimiento del vástago y devolver de forma digital el dato de precipitación. Para esto el dispositivo más indicado es un microcontrolador, debido a que es capaz de realizar adquisición, tratamiento y transmisión de datos, y de interactuar con los diferentes dispositivos antes mencionados que van a conformar el diseño del equipo. “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
32
32
Capítulo 2. Análisis e implementación del Hardware
Se decidió emplear un microcontrolador de la familia 8051 debido a que en el CIH ya existen experiencias de trabajo con los mismos y tienen implementadas una serie de subrutinas que pueden ser aprovechadas. También hay que destacar que actualmente en el mercado mundial se pueden encontrar una amplia gama de microcontroladores de la familia 8051 con una serie de mejoras que brindan la posibilidad de trabajar a velocidades más rápidas, con modos de bajo consumo los cuales posibilitan el ahorro de potencia en caso que se desee y brindan grandes facilidades al utilizarlos. El pluviógrafo P-2 posee un mecanismo de contrapeso que favorece el vaciado del mismo. En la actualidad muchas de las piezas de dicho mecanismo no se encuentran en buen estado en la mayoría de los pluviógrafos P-2 existentes en el país, debido a los años de explotación de los mismos. Otra desventaja de este mecanismo es que la pesa que posee está sujetada por un cordel de una longitud que permite 20 vaciados y, al llegar a su final, tiene que ser enrollado de forma manual. Para evitar todos estos contratiempos se tomó la decisión de sustituir dicho mecanismo por otro que facilitara el vaciado del P-2. Para dar solución a este problema se decidió utilizar un electroimán que hiciera la función del mecanismo de contrapeso dándole un impulso hacia abajo al vástago para vaciar la cámara de flotación. Una de las facilidades que debe brindar el equipo es la de estar respaldado por alguna fuente de alimentación propia para ser ubicado en lugares de difícil acceso donde no tendrá el respaldo de la red eléctrica. Además, si se ubica en lugares donde se tenga acceso a la red eléctrica, debe permitir conectarse a la misma. Por último el diseño incluirá una tecla para detener al equipo y un led para conocer si el mismo está trabajando o detenido, pues se ha decidido no incluir displays en el diseño. También contará con un conector ISP ( In System
Programin ) que permite programar el microcontrolador sin necesidad de extraerlo del equipo para programarlo en un dispositivo paralelo.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
33
33
Capítulo 2. Análisis e implementación del Hardware
Partiendo de los requisitos antes expuestos, se llega al siguiente diagrama, el cual es la propuesta de diseño del prototipo de equipo con el cual se va a automatizar el pluviógrafo P-2.
Alimentación Baterías
Alimentación 110V/220V
Encoder Óptico Electroimán
RTC
Micro controlador
Tecla
Batería RTC
ISP Memoria Registro
MODBUS
RS-485
Puerto Serie
Led
RS-232 Figura 2.12 Diagrama en bloques del equipo.
En este diagrama aparecen bloques, como es el caso del protocolo Modbus, RS-485 y la alimentación que no se expondrán en este trabajo, debido a que no son objetivos de esta etapa, pero deben aparecer por la importancia que tienen para otros prototipos posteriores del equipo en diseño. En los restantes epígrafes que componen este capítulo se expondrán los aspectos teóricos más relevantes del resto de los bloques que conforman este diagrama, así como su implementación.
2.3 Microcontrolador AT89LP4052 El microcontrolador escogido para el diseño del equipo es el AT89LP4052 el cual es un microcontrolador de 8 bits, de baja potencia y alto rendimiento producido por ATMEL. Posee una memoria flash programable de 4 Kbytes y es compatible con el set de instrucciones de la familia de los 8051. Sus dos contadores/temporizadores (timers ) han sido mejorados con dos nuevos modos de trabajo. El Modo 0 puede ser configurado como un contador/temporizador
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
34
34
Capítulo 2. Análisis e implementación del Hardware
variable de 9 a 16 bits y el Modo 1 como un contador/temporizador auto recargable de 16 bits. En la figura 2.13 se muestra la configuración de sus pines y en el anexo 1 se presenta la descripción de cada uno de ellos.
Figura 2.13 El Microcontrolador AT89LP4052. El AT89LP4052 posee las siguientes características [17]:
Es compatible con los productos de la MCS-51.
Tiene una memoria flash de programa de 4 Kbytes.
Rango de operación desde 2,4V a 5,5V.
Frecuencia de operación desde 0Hz hasta 20MHz.
RAM interna de 256x8.
4 niveles de interrupciones prioritarias.
2 contadores-temporizadores ( timers ) de 16 bits.
Modos de bajo consumo Idle y Power-down .
Interrupción para recuperarse del modo Power-down .
Perro guardián ( watchdog ), para vigilar su funcionamiento óptimo.
Reset interno de encendido y apagado.
Este microcontrolador satisface los requisitos de la aplicación y, por ser un dispositivo optimizado para bajo consumo de potencia, permite en el futuro cercano obtener un pluviógrafo cuya automatización sea independiente de la red eléctrica.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
35
35
Capítulo 2. Análisis e implementación del Hardware
2.3.1 Comparación con los 8051 estándares El AT89LP4052 es parte de una familia de dispositivos con una serie de mejoras. La mayoría de las direcciones de los registros especiales, las funciones de los bits y los pines, son iguales que las de las demás familias de los
8051
clásicos.
Pero
existen
diferencias
que
hacen
que
este
microcontrolador posea mejor rendimiento, las cuales serán expuestas a continuación [17,18]: En el sistema de reloj la frecuencia del mismo es la frecuencia externa del cristal que se le ponga y se divide por dos para proveer al oscilador interno. La ejecución de las instrucciones en este microcontrolador no necesita de 6 ciclos de reloj para cada ciclo de máquina como en los 8051 estándares, donde se fuerza que las instrucciones se ejecuten en 12, 24 o 48 ciclos de reloj. En este microcontrolador las instrucciones sólo necesitan de 1 a 4 ciclos de reloj para ejecutarse, aumentando el rendimiento del mismo. En el manejo de las interrupciones los controladores de las mismas encuestan a las banderas de interrupción durante el último ciclo de reloj de cualquier instrucción. El temporizador/contador incrementa la velocidad a razón de una vez por ciclo de reloj. Esto contrasta con el incremento de una vez cada 12 ciclos de los 8051 estándares. En el puerto serie la frecuencia de transmisión/recepción de la UART ( Universal
Asynchronous Receiver/Transmitter ) en el Modo 0 es la mitad de la frecuencia del reloj, comparada con el 1/12 de la frecuencia de reloj en los 8051 estándares. Debería ser notado que cuando se utiliza el Timer 1 en Modo 1 o Modo 3 para generar la frecuencia de transmisión/recepción, el timer cuenta a la frecuencia de reloj y no a 1/12 de la frecuencia de reloj. Para mantener la misma frecuencia de transmisión/recepción en el AT89LP4052 mientras se esté trabajando a la misma frecuencia que un 8051 estándar, el período del tiempo de salida debe ser 12 veces mayor. El Modo 1 del Timer 1 soporta 16 bits auto recargables facilitando un mayor período de tiempo de salida para generar una frecuencia de transmisión/recepción baja.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
36
Capítulo 2. Análisis e implementación del Hardware
36
Este microcontrolador posee un temporizador perro guardián. El mismo cuenta a razón de una vez por ciclo de reloj. Esto contrasta con el incremento de una vez cada 12 ciclos de los 8051 estándares. Los puertos de entrada/salida pueden ser configurados en cuatro modos diferentes; todos los puertos retornan al Modo de tercer estado al iniciarse o resetearse. En los 8051 estándar, todos los puertos son débilmente puestos a `1´ durante el proceso de encendido o reseteo. Para habilitar los puertos del 8051 estos deben ser puestos en el Modo cuasi-bidireccional limpiando los registros especiales P1M0 y P3M0. El pin del reset tiene diferentes requisitos del ancho del pulso que en los 8051 estándares. Este es muestreado en cada ciclo de reloj y el mínimo de duración del pulso debe ser de dos ciclos de reloj en vez de 24 para que sea reconocido como un pulso de reset válido [19]. Como se puede observar, este microcontrolador trabaja a una velocidad más rápida que los 8051 estándares. A pesar de que la aplicación a diseñar es lenta y no se necesita de una gran velocidad por parte del microcontrolador, esta característica es muy importante para futuros diseños de otros prototipos utilizando este mismo hardware, pues se puede bajar la frecuencia del cristal con el fin de ahorrar potencia y se lograrían velocidades similares a la de los 8051 estándares. Otra facilidad importante que brinda este microcontrolador son los modos de bajo consumo que, aunque tampoco se utilizarán en este trabajo, sí se emplearán en futuros prototipos.
2.4 Comunicación Serie En el equipo final es necesario implementar la comunicación serie, ya sea a través de la interfaz RS-232 o RS-485, para interactuar con un dispositivo capaz de transmitir vía inalámbrica hacia una estación central los datos de precipitaciones que se obtengan. En esta fase del prototipo la tarea es lograr una comunicación bidireccional entre un microcontrolador y una computadora, la cual se hará a través de la interfaz RS-232.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
37
Capítulo 2. Análisis e implementación del Hardware
37
2.4.1 Interfaz RS 232 La Interfaz RS-232 es una interfaz muy común implementada en un amplio rango de dispositivos desde la industria hasta las computadoras personales. Posee un bus desbalanceado preparado para la comunicación full duplex entre dos dispositivos: el equipo terminal de datos y el equipo de comunicación. La distancia máxima de transmisión especificada es cerca de 15 m, y la velocidad máxima de transmisión es de 20 Kbaud. Esta transmisión es punto a punto, poniendo en contacto dos dispositivos con sus líneas de transmisión y recepción, de modo que la línea de transmisión de uno es la de recepción del otro y viceversa. La comunicación se basa en un cableado completo en las dos direcciones, por lo que no son necesarios protocolos o software de gestión y acceso a línea, pero solo se puede establecer la comunicación entre dos dispositivos cableados únicos. El estándar RS-232 se basa en una comunicación asincrónica, es decir, los datos pueden ser transmitidos en cualquier momento, por lo que deben tomarse precauciones para sincronizar la transmisión con la recepción. Para realizar la transmisión bit a bit es necesario poner la línea en estado de no transmisión y luego enviar los bytes de datos con el siguiente formato: un bit de inicio, de 5 a 8 bits de datos, un bit de paridad (opcional), y 1 ó 2 bits de parada, los cuales son opcionales [20]. Las velocidades de transmisión más utilizadas son: 110, 300, 600, 900, 1200, 2400, 4800, 9600 y 19200 bps.
2.4.2 El circuito integrado MAX232 Para solucionar la diferencia de niveles de voltaje cuando se requiere enviar señales digitales sobre líneas RS-232 se utilizó el circuito integrado MAX232A, fabricado por MAXIM. El MAX232A necesita solamente una fuente de +5V para su operación. Tiene dos fuentes internas que convierten +5V a ±10V para la operación de la interfaz RS-232. El primer conversor utiliza un capacitor C 1 para doblar los +5V de la entrada a +10V con un C 3 en la salida V+. El segundo conversor emplea un capacitor C2 para invertir +10V a -10V con un C 4 en la salida V- [21]. En el
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
38
38
Capítulo 2. Análisis e implementación del Hardware
anexo 2 se presenta su esquema eléctrico interno y en la figura 2.14 se muestran sus pines.
Figura 2.14 El MAX232A. Existen algunas variantes de la familia de este dispositivo que poseen un modo de auto apagado para minimizar su consumo. De forma tal, que mientras no está transmitiendo o recibiendo ningún dato, este dispositivo queda en modo de bajo consumo a la espera de alguna transmisión o recepción, lo cual es una ventaja para ahorrar potencia. Su conexión con el microcontrolador, la computadora a través del conector DB9 y los capacitares externos necesarios para su funcionamiento, se muestra en la figura 2.15.
Figura 2.15 Interconexión del MAX232A.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
39
39
Capítulo 2. Análisis e implementación del Hardware
2.5 El reloj de tiempo real En este epígrafe se hará una descripción del reloj de tiempo real (RTC debido a sus siglas en inglés) que se utilizará en el diseño del equipo. El RTC es un circuito integrado periférico que da la posibilidad a un microcontrolador de tomar datos de tiempo, con una resolución de un segundo. Brinda, con una alta precisión, la hora y fecha actual, además de poseer otras facilidades como dar alarmas por tiempo. El RTC que se utilizará en este trabajo es el DS1307, el cual es fabricado por MAXIM. A continuación, en la figura 2.16, se muestran sus pines.
Figura 2.16 El RTC DS1307. El RTC DS1307 posee las siguientes características [22]:
Bajo consumo de potencia.
Proporciona un reloj calendario en código BCD, que cuenta segundos, minutos, horas, días de la semana, días del mes y años con compensación para el año bisiesto, válida hasta el 2100. El final del mes se puede ajustar según su duración (de 28 a 31 días).
Cuenta con 56 bytes de memoria RAM no volátil, respaldada por batería para almacenamiento de datos.
El reloj opera tanto en formato de 12 horas, como en formato de 24 horas, con indicación de AM/PM.
Cuenta con una salida de pulsos programable.
Tiene implementada la comunicación serie mediante una interfaz de dos hilos.
Rango de temperatura de operación industrial de -40°C a +85°C.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
40
40
Capítulo 2. Análisis e implementación del Hardware
Posee
un
sensor
que
detecta
fallas
en
la
alimentación
y
automáticamente cambia a la alimentación de la batería.
Opera entre 4,5 y 5,5V.
2.5.1 Reloj y calendario La información del reloj y del calendario se obtiene de la lectura de los registros del RTC. Estos también pueden inicializarse si se escriben en los registros apropiados. El contenido de estos registros se encuentra en código BCD. El bit 7 del registro 0 es el bit de parada del reloj, cuando este es puesto a '1', el oscilador es deshabilitado, y cuando es puesto a '0', el oscilador se habilita. Al tener este RTC dos modos de trabajo, el bit 6 del registro de las horas es el encargado de seleccionar en cuál de los dos modos se trabaja. Si está en '1', se selecciona el modo de 12 horas, pero, por defecto este reloj trae habilitado el modo de 24 horas. En el modo de 12 horas el bit 5 es el bit de AM/PM donde, para seleccionar AM, hay que ponerlo a '0', y, para seleccionar PM, a '1'. En el modo de 24 horas, el bit 5 es el segundo bit de las décimas de las horas. En el anexo 3 se muestra la tabla de direcciones del DS1307.
2.5.2 Comunicación con el microcontrolador El DS1307 utiliza el protocolo serie de comunicación Inter-Integrated Circuit
Bus (I2C) para comunicarse con diferentes dispositivos, siendo en este caso el microcontrolador AT89LP4052 el dispositivo con el que se va a comunicar. Este protocolo I2C utiliza dos hilos, uno de datos (SDA) para transmitir la información y uno de reloj (SCL) para sincronizar la comunicación. El DS1307 se comporta como un dispositivo esclavo en el bus de transmisión serie, en donde el dispositivo amo debe controlar el bus de comunicación, generar la señal de reloj SCL, controlar acceso al bus y generar las condiciones de inicio y parada. Cada vez que se interactúe con el RTC, el dispositivo amo, que en este caso es el microcontrolador, tiene que generar la condición de inicio. Posteriormente se escribe el byte de control. Los siete primeros bits conforman la dirección del esclavo, en este caso tiene la secuencia 1101000. El último bit es de selección de lectura/escritura, cuando esté en ‘1’ se selecciona la operación de escritura “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
41
41
Capítulo 2. Análisis e implementación del Hardware
y cuando está en ‘0’ la de lectura. Luego continúa el intercambio bidireccional entre el dispositivo amo y el esclavo de acuerdo con la operación que se vaya a efectuar, ya sea lectura o escritura de datos. En las figura 2.17 y 2.18 se muestra el formato de la palabra de control del RTC y el circuito de operación del mismo.
Figura 2.17 Palabra de control del RTC.
Figura 2.18 Circuito de operación del DS1307 .
Para su buen funcionamiento, hay que ponerle a cada hilo una resistencia de
Pull-Up de valor RPU = tr /CB, siendo tr el tiempo de subida de las señales SDA y SCL y CB el valor de capacitancia total de una línea del bus [22]. Tomando el valor máximo de t r de 1000 ns y el de CB de 400 pF que es el valor de capacidad de entrada de un pin, se obtiene un valor de R PU = 2,5 KΩ.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
42
42
Capítulo 2. Análisis e implementación del Hardware
2.6 La memoria de registro Se decidió utilizar la memoria 24LC512, fabricada por Microchip Technology, pues el CIH ya tiene implementado un banco de memorias con su interfaz correspondiente, la cual se comunica con la computadora por el puerto paralelo y fue uno de los requisitos iniciales planteados para el diseño del equipo. La memoria 24LC512 es una memoria serie EEPROM de 64Kx8 (512Kbit). Opera en un rango de voltaje de 1,8 a 5,5V, y se ha desarrollado para aplicaciones en circuitos de bajo consumo. Tiene implementado el protocolo de comunicación serie I2C y puede ser grabada o borrada hasta un millón de veces. El consumo de corriente máximo que realiza trabajando en su máximo voltaje de operación de 5,5 V es de 5 mA para la escritura y 400 μA para la lectura. Pueden conectarse hasta 8 dispositivos en el mismo bus de datos, lo que permitiría obtener un sistema de memoria de 4 Mbytes. Posee dos modos de escritura: escritura modo byte y escritura modo página y tiene dos modos de lectura, aleatoria y secuencial. La retención de datos es de hasta 200 años [23]. En la figura 2.19 se muestran sus pines.
Figura 2.19 Memoria EEPROM 24LC512 . En
los
siguientes
subepígrafes
se
pasará
a
explicar
las
principales
características de la memoria 24LC512 para una mejor comprensión de la subrutina de programación de escritura de la misma, la cual será tratada en el Capítulo 3.
2.6.1 Descripción del funcionamiento La 24LC512 soporta una transmisión bidireccional de bus y datos a dos hilos. El dispositivo que envía los datos al bus se define como transmisor y el dispositivo que recibe los datos como receptor. Cada vez que se interactúe con la memoria el dispositivo amo tiene que generar una condición de inicio, propia
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
43
43
Capítulo 2. Análisis e implementación del Hardware
de la interfaz I2C. Al haberse dado la condición de inicio lo primero que se escribe es un byte de control, el cual consiste en 4 bits de código de control que tienen la secuencia 1010. Los próximos 3 bits del byte de control son los bits de selección del dispositivo (A2, A1, A0) los cuales se utilizan para definir cuál dispositivo es accesado, en caso de que en el bus haya conectado más de un dispositivo. El último bit es de selección de lectura/escritura, que cuando está puesto a ‘1’, se selecciona la operación de escritura y cuando está puesto a ‘0’, la de lectura. En la figura 2.20 se muestra el formato de su byte de control.
Figura 2.20 Formato del byte de control. Los próximos 2 bytes que se reciben definen la dirección del primer byte de datos. Debido a que todos los bits desde A15 hasta A0 son utilizados, el bit más significativo de la dirección no se toma en cuenta y se transmiten primero los bits más significativo seguido de los menos significativos.
2.6.2 Escritura Modo página Como ya se explicó, la escritura en este tipo de memoria se puede implementar a través de dos modos: byte y página. En este subepígrafe se explicará cómo se implementa la escritura en modo página por ser la más adecuada para esta aplicación. Para comenzar la escritura en modo página se transmiten a la memoria la palabra de control, de dirección y la del primer byte de datos de la misma manera en que se escribe un byte. La diferencia está en que en lugar de generar una condición de parada, el amo transmite hasta 127 bytes adicionales que son temporalmente almacenados en un buffer integrado, los cuales son “Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
44
44
Capítulo 2. Análisis e implementación del Hardware
escritos en la memoria después que el amo transmita la condición de parada. Después de almacenar cada palabra, los punteros a los 6 bits de la dirección menos significativa son incrementados en uno internamente. Las operaciones de escritura de página se limitan a escribir bytes dentro de una página física sin importar el número de bytes que se escriban realmente en la página. Los límites de la página física comienzan en una división que es un múltiplo entero del buffer de transmisión. El tamaño del buffer de página es el tamaño de la página y finaliza en una dirección que es un múltiplo entero del tamaño de la página menos uno. Si un comando de escritura de página trata de escribir fuera de los límites de página física los datos comienzan a escribirse al principio de la página actual y se sobrescribe los que estaban anteriormente almacenados, en lugar de empezar en la página siguiente como se espera. Por esto es necesario que el software evite que las operaciones de escritura no sobrepasen el tamaño de la página [24]. Este es el modo de escritura que se va a utilizar en este trabajo con el fin de ahorrar potencia y debido a que la memoria tiene una vida útil de un millón de escrituras o borrados, por lo que se debe tratar de escribir la mayor cantidad de datos en cada escritura que se haga. Escribir una página completa en modo página tiene el mismo efecto sobre la durabilidad de la memoria que escribir un byte en modo byte.
2.7 Solución al problema del vaciado del P 2. Como el pluviógrafo necesita impulsar el desagüe del sifón a la hora de vaciarse, fue necesario buscar una solución adecuada para lograr que se cebe. La solución escogida fue utilizar un electroimán que sustituyera el mecanismo del contrapeso. Un electroimán es un imán que funciona como tal en la medida que pase corriente por su bobina y, deja de serlo al momento en que la misma se corta. Está compuesto, en su interior, por un núcleo de hierro, al cual, se le ha incorporado un hilo conductor recubierto de un material aislante. El hilo va enrollado en el núcleo formando una bobina para que el electroimán funcione.
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
45
45
Capítulo 2. Análisis e implementación del Hardware
El electroimán que se va a utilizar consume 900 mA de corriente y hay que alimentarlo con una fuente de 17 V. Se utilizó este electroimán pues era con el que se contaba en el momento de sustituir el mecanismo del contrapeso, pero en futuros prototipos se recomienda buscar otros electroimanes que consuman menos corriente y que operen con un nivel de voltaje más bajo. Se utilizó un relay y un transistor PNP para activar el electroimán ya que el microcontrolador no era capaz de suministrar la corriente y voltaje necesarios para activarlo. La figura 2.21 muestra su interconexión con el microcontrolador.
Figura 2.21 Interconexión del electroimán con el microcontrolador.
Al poner un `0´ en el pin del microcontrolador el transistor se satura y activa el relay, el cual deja pasar los 17V de la fuente que activan el electroimán provocando el vaciado de la cámara de flotación del pluviógrafo. A continuación se pasará a calcular el valor del resistor Rb situado en la base del transistor con el fin de proteger al microcontrolador. Para ello se dispone de los siguientes datos: Vbe transistor = 0,9V Ic transistor= 50 mA, corriente del transistor que necesita el relay para trabajar. hfe transistor = 300 VOL micro = 0,5V Vcc = 5V Aplicando las ecuaciones 2.4 y 2.5 se obtiene Rb:
“Automatización del Pluviógrafo P-2”
Capítulo 2. Análisis e implementación del Hardware
46
46
Capítulo 2. Análisis e implementación del Hardware
Ib
Rb =
=
Ic hfe
Vcc − Vbe − V OL
(2.4) (2.5)
Ib
Se obtiene que R b = 21,6KΩ
2.8 Conclusiones parciales 1. Para detectar el sentido del movimiento vertical y la posición del vástago se diseñará un encoder óptico incremental bidireccional empleando 2 pares ópticos EE-SX298. 2. El patrón a diseñar tendrá una resolución de 2,5 mm dada por la sensibilidad que se le dará al pluviógrafo de 0,25 mm.de lluvia real. 3. Se escogió un microcontrolador, en específico el AT89LP4052, para procesar los pulsos provenientes del encoder e interactuar con los diferentes dispositivos a emplear. 4. Para transmitir los datos de cantidad de lluvia junto a la fecha y hora en que la misma ocurre, se escogió la comunicación serie empleando la interfaz RS-232. 5. Para obtener los datos de hora y calendario con exactitud se emplea un RTC, en específico el DS1307. 6. La memoria de registro escogida para almacenar los datos será una EEPROM, en específico la 24LC512. 7. Se escogió un electroimán para sustituir el mecanismo de drenaje del pluviógrafo.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
47
47
Capítulo 3. Análisis e implementación del Software
Capítulo 3. Análisis e implementación del Software. En este capítulo se explicará el programa realizado en lenguaje ensamblador que emplea el microcontrolador para realizar cada una de las funciones explicadas en el Capítulo 2. Para ello se analizará la implementación de cada uno de los bloques por separado.
3.1 Detección de las señales Una vez obtenidas las señales eléctricas en cuadratura a través de la interacción de los pares ópticos y el patrón, es necesario el procesamiento de dichas señales para detectar que hay movimiento del vástago del pluviógrafo y así determinar el nivel del agua dentro de la cámara de flotación y el sentido de dicho movimiento vertical. Al observar en la figura 3.1 la trayectoria de las dos señales en cuadratura, que se obtienen del encoder óptico incremental bidireccional al interactuar con el patrón, se puede concluir que el comportamiento de ambas se repite periódicamente en cuatro estados: E1, E2, E3 y E4.
Figura 3.1 Señales del encoder óptico incremental.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
48
48
Capítulo 3. Análisis e implementación del Software
La relación de cada uno de los estados con el valor de las señales se muestra en la tabla 3.1. Tabla 3.1 Valor de las señales para cada uno de los estados.
Para detectar el sentido del movimiento, es necesario identificar cuál de las señales se adelanta con respecto a la otra. Para ello se realiza un análisis entre el estado actual en que se encuentran las señales y el estado anterior. Al identificar a los pares ópticos como X y Y, el estado actual queda definido como X1 y Y 1, y el estado anterior como X0 y Y0. La relación de los cuatro estados y el sentido del movimiento queda reflejada en la tabla 3.2, donde la subida es el movimiento hacia la derecha observado en la figura 3.1 y la bajada es el movimiento hacia la izquierda. Tabla 3.2 Tabla de estados.
Como se puede apreciar, existen dos posibilidades de subida y dos de bajada. Por la importancia que tiene distinguir entre los dos sentidos de movimiento se analizan por separado.
3.1.1 Detección de la subida La detección de una subida, como se muestra en la figura 3.2, puede ocurrir de cualquiera de las siguientes formas:
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
49
49
Capítulo 3. Análisis e implementación del Software •
estando los pares ópticos en el estado E2 pasan al estado E3.
•
estando los pares ópticos en el estado E4 pasan al estado E1.
Figura 3.2 Subidas. Ambas opciones tienen una similitud que facilita el algoritmo de detección y es que el valor de X 1 es diferente al de Y 1, X0 y Y0. Es decir, las subidas se detectan cada vez X1 tome un valor diferente al del resto de las variables. La subida es lo más importante de detectar pues indica un incremento de las precipitaciones, por lo que cada vez que se detecte una subida hay que registrar el incremento y la hora en que ocurre.
3.1.2 Detección de la bajada La detección de la bajada puede ser de cualquiera de las siguientes maneras: •
estando los pares ópticos en el estado E2 pasan al estado E1.
•
estando los pares ópticos en el estado E4 pasan al estado E3.
Estas condiciones de bajada se muestran gráficamente en la figura 3.3. Al igual que en la subida, ambas posibilidades tienen la similitud de que el valor de Y1 es diferente al de X1, Y0 y X0. Las bajadas se detectan cuando Y 1 adquiere un valor distinto al de las otras tres variables. La bajada indica que se está vaciando la cámara de flotación y sirve para reiniciar la variable que se emplea para conocer la posición en que se halla el vástago.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
50
Capítulo 3. Análisis e implementación del Software
50
Figura 3.3 Bajadas.
3.1.3 Algoritmo de detección Para que el microcontrolador determine la posición y el sentido del movimiento del vástago, se creó en lenguaje ensamblador la subrutina de atención a las señales desfasadas, mostrada en el anexo 4A, siguiendo como referencia el diagrama en bloques de la figura 3.4. En la subrutina de atención a la bajada, se debe reconocer si fue provocada porque se activó el electroimán y se está vaciando la cámara de flotación, o por cualquier error ajeno al equipo. Estos eventos erróneos hay que tenerlos en cuenta por la importancia que tiene conocer la posición exacta del vástago para poder activar al electroimán en el momento justo y que se produzca el vaciado de la cámara de flotación. Para conocer el motivo de la bajada, se emplea una bandera que se activa cuando el electroimán produce el cebado de la cámara de flotación y se desactiva cada vez que se detecta una subida. Al detectar una bajada, si la bandera no está activada, significa que fue resultado de un error, como es el caso de la evaporación del agua. En estos casos se decrementa el valor de la altura obtenido en la subrutina de subida. Si al reconocer una bajada, la bandera está activada es porque ocurrió el cebado del dispositivo y se está vaciando. En este caso se reinicia el contador de la altura que alcanza el vástago para que esté en cero una vez que termine el vaciado.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
51
51
Capítulo 3. Análisis e implementación del Software
Figura 3.4 Diagrama en bloques para identificar el sentido del movimiento. Dentro de la subrutina de atención a la subida, se encuentran las principales acciones que debe ejecutar el microcontrolador. Estas son: atender la altura que alcance al vástago, obtener una lectura de hora y fecha del RTC, enviar estos datos por puerto serie, almacenarlos en la memoria EEPROM y activar al electroimán en caso de que el vástago haya llegado a su altura máxima. Estas acciones se verán a continuación de una forma detallada.
3.2 Programación del RTC El RTC tiene un gran peso en este trabajo pues de él se obtiene, al leer de los registros apropiados, la hora y fecha que permiten calcular la intensidad de la lluvia. La comunicación entre el microcontrolador y el RTC DS1307 es a través de la interfaz I2C, donde el primero actúa como amo y el segundo como esclavo. Es por esto que todas las señales de atención al reloj tienen que ser generadas “Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
52
52
Capítulo 3. Análisis e implementación del Software
por el microcontrolador. Para una mejor comprensión de las subrutinas creadas para atender al RTC, se realiza una breve descripción de la interfaz I2C.
3.2.1 Interfaz I2C Características del bus I2C:
Es un bus serie de dos hilos: reloj (SCL) y datos (SDA).
Puede ser multiamo.
Es un bus Half Duplex , sincrónico.
No necesita línea de selección alguna.
Las líneas se ponen a nivel alto mediante resistencias y se ponen en nivel bajo mediante AND cableado de drenaje abierto.
Tiene tres modos de velocidad compatibles en forma descendente:
- Lenta , por debajo de los 100 Kbps - Rápida, 400 Kbps - Alta Velocidad, 3,4 Mbps El bus tiene que ser controlado por un dispositivo amo que genere la señal de reloj SCL, controle el acceso al bus y genere las condiciones de inicio y parada del dispositivo esclavo. El dispositivo que envía los datos al bus se define como transmisor y el dispositivo que recibe los datos como receptor. Ambos, amo y esclavo, pueden operar como transmisores o receptores pero el dispositivo amo es quien determina el modo que esté activado.
3.2.1.1 Las señales I2C Una transmisión en la interfaz I2C puede estar dividida en cuatro secciones diferentes. A continuación se muestran y explican cada una de ellas:
Inicio: frente de caída de SDA con SCL en nivel alto.
Reconocimiento: el receptor coloca SDA a nivel bajo cuando el transmisor la ha puesto a nivel alto.
Datos: las transiciones ocurren mientras SCL está en nivel bajo, el dato es válido mientras SCL está en nivel alto.
Parada: frente de subida de SDA con SCL en nivel alto.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
53
53
Capítulo 3. Análisis e implementación del Software
Para que una transferencia de datos sea iniciada, el bus debe estar desocupado y durante la transferencia SDA debe permanecer estable siempre que SCL esté en nivel alto. Si ocurren cambios en SDA, mientras que SCL se encuentre en nivel alto, puede ser interpretado como una condición de inicio o parada. En la figura 3.5 se muestra cómo se mantienen las señales SDA y SCL para las condiciones de bus libre(A), inicio (B), parada (C), validez del dato (D) y reconocimiento (E).
Figura 3.5 Secuencia de transferencia de datos en el bus serie .
Las líneas del bus I2C se ponen a nivel alto mediante resistores de pull-up y se controlan por hardware mediante salida de drenaje abierto. Cada transición de bit tiene lugar mientras SCL está en nivel bajo, excepto cuando ocurren las condiciones de inicio y parada. El bus I2C usa un protocolo de comunicación direccional que permite al amo comunicarse con cada esclavo individualmente usando direcciones de siete o de diez bits. Cada dispositivo tiene su dirección por defecto, aunque en algunos casos es posible cambiar la dirección del dispositivo.
3.2.1.2 Intercambio de señales I2C Para realizar una transmisión en la interfaz I2C, se envía una condición de inicio, luego se transmite un byte con la dirección del esclavo y el último bit de este byte es el de lectura/escritura (0-recibe, 1-transmite). A continuación es dada la condición de reconocimiento desde el receptor y después se envía un byte de dato. Es importante conocer que por cada byte de datos recibido se envía una condición de reconocimiento desde el esclavo. De la misma forma se
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
54
54
Capítulo 3. Análisis e implementación del Software
pueden continuar mandando byte de datos, hasta que finalmente el amo envía una condición de parada. Para realizar la lectura de datos en un esclavo, el amo envía primero la condición de inicio, luego el byte que contiene la dirección del mismo con el bit que contiene la información de escritura/lectura en uno. A partir de este momento el esclavo envía el byte de datos recibiendo posteriormente, por cada byte enviado, una condición de reconocimiento por el amo hasta que el mismo genera una condición de parada. En la figura 3.6 se muestra la configuración de la trama que se debe implementar para la comunicación I2C.
Figura 3.6 Configuración de trama de I2C.
3.2.1.3 Reconocimiento esclavo amo Cuando un byte de datos o dirección se transmite por el bus, debe ser reconocido por el esclavo. En el caso de ser un byte de dirección, si la dirección corresponde con un esclavo, entonces solo él puede responder con el reconocimiento. En caso de un byte transmitido a un esclavo direccionado, el esclavo también debe responder con la señal de reconocimiento. El esclavo que va a dar la señal de reconocimiento pone la línea SDA en nivel bajo inmediatamente después de que una dirección le corresponda. Tan pronto el amo ponga la línea SCL en nivel bajo para completar la transmisión de un bit, la línea SDA será puesta a nivel bajo por el esclavo. En este momento, el amo genera un pulso de reloj en la línea SCL, liberando el esclavo la línea SDA cuando se complete el pulso de reloj. A partir de este instante, el bus estará disponible para que el amo continúe enviando datos o genere una condición de parada.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
55
55
Capítulo 3. Análisis e implementación del Software
En caso que se esté escribiendo un dato en el esclavo, este ciclo debe ser completado antes de que se genere una condición de parada. El esclavo estará bloqueando la línea SDA hasta que el amo genere un pulso en la línea SCL.
3.2.1.4 Reconocimiento amo esclavo Cuando el amo recibe un byte de un esclavo, debe darle reconocimiento a este. Después de la transmisión del último bit al amo, el esclavo debe liberar la línea SDA y ponerla a nivel alto. El amo entonces pondrá la línea SDA en nivel bajo y generará un pulso de reloj en la línea SCL. Cuando se termine el pulso del reloj, el amo liberará de nuevo la línea SDA, recuperando el esclavo el control de la línea SDA. El reconocimiento del byte recibido por el amo siempre es necesario excepto en el último byte. Si el amo quiere terminar la recepción de datos del esclavo, debe enviar un no reconocimiento para que el esclavo no recupere el control de la línea SDA y pueda ser generada la condición de parada por el amo [25].
3.2.2 Algoritmo de lectura de datos del reloj Una vez conocido el funcionamiento de la interfaz I2C es posible explicar el algoritmo empleado para la lectura de los registros del RTC DS1307, el cual ocurre cada vez que se detecte una subida. Para ello se emplea como guía el diagrama en bloques mostrado en la figura 3.7. El microcontrolador, después de generar el inicio y enviar la palabra de control, espera por el reconocimiento del RTC. En caso de no recibir reconocimiento, se repite el procedimiento hasta cinco veces. Si en cinco ocasiones no hay reconocimiento por parte del RTC, sale de esta subrutina mostrando alguna señal de error. En caso de recibir el reconocimiento se procede a la lectura del RTC. En la lectura de cada uno de los siete registros de hora y fecha del RTC, el microcontrolador genera el reconocimiento de los datos recibidos y los guarda en memoria. Una vez obtenidos los siete registros no envía reconocimiento para poder dar parada al RTC. La subrutina de lectura del reloj se muestra en el anexo 4B, así como el resto de las subrutinas del reloj.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
56
56
Capítulo 3. Análisis e implementación del Software
Figura 3.7 Diagrama en bloques para lectura del RTC.
3.3 Transmisión por puerto serie En este trabajo se emplea la transmisión por puerto serie para transmitir los datos de lluvia y momento en que esta ocurre hacia una computadora. En la computadora debe haber una herramienta que permita visualizar la información que se le envía. Se empleó el programa Proteus 7 Profesional que tiene un simulador del puerto serie de la computadora (RS-232) y una herramienta llamada Terminal Virtual para visualizar la información que se recibe. Para poder establecer la comunicación entre los dispositivos, no basta con enviar el dato a transmitir hacia el puerto serie del microcontrolador. Aspectos como el formato y la velocidad en que deben ser enviados los datos toman gran importancia y deben ser definidos antes de comenzar una comunicación. El primero está relacionado con el modo en que se programa el puerto serie para establecer la comunicación y el segundo con la frecuencia de baudios a
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
57
57
Capítulo 3. Análisis e implementación del Software
que se programa dicho puerto para la transmisión/recepción. Para que los dos dispositivos
se
puedan
comunicar
correctamente,
ambos
deben
estar
programados en el mismo modo de trabajo y con la misma frecuencia de baudios. El puerto serie puede operar en cuatro modos de trabajo diferentes, los que son seleccionados utilizando los bits 6 y 7 del registro SCON, Registro de Control del Puerto Serie. En el anexo 5 se muestra el registro SCON, que es uno de los registros de funciones especiales del microcontrolador. El modo del puerto serie empleado es el modo 1. Para la comunicación se utilizan 10 bits que son transmitidos a través de TxD o recibidos a través de RxD, como se ilustra en la figura 3.8.
Figura 3.8 Paquete de dato a transmitir o recibir en el Modo 1. El primer bit que se transmite es el correspondiente al bit de inicio, BI, seguido de los 8 bits de datos comenzando por el bit menos significativo, bms, y terminando con el Bit Más significativo, BMs, concluyendo la transmisión con el envío del bit de stop , BS. La transmisión de un dato serie comienza con su escritura en el registro almacenador SBUF mediante una instrucción de escritura del 8051. La frecuencia de baudios entregada al puerto serie en el microcontrolador es generada por el Timer 1 seleccionado para trabajar como temporizador en el Modo 2 con autorrecarga. Como temporizador el Timer cuenta los ciclos de máquina y en el Modo 2 trabaja en el modo de autorrecarga como contador de 8 bits cargándose en TH1 el valor en que se desea comience el incremento del contador cada vez que se desborde [26]. En el microcontrolador que se emplea en este trabajo, para lograr una frecuencia de baudios de 9,6 KHz trabajando con un cristal de cuarzo de 11,059 MHz, en TH1 se carga el valor 0DCh [17]. En el anexo 4C se muestra la atención a puerto serie desarrollada en este trabajo. “Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
58
58
Capítulo 3. Análisis e implementación del Software
Para facilitar la simulación con el empleo del Terminal Virtual, se transmiten los datos por el puerto serie en código BCD de dos bytes. Para ello es necesario convertir cada byte hexadecimal a transmitir en dos bytes BCD, los cuales representan los nibbles del byte hexadecimal. Primero se transmite el nibble más significativo y luego el menos significativo. La subrutina empleada para separar un dato hexadecimal en dos nibbles BCD se muestra en el anexo 4D.
3.4 Atención a la memoria EEPROM En la memoria EEPROM 24LC512 se van a ir almacenando los datos de lluvia junto a la hora y fecha en que ocurren. Esta memoria también emplea la interfaz I2C antes explicada. Con el objetivo de aprovechar al máximo la capacidad de la memoria, se realizó un estudio de la cantidad de bits necesarios para cada uno de los datos a guardar y así reducir el tamaño total de las muestras. Se decidió no tomar en cuenta el año ni el día de la semana por no ser información indispensable para calcular la intensidad de lluvia. El dato de lluvia que se almacena, es el de la cantidad de pulsos de subida detectados antes de que se vacíe la cámara de flotación, dato que se hace coincidir con la altura que va alcanzando el vástago. En el equipo diseñado la altura máxima posible es de 38 subidas, equivalente a 9,5 mm de agua dentro de la cámara de flotación. En la tabla 3.3 se muestra el resultado final de la cantidad de bits necesarios por cada dato a guardar. Tabla 3.3 Cantidad de bits necesarios por cada dato a guardar.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
59
59
Capítulo 3. Análisis e implementación del Software
La muestra inicial de 8 bytes se puede reducir a 4 bytes (32 bits), aprovechándose el doble la capacidad de la memoria. La subrutina empleada para la reducción de 8 a 4 bytes se muestra en el anexo 4E. En la figura 3.9 se observa el formato en que quedan guardados los datos en la memoria.
Figura 3.9 Formato en que se guardan los datos en memoria.
Con esta reducción, cada dato de lluvia y momento en que esta ocurre tendrá un tamaño en memoria de 4 bytes. Teniendo en cuenta que la resolución impuesta al patrón fue de 0,25 mm, a 1 mm de lluvia corresponderán cuatro detecciones de subida, en la memoria se pueden almacenar hasta 4000 mm de lluvia. Este resultado se obtuvo de la ecuación 3.1, donde L es la cantidad de lluvia que se puede almacenar en la memoria, C la capacidad de la memoria, N el número de pulsos que corresponde a un milímetro de lluvia y D la cantidad de bytes que corresponden a un registro. L =
C
(3.1)
N ∗ D
Para el llenado de la memoria, se tuvo en cuenta que en ella se puede escribir byte a byte o en forma de página de hasta 127 bytes. Debido a que la memoria tiene un límite de veces en que se puede escribir o leer y el RTC DS1307 tiene una memoria RAM de 56 bytes, se decidió emplear el modo página y escribirla cada vez que se hayan almacenado 32 bytes en la RAM del RTC. De esta forma se alarga el ciclo útil de la memoria EEPROM y se aprovechan las facilidades que brinda el RTC. Para la escritura en modo página de la memoria 24LC512, se implementa I2C en el formato mostrado en la figura 3.10 [23].
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
60
60
Capítulo 3. Análisis e implementación del Software
Figura 3.10 Escritura en modo página. Para guardar los datos en la memoria EEPROM se siguieron los pasos del diagrama en bloques mostrado en la figura 3.11. La subrutina que implementa este diagrama también se encuentra en la subrutina de atención a la subida y se muestra en el anexo 4F.
Figura 3.11 Diagrama en bloques para escritura en la memoria.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
61
61
Capítulo 3. Análisis e implementación del Software
Cada vez que se detecte una subida y se lean los datos de fecha y hora del reloj, se realiza la conversión a 4 bytes, los cuales se guardan en la memoria RAM del RTC. Una vez almacenados 32 bytes se le da inicio a la memoria EEPROM y se envían los datos de 4 en 4 bytes aprovechando el modo página, el cual permite ir almacenando datos sin escribirlos hasta que no se le dé parada a la memoria. De esta forma, la memoria EEPROM, que cuenta con una capacidad de 64 Kbyte, puede ser escrita 2000 veces antes de llenarse, resultado de dividir la capacidad de la memoria entre la cantidad de bytes que se guardan en cada registro. Para escribir en el RTC, se sigue el mismo diagrama en bloques de la figura 3.7 pero en lugar de las variables de lectura se emplean las de escritura, el bit 0 de la palabra de control se pone en cero para la escritura y el ciclo sería de escritura de un byte, donde el reconocimiento proviene del esclavo. Las subrutinas de escritura del reloj se muestran en el anexo 4G. La escritura en la memoria EEPROM es igual que la escritura en el RTC pues ambos emplean la interfaz I2C. La única diferencia está en la palabra de control y la dirección a partir de la cual se va a escribir, en la memoria posee parte alta y parte baja por tener más capacidad de escritura. Las subrutinas de escritura en la memoria EEPROM se muestran en el anexo 4H.
3.5 Atención al electroimán El electroimán, como se explicó en el epígrafe 2.8, es el encargado de proporcionarle el impulso necesario al vástago para cebar al sifón y que se produzca el vaciado de la cámara de flotación. Para activar al electroimán es necesario que el microcontrolador ponga a nivel bajo el pin al cual se conecta el circuito que atiende al dispositivo durante un segundo, tiempo necesario para provocar un golpe sostenido. El momento de generar este golpe es cuando la cámara de flotación se encuentre al límite de su capacidad de llenado. La función de la subrutina de atención al electroimán es detectar el momento en que el vástago alcanza su altura máxima para generar el golpe. Esto se
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
62
62
Capítulo 3. Análisis e implementación del Software
logra mediante un previo conocimiento de la cantidad de subidas que se pueden obtener con el patrón diseñado. Dada la posibilidad de que se no se detecten todas las subidas o se detecten de más por errores ajenos al equipo en diseño, se decide generar el golpe a partir de que el vástago llegue a la penúltima subida. En caso de que se pierda un pulso el golpe en la penúltima subida ceba al dispositivo; si no se pierde ninguno este golpe no lo ceba pero tampoco lo afecta por lo que al siguiente pulso, que sería el de la altura máxima, el golpe provoca el vaciado. En caso de que se obtengan exceso de pulsos el electroimán se activa con todos los pulsos que se obtengan a partir de la altura máxima hasta que ocurra el cebado. Como guía para crear esta subrutina se creó el diagrama en bloques mostrado en la figura 3.12. La subrutina para saber si el vástago llegó a la altura máxima y activar al electroimán se muestra en el anexo 4I y forma parte de la subrutina de atención a la subida.
Figura 3.12 Diagrama en bloques para atención a electroimán.
“Automatización del Pluviógrafo P-2”
Capítulo 3. Análisis e implementación del Software
63
63
Capítulo 3. Análisis e implementación del Software
3.6 Conclusiones parciales 1. Se logró implementar en el microcontrolador un programa en lenguaje Ensamblador
para
interpretar
y
procesar
las
señales
eléctricas
provenientes del encoder. 2. Se implementó la comunicación serie entre el microcontrolador y la computadora empleando la interfaz RS-232. 3. La comunicación entre el microcontrolador y el Reloj de Tiempo Real y la memoria EEPROM se logró creando un bus de comunicaciones I2C. 4. Se implementó una subrutina para generar el vaciado del pluviógrafo a través de un electroimán.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
64
64
Capítulo 4. Resultados y análisis económico
Capítulo 4. Resultados y análisis económico. En este capítulo se explican las simulaciones realizadas con la herramienta Proteus 7 Professional para comprobar el funcionamiento y la eficiencia de las subrutinas creadas, aplicadas al hardware diseñado. Una vez realizadas las simulaciones se procede a comprobar en la práctica el correcto funcionamiento del prototipo realizando pruebas reales en el laboratorio del CIH. Por último se realiza un breve análisis económico para tener una noción del costo del hardware seleccionado en el prototipo diseñado.
4.1 Simulación en Proteus Para comprobar teóricamente el funcionamiento del hardware y software desarrollado se simularon, primero por separado y luego en conjunto, los bloques desarrollados en los Capítulos 2 y 3 empleando la herramienta Proteus 7 Professional.
4.1.1 Simulación de los sensores de movimiento Esta simulación se realiza con el objetivo de validar el software creado para la detección de señales explicado en el epígrafe 3.1. La simulación consiste en generar las señales en cuadratura que se obtienen al interactuar los pares ópticos con el patrón y procesarlas con el software creado para identificar subidas y bajadas. La función de los pares ópticos es generar las señales que indican el movimiento y el sentido del vástago al interactuar con el patrón diseñado. Como se explicó en el epígrafe 2.1, en un sentido la señal de un par óptico se antepone 90° a la del otro par y, en el sentido contrario, queda retrasado 90°. De esta forma se van obteniendo las señales en cuadratura. Para poder simular estas señales desfasadas en los dos sentidos, se empleó un 8051 como generador de dos canales de pulsos en cuadratura. La generación de los pulsos desfasados puede ser con pulsos largos y de distinta “Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
65
65
Capítulo 4. Resultados y análisis económico
duración para simular la caída de lluvia, proceso lento y variable o con pulsos cortos e iguales para simular el vaciado del dispositivo, proceso rápido y constante. La duración de cada uno de los pulsos se puede variar en el software diseñado en dos listas de valores que se guardan en memoria de programa. Estas listas corresponden a los valores de los pulsos de las señales originales de subida y bajada; a partir de ellas se van conformando las señales en cuadratura sumando valores adyacentes en una misma lista y dividiendo entre dos. El programa diseñado para generar los canales de pulsos en cuadratura en los dos sentidos de dirección se muestra en el anexo 4J. Al conectar el microcontrolador generador de pulsos con el microcontrolador a emplear, se comprueba el correcto funcionamiento del software creado para la detección de señales. Para la simulación se empleó un 8051 clásico debido a que el Proteus no posee el modelo escogido para este trabajo, sin que esta decisión altere los resultados obtenidos. A modo de ayuda visual, para indicar el sentido del movimiento detectado, se emplean dos leds representando cada uno un sentido. Al producirse una subida y el software diseñado detectarla, se encenderá el led conectado al pin P1.2. Lo mismo ocurre para la bajada con el led conectado al pin P1.3. El pin P1.5 se emplea para indicar al 8051 generador de pulsos cuál señal quedará desfasada con respecto a la otra. En la figura 4.1 se ilustra la conexión antes explicada.
Figura 4.1 Simulación de la detección del sentido.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
66
66
Capítulo 4. Resultados y análisis económico
Una vez culminada la simulación, se comprobó que el programa creado detecta satisfactoriamente tanto los pulsos de subida como los de bajada.
4.1.2 Simulación del RTC Con el objetivo de comprobar las subrutinas de lectura y escritura I2C creadas para interactuar con el RTC, se simula un 8051 clásico conectado al reloj de tiempo real DS1307, dispositivo que sí se empleará en la práctica. El Proteus posee el reloj a emplear con una ventana auxiliar que va mostrando los datos de fecha y hora que posee el dispositivo. Este reloj permite ser leído o actualizado con las subrutinas correspondientes. Se aprovecha el analizador de protocolo de I2C que brinda Proteus, el cual permite monitorear e interactuar con el bus I2C. Este analizador tiene como propósito visualizar los datos que circulan a lo largo del bus I2C. Su empleo es de gran ayuda pues permite monitorear y probar el funcionamiento de las subrutinas creadas. En la figura 4.2 se ilustra el circuito simulado junto con la ventana del RTC y la ventana del analizador de protocolo I2C.
Figura 4.2 Simulación del RTC Como resultado de esta simulación se logró modificar los registros de tiempo del reloj, leer dichos registros de tiempo y almacenar datos en la memoria RAM
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
67
67
Capítulo 4. Resultados y análisis económico
del RTC, lo que demuestra el correcto funcionamiento de las subrutinas creadas.
4.1.3 Simulación del puerto serie Para conocer el comportamiento de una comunicación por puerto serie entre dos terminales y comprobar las subrutinas creadas para transmitir y recibir datos empleando el puerto serie, se simula un 8051 clásico conectado a un modelo de interfaz físico de un puerto serie que posee el Proteus llamado COMPIM. A diferencia del resto de las simulaciones, la elección del 8051 clásico, no permite el empleo íntegro de la subrutina creada para el AT89LP4052 debido a que las bases de tiempo de los mismos son distintas. Es por esto que la constante de autorrecarga del TIMER 1 en la transmisión por puerto serie se debe cambiar a 0FDH para la simulación con el 8051 clásico. El simulador de puerto serie COMPIM permite que los datos entrantes sean presentados al circuito como una señal digital y los datos digitales generados desde la simulación comparezcan en el puerto COM físico de la computadora. El modelo COMPIM permite escoger la velocidad de baudios y las señales de control propias del puerto serie. La importancia del dispositivo reside en permitir que cualquier equipo físico equipado con un puerto serie interactúe con una simulación realizada en Proteus. Para transmitir y recibir los datos que transitan por el puerto serie se emplea el Terminal Virtual que brinda Proteus. Este terminal permite que, utilizando el teclado y la pantalla de la computadora, se transmitan y reciban datos a través de la interfaz RS-232 hacia y desde un microcontrolador simulado. El dispositivo permite escoger la velocidad de baudios y el formato de los datos para ser enviados y recibidos por el puerto serie. En la simulación realizada se emplea una pareja de COMPIM para simular dos puertos
físicos
y
establecer
una
comunicación
bidireccional
entre
el
microcontrolador y un Terminal Virtual que representa a la computadora. Además se incorpora otro Terminal Virtual al pin P3.0, pin de recepción del puerto serie del 8051, para visualizar los datos que recibe el microcontrolador a través del puerto serie. En el Terminal Virtual correspondiente a la “Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
68
68
Capítulo 4. Resultados y análisis económico
computadora se muestra la información proveniente del 8051 resultado de la subrutina de transmisión creada. En la figura 4.3 se muestra la simulación por puerto serie antes explicada.
Figura 4.3 Simulación del puerto serie Con esta simulación se comprobaron las subrutinas de transmisión y recepción creadas para la comunicación a través del puerto serie. Además se profundizó en el funcionamiento de los dispositivos de simulación del Proteus COMPIM y Terminal Virtual, los cuales serán necesarios para lograr la comunicación por puerto serie entre el equipo automatizado y la computadora.
4.1.4 Simulación de la memoria EEPROM Para comprobar la subrutina de escritura en la memoria 24LC512, se simula nuevamente un 8051 clásico conectado a dicha memoria. En la programación se emplean las subrutinas de la interfaz I2C ya verificadas en la simulación del RTC. En la simulación se aprovecha el analizador de protocolo de I2C para monitorear e interactuar con el bus I2C.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
69
69
Capítulo 4. Resultados y análisis económico
En la figura 4.4 se ilustra la simulación de la memoria EEPROM.
Figura 4.4 Simulación de la memoria EEPROM. Al concluir esta simulación se logró comprobar el funcionamiento de la subrutina de escritura en la memoria 24LC512, empleando las subrutinas de escritura para la interfaz I2C.
4.1.5 Simulación completa Una vez comprobado el funcionamiento de cada uno de los bloques por separado, se procede a simular de forma íntegra el diseño realizado para comprobar el programa final con que trabajará el equipo automatizado. Para ello se emplean cada uno de los componentes de Proteus explicados en las simulaciones previas junto con un circuito que simula al electroimán. Como el Proteus no posee entre sus componentes ningún electroimán, la activación del mismo se representa con el encendido de un led. Con el 8051 como generador de pulsos se obtienen las señales variables en cuadratura que simulan la caída de lluvia dentro del pluviógrafo. Estas señales se procesan con el microcontrolador seleccionado, de forma tal que cada vez que se detecte una subida se lean del RTC los registros de tiempo, se envíen por puerto serie los datos de tiempo junto al número de subidas y se almacenen en memoria en caso de que se hayan alcanzado ocho subidas. Si
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
70
70
Capítulo 4. Resultados y análisis económico
el número de subidas es mayor o igual que 37 se activa el circuito del electroimán, imponiendo al generador de pulsos la entrega de las señales de forma constante y con un desfasaje de -90° para simular la bajada. El microcontrolador detecta las bajadas y, al llegar a cero, le impone al generador de pulsos que vuelva a entregar las señales con un desfasaje de 90° para simular la subida. En la figura 4.5 se muestra la simulación completa del diseño realizado.
Figura 4.5 Simulación completa. Al término de esta simulación se comprobó el correcto funcionamiento del programa creado para lograr la automatización del pluviógrafo P-2.
4.2 Resultados experimentales Al concluir con las simulaciones y teniendo en cuenta los resultados que estas arrojaron, se pasó a realizar pruebas reales con el equipo en el laboratorio del CIH para comprobar su funcionamiento en la práctica. Las pruebas consisten en someter al equipo diferentes caudales que simulan intensidades de lluvia. El objetivo es comprobar si el equipo es capaz de “Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
71
71
Capítulo 4. Resultados y análisis económico
registrar dichas intensidades sin perder muestras, si la transmisión por el puerto serie y la escritura en memoria funcionan bien y comprobar que el electroimán es capaz de cebar al equipo sin importar la intensidad de lluvia que se esté reportando. Para probar la transmisión por el puerto serie se utiliza una computadora y la herramienta del Proteus Terminal Virtual antes explicada, la cual permite visualizar los registros de precipitaciones en la pantalla de la computadora. Cada dato se almacena en la memoria a través de las subrutinas explicadas en el Capítulo 3. La forma de comprobar que la escritura ha sido correcta es utilizando un programador paralelo para leer la memoria. Se emplea una manguera conectada a una tubería por donde circula el agua que es impulsada por una motobomba. El otro extremo de la manguera se introduce
en
una
válvula,
la
cual
se
regula
para
lograr
el
caudal
correspondiente a la intensidad de lluvia deseada. La forma de calcular el caudal a partir de la intensidad es a través de la ecuación 4.1 donde Q es el caudal, A es el área de captación del embudo colector del pluviógrafo, la cual es de 500 cm 2, e I es la intensidad de las precipitaciones [3].
Q
= A ⋅ I
4.1
Una vez calculado el caudal a partir de la intensidad deseada se intenta administrar ese caudal regulando la válvula. La forma de medir el caudal administrado es por aforo volumétrico empleando una probeta graduada y un cronómetro. El valor de caudal se obtiene de la ecuación 4.2, donde V es el volumen y t es el tiempo [3].
Q=
V t
4.2
La forma de realizar la medición es tomando el tiempo que demora en llenarse un volumen determinado de la probeta. La probeta empleada es de 50 ml con graduación de 0,5 ml y el cronómetro tiene una resolución de una décima de segundo.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
72
72
Capítulo 4. Resultados y análisis económico
En el anexo 6 se muestran imágenes de los instrumentos empleados y el equipo diseñado conectado al pluviógrafo durante las pruebas. Una vez obtenidos los datos de lluvia junto a la hora y fecha en que esta ocurre, se realiza la curva de masa para obtener el dato de la intensidad a partir de la pendiente de la línea de tendencia de la curva. El buen funcionamiento del equipo se comprueba si, al comparar la intensidad de lluvia que se obtiene a partir de la curva de masa con la intensidad de lluvia que se está administrando al pluviógrafo, se obtienen valores similares. Se realizaron cinco pruebas, en las cuales se sometió al equipo a caudales de agua correspondientes a lluvias de diferentes intensidades. Se tomó como caso extremo una intensidad de 180 mm/h, de acuerdo con la decisión inicial de lluvia máxima que debe detectar el equipo.
4.2.1 Prueba para una intensidad de lluvia de 180 mm/h Con el dato de intensidad se calcula el caudal sustituyendo en la ecuación 4.1 los parámetros área e intensidad. Q = 500 cm2 * 180 mm/h Q = 9000 cm3 / 3600 seg, como 1 cm3 = 1 ml Q = 2,5 ml/seg El caudal a administrar, según los resultados obtenidos, es de 2,5 ml por segundo. Para generar este caudal de agua se debe regular la válvula hasta lograr llenar 50 ml de la probeta en 20 segundos. Por problemas de regulación de la válvula se hizo muy difícil obtener el caudal de agua exacto, obteniéndose 50 ml en 21 segundos. Al sustituir en la ecuación 4.2 se obtiene que el caudal administrado es de 2,39 ml por segundo. A partir de este caudal, y despejando de la ecuación 4.1, se obtiene que el valor real de intensidad de lluvia administrado es de 171,36 mm/h. Una vez concluida la prueba, con los datos obtenidos en la computadora a través del puerto serie, mostrados en el anexo 7A, se realizaron las curvas de masa correspondientes a los dos primeros llenados para calcular la intensidad. En la figura 4.6 se ilustran las curvas de masa obtenidas con sus líneas de tendencia.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
73
73
Capítulo 4. Resultados y análisis económico
Figura 4.6 Curvas de masa de la primera prueba. Como los valores de las gráficas están en segundos, para hallar el valor de intensidad en milímetros por hora es necesario multiplicar el valor de las pendientes obtenidas por 3600. Al multiplicar se obtiene el siguiente resultado: I1 = 172,08 mm/h I2 = 158,4 mm/h Durante el primer llenado se lograron los resultados esperados. No se perdieron datos en las mediciones y el electroimán fue capaz de cebar al pluviógrafo en el instante deseado. La intensidad de lluvia obtenida es cercana a la administrada al pluviógrafo en el experimento, con un error del 4,4% de la lectura. En el segundo llenado, manteniendo el mismo caudal del primero, no se obtuvieron los mismos resultados. Esto se debe a dos razones; la primera es que el caudal fue disminuyendo como resultado de la dificultad de mantener un caudal constante con las instalaciones y dispositivos con que se realizaron las pruebas. La segunda razón es un pulso de bajada que se detectó sin haberse activado el electroimán, lo que produjo que se repitiera la misma altura del vástago en dos ocasiones provocando una variación en la pendiente. Esta bajada se detectó gracias a la corrección de errores implementada. La causa no se conoce, pero de no haberse detectado dicha bajada el equipo pudo quedar descalibrado y no se hubiera activado el electroimán.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
74
74
Capítulo 4. Resultados y análisis económico
Para evitar que este tipo de errores influya en el resultado, se recomienda, en el pos-procesamiento de los datos, representar las curvas de masas por separado a partir del dato o los datos repetidos. En la figura 4.7 se muestra el segundo llenado representado en dos curvas de masa.
Figura 4.7 Curvas de masa del segundo llenado.
I antes de la bajada detectada = 165,6 mm/h I después de la bajada detectada = 162 mm/h Como se puede observar, se obtienen dos intensidades más acertadas que la obtenida anteriormente.
4.2.2 Prueba para una intensidad de lluvia de 112,5 mm/h En la segunda prueba se siguieron las mismas condiciones que en la primera pero con una intensidad de lluvia constante de 112,5 mm/h, lo que equivale a un caudal de 1,56 ml/seg. Este caudal se comprobó en varias ocasiones, obteniendo siempre que en la probeta se alcanzan los 50ml de agua a los 32 segundos. Al aplicar la ecuación 4.2, se obtiene un caudal de 1,562 ml/seg el cual es muy cercano al valor deseado. En la figura 4.8 se muestran las curvas de masa graficadas a partir de los datos obtenidos por el puerto serie, los cuales se muestran en el anexo 7B.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
75
75
Capítulo 4. Resultados y análisis económico
. Figura 4.8 Curvas de masa de la segunda prueba. La intensidad obtenida durante ambos llenados fue la misma de 108 mm/h. En esta prueba se lograron los resultados esperados con bastante exactitud, pues el valor obtenido de intensidad de lluvia sólo posee un 4% error con respecto al valor esperado. Esto demuestra que el equipo registra perfectamente los datos de las intensidades de lluvia cercanas a 110 mm/h.
4.2.3 Prueba para una intensidad de lluvia de 50 mm/h En la prueba el caudal a generar es de 0,694 ml/seg a partir de la intensidad de lluvia constante de 50 mm/h. En la práctica se llegó a 50 ml en 73 segundos en la probeta. Al aplicar la ecuación 4.2 se obtiene un caudal de 0,684 ml/seg, lo que equivale a una intensidad de lluvia generada de 49,25 mm/h. Las curvas de masa obtenidas se ilustran en la figura 4.9, las cuales se graficaron a partir de los datos mostrados en el anexo 7C.
Figura 4.9 Curvas de masa de la tercera prueba. La intensidad de lluvia durante el primer llenado es de 46,8 mm/h, valor con un 5% de error con respecto a la intensidad de lluvia generada. Durante el
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
76
76
Capítulo 4. Resultados y análisis económico
segundo llenado disminuyó al caudal detectado producto de la disminución del caudal generado, por lo que no se tomará en cuenta. En esta prueba se detectaron todas las subidas y se activó al electroimán en el momento exacto, quedando demostrado que el equipo registra sin problemas los datos a intensidades de lluvia cercanas a 50 mm/h.
4.2.4 Prueba para una intensidad de lluvia de 5 mm/h Para esta prueba se redujo la intensidad de lluvia constante a 5 mm/h. Este valor caracteriza a la lluvia como moderada. Aplicando la ecuación 4.1 se obtiene un caudal de 0,069 ml/seg. En esta prueba sólo se tomaron 24 datos debido a que era un caudal muy bajo. La curva de masa obtenida se muestra en la figura 4.10, realizada a partir de los datos mostrados en el anexo 7D.
Figura 4.10 Curva de masa de la cuarta prueba. Al calcular la intensidad de la lluvia se obtienen 5,11 mm/h. Esto representa un 2,2% de error con respecto al valor esperado. Los resultados alcanzados fueron bastante cercanos a los esperados.
4.2.5 Prueba para distintas intensidades de lluvia La última prueba se realizó para simular una lluvia real en la que aparecen varias intensidades, incluso se dejó de verter agua en el pluviógrafo durante un intervalo de tiempo para comprobar el comportamiento del equipo en el momento que escampa.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
77
77
Capítulo 4. Resultados y análisis económico
Con los resultados obtenidos a través del puerto serie, mostrados en el anexo 7E, se simuló la curva de masa que se muestra en la figura 4.12.
Figura 4.12 Curva de masa de la quinta prueba. Las intensidades de lluvia obtenidas fueron: I1 = 158,4 mm/h I2 = 7,2 mm/h I3 = 86,4 mm/h I4 = 54 mm/h I5 = 3,6 mm/h I6 = 194,4 mm/h Durante los 15 minutos de la prueba experimental se detectaron 6 intensidades de lluvia distintas, destacando el máximo de 194,4 mm/h. La mínima detectada corresponde a un período sin lluvia, pero como el equipo almacena y envía datos cada vez que detecta subidas, resulta imposible obtener una curva con pendiente cero. Para comprobar que los datos se almacenan de forma correcta en la memoria, esta se inserta en un programador paralelo y, empleando el programa WinLV, se lee el contenido de sus direcciones. Los datos obtenidos se muestran en el anexo 7F. De estos datos, cada uno de 4 bytes, se escogieron tres de forma aleatoria para comprobar si coinciden con el valor esperado. La comparación se realiza entre el dato recibido por puerto serie y el correspondiente almacenado en memoria. Esta comparación se
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
78
78
Capítulo 4. Resultados y análisis económico
muestra en el anexo 7G. Los resultados obtenidos fueron satisfactorios pues los tres datos tomados coinciden con el valor esperado. Esta prueba sirvió para demostrar el buen funcionamiento del equipo ante variaciones de intensidades en corto tiempo y para comprobar que los datos se almacenan de forma correcta en la memoria.
4.2.6 Discusión de los resultados Al concluir las pruebas los resultados fueron satisfactorios, obteniéndose errores de lectura menores del 5% para los valores de intensidades de lluvia registrados. Estos errores son debidos a que en las condiciones en que se realizaron las pruebas no era posible mantener un caudal de agua constante dado lo pequeño de este. En las pruebas realizadas el equipo no perdió muestras, demostración de que los errores obtenidos en la medición no son debido al equipo. Se comprobó que el equipo trabaja bien para intensidades de lluvia de 5, 50, 110 y 180 mm/h; además de que detecta las variaciones y la ausencia de precipitaciones sin problemas. La máxima intensidad de lluvia detectada fue de 194,4 mm/h, superior al máximo valor que se desea detectar de 180 mm/h. Se realizó la transmisión por el puerto serie y la escritura en memoria de forma correcta. El electroimán logró cebar al pluviógrafo en todas las ocasiones gracias a la validación de errores realizada en el algoritmo de atención al vaciado del dispositivo. Se puede arribar a la conclusión de que el dispositivo cumple con los requisitos para los que fue diseñado.
4.3 Análisis económico Por último, para finalizar este trabajo, se realiza un breve análisis del costo que tendrá el equipo teniendo en cuenta sólo el valor de los dispositivos empleados. A continuación se muestra una tabla con los dispositivos empleados en el diseño y el costo de los mismos ofrecido por Farnell [27].
Tabla 4.1 Costo por dispositivos empleados.
“Automatización del Pluviógrafo P-2”
Capítulo 4. Resultados y análisis económico
79
79
Capítulo 4. Resultados y análisis económico Dispositivo AT89LP4052 Crystal 11,059MHz EE-SX298 Operacional DS1307 Crystal 32,76KHz Pila 3v 24LC512 MAX232A Conector DB9 Conector ISP Electroimán Relay Transistor PNP Diodo 7805 Led Tecla Resistencia Capacitor Total
Precio (cuc) Cantidad 2,58 1 1,89 1 2,15 2 1,05 2 5,8 1 1,48 1 3,51 1 7,28 1 9,17 1 5,13 1 3,15 1 23,3 1 5 1 0,1 1 0,03 1 1,07 1 0,15 2 1,23 1 0,2 20 0,15 10 81,42
En la etapa en que se encuentra el equipo todavía no es posible calcular el costo real, el cual se determinará cuando se ponga a punto el mismo. Pero si es posible, al menos, tener un estimado que permite concluir que el costo real de este equipo va a estar muy por debajo de los precios de los pluviógrafos que hoy existen en el mercado mundial. Esto corrobora la conclusión a la que se arribó en el primer capítulo de que es más factible automatizar los pluviógrafos modelo P-2 existentes en el país que adquirir los que se ofertan hoy en el mercado mundial.
4.4 Conclusiones parciales 1. Se comprobó, mediante la simulación en Proteus, la validez del software creado implementado en el hardware diseñado. 2. A través de las pruebas realizadas se comprobó el buen funcionamiento del prototipo diseñado y que este cumple con los requisitos planteados. 3. Mediante un breve análisis económico se comprobó la factibilidad de automatizar los pluviógrafos P-2 existentes en el país.
“Automatización del Pluviógrafo P-2”
80
80
Conclusiones De acuerdo con los objetivos trazados se llegó a las siguientes conclusiones: 1. Se logró convertir el movimiento lineal del vástago del pluviógrafo en una señal eléctrica empleando un encoder óptico incremental bidireccional diseñado con 2 pares ópticos EE-SX298. 2. Se
escogió
y
programó
un
microcontrolador,
en
específico
el
AT89LP4052, para interpretar y procesar las señales eléctricas provenientes del encoder e interactuar con el resto de los dispositivos a emplear. 3. Para obtener los datos de hora y calendario con exactitud se emplea un Reloj de Tiempo Real, en específico el DS1307. 4. Para transmitir en tiempo real los datos de cantidad de lluvia junto a la fecha y hora en que la misma ocurre, se implementó la comunicación serie empleando la interfaz RS-232. 5. La memoria de registro escogida para almacenar los datos será una EEPROM, en específico la 24LC512. 6. A través de las pruebas reales se comprobó el buen funcionamiento del prototipo diseñado, y que este cumple con los requisitos planteados. 7. Se comprobó, mediante un breve análisis económico, la factibilidad de automatizar los pluviógrafos P-2 existentes en el país.
“Automatización del Pluviógrafo P-2”
81
81
Recomendaciones A partir de todo lo anterior se recomienda:
Pasar a otras etapas de construcción del equipo para automatizar el pluviógrafo, como su montaje y puesta a punto.
Continuar desarrollando este proyecto para lograr un diseño que trabaje en bajo consumo, debido a la importancia que supone el ahorro de baterías.
Mejorar el sistema hidráulico de simulación de intensidad de lluvia para lograr caudales constantes y poder hacer una caracterización metrológica del equipo.
Implementar la comunicación serie a través de la interfaz de comunicación RS-485, para lograr comunicar el prototipo con equipos autómatas con el fin de poder insertarlo en redes de telecontrol ya existentes en el país.
Elaborar una herramienta informática que permita el post procesamiento de los datos de precipitaciones obtenidos.
“Automatización del Pluviógrafo P-2”
82
82
Referencias bibliográficas [1] Segerer, Carlos y Villodas, Rubén. Hidrología I . Argentina, 2006.
[2] Principios de hidrogeografía. Textos universitarios, Núm 1. Disponible en: www.igeograf.unam.mx/instituto/publicaciones/libros/hidrogeografia/cp2.pdf [3] Campos, Aranda. Procesos del ciclo hidrológico . Capítulo 4. 1992.
[4] Descripción del Pluviómetro. Disponible en: www.pluviometro.com/nuesplu/descripplu.htm [5] Manual de instrumentos para el observador meteorológico . Departamento del Instrumentos, Instituto de Meteorología. 1988.
[6] Chappell, R. R. y otros. Float type rain gauge. U. S. Patent No. 2118459, Mayo 24, 1938
[7] Barker, A. G. Rain and like precipitation gauges. U. S. Patent No. 3243999, Abril 5, 1966.
[8] Scientific Sale: 609 Rainfall Recording. Disponible en: www.scientificsales.com/609-Rainfall-Recording-System-p/609.htm.
[9] Madge Tech: Rain110 Heated Rainfall Recording System. Disponible en: www.evergood.co.kr/sub/download/rain110_ds.pdf. [10] Tipping Bucket Rain Gages & Electric Rain/Show Gages. Disponible en: www.omega.com/Temperature/pdf/RGB-2500.pdf. [11] Gestión integrada del agua. Disponible en: www.hidro.cu/hidrología1.htm
[12] Barrios, Sergio. Sensores para medir desplazamiento. Disponible en: www.infoplc.net
“Automatización del Pluviógrafo P-2”
83
83 [13] Taberner, Rafael. Encoders ópticos. Disponible en: www.gii.upv.es
[14] AGILENT TECHNOLOGIES: AEDS-962x for 150 LPI. Ultra Small Optical Encoder Modules. Datashet. 2002. [15] OMRON: Opto–Switch. EE–SX298. Datashet, 2006. [16] Millman, Jacob y Arvin Grabel : Microelectronica . 1987. [17] ATMEL: 8-bit Microcontroller with 2/4-Kbyte Flash. AT89LP2052. Datashet. 2007.
[18] ATMEL:8051 Single Cycle Core Microcontrollers. AT89LP Family Provides High Performance & Low Power. 2006.
[19] ATMEL: Single Cycle 8051 Core – AT89LP Family of High Performance & Low Power Flash Microcontrollers. 2006. [20] Seyer, Martin D. RS-232 made easy : connecting computers, printers,
terminals, and modems . Prentice Hall, 1984.
[21] MAXIM: +5V-Powered, Multichannel RS-232 Drivers/Receivers. Datashet . 2006. [22] DALLAS Semiconductor MAXIM: DS1307 64 x 8 Serial Real-Time Clock. Datashet. 2006. [23] Microchip: 24LC512, 512K I2C™ CMOS Serial EEPROM. Datashet. 2003. [24] Vega, Daniel. Medidor registrador de variables digitales . Tesis de grado. Facultad de Ingeniería Eléctrica. Cujae. 2005.
[25] Philips Semiconductors. Manual de I2C. Nota de aplicación 10216-01. Marzo, 2003
“Automatización del Pluviógrafo P-2”
84
84 [26] González, José. Introducción a los microcontroladores . Ediciones McGraw Hill.
[27] Farnell Electronic Componets. Disponible en: uk.farnell.com/jsp/home/homepage.jsp.
“Automatización del Pluviógrafo P-2”
85
85
Glosario BCD (Binary-Coded Decimal): Código binario decimal. CIH: Centro de Investigaciones Hidráulicas. EEPROM (Electrically-Erasable Programmable Read-Only Memory): Memoria de solo lectura programable y borrable eléctricamente.
I2C (Inter-Integrated Circuit Bus): Bus de comunicación para circuitos integrados.
ID: Curva de intensidad y duración. IDF: Curva de intensidad, duración y frecuencia. INRH: Instituto Nacional de Recursos Hidráulicos. ISP (In System Programin): Programación en el propio sistema. LPI (Lines per inches): Líneas por pulgadas. RAM (Random Acces Memory): Memoria de acceso aleatorio. RTC (Real Time Clock): Reloj de tiempo real. SCL (Signal Clock): Señal de reloj del I2C. SCON: Registro de control de puerto serie. SDA (Signal Data): Señal de dato del I2C. UART
(Universal
Asynchronous
Receiver/Transmitter):
Recepción
transmisión asincrónica universal.
VH: Voltaje de histéresis.
“Automatización del Pluviógrafo P-2”
Anexos Anexo1. Descripción de los pines del AT89LP4052 Pin
Símbolo
Tipo
1
RST
E E
2
P3.0
3
P3.1
4 5
XTAL2 XTAL1
6
P3.2
7
P3.3
8
P3.4
9
P3.5
10
GND
11
P3.7
12
P1.0
13
P1.1
14 15 16
P1.2 P1.3 P1.4
17
18
P1.5 P1.6
E/S E E/S S S E E/S E E/S E E/S E/S E/S E/S E E/S S E/S E E/S E E/S E/S E/S E E/S E/S E/S E/S
19
P1.7
E/S E/S
20
VCC
E
Descripción RST: Reset de entrada externo activo en `1´ VPP: Voltaje Paralelo para la programación. Sube hasta 12V para
habilitar la programación. P3.0: El bit 0 del puerto 3 de E/S es configurable por el usuario RDX: Entrada de recepción del puerto serie. P3.1: El bit 1 del puerto 3 de E/S es configurable por el usuario TDX: Salida de transmisión del puerto serie. XTAL2: Salida desde el oscilador amplificador invertido XTAL1: Entrada para el oscilador amplificador invertido y al circuito interno de generación del reloj P3.2: El bit 2 del puerto 3 de E/S es configurable por el usuario INT0: Entrada de la interrupción externa 0 P3.3: El bit 3 del puerto 3 de E/S es configurable por el usuario INT1: Entrada de la interrupción externa 1 P3.4: El bit 4 del puerto 3 de E/S es configurable por el usuario T0: Entrada del temporizador/Contador 0 o salida del PWM P3.5: El bit 5 del puerto 3 de E/S es configurable por el usuario. T1: Entrada del temporizador/Contador 1 o salida del PWM Tierra P3.7: El bit 7 del puerto 3 de E/S es configurable por el usuario SYSCLK: Salida del Sistema de Reloj cuando el fusible del mismo es habilitado P1.0: El bit 0 del puerto 1 de E/S es configurable por el usuario AIN0: Entrada positiva del Comparador Analógico P1.1: El bit 1 del puerto 1 de E/S es configurable por el usuario AIN1: Entrada negativa del Comparador Analógico P1.2: El bit 2 del puerto 1 de E/S es configurable por el usuario P1.3: El bit 3 del puerto 1 de E/S es configurable por el usuario P1.4: El bit 4 del puerto 1 de E/S es configurable por el usuario SS: Seleccionar el dispositivo como esclavo SPI P1.5: El bit 5 del puerto 1 de E/S es configurable por el usuario MOSI: Salida del amo/Entrada del esclavo SPI. Cuando se configura como amo este pin es una salida y cuando se configura como esclavo es una entrada P1.6: El bit 6 del puerto 1 de E/S es configurable por el usuario MISO: Entrada del amo/Salida del esclavo SPI. Cuando se configura como amo este pin es una entrada y cuando se configura como esclavo es una salida P1.7: El bit 7 del puerto 1 de E/S es configurable por el usuario SKC: Reloj SPI. Cuando se configura como master este pin es una salida y cuando se configura como esclavo es una entrada Voltaje de alimentación
Anexo 2. Esquema eléctrico interno del MAX232A
Anexo 3. Mapa de direcciones del RTC DS1307 Dir (Hex)
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Rango
00
CH
DECIMAS SEGUNDOS
SEGUNDOS
00-59
01
0
DECIMAS MINUTOS
MINUTOS
00-59
02 03
0 0
12
10HR
10H
24
A/P
R
0
0
0
01-12
HORAS 0
00-23
DIA
1-7 01-28/29
04
0
0
DECIMAS
FECHA
FECHA
01-30 01-31
05
0
06 07
0
0
DEC MES
DECIMAS AÑO SALIDA
0
0
SQW E
0
0
MES
01-12
AÑO
00-99
RS1
RS0
Anexo 4. Subrutinas creadas Anexo 4A. Subrutina de detección del sentido del movimiento.
; inicializar el valor de los pulsos en los puertos mov c,p3.5 ;para tomar el primer valor de X0 mov A,#0 mov acc.0,c mov x0,A mov c,p3.4 ;para tomar el primer valor de Y0 mov A,#0 mov acc.0,c mov y0,A ;tomar entradas y compararlas emp: mov c,p3.5 ;para tomar el primer valor de X1 mov A,#0 mov acc.0,c mov x,A mov c,p3.4 ;para tomar el primer valor de Y1 mov A,#0 mov acc.0,c mov y,A mov A, x0 jz cero mov A, y0 jz salto1 mov A, y jz x0disty1 mov A, x jz subiendo0 jmp salto1 x0disty1: mov A, x jnz bajando0 jmp salto1 cero: mov A, y0 jnz salto1 mov A, y jnz x0disty2 mov A, x jnz subiendo1 jmp salto1 x0disty2: mov A, x jz bajando1 jmp salto1 subiendo1: ; x0=0 y0=0 Y=0 X=1 mov x0, #1 jmp subir subiendo0: ; x0=1 y0=1 Y=1 X=0 mov x0, #0 subir: inc long ; se detecto una subida clr bandbajar ; limpiar la bandera de bajada mov datosL, #48h ; inicialización del RTC mov ArrAddressL,#00H ; dirección de lectura del reloj
mov tamanoL, #7 mov var5, #5 call Leerdertc call txptoserie call guardardatos call electroiman jmp emp bajando0: mov y0, #0 jmp bajar bajando1: mov y0, #1 bajar: jb bandbajar, secebo dec long jmp salirbajada secebo: mov long, #0 salirbajada: call enciendeled jmp emp salto1: mov y0, y mov x0, x jmp emp
; x0=1 y0=1 Y=0 X=1 ; x0=0 y0=0 Y=1 X=0 ; se detecto una bajada ; si la bandera esta activa es por el electroimán ; si no es una bajada por error ; si se cebo se reinicia el contador de subidas
Anexo 4B. Subrutina de atención a la lectura del RTC
;Subrutina para leer del reloj Leerdertc: clr bandera mov var5, #5 mov ControlWord, #11010001B ; Palabra de control de lectura call inicioi2c jnb bandera, lecok ; verificando si hubo error(bandera = 1) djnz var5, Leerdertc ; si en 5 veces no pudo leer clr p1.3 ; deja el led encendido jmp finlec ; y sale de la subrutina lecok: mov r0, datosL ; dirección donde se guarda lo leído mov r1, tamanoL ; tamaño del ciclo lecturasecuencial: clr SCL call recepcion mov @r0,a ; guardar en R0 lo leído del reloj inc R0 mov A, R1 cjne A, #1, darack jmp noack darack: ; ACK del Master clr SDA call SCL_HIGH ; Esto es el ack del master nop nop nop nop clr SCL setb SDA nop nop
nop nop noack: finlec: ret
djnz r1, lecturasecuencial call Transmitirstop
; Condición de inicio inicioi2c: mov A, ControlWord setb SCL nop nop nop nop clr C mov SDA,C nop nop nop nop mov SCL,C nop nop nop nop call transmicion call reconocimiento ret ; Condición de STOP TransmitirStop: clr SDA nop nop nop nop call SCL_HIGH nop nop nop nop setb SDA ret ; Subrutina para recibir recepcion: mov a,#0 mov r3,#8 ciclor: call SCL_HIGH nop nop nop nop mov C,SDA rlc A clr SCL nop
; Palabra de control
; Condición de arranque
; Transmitir la palabra de control
nop nop nop ret
djnz r3, ciclor
; Subrutina de ACK reconocimiento: mov R2,#250 W_ACK_2: jnb SDA,W_ACK_3 djnz R2,W_ACK_2 setb bandera jmp finack W_ACK_3: clr SCL finack: ret ; Mantener SCL en 1 SCL_HIGH: setb SCL mov R2, #4 SCL_H2: jb SCL,SCL_H3 djnz R2,SCL_H2 setb bandera SCL_H3: ret
; Espera por el ACK del esclavo 0k ; Salto si SDA = LOW
; 3 Ciclos
; salto si SCL = HIGH
Anexo 4C. Subrutina de atención a puerto serie
org 23h jb TI, TD clr RI reti TD: clr TI reti mov scon, #01010000b mov TMOD, #00100000b mov TH1, #0DCh mov TL1, #0DCh setb tr1 txptoserie: mov R0, #47h mov cont, #8 virar: mov A, @R0 call nibble mov sbuf,A call demora2 mov sbuf, B call demora2 inc R0 djnz cont, virar ret
; dirección para puerto serie ; saber si el puerto serie esta en tx o rx ; desactiva el modo de rx ; transmisión por puerto serie ; desactiva el modo de tx ; registro asociado al puerto serie ; timer 1 en modo 2 ; valor de recarga del timer1 ; Programa el contador con el valor inicial ; activar el timer1 ; dirección donde se guarda la altura ; 8 datos = 1 de altura y 7 de fecha ; subrutina para separar Hex a 2 nibbles ; tx del nibble alto ; demora para la tx ; tx del nibble bajo ; demora para la tx
Anexo 4D. Subrutina para separar un hexadecimal en 2 nibbles
nibble:
mov b,a anl a,#0f0h swap a orl a,#30h push acc push b mov b, #3ah div ab jz recupera1 nibble1_ok: pop b pop acc add a, #07h xch a,b jmp nibble2 recupera1: pop b pop acc xch a,b nibble2: anl a,#0fh orl a,#30h push acc push b mov b, #3ah div ab jz recupera2 pop b pop acc add a, #07h xch a,b ret recupera2: pop b pop acc xch a,b ret
; b=a ; a=xxxx0000 se queda con el nibble alto ; a=0000xxxx cambia los nibbles ; a=0011xxxx añade 30 ; si está entre 0-9 se tiene el valor en ASCII ; divide A/#3ah ; si es cero el nibble < #0Ah
; añade #07h para obtener el ASCII de A-F
; lo mismo para el nibble bajo
; en A está el nibble alto y en B el bajo
; en A está el nibble alto y en B el bajo
Anexo 4E. Subrutina para la reducción de 8 a 4 bytes
convert8a4: mov A, 49H call bcdbin mov ltemp,a mov A, 4AH call bcdbin mov b, A mov A, ltemp mov c,b.0 mov acc.6,c mov c,b.1 mov acc.7, c mov 50H, A mov a, b rr a
; Leer en decimal de la 49H los minutos ; Guardar en ltemp los minutos en binario ; Leer en decimal de la 4AH las horas ; Convertir decimal a binario ; En b quedan guardadas las horas ; En A quedan los minutos ; Coger el 1er bit de las horas ; Ponerlo de 6to a los minutos ; Coger el 2do bit de las horas ; Ponerlo de 7mo a los minutos ; Guardar en la 50H el 1er Byte
ret
rr a anl a, #111B mov b, a mov A, 4CH call bcdbin rl a rl a rl a orl a, b mov 51H, A mov A, 4DH call bcdbin mov ltemp,a mov A, long rl a rl a rl a rl a anl a, #11110000B orl A, ltemp mov 52H, A mov A, 48H call bcdbin mov ltemp,a mov b, long mov A, ltemp mov c,b.4 mov acc.6,c mov c,b.5 mov acc.7, c mov 53H, A
; Quedan los 3 bits de las horas corridos ; Leer en decimal de la 4CH el día
; Guardar en la 51H el 2do Byte ; Guardar en ltemp el valor del mes en binario ; Tomar el dato de lluvia
; Tomar los 4 1ros bits de la altura ; Guardar en la 52H el 3er Byte ; Leer en decimal de la 48H los segundos ; Guardar en ltemp los segundos en binario ; En b queda guardada la lluvia ; En A quedan los segundos ; Coger el 5to bit de la lluvia ; Ponerlo de 6to a los segundos ; Coger el 6to bit de la lluvia ; Ponerlo de 7mo a los segundos ; Guardar en la 53H el 4to Byte
Anexo 4F. Subrutina para guardar datos
guardardatos: call convert8a4 ; Convertir el dato de 8 Bytes a 4 mov tamano, #4 ; para que el ciclo de escritura sea de 4 bytes mov datos, #50h ; En la 50h se escriben los datos mov var5, #5 call escribirenrtc ; para guardar en memoria RAM del reloj mov A, ArrAddress add A, #4 clr entro cjne A,#28H, pasar ; Dirección después de los 32 bytes setb entro mov var8, #8 mov ArrAddressL,#08H ; Dirección 08H para leer datos mov var5, #5 Escribirenmem: ; INICIALIZAR LA MEMORIA clr bandera mov ControlWord, #10100000B ; Transmito la palabra de control lcall iniciomem jnb bandera, ciclo8 djnz var5, Escribirenmem ; si en 5 veces no pudo escribir clr p1.3 ; deja el led encendido jmp finescm ciclo8:
mov datosL, #50h mov tamanoL, #4 mov var5, #5 call Leerdertc mov var5, #5 mov r0, #50H mov r1, #4 lazoeeprom: mov a, @r0 Escribiragain: call transmicionm call reconocimientom jnb bandera, escokm djnz var5, Escribiragain clr p1.3 jmp finescm escokm: inc r0 djnz r1, lazoeeprom mov A, ArrAddressL add A, #4 mov ArrAddressL, A djnz var8, ciclo8 mov var8, #8 finescm: lcall TxStop call demoral call demoral call txlisto djnz cont200, mem1 mov cont200, #200 djnz cont10, mem1 mov cont10, #10 mov ArrHAddress, #0 mov ArrLAddress, #0 jmp pasar mem1: clr c mov A, ArrLAddress add A, #32 mov ArrLAddress, A mov A, ArrHAddress addc A, #0 mov ArrHAddress, A pasar: jnb entro, pasadir mov A, #08H pasadir: mov ArrAddress, A ret
; En la 50h se guardan los 4 Bytes ; Leer los datos cada 4 Bytes ; ESCRIBIR LA MEMORIA
; verificando si hubo error (bandera = 1) ; si en 5 veces no pudo escribir ; deja el led encendido
; Paso para los 4 siguientes
; MANDAR PARADA A LA MEMORIA ; tiempo de escritura de la memoria ; decrementar el contador de la memoria ; si llega a 2000 ; reiniciar la dirección
; si no sumar 32 a la dirección
Anexo 4G. Subrutina de atención a la escritura del RTC
; Subrutina para escribir en el RTC Escribirenrtc: clr bandera mov ControlWord, #11010000B call inicioi2c
; Transmitir la palabra de control
escok:
mov A, ArrAddress call transmicion call reconocimiento jnb bandera, escok djnz var5, Escribirenrtc clr p1.3 jmp finesc
lazortc:
; Transmitir la dirección ; si en 5 veces no pudo escribir ; deja el led encendido ; y sale de la subrutina
mov var5, #5 mov r0, datos mov r1, tamano
mov a, @r0 call transmicion call reconocimiento jnb bandera, escok2 djnz var5, Escribirenrtc clr p1.3 jmp finesc escok2: inc r0 djnz r1, lazortc call TransmitirStop call demora finesc: ret ; Subrutina para transmitir transmicion: mov r3, #8 ciclo: rlc A mov SDA, C call SCl_HIGH nop nop nop nop clr SCL nop nop nop nop djnz r3, ciclo nop nop nop nop clr SCL setb SDA call SCL_HIGH nop nop nop nop ret
; verificando si hubo error (bandera = 1) ; si en 5 veces no pudo escribir ; deja el led encendido ; y sale de la subrutina
; demora para escribir los datos en el reloj
; sentencias previas al reconocimiento
Anexo 4H. Subrutinas de atención a la memoria EEPROM
; Condición de inicio iniciomem: mov A, ControlWord setb SCLO nop nop nop nop nop clr C mov SDAO,C nop nop nop nop nop mov SCLO,C nop nop nop nop nop call transmicionm call reconocimientom jb bandera, iniciomem mov A, ArrHAddress call transmicionm call reconocimientom jb bandera,iniciomem mov A, ArrLAddress call transmicionm call reconocimientom jb bandera,iniciomem ret ; Subrutina para transmitir transmicionm: mov r3, #8 cicl8: rlc A mov SDAO, C call SCl_HIGHm nop nop nop nop clr SCLO nop nop nop nop djnz r3, cicl8 nop nop nop nop clr SCLO setb SDAO call SCL_HIGHm
; Palabra de control
; Condición de arranque
; si no hubo reconocimiento ; Transmitir la dirección parte alta
; Transmitir la dirección parte baja
nop nop nop nop ret ; Subrutina de ACK reconocimientom: mov r2,#250 W_ACK_2m: jnb SDAO,W_ACK_3m djnz R2,W_ACK_2m setb bandera jmp finackm W_ACK_3m: clr SCLO finackm: ret ; Mantener SCL en 1 SCL_HIGHm: setb SCLO mov R2,#4 SCL_H2m: jb SCLO,SCL_H3m djnz R2,SCL_H2m setb bandera SCL_H3m: ret
; Espera por el ACK del esclavo 0k ; Salto si SDA = LOW
; salto si SCL = HIGH ; (3 Ciclos)
; Condición de STOP de la memoria TxStop: clr SDAO nop nop nop nop call SCL_HIGHm nop nop nop nop setb SDAO ret Anexo 4I. Subrutina de atención al electroimán
electroiman: mov A,long cjne A, #37, noigual clr p1.4 call demora call demora setb p1.4 setb bandbajar noigual: jc nogolpe clr p1.4 call demora
; si llego a 37 hay que generar el golpe ; poniendo un 0 en p1.4 ; durante medio segundo ; durante medio segundo ; activar bandera de bajada ; si es menor que 37 no hay que generar el golpe ; si es mayor tiene que darlo por si acaso ; durante medio segundo
call demora setb p1.4 setb bandbajar nogolpe: ret
; durante medio segundo ; activar bandera de bajada
Anexo 4J. Programa para generar pulsos en cuadratura
inicio:
subir:
ciclo:
emp:
db 8,4,10,8,8,10,12,4,6,4; lista de la 1ra señal de subida db 2,2,2,2,2,2,2,2,2,2; lista de la 1ra señal de bajada mov c,p1.5 mov A,#0 mov acc.0,c jz bajar setb p1.2 setb p1.3 mov mem1, #0 mov mem2, #0 mov R0, #0 mov R1, #30h mov DPTR, #100h mov A, R0 movC A, @ A + DPTR mov x0,A add A, mem1 mov B, #2 div AB mov @R1, A inc R1 mov mem1, x0 inc R0 cjne R0, #10, ciclo mov R0, #0 mov R1, #30h mov A, R0 movC A, @ A + DPTR mov mem1,A cpl P1.2 mov mem2, @R1
call demora mov c,p1.5 mov A,#0 mov acc.0,c jz bajar djnz mem1,salto cpl P1.2 inc R0 mov A, R0 movC A, @ A + DPTR mov mem1,A salto: djnz mem2,emp cpl P1.3 inc R1 cjne R1,#3Ah, brinco mov R0, #0 mov R1, #30h
;para tomar el valor de p1.5
; generar la subida en cuadratura
; conformar la señal desfasada de subida
; demora de medio segundo ; para tomar el valor de p1.5 ; si hay un 0 generar bajada
mov A, R0 movC A, @ A + DPTR mov mem1,A cpl P1.2 brinco: mov mem2, @R1 jmp emp bajar: setb p1.3 setb p1.2 mov mem3, #0 mov mem4, #0 mov R0, #0 mov R1, #40h mov DPTR, #10Ah ciclob: mov A, R0 movC A, @ A + DPTR mov x0,A add A, mem3 mov B, #2 div AB mov @R1, A inc R1 mov mem3, x0 inc R0 cjne R0, #10, ciclob mov R0, #0 mov R1, #40h mov A, R0 movC A, @ A + DPTR mov mem3,A cpl P1.3 mov mem4, @R1 bajada:
call demora mov c,p1.5 mov A,#0 mov acc.0,c jnz subir djnz mem3,salto2 cpl P1.3 inc R0 mov A, R0 movC A, @ A + DPTR mov mem3,A salto2: djnz mem4,bajada cpl P1.2 inc R1 cjne R1,#4Ah, brinco2 mov R0, #0 mov R1, #40h mov A, R0 movC A, @ A + DPTR mov mem3,A cpl P1.3 brinco2: mov mem4, @R1 jmp bajada
; generar la bajada en cuadratura
; conformar la señal desfasada de bajada
; demora de medio segundo ; para tomar el valor de p1.5 ; si hay un 1 generar subida
Anexo 5. Bits del registro SCON
Anexo 6. Imágenes de los experimentos
Anexo 7. Datos obtenidos en las pruebas realizadas Anexo 7A. Datos recibidos en la computadora en la Prueba 1 0110010203040506 0215010203040506 0321010203040506 0426010203040506 0531010203040506 0636010203040506 0741010203040506 0846010203040506 0952010203040506 0A57010203040506 0B02020203040506 0C07020203040506 0D12020203040506 0E18020203040506 0F23020203040506 1028020203040506 1133020203040506 1238020203040506 1343020203040506 1449020203040506 1554020203040506 1659020203040506 1704030203040506 1810030203040506 1915030203040506 1A20030203040506 1B26030203040506 1C31030203040506 1D36030203040506 1E41030203040506 1F47030203040506 2052030203040506 2157030203040506 2203040203040506 2308040203040506 2413040203040506 2519040203040506 2624040203040506 0142040203040506 0247040203040506 0353040203040506 0458040203040506 0504050203040506 0609050203040506 0714050203040506 0820050203040506 0925050203040506 0A31050203040506 0B36050203040506 0C42050203040506 0D47050203040506 0D53050203040506 0E58050203040506 0F03060203040506 1008060203040506 1114060203040506 1220060203040506 1325060203040506 1430060203040506 1536060203040506 1641060203040506 1747060203040506 1852060203040506 1958060203040506 1A03070203040506 1B09070203040506 1C14070203040506 1D20070203040506 1E25070203040506 1F31070203040506 2036070203040506 2142070203040506 2247070203040506 2353070203040506 2458070203040506 2504080203040506 2610080203040506 0127080203040506 0232080203040506 0337080203040506 0443080203040506 0548080203040506 0654080203040506 0759080203040506 0805090203040506 0911090203040506 0A16090203040506 0B22090203040506 0C28090203040506 0D33090203040506 0E40090203040506 0F44090203040506 1050090203040506 1155090203040506 1201100203040506 1306100203040506 1412100203040506 1518100203040506 1623100203040506 1729100203040506 1834100203040506 1940100203040506 1A46100203040506 1B51100203040506 1C57100203040506 1D03110203040506 1E08110203040506 1F14110203040506 2020110203040506 2125110203040506 2231110203040506 2336110203040506 2442110203040506 2548110203040506 2654110203040506 2700120203040506
Anexo 7B. Datos recibidos en la computadora en la Prueba 2 0111010203040506 0219010203040506 0327010203040506 0434010203040506 0542010203040506 0650010203040506 0758010203040506 0806020203040506 0914020203040506 0A22020203040506 0B30020203040506 0C38020203040506 0D46020203040506 0E53020203040506 0F01030203040506 1009030203040506 1117030203040506 1225030203040506 1333030203040506 1441030203040506 1549030203040506 1657030203040506 1705040203040506 1813040203040506 1921040203040506 1A29040203040506 1B37040203040506 1C45040203040506 1D53040203040506 1E01050203040506 1F11050203040506 2020050203040506 2130050203040506 2238050203040506 2346050203040506 2454050203040506 2503060203040506 2610060203040506 0129060203040506 0237060203040506 0345060203040506 0453060203040506 0501070203040506 0610070203040506 0718070203040506 0826070203040506 0934070203040506 0A43070203040506
0B51070203040506 0C59070203040506 0D07080203040506 0E15080203040506 0F23080203040506 1031080203040506 1140080203040506 1248080203040506 1356080203040506 1404090203040506 1513090203040506 1621090203040506 1730090203040506 1838090203040506 1946090203040506 1A55090203040506 1B03100203040506 1C11100203040506 1D20100203040506 1E28100203040506 1F37100203040506 2045100203040506 2153100203040506 2202110203040506 2310110203040506 2419110203040506 2527110203040506 2636110203040506 0155110203040506 0203120203040506 0312120203040506 0420120203040506 0529120203040506 0637120203040506 0747120203040506 0855120203040506 0904130203040506 0A13130203040506 0B22130203040506 0C31130203040506 0D40130203040506 0E49130203040506 0F57130203040506 1006140203040506 1115140203040506 1224140203040506 1333140203040506 1442140203040506 1551140203040506 1600150203040506 1709150203040506 1818150203040506 1927150203040506 1A36150203040506 1B46150203040506 1C55150203040506 1D04160203040506
Anexo 7C. Datos recibidos en la computadora en la Prueba 3 0112010203040506 0228010203040506 0345010203040506 0402020203040506 0519020203040506 0636020203040506 0753020203040506 0810030203040506 0928030203040506 0A45030203040506 0B02040203040506 0C20040203040506 0D38040203040506 0E55040203040506 0F13050203040506 1031050203040506 1149050203040506 1207060203040506 1325060203040506 1444060203040506 1502070203040506 1621070203040506 1739070203040506 1858070203040506 1916080203040506 1A35080203040506 1B54080203040506 1C13090203040506 1D32090203040506 1E51090203040506 1F10100203040506 2029100203040506 2149100203040506 2208110203040506 2328110203040506 2448110203040506 2508120203040506 2628120203040506 0154120203040506 0214130203040506 0333130203040506 0453130203040506 0513140203040506 0634140203040506 0754140203040506 0815150203040506 0935150203040506 0A55150203040506 0B16160203040506 0C36160203040506 0D57160203040506 0E17170203040506 0F38170203040506 1058170203040506 1119180203040506 1240180203040506 1302190203040506 1422190203040506 1544190203040506 1605200203040506 1727200203040506 1849200203040506 1910210203040506 1A32210203040506 1B53210203040506 1C15220203040506 1D37220203040506 1E59220203040506 1F22230203040506 2043230203040506 2106240203040506 2228240203040506 2350240203040506 2412250203040506 2536250203040506 2658250203040506 0122260203040506 0245260203040506 0308270203040506 0430270203040506 0553270203040506 0615280203040506 0738280203040506 0800290203040506 0923290203040506 0A46290203040506 0B08300203040506 0C32300203040506 0D54300203040506 0E17310203040506 0F40310203040506 1002320203040506 1125320203040506 1248320203040506 1312330203040506 1434330203040506 1557330203040506 1620340203040506 1744340203040506 1808350203040506 1931350203040506 1A55350203040506 1B19360203040506 1C43360203040506 1D07370203040506 1E31370203040506 1F56370203040506 2019380203040506 2144380203040506 2207390203040506 2332390203040506 2456390203040506 2521400203040506 2645400203040506
Anexo 7D. Datos recibidos en la computadora en la Prueba 4 0156010203040506 0213040203040506 0336060203040506 0402090203040506 0530110203040506 0606140203040506 0750160203040506 0842190203040506 0940220203040506 0A43250203040506 0B54280203040506 0C17320203040506 0D51350203040506 0E26390203040506 0F02430203040506 1050460203040506 1150500203040506 1253540203040506 1316590203040506 1446030303040506 1522080303040506 1611130303040506 1710180303040506 1813230303040506
Anexo 7E. Datos recibidos en la computadora en la Prueba 5 0120000102030405 0226000102030405 0331000102030405 0437000102030405 0542000102030405 0648000102030405 0754000102030405 0859000102030405 0905010102030405 0A11010102030405 0B16010102030405 0C22010102030405 0D28010102030405 0E36010102030405 0F56020102030405 1025040102030405 1101060102030405 1223060102030405 1333060102030405 1443060102030405 1553060102030405 1603070102030405 1713070102030405 1822070102030405 1932070102030405 1A48070102030405 1B03080102030405 1C19080102030405 1D35080102030405 1E51080102030405 1F07090102030405 2024090102030405 2139090102030405 2256090102030405 2328130102030405 2431130102030405 2535130102030405 2640130102030405 2746130102030405 0103140102030405
Anexo 7F. Datos obtenidos por el programa WinLV al leer la memoria en la Prueba 5. 40 18 14 14 40 18 24 1a 40 18 34 1f 40 18 44 25 40 18 54 2a 40 18 64 30 40 18 74 36 40 18 84 3b 41 18 94 05 41 18 a4 0b 41 18 b4 10 41 18 c4 16 41 18 d4 1c 41 18 e4 24 42 18 f4 38 44 18 04 59 46 18 14 41 46 18 24 57 46 18 34 61 46 18 44 6b 46 18 54 75 47 18 64 43 47 18 74 4d 47 18 84 56 47 18 94 60 47 18 a4 70 48 18 b4 43 48 18 c4 53 48 18 d4 63 48 18 e4 73 49 18 f4 47 49 18 04 98 49 18 14 a7 49 18 24 b8 4d 18 34 9c 4d 18 44 9f 4d 18 54 a3 4d 18 64 a8 4d 18 74 ae 4e 18 14 03