TESIS PUCP Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No comercial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/pe/ PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA DISEÑO DE UN SISTEMA DE MONITOREO A DISTANCIA BASADO EN TECNOLOGÍA WEB PARA EL PROCESO DE TOSTADO DE GRANOS DE KIWICHA Tesis para optar por el Título de Ingeniero Electrónico Presentado por: JAVIER LAZARTE PAREDES Lima – Perú 2006 ÍNDICE INTRODUCCIÓN....................................................................................................... 8 1. PROBLEMÁTICA DEL PROCESO DE TOSTADO DE GRANOS DE KIWICHA .................................................................................................................. 11 1.1 INTRODUCCIÓN A LA PROBLEMÁTICA......................................11 1.2 DESCRIPCIÓN DEL PROCESO.....................................................12 1.3 PROCESOS PRINCIPALES QUE LO CONSTITUYEN ..................13 1.4 CONSUMIDORES FINALES...........................................................14 1.5 MERCADO INTERNACIONAL .......................................................15 2. DESCRIPCIÓN TEÓRICA............................................................................. 16 2.1 PRESENTACIÓN DEL PROCESO .................................................16 2.2 TEORÍA GENERAL INVOLUCRADA EN EL PROCESO...............17 2.3 VENTAJAS Y DESVENTAJAS.......................................................19 2.4 CONCEPTUALIZACIONES GENERALES .....................................21 2.4.1 Kiwicha ....................................................................................21 2.4.1.1 Definición ................................................................................. 21 2.4.1.2 Fisiología .................................................................................. 21 2.4.1.3 Origen ........................................................................................ 21 2.4.1.4 Distribución ............................................................................. 21 2.4.1.5 Ecología y Adaptación .......................................................... 22 2.4.2 Sensor .....................................................................................22 2.4.2.1 Definición ................................................................................. 22 2.4.2.2 Tipos .......................................................................................... 22 2.4.2.3 Topología.................................................................................. 23 2.4.3 WEB .........................................................................................23 5 2.4.3.1 Definición ................................................................................. 23 2.4.3.2 Estándares ............................................................................... 24 2.5 MODELO TEÓRICO........................................................................24 2.6 OPCIONES DE SOLUCIÓN AL ASUNTO DE ESTUDIO ...............26 2.6.1 Selección del Hardware .........................................................26 2.6.1.1 Sensores................................................................................... 26 2.6.1.2 Acondicionamiento de la Señal.......................................... 28 2.6.2 Selección del Software ..........................................................29 2.7 CONCLUSIONES............................................................................30 3. DESARROLLO DE LA SOLUCIÓN AL PROCESO DE TOSTADO DE GRANOS DE KIWICHA ......................................................................................... 32 3.1 HIPÓTESIS .....................................................................................32 3.1.1 Hipótesis Principal .................................................................32 3.1.2 Hipótesis Secundaria .............................................................32 3.2 OBJETIVO ......................................................................................33 3.3 DESCRIPCIÓN DE LA SOLUCIÓN ................................................33 3.3.1 Esquema de Distribución ......................................................33 3.3.2 Especificaciones de Hardware ..............................................39 3.3.3 Especificaciones de Software ...............................................41 4. DISEÑO, PRUEBAS Y RESULTADOS ...................................................... 42 4.1 DIAGRAMAS DE FLUJO Y VENTANAS........................................42 4.1.1 Programa Servidor .................................................................42 4.1.2 Programa del Microcontrolador ............................................51 4.1.3 Programa de Aplicación WEB ...............................................54 4.2 PRUEBAS Y RESULTADOS ..........................................................55 6 4.2.1 Programa Servidor .................................................................55 4.2.2 Programa Microcontrolador ..................................................63 4.2.3 Programa de Aplicación WEB ...............................................65 4.3 DISEÑO DE LA TARJETA DE ACONDICIONAMIENTO ...............67 4.4 COSTOS DEL DISEÑO...................................................................68 CONCLUSIONES ............................................................................................. …..70 RECOMENDACIONES .......................................................................................... 71 BIBLIOGRAFÍA ....................................................................................................... 72 7 INTRODUCCIÓN Desde la época prehispánica se han utilizado diversos instrumentos para la molienda o tostado de grano para su consumo, siendo el más común en México el comal, un instrumento en un inicio de barro, actualmente de metal, que se utilizaba en el proceso de tostado de grano, el cual debía estar seco. Este proceso se hace de manera manual sometiendo al fuego el comal a una temperatura de 155 °C, resultando en el tostado del grano. En México debido al gran consumo de harina, se incursionó en la producción del grano de kiwicha, alimento natal de Sudamérica donde fue domesticada y cultivada en la época de los incas en el Perú y los aztecas en México, el cual se ha aprovechado desde tiempos prehispánicos debido a su valor medicinal, para combatir desde diarreas mediante la infusión de las hojas de la plata hasta gelatina con alto contenido de fibra, elaborada en base a kiwicha, para combatir el cáncer de colon, así como otras enfermedades como osteoporosis, diabetes, obesidad, etc. Por otro lado la producción del grano de kiwicha da lugar a diversos productos finales como son alegrías, kiwicha (cereal) tostado, granolas, tamales, atoles, pinole, mazapán, etc., tanto así que se formo Amarantum una asociación Mexicana del Amaranto, la cual elabora los productos antes mencionados. Esto lo hace por medio de un proceso simple, para la elaboración de la harina, el cual consiste en el paso del grano por un molino el cual separa el grano molido, en dos partes de acuerdo al producto final que se requiere, ya que más adelante se le incorporarán otros productos. Por otro lado para el tostado de grano lo hace por una máquina en la cual 8 ingresa el grano por un costado y es tostado a presión. Estos productos también son elaborados en diversas partes del mundo como son Estados Unidos, Checoslovaquia, Kenia, China y en América Latina. En la actualidad la mayor parte de la industria nacional la conforman las pequeñas y medianas empresas (PYME) que elaboran una diversidad de productos, los cuales en muchos casos son procesos, en la medida de lo posible, manuales. Uno de los rubros en los que incursionan estas empresas es la producción de alimentos, en un caso más particular, la de los alimentos elaborados en base a granos de kiwicha, los cuales tienen una gran demanda a nivel nacional e internacional. Como es sabido, en nuestro país, en tiempos muy antiguos el consumo de cereales y granos era considerado ingrediente fundamental en toda comida debido a su gran valor nutritivo y buena conservación en diversos climas. Esta tradición dietética se sigue conservando hoy en día y la encontramos en diversas formas, desde el grano natural en desayunos hasta un producto más elaborado como son en dulces embasados. Existen dos formas principales de elaboración del grano tostado de kiwicha, el primero es el de reventar el grano sometiéndolo a presión en una cámara preparada adecuadamente, el segundo, y el más usado, es el de reventar el grano tostándolo, este proceso se puede hacer de forma manual en una olla de barro o metal sometiéndola al fuego y revolviendo de manera constante, o de manera mas industrial, haciendo pasar el grano a través de un tubo de metal giratorio sometido al fuego. En este último caso se requiere de un continuo monitoreo de temperatura, ya que una elevación de esta daría 9 como resultado una mala producción y por ende una caída de la misma. Este y otros factores como por ejemplo el nivel del producto, son necesarios monitorear y controlar para tener una buena producción. El problema principal que presentan las pequeñas y medianas empresas es el control del proceso de producción, el cual en la mayoría de los casos se da de una manera totalmente manual, ocasionando, por falla del hombre o mal control de la maquinaria usada, una baja en el proceso de producción. Esto se da, por una parte, a que no se cuentan con los recursos necesarios para implementar un sistema de monitoreo y/o control de las variables criticas de la producción, ya que esto implica requerir de los servicios de un ingeniero o técnico experimentado, y dicho proceso al poder controlarse de alguna manera rudimentaria, no se toma en cuenta. Todo este monitoreo del proceso resulta en el almacenamiento de datos, los cuales deben ser visualizados y distribuidos en las áreas pertinentes para un mejor control. El objetivo principal del objeto de estudio es el de mejorar la calidad de producción de granos, mediante un adecuado monitoreo y control de las variables del proceso y una distribución de los datos del mismo. 10 1. PROBLEMÁTICA DEL PROCESO DE TOSTADO DE GRANOS DE KIWICHA 1.1 Introducción a la Problemática Si bien el proceso de tostado del grano de kiwicha se hace con el mismo principio que se hacía en tiempo anteriores, calentando el grano y revolviendo, ahora se realiza con maquinaria más sofisticada, sin embargo se requiere en gran porcentaje de la mano del hombre, de las decisiones que tome y esto conlleva a errores y por ende a una baja de la producción. En nuestro país, donde la mayoría de las empresas están conformadas por las que entran en el sector de pequeñas y medianas empresas (PYME), este tipo de proceso se realiza de manera rudimentaria preocupándose principalmente por el proceso del tostado del grano sin contar con un debido monitoreo de las variables críticas del proceso, y un sistema básico de alarma, lo que ayudaría de manera mas precisa la supervisión del proceso por parte de los operadores. Centrándome en el proceso de tostado del grano de kiwicha, se tiene como variable crítica a la temperatura, la cual si bien se mantiene constante durante todo el proceso, no se tiene, en el caso antes mencionado de las PYME, un monitoreo de dicha variable teniendo como medición en muchos casos de la temperatura a un termómetro de mercurio de escasa precisión o al producto final, ya que según su consistencia se ve el grado de temperatura que se debe variar. En este proceso también se tiene como variable al nivel, el cual debe medir e indicar la cantidad de producto tanto a la entrada como a la salida del proceso, ya que una escasez de producto a 11 la entrada del proceso deja a la máquina trabajando sin generar una producción y en cuanto a la salida del proceso el producto se recibe en recipientes, los cuales no deben exceder su capacidad ya que se tendría una pérdida de producto. Todos estos parámetros solo son medidos en el lugar donde se realiza el proceso de producción, no teniéndose un monitoreo mas amplio refiriéndome a una cuestión geográfica, es decir que estos parámetro puedan ser visualizados fuera del lugar de trabajo. Un adecuado monitoreo de los parámetros antes mencionados, ayuda a una adecuada supervisión del proceso y esto a una mejora del producto final y por ende ayuda a que si se quiere entrar en un mercado tan competitivo como el nuestro, debido a que por cada producto se tienen muchas marcas diferentes, se tiene que sobresalir tanto en precio como en cuestión a la calidad del producto. 1.2 Descripción del Proceso El tostado de granos de kiwicha, se constituye principalmente por tres procesos principales, los cuales son: la selección inicial del grano, el proceso de tostado propiamente dicho y el proceso de selección del grano tostado. De estos tres, el proceso de tostado es el objeto del asunto de estudio, ya que en cuanto a la metodología el primer y tercer proceso, el de selección del grano crudo y tostado, se hace en cierta forma de manera manual sobre todo el primero ya que el grano que llega se vacía en un cernidor separando el grano bueno, esto tomando unicamente en cuenta el tamaño del grano. 12 En cuanto al personal encargado de los procesos, se cuenta con un personal técnico, más que todo personal basado en la experiencia previa del proceso, ya que como indicamos anteriormente, este es un proceso que se hace también y comúnmente de manera rudimentaria, completamente manual. El espacio en el cual se trabaja, es un lugar de trabajo amplio pero sin separación de áreas. 1.3 Procesos Principales que lo Constituyen En cuanto a la descripción del proceso de tostado en sí, es la siguiente: Primero se verifica si hay producto en la tolva de ingreso (grano crudo), si no lo hubiera se llena la tolva hasta su altura máxima. Luego de verificado que haya producto en la tolva de ingreso, se procede a verificar si los recipientes de salida, donde se almacena el grano ya tostado, están por debajo del nivel medio, dependiendo de cuanta cantidad de producto se vaya a tostar ese día. Luego se prende el quemador del horno, el cual debe llegar a una temperatura exacta para comenzar el proceso. A continuación se abre la línea de ingreso de granos, y en un eventual quemado de grano en el horno, se procede a desprender dicho grano de las paredes del horno. De todos estos procesos se pueden describir cuales son los hechos que acarrean problemas, a continuación se detallan éstos: 13 Se requiere personal presente todo el día. Para el proceso de producción se debe contar siempre con producto en la tolva de ingreso, ya que sino la máquina trabaja sin producto, y además se debe verificar que los recipientes de almacenamiento no estén totalmente llenos ya que el producto saliente se puede derramar. Por este motivo una persona debe controlar esto todo el tiempo. Tiempo de espera aproximado basado en experiencia. Al encender el horno donde se va a reventar el grano, se debe esperar un tiempo para que éste caliente y el grano ingrese con una temperatura adecuada del horno (precalentado). Este tiempo es estimado, por lo que se espera un tiempo prudencial. Proceso se realiza manualmente. Para controlar el quemador del horno se hace uso de una válvula. Para el control de dicha llama se hace el cierre o apertura de la válvula manualmente. 1.4 Consumidores Finales En cuanto al abastecimiento del grano, éste se da por medio de un proveedor, el cual trae granos de diferentes provincias del Perú principalmente de Huaraz, Arequipa y Cusco. Para la venta a los diferentes centros finales de consumo, como son las casas naturistas, que constituyen el principal porcentaje de ventas, las 14 bodegas y los consumidores individuales, se tiene como medio regulador al ministerio de salud el cual solicita para una adecuada venta de alimentos que se cuente con el certificado de salud correspondiente. En cuanto a los competidores locales tenemos otros centros de producción de granos de kiwicha, que en nuestro país son principalmente pequeñas y medianas empresas. 1.5 Mercado Internacional En cuanto al mercado internacional, éste si bien constituye una gran demanda, también requiere gran volumen de exportación, no dándose abasto la producción de una pequeña o mediana empresa. Además a esto se suma la cantidad de impuestos y regulaciones que se debe pagar y tener en cuenta para ingresar a un mercado internacional. 15 2. DESCRIPCIÓN TEÓRICA 2.1 Presentación del Proceso El monitoreo de diversos parámetros físicos es una tecnología que se ha ido desarrollando a través de los años, con tal diversidad que ahora podemos encontrar una gran cantidad de sensores que registran una gran variedad de parámetros necesarios para un control eficiente de un proceso o procesos determinados. Sin embargo dicho monitoreo de variables físicas deben ser registradas para un posterior control o una simple visualización de las mismas. Hoy en día el compartir información o simples datos entre diferentes lugares se ha vuelto una necesidad básica, por lo tanto esta tecnología se ha incorporado con el propósito de compartir los datos registrados a diferentes usuarios permitidos, sin que éstos tengan que ir personalmente a leer o tomar datos sino que estos datos le son proporcionados en su computador. Actualmente este sistema esta siendo utilizado en una gran cantidad de industrias que cuentan con una amplia línea de producción (alimentos, bebidas, etc.) o empresas que cuentan con una gran variedad de productos (inventario de los diversos tipos de productos que venden). Este sistema principalmente es tratado mediante un software de aplicación, el cual será el nexo entre el usuario y el valor del parámetro físico medido. Así el usuario podrá ver todo el proceso de manera segura y práctica. En el presente documento se presentarán los actuales avances en el desarrollo de tres partes básicas, el monitoreo de variables físicas, el 16 almacenamiento de datos y los tipos de comunicación de los datos almacenados a diferentes terminales. 2.2 Teoría General Involucrada en el Proceso SENSORES “Las aplicaciones de la electrónica, presentes actualmente en innumerables aspectos de nuestra vida cotidiana, no serían posibles sin los sensores. Sin la capacidad que éstos ofrecen de medir magnitudes físicas para su conocimiento o control, muchos de los dispositivos electrónicos no serían más que simples curiosidades de laboratorio.” [4] “Las diversas formas de automatizar los procesos y servicios se realizan a través del uso de sensores, controladores y actuadotes facilitando la producción y minimizando los recursos humanos.” [5] “La reducción del precio de los procesadores (digitales) de información ha extendido las aplicaciones de los microprocesadores (μP) y de microcontroladores (μC), y esto ha conllevado un auge de la telemedida de señales digitales. En algunos casos los sensores han pasado de ser un componente mecánico aislado a ser un subsistema electrónico capaz de comunicarse con un sistema basado en microprocesadores, o integrado en dichos sistemas y con capacidad de autodiagnóstico.” [4] “El avance en el conocimiento del silicio y otros semiconductores, y en las tecnologías de la fabricación de microcircuitos, ha permitido integrar cada vez más funciones en una misma oblea o en microcircuitos con soporte 17 común. Esto ha llevado a sensores que realizan funciones adicionales a la mera obtención de una señal a partir de una magnitud física, y así facilitan el control distribuido. Estos sensores se denominan, genéricamente, sensores inteligentes.” [4] TOPOLOGÍA La topología de la red es el método para interconectar los equipos y sistemas conectados a ella así como la forma que adoptan. La topología depende del sistema de control que se utilice y el cableado en función de los requerimientos del sistema. ESTRELLA La red de estrella es la conexión utilizada por los sistemas centralizados donde existe un único controlador sobre el que pasa toda la información. [6] Algunas características de esta topología son: • Permite una comunicación rápida. • Exige un nodo central de gran capacidad. • Estructura simple. • Especialmente apta cuando los terminales se encuentran en un área geográfica concentrada y el número no es demasiado grande. Si el área es muy grande puede que merezca más la pena un anillo, porque se ahorra cable. • Fiabilidad baja, mucha dependencia del nodo central. 18 • La reconfiguración de la red puede resultar problemática si es necesario detener el nodo central ya que en ese caso se interrumpe el servicio durante un tiempo. [7] MALLA Redes diseñadas sin un nodo o equipo terminal central en la que todos están conectados entre sí, de manera que ninguno posee una función especial en cuanto a la concentración de tráfico. Se muestra en la figura 7. Puede utilizarse para comunicar solamente equipos terminales, así se consigue tener todos los terminales interconectados de forma permanente, o bien conectar equipos conmutadores para dar robustez a la red, ya que se cuenta con caminos alternativos en caso de fallo en algún nodo. Al estar cada estación unida a las demás existe independencia entre ellas y redundancia de caminos que confiere mayor fiabilidad a la red. También puede existir el mallado parcial. [7] BUS Redes en las cuales cada equipo terminal está conectado a un bus (medio de transmisión compartido) por el que circula toda la información que tiene como destino un equipo de esa red. [7] 2.3 Ventajas y Desventajas “Para sacar provecho del bajo coste de los μC, lo mejor es a veces emplear una interfaz directa sensor-μC, es decir, sin convertidor A/D (CAD).” [4] 19 “La repercusión inmediata de los sensores inteligentes en un sistema de medida y control es que reducen la carga sobre controladores lógicos programables (PLC), PC u otros controladores digitales, aparte de aumentar la fiabilidad del sensor”. [4] Son numerosas las ventajas que aporta la conexión en red local; destacamos como las más importantes las siguientes: • Mantener bases de datos actualizadas instantáneamente y accesibles desde distintos puntos. • Facilitar la transferencia de archivos entre miembros de un grupo de trabajo. • Compartir periféricos caros (impresoras láser, plotters, discos ópticos, etc.) • Disminuir el costo de software comprando licencias de uso múltiple en vez de muchas individuales. • Mantener versiones actualizadas y coherentes del software. • Facilitar la copia de respaldo de los datos. • Correo electrónico. • Comunicarse con otras redes (bridges y routers). • Conectarse con minis y mainframes (gateway). • Mantener usuarios remotos vía módem. [3] “Actualmente ya coexisten sistemas con comunicación simultánea analógica (4-20 mA) y digital, pero la mayoría de los sistemas actuales se basan en el bucle de 4-20 mA. Por razones de coste, ninguno de estos sistemas desaparecerá.” [4] 20 2.4 Conceptualizaciones Generales 2.4.1 Kiwicha 2.4.1.1 Definición La kiwicha, como se le conoce en el Perú, pertenece a la familia de las AMARANTHACEAE y su nombre científico es Amaranthus caudatus. [8] Nombre común: Amaranto, kiwicha, coyo, achis, achita, qamaya, sangoracha, coyo, achis, qamaya, coimi, millmi, jataco. 2.4.1.2 Fisiología Planta anual de 1 a 2 metros y medios de alto, con inflorescencias grandes y generalmente muy coloridas, de hojas pecioladas, ovales, opuestas o alternos, de color verde o púrpura. [9] 2.4.1.3 Origen La kiwicha es un grano originario de América del Sur, donde fue domesticado. Fue comúnmente cultivada durante el tiempo de los Incas en el Perú y de los aztecas en México. La kiwicha se cultiva también en Bolivia, Ecuador y Argentina. [10] 2.4.1.4 Distribución Se cultiva desde el sur de Ecuador, a través de Perú y Bolivia hasta el noroeste de Argentina 21 2.4.1.5 Ecología y Adaptación Su adaptación a zonas agroecológicas muy diferentes permite que se cultiven desde el nivel del mar hasta los 3400 msnm, se extiende desde Ecuador hasta el norte de Argentina, en áreas templadas y valles interandinos. En el Perú: En el Perú se cultiva en la zona agroecológica Quechua, valles interandinos de Cajamarca, Ancash, Ayacucho, Huancavelica, en el valle de Urubamba y en el valle de Majes de Arequipa (en alturas entre 1500 y 3500 msnm) en zonas donde se produce también el maíz. Es sensible al frío, pudiendo soportar sólo 4 °C al estado de ramificación y 35 - 40 °C como temperatura máxima. [10] 2.4.2 Sensor 2.4.2.1 Definición Dispositivo que detecta una determinada acción externa, temperatura, presión, etc., y la transmite adecuadamente. [8] 2.4.2.2 Tipos Analógicos: Los sensores analógicos tienen principalmente 2 valores de corriente con su equivalencia en voltaje: 22 • 0 – 20 mA 0 – 10 V • 4 – 20 mA 1 – 5 V Digitales: Los sensores digitales tienen salidas de dos valores constantes 1 (5V) y 0 (0V) lógico. 2.4.2.3 Topología Estrella: La red de estrella es la conexión utilizada por los sistemas centralizados donde existe un único controlador sobre el que pasa toda la información Anillo: En la red de anillo cada controlador está conectado a otros dos, y así sucesivamente, formado un anillo. Bus: La red en bus es una arquitectura donde todos los elementos conectados a ella tengan la estructura de controladores, y que sean conectados al bus. 2.4.3 WEB 2.4.3.1 Definición World Wide Web (WWW), es un sistema de navegador web, como una página, sitio o conjunto de sitios que proveen información por los medios descritos 23 2.4.3.2 Estándares Localizador Uniforme de Recursos (URL) Especifica cómo a cada página de información se asocia una "dirección" única en donde encontrarla. Protocolo de Transferencia de Hipertexto (HTTP) Especifica cómo el navegador y el servidor intercambian información en forma de peticiones y respuestas. Lenguaje de Marcación de Hipertexto (HTML) un método para codificar la información de los documentos y sus enlaces. 2.5 Modelo Teórico Para desarrollar este sistema es necesario el uso de diferentes herramientas como son software de aplicación, necesario para la visualización de los datos enviados por los sensores. También es necesario conocer la fisiología de la kiwicha, para saber como se comporta frente al proceso de tostado del grano, conocer la temperatura a la cual revienta el grano para así mantener dicho parámetro constante durante el proceso de fabricación. También es necesaria la distribución de la información dada por los sensores, esto mediante la tecnología WEB la cual proveerá a los equipos terminales de dicha información haciendo uso de un software específico. 24 Parámetros Principales En el proceso de producción se debe tomar en cuenta diversos parámetros como son los que se describen a continuación: • Posicionamiento de sensores. Se debe ubicar los sensores de tal manera que realicen la toma de datos de los valores reales concernientes al parámetro físico que se requiere (temperatura, nivel, etc.). • Control del proceso. Mejorar el producto final, a fin de elevar el nivel de producción reduciendo, gracias a un control, el daño de la producción (grano tostado quemado). • Nivel de producción. Este indicador se refiere al nivel de producción que se debe mantener para satisfacer la producción diaria según un historial de ventas. • Tiempo de tostado del grano. Este indicador se refiere al tiempo que es necesario para reventar el grano de kiwicha, y así poder determinar la temperatura apropiada a mantener en el proceso de acuerdo a la maquinaria usada. • Temperatura de tostado del grano. Monitoreo de la temperatura del proceso, se debe mantener a una temperatura constante para evitar que se queme el grano. • Costos de mantenimiento. Se refiere a los costos por mantenimiento del sistema. 25 2.6 Opciones de Solución al Asunto de Estudio A continuación se detallarán las posibles soluciones para la realización del asunto de estudio. 2.6.1 Selección del Hardware En cuanto a la selección del hardware, se detalla a continuación los requerimientos técnicos que deben tener los equipos. 2.6.1.1 Sensores Sensor de temperatura El cual se encarga de enviar los datos de los valores de temperatura de la máquina encargada del tostado del grano. Entre los sensores que se han tomado en cuenta están: • Termocuplas Poseen un rango nominal de temperatura entre -150 a 1500 °C, tiene un costo bajo y una linealidad alta, pero el grado de precisión no es muy bueno. • PT-100 Consiste en un alambre de platino que a 0 °C tiene una resistencia de 100 ohms y que al aumentar su temperatura aumenta su resistencia eléctrica. Poseen una buena linealidad (Figura 2.1) y los valores se 26 pueden obtener de tablas (Ver Anexo 1). Superan a otros tipos de sensores en aplicaciones con temperaturas entre -100 a 200 °C [12]. Figura 2.1. Grafico Resistencia vs. Temperatura. Sensor de nivel El cual se encarga de tomar el dato del nivel de producto tanto a la entrada como a la salida de la máquina de tostado. Entre los sensores que se tomaron en cuenta están: • Ultrasónico Estos sensores funcionan emitiendo y recibiendo ondas de sonido de alta frecuencia. La frecuencia generalmente es de aproximadamente 200 KHz, un valor demasiado alto para ser detectado por el oído humano. [11] 27 • Fotoeléctrico Los sensores fotoeléctricos trabajan detectando el cambio en la cantidad de luz que, o bien es reflejada, o bien interrumpida por el objeto a detectar (diana). El cambio en el haz de luz puede ser el resultado de la presencia o ausencia de la diana, o el resultado de un cambio en el tamaño, perfil, receptividad o color de dicha diana. [11] 2.6.1.2 Acondicionamiento de la Señal Para el acondicionamiento de la señal proveniente de los sensores se presentan dos posibles soluciones: Tarjeta de adquisición de datos (DAQ) Esta tarjeta acondiciona señales estándar de sensores (4 – 20 mA, 0 – 5 V), a valores digitales que pueden ser interpretados por un software especifico de aplicación el cual se mencionará en la parte de selección del software. Circuito de Acondicionamiento de Señal Es un circuito provisto principalmente por un microcontrolador ATMega8L, el cual se encarga del manejo, muestreo y digitalización de la señal de los sensores previamente acondicionada a valores analógicos (0 – 5 V). Estos valores digitales serán enviados al software encargado del monitoreo mediante comunicación serial (RS-232). 28 2.6.2 Selección del Software Para la selección del software encargado del monitoreo de las variables del proceso se cuenta con dos posibles soluciones las cuales se describe a continuación: LabView Es un software de la empresa National Instruments, el cual junto con el hardware antes mencionado (tarjeta DAQ), provee un monitoreo de las señales provenientes de dicho hardware. Este software cuenta con un entorno gráfico tanto para el desarrollo del programa como para la visualización del proceso. Java Es un lenguaje de programación sobre el cual se implementa el software encargado del monitoreo de las señales provenientes del circuito de acondicionamiento de señal descrito como la segunda opción de hardware a usar. Microsoft Visual Web Developer 2005 Express Edition Es la plataforma sobre la cual se va a implementar el programa de aplicación Web, la cual soporta intercambio de información con diferentes bases de datos entre ellas SQL Server Express 2005, la cual servirá de nexo entre el programa de aplicación del servidor y el de Web. 29 2.7 Conclusiones Como solución al problema planteado anteriormente, se decidió por el uso de la segunda opción tanto en cuestión de hardware como de software, es decir de la tarjeta de acondicionamiento de señal provisto del microcontrolador ATMega8L y el lenguaje de programación Java para el monitoreo de las variables. En cuanto a la selección del hardware, se optó por esta segunda opción debido al precio del mismo ya que para cuestiones de monitoreo de señales como las provistas por los sensores industriales, el microcontrolador ATMega8L presenta una buena opción ya que cuenta con un comprador análogo-digital interno, el cual muestrea las señales con una buena resolución y velocidad, y las traduce en valores digitales para ser enviadas vía serial al software encargado del monitoreo. En cuanto a la selección de los sensores, para el sensor de temperatura se optó por un sensor de temperatura tipo PT-100 debido a que son dispositivos con un comportamiento altamente lineal y para la temperatura de aplicación del proceso en estudio (180 °C) es recomendable y además poseen un mayor grado de resolución que las termocuplas (0.1 °C). Con respecto a los sensores de nivel, los seleccionados fueron los sensores de nivel fotoeléctricos debido a que su costo es menor con respecto a los sensores de nivel por ultrasonido. Además proveen una detección muy exacta y es utilizado de manera industrial. Debido a la irregularidad de la superficie que se va a medir (tolva con granos), es necesario utilizar el tipo 30 de sensor difuso normal, el cual detecta la luz difundida en varias direcciones debido a la irregularidad de la superficie. Ahora para la selección del software, se hizo uso del lenguaje de programación Java, el cual al ser un software libre no requiere de un pago de licencias para distribuir los programas de aplicación finales. Y además posee la capacidad de interactuar con dispositivos externos vía serial (RS- 232). 31 3. DESARROLLO DE LA SOLUCIÓN AL PROCESO DE TOSTADO DE GRANOS DE KIWICHA 3.1 Hipótesis 3.1.1 Hipótesis Principal Debido a que en las pequeñas y medianas empresas (PYME), en el sector de producción de alimentos en base a granos de kiwicha, cuentan con un rudimentario sistema de monitoreo de las variables del proceso de producción, afectando a ésta, en cuanto a la calidad, entonces la implementación de un sistema capás de monitorear adecuadamente dicho proceso dando facilidad y confiabilidad a la tarea del operador, permitirá una mejor calidad del producto final, dando una mayor producción efectiva, así como también un control de la seguridad misma de la maquinaria. 3.1.2 Hipótesis Secundaria El uso de un sistema de monitoreo del proceso de producción de granos de kiwicha, el cual involucra la decisión total del operador para dicha supervisión, hace difícilmente posible la obtención de una producción de calidad, limitando a dicha producción a un mercado reducido como bodegas o pequeñas casas naturistas. Por eso el uso de un adecuado sistema de monitoreo tendrá como resultado la buena calidad del producto, pudiendo entrar a un mercado más competitivo y amplio, y además reducir costos ya que se contará con una producción más efectiva. 32 3.2 Objetivo General Implementar un sistema de monitoreo para la producción de granos de kiwicha y distribución de datos vía WEB. Específico Precisar los puntos críticos del proceso de producción de granos de kiwcha, las variables del proceso a tomar en cuenta. Realizar un adecuado sistema de monitoreo, con el objetivo de dar precisión al proceso antes mencionado. Realizar pruebas al sistema planteado, a fin de comprobar la efectividad del mismo. 3.3 Descripción de la Solución 3.3.1 Esquema de Distribución El esquema general de distribución tanto del hardware como los equipos terminales es como el que se muestra en la Figura 3.1. 33 PLANTA INTERNA PLANTA EXTERNA Máquina 2 Máquina 1 Sensor de Temperatura Sensor de Nivel Tarjeta de Acondicionamiento PC Sensor de Temperatura Sensor de Nivel Figura 3.1. Gráfico de las señales entre los diferentes módulos. También se muestra la distribución de los sensores (Figura 3.2) en cada máquina y en las tolvas tanto de entrada como de salida. 34 Tolva de Ingreso Máquina Rotativa Tolva de Salida Fuego Sensor de Temperatura Sensor de Nivel Sensor de Nivel Figura 3.2. Distribución de sensores. Además se muestra una fotografía de la tolva de entrada (Figura 3.3), la tolva de salida (Figura 3.4) y la máquina encargada del proceso de tostado (Figura 3.5). Figura 3.3. Tolva de ingreso de producto. 35 Figura 3.4. Tolva de almacenamiento de producto final. Figura 3.5. Máquina tostadora. Teniendo en cuenta el plano de distribución de áreas del local (Figura 3.6), el plano con las medidas del área en el cual se va a realizar el proceso (Figura 3.7), se toman las medidas y condiciones del cableado. 36 Figura 3.6. Plano de distribución y medidas de áreas del local donde se realiza el proceso de tostado. Figura 3.7. Plano de distribución y medidas de áreas de proceso de tostado. 37 En cuanto a las medidas de los cables, tomando las medidas descritas en la figura 3.7 y teniendo en cuenta las siguientes alturas, de la ubicación de los sensores y caja de paso al suelo: Tolva de ingreso: 2.25 metros. Máquina de tostado: 1.5 metros. Tolva de salida: 1 metros. Caja de paso: 2 metros. Se obtienen las siguientes medidas de cable (Tabla 3.1) hasta la entrada de la caja de paso: Sensor Longitud (metros) Máquina 1 Nivel (tolva de ingreso) 6.92 Temperatura (máquina de tostado) (*) 7.02 Nivel (tolva de salida) 7.57 Máquina 2 Nivel (tolva de ingreso) 7.42 Temperatura (máquina de tostado) (*) 7.52 Nivel (tolva de salida) 8.07 Tabla 3.1. Medidas de cables de cada sensor. 38 (*) Se tiene en cuenta que el sensor de temperatura estará ubicado en el punto medio de la máquina. 3.3.2 Especificaciones de Hardware Teniendo en cuenta lo antes mencionado se procedió a la selección específica de los equipos, cuyas características técnicas principales se detallan a continuación. Sensor de Temperatura Para la medición de la temperatura del proceso se seleccionó un PT-100 de las siguientes características: • Rango de medida: -20 – 200 °C • Longitud del sensor: 250 mm • Temperatura ambiente permitida: -20 – 70 °C La selección de este sensor fue debido a que cuenta con una buena precisión de temperatura, aproximadamente 0.1 °C hasta una temperatura de 200 °C, más allá que de la de operación y la del valor máximo. Sensor de Nivel En cuanto a la medición del nivel tanto a la entrada como a la salida del proceso, tolva de entrada y tolva de salida (Ver Anexo 2), se seleccionaron los siguientes equipos con las características indicadas a continuación: 39 • Rango de medida: 20 – 80 cm (tolva de ingreso) 20 – 130 cm (tolva de salida) • Precisión: ± 1 mm • Temperatura ambiente permitida: -20 – 70 °C • Voltaje de alimentación: 24 VDC • Rango de salida: 4 – 20 mA Circuito de Acondicionamiento El circuito de acondicionamiento va a estar conformado principalmente por el microcontrolador ATMega8L, el cual se encargará del muestreo y digitalización de los valores analógicos proveniente de los sensores, el envío de datos de manera serial (RS-232) a la computadora con el programa principal y las salidas de control digital (Ver Anexo 3). En cuanto a las especificaciones de los comparadores análogo digital interno del ATMega8L se tiene: • Numero de ADC: 6 • Resolución: 8 bits • Voltaje de Entrada: 0 – 5 V • Tiempo de Conversión: 13 – 260 us • Muestreo: 15 kSPS (máximo) 40 3.3.3 Especificaciones de Software El programa de aplicación encargado del monitoreo, esta desarrollado sobre el lenguaje de programación Java de Sun Microsystem, que presenta un entorno gráfico para la visualización de los parámetro específicos. Para el programa de aplicación encargado de la parte de la distribución de datos vía WEB será desarrollado en Microsoft Visual Web Developer 2005 Express Edition. Estos dos programas compartirán una base de datos, la cual será SQL Server Express 2005 la cual tiene una capacidad de almacenamiento de 4Gb. Para el funcionamiento del programa servidor se deberá alquilar un espacio en un Web Hosting donde estará almacenado el programa WEB, y además adquirir un dominio (dirección web) para acceder a dicho programa. 41 4. DISEÑO, PRUEBAS Y RESULTADOS 4.1 Diagramas de Flujo y Ventanas 4.1.1 Programa Servidor El programa se encarga de la configuración de los tipos de sensores a usar, seis en total, así como la adquisición de datos vía serial provenientes de la tarjeta de acondicionamiento y la visualización gráfica y numérica de los mismos. El usuario en un primer inicio configura los sensores (tipo, rango mínimo, rango máximo, set point, unidades de medida), a continuación envía los valores a la base de datos y procede a visualizar los datos en la pantalla de configuración. Si los valores de cualquiera de los sensores supera el rango del set point el programa envía un mensaje de control a la tarjeta de acondicionamiento para que se accione la alarma que esté conectada a un determinado sensor. 42 INICIO Conectar a BD Usuario y Password correctos? Carga Ventana Principal SI SIEs de nivel? Configuración de Sensor1 de Temperatura Configuración de Sensor1 de Nivel Seleccionó Sensor1? Es de temperatura? SI NO NO SI SIEs de nivel? Configuración de Sensor2 de Temperatura Configuración de Sensor2 de Nivel Seleccionó Sensor2? Es de temperatura? SI NO NO 3 1 43 1 SI SIEs de nivel? Configuración de Sensor3 de Temperatura Configuración de Sensor3 de Nivel Seleccionó Sensor3? Es de temperatura? SI NO NO SI SIEs de nivel? Configuración de Sensor4 de Temperatura Configuración de Sensor4 de Nivel Seleccionó Sensor4? Es de temperatura? SI NO NO SI SIEs de nivel? Configuración de Sensor5 de Temperatura Configuración de Sensor5 de Nivel Seleccionó Sensor5? Es de temperatura? SI NO NO 2 44 2 SI SIEs de nivel? Configuración de Sensor6 de Temperatura Configuración de Sensor6 de Nivel SISeleccionó Sensor6? Es de temperatura? NO NO Fin de la configuración? NO 3 Hay algún sensor seleccionado? SI NO 3 SI Guarda datos en la BD Carga datos en la Ventana Principal Se recibió dato? NO SI 4 45 4 NO SIEs para sensor 1? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma SI 4 NO NO SI SIEs para sensor 2? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma 4 SI NO NO SI SIEs para sensor 3? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma SI 4 NO NO SI 5 46 SIEs para sensor 4? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma 4 NO NO SI SI SIEs para sensor 5? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma 4 NO NO SI SI SIEs para sensor 6? Se seleccionó? Muestro Valor Guarda Valor en la BD Valor>SetPoint? Envía Alarma SI 4 SI NO NO Fin? SI FIN NO 5 47 Ventana Inicio de Sesión Primera ventana que se muestra al usuario al iniciar el programa. Confirma con la base de datos que el nombre de usuario coincida con la contraseña (password) ingresado (Figura 4.1). Figura 4.1. Ventana Inicio de Sesión. Ventana Principal Ventana principal que se muestra luego de la ventana de inicio de sesión donde se visualiza en el panel de datos el nombre del usuario y la fecha del inicio de la sesión (Figura 4.2). En el panel de configuración el usuario puede seleccionar entre 6 sensores diferentes a usar y además seleccionar el tipo de sensor, temperatura o nivel. Luego de configurarlo para empezar la toma de datos se procede en apretar el botón ENVIAR, esto también con la finalidad de guardar los valores de configuración en la base de datos. 48 Figura 4.2. Ventana Principal del programa. Ventana Configuración Sensor de Temperatura Ventana en la cual se configura el sensor de temperatura (Figura 4.3) con las siguientes restricciones: • La temperatura mínima que ingresa el usuario debe ser mayor que la temperatura máxima • El Set Point debe estar dentro del rango de temperatura ingresado. 49 Figura 4.3. Ventana sensor de temperatura. Ventana Configuración Sensor de Nivel Ventana en la cual se configura el sensor de nivel (Figura 4.4) con las siguientes restricciones: • El valor del nivel mínimo debe ser menor al valor máximo y además mayor a cero. • El Set Point debe estar dentro del rango de nivel ingresado. Figura 4.4. Ventana sensor de nivel. 50 Ventana Set Point En esta ventana se modifica el valor del Set Point en tiempo real de muestreo, con el botón de SET POINT del panel de Gráfica (Figura 4.5). Este dato es actualizado en la base de datos. Figura 4.5. Ventana que sirve para modificar el set point. 4.1.2 Programa del Microcontrolador El programa se encarga de digitalizar cada 2 segundos la señal analógica de los ADC internos y enviarlas vía serial al computador principal, así como también mandar por los pines de control las señales de alarma (Ver Anexo 4). 51 Configura Puertos Configura Interrupción 100ms Configura Serial Lee ADC0 Manda Valor ADC0 Lee ADC1 Manda Valor ADC1 Lee ADC2 Manda Valor ADC2 2 Inicio? 3 1 INICIO 52 Lee ADC3 Manda Valor ADC3 Lee ADC4 Manda Valor ADC4 Lee ADC5 Manda Valor ADC5 Paso 5 seg? Se recibió alarma? Envía Alarma al Puerto Fin? SI 3 NO SI NO SI 2 1 NO 53 4.1.3 Programa de Aplicación WEB El programa se encarga de la visualización de los parámetros en tiempo real o guardados en la base de datos con anterioridad. Esto se da seleccionando la fecha y hora del evento que se quiere visualizar, y si es un monitoreo en curso se podrá refrescar los datos para visualizarlos en el momento presente. Cargar Datos (Usuario y Fecha) Se seleccionó fecha de monitoreo? Muestra Valores Se seleccionó la ultima fecha? Refresca valores? NO Cargar Datos (Usuario y Fecha) Muestra Últimos Valores Se seleccionó otra fecha? NO NO SI SI SI SI NO INICIO 54 Ventana Principal de Aplicación Web Ventana principal donde el usuario selecciona la fecha y hora de los resultados que desea visualizar (Figura 4.6). Figura 4.6. Ventana principal donde se visualizan los datos de los sensores. 4.2 Pruebas y Resultados 4.2.1 Programa Servidor Las pruebas hechas al software encargado del monitoreo se realizan en dos partes, la primera correspondiente a la validación de los parámetros ingresados por el usuario, así como la validación de las restricciones propias del software, lo que se debe hacer para su correcto uso, los pasos a seguir. 55 En la primera parte se describe la etapa de inicio de sesión del usuario la cual se valida que los campos USUARIO y PASSWORD no estén en blanco y también la validación del nombre de usuario con la respectiva contraseña ingresada por el usuario, teniéndose en cuenta de que el usuario no ingrese ningún dato (Figura 4.7) o que lo ingrese incorrectamente (Figura 4.8). Figura 4.7. Inicio de sesión sin ingresar nombre de usuario ni contraseña. Figura 4.8. Inicio de sesión con una contraseña no correspondiente al nombre de usuario o un nombre de usuario no válido. 56 Estos datos anteriores son verificados de la base de datos, la cual tiene guardados los nombres de los usuarios y su respectiva contraseña (Figura 4.9). Figura 4.9. Datos de los usuarios en la base de datos. A continuación una vez ingresado el nombre de usuario y la contraseña válida se procede a cargar el programa principal en el cual se prosigue con una etapa de configuración de sensores las cuales tienen las siguientes restricciones al usuario: • Antes de apretar el botón ENVIAR, la cual envía los valores de configuración a la base de datos se debe configurar por lo menos un sensor (Figura 4.10). 57 Figura 4.10. Mensaje de Error al no seleccionar ningún sensor. Como segundo paso de las pruebas, se procede a comprobar que los datos tanto de configuración como de valores recibidos sean correctamente almacenados. Para esto se procederá a configurar tres de los seis sensores como se muestra en la Tabla 4.1. 58 Número de Sensor Tipo Rango Mínimo Rango Máximo Set Point Unidades 1 Temperatura 10 80 40 Centígrados 3 Nivel 5 30 20 Metros 5 Temperatura 30 150 100 Centígrados Tabla 4.1. Datos de la configuración de los sensores. Como los datos provenientes de los sensores van a unos comparadores análogos digitales (ADC) de una resolución de 8 bits, los valores que llegan serialmente al computador son valores digitales entre 0 y 255. Además se tiene en cuenta que para los sensores de tipo de temperatura las señales ingresadas a los ADC’s son señales de voltajes en los rangos de 0 – 5 VDC, ya que dichos sensores utilizan esta señal estándar, sin embargo los sensores de nivel industrial trabajan con señales en el rango de 4 – 20 mA, por lo que los niveles de voltaje de entrada a los ADC’s están en el rango de 1 – 5 VDC. Esto hace que sea necesaria una corrección del cero para los sensores de tipo nivel, ya que para éstos el rango mínimo corresponderá el valor digital de 51. Así se emplea dos fórmulas para el cálculo de los valores en las unidades de temperatura o nivel. • Sensor de Temperatura 59 • Sensor de Nivel X: valor dentro del rango de temperatura o nivel. ValorDigital: valor digital recibido serialmente (0 – 255). Las pruebas realizadas en esta etapa corresponden a la visualización, de los valores digitales enviados por el microcontrolador, en valores dentro del rango del sensor escogido. Para esto se procedió a enviar valores digitales en el rango de 0 – 255 mediante el programa hyperterminal (Figura 4.11) de una computadora con el correspondiente protocolo de envío. Figura 4.11. Protocolo enviado mediante el hyperterminal. El protocolo de envío de valores es el siguiente: VALOR[X]:[ValorDigital]END El protocolo de envío de señales de control es la siguiente: CONTROL[X]ONEND 60 CONTROL[X]OFEND Donde: X es el número de sensor (1 – 6) Valor Digital: número digital del ADC (0 – 255) Se aprecia que cuando el valor sobrepasa al Set Point envía una señal de control de ON y cuando regresa a su estado normal (por debajo del Set Point) envía una señal de OFF. Así mismo se listan los valores de voltaje correspondientes a los valores digitales enviados (Tabla 4.2). Sensor Valor Digital Valor del Sensor (teórico) 10 12.75 60 26.47 100 37.45 150 51.18 1 210 67.65 70 7.33 110 12.23 165 18.97 213 24.85 3 105 11.62 61 50 53.53 114 83.65 192 120.35 215 131.18 5 143 97.29 Tabla 4.2. Valores digitales y su correspondiente valor de voltaje. También se comprobó que los datos tanto de configuración (Figura 4.13) como los valores de voltaje (Figura 4.14) fueron guardados en la base de datos. Figura 4.13. Tabla de datos de configuración en la base de datos. Figura 4.14. Tabla de valores en la base de datos. 62 Se obtuvo así una pantalla final con los últimos valores enviados como se muestra en la Figura 4.15. Figura 4.15. Pantalla final con los valores enviados. 4.2.2 Programa Microcontrolador Para las pruebas del programa del microcontrolador, como éste es el encargado de acondicionar la señal proveniente de los sensores utilizando los comparadores análogo digital interno, se mandó señales de voltaje 0 – 5 VDC, para probar que los valores digitales sean los esperados según la 63 resolución del ADC (8 bits). A continuación se muestra en la Tabla 4.3 los valores de voltaje ingresados al ADC y su respectivo valor digital dado por el microcontrolador. Voltaje de Entrada (V) Valor Digital Teórico Valor Digital Real Error (V) 0 0 0 0 0.5 26 26 0 1 51 51 0 1.5 77 78 +0.0196 2 102 100 -0.0392 2.5 128 128 0 3 153 154 +0.0196 3.5 179 179 0 4 204 201 0 4.5 230 232 +0.0588 5 255 253 -0.0392 Tabla 4.3. Valores de voltaje y digitales provenientes del módulo de acondicionamiento. Resolución = 0.0196 V Para las pruebas, se uso un multímetro FLUKE con una resolución de 2 decimales de voltaje. 64 4.2.3 Programa de Aplicación WEB Para el programa WEB realizado, las pruebas consistieron en cargar los valores antes guardados en la base de datos por el programa encargado del monitoreo. Al seleccionar la fecha y luego la hora correspondiente a los valores que se quieren visualizar, se procede a apretar el botón ACEPTAR para cargar los datos como se muestra en la Figura 4.16. Figura 4.16. Página Web con los valores cargados de la base de datos. 65 Si la fecha y hora seleccionadas corresponden a una proceso de monitoreo en curso, si se aprieta el botón ACTUALIZAR, carga el o los últimos valores guardados en la base de datos a fin de que el usuario pueda visualizarlos al momento como se muestra en la Figura 4.17. Figura 4.17. Página Web con los valores actualizados. 66 Se puede ver como los nuevos valores de los sensores 1 (70.3), 2 (20.5) y 3 (100.3) son refrescados en la pantalla, según lo actualizado en la base de datos (Figura 4.18). Figura 4.18. Valores de voltaje actualizados (rojo) guardados en la base de datos. 4.3 Diseño de la Tarjeta de Acondicionamiento La tarjeta de acondicionamiento consta básicamente de un microcontrolador ATMega8L del cual se hace uso de seis entradas para los ADC (PC0…PC5), así como 6 salidas digitales para las señales de alarma (PB0…PB5). Además se añadió las conexiones necesarias para la programación del microcontrolador (ISP), así como un MAX232 para la comunicación serial 67 con una salida de conector DB9 macho, y un circuito regulador de voltaje de 5V. El diagrama esquemático es como se muestra en la Figura 4.19. Figura 4.19. Diagrama Esquemático de la Tarjeta de Acondicionamiento. 4.4 Costos del Diseño Para los costos del diseño, se tomaron en cuenta el hardware, software y la inversión de horas hombre para la programación del respectivo software. Los costos se detallan en la Tabla 4.4. 68 ITEM DESCRIPCIÓN UNIDAD CANTIDAD PRECIO UNITARIO ($) PRECIO TOTAL ($) 1 Sensor de Nivel EA 4 200.00 800.00 2 Sensor de Temperatura PT-100 EA 2 100.00 200.00 3 Cable AWG 18 apantallado con shield.Para el sensor de nivel. Mt. 30 1.50 45.00 4 Cable para PT-100 (PVC). Mt. 14.5 1.30 18.85 5 Cable de cobre. Mt. 10 0.50 5.00 6 Circuito de acondicionamiento de señal EA 1 50.00 50.00 7 Canaleta (1.8 mts) EA 7 0.60 4.20 8 Caja de paso EA 1 10.00 10.00 7 Microsoft Visual WEB developer 2005Express Edition. EA 1 43.44 43.44 8 Dominio de la dirección WEB (*) EA 1 10.00 10.00 9 WEB Hosting (*) EA 1 20.00 20.00 10 Elaboración de software. Hr. 120 3.00 360.00 TOTAL 1566.49 Hardware Software Programación Tabla 4.4. Detalle de costos del diseño. (*) Pago anual Se toma en cuenta que la plataforma donde se va a ejecutar los programas es sobre el sistema operativo LINUX por lo que no se toma en cuenta un costo por licencia de Microsoft Windows XP. 69 CONCLUSIONES Luego de las pruebas realizadas, la comunicación serial RS-232 satisface las necesidades de comunicación entre dispositivos, en este caso módulo de acondicionamiento y computador terminal, dando también un fácil manejo de la transmisión de datos y sobre todo que este tipo de comunicación es soportado por la mayoría de dispositivos (hardware) y lenguajes de programación (software). Las pruebas con la base de datos también se registraron correctamente, guardando de manera exacta los valores recibidos en el computador principal, también registrando el ingreso del usuario y almacenando los datos dentro de su historial. Los resultados obtenidos de la base de datos, se cargaron de manera exitosa en el programa WEB, registrando solo los sensores configurados y cargando los datos en los respectivos parámetros (valor máximo, valor mínimo, set point, etc.). Entonces el sistema en conjunto no solo toma valores de los sensores sino que acondiciona la señal para su posterior visualización ya sea en el lugar mismo de trabajo o en un lugar remoto vía Internet (WEB). 70 RECOMENDACIONES En cuanto a las especificaciones del hardware usar se debe tener en cuenta las señales estándares de entradas para los conversores análogo digital del microcontrolador, las cuales deben ser de 0 – 5 VDC para el caso de sensores de temperatura y de 1 – 5 VDC para el caso de sensores de nivel. En cuanto a las salidas digitales que proporciona la tarjeta de acondicionamiento, se debe tener en cuenta que la corriente máxima dada por el microcontrolador puede ser como máximo de 20 mA para un adecuado funcionamiento. Para un funcionamiento mas completo, en cuanto al proceso en sí de tostado de granos de kiwicha, se debe desarrollar un proceso de control a fin de no solo tener una visualización de los parámetros críticos del proceso sino también poder controlarlos de manera automática, esto para tener un menor margen de error en el proceso y además de optimizar el mismo. Este proceso de control también debe ser implementado tanto en el servidor como en la aplicación Web, ya que si se requiere cambiar algún parámetro, estando el encargado en un lugar distante a la planta de proceso, lo pueda hacer sin la necesidad de ir al computador principal. Además de lo antes mencionado una mejora tecnológica a desarrollar e implementar es la de una comunicación inalámbrica entre los sensores y el modulo de acondicionamiento, facilitando esto la distribución de los sensores en los equipos. 71 BIBLIOGRAFÍA [1] CISCO SYSTEM, Inc. y CISCO NETWORKING ACADEMY PROGRAM 2004 Academia de Networking de Cisco Systems Guía del primer año CCNA 1 y 2. Tercera Edición [2] LEE, Thomas y DAVIES Joseph 2000 Microsoft Windows 2000 TCP/IP Protocolos y Servicios. Referencia técnica [3] HUIDOBRO, José Manuel 2001 Redes y Servicios de Telecomunicaciones [4] PALLÁS, Ramón 1998 Sensores y acondicionadores de señal. 3° edición [5] CARRANZA, Raymundo 2001 Automatización Tópicos de Instrumentación y Control [6] Casadomo Soluciones S.L. 2006 Arquitectura y Estructura de Dispositivos y Redes [en línea]. 2006 [consultado el 2006-04-15]. http://www.construible.es/noticias Detalle.aspx?c=50&m=61&idm=61&pat=59&n2=59 72 [7] ROMÁN, Isabel 2005 Estructura de las Redes de Telecomunicaciones [en línea]. 2006 [consultado el 2006-04-20]. http://trajano.us.es/~isabel/publicaciones/ Tema3.pdf [8] Real Academia Española http://www.rae.es/ [9] Asociación Mexicana de Amaranto 2003 Amarantum: Asociación Mexicana de Amaranto [en línea]. [consultado el 2006-04-20]. http://www.amaranta.com.mx/elamaranto/secAmaranto.html [10] IBARRA, Silvia UNESCO – Amaranto [en línea]. [consultado el 2006-04-25]. http://www.elportaldemexico.com/arteculinario/pueblodemaiz- unesco.htm [11] Rockwell Automation [consultado el 2007-02-27]. http://www.ab.com/catalogs/C114-CA001A-ES-P/1a_photo.pdf [12] ARIAN Control & Instrumentation [consultado el 2007-03-01] http://www.arian.cl/downloads/nt-004.pdf 73 ESPOSITO, Anthony 1980 Fluid Power with Applications Centro de Investigación, Educación y desarrollo [en línea]. [consultado el 2006-04-25]. http://www.ciedperu.org/productos/kiwicha.htm ATMEL http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf 74 ANEXOS Anexo 1 1 2 Anexo 2 3 4 Anexo 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Anexo 4 ; ************************************************************************************ ; Programa que sensa los valores de los ADC del microcontrolador y envía ; dichos valores serialmente mediante una trama ; ************************************************************************************ .include "D:\ARCHIV~1\VMLAB\include\m8def.inc" ; Define here the variables .def TEMP = R16 .def TEMP1 = R17 .def BCDUnidad = R18 .def BCDDecena = R19 .def BCDCentena = R20 .def ContInter = R21 .def contCaracter = R22 .def FIN = R23 .def IGUALES = R24 .equ CR = 13 ;Caracter ENTER .equ SI = 1 .equ NO = 0 .equ PORTCONTROL = PORTB .equ DDRCONTROL = DDRB .DSEG .org $60 ValorADC0 : .byte 1 ValorADC1 : .byte 1 ValorADC2 : .byte 1 ValorADC3 : .byte 1 ValorADC4 : .byte 1 ValorADC5 : .byte 1 ValorADCBCD : .byte 1 CadenaRx : .byte 14 .CSEG reset: RJMP start reti ; Addr $01 reti ; Addr $02 reti ; Addr $03 reti ; Addr $04 reti ; Addr $05 RJMP Inter100ms reti ; Addr $07 25 reti ; Addr $08 reti ; Addr $09 reti ; Addr $0A RJMP RxCaracter reti ; Addr $0C reti ; Addr $0D reti ; Addr $0E reti ; Addr $0F reti ; Addr $10 start: LDI TEMP,LOW(RAMEND) OUT SPL,TEMP LDI TEMP,HIGH(RAMEND) OUT SPH,TEMP LDI TEMP,0b00111111 OUT DDRCONTROL,TEMP LDI contCaracter,0 RCALL ConfiguraSerial RCALL ConfiguraInter100ms LDI YL,low(CadenaRx) LDI YH,high(CadenaRx) SEI ;**PROGRAMA PRINCIPAL*** Inicio: RCALL RecibeCaracter CPI TEMP,'i' BRNE Inicio LDI YL,low(CadenaRx) LDI YH,high(CadenaRx) LDI contCaracter,0 SigueLeyendoADC: RCALL LeeADC0 RCALL LeeADC1 RCALL LeeADC2 RCALL LeeADC3 RCALL LeeADC4 RCALL LeeADC5 LDI ZL,low(ProtocoloInicioSensor1*2) LDI ZH,high(ProtocoloInicioSensor1*2) RCALL EnviaCadena 26 LDS TEMP,ValorADC0 RCALL EnviaValorADC LDI ZL,low(ProtocoloInicioSensor2*2) LDI ZH,high(ProtocoloInicioSensor2*2) RCALL EnviaCadena LDS TEMP,ValorADC1 RCALL EnviaValorADC LDI ZL,low(ProtocoloInicioSensor3*2) LDI ZH,high(ProtocoloInicioSensor3*2) RCALL EnviaCadena LDS TEMP,ValorADC2 RCALL EnviaValorADC LDI ZL,low(ProtocoloInicioSensor4*2) LDI ZH,high(ProtocoloInicioSensor4*2) RCALL EnviaCadena LDS TEMP,ValorADC3 RCALL EnviaValorADC LDI ZL,low(ProtocoloInicioSensor5*2) LDI ZH,high(ProtocoloInicioSensor5*2) RCALL EnviaCadena LDS TEMP,ValorADC4 RCALL EnviaValorADC LDI ZL,low(ProtocoloInicioSensor6*2) LDI ZH,high(ProtocoloInicioSensor6*2) RCALL EnviaCadena LDS TEMP,ValorADC5 RCALL EnviaValorADC LDI ContInter,0 LDI YL,low(CadenaRx) LDI YH,high(CadenaRx) LDI contCaracter,0 SigueEsperando: LDS TEMP,CadenaRx CPI TEMP,'f' BREQ Inicio CPI ContInter,5 ;espera que pase 2 seg BRNE SigueEsperando RJMP SigueLeyendoADC ;***FIN PROGRAMA PRINCIPAL*** 27 ;*********************************************************** ; Subrutina de interrupción de recepción de carácter ;*********************************************************** RxCaracter: INC contCaracter IN TEMP,UDR ST Y+,TEMP CPI contCaracter,13 BRNE FinRxCaracter RCALL VerificaFin CPI FIN,SI BRNE FinRxCaracter RCALL VerificaProtocoloControl FinRxCaracter: RETI ;***************************************************************************** ; Subrutina que verifica que en protocolo de control termine en END ; ; Salida: FIN ; ***************************************************************************** VerificaFin: LDI FIN,NO SUBI YL,3 LD TEMP,Y+ CPI TEMP,'E' BRNE FinVerificaFin LD TEMP,Y+ CPI TEMP,'N' BRNE FinVerificaFin LD TEMP,Y+ CPI TEMP,'D' BRNE FinVerificaFin LDI FIN,SI LDI contCaracter,0 FinVerificaFin: RET ;********************************************************************* ; Verifica que el protocolo de control enviado sea el correcto ; (CONTROLxONEND o CONTROLxOFEND) ;**************************************************** ***************** VerificaProtocoloControl: LDI ZL,low(ProtocoloControl1ON*2) LDI ZH,high(ProtocoloControl1ON*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl1OFF SBI PORTCONTROL,0 RJMP FinProtocoloControl 28 ComparaControl1OFF: LDI ZL,low(ProtocoloControl1OFF*2) LDI ZH,high(ProtocoloControl1OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl2ON CBI PORTCONTROL,0 RJMP FinProtocoloControl ComparaControl2ON: LDI ZL,low(ProtocoloControl2ON*2) LDI ZH,high(ProtocoloControl2ON*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl2OFF SBI PORTCONTROL,1 RJMP FinProtocoloControl ComparaControl2OFF: LDI ZL,low(ProtocoloControl2OFF*2) LDI ZH,high(ProtocoloControl2OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl3ON CBI PORTCONTROL,1 RJMP FinProtocoloControl ComparaControl3ON: LDI ZL,low(ProtocoloControl3ON*2) LDI ZH,high(ProtocoloControl3ON*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl3OFF SBI PORTCONTROL,2 RJMP FinProtocoloControl ComparaControl3OFF: LDI ZL,low(ProtocoloControl3OFF*2) LDI ZH,high(ProtocoloControl3OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl4ON CBI PORTCONTROL,2 ComparaControl4ON: LDI ZL,low(ProtocoloControl4ON*2) LDI ZH,high(ProtocoloControl4ON*2) RCALL ComparaCadenas CPI IGUALES,SI 29 BRNE ComparaControl4OFF SBI PORTCONTROL,3 RJMP FinProtocoloControl ComparaControl4OFF: LDI ZL,low(ProtocoloControl4OFF*2) LDI ZH,high(ProtocoloControl4OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl5ON CBI PORTCONTROL,3 RJMP FinProtocoloControl ComparaControl5ON: LDI ZL,low(ProtocoloControl5ON*2) LDI ZH,high(ProtocoloControl5ON*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl5OFF SBI PORTCONTROL,4 RJMP FinProtocoloControl ComparaControl5OFF: LDI ZL,low(ProtocoloControl5OFF*2) LDI ZH,high(ProtocoloControl5OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl6ON CBI PORTCONTROL,4 RJMP FinProtocoloControl ComparaControl6ON: LDI ZL,low(ProtocoloControl6ON*2) LDI ZH,high(ProtocoloControl6ON*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE ComparaControl6OFF SBI PORTCONTROL,5 RJMP FinProtocoloControl ComparaControl6OFF: LDI ZL,low(ProtocoloControl6OFF*2) LDI ZH,high(ProtocoloControl6OFF*2) RCALL ComparaCadenas CPI IGUALES,SI BRNE FinProtocoloControl CBI PORTCONTROL,5 FinProtocoloControl: LDI YL,low(CadenaRx) 30 LDI YH,high(CadenaRx) LDI contCaracter,0 RET ;************************************************************************************** ;Compara dos cadenas (Tabla y cadena en DSEG) ; ;Entrada: Z (apunta al inicio de la cadena en Tabla) ; Y (apunta al inicio de la cadena en DSEG) ;Salida: COMPARACION ;Valores Modificados: TEMP,TEMP1,Z,Y,COMPARACION,contCaracteres ;************************************************************************************** ComparaCadenas: LDI YL,low(CadenaRx) LDI YH,high(CadenaRx) LDI IGUALES,NO SigueComparaCadenas: LPM TEMP,Z+ CPI TEMP,0 BREQ SonIguales LD TEMP1,Y+ CP TEMP,TEMP1 BREQ SigueComparaCadenas RJMP FinComparaCadenas SonIguales: LDI IGUALES,SI FinComparaCadenas: RET ;**************************************************** ;Configura la interrupción por tiempo a 100ms ; ;Valores modificados: TEMP ;**************************************************** ConfiguraInter100ms: LDI TEMP,0b00000000 OUT TCCR1A,TEMP LDI TEMP,0b00001100 ;100 PARA 100ms OUT TCCR1B,TEMP LDI TEMP,LOW(3125) ;3125 PARA 100 ms LDI R17,HIGH(3125) OUT OCR1AH,R17 OUT OCR1AL,TEMP LDI TEMP,$10 OUT TIMSK,TEMP RET 31 ;********************************************** ; Subrutina que lleva la cuenta de 100ms ; ; Salida: ContInter ;********************************************** Inter100ms: INC ContInter RETI ;****************************************************************** ; Envia el valor del ADCx almacenado en TEMP por serial ; junto con el fin del protocolo (END) ; ; Entrada: TEMP (valor del ADCx) ; Salida: ValorADCBCD ; Valores modificados: Z ;****************************************************************** EnviaValorADC: RCALL ConvierteNumeroaBCD LDS TEMP,ValorADCBCD RCALL EnviaCaracter LDS TEMP,ValorADCBCD+1 RCALL EnviaCaracter LDS TEMP,ValorADCBCD+2 RCALL EnviaCaracter LDI ZL,low(ProtocoloFin*2) LDI ZH,high(ProtocoloFin*2) RCALL EnviaCadena RET ;********************************* ; Configura el ADC0 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC0: LDI TEMP,0b01100000 OUT ADMUX,TEMP LDI TEMP,0b11000110 OUT ADCSR,TEMP RET ;********************************* ; Configura el ADC1 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC1: LDI TEMP,0b011000001 OUT ADMUX,TEMP 32 LDI TEMP,0b11000110 OUT ADCSR,TEMP RET ;********************************* ; Configura el ADC2 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC2: LDI TEMP,0b01100010 OUT ADMUX,TEMP LDI TEMP,0b11000110 OUT ADCSR,TEMP RET ;********************************* ; Configura el ADC3 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC3: LDI TEMP,0b01100011 OUT ADMUX,TEMP LDI TEMP,0b11000110 OUT ADCSR,TEMP RET ;********************************* ; Configura el ADC4 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC4: LDI TEMP,0b01100100 OUT ADMUX,TEMP LDI TEMP,0b11000110 OUT ADCSR,TEMP RET ;********************************* ; Configura el ADC5 ; ; Valores modificados: TEMP ;********************************* ConfiguraADC5: LDI TEMP,0b01100101 OUT ADMUX,TEMP LDI TEMP,0b11000110 OUT ADCSR,TEMP 33 RET ;************************************************************ ; Lee el valor del ADC0 y lo almacena en ValorADC0 ; ; Valores modificados: ValorADC0 ;************************************************************ LeeADC0: RCALL ConfiguraADC0 SigueLeeADC0: SBIS ADCSR,ADIF RJMP SigueLeeADC0 IN TEMP,ADCH STS ValorADC0,TEMP CBI ADCSR,7 RET ;************************************************************ ; Lee el valor del ADC1 y lo almacena en ValorADC1 ; ; Valores modificados: ValorADC1 ;************************************************************ LeeADC1: RCALL ConfiguraADC1 SigueLeeADC1: SBIS ADCSR,ADIF RJMP SigueLeeADC1 IN TEMP,ADCH STS ValorADC1,TEMP CBI ADCSR,7 RET ;************************************************************ ; Lee el valor del ADC2 y lo almacena en ValorADC2 ; ; Valores modificados: ValorADC2 ;************************************************************ LeeADC2: RCALL ConfiguraADC2 SigueLeeADC2: SBIS ADCSR,ADIF RJMP SigueLeeADC2 IN TEMP,ADCH STS ValorADC2,TEMP CBI ADCSR,7 RET 34 ;************************************************************ ; Lee el valor del ADC3 y lo almacena en ValorADC3 ; ; Valores modificados: ValorADC3 ;************************************************************ LeeADC3: RCALL ConfiguraADC3 SigueLeeADC3: SBIS ADCSR,ADIF RJMP SigueLeeADC3 IN TEMP,ADCH STS ValorADC3,TEMP CBI ADCSR,7 RET ;************************************************************ ; Lee el valor del ADC4 y lo almacena en ValorADC4 ; ; Valores modificados: ValorADC4 ;************************************************************ LeeADC4: RCALL ConfiguraADC4 SigueLeeADC4: SBIS ADCSR,ADIF RJMP SigueLeeADC4 IN TEMP,ADCH STS ValorADC4,TEMP CBI ADCSR,7 RET ;************************************************************ ; Lee el valor del ADC5 y lo almacena en ValorADC5 ; ; Valores modificados: ValorADC5 ;************************************************************ LeeADC5: RCALL ConfiguraADC5 SigueLeeADC5: SBIS ADCSR,ADIF RJMP SigueLeeADC5 IN TEMP,ADCH STS ValorADC5,TEMP CBI ADCSR,7 RET 35 ;**************************************** ; Configura la comunicación serial ; ; Frecuencia : 8 Mhz ; Velocidad : 9600 bps ; Bits de datos : 8 ; Paridad : ninguno ; Bits de parada : 1 ;**************************************** ConfiguraSerial: LDI TEMP,0<