Universidad de Pamplona, una Universidad para una Sociedad Inteligente e Interconectada Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia) Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 - www.unipamplona.edu.co UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERÍAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERÍAS ELÉCTRICA ELECTRÓNICA SISTEMAS Y TELECOMUNICACIONES PROGRAMA DE INGENIERÍA ELECTRÓNICA TRABAJO DE GRADO PRESENTADO PARA OPTAR POR EL TÍTULO DE INGENIERO EN ELECTRÓNICA TEMA DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA ELECTRÓNICO DE MONITOREO Y MANDO VÍA WEB, A TRAVÉS DE INTERNET AUTOR: WILSON ANTONIO GAN CUBA DIRECTOR DEL TRABAJO: MSc. ANTONIO GAN ACOSTA CODIRECTOR: Ing. FABIÁN RENÉ SÁNCHEZ BLANCO PAMPLONA N. S. COLOMBIA SEPTIEMBRE 2006 2 3 Pensamiento "No es porque las cosas son difíciles que no nos atrevemos; es porque no nos atrevemos que son difíciles" Séneca 4 Dedicatoria Dedico este proyecto ante todo a mi familia que me ha dado apoyo desde que nací y ha estado a mi lado en cada logro en cada paso de avance. A mis amigos quienes también son parte de mi familia y sin los cuales seria imposible levantarse cada día y seguir en los bellos pero también en los malos momentos. A mis padres que siempre han estado cerca cuando los necesito, siguiendo mis pasos, guiando mis logros humanos y académicos. A mi madre Onelia de los Ángeles Cuba Guerra quien siempre se ha preocupado por mi instrucción académica y a quien debo gran parte de mis logros estudiantiles. A mi abuela querida Ana María Acosta Pérez que se ha desvelado para apoyarme incondicionalmente desde que nací y a quien admiro y quiero con todas mis fuerzas. A mi hermana Ana del Carmen Gan Cuba quien me quiere como su hermano favorito. A mi novia Elizabeth Parra Bautista que con su amor me ha hecho superar los momentos de cansancio y me da siempre nuevos ánimos para continuar. A mi querida patria Cuba “La perla de las antillas” que llevo en el corazón. Madre de grandes personalidades y gente sencilla y culta. A esta grandiosa tierra colombiana cuna de soñadores y luchadores que viajan por el mundo llevando consigo lo mejor del país, esa alegría y amor por la vida. 5 Agradecimientos Quedo agradecido a todos los que influyeron de una forma una otra a mi instrucción como estudiante y ser humano. Agradecido a mi director, mis asesores y a mi codirector Fabián René Sánchez Blanco quien ha sido de ayuda esencial en el desarrollo de la parte de sistemas. Agradezco su dulzura a la maestra Rosita del preescolar, a la maestra Lolita de primero y segundo grados y a la maestra Isabel Escobar de tercero y cuarto grados. Gracias a los profesores de secundaria, enseñanza en la que a pesar de la crisis fui tan feliz, cosa que también agradezco en especial a mis compañeros de 9no 20, como Yaritza, Lídice Delgado y otros. Muchas gracias a los que fueron mis amigos de la vocacional, Máximo Gómez Báez, a José Luis Estrada Caballero, a Dianellis Vidal Lorente, a Denise Cómas Isaac. Agradecimientos a la profesora Idania Bacallao quien me escuchó con madurez y a la que admiro. Mis más sinceros respetos para mi gran amigo Omar Batista Núñez, quien me enseño que la sencillez es independiente del estatus social. Agradecido también a mis compañeros de estudios con quienes compartí buenos momentos y otros tantos de escasez y dificultades de toda clase, tanto en la parte académica como personal. Compañeros como José Carlos Vilela Díaz, Michel de la Fe Arrascaeta, Yorisley Amador Calderín. Gracias a Nicolás Figueroa Cuello por su apoyo y por darle a nuestra amistad una dimensión internacional. Agradecido a tantos que he olvidado y a tantos por venir que influyen de manera decisiva en mi vida y en el bien de la humanidad. Mi eterna gratitud a Colombia que me permitió forjarme como profesional. Agradecido a Ucrania la tierra donde obtuve mis primeros respiros de vida. 6 Resumen Debido a la necesidad de control de procesos, que es creciente en el mundo moderno y que requiere no sólo de circuitos que se autogobiernen de manera que gran parte sea realizado con independencia de la presencia física de personal humano y cómo además también es necesario que en ciertas operaciones esté presente el hombre, por lo que si tiene que estar en un lugar específico se subutiliza potencial intelectual. Surge entonces este proyecto para permitir una supervisión y mando a distancia, en realidad la mayor distancia posible que se extiende al mundo entero y que es provista por el alcance de Internet, además de ser una vía relativamente barata. Es mostrado un diagrama en bloques general enfocado a la realización de cuatro partes o áreas principales: 1. Diseño del sistema electrónico tanto de muestreo electrónico de magnitudes eléctricas así como la recepción y ejecución de un mando generado de forma manual por el usuario vía Web. 2. Diseño del sistema informático que permita el manejo vía Web a través de Internet. Para ello se desarrolla una aplicación con la reciente Plataforma .NET y más específicamente el paquete de Visual Studio 2005, provisto por Microsoft. Esta se comunica con un microcontrolador lo que proporciona finalmente que los datos obtenidos en este caso de un equipo de soldadura por arco eléctrico para electrodos revestidos, sean analizados por el operario o ingeniero y se pueda ejecutar una acción en tiempo real sobre el proceso. 3. Configuración del MODEM MT820 para permitir la comunicación correcta entre la intranet e Internet. 4. Finalmente se realiza el análisis económico y financiero del proyecto que demuestra la viabilidad de este. El trabajo está compuesto por una totalidad de 191 páginas y 7 capítulos. 7 Abstract Due to necessity of processes control, that is increasing in the modern world and which they require not only of circuits that are autogobiernen so that all great part is made independently of the physical presence of human and how in addition also it is necessary that in certain operations the present of the man, reason why if it must be in a specific place it subuses intellectual potential. Then east arises project to allow a remote supervision, in fact the greater possible distance that it extends to the entire world and that is provided by the reach of Internet, in addition to being a cheap route. A general diagram in blocks is shown focused the accomplishment of four parts or main areas: 1. Design of the electronic system as much of electronic sampling of electrical magnitudes as well as the reception and execution of a generated control of manual form by the user by Web. 2. Design of the computer science system that allows the handling by Web through Internet. The Visual Studio 2005 package has been developed an application with recent Platform .NET more specifically and, provided by Microsoft. This communicates with a microcontroller which provides finally that the data collected in this case of an equipment of electrical arc welding for coated electrodes, are analyzed by the worker or engineer and finally an action in real time can be taken on the process. 3. Configuration of MODEM MT820 to allow the correct communication between the Intranet and Internet. 4. Finally the economic and financial analysis of the project is made that demonstrates the viability of this. The work is made up of a totality of 191 pages and 7 chapters. 8 Índice General INTRODUCCION 14 JUSTIFICACION 16 Marco histórico Objeto Necesidades y problemas Criterios de viabilidad 16 16 17 18 DELIMITACION 19 Objetivo general Objetivos específicos Acotaciones 19 19 19 Marco teórico CAPÍTULO I. ESTUDIO DE UN SISTEMA ELECTRÓNICO DE MONITOREO Y MANDO A DISTANCIA Análisis de sistemas en tiempo real 20 22 DISEÑO DEL DIAGRAMA EN BLOQUES GENERAL DEL SISTEMA DE MONITOREO Y MANDO VÍA WEB, A TRAVÉS DE INTERNET 24 CAPÍTULO II. DISEÑO DEL SISTEMA DE MUESTREO ELECTRÓNICO DE MAGNITUDES ELÉCTRICAS 26 Estudio del procedimiento de cálculo del valor medio y el valor eficaz 27 Análisis del procedimiento de muestreo 30 Selección de fórmulas para medición de AC y cálculo del valor final 31 Cálculo de elementos del circuito de muestreo electrónico de corriente 33 ESTUDIO Y CÁLCULOS PARA CONVERSOR A/D UTILIZADO EN EL MICROCONTROLADOR PIC 36 Descripción del conversor A/D de aproximaciones sucesivas 9 37 CAPÍTULO III. ESTUDIO DE UN SISTEMA DE COMUNICACIÓN POR PUERTO SERIAL 40 Resumen general sobre el puerto serial y la transmisión serie Análisis histórico Receiver/Transmitter) del UART (Universal 41 Asynchronous 43 Estudio del estándar RS-232C 44 Estudio de los convertidores de nivel RS-232 48 Descripción del modo de Acceso al puerto serial mediante Visual Basic 49 Estudio del Evento Data Receive 51 Descripción del protocolo utilizado para comunicación entre PC y PIC16f877A 52 CAPÍTULO IV. CONCEPCIÓN DE LA ETAPA PC ESTACIÓN CENTRAL 53 Estudio sobre páginas HTML (estáticas) y páginas dinámicas 55 Estudio sobre los Lenguajes de lado servidor 57 Estudio del Control WebChart 60 Descripción de las propiedades del control WebChart 62 Estudio del SQL SERVER Database 64 Descripción de las tablas utilizadas 69 DISEÑO DEL SOFTWARE DE ESCRITORIO 70 DISEÑO DEL SOFTWARE EN VISUAL WEB DEVELOPER 75 DISEÑO DEL SISTEMA DE MONITOREO POR WEBCAM 81 Diseño de la Interfaz Web para Webcam 10 85 Combinación de JavaScript y HTML 86 DESCRIPCIÓN DE LA INTERFAZ WEB 91 CAPÍTULO V. DISEÑO DE LA PROGRAMACIÓN EN EL PIC16F877A 93 CAPÍTULO VI. ESTUDIO DEL CANAL DE ACCESO A INTERNET MEDIANTE ADSL 102 Descripción de la tecnología ADSL 103 CONFIGURACIÓN DEL MÓDEM MT820 106 Descripción de la configuración NetWork Address Translation (NAT) 108 DESCRIPCIÓN DE LA ETAPA DE MANDO ELECTRÓNICO 113 CAPÍTULO VII. ANÁLISIS ECONÓMICO Y FINANCIERO 114 Cálculo financiero 116 FUENTES DE FINANCIACIÓN 123 MARCO LEGAL 124 ANÁLISIS DE PROTECCIÓN E HIGIENE DEL TRABAJO 125 INFLUENCIA AMBIENTAL DEL TRABAJO 126 ARTÍCULO CIENTÍFICO SOMETIDO A PUBLICACIÓN 127 RESULTADOS 134 CONCLUSIONES 135 OBSERVACIONES Y RECOMENDACIONES 136 BIBLIOGRAFÍA 137 ANÁLISIS BIBLIOGRÁFICO 141 11 GLOSARIO DE TÉRMINOS NO CONVENCIONALES 143 ABREVIATURAS UTILIZADAS 144 SÍMBOLOS UTILIZADOS 146 RESEÑAS BIOGRÁFICAS DE DIRECTOR, CODIRECTOR Y ASESORES 148 ANEXOS 154 12 Índice de Anexos Anexo1. The UART (8250 and Compatibles) 154 Anexo2. Funciones de los pines del puerto serial (Inglés) 156 Anexo3. PIC16f877 ADCON0 REGISTER 157 Anexo4. PIC16f877 ADCON1 REGISTER 158 Anexo5. Estudio del proceso de soldadura 159 13 Introducción Las oportunidades y la polémica que ha creado Internet no tienen precedente. Esta que en sus principios era un simple proyecto militar de los Estados Unidos, a alcanzado dimensiones inimaginables, revolucionando no solo la capacidad de comunicarse, añadiendo información en tiempo real a cualquier clase de ciencia o tecnología, teniendo como protagonista el movimiento de “La Web”, que ha sido descrito como “la revolución industrial de la información” La World Wide Web realmente nació en 1991, pero el punto de partida para la Web sucedió en 1993 con la aparición primer navegador. Desde entonces, el uso de Internet se ha disparado. Pasaron muchos años antes de que el número de usuarios de Internet llegara a nueve millones en 1993. Actualmente se estima que 1000 millones se encuentran rondando la macrored que influye directa o indirectamente y de manera decisiva en la vida humana. En el caso de Colombia se observa en los últimos años un auge de la tendencia de conexión a Internet que equivale al fin al uso de las Web, cosa que a pesar de ser un país subdesarrollado se puede aprovechar para crear sistemas de monitoreo y mando a distancia que abaraten costos de transporte e importación de aparatos sofisticados con mando a distancia, teniendo la posibilidad de diseñarlos propiamente dentro del país. Además del aumento del uso de Internet en Colombia y la disminución de costos de uso de dicha red el proyecto fue impulsado por la propuesta del empresario Eduardo Navarro Nieto gerente de la empresa MONTAJES EDUNAV, que sostiene en la actualidad, de recibir equipos de soldadura, de cualquier tipo que cumplan con las necesidades técnicas de operación y que sean producidos en Colombia y a bajo costo, mostró especial interés en desarrollar equipos novedosos que puedan ser monitoreados y manipulados a distancia, debido a que gastos de pago presenciales de personal especializado son injustificables, por lo que es viable su intervención a distancia, además de que se podría obtener un sistema final que manipulara el equipo de soldadura totalmente a distancia aislando al ser humano de este y de los riesgos que tiene implícito el proceso de soldadura, con lo que surge este trabajo de grado y el del colega Alberto Nicolás Figueroa Cuello. 14 De esta manera se ha conseguido desarrollar una interfaz Web, utilizando los microcontroladores PIC16f877A, con programación mediante ensamblador así como la programación de alto nivel provista por la plataforma .NET de reciente aparición a través del paquete de trabajo Visual Studio 2005, para ello se ha creado un programa de escritorio local que es capaz de adquirir los datos provenientes del microcontrolador a través de transmisión serial, puesto que el programa desarrollado para la Web no tiene esta capacidad directamente. En ambos casos, tanto para el programa de escritorio como para el de la Web se utiliza el lenguaje de programación, Visual Basic 2005 que es el que se conocía de antemano pues se recibió una introducción a este en diferentes proyectos realizados en materias en la Universidad de Pamplona. Para desarrollar la página Web se utilizan además los WebForms, provistos por la plataforma .NET y que le dan al proyecto una gran potencialidad pues permite desarrollar trabajos, que anteriormente requerirían tal vez muchos años de estudio y que permiten realizar, trabajos para proyectos electrónicos investigativos de alta calidad. Debido a las ventajas descritas y a que el software utilizado se puede descargar de manera gratuita a través de la página de Microsoft se escogió este como el más indicado para el proyecto. El compromiso general es realizar el diseño e implementación de un sistema de monitoreo y mando vía Web a través de Internet. Es planteada la necesidad de continuar desarrollando el sistema para que incluya más variables de monitoreo y mando, así como realizar su montaje para cumplir con las peticiones de empresario Eduardo Navarro Nieto y que se pueda legalizar el contrato con la empresa MONTAJES EDUNAV. 15 Justificación Marco histórico Colombia es un país tercer mundista, consumidor o asimilador de tecnologías del mundo desarrollado, el cual tiende a comercializar y ofertar sus productos a precios muy elevados lo cual se agrava por los costos de importación, entre otros aranceles aduaneros y transporte. Por tal motivo, las ofertas existentes en el mercado nacional de equipos de soldadura por arco eléctrico para electrodos revestidos, no satisfacen las necesidades de sus beneficiarios. Además resulta de gran interés en la vida cotidiana como en la industria el tele manejo vía Web a través de Internet para labores o procesos tales como: • • • • Domótica Biomedicina Equipamiento eléctrico o electrónico en general. Vigilancia de alarmas, estudio de tendencias de variables. Dicho tele manejo en la actualidad ha sido implementado en varios equipos, como routers, pero carentes de flexibilidad (para otros usos distintos a los que fueron concebidos) o bajo costo. Objeto El objeto general de nuestro trabajo de grado es un Equipo de Soldadura por Arco Eléctrico para Electrodos Revestidos. Estando bajo la responsabilidad las siguientes partes: 1. El sistema de muestreo electrónico de magnitudes eléctricas, para satisfacer las necesidades de monitoreo así como mando digital. 2. Sistema de comunicación por puerto serial con el computador y envío de dichos datos a Internet. 3. La interfaz Web para visualización y control de magnitudes eléctricas a través de Internet. 4. Sistema de mando electrónico y detección de hardware mediante el uso de la interfaz Web a través de Internet. “Las demás partes o subsistemas del equipo de soldadura por arco eléctrico para electrodos revestidos no son objeto de este trabajo”. 16 Necesidades y problemas En el mercado colombiano los equipos de soldadura por arco eléctrico en ofertas presentan los siguientes inconvenientes: • Los de buen desenvolvimiento tecnológico son extremadamente caros estando su costos hasta el orden de los 30 millones de pesos ($ 30.000.000) y más, influyendo en esto los aranceles e impuestos que han de cobrarse por la importación, siendo las firmas, empresas o industrias más comerciales, populares, reconocidas y eficientes: Lincoln y Miller. • Los equipos que son vendidos en el mercado nacional a precios más baratos o económicos, no satisfacen las necesidades de los trabajos en pequeñas medianas y grandes empresas, ni los requerimientos y normas técnicas, debido a las características deficientes en la calidad de la soldadura que producen, e incomodidad para los operarios. • Los equipos existentes en el mercado nacional e internacional, no cuentan con sistemas de supervisión y control de variables a distancia a través de Internet. • Existe la propuesta o solicitud del empresario Eduardo Navarro Nieto propietario de la empresa MONTAJES EDUNAV, NIT: 91218571-2, TEL:(7) 6373178; radicada en la ciudad de Bucaramanga, en colaboración con el personal técnico de La Universidad de Pamplona. • Existe la necesidad de realizar un proyecto para poder hacer convenios y contratos donde se delimiten las responsabilidades económicas y fiscales para la fabricación conjunta con la empresa MONTAJES EDUNAV de los equipos de soldadura por arco eléctrico para electrodo revestidos. • Necesidad de optimizar y facilitar las operaciones, así como la toma de decisiones, tanto gerenciales como operativas. • Gastos de pago presenciales de personal especializado injustificables, por lo que es viable su intervención a distancia. Labor que puede no sólo ser para el manejo del proceso sino para el diagnóstico de fallas y roturas o simple inspección preventiva 17 Criterios de viabilidad Se dispone de los recursos económicos, tecnológicos y materiales necesarios para el montaje del proyecto lo cual se argumenta en el análisis económico. Acceso a Internet, provisto por Telecom. Software gratuito para el mantenimiento y mejora de la aplicación (Visual Studio 2005) Software gratuito MPLAB provisto por Microchip para la programación y mejora del módulo del PIC. Osciloscopio y demás medios de medición necesarios para el montaje y mantenimiento. Dispositivos eléctricos y electrónicos necesarios para el montaje. Interés de mantener el contrato de la empresa Montajes EDUNAV. 18 Delimitación Objetivo general Realizar el diseño e implementación del sistema monitoreo y mando electrónico de un equipo de soldadura por arco eléctrico para electrodos revestidos vía Web, a través de Internet. Objetivos específicos 1. Estudio del software Visual Web Developer 2005. 2. Estudio del manejo de bases de datos (SQL Server Express 2005) 3. Estudio del software Visual Basic 2005 4. Diseñar e implementar el sistema de medición electrónica de magnitudes eléctricas, para visualización vía Web a través de Internet. 5. Diseñar e implementar el sistema de comunicación vía Web a través de Internet con el circuito de disparo y mando digital del controlador de corriente. 6. Elaborar manuales y/o tutoriales, para utilizarse en posteriores trabajos de grado y como material de apoyo en las asignaturas relacionadas con el tema. Acotaciones La interfaz del sistema de disparo y mando para el controlador de potencia se crea bajo la acción de un circuito digital a base de Microcontroladores, pero es responsabilidad y contenido del autor Alberto Nicolás Figueroa Cuello Este trabajo no persigue conformar un sistema completamente terminado que maneje todas las posibles variables necesarias, sino hacer una primera versión para que sea completada y perfeccionada en trabajos posteriores y que en este caso permita el envío de un dato desde un sistema electrónico y su transporte a una página Web servida a Internet, así como su procesamiento y retorno de una respuesta al punto de origen, lo cual puede ser aplicado a múltiples sistemas, como domótica o clonación de sistemas electrónicos. Sobre el objeto general, equipo de soldadura por arco eléctrico para electrodos revestidos, se realizan dos trabajos de grado de los autores, Wilson Antonio Gan Cuba y Alberto Nicolás Figueroa Cuello, los cuales trabajarán juntos, compartiendo conocimientos y algunos resultados comunes, pero elaborando de forma individual, los objetivos específicos correspondientes 19 Marco teórico Capítulo I Estudio de un sistema electrónico de monitoreo y mando a distancia Es un sistema basado en computadores y dispositivos electrónicos, que permite supervisar y manejar a distancia una instalación de cualquier tipo. Es conocido el significativo auge de sistemas como este, debido al incontrolable avance de las telecomunicaciones que hacen de el una base inseparable de la industria y de cualquier proceso donde exista la presencia de la electrónica. La variable a medir puede constituirlo un fenómeno físico, que puede ser muy variado como presión, temperatura, flujo, potencia, intensidad de corriente, voltaje, ph, densidad. Para tomar la muestra se utilizan los sensores o transductores, capaces de traducir la señal física en una eléctrica analógica (de naturaleza continua), entendible por el circuito electrónico a utilizar. La señal obtenida generalmente es: voltaje, corriente, resistencia o capacitancia. Luego la información debe ser procesada, para ser entendida por el computador lo cual es obra de los acondicionadores de señal, que además proveen al circuito de aislamiento eléctrico y filtraje para eliminación de ruidos y señales indeseables o protección al sistema de picos transitorios de gran magnitud que pueden ser desencadenantes de la descomposición de este. En un siguiente paso se debe digitalizar la señal mediante un circuito o bloque de conversión analógico/digital. Los datos deben ser enviados al computador a través de sus puertos de entrada, de los cuales es comúnmente utilizado por la disminución de pines de transmisión y rapidez que provee “El puerto serial”. El Computador almacena y procesa esta información para la toma instantánea o posterior de decisiones a la vez que la muestra al usuario u operario en tiempo real. Es entonces que este último analiza los datos obtenidos y tiene la posibilidad de actuar sobre el proceso con el simple mandato de un click, lo cual desemboca el retorno de una señal eléctrica digital que es procesada por un bloque receptor y que finalmente ejecuta una acción sobre el sistema regulando su funcionamiento. Lo cual puede ser mediante activación o desactivación de un dispositivo dado: bobina de un relé, setpoint de un controlador. Es importante evaluar si un sistema de este tipo es necesario, puesto que en determinados procesos es más sencillo dejar todo a manos del automatismo o simplemente la acción manual presencial es suficiente. 20 Criterios de selección de un sistema electrónico de monitoreo y mando a distancia: a) Que el proceso esté geográficamente distribuido. Esta condición no es limitativa, ya que puede instalarse un sistema para la supervisión y manejo de un proceso concentrado en una localidad. b) Que la información del proceso se necesite en el momento en que los cambios se producen en el mismo, en tiempo real. c) Que se necesite optimizar y facilitar las operaciones, así como la toma de decisiones, tanto gerenciales como operativas. d) Que la complejidad y velocidad del proceso permitan que la mayoría de las acciones sean iniciadas por un operador. (Aunque esto es relativo porque puede surgir la necesidad de la intervención humana a distancia en algún momento crítico del proceso) e) Que se requiera de personal altamente especializado, cuyos gastos de pago presenciales sean injustificables y sea viable su intervención a distancia. Labor que puede no sólo ser para el manejo del proceso sino para el diagnóstico de fallas o simple inspección preventiva. Funciones básicas realizadas el sistema: a) Almacenar y mostrar información, en forma continua y confiable, correspondiente a la señalización, estados de dispositivos, alarmas, mediciones. b) Ejecutar acciones iniciadas por el operador, como encendido y apagado de dispositivos remotos, apertura y cierre de válvulas, incluso control exacto de sus variables como fijar la corriente en un valor determinado. c) Alertar al operador de cambios detectados, tanto aquellos que no se consideren normales como cambios que se produzcan en la operación diaria. Estos cambios son almacenados en el sistema para su posterior análisis. d) Aplicaciones en general, basadas en la información obtenida por el sistema, tales como: reportes, gráficos de tendencia, historia de variables, cálculos, predicciones, detección de fugas, detección de fallas en general Estos sistemas son una opción óptima en cualquier clase de tele manejo actual, puesto que unido a las facilidades que otorga Internet de acortar distancias, su costo se reduce y los procesos o dispositivos de cualquier índole pueden dar un aporte más seguro y personalizado en tiempo real. 21 Como se menciona, una de las cualidades primordiales del sistema propuesto es que el monitoreo y mando se pueden realizar en el momento en que se producen los hechos, o sea en tiempo real, por lo que se procede a continuación a un análisis de sistemas de este tipo. Análisis de sistemas en tiempo real El estudio de los sistemas de tiempo real es la forma de organizar el desarrollo de sistemas compuestos por una combinación de hardware y software, para lograr sistemas robustos y confiables, con un óptimo aprovechamiento de los recursos, como los tiempos desocupados del procesador en un computador. El tiempo que media entre la presentación de un conjunto de entradas a un sistema y la aparición de todas las salidas asociadas se llama tiempo de respuesta del sistema. Un sistema se encuentra fallando si no puede satisfacer uno o más de los requisitos presentados en la especificación del sistema. Un sistema de tiempo real puede definirse, entonces, como el que debe satisfacer restricciones explícitas en el tiempo de respuesta o someterse a dañinas consecuencias, que pueden desembocar en la falla. Por lo tanto, este tipo de sistema responde a un estímulo externo dentro de un tiempo especificado. Su eficiencia depende de la exactitud de los resultados de cómputo, pero además del momento en que los entrega. La capacidad de predicción es su característica principal. A diferencia de los sistemas tradicionales, que desarrollan la tendencia a distribuir en forma equitativa los recursos disponibles entre las diferentes tareas a ejecutar, los sistemas de tiempo real tienen especial propósito de asegurar la distribución de recursos de tal forma que se cumplan los requerimientos de tiempo. Los sistemas de tiempo real pueden dividirse en dos tipos diferentes, en función de su severidad en el tratamiento de los errores que puedan presentarse: Sistemas de tiempo real de tipo Soft: los cuales pueden tolerar un exceso en el tiempo de respuesta, con una penalización por el incumplimiento del plazo. Sistemas de tiempo real Hard: la respuesta fuera de término no tiene valor alguno, y produce la falla del sistema. Sistemas multitarea Las aplicaciones de tiempo real deben interaccionar, generalmente, con dispositivos externos tales como sensores y actuadores, como también con el monitor, teclado y disco duro, lo que está sucediendo todo simultáneamente. Por lo que se debe proveer una respuesta adecuada, a través de sus salidas, a cada una de las entradas, todas al mismo tiempo. La aplicación entonces debe estructurarse para cumplir con dichos requerimientos. Existen unas pocas alternativas encabezadas por dos estructuras básicas: el gran loop o la multitarea. 22 El gran loop maneja todos los eventos secuencialmente, en un orden predeterminado, dentro de una tarea única que se repite de manera cíclica. Es una forma simple y lógica de estructurar una aplicación, pero puede complicarse su diseño cuando el número de eventos a manejar es muy elevado. Para ello, el programa de aplicación debe encargarse de recorrer las múltiples tareas, lo que da como resultado programas complicados y difíciles de mantener. En la multitarea el sistema operativo se encarga de todo. Cada tarea dispone de un cierto tiempo de acceso a los recursos, administrado por el sistema operativo. En este tipo de sistemas, el programador escribe las tareas a realizar en programas diferentes, más simples. El sistema operativo es el encargado de hacer que todos estos programas se ejecuten en un único microprocesador. Pero se debe ser cuidadoso porque, aún en estas condiciones sigue siendo uno o pocos procesadores y al asignar un número de tareas muy grande al mismo tiempo, se corre el riesgo de sobrecarga para el sistema. Tipos de multitarea Nula: El sistema operativo carece de multitarea, pero puede lograrse a veces algo parecido a una multitarea implementándola en espacio de usuario, a través de artificios como los TSR de MS-DOS (Terminate and Stay Resident o lo que es igual Terminar y permanecer residente). Estos programas pueden dejarse residentes en memoria, hasta que sean explícitamente cerrados o si se corta el fluído eléctrico, luego reutilizarlos activándolos con una combinación de teclas. Pero esto ocasiona mucha inestabilidad en el sistema y otros programas pueden no cargarse o funcionar correctamente. Cooperativa: Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Muy problemática, debido a que si el proceso de usuario se congela y no cede la CPU al sistema operativo, todo el sistema estará entonces colgado, lo que provoca latencias muy irregulares y/o extendidas, cosa que daña realmente el esquema de sistemas operativos de tiempo real. Preferente: El sistema operativo es el encargado de administrar el/los procesador/es, repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante cortos períodos de tiempo, pero finalmente es prácticamente imperceptible y el sistema se comporta como si estuviera en tiempo real. Este es el utilizado por Windows XP, sistema sobre el que se trabaja en este proyecto. Real: Esto sólo es relativamente posible en sistemas multiprocesador. De manera que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Esto es complicado de lograr porque en un sistema operativo generalmente se requieren incluso más de dos procesos al mismo tiempo y resulta un tanto costoso y difícil de implementar, el uso de un microprocesador para cada tarea, motivo por el cual suele ser también preferente. 23 Diseño del diagrama en bloques general del sistema de monitoreo y mando vía Web, a través de Internet. Estructura del diagrama en bloques Figura 1. Diagrama en bloques del sistema propuesto. Descripción del diagrama en bloques Se cuenta con un controlador electrónico de corriente de un equipo de soldadura por arco eléctrico para electrodos revestidos (Ver anexo 5). El cual fue desarrollado en otro proyecto diferente del que se presenta en este trabajo de grado. De esta manera, se le envía información al controlador electrónico referente a la acción deseada mediante el bloque final de mando electrónico, (Ver figura 1). Se realiza el muestreo electrónico de magnitudes eléctricas mediante un sensor o transductor en este caso de la intensidad de la corriente, con un transformador de corriente. Es acondicionada la información obtenida, entre lo que incluye la digitalización y 24 transportada a un computador utilizando transmisión asíncrona UART, mediante el protocolo RS232. En el computador existe un software local, también llamado software de escritorio. Su objetivo es ser el encargado de adquirir los datos que llegan al puerto serie para almacenarlos en una base de datos. Para completar la cadena, en este computador ESTACION CENTRAL, se cuenta con un servidor de páginas Web, el cual tiene como función servir una Web dinámica para que usuarios remotos la puedan visualizar y manejar a través de Internet, encontrándose estos en otro(s) computador(es) llamado(s) PC cliente(s). Otro papel importante del servidor será ejecutar el código de LADO SERVIDOR con el que se construye la Web dinámica, en este caso ASP.NET, para que pueda ser visto por el usuario del PC cliente en forma de código HTML. Adicionalmente para visualizar automáticamente las imágenes muestreadas de una Webcam que sirve como referencia visual del proceso, se incluye un código desarrollado en javaScript, cuya ejecución es del Lado Cliente, es decir que es el propio navegador quien lo ejecuta y convierte en información visual de la página. Para que la estación central quede conectada a Internet, se debe configurar un enrutador (router). En este caso el módem /router ADSL, MT820 de Telecom. Finalmente la variable proveniente del Transductor quedará plasmada de forma automática en la página Web, creada y servida a Internet, la cual tomará su información de la base de datos anteriormente mencionada. Pero para cerrar el lazo de mando un operario debe analizar el proceso y ejecutar la acción correcta, para ello debe retornar un dato a través de toda la vía de comunicación anteriormente descrita, desde la estación central y hasta el bloque de mando electrónico. En este caso se van variando diferentes caracteres existentes en una tabla creada solamente para este hecho en la base de datos que están siendo constantemente supervisados por el programa de escritorio el cual al detectar el cambio ejecutará la acción correspondiente, que puede resultar en una orden de aumento/disminución de la corriente o encendido/apagado del equipo o dispositivo eléctrico/ electrónico, etc. 25 Capítulo II Diseño del sistema de muestreo electrónico de magnitudes eléctricas Estructura del diagrama en bloques para muestreo de AC utilizando transformador de corriente. (Ver figura 2) Figura 2. Diagrama en bloques de la etapa de muestreo electrónico de magnitudes eléctricas. Estudio sobre transformadores de corriente Los transformadores de corriente se utilizan para tomar muestras de corriente de la línea y reducirla a un nivel seguro y medible, para las gamas normalizadas de instrumentos, aparatos de medida, u otros dispositivos de medida y control. Una bobina arrollada en un núcleo de material magnético de sección transversal constante y en forma de lazo cerrado, produce una corriente inducida en la bobina que es directamente proporcional a la razón de cambio de la corriente I que pasa a través del lazo. 26 Los valores nominales de los transformadores de corriente son relaciones de corriente del primario a secundario cuyas valores típicos pueden ser 200 / 5 ,600 / 5, 800 / 5, 1000 / 5. Los valores nominales del secundario de los transformadores de corriente son de 5A y 1A. Este tipo de transformador tiene una amplia gama de usos por lo que se utilizan para medir corrientes de diferentes niveles en líneas de transmisión de alta potencia y subestaciones o para medir la corriente de un equipo de soldadura. Estudio del procedimiento de cálculo del valor medio y el valor eficaz Valor medio El valor medio puede calcularse para una serie de valores discretos o para una función variable continua. Para una colección de N valores { X 1 , X 2 ,...., X n } viene dado por la fórmula: Ecuación 1 Para una función variable continua f(t) definida sobre el intervalo T1 ≤ t ≤ T2 el medio viene dado por la expresión: Ecuación 2 Valor medio de un voltaje variable Al ser el voltaje (o la intensidad de la corriente) variable una función continua V(t) se puede calcular su valor medio (Vmed) para un intervalo de tiempo t1 ≤ t ≤ t2 mediante la aplicación de la fórmula anterior: Ecuación 3 O lo que es igual: Ecuación 4 27 Donde: T y es el período de la señal. En el caso de la rectificación de onda completa como la de la corriente alterna sinusoidal con una amplitud máxima o de pico Vp, y período T= π , el valor medio es (ver figura 3): Ecuación 5 Vmed = 2 π Vp Figura 3. Gráfico del valor medio para la rectificación de onda completa Valor eficaz Se llama valor eficaz o rms (del inglés root mean square) de una corriente alterna, al valor que tendría una corriente continua que produjera la misma potencia que dicha corriente alterna, al aplicarla sobre una misma resistencia. Este puede calcularse para una serie de valores discretos o para una función variable continua. El nombre proviene del hecho de que es la raíz cuadrada del valor medio de los cuadrados de los valores (ver figura 4). El valor rms para una colección de N valores { X 1 , X 2 ,...., X n }es: Ecuación 6 28 Una función variable continua f(t) definida sobre el intervalo T1 ≤ t ≤ T2 el rms viene dado por la expresión: Ecuación 7 Al ser la voltaje una función continua V(t) se puede calcular su valor eficaz Vef para un intervalo de tiempo t1 ≤ t ≤ t2 : Ecuación 8 En el caso de la rectificación de onda completa como la de una corriente alterna sinusoidal con una amplitud máxima o de pico Vp, y período T= π , el valor eficaz Vef Ecuación 9 La potencia eficaz resultará ser: Pef = Vef * I ef = Vp * I p 2 2 = Vp * I p Ecuación 10 2 Que es la mitad de la potencia máxima (o potencia de pico) 29 es: Figura 4. Gráfico del valor rms Análisis del procedimiento de muestreo Se desea medir la corriente que circula por el equipo de soldadura en un momento determinado, para ello se utiliza primeramente un transformador de corriente con un valor de transformación de 200/5 A, en cuyo secundario se coloca un puente rectificador de onda completa y una carga de baja resistencia. El objetivo será tomar muestras de voltaje de dicha carga con el conversor analógico-digital del PIC. Estas muestras variarán su valor de voltaje en dependencia de la corriente que circule por el primario (devanado secundario del equipo de soldadura). Finalmente se halla el valor de la corriente real, utilizando la relación de transformación del transformador de corriente y aplicando la ley de ohm. Se incorpora entre la carga y el bloque conversor A/D un seguidor de voltaje con el objetivo de acoplar impedancias y lograr la resistencia infinita deseada para un instrumento que toma muestras de voltaje. Esto se logra con un amplificador operacional conectado como tal, lo que se observa en la figura 5. Ecuación 11 Figura. 5 Configuración de un amplificador operacional como Seguidor de Voltaje. 30 Y se procede a la conversión A/D mediante la detección de cruce por cero. Descripción del método de conversión A/D mediante detección de cruce por cero A la salida del seguidor de voltaje se conecta la etapa conversora, para ello se tiene un detector de cruce por cero y un microcontrolador PIC16f877A como se muestra en la figura 6. Figura 6. Etapa conversora mediante detección de cruce por cero. Al detectar el cruce por cero ocurre un flanco de bajada en el pin RB0 que provoca una interrupción en el PIC, y comienza la conversión A/D, que finaliza cuando se detecta el próximo cruce por cero. Cada valor obtenido es enviado al computador para ser procesado y convertido en el valor final, que es mostrado a través de la interfaz Web en forma digital y gráfica. Selección de fórmulas para medición de AC y cálculo del valor final Como el control de corriente en el equipo de soldadura es por fase, la señal sinusoidal puede tener valores de 0 voltios en gran parte del período como se ilustra en la figura. 31 Para una medición de AC, hay que rectificar el semiciclo negativo para no dañar el dispositivo digital que toma las muestras, quedando como se observa en la figura 7 Figura 7. Señal rectificada de AC. Donde el área sombreada es la parte de la onda que conserva valores mayores que cero y la línea azul es la parte del semiciclo negativo que ha sido rectificada. Se sabe que por definición la raíz media cuadrática o valor eficaz para una colección de N valores { X 1 , X 2 ,...., X n } es: De esta manera para obtener la medición de la señal de entrada se toman muestras durante el período de la señal y aplicando la fórmula de definición del valor rms se calcula la corriente rms equivalente (Ipic) que debe ser transformada en el valor real (Ireal) aplicando la relación de transformación obtenida del transformador de corriente: Relación de transformación Î 200 = 40 5 Quedando: 40= Ireal Î Ireal= 40*Ipic Ecuación 12 Ipic La Ipic se calcula a partir del Voltaje medido a través del muestreo en el resistor RL: Ipic= Vpic RL Ecuación 13 32 Donde: Vpic Î es el valor rms equivalente medido por el microcontrolador. Ipic Î es el valor rms calculado en el programa de escritorio. Ireal Î es el valor de corriente real en el equipo de soldadura. Es función de la etapa del sistema de muestreo electrónico de magnitudes eléctricas, la toma de muestras proporcionales a la señal de entrada, en la carga RL pero los cálculos matemáticos del valor eficaz (rms) y así como la aplicación de la relación de transformación para la obtención de la Ireal cuyo valor es el objetivo de la medición, son calculados en el computador mediante el sub-bloque llamado “software de escritorio” para que el valor sea finalmente mostrado en el sitio Web. Cálculo de elementos del circuito de muestreo electrónico de corriente Cálculo de RL Teniendo en cuenta que la relación de transformación del transformador de corriente utilizado es 200A Î5A y el máximo voltaje soportado por el microcontrolador PIC es de 5V se calcula la resistencia RL aplicando la ley de ohm donde 5 Vmed Î RL = = 1Ω Ecuación 14 RL = 5 I RL Y la potencia que debe ser capaz de disipar la carga RL es P = 5 * 5 2 = 125W Cálculo de Roa Como referencia del datasheet la corriente de funcionamiento del led del 4n25 es Id=10mA y la caída de voltaje del led típica es de Vd=1.15 V, voltaje rms de línea es 127 V y por tanto: Vp =127* 2= 179,6V Ecuación 15 Vmed =179,6/2=89,8V Y mediante un divisor de voltaje: Roa = Vmed − Vd = 89,8 − 1,15 =8865 Ω 0,01 Id Donde: Roa Vd Id Vp Ecuación 16 Es el resistor conectado al led del 4n25 Es el voltaje del led del 4n25 Es la corriente del led del 4n25 Voltaje pico de línea 33 Vmed Voltaje medio rectificado Además: Ecuación 17 Pmed = 89,8* 0,01 = 898 mW Donde Pmed es la potencia media en el resistor Roa Selección del resistor Roa Se escoge el valor comercial 8,2K Ω , cercano al valor obtenido, para que la potencia disipada no queme el led del optoacoplador y se calcula el valor de corriente que circulará por el mencionado led en este caso. Id = Vmed − Vd = 89,8 − 1,15 ≈ 10mA Roa Ecuación 18 8200 Con lo cual se obtiene un valor aproximado a 10mA que es la corriente de trabajo del diodo led del optoacoplador. Se debe tener presente escoger un resistor que sea capaz de disipar una potencia preferiblemente mayor a 898mW ≈ 1W como se obtuvo anteriormente. Selección de los diodos para rectificación Se necesita un puente de diodos que soporten como mínimo 5A y un voltaje rms de 5V En el mercado de la ciudad se encuentra disponible el puente de diodos, KBPC1008 que soporta una corriente máxima rectificada de 10 A y un voltaje máximo rms de 560V lo cual supera las expectativas del diseño y por tanto es viable su utilización teniendo en cuenta su bajo costo. 34 Circuito de la etapa de muestreo electrónico de magnitudes eléctricas (Figura 8): Figura 8. Esquema del Circuito de la etapa de muestreo electrónico de magnitudes eléctricas 35 Estudio y cálculos para conversor A/D utilizado en el microcontrolador PIC Características y cálculos para conversor A/D Resolución: Es la mínima variación de la señal de entrada que provoca valores de salida distintos. Depende del valor máximo que es capaz de convertir el dispositivo y del número de bits que tenga el valor convertido. Se calcula como: R = Vmax / 2 n bits Ecuación 19 Cálculo de la resolución en el conversor del PIC Como la resolución del conversor será de 8 bits se calcula: Resolución = valor analógico / (2^8)-1 Resolución = 5 V / 255 Resolución = 0.0196v/bit o 19.6mv/bit. Lo cual significa que por cada 19.6 milivolts que aumente el nivel de tensión entre las entradas nomencladas como "Vref+" y "Vref-" (en este caso Vref+ = +5V y Vref- = 0V), éste aumentará en una unidad en número binario a su salida. Entrada - Salida 0 V – 00000000 0.02 V - 00000001 0.04 V - 00000010 1 V - 00110011 5 V – 11111111 Tiempo de conversión: Es el intervalo de tiempo que transcurre para que el conversor calcule el valor digital correspondiente al valor analógico presente en su entrada. Varía dependiendo del tipo de conversor. Es inevitable. Cálculo de la velocidad de conversión en el PIC Se designa como TAD el tiempo que dura la conversión de cada bit, que en los PIC16f87X nunca debe ser menor de 1,6 us. Frecuencia de oscilación = Fx/32, CAD sin interrupción. 36 Ecuación 20 En este caso: Frecuencia de conversión = Fosc/32 = 4 MHz/32 = 0,125 MHz Y por tanto TAD = 32 * Tosc = 8 us Ecuación 21 Y como son 8 bits de resolución el tiempo final será 10 * TAD = 80 us Ecuación 22 Linealidad: Un conversor A/D ideal tiene un comportamiento lineal, pero los componentes electrónicos presentan ligeras desviaciones. Es inevitable. Descripción del conversor A/D de aproximaciones sucesivas El conversor A/D de aproximaciones sucesivas es el utilizado para los microcontroladores PIC16f877A. Es normal asociar su funcionamiento a un circuito de SAMPLE & HOLD (muestreo y retención). Un circuito de muestreo y retención toma una muestra de la señal de entrada, pasándola a su salida sin modificarla en absoluto y, en virtud de una señal de control, la mantiene constante. Suelen designarse con las iniciales S/H (Sample/Hold). En la figura 9 se muestra una representación de este tipo de muestreo. Figura 9. Ejemplo de Sample and Hold (Muestreo y retención) Características de los circuitos S/H que determinan su efectividad: Tiempo de apertura: Es el tiempo que transcurre desde que la señal de control se activa hasta que realmente se bloquea la señal de salida. Es inevitable, aunque puede llegar a ser muy pequeño según el tipo de dispositivo utilizado para implementar el conmutador. Tiempo de adquisición: Es el tiempo que transcurre desde que se libera la señal de control hasta que la señal de salida del circuito es igual a la señal de entrada. En el modelo de la figura este tiempo es debido a la carga del condensador y también depende del tipo de dispositivos utilizados. 37 En un conversor A/D de aproximaciones sucesivas un circuito S/H garantiza que el nivel de voltaje en la entrada se mantenga constante hasta que finaliza la conversión lo que ayuda a contrarrestar la demora del tiempo de conversión. Figura 10. Conversor A/D de aproximaciones sucesivas. Este conversor es uno de los más utilizados en los circuitos integrados programables conocidos como microcontroladores. Debe su nombre a un circuito secuencial que forma parte de su construcción, conocido como Registro de Aproximaciones Sucesivas (SAR) (ver figura 10). El SAR prueba consecutivamente cada bit, comenzando por el MSB. Si al activar un bit cualquiera, la tensión generada por el DAC sobrepasa la tensión de entrada, entonces ese bit se fija a cero; en caso contrario si el voltaje generado está por debajo del voltaje de entrada el bit se deja en 1 para que forme parte del resultado final y se continúa probando los bits siguientes, dejando en uno los bit que han pasado la prueba de comparación. La comparación antes mencionada es desarrollada utilizando precisamente un amplificador operacional en configuración de comparador como se muestra en la figura 11. 38 Figura 11. El ciclo del CAD de aproximaciones sucesivas, para una conversión de n = 4 bits. 39 Capítulo III Estudio de un sistema de comunicación por puerto serial Descripción de la etapa de comunicación con PC Figura 12. Modelo de comunicación serie entre el PIC16f877A y el PC La comunicación entre el PC y el PIC se realiza utilizando transmisión y recepción serial a través del protocolo RS232 utilizando el chip UART, se conecta el microcontrolador con el PC utilizando la configuración “null modems” (ver figura 12) para ello se procede al estudio y descripción de cada sub tema en esta sección. Sub temas sometidos a estudio: 1. Resumen general sobre el puerto serial y la transmisión serie. 2. Análisis histórico del UART (Universal Asynchronous Receiver/Transmitter) 3. Estudio del estándar RS-232C 40 4. 5. 6. 7. Descripción del protocolo utilizado para comunicación entre PC y PIC Estudio de los convertidores de nivel RS-232 Descripción del modo de Acceso al puerto serial mediante Visual Basic Descripción del protocolo utilizado para comunicación entre PC y PIC Con el desarrollo de los puntos anteriormente resumidos, se cuenta con la vía y elementos suficientes y necesarios para establecer la comunicación entre el microcontrolador PIC 16f877A y el computador. Resumen general sobre el puerto serial y la transmisión serie El puerto serie precisamente "serializa" los datos. Esto quiere decir que toma un byte de datos y transmite los 8 bits del byte uno a la vez. Lo que significa una ventaja pues necesita únicamente 1 sola vía para transmitir los 8 bits (mientras que un puerto paralelo necesita 8). La desventaja es que dura 8 veces más para transmitir el dato que si se tuviera 8 vías (ver figura 13). Figura 13. Imagen de dos puertos serie. Los puertos serie son mucho más difíciles de configurar y trabajar que el puerto paralelo. En la mayoría de los casos se necesita que los datos de cualquier dispositivo que sea conectado al puerto serial, sean convertidos a paralelos nuevamente para su análisis cosa que hace el chip UART. Pero existen muchas ventajas al utilizar el puerto serial y no el paralelo. Descripción de las ventajas de utilización del puerto serie 1. Los cables para el puerto serial pueden ser más largos que para el paralelo. El puerto serial transmite un “1” lógico como voltajes desde -3 a -25 y un “0” lógico como voltajes de +3 a +25 donde el puerto paralelo transmite un “0” como 0 voltios y un “1” como 5 voltios. Además el puerto serial puede tener una máxima oscilación de 50 volts y el paralelo puede tener una máxima oscilación de 5 volts. 2. No se necesita tanto alambrado como para el puerto paralelo. Lo que puede ser beneficioso al necesitar instalar un dispositivo lejos del PC, en cuanto a costo, instalación, o detección de fallas. 3. Muchos microcontroladores tienen SCI (Serial Communications Interfaces) para el intercambio de información con otros medios o dispositivos. La comunicación serial reduce la cantidad de pines en uso. Solamente dos pines son de uso general, 41 transmiten los datos (TXD) y reciben los datos (RXD) comparado por lo menos con 8 pines si se utiliza un método paralelo. Los equipos de comunicaciones serie se pueden dividir entre simplex, half-duplex y fullduplex. Una comunicación serie simplex envía información en una sola dirección. Halfduplex significa que los datos pueden ser enviados en ambas direcciones entre dos sistemas, pero en una sola dirección al mismo tiempo. En una transmisión full-duplex cada sistema puede enviar y recibir datos al mismo tiempo. Hay dos tipos de comunicaciones series: síncronas o asíncronas. En una transmisión síncrona los datos son enviados en bloques, el transmisor y el receptor son sincronizados por uno o más caracteres especiales llamados caracteres sync o de sincronía. El puerto serie del PC es un dispositivo asíncrono. En una transmisión asíncrona, un bit identifica su bit de comienzo y 1 o 2 bits identifican su final, no es necesario ningún caracter de sincronismo. Los bits de datos son enviados al receptor después del bit de start. El bit menos significativo es transmitido primero. Un caracter de datos suele consistir en 7 u 8 bits. Dependiendo de la configuración de la transmisión un bit de paridad es enviado después de cada bit de datos para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados. Resumen sobre la velocidad de los datos La velocidad a la que se envían datos seriales, se denomina velocidad binaria de transferencia de información, la cual es expresada en unidades de símbolos por segundo. Una conexión RS-232 con velocidad de 19200 baudios tiene la capacidad de enviar 19200 símbolos de datos en 1 segundo. Si se pueden enviar como máximo 19200 símbolos en un segundo, el inverso de 19200 dará como resultado el período de un símbolo (ecuación 4). Ecuación 23 Si un receptor y un transmisor se conectan a 19200 baudios, el transmisor enviará bits de datos cada 52us, y el receptor tomará lectura de los bits de datos cada 52us. Resumen sobre la Paridad Es un mecanismo de comprobación de errores que precedió a los protocolos de corrección de errores utilizados en la actualidad. Si está presente un parámetro “ninguno” significa que no se utiliza esta comprobación de errores, otros valores son par o impar, en cuyo caso se añade un bit a cada byte que se transmite. 42 El valor de este bit se calcula para que el número de bits de nivel “1” en el byte, sea par o impar, dependiendo del parámetro seleccionado. Por tanto, si un byte tiene un valor de 00101101 y se está utilizando paridad impar, el bit extra será un “1”, porque hay cuatro unos en el bit original y el número total de unos tiene que ser cinco “impar”. Si el receptor detecta un número par de unos supone que el byte se ha deteriorado durante la transmisión. Si se detectan cinco unos se supone entonces que el byte es correcto. Análisis histórico del UART (Universal Asynchronous Receiver/Transmitter) El puerto serial depende de un chip especial como controlador, el UART (Universal Asynchronous Receiver/Transmitter) (ver figura 14). El UART (Ver anexo 1) toma la salida paralela del bus del sistema de la computadora y lo transforma en forma serial, para transmitirse a través del puerto serie. De igual manera realiza el proceso inverso de convertir en paralelos los datos seriales obtenidos del exterior. Con la finalidad de que funcione más rápido, la mayoría de los chips UART tienen un buffer integrado que varía de 16B a 16kB de capacidad, el cual permite almacenar datos que vienen del bus del sistema, mientras procesa los datos de salida (por el puerto serie). Figura 14. UART El UART es programable de manera que pueden configurarse las condiciones de transmisión (velocidad, paridad, longitud y bits de parada). En los primeros PCs, eran circuitos integrados 8250 de National Semiconductor, pero han ido evolucionando junto con el PC. Los más significativos se señalan a continuación: NS 8250. La UART del IBM PC; este circuito tenía un pequeño "bug" que fue corregido mediante las modificaciones en las rutinas BIOS. Fue sustituido por el 8250-B. NS 8250A. Este chip corregía los problemas de los predecesores, sin embargo no podía ser utilizado en los modelos XT. Este chip no funcionaba a más de 9600 bps. 43 NS 8250B. Fue el último de la serie de los 8250, retomó el antiguo bug, de forma que pudiera funcionar correctamente con las BIOS de los XT. Todos los de esta serie tenían un acceso muy lento, lo que obligaba a incluir estados de espera en el procesador. Tampoco funcionaba por encima de 9600 bps. NS 16450. Elegido para trabajar con los procesadores i286 de clase AT. Funcionaba bien a 9600 bps, e inauguró la época de módems de alta velocidad. No funcionaba correctamente en los sistemas XT, debiendo ser sustituido por el 16550. NS 16550. Fue el primer chip de su clase dotado con búferes FIFO para transmisión y recepción de 16 bytes, que le hacen especialmente indicado para comunicaciones rápidas. Era más rápido que el 16450, operando por encima de los 9600 bps, pero aun conservaba algunos problemas, especialmente en los búferes, por lo que también fue sustituido. NS 16550A. Rápida y fiable UARTs; adecuado para operar con MODEMs de alta velocidad, puede operar a 115 Kbps. Su lógica es compatible pin a pin con el 16450, al que puede sustituir. Además puede utilizar canales DMA. En la actualidad se han introducido versiones mejoradas compatibles con el 16550A, alcanzando velocidades de hasta 460Kbps. Estudio del estándar RS-232C El puerto serie del PC es compatible con el estándar RS-232 (actualmente RS-232C). Este estándar fue diseñado en los 60s para comunicar un equipo terminal de datos o DTE (Data Terminal Equipment, el PC en este caso) y un equipo de comunicación de datos o DCE (Data Communication Equipment, habitualmente un MODEM). La comunicación RS-232 es asincrónica. Por lo que la señal del reloj no se envía con los datos. Cada palabra se sincroniza utilizando un bit de Start y uno de Stop, y el reloj interno de cada lado. Figura 15. Forma de onda de la comunicación RS-232 asíncrona. En el diagrama de la figura 15 muestra la forma de onda del UART al usar el 8N1. 8N1 significa 8 bits de datos, ninguno de paridad y 1 bit de Stop. Una transmisión comienza con un bit de Start en 0. Entonces cada bit de datos es enviado, uno a la vez. El LSB (bit menos significativo) se envía primero. Finalmente se envía un bit de parada con estado lógico “1”. 44 Se muestra además que después del bit de Stop le sigue un bit de nivel lógico bajo, lo que informa al sistema que luego viene otra cadena de datos. Si hubiera terminado el envío de información, luego del bit de Stop permanecería el nivel alto. Como los bit de datos están enmarcados entren un bit de Start y uno de Stop, si cuando corresponde el bit de Stop se recibe un nivel lógico “0” ocurre un error de framing, cosa que es frecuente cuando emisor y receptor están trabajando a distintas velocidades. El diagrama de la figura 15 sólo es válido para la señal inmediata al UART. La lógica RS232 utiliza niveles de voltaje entre +3 y +25 para definir un “0” y niveles entre -3 y -25 para definir un “1” lógico, cualquier voltaje entre +3 y -3 estará indefinido. Figura 16. Forma de onda RS-232, marca y espacio. La forma de onda mostrada en la figura 16 es la realmente aplicada a una línea serial RS232 en la cual una “Marca” determina un nivel lógico “1” y un “Espacio” determina un nivel “0”. El estándar especifica 25 pines de señal, y que el conector de DTE debe ser macho y el conector de DCE hembra. Los conectores más usados son el DB-25 macho, pero muchos de los 25 pines no son necesarios. Por esta razón en la actualidad se utilizan los DB-9 macho. Configuración de pines del puerto serial En general el protocolo RS232 y en especial los conectores DB9 del puerto serie cuentan con los pines que se muestran y describen a continuación (ver tabla 1)(ver anexo 2). 45 Tabla 1. Pines del puerto serial. Carrier Detect (Portador detector)- Determina si el MODEM está conectado a una línea telefónica en funcionamiento. Receive Data (Receptor)- El computador recibe la información enviada por el MODEM. Transmit Data (Transmisor)- La computadora envía información al MODEM. Data Terminal Ready – El computador indica al MODEM que está listo para la comunicación. Signal Ground (Tierra)- Pin de tierra. Data Set Ready - El MODEM indica al computador que esta listo para la comunicación. Request To Send (Solicitar para envío)- El computador le solicita al MODEM si esta listo para recibir información. Clear To Send - El MODEM indica al computador que ya le puede enviar información. Ring Indicator - Una vez que una llamada ha tomado lugar el computador reconoce por esta señal (enviada por el MODEM) que una llamada es detectada. Diferentes tipos de configuraciones se utilizan para la conexión de estos pines dependiendo del uso que se le den, en este caso se explican dos: 1. Configuración Null Modems 2. Configuración lazo cerrado 46 Configuración “Null Modems” (Sin Módem) Es comúnmente utilizada para el intercambio de datos entre dos computadores o un microprocesador y el computador (ver figura 17). Figura 17. Configuración Null modems. Este método requiere solamente 3 alambres (TD, RD y SG). La teoría de operación es razonablemente fácil. La idea es hacer creer al computador que se esta comunicando con un módem. Cualquier dato transmitido del primer computador se debe recibir por el segundo computador o microcontrolador. TD está conectado así con el RD. El segundo dispositivo debe tener la misma disposición, RD conectado con TD. La tierra de la señal (SG) se debe también conectase pin a pin siendo comunes en ambos computadores o computador y microcontrolador. Como del Terminal DTR (Data Terminal Ready), el Terminal DSR (Data Set Ready ) y el terminal CD (Carrier Detect) están unidos, cuando el Terminal DTR envía el dato de aviso de que esta listo para enviar, el DSR y el CD lo reciben inmediatamente como si un MODEM hubiera confirmado que también está listo para recibir los datos. Ahora la preocupación debe centrarse en los pines RTS (Request to Send) y CTS (Clear To Send). Como ambos computadores se comunican con la misma velocidad, estos también se cortocircuitan para simular la respuesta de un MODEM al RTS. Cuando el computador desea enviar datos, afirma a si mismo, dicha petición y entonces envía. Notar que el indicador RI (Ring Indicator) no está conectado. Esta línea se utiliza solamente para informar a la computadora que hay una señal de sonido en la línea telefónica. Pues como no se utiliza realmente un módem conectado con la línea telefónica esto se deja desconectado. Configuración “LoopBack Plug” (Lazo cerrado) Es conveniente para probar un programa utilizando el mismo computador en el que se esté desarrollando, lo que significa que se envía y se recibe información al mismo tiempo. 47 Figura 18. Configuración Lazo cerrado Como se puede observar en la figura 18, se vuelve a simular el módem, pero en este caso sólo se utiliza un dispositivo por lo que se unen los pines TD y RD. Estudio de los convertidores de nivel RS-232 Casi todos los dispositivos digitales que se utilizan requieren los niveles de la lógica de TTL o Cmos. Por lo tanto el primer paso a conectar un dispositivo con el puerto RS-232 es transformar los niveles RS-232 nuevamente a valores entre 0 y 5 voltios. Para lograrlo se utilizan los convertidores de nivel RS-232. Figura 19. Transmisor/ Receptor MAX 232 El convertidor más común es el max232 el cual convierte a voltajes de +10 y -10 con una sola fuente de 5 volts (ver figura 19). Además en un sólo dispositivo integra dos transmisores y dos receptores. En la figura se muestra el modo de conexión de este dispositivo con un microcontrolador PIC16f877A y la configuración Null MODEM con el computador (ver figura 20). 48 Figura 20. Modo de conexión del MAX232 Descripción del modo de Acceso al puerto serial mediante Visual Basic En ese mundo tan extenso de la plataforma .NET y más específicamente de Visual Basic.NET existen varias formas de interactuar con el puerto serie del computador. Una primera idea podría ser simplemente agregar un control que viene integrado al programa y que se llama SerialPort. Agregado este al proyecto podemos configurarlo mediante sus propiedades estáticas que pueden ser manejadas en la interfaz gráfica o simplemente mediante código. Acto seguido se explica otra manera que utiliza al igual que el control SerialPort, el espacio de nombres IO.Ports.SerialPort, pero que a diferencia del control antedicho, en este caso todo se hace mediante código. Lo primero es declarar una variable de eventos que será del tipo IO.Ports.SerialPort, lo que a la larga es casi lo mismo que crear el control SerialPort. Dim WithEvents serialPort As New IO.Ports.SerialPort 49 Para poder configurarlo deberá estar cerrado previamente el puerto lo que se determina a continuación y si está abierto entonces se debe cerrar. If serialPort.IsOpen Then serialPort.Close() End If Para detectar cualquier error en este manejo tan vulnerable se emplea la estructura Try, Catch, EndTry. Entonces se debe obtener un puerto serial activo, en este caso se utiliza el 1 que está presente en todos los computadores que tengan al menos un puerto serial y que se llama COM1 Será necesario configurar la velocidad de transmisión en baudios en este caso fijada a 19200 baudios lo cual garantiza el mejor compromiso entre máxima velocidad y mínima tasa de errores. La paridad ha sido puesta a “Ninguna” lo cual significa que este tipo de detección de errores está desactivado en vistas de que no es necesario pues no será una aplicación que necesite excesivo nivel de exactitud. El bit de Stop será uno y de igual modo debe ser configurado en el dispositivo con el que se realizará la comunicación. Try With serialPort .PortName = My.Computer.Ports.SerialPortNames(1) .BaudRate = 19200 .Parity = IO.Ports.Parity.None .DataBits = 8 .StopBits = IO.Ports.StopBits.One End With Luego de ser configurado correctamente, el puerto puede ser abierto, para quedar listo para el uso. serialPort.Open() Si durante la configuración o la conexión al puerto ocurre una excepción, esta será mostrada en pantalla. Catch ex As Exception MsgBox(ex.ToString) End Try 50 Estudio del Evento Data Receive Este evento no está asociado a ningún control de la interfaz gráfica sino que responde a la llegada de información a través del puerto serial. Es muy útil puesto que está a la escucha constantemente después de ser abierto el mencionado puerto, y a la llegada de los datos se ejecuta automáticamente, dando la posibilidad al programador de incluir dentro de la estructura Sub, EndSub cualquier rutina de manejo de datos, como puede ser almacenarlos en una variable o base de datos. Private Sub DataReceived( ByVal sender As Object, ByVal e As_ System.IO.Ports.SerialDataReceivedEventArgs) Handles serialPort.DataReceived Mediante la propiedad ReadExisting se puede capturar cualquier dato entrante y convertir los bytes a String. serialPort.ReadExisting Existen otras opciones, en dependencia de la clase de datos que se deseen obtener. Un segundo ejemplo plantea la conversión de los bytes recibidos en un dato de tipo entero. serialPort.ReadByte En cualquier acción de programación en la que se desee mantener al programa realizando una operación determinada sin bloquear la interfaz de usuario mientras esta se realiza, se deben utilizar los “hilos de programación”, cosa que es posible gracias a la propiedad del entorno windows de desarrollar la multitarea, cosa que se trató en el capítulo 1. Para esto en la plataforma.NET se pueden utilizar diferentes formas de programación, una de ellas es invocar un Delegado, abajo se muestra su sintaxis. Sub Dim WriteInvoke As New WriteDataDelegate(AddressOf WriteData) Invoke(WriteInvoke) End Sub Public Delegate Sub WriteDataDelegate() Private Sub WriteData() If BUFERIN = "A" Then MsgBox("HOLA") End Sub 51 Logrado esto se puede realizar cualquier operación al unísono con otras tareas en la interfaz gráfica o el proyecto en general, como utilizar una sentencia If y luego si se cumple entonces un mensaje de texto como en el ejemplo anterior. Modo de enviar datos por el Puerto serial Para el envío de información por el puerto serial, basta con escribir: serialPort.Write( ) El argumento puede ser un número estático, un valor String. Descripción del protocolo utilizado para comunicación entre PC y PIC16f877A Tabla 2. Protocolo de comunicación entre el PIC16f877A y el PC Como se muestra en la tabla 2 el protocolo es desarrollado mediante el envío de código ASCII, para ello por ejemplo si de desea detectar la existencia y funcionamiento del hardware, el PC envía un carácter “T” al microcontrolador, este último lo recibe y envía una “R” de respuesta lo que significará “Hardware detectado”. En el último caso el PC envía la petición de toma de muestras para la medición entonces se activa el bloque de muestreo electrónico de magnitudes eléctricas y se envían los datos obtenidos al PC seguidos de una “M” para finalizar la recepción de muestras. 52 Capítulo IV Concepción de la etapa PC Estación Central Figura 21. Diagrama de la etapa PC estación central. En la figura 21 se muestra la etapa PC estación central donde se ha alojado el sitio Web para monitoreo y mando electrónico. A través del uso de los intermediarios software de escritorio y base de datos que proveen la ruta para la adquisición del dato de mando sobre el microcontrolador así como su retorno a la Web, entre otras funciones que se describen más adelante. En esta etapa se realiza un estudio general sobre Internet y sus estándares y seguidamente se estudia de manera general el lenguaje html que se utiliza para enmarcar el contenido de las páginas Web, a lo que sigue el estudio de lenguajes de lado servidor que se utilizan ampliamente en el proyecto, la importancia del estudio del html es que el código de lado servidor es mostrado en el lado cliente en forma de html. También se realiza un estudio sobre el control Webchart con el que se grafican los datos de corriente, obtenidos de la base de datos y que son procesados con anterioridad por el software de escritorio. Los títulos principales se resumen a continuación: 1. Estudio general sobre Internet 53 2. 3. 4. 5. 6. 7. 8. 9. Estudio sobre páginas HTML (estáticas) y páginas dinámicas Estudio sobre los Lenguajes de lado servidor Estudio del Control WebChart Estudio del SQL SERVER Database Diseño del software de Escritorio Diseño del software en Visual Web Developer Diseño del sistema de monitoreo por Webcam Descripción de la interfaz Web Estudio general sobre Internet Red es la interconexión entre dos o más computadores de manera tal que puedan compartir recursos. Internet es llamada la red de redes porque representa una interconexión de redes mundial, es decir que no sólo se trata de una red, sino que esta es la vía de interconexión entre toda clase de subredes existentes en el planeta. El Ministerio de Defensa de Estados Unidos, en la década de los 60, estableció una red interestatal, de tal forma que toda la defensa del país dependiera de la misma red y compartiera los recursos de ésta. Así nació ARPANet (Advanced Projects Agency Net) con tres requisitos fundamentales: 1. Debía estar protegida en caso de que un desastre natural o una guerra, especialmente frente a un ataque nuclear al país, de modo no debilitase a la totalidad de la red, aunque una parte estuviera dañada. 2. Esta debía permitir la incorporación de nuevos elementos con facilidad. 3. Y además debería utilizar un protocolo, que pudiera ser entendido por cualquier ordenador, independientemente del sistema empleado. Actualmente se cumplen estos 3 preceptos principales, e Internet no se encuentra ubicada en un lugar específico, Internet somos todos los que conectamos una subred, un servidor, o hacemos algún aporte a esta gran red que luego de la imprenta ha sido causante de una revolución científica, por el flujo de información que por ella circula, donde la única barrera que se tiene para estar interactuando con el mundo en tiempo real, es la de los idiomas, bien sean los humanos o los informáticos. En un esfuerzo por estandarizar estos últimos se crearon los protocolos de Internet. Descripción sobre el control de los estándares en Internet (RFC) Los muchos protocolos de Internet existentes en la actualidad son controlados mediante el mecanismo conocido como RFC ("Request For Comments"). Si los investigadores diseñan e implementan nuevos protocolos, estos se ponen en conocimiento de la comunidad de Internet en la forma de un RFC. El RFC es descrito por el IAB ("Internet Architecture Board"). La mayor fuente de RFCs es el IETF ("Internet Engineering Task Force") que es una organización subsidiaria del IAB. Sin embargo, cualquiera puede enviar un informe propuesto como RFC al editor de los RFC. 54 En resumen las RFC son notas técnicas y organizativas donde se describen los estándares o recomendaciones de Internet. En el caso de la informática, están hechos para hacer compatibles los programas entre sí y que se pueda usar diferente software para la misma función, definiendo protocolos y lenguajes, que garantizan la interoperabilidad entre sistemas si ambos cumplen el mismo RFC. En dicho caso se puede poner como ejemplo la versión actual de HTTP que es la 1.1 y su especificación está en el documento RFC-2616 mediante el cual entre otras cosas se delimita la forma en que se envían peticiones de acceder a una página Web, y la respuesta de esa Web con la información final en pantalla. Gracias a las RFC se ha logrado además que a pesar de existir infinidad de sistemas operativos, estos puedan interactuar entre sí. Aunque cabe destacar que las RFC son sólo recomendaciones y no son de obligatorio cumplimiento. Estudio sobre páginas HTML (estáticas) y páginas dinámicas El HTML (acrónimo de HyperText Markup Language) no es lenguaje de programación en si, sino de descripción de ficheros, puesto que no ejecuta un set de instrucciones, más exactamente es un código capaz de organizar los datos presentes en una página Web así como darles formato, como puede ser la ubicación de imágenes y letras o como su tamaño y color, como también será útil para introducir hipertextos, pero todo esto se ve limitado porque al quedar la página diseñada, sus datos siempre se mostrarán de una manera prefijada y en ningún caso con algo de automatismo, como lo puede ser mostrar datos de una base de datos que está en constante cambio. El HTML fue desarrollado originalmente por Tim Berners-Lee mientras estaba en el CERN, y fue popularizado por el navegador Mosaic desarrollado en el NCSA. [1] Ya existían múltiples estándares informales del HTML cuando se necesitó crear uno oficial, por lo que se decidió migrar a una versión común que fue llamada HTML+ y a cuyo primer producto estándar se le tituló HTML 2.0 que era demasiado complejo y carecía de aplicación práctica con la tecnología existente de entonces. Este proceso culminó con la versión 4 y última, la cual constituye la más reciente del mencionado lenguaje y que ha sido aprobada por el World Wide Web Consortium (W3C). Una versión más actual del HTML pudiera pensarse como el XHTML, cuyo objetivo principal es avanzar en el proyecto del W3C de lograr una Web semántica, donde la información, y la forma de presentarla estén claramente separadas, es decir, que existan metadatos que describan el contenido, el significado y la relación de los datos, pudiendo realizar operaciones automatizadas sobre las Webs, cosa que puede influir por ejemplo en la calidad de las búsquedas por Internet. No obstante son recomendadas por el W3C la versión 4.0 de HTML tanto como XHTML. 55 Resumen sobre las Etiquetas HTML Para sus propósitos el HTML se vale un una serie de directivas o tags. Los tags son una serie de etiquetas que enmarcan la información a mostrar, definiendo las características de lo que se quiere mostrar, como forma, tamaño o color, aunque estas en si no se muestran. La etiqueta principal de un documento HTML es precisamente: <HTML> Esta informa al navegador que lo que sigue es este tipo de lenguaje, la cual debe ir precedida de su etiqueta de cierre como en todos los tags HTML, de la siguiente manera: </HTML> El código HTML además siempre incluye otras etiquetas: <HTML> <HEAD> <TITLE> El Título aquí </TITLE> </HEAD> <BODY> ... </BODY> </HTML> El HEAD es el encabezamiento de la página y su código no se expresa visualmente en el navegador o página Web. Dentro de este encontramos de manera común el título de la página que se muestra en la parte superior de dicho navegador. Le sigue el BODY donde si se insertará todo el código final a mostrar. El HTML puede ser escrito en cualquier editor de texto como el Notepad o Wordpad, sólo con guardar el archivo con extensión htm o html, el resultado final será visible por medio de un navegador en forma de página Web. Existen editores más sofisticados que permiten ver código y diseño al mismo tiempo, como un sinnúmero de utilidades que incluso generan código para acciones específicas y ayudan a lograr una edición de mayor calidad y facilidad, entre estos se pueden citar al FrontPage o Dreamweaver, aunque como se dijo anteriormente, para este tipo de lenguaje descriptivo es suficiente contar con un editor de texto. 56 Resumen sobre la deficiencia del HTML Debido a su naturaleza de lenguaje descriptivo, resulta insuficiente en muchos casos por lo que ha sido necesario utilizar otros lenguajes más versátiles, que además de útiles, también resultan más visiblemente complejos de aprender, pero que pueden responder a los llamados del navegador con tareas automatizadas y de alguna manera inteligentes, imprescindibles en algunos casos como lo son la actualización de una tienda virtual o como este caso, de los datos constantemente cambiantes de una base de datos. Estos lenguajes con tal capacidad son los protagonistas del concepto de páginas dinámicas. Estudio sobre los Lenguajes de lado servidor Se ha mencionado antes que los navegadores son capaces de interpretar el código HTML presentes en las páginas Web y convertirlas en información visual de un formato dado, lo cual puede ser el resultado de una petición al servidor de la página mediante el URL o un hipervínculo, pero en ocasiones y aunque esto se realiza de manera transparente para el usuario, no pedimos al servidor código HTML en si sino un lenguaje de otro tipo que no puede ser leído directamente por el navegador, sino por el servidor (e incluso no por cualquiera) el cual devuelve la información final en código HTML para ser mostrada al usuario, el resultado final será el mismo. Esto es posible gracias a los “Lenguajes de lado servidor” comprendido únicamente por dichos servidores y dota a la aplicación de utilidades nuevas puesto que pueden ser recreadas a partir de datos residentes en una base de datos, así como también el usuario adquiere un poder único de interacción con la página pudiendo este también modificarla en tiempo real. Tanto lenguajes de lado servidor o cliente son utilizados indistintamente o al unísono puesto que cada uno tiene su ingrediente especial en situaciones especificas, aunque cabe mencionar que lenguajes de lado servidor permiten crear aplicaciones mas robustas y personalizadas. Los lenguajes de lado cliente son independientes del servidor, por lo que permiten que la página pueda ser albergada en cualquier sitio. En tanto un lenguaje de lado servidor es independiente del cliente por lo que es considerablemente menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo. Además, los scripts son almacenados en el servidor quien los ejecuta y traduce a HTML por lo que permanecen ocultos para el cliente. Esto último representa una forma de proteger el trabajo realizado por los programadores, así como añadir seguridad a las Web, debido a que el código real no es mostrado, también en el caso de las que interactúan con un servidor de correo electrónico u otro que requiera autenticación mediante password donde, el acceso no estará simplemente limitado a incluir la dirección o URL en el navegador. La desventaja principal de los lenguajes de lado servidor es que se necesitará un servidor capaz de interpretar las instrucciones de dichos lenguajes. 57 Entre los citados lenguajes de lado servidor se pueden destacar como los más ampliamente utilizados para el desarrollo de páginas dinámicas al ASP, PHP y PERL y ASP.NET. El ASP (Active Server Pages) es un lenguaje derivado del Visual Basic desarrollado por Microsoft. Su empleo se restringe a plataformas funcionando bajo sistema Windows NT. El PHP es considerado como el lenguaje análogo al ASP (de versión libre) utilizado en plataformas Unix y Linux. Estos dos lenguajes son útiles para la explotación de bases de datos y su aprendizaje resulta accesible para una persona común que tenga algo de conocimientos de programación. Por otra parte, el PERL es un lenguaje más rápido y potente que requiere un aprendizaje más largo. Desde 2002, el ASP clásico está siendo cambiado por ASP.NET, que, entre otras cosas, reemplaza los lenguajes interpretados como VBScript o JScript por lenguajes compilados a código intermedio (llamado MSIL o Microsoft Intermediate Language) como Visual Basic, C#, o cualquier otro lenguaje que soporte la plataforma .NET. El código MSIL se compila con posterioridad a código nativo. [2] Los formularios Web Forms ASP.NET agregan un modelo de diseño y una interacción enriquecida mediante programación que es similar a formularios de Visual Basic. Los controles de servidor de ASP.NET proporcionan propiedades y eventos adicionales que no están disponibles en controles HTML. [3] La programación mediante Webforms se realiza a través del software Visual Web Developer que se describe a continuación. Descripción del Visual Web Developer Esta herramienta de reciente aparición e incluida en el paquete de Visual Studio 2005 de Microsoft, conjuga las utilidades de la programación de lenguajes compilados como el Visual Basic, con el diseño de páginas Web. Integrando la utilidad del ASP.NET en una interfaz gráfica de uso relativamente sencillas y alta utilidad mediante el empleo de los webforms, que son controles que se incluyen en el sitio Web con solo arrastrarlos y que pueden ser posteriormente programados en el ya mencionado Visual Basic, C# o J#, lo cual hace que la potencialidad de estos lenguajes pueda ser utilizada de manera cotidiana en las páginas, conservando su forma original de programación y facilitando actividades como el manejo de bases de datos. Su interfaz gráfica inicial es mostrada en la figura 22, donde se aprecian los webforms en su lado izquierdo y en el centro el código HTML finalmente visible por el usuario así como un botón que permitirá alternar entre código y diseño. 58 El código de programación de los webforms será escogido al inicio al crear el sitio Web en blanco. En este proyecto específicamente se utiliza el Visual Basic (ver figura 23). Figura 22. Interfaz gráfica inicial de Visual Web Developer 2005. Figura 23. Ventana para crear nuevo sitio en Visual Web Developer 2005. 59 Estudio del Control WebChart Para conseguir el objetivo de plasmar mediante un gráfico, la información del estado de la corriente proveniente del equipo de soldadura a supervisar se utiliza un webform llamado WebChart que aunque no esta incluido en el Visual Web Developer, se puede obtener de manera gratuita de la página de un trabajador de Microsoft desde la siguiente dirección http://www.carlosag.net, lo que demuestra la flexibilidad de este programa que puede ser ampliado con webforms adicionales a los de fábrica. El control se puede mostrar inicialmente de la siguiente manera (figura 24): Figura 24. Control WebChart. Pero esta vista puede ser variada a través de la interfaz gráfica de VWD mediante las tareas del control que presenta varios tipos de auto-formatos como se muestra en la figura 25. Figura 25. Tareas del Control WebChart (auto formato). 60 Sabiendo eso, lo primero ha hacer es agregar el espacio de nombres WebChart.dll al sitio. Para ello se hace click derecho dentro del cuadro de herramientas y se escoge: “Elegir elementos” como se muestra en la figura 26. Figura 26. Interfaz para agregar elemento nuevo. En el cuadro se aprecia el botón examinar donde se busca la ubicación del WebChart.dll en el disco duro y finalmente queda agregado en el cuadro de herramientas listo para ser utilizado como los controles originales del VWD (ver figura 27). Figura 27. WebChart control en el cuadro de herramientas. 61 Descripción de las propiedades del control WebChart Para acceder a las propiedades del control se tienen dos opciones, las cuales son similares al Visual Basic: 1. Marcar con un click el Web Form (Windows Form en VB) y en la ventana llamada precisamente propiedades, se pueden modificar a conveniencia, sólo que de esta manera, como ya es clásico, se sabe que dichas propiedades quedarán predeterminadas y por tanto sin posibilidad de modificación en tiempo de ejecución. 2. Esto último se hace mediante código como también es acostumbrado en VB. Al campo de edición de código se puede acceder haciendo doble click sobre el control o simplemente yendo a la ventana llamada “Explorador de Soluciones” en la cual si no le se le han cambiado el nombre, existirá un archivo llamado Default.aspx que se puede desplegar y que contiene en su interior otro archivo llamado Default.aspx.vb cuyas últimas 2 letras indican que es el espacio destinado a incluir el código en Visual Basic. Esto se muestra en la figura 28. Figura 28. Interfaz del explorador de soluciones. Para el manejo de código lo primero debe ser incluir el espacio de nombres WebChart.dll que aunque esta añadido a la aplicación visual, no así al código fuente. Este paso puede omitirse pero al hacerlo se evitan repeticiones que serían, en su defecto, totalmente necesarias de la palabra “Webchart” que indicará que las propiedades que se están modificando son las de dicho control o espacio de nombres. Para ello se escribe en el encabezamiento del archivo Default.aspx.vb lo siguiente: Imports WebChart 62 Luego en el evento que se desea cargar el gráfico que puede ser el “Page_Load” se declara lo siguiente: Primero el tipo de gráfico a construir. Existen varias opciones como gráfico de columnas, tipo torta, de línea. En este caso fue elegido el de línea: Dim Chart As LineChart = New LineChart Lo que se hace es declarar una variable en este caso llamada “Chart” con la que se trabaja en lo adelante para modificar o actuar sobre cualquier propiedad del gráfico de líneas. El formato del gráfico como colores y leyenda pueden ser declarados como sigue: Chart.Fill.Color = Color.FromArgb(200) Primero se rellena de color de fondo al gráfico mediante el argumento que se le pasa al Color.FromArgb ( ) que puede contener un valor entero desde 0 a 255, significando un valor específico en el código ARGB de 32 bits. Un color ARGB de 32 bits se diferencia del clásico RGB en que precisamente dispone de un componente Alpha adicional. Los 8 bits inferiores constituyen el componente azul, luego el verde, los 8 siguientes el rojo, y finalmente los 8 bits más significativos representan el valor alpha. 255 que es el componente totalmente activado y 0 totalmente desactivado. El componente alpha se añade para hacer el valor del color transparente (alpha = 0) u opaco (alpha = 255). Con esto se logra aumentar el número de niveles de intensidad de la imagen sin aumentar el número de colores utilizados, lográndose un medio tono, y un mayor contraste en detrimento de la resolución. También existen otras formas de representar el color de fondo en el Color.FromArgb ( ) pues se puede utilizar por ejemplo el código RGB tradicional escribiendo tres números enteros desde 0 a 255, separados por “,” que sean la combinación de colores Rojo, Verde, Azul. Se puede además incluir otros colores predeterminados contenidos en el espacio de nombres System.Drawing.Color. En el siguiente caso se le da color a la línea del gráfico y más abajo se especifica su ancho. Chart.Line.Color = Color.SteelBlue Chart.Line.Width = 5 Y se agrega el nombre de la Leyenda al gráfico. 63 Chart.Legend = "WebChart information" Luego de configurar estas propiedades es necesario pasarle los valores al control que crea una imagen con la configuración fijada y los datos obtenidos, ya sean estáticos, variables o simplemente provenientes de una base de datos, lo cual es finalmente mostrado como figura de gráfico en nuestro sitio Web. Esto se hace creando los puntos uno a uno, que son llamados ChartPoints. Para ello se escribe: Chart.Data.Add (New ChartPoint( Var1, Var2 )) Donde: • Var1 son valores estáticos o variables de tipo String que pueden ser por ejemplo: tiempo (en meses o segundos), que representan el eje de las X. • Var2 son valores estáticos o variables de tipo entero que representan el eje Y Para que estos puntos queden adicionados al gráfico, no basta con crear los ChartPoints, se deben agregar además al gráfico específico al que pertenecerán utilizando el nombre que se le haya colocado a dicho gráfico en la ventana de Propiedades. NombreGráfico.Charts.Add (Chart) Finalmente se crea (o redibuja el gráfico, en caso de existir uno anterior) y está listo para ser mostrado en el sitio. NombreGráfico.RedrawChart ( ) Estudio del SQL SERVER Database Una de las poderosas herramientas incluidas en el paquete de Visual Studio 2005 es el motor de bases de datos SQL SERVER 2005, cuya eficacia ha sido probada en versiones anteriores y que permite acceder a crear bases de datos, tablas, vistas, configurar las variables que serán incluidas en las tablas así como agregarles valores manualmente a través de la interfaz gráfica que provee el paquete de VS 2005. Para poder utilizar una base de datos se puede emplear una existente o agregar una nueva base de datos. Para agregar un nueva al sitio recién creado, hay que ubicarse en el “Explorador de soluciones”, en la carpeta que existe de manera predeterminada en el sitio, con nombre “App_Data”, hacer click derecho y click donde está escrito “Agregar nuevo elemento”, el cual será una base de datos con el nombre que se escoja para ella y de extensión .mdf por ser de SQL SERVER, la cual estará totalmente disponible para ser usada por esta aplicación o cualquiera en el paquete Visual Studio 2005 (ver figura 29). 64 Figura 29 Interfaz visual para agregar nueva base de datos. Podemos ahora a través del Explorador de servidores manipular la base de datos Añadiendo tablas o vistas y datos a estas, así como estableciendo los tipos de variables o propiedades como determinar la clave principal o añadir o eliminar campos y/o registros (ver figura 30). Figura 30. Interfaz visual para agregar nueva tabla a la base de datos. 65 Para mostrar la información proveniente de la base de datos que será adquirida por el control WebChart, se debe trabajar directamente desarrollando el lenguaje Visual Basic lo que se muestra en lo que sigue. Para ello el primer paso es agregar al encabezamiento del archivo el espacio de nombres requerido para manejar los datos. Imports System.Data Imports System.Data.SqlClient Un objeto SqlConnection representa una sesión de conexión con un origen de datos de SQL Server y por tanto se declara una variable del tipo SqlConnection con la cadena de conexión que se pasa dentro de su argumento y que tiene incluido el servidor y la base de datos específica a la que queremos acceder. Dim cone As New_ SqlConnection("Data Source=.\SQLEXPRESS; AttachDbFilename=… Luego con la clase SqlCommand se define la petición de la tabla específica de la base de datos y se establece la conexión para adquirir los datos requeridos. Dim cmd As New SqlCommand cmd.CommandText = "SELECT * FROM LaTabla" cmd.Connection = cone cone.Open() El comando SELECT * FROM LaTabla indica que serán tomados todos los campos de la tabla llamada “LaTabla” residente en la base de datos. Donde el parámetro “todos” es precisamente delimitado por el asterisco (*). Empleando la clase SqlDataReader se pueden leer los datos obtenidos de la tabla en un sólo sentido sin posibilidad de retorno y sin forma de modificar dichos datos puesto que es de sólo lectura. Para crear un SqlDataReader, se llama al método ExecuteReader del objeto SqlCommand de la siguiente manera: Dim Varlectura As SqlDataReader Varlectura = cmd.ExecuteReader Entonces mediante la propiedad HasRows se indica si aún quedan registros por leer y con el método Read se avanza al próximo registro. If Varlectura.HasRows Then While Varlectura.Read 66 Finalmente los datos que se vayan tomando de la tabla en cuestión se pueden ir almacenando en variables para posteriormente ir agregándolas paso a paso (o mediante una variable de array) como se muestra. Dim Var1 As String Dim Var2 As Integer Var1 = Varlectura("nombre") Var2 = Varlectura("id") Donde id y nombre pueden ser los campos de la tabla llamada LaTabla. Por último se cierra la conexión. cone.Close() Pero de manera distinta al manejo de bases de datos utilizando los objetos SqlCommand o SqlDataReader, se puede lograr el mismo resultado a través de la clase DataSet. Un DataSet contiene en memoria de los datos provenientes de la base de datos, los cuales son almacenados en un DataTable, por tanto un DataSet es un contenedor de DataTables, que es una estructura similar a la de una tabla en una base de datos, se pueden eliminar, agregar, editar registros o campos, además se pueden hacer consultas etc., la diferencia con un DataReader es que es más pesado para el sistema, porque los datos permanecen en memoria. Además un DataReader es solamente un "vistazo" de los datos, únicamente hacia adelante y los datos solo se pueden leer, no se pueden editar o borrar, sin embargo es mucho más rápido que un DataSet y es el ideal para utilizar cuando se quieren llenar controles list-bound como DropDwonList, ListBox, DataGrid que sólo serán de consulta. Por eso como en todo sistema o proceso no se trata de que un método sea mejor que otro sino de encontrar el adecuado para cada aplicación. Para llenar y trabajar con un DataSet debemos hacer lo siguiente: Primeramente y de igual forma establecer la cadena de conexión, en este caso para SqlServer, establecer la cadena de conexión. Dim cone As New SqlConnection("Data Source=.\SQLEXPRESS;… Abrir la conexión con la base de datos. cone.Open() Entonces declara una variable que tendrá la cadena de consulta aunque este paso no es requerido para el funcionamiento, pero si facilita la organización de la programación y declaramos dos variables más, una del tipo DataSet y otra SqlDataAdapter. Dim S As String = "" 67 Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM commandos WHERE Id=1" Obtener los datos del la base de datos original para rellenar el Dataset y le pasamos al SqlDataAdapter la cadena de consulta y la cadena de conexión. Ada = New SqlDataAdapter(S, cone) Ahora rellenamos el Dataset con los datos provistos por el comando SELECT, provenientes de la base de datos. Ada.Fill(Ds, "LaTabla") Si el Dataset en la tabla de nombre"LaTabla" no esta vacío hacer… If Ds.Tables("LaTabla").Rows.Count > 0 Then Dim F As DataRow Para cada fila (registro) hacer… For Each F In Ds.Tables("LaTabla").Rows Si el campo nombre = "A" ejecutar las acciones dentro de la sentencia For (En este caso cambiar A por B) If F("Nombre") = "A" Then F("Nombre") = "B" End If Next End If Se utiliza el objeto SqlCommandBuilder para generar los comandos InsertCommand‚ UpdateCommand y DeleteCommand, de esta manera funcionará correctamente el DataAdapter y en su caso el comando Update. Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Actualizar la base de datos original. Ada.Update(Ds.Tables("LaTabla")) 68 Comunicar al Dataset que ahora está sin cambios, es decir igual a la base de datos original. Ds.Tables("LaTabla").AcceptChanges() Borrar los registros del Dataset. Ds.Tables("LaTabla").Rows.Clear() Descripción de las tablas utilizadas Figura 31. Tablas utilizadas en el la base de datos del proyecto En la figura 31 se muestran las dos tablas utilizadas, en el primer caso la tabla de comandos sirve de puente para la comunicación entre la base de datos y el software de escritorio mediante caracteres que más adelante son enviados al microcontrolador PIC e igualmente se reciben de este último para ser mostrados en la página Web. Esta tabla cuenta con dos campos el primero referente a la acción deseada por el programa de escritorio o el desarrollado en Visual Web Developer y por lo tanto maneja variables de un solo carácter Char(1), el segundo campo muestra si la acción fue ejecutada o no para que no se vuelva a repetir, en este caso se pueden almacenar datos de tipo verdadero o falso. Además en el caso de la tabla medida, es utilizada para almacenar los datos que han sido capturados y procesados por el puerto serie, y que son tomados por la Web mediante el control webchart para ser mostrados en dicha interfaz de usuario final. Se muestra como tiene dos campos, el primero se llama corriente y es capaz de almacenar variables de tipo real de la medición de corriente obtenida, el segundo campo se refiere a la fecha y por tanto es de tipo datetime lo que significa que a través de esta variable se puede saber la fecha exacta en que se almacena un dato. Diseño del software de Escritorio 69 Funciones del software de escritorio: 1. Este es intermediario entre la Web y el microcontrolador pues se encarga de tomar los datos de la base de datos así como modificarlos e insertar otros que resultan en una completa comunicación entre el sitio Web y el circuito electrónico final. 2. Es el encargado de procesar los valores muestreados por la etapa de muestreo electrónico de magnitudes eléctricas y transformarlos mediante las fórmulas anteriormente descritas en el valor de corriente real que circula por el equipo de soldadura. Programación del software de escritorio Imports System.Math Imports System.Data Imports System.Data.SqlClient Public Class Form1 Dim WithEvents serialPort As New IO.Ports.SerialPort Public Matriz_medir(0) As Integer Public Flag_medir As Boolean = False Public pointer_medir As Integer = 0 Public Delegate Sub WriteDataDelegate() Dim cone As New SqlConnection Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cone.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Proyecto\conexionserial\Proyecto. mdf;Integrated Security=True;Connect Timeout=30; User instance=True" cone.Open() If serialPort.IsOpen Then serialPort.Close() End If Try With serialPort .PortName = My.Computer.Ports.SerialPortNames(0) .BaudRate = 19200 .Parity = IO.Ports.Parity.None .DataBits = 8 .StopBits = IO.Ports.StopBits.One End With serialPort.Open() 70 Labelconectar.Text = My.Computer.Ports.SerialPortNames(0).ToString & " connected." Catch ex As Exception MsgBox(ex.ToString) End Try End Sub Private Sub DataReceived( _ ByVal sender As Object, _ ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) _ Handles serialPort.DataReceived If (Flag_medir = False) And (serialPort.ReadByte = 82) Then Dim WriteInvoke As New WriteDataDelegate(AddressOf WriteDataR) Invoke(WriteInvoke) ElseIf (Flag_medir = True) Then While serialPort.BytesToRead > 0 Matriz_medir(pointer_medir) = serialPort.ReadByte pointer_medir = pointer_medir + 1 ReDim Preserve Matriz_medir(pointer_medir) If Matriz_medir(pointer_medir - 1).ToString = "M" Then Exit While End If End While pointer_medir = 0 Dim WriteInvoke As New WriteDataDelegate(AddressOf WriteDataM) Invoke(WriteInvoke) End If End Sub Private Sub WriteDataR() Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM commandos WHERE hecho=0" Ada = New SqlDataAdapter(S, cone) Ada.Fill(Ds, "Xgan") If Ds.Tables("Xgan").Rows.Count > 0 Then Dim F As DataRow For Each F In Ds.Tables("Xgan").Rows 71 If F("accion") = "T" Then F("hecho") = 1 End If Next End If Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Ada.Update(Ds.Tables("Xgan")) Ds.Tables("Xgan").AcceptChanges() Ds.Tables("Xgan").Rows.Clear() nuevafila() End Sub Private Sub WriteDataM() Flag_medir = False Dim medicion As Double = 0 For i As Integer = 0 To (Matriz_medir.Length - 3) medicion = medicion + ((Matriz_medir(i) * 0.0196)) ^ 2 Next medicion = Sqrt (medicion / (Matriz_medir.Length - 2)) TextBox1.Text = medicion Dim Ipic As Double = 0 Dim Ireal As Double = 0 Ipic=medición/1 Ireal=40*Ipic Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM medida " Ada = New SqlDataAdapter(S, cone) Ada.Fill(Ds, "Xgan") 'Obtiene la fecha actual Dim Now As DateTime = DateTime.Now Dim F As DataRow F = Ds.Tables("Xgan").NewRow() 'Definimos los valores de los campos. F("corriente") = Ireal F("fecha") = Now 'Añadimos la nueva fila a la colección. Ds.Tables("Xgan").Rows.Add(F) 72 Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Ada.Update(Ds.Tables("Xgan")) Ds.Tables("Xgan").AcceptChanges() Ds.Tables("Xgan").Rows.Clear() End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM commandos WHERE hecho=0" Ada = New SqlDataAdapter(S, cone) Ada.Fill(Ds, "Xgan") If Ds.Tables("Xgan").Rows.Count > 0 Then Dim F As DataRow For Each F In Ds.Tables("Xgan").Rows Try If (F("accion") = "E") Then F("hecho") = 1 serialPort.Write("E") End If If (F("accion") = "B") Then F("hecho") = 1 serialPort.Write("B") End If If (F("accion") = "A") Then F("hecho") = 1 serialPort.Write("A") End If If (F("accion") = "D") Then F("hecho") = 1 serialPort.Write("D") End If If (F("accion") = "M") Then F("hecho") = 1 Flag_medir = True serialPort.Write("M") End If 73 If F("accion") = "T" Then serialPort.Write("T") End If Catch ex As Exception MsgBox(ex.ToString) End Try Next End If Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Ada.Update(Ds.Tables("Xgan")) Ds.Tables("Xgan").AcceptChanges() Ds.Tables("Xgan").Rows.Clear() End Sub Private Sub nuevafila() Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM commandos" Ada = New SqlDataAdapter(S, cone) Ada.Fill(Ds, "Xgan2") If Ds.Tables("Xgan2").Rows.Count > 0 Then Dim F As DataRow F = Ds.Tables("Xgan2").NewRow() F("accion") = "R" F("hecho") = 0 Ds.Tables("Xgan2").Rows.Add(F) End If Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Ada.Update(Ds.Tables("Xgan2")) Ds.Tables("Xgan2").AcceptChanges() Ds.Tables("Xgan2").Rows.Clear() End Sub End Class 74 Diseño del software en Visual Web Developer Funciones del software en Visual Web Developer: 1. Proporcionar la interfaz gráfica de usuario para el monitoreo de variables en el equipo de soldadura. 2. Proporcionar la interfaz gráfica de usuario para ejecutar el mando manual sobre el equipo de soldadura. 3. Permitir el estudio de variables, alarmas, análisis de tendencia al analizar los datos almacenados. 4. Permitir la interacción en tiempo real con el equipo de soldadura. Programación del software en Visual Web Developer Imports Imports Imports Imports System.Drawing System.Data System.Data.SqlClient System.Globalization Partial Class _Default Inherits System.Web.UI.Page Public cone As New sqlConnection Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ChartControl1.RedrawChart() If Page.IsPostBack = False Then Button6.Enabled = True Application("CC") = "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Proyecto\conexionserialiser\Proye cto.mdf;Integrated Security=True;Connect Timeout=30; User instance=True" inicio() cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('T',0) ", cone) comando.ExecuteNonQuery() cone.Close() Timer1.Visible = True End If End Sub 75 Private Sub inicio() Dim Chart As LineChart = New LineChart Chart.Fill.Color = Color.FromArgb(255, Color.SteelBlue) Chart.Line.Color = Color.Red Chart.Line.Width = 5 Chart.Legend = "WebChart information" cone.ConnectionString = Application("CC") Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter 'Obtiene la fecha actual Dim Now As DateTime = DateTime.Now Dim instante As String = Now.Hour.ToString Dim instantedia As String = Now.Day.ToString 'Obtiene el mes de la fecha actual Dim dateMonthtemp As String = Now.Month.ToString S = "SELECT * FROM medida WHERE Day(fecha)=" & instantedia 'Obtener los datos de la base de datos original para 'rellenar el Dataset. Ada = New SqlDataAdapter(S, cone) 'Ahora rellenamos el Dataset con los datos provistos por 'el comando SELECT, provenientes de la base de datos. Ada.Fill(Ds, "Xgancuba") 'Si el Dataset en la tabla "X" no esta vacio hacer. If Ds.Tables("Xgancuba").Rows.Count > 0 Then Dim F As DataRow Dim dr2 As String Dim dr3 As Integer 'Para cada fila (registro) hacer. For Each F In Ds.Tables("Xgancuba").Rows 'si el mes contenido en la base de datos es igual al actual mostrarlo 'en la tabla If F("fecha").month.ToString() = dateMonthtemp Then 'Mostrar día y mes separados por / dr2 = F("fecha").hour.ToString() 'Mostrar valor de corriente dr3 = F("corriente") Chart.Data.Add(New ChartPoint(dr2, dr3)) ChartControl1.Charts.Add(Chart) End If If F("fecha").hour.ToString = instante Then Dim MiCultura As CultureInfo = CultureInfo.CurrentCulture 76 Dim MiFormato As NumberFormatInfo = New CultureInfo(CultureInfo.CurrentCulture.ToString(), False).NumberFormat MiFormato.NumberDecimalSeparator = "." MiFormato.NumberDecimalDigits = 2 Label2.Text = CSng(F("corriente")).ToString("N", MiFormato) + " V" End If Next ChartControl1.RedrawChart() End If 'Definimos anteriormente sólo la propiedad SelectCommand y utilizamos ' el objeto SqlCommandBuilder para generar InsertCommand‚ UpdateCommand ' y DeleteCommand, de esta manera funcionará correctamente el dataAdapter ' y en su caso el Update. Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) 'Actualizar la base de datos original. Ada.Update(Ds.Tables("Xgancuba")) el Dataset ahora está sin cambios, es decir 'igual a la base de datos original. Ds.Tables("Xgancuba").AcceptChanges() 'Borrar los registros del Dataset. Ds.Tables("Xgancuba").Rows.Clear() cone.Close() End Sub Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged cone.ConnectionString = Application("CC") Dim Now As DateTime = DateTime.Now Dim tempMes As String = Calendar1.SelectedDate.Month.ToString Dim tempDia As String = Calendar1.SelectedDate.Day.ToString Dim tempHora As String = Now.Hour.ToString Dim Chart As LineChart = New LineChart Chart.Fill.Color = Color.FromArgb(200, Color.SteelBlue) Chart.Line.Color = Color.SteelBlue Chart.Line.Width = 5 'cadena de conexion para sqlserver. 'abrir la conexion con la base de datos. cone.Open() Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter 77 S = "SELECT * FROM medida WHERE Month(fecha)=" & tempMes 'Obtener los datos del la base de datos original para 'rellenar el Dataset. Ada = New SqlDataAdapter(S, cone) 'Ahora rellenamos el Dataset con los datos provistos por 'el comando SELECT, provenientes de la base de datos. Ada.Fill(Ds, "Xgancuba") 'Si el Dataset en la tabla "X" no esta vacio hacer. If Ds.Tables("Xgancuba").Rows.Count > 0 Then Dim F As DataRow Dim dr2 As String Dim dr3 As Integer Dim cont As Boolean = False 'Para cada fila (registro) hacer. For Each F In Ds.Tables("Xgancuba").Rows If (F("fecha").day.ToString() = tempDia) And (F("fecha").Month.ToString() = tempMes) Then cont = True dr2 = F("fecha").hour.ToString() dr3 = F("corriente") Chart.Data.Add(New ChartPoint(dr2, dr3)) ChartControl1.Charts.Add(Chart) ChartControl1.RedrawChart() End If Next If cont = False Then For n As Integer = 1 To 10 dr2 = n.ToString dr3 = 0 Chart.Data.Add(New ChartPoint(dr2, dr3)) ChartControl1.Charts.Add(Chart) ChartControl1.RedrawChart() Next End If End If 78 Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) 'Actualizar la base de datos original. Ada.Update(Ds.Tables("Xgancuba")) 'Decirle al Dataset que ahora está sin cambios, es decir 'igual a la base de datos original. Ds.Tables("Xgancuba").AcceptChanges() 'Borrar los registros del Dataset. Ds.Tables("Xgancuba").Rows.Clear() cone.Close() End Sub Protected Sub Button5_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button5.Click cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('E',0) ", cone) comando.ExecuteNonQuery() cone.Close() End Sub Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('B',0) ", cone) comando.ExecuteNonQuery() cone.Close() End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('A',0) ", cone) comando.ExecuteNonQuery() cone.Close() End Sub 79 Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('D',0) ", cone) comando.ExecuteNonQuery() cone.Close() End Sub Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click Timer2.Visible = True cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('M',0) ", cone) comando.ExecuteNonQuery() cone.Close() End Sub Protected Sub Timer1_Elapsed(ByVal sender As Object, ByVal e As MarkItUp.WebControls.TimerElapsedEventArgs) Handles Timer1.Elapsed Timer1.Visible = False 'cadena de conexion para sqlserver. 'abrir la conexion con la base de datos. cone.ConnectionString = Application("CC") cone.Open() Dim S As String = "" Dim Ds As New DataSet Dim Ada As SqlDataAdapter S = "SELECT * FROM commandos WHERE hecho=0" Ada = New SqlDataAdapter(S, cone) Ada.Fill(Ds, "Xgancuba") If Ds.Tables("Xgancuba").Rows.Count > 0 Then Dim F As DataRow For Each F In Ds.Tables("Xgancuba").Rows If (F("accion") = "R") Then F("hecho") = 1 Button6.Enabled = False Label3.Text = "Hardware detectado" Button6.BackColor = Color.Green 80 End If If F("accion") = "T" Then F("hecho") = 1 Label3.Text = "Hardware desconectado" End If Next End If Dim builder As SqlCommandBuilder = New SqlCommandBuilder(Ada) Ada.Update(Ds.Tables("Xgancuba")) Ds.Tables("Xgancuba").AcceptChanges() Ds.Tables("Xgancuba").Rows.Clear() cone.Close() End Sub Protected Sub Button6_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button6.Click cone.ConnectionString = Application("CC") cone.Open() Dim comando As New SqlCommand comando = New SqlCommand(" INSERT INTO commandos(accion,hecho) VALUES('T',0) ", cone) comando.ExecuteNonQuery() cone.Close() Timer1.Visible = True End Sub Protected Sub Timer2_Elapsed(ByVal sender As Object, ByVal e As MarkItUp.WebControls.TimerElapsedEventArgs) Handles Timer2.Elapsed Timer2.Visible = False inicio() End Sub End Class Diseño del sistema de monitoreo por Webcam En proceso de cualquier tipo, incluyendo los industriales, se puede desarrollar un monitoreo basado en la toma de muestras de variables que pueden ser analizadas, ya sea por un ordenador como por personal humano. Complejas fórmulas o ecuaciones matemáticas pueden desembocar finalmente, en una valoración exacta y correcta del estado presente. 81 Pero es frecuente que provea una mayor efectividad el análisis visual, donde a través de imágenes se puede obtener una representación y valoración más efectiva y rápida del mencionado proceso. Lo cual es conocido como visualización. Existe una frase popular referente al uso de la visualización: "Una imagen vale más que mil palabras". A través de estudios científicos se ha comprobado que alrededor del 50% de las neuronas está dedicado a la visión, así como que el 80% de nuestras sensaciones son visuales, además, la densidad de información por unidad de área es notablemente mayor a la de un texto (ver figura 32). La visualización nos permite ver lo que no es posible ver a través de representaciones puramente esquemáticas o matemáticas. Se puede reconocer patrones de comportamiento de los datos, ver en una sola imagen o en una secuencia de imágenes una gran cantidad de información y nos facilita la comprensión de algunos conceptos, sobre todo de tipo abstracto con tan sólo inspección visual. Es importante notar que mediante imágenes se pueden adquirir datos en varias dimensiones. Por ejemplo en un plano se cuenta con dos dimensiones de la imagen pudiendo representarse por dos variables: ancho y alto, pero si se agrega otro plano, la imagen se verá en 3D, incluyendo los colores se tendrá otra variable y desarrollando animaciones, se incluye el movimiento o 5ta variable. Otra gran ventaja y que de hecho es utilizada por los artistas plásticos, es la independencia del lenguaje y es conocido que se puede realizar cualquier explicación mediante palabras sin lograr efectividad, pero también se puede mostrar una secuencia de imágenes como un vídeo sin mencionar una palabra y entender la totalidad de la información que se haya deseado transmitir. Es de conocimiento público que a través de chats, actualmente se puede establecer una vídeo conferencia en tiempo real y que además ya existen en el mercado las llamadas cámaras IP que se manejan vía Web. Como el objetivo del proyecto es crear una aplicación que tenga interfaz de usuario final de tipo web, los esfuerzos a continuación están enfocados a lograr el mismo resultado utilizando programación en Visual Basic .NET y javaScript. La idea es ir guardando imágenes en el disco duro que van siendo recopiladas por el sitio Web. La información aunque no es continua, sino a base de muestras de imágenes, se va mostrando al usuario final cada cierto tiempo, lo que da sensación de animación. Para facilitar el trabajo se ha utilizado una dll o espacio de nombres que ha sido pensada para el manejo de una webcam genérica, sólo será necesario conocer sus propiedades, así como sus métodos o eventos y se podrá desarrollar una aplicación robusta. 82 Como primera tarea deberá añadirse la DLL llamada WebCam.dll a la aplicación, que será en este caso desarrollada totalmente en entorno de trabajo de VB, procediendo de la misma forma que al añadir la DLL WebChart.dll, debido a que tampoco forma parte del entorno original de trabajo de Visual Studio sino que ha sido desarrollada por un señor llamado Almustafa. Queda finalmente añadida a nuestra aplicación como se muestra en la figura 33. Figura 33. Añadir control WebCam. Para trabajar con el control o DLL como se ha dicho anteriormente se puede hacer a través de las propiedades que provee la interfaz gráfica o modificándolas directamente a través de código de programación. Para que el control quede habilitado sólo para posteriores modificaciones mediante código se deberá fijar la propiedad enabled a true. WebCam1.Enabled = True Para conseguir obtener imágenes de unas dimensiones determinadas lo que será muy importante tener claro en dependencia del ancho de banda de Internet con el que se cuente, se deberá ajustar la propiedad Size, como se muestra en la figura 34. Figura 34. Dimensiones de la imagen. 83 El control WebCam cuenta con un evento interesante y de gran utilidad, que permite que una operación sea desarrollada cada vez que cambie la imagen obtenida, lo que es muy útil en este caso, pues en vez de utilizar el evento del timer que almacenaría imágenes invariables y redundantes en algunos instantes, ocupando injustificadamente tiempo de transmisión y ancho de banda, en este caso se obtiene sólo información variable. Se puede acceder al evento dando doble click encima del control WebCam, mostrado en la interfaz gráfica. Private Sub WebCam1_CambioImagen() Handles WebCam1.CambioImagen End Sub El proceso de captura se consigue mediante la propiedad imagen del control WebCam que a efectos da el mismo resultado que la tecla “Imrpan”(imprimir pantalla) de un teclado convencional. Acto seguido se almacena en una variable de tipo Image y utilizando el método SAVE. A este último se le debe pasar como parámetro esencial, la ruta donde se desea guardar la imagen. Dim img As Image img = Me.WebCam1.Imagen img.Save("F: /imagenes/webcam.png") Para mostrar las imágenes optenidas se debe configurar su fuente manualmente a través de la interfaz de usuario y en modo de depuración (ver figura 35). Figura 35. Obtención de la Fuente de imagen. Y entonces se visualiza la imagen de la fuente deseada (figura 36): 84 Figura 36. Imagen de la fuente seleccionada. Diseño de la Interfaz Web para Webcam La forma en que se muestran secuencialmente las imágenes, es recargándolas cada cierto tiempo, pero esto generalmente tiene un problema y es que para mostrar otra imagen se necesita recargar toda la web lo que finalmente se traduce en volver a pedir al servidor todos los elementos incluidos en ella, cosa que supone un inprescindible gasto de tiempo, que elimina la sensación de animación, sobre todo si se dispone de un limitado ancho de banda, para resolver esta falencia, se ha utilizado JavaScript, con el cual se logra la recarga exclusiva de las imágenes de interés. El JavaScript es lenguaje de lado cliente por lo que es interpretado totalmente por el navegador. De ahí su denominación de lenguaje interpretado. El JavaScript incluye dos características principales: 1. Es un lenguaje basado en objetos 2. Es además un lenguaje orientado a eventos Por lo que la programación en JavaScript se concentra en describir objetos (con sus variables de instancia y métodos de "clase") y escribir funciones que respondan a movimientos del ratón, pulsación de teclas, apertura y cerrado de ventanas o carga de una página, entre otros eventos. La forma correcta de introducir la programación JavaScript en la Web es entre una etiqueta de script de apertura y de cierre, dentro del código HTML, ya sea en el encabezamiento o cuerpo de este, entonces se puede incluir el código de programación en la misma Web o llamarlo desde su ubicación en forma de ficheros externos de código generalmente de extensión js (ver figura 37). Si el código está en la misma Web: <script language ="javaScript" type="text/javascript"> Aquí el código 85 </script> Si el código está en un archivo externo: <script src="RUTA/ NOMBRE.js" language="JavaScript" type="text/javascript"> </script> Figura 37. Forma correcta de introducir Scripts de JavaScript. Combinación de JavaScript y HTML El programa de captura de imágenes ha sido desarrollado en visual Basic pero el de muestra de imágenes en la Web está escrito en javaScript que se incrusta e forma de Scripts en una página con código HTML. Se presenta a modo de ejemplo, la llamada a una función de JavaScript mediante HTML al cargar la página, con lo que se da comienzo a la ejecución del lenguaje JavaScript, pero ya se ha mencionado que este último es un lenguaje orientado a eventos por lo que se podrá dar comienzo de diversas maneras como puede ser un botón creado con HTML, mediante un click o la tecla ENTER. < body onload="recopilar();" > La propiedad onload se refiere al momento de carga de la página. En el mismo instante de la carga de la Web se incrusta por defecto una imagen que estará estática a modo de presentación hasta que empiece la secuencia de imágenes. Esto es realizado también mediante código HTML. 86 < img alt="webcam" src="imagenes/webcam 0.png" style="width: 295px; height: 237px"/> Se aprecia la ruta determinada por el parámetro SRC y el ancho y alto de visualización de las imágenes con width y height. La función recopilar se declara con function recopilar ( ), esta no tiene valores de entrada excepto las variables globales lo que queda claro puesto que no tiene argumento dentro del paréntesis. Dentro de las llaves de apertura y de cierre va el código a ejecutar por la función. function recopilar(){ } Para trabajar con imágenes se debe crear un objeto del tipo IMAGE () y entonces se pueden utilizar sus propiedades como adquirir la imagen de una ruta específica. Imagenes = new Image(); imagenes.src="imagenes/webcam.png"; Para mostra la imagen en la página se escribe así: document.images[0].src=imagenes.src; Con lo cual se toma la imagen 0 es decir la primera de la página Web (images[0]) y se muestra adquiriéndola de su ruta anteriormente determinada (imagenes.src) (ver figura 38). Figura 38. Imagen de la webcam en el sitio web. 87 Pero el proceso terminaría en este paso si no se se automatiza la repetición del código para que vaya sobreescrimiendo la imagen anterior cada vez. Para ello se utiliza la función setTimeout que se ejecuta una vez pasado el tiempo configurado en su argumento y la cual llamará a la función deseada que también se le pasa como parámetro en su argumento. setTimeout( "recopilar()", 200 ); Si la cámara deja de emitir no se mostrarán más imágenes en la aplición web, en cuyo caso se detecta la ausencia de visualización mediante la función onerror, se informa mediante una ventana o alert y se incrusta una imagen estática que muestre dicho estado. Además se puede dar información adicional del estado, en la ventana de abajo del navegador llamada windows status (ver figura 39). imagenes.onerror = function(){ alert("La camara esta apagada"); document.images[0].src=imagenes.src; window.status = "Lo siento ... la camara esta apagada. Por favor, verifique mas tarde"; } Figura 39. Aviso de ausencia de fuente. Hasta aquí se ha visto la forma de tomar imágenes desde una webcam y luego mostrarlas en una Web mediante lenguaje interpretado JavaScript, pero en la práctica es algo más 88 complejo puesto que serán dos aplicaciones funcionando al mismo tiempo, pero como un ente independiente cada una. Para que la imagen tomada vaya cambiando existen dos opciones, la primera es que la imagen sea sobrescrita por el programa desarrollado en visual Basic, y a la misma vez mostrada en la Web, pero esto puede ser muy inestable y resultar en una falla pues estarán dos programas independientes actuando sobre el mismo objeto en el mismo instante. Esto se ha resuelto desarrollando una rutina en Visual Basic que no sobrescriba la imagen creada hasta que se reinicie la aplicación, por tanto lo que hace es ir aumentando un número entero que comienza en “0”, cuyo valor se convierte a String y se incluye en el nombre de la imagen, lo que hace que cada imagen tenga un nombre diferente y aunque convertido a cadena, de manera consecutiva. Dim varimentero As Integer = 0 Dim varimcadena As String = “ ” varimcadena = Str(varimentero) img.Save("F:/imagenes/webcam" + varimcadena + ".png") varimentero = varimentero +1 Los nombres entonces van quedando en la siguiente secuencia: webcam 0, webcam 1, webcam 2, webcam 3 ... y así sucesivamente. Esto se muestra en la siguiente figura 40. Figura 40. Secuencia de nombres. 89 Ahora bien, se debe desarrollar la consecuente rutina en JavaScript. Primero se declara la variable llamada “imagenes”, pero ya no estática sino que en este caso será un arreglo o matriz, por lo tanto la letra “i” que es su argumento de cambio deberá ir aumentando, pero sólo si aun la cámara está encendida, en caso contrario se mostrará el valor prefijado de “i”, que muestre la imagen de cámara apagada. imagenes= new Array(); var i= 0; imagenes[i]=new Image(); imagenes[i].src="imagenes/webcam"+" "+String(i)+".png"; i++; Surge entonces una nueva necesidad, si ambas aplicaciones son reiniciadas, la escrita en Visual Basic y la de JavaScript, las imágenes de igual nombre en el disco duro se reescribirán y deberían mostrarse en la página web las nuevas, pero esto no sucede debido a que se muestran las anteriores, que están almacenadas en los archivos temporales de internet. La solución a este problema es sencilla, borrar las imágenes contenidas en la carpeta de archivos temporales y todo queda solucionado. Esto se hace utilizando la clase DirectoryInfo, contenida en el espacio de nombres System.IO, además al hacerlo no sólo se afecta a las imágenes sino a otros archivos que pueden estar en uso, lo que puede generar una excepción que se traduce en una falla, para ello se vuelve a utilizar la estructura Try, Catch, End Try, cuyo algoritmo está direccionado a evadir la excepción, dejando intactos los archivos en uso y continuando el borrado de los demás. Try La clase DirectoryInfo expone métodos de instancia para crear, mover y enumerar archivos en directorios y subdirectorios se utiliza para operaciones típicas como copiar, mover, cambiar de nombre, crear y eliminar directorios. Dim dirTemp As New DirectoryInfo("C:\...\Archivos temporales de Internet") Comprobar si el directorio existe. If dirTemp.Exists = True Then El método DirectoryInfo.Delete elimina una instancia de DirectoryInfo especificando si se van a eliminar los subdirectorios y los archivos (True o False) se asigna al directorio de archivos temporales. dirTemp.Delete(True) End If 90 Capturar excepciones. Catch pollo As Exception Pasar por alto la excepción si la causa es no poder borrar archivos por estar en uso (excepción System.IO.IOException o System.UnauthorizedAccessException). Dim sTipo1, sTipo2 As String sTipo1 = "System.IO.IOException" sTipo2 = "System.UnauthorizedAccessException" If Not pollo.GetType.ToString = sTipo1 And Not pollo.GetType.ToString = sTipo2 Then MessageBox.Show(pollo.Message, "Aviso del programa", MessageBoxButtons.OK) Application.Exit() End If End Try Descripción de la interfaz Web Figura 41. Imagen de la interfaz Web final de usuario. 91 En la figura 41 que es la página Web que se muestra al usuario del sistema, se pueden apreciar 5 botones una figura en forma de gráfico, otra figura en forma de calendario, una imagen de una webcam y un número encerrado en un cuadro blanco. El botón llamado encender/apagar toma la misma acción que sugiere el nombre sobre el equipo de soldadura, ejecutando de manera alterna la acción correspondiente de encendido o apagado. El botón detectar hardware se mostrará en color gris y habilitado en el caso de que no este conectado al computador el equipo de soldadura por lo que se podrá comprobar una y otra vez hasta que este último sea detectado. E la figura el botón está deshabilitado y en verde, además se muestra un letrero que anuncia que el dispositivo físico esta correctamente conectado y en estado de funcionamiento. Debajo del letrero “Manejo de corriente” se muestran dos botones que se encargan de controlar la corriente que circula por el equipo de soldadura por arco eléctrico, de forma manual. Con el botón medir se activa la etapa de muestreo electrónico de magnitudes eléctricas y finalmente el dato es mostrado en la página Web. El valor de corriente producto de la medición se muestra en el cuadro en blanco y todas las mediciones del día son mostrados en el gráfico a través del control WebChart. Adicionalmente todos los valores tomados hasta el día en curso se pueden visualizar en el control webChart y agrupados por día, año y hora, obteniéndolos de la base de datos a través del control calendario. A través de la imagen de la webcam se accede a la visualización de imágenes vía Web en tiempo real que fue descrita anteriormente. 92 Capítulo V Diseño de la Programación en el PIC16F877A La programación del microcontrolador PIC, se centra en dos tareas esenciales: 1. Configuración y manejo del conversor A/D para tomar las muestras de corriente provenientes del equipo del soldadura y más exactamente del transformador de corriente. 2. Configuración y manejo de la transmisión a través del módulo SCI del PIC. Los parámetros para la transmisión serial deben estar en concordancia con los del programa desarrollado en Visual Basic, aun más cuando se sabe que la transmisión se desarrolla sin envío de la señal del reloj, lo que pudiera generar severos errores por ejemplo si no se utiliza aquí la misma velocidad que en VB. Como por ejemplo la configuración de velocidad a 19200 baudios (En el anexo se puede observar por que se escogió la velocidad 19200 baudios), también la comunicación asíncrona y la utilización de sólo 8 bit de datos. En el conversor A/D para cambiar la configuración de la velocidad de conversión, el número de canales, resolución de conversión, pin de entrada del dato analógico o inicio de conversión se deben manipular los registros ADCON0 y ADCON1. (Ver anexos 3 y 4) 93 Descripción del diagrama de flujo general de la programación en el PIC16F877A 94 Descripción del programa principal en PIC16F877A #INCLUDE "P16F877A.INC" ; DECLARACION DE LIBRERIA DECLARACION DE VARIABLES CBLOCK .32 DATA_UART_RX, VAR_ON_OFF, VAR_B_D, VAR_MEDIR ENDC ;******************************************************************************* ; ORIGEN DEL PROGRAMA EN LA MEMORIA DE PROGRAMA ;******************************************************************************* ORG .0 GOTO INICIO ;******************************************************************************* ; SUBRUTINAS DE INTERRUPCIONES ;******************************************************************************* ORG .4 PUSH BCF MOVWF SWAPF MOVWF INTCON,GIE TEMP_W STATUS,W TEMP_STATUS ;******************************************************************************* ; SELECCION DE INTERRUPCION (RX UART) ;******************************************************************************* BTFSS PIR1,RCIF ;BANDERA DE RX UART GOTO MIRE_RB0 ;BUSCAR INTERRUPCION POR RB0 MOVF RCREG,W MOVWF DATA_UART_RX MOVLW "E" XORWF DATA_UART_RX,W BTFSC STATUS,Z GOTO ENCENDER_APAGAR ;COMPROBAR SI LLEGÓ “E” MOVLW "A" XORWF DATA_UART_RX,W BTFSC STATUS,Z GOTO AUMENTAR ;COMPROBAR SI LLEGÓ “A” MOVLW "D" XORWF DATA_UART_RX,W BTFSC STATUS,Z GOTO DISMINUIR ;COMPROBAR SI LLEGÓ “D” 95 MOVLW "M" XORWF DATA_UART_RX,W BTFSC STATUS,Z GOTO MEDIR ;COMPROBAR SI LLEGÓ “M” MOVLW "T" XORWF DATA_UART_RX,W BTFSC STATUS,Z GOTO DETECTAR_HARDWARE GOTO POP ;COMPROBAR SI LLEGÓ “T” MIRE_RB0 BTFSS INTCON,INTF ;BANDERA DE RB0 GOTO POP BTFSC VAR_MEDIR,0 ;SI VAR_MEDIR=1 Î MEDIR EN MAIN_PROGRAM GOTO POP MOVLW "M" CALL SEND_DATA_UART BCF VAR_MEDIR,0 BCF INTCON,INTE GOTO POP ;******************************************************************************* ; SALIDA DE SUBRUTINAS DE INTERRUPCIÓN ;******************************************************************************* POP CALL CONF_RX_UART MOVF PORTB,W SWAPF MOVWF SWAPF SWAPF ;ACTIVAR CON MODULO UART TEMP_STATUS,W STATUS TEMP_W,F TEMP_W,W BCF INTCON,INTF BSF INTCON,GIE ;ACTIVAR CON INTERRUPCION DE RB0 ;ACTIVAR CON CUALQUIER INTERRUPCION RETFIE ;******************************************************************************* ;******************************************************************************* ENCENDER_APAGAR BTFSS VAR_ON_OFF,0 GOTO $+2 GOTO $+6 MOVLW B'010' MOVWF PORTD CALL INTERRUPCION_RB7 BSF VAR_ON_OFF,0 GOTO POP 96 MOVLW MOVWF CALL BCF GOTO B'001' PORTD INTERRUPCION_RB7 VAR_ON_OFF,0 POP AUMENTAR MOVLW B'101' MOVWF PORTD CALL INTERRUPCION_RB7 GOTO POP DISMINUIR MOVLW B'110' MOVWF PORTD CALL INTERRUPCION_RB7 GOTO POP MEDIR BSF VAR_MEDIR,0 BSF INTCON,INTE GOTO POP DETECTAR_HARDWARE MOVLW "R" CALL SEND_DATA_UART GOTO POP INTERRUPCION_RB7 BCF PORTC,0 MOVLW .20 CALL PAUSA_100MS BSF PORTC,0 RETURN ;******************************************************************************* ; CONFIGURACION DE PUERTOS ;******************************************************************************* INICIO BSF STATUS,RP0 ;BANCO 1 BCF STATUS,RP1 MOVLW B'00000000' MOVWF PORTA MOVLW B'00000000' MOVWF PORTB MOVLW B'00000000' MOVWF PORTC MOVLW B'00000000' MOVWF PORTD MOVLW B'00000000' MOVWF PORTE MOVLW B'00000110' ;PORTA AND PORTE AS I/O DIGITAL MOVWF ADCON1 MOVLW B'00000000' ;ENABLE PULL UP, INT RB0 FLANCO DE BAJADA 97 MOVWF OPTION_REG MOVLW B'00000000' ;DESACTIVO TODAS LAS INT MOVWF INTCON MOVLW B'00000000' ;DESACTIVO TODAS LAS INT DE PERIFERICOS MOVWF PIR1 MOVLW B'00000000' ;DESACTIVO TODAS LAS INT DE PERIFERICOS MOVWF PIR2 BCF STATUS,RP0 ;BANCO 0 ;- - - - - - - - I N I C I A L I Z A C I O N ------------------------------------------------------------------CALL CALL BSF INIT_UART INIT_CAD INTCON,GIE ;ACTIVAR CON CUALQUIER INT ;- - - - - - - - CONDICIONES INICIALES DEL MAIN_PROGRAM - - - - - - - - -- - - - - - - - - - - BSF PORTC,0 BSF VAR_ON_OFF,0 ;VARIABLE DE ON_OFF BSF VAR_B_D,0 ;VARIABLE DE BLOQUEO DESBLOQUEO BCF VAR_MEDIR,0 ;VARIABLE DE MEDIDA ;******************************************************************************* ; INICIO DE INSTRUCCIONES DEL MAIN_PROGRAM ;******************************************************************************* MAIN_PROGRAM BTFSS GOTO CALL MOVF CALL GOTO VAR_MEDIR,0 MAIN_PROGRAM CAD_CH0 CAD_HIGH,W SEND_DATA_UART MAIN_PROGRAM END Configuración e inicialización de datos interfaz SCI INIT_UART BSF STATUS,RP0 ;BANCO 1 BCF STATUS,RP1 BSF RX_UART ;RX UART BSF TX_UART ;TX UART BCF STATUS,RP0 ;BANCO 0 CALL CONF_RX_UART RETURN Configuración de recepción. CONF_RX_UART 98 BSF STATUS,RP0 ;CONFIGURACION DE RX ASYNCRONA MOVLW .12 ;19200 BAUDIOS ALTA VELOCIDAD BRGH=1 MOVWF TXREG ; CARGO EN (SPBRG) BSF TXSTA,BRGH ;(TXSTA)ALTA VELOCIDAD BRGH=1 BCF TXSTA,SYNC ;(TXSTA)SELECCIONO MODO ASYNCRO BSF INTCON,PEIE ;HABILITO TODAS LAS INT DE PERIFERICOS BSF PIE1,RCIE ;(PIE1)ACTIVO INTERUPCION DE RX POR PUERTO SERIAL USART ASYNCRONO BCF STATUS,RP0 ;BANCO 0 BTFSC RCSTA,FERR ;MIRO SI OCURRIO ERROR EN LA TRANSMISION PC TO MASTER BCF RCSTA,CREN ;RESETEA BANDERAS DE ERRORES BTFSC RCSTA,OERR ;MIRO SI OCURRIO ERROR EN LA TRANSMISION PC TO MASTER BCF BSF BCF BCF BCF BCF BCF SERIAL RCSTA,CREN RCSTA,SPEN RCSTA,ADDEN RCSTA,FERR RCSTA,OERR RCSTA,RX9 PIR1, RCIF BSF RCSTA,CREN RETURN ;RESETEA BANDERAS DE ERRORES ;HABILITO PUERTO SERIAL ;DESHABILITO DIRECCIONAMIENTO ;DESACTIVO RX DEL 9 BIT ; DESACTIVO BANDERA DE TX POR PUERTO ;HABILITO RECEPCION Configuración de transmisión asíncrona. CONF_TX_UART BSF STATUS,RP0 ;CONFIGURACIÓN DE TX ASYNCRONA MOVLW .12 ;19200 BAUDIOS ALTA VELOCIDAD BRGH=1 MOVWF SPBRG ;CARGO EN (SPBRG) BSF TXSTA,BRGH ;(TXSTA)ALTA VELOCIDAD BRGH=1 BCF TXSTA,SYNC ;(TXSTA)SELECCIONO MODO ASYNCRONO BCF PIE1, TXIE ; DESACTIVO INTERUPCION DE TX POR PUERTO SERIAL USART ASYNCRONO BCF BSF BCF SERIAL STATUS,RP0 RCSTA,SPEN PIR1, TXIF ;BANCO 0 ;HABILITO PUERTO SERIAL ;DESACTIVO BANDERA DE TX POR PUERTO 99 BSF STATUS,RP0 BCF TXSTA,TX9 BSF TXSTA,TXEN BCF TXSTA,TX9D RETURN ;BANCO 1 ;DESACTIVO ENVIO DE 9 BIT ; HABILITO LA TX SERIAL USART, TXIF =1 ;CARGO DATO DE 9 BIT SI DESEO (SI TX9 =1) Envío de datos. SEND_DATA_UART MOVWF DATA_UART CALL CONF_TX_UART ;CONFIGURACION DE UART BSF STATUS,RP0 ;BANCO 1 BTFSS TXSTA,TRMT ;(TXSTA)MIRO SI ESTA DESOCUPADO EL BUFFER DE TX SERIAL (1-->DESOC) GOTO $-1 BCF STATUS,RP0 MOVF DATA_UART,W MOVWF TXREG RETURN ;BANCO 0 ;DATO A SER ENVIADO ;INICIA LA TX SERIAL USART Configuración e inicialización del conversor A/D ;................. SINTAXIS DE CONVERSOR A/D…………. ;ESTE CODIGO CONVIERTE POR CH0=RA0 DEL CONVERSOR Y ENVIA EL RESULTADO DE 10 BIT AL PC (CAD_HIGH, CAD_LOW) ; CALL CAD_CH0 ; MOVF CAD_HIGH,W ; CALL SEND_DATA_UART ;---------------------------------------------------------------------------------------------------------; BIT'S DE CONTROL DEL MODULO CONVERSOR A/D PARA 1 ENTRADA ANALOGICA ;#DEFINE AN0 PORTA,0 ;BIT 0 DE PORTA (INPUT) ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ----INIT_CAD BSF BCF MOVLW ADRESL =0 MOVWF STATUS,RP0 STATUS,RP1 B'00000010' ADCON1 ;BANCO 1 ;JUSTIFICACION A LA IZQUIERDA :6 BIT LSB OF ;CONVERSOR DE 10 (8) BIT,ACTIVO CANAL 0 100 BSF BCF AN0 STATUS,RP0 ;BANCO 0 CAD_CH0 MOVLW B'10000001' ;CONFIGURACIÓN DE ADCON0, HABILITO CONVERSION MOVWF ADCON0 ;FREC DE CONV=FCRIS/32, SELEC CHANEL0 = RA0 CALL SUB_CONVER_AD MOVWF CAD_HIGH RETURN SUB_CONVER_AD BCF PIR1,ADIF ;DEBE ESTAR EN CERO AL INICIAR LA CONVERSIÓN NOP ;PAUSA PARA TOMAR LA MUESTRA NOP NOP NOP NOP NOP NOP NOP NOP BSF ADCON0,GO_DONE ;EMPIEZA LA CONVERSIÓN BTFSC ADCON0,GO_DONE ;MIRO ADIF SI SALTA SE COMPLETÓ LA ;CONVERSIÓN TAMBIEN PUEDE MIRAR ;EL BIT GO/DONE GOTO $-1 MOVF ADRESH,W ;CARGO EL BYTE MAS SIGNIFICATICO EN DATOH RETURN 101 Capítulo VI Estudio del canal de acceso a Internet mediante ADSL Resumen del modo de transferencia asíncrono El protocolo ATM o Modo de Transferencia Asíncrono, surge para aprovechar al máximo la capacidad de los sistemas de transmisión, de forma que la información no sea transmitida y conmutada a través de canales asignados permanentemente, sino en forma de cortos paquetes (celdas ATM) de longitud constante y que pueden ser enrutadas individualmente mediante el uso de los canales virtuales y trayectos virtuales. Así diferentes flujos de información, de características distintas en cuanto a velocidad y formato, son agrupados en el denominado Módulo ATM y transportados mediante grandes enlaces de transmisión a velocidades de 155 o 600 Mbit/s como se muestra en la figura 42. Figura 42. Vista del Módulo ATM. Resumen sobre las tecnologías de acceso a la red La necesidad de ancho de banda ha hecho nacer varias tecnologías de acceso de banda ancha: DSL (Línea de Abonado Digital) en todas sus formas simétricas y asimétricas, u otras tantas, guiadas por cable coaxial, fibra óptica, radio enlaces. A pesar de las enormes diferencias entre estas tecnologías, todas ellas se caracterizan por que todas pueden 102 compartir el mismo protocolo subyacente: ATM, cuya principal ventaja está en la escalabilidad y en la disponibilidad. De acuerdo al medio de soporte, se acostumbra a clasificar las redes de acceso en cuatro grupos principales par trenzado, fibra/coaxial, inalámbrico, y todo fibra (ver figura 43). Figura 43. Tipos de redes de acuerdo al medio de soporte. Las tecnologías xDSL en la red de acceso La tecnología xDSL, surge por la necesidad de aumentar la capacidad de transmisión del par de cobre. Hace referencia a toda la familia DSL las cuales utilizan técnicas de modulación modernas ayudadas por los avances en el procesamiento digital de señales para lograr transmitir a altas velocidades sobre el lazo de abonado local. Descripción de la tecnología ADSL El ADSL es una técnica para la transmisión de datos a gran velocidad sobre el par de cobre. ADSL es un acrónimo de Asymmetric Digital Subscriber Line o traducido Línea de Abonado Digital Asimétrica, la asimetría esta dada porque las velocidades de subida y descarga son distintas. Esta, a diferencia de los modems de banda vocal que sólo transmiten en la banda de frecuencias usadas en telefonía (300 Hz a 3400 Hz), transmite en un margen de frecuencias que va desde los 24 KHz hasta los 1104 KHz, esto hace que el ADSL pueda coexistir en un mismo lazo de abonado con el servicio telefónico, pues no se solapan sus intervalos de frecuencia. Al tratarse de una modulación asimétrica, el módem ADSL situado en el extremo del usuario es distinto del ubicado al otro lado del lazo, en la central local. En la figura 44 se observa que en los módems situados en el domicilio del usuario (ATU-R o ADSL Terminal Unit-Remote) y en la central (ATU-C o ADSL Terminal Unit-Central), delante de cada uno de ellos se ha de colocar un "splitter". El cual está compuesto por dos filtros: uno paso alto 103 y otro paso bajo, para separar las señales de baja frecuencia (telefonía) de las de alta frecuencia (ADSL). Figura 44. Modems ATU-R y ATU-C DMT (Discrete MultiTone, Modulación multitono discreto consiste en el empleo de múltiples portadoras y no sólo una, como sucede en los módems de banda vocal. En una vía de transmisión de cobre la atenuación por unidad de longitud aumenta a medida que se incrementa la frecuencia de las señales transmitidas, y cuanto mayor es la longitud de la línea, mayor es la atenuación que sufren las señales transmitidas. Esto es la base de que la velocidad máxima que se puede lograr mediante los módems ADSL varíe en función de la longitud de la línea de abonado. El ruido externo provoca la reducción de la relación Señal/Ruido de cada una de las subportadoras, y esa disminución provoca una reducción del caudal de datos que modula a cada subportadora, lo que también implica una reducción del caudal total que se puede transmitir a través del enlace entre el ATU-R y el ATU-C. A la distancia de 2.6 Km de la central, en presencia de muy altos niveles de ruido, se obtiene una velocidad de 2 Mbps en sentido descendente y 0,9 Mbps en sentido ascendente. Debido al análisis planteado y tomando en cuentas la longitud media de la línea telefónica en zonas urbanas, la mayor parte de los usuarios podrán obtener a través de ADSL una velocidad de 2Mbps lo que puede satisfacer las necesidades de cualquier internauta, teletrabajador así como de muchas empresas pequeñas y medianas. 104 Resumen de las ventajas del ADSL 1. Permite el intercambio de información en formato digital a gran velocidad (ancho de banda) entre un usuario y la central a la que se conecta utilizando solamente un par de cobre. 2. Este ancho de banda está disponible de forma permanente. 3. Se aprovecha una vía de comunicación por lo que los tiempos de implantación tanto como los costos disminuyen de manera óptima. Multiplexor de acceso DSL El DSLAM (Multiplexor de Acceso DSL) es un equipo ubicado en la central que agrupa gran número de tarjetas, estas tarjetas están compuestas por varios módems ATU-C, y que además concentra el tráfico de todos los enlaces ADSL hacia la red WAN (ver figura 45). Figura 45. Multiplexor de Acceso DSL (DSLAM) La integración de varios ATU-Cs en el DSLAM es un factor fundamental que ha hecho posible el despliegue masivo del ADSL ya que facilita la instalación de todo el sistema. Encapsulado de datos Existen varias opciones para lograr tal propósito. Una opción aceptable es el encapsulado de IP sobre ATM según la RFC 1483 del IETF, con la modalidad de "routing". La información útil para el usuario contenida en el paquete IP, lleva varias cabeceras. Estas cabeceras, que son necesarias para que la información llegue a su destino, pero que no proporcionan información al usuario, este hecho explica que el caudal recibido por el usuario sea inferior a la velocidad a la que la información se transmite realmente. 105 Configuración del módem MT820 Para tener acceso a la configuración, se debe abrir el navegador e introducir el IP de LAN del MT820 que es por defecto el “192.168.1.1” e introducir el usuario y password que son ambos por defecto: admin. (Ver figura 46). Figura 46. Configuración del MODEM MT820 vía Web. La figura 47 se muestra la llamada system view, o vista del sistema, la cual es para información y donde se puede observar por ejemplo, el modelo, la versión del módem y algo más importante, la velocidad de subida y de descarga, en el caso de la figura la velocidad de subida (Upstream) es igual a 160Kbps y la de descarga (DownStream) es igual a 320 Kbps. Figura 47. Vista del sistema. 106 A la derecha de la figura se observa una serie de carpetas, donde están organizados los parámetros más importantes de manejo y configuración del módem ADSL. Existen una serie de parámetros fijados de manera predeterminada, como es el de la figura 48 donde se muestra el IP que posee el módem ya sea si se utiliza a través de su interfaz de ethernet o LAN o si se utiliza a través del puerto USB. Parámetros como este se pueden dejar como están. Figura 48. Configuración LAN Los DNS (domain name system), son dados por el proveedor de internet y se configuran de tal modo, en este caso como se muestra en la figura 49. Figura 49. Configuración de los DNS 107 Descripción de la configuración NetWork Address Translation (NAT) La forma de conexión que provee Telecom, por el valor de 75 000 pesos es la que se utiliza, por este precio el número IP que posee el MODEM es variable y aunque es un IP valido en Internet (definido por el RFC 1918), cambia cada vez que se apaga y enciende nuevamente dicho MODEM. En este caso además el IP que posee el computador que se utiliza como estación central es no válido en Internet por lo que solo estará presente en la red local que se posee. Para corregir este problema e impulsado por el crecimiento exponencial de Internet, y debido a que actualmente se utiliza direccionamiento IPv4, el cual ocupa 32 bits para la asignación de direcciones, dando un máximo de 4.294.967.296 direcciones únicas (2 elevado a 32), y así llegado un momento los dispositivos conectados eran más que el número de IPs disponibles, por lo que se diseñó NAT, el cual permite a cualquier dispositivo, como un router, actuar como traductor de direcciones. NAT es muy utilizado en empresas y redes caseras, ya que basta tener una sola dirección IP pública para poder conectar una multitud de dispositivos. Una pasarela NAT cambia la dirección origen en cada paquete de salida y, dependiendo del método, también el puerto origen para que sea único. Estas traducciones de dirección se almacenan en una tabla, para recordar que dirección y puerto le corresponde a cada dispositivo cliente y así saber donde deben regresar los paquetes de respuesta. Si un paquete que intenta ingresar a la red interna no existe en la tabla de traducciones, entonces es descartado. Utilizando NAT en el proyecto se consigue que el MODEM redirecciones las peticiones exteriores al puerto 80, es decir a la página Web que se tiene servida a Internet, al computador central con ip del tipo 192.168.1.3 y de esta forma a pesar de encontrarse en una red de tipo LAN o privada, también puede interactuar con Internet. Esto se ha configurado en el MODEM MT820 como se muestra en la figura 50. 108 Figura 50. Tabla de configuración NAT Para hacerlo se añadió una regla que redirecciona información entrante y saliente hacia la WAN y desde el IP de la LAN 192.168.1.3 y el puerto 80 predeterminado para el protocolo HTTP como se ha dicho anteriormente, aunque como se sabe existen 65535 posibilidades de puertos (ver figura 51). Figura 51. Regla de NAT. 109 Acto seguido se deben configurar las reglas de filtro IP que normalmente son parte del Firewall y que están en modo HIGH por defecto para implementar máxima seguridad a la red interna pero que de igual manera bloqueará el puerto 80, cosa que en este caso es indeseable y por tanto debe cambiarse (ver figura 52). En el filtro IP se deben proporcionar datos tales como: 1. La identificación de regla que se crea (Rule ID). 2. Dirección de apertura de la regla (outgoing). 3. La acción de la regla que para desbloquear se fija en Accept. 4. Interface de entrada, se cuenta con una sola tarjeta de red y por tanto se fija a eth-0 que significa Tarjeta de red (Ethernet-0). 5. Nivel de seguridad en Low, bajo puesto que es una regla accept o permitir. 6. Desactivar para esta regla, de la lista negra de protocolos o puertos bloqueados. 7. El protocolo a utilizar, igual a TCP. 8. El puerto a desbloquear, el 80 predeterminado para http. 110 Figura 52. Filtro IP Con el último paso, el MODEM queda listo para su utilidad en este proyecto permitiendo que la página Web deseada sea vista por usuarios en Internet. Si se quiere añadir seguridad al MODEM, se pueden manejar las ACL (access control list), con lo que se puede definir desde que IP e interfaz ya sea, la red privada LAN o Internet WAN se puede acceder a este. En la figura 53 se configuró el acceso sólo desde el computador central que utilizará sus servicios. Figura 53. Listas de control de acceso. 111 Finalmente para que los cambios tengan efecto se deben guardar los cambios como se muestra en la figura 54. Figura 54. Vista de la ventana Guardar cambios. 112 Descripción de la etapa de mando electrónico Para ejecutar el mando electrónico sobre el circuito de potencia realizado en el proyecto del Ingeniero Alberto Nicolás Figueroa Cuello se utiliza un protocolo paralelo como se muestra en la figura 55, para ello se provoca una interrupción en el microcontrolador de la etapa de potencia y se señaliza la acción deseada que es previamente ejecutada a través de la interfaz Web a través de Internet. Figura 55. Modo de conexión para lograr el mando electrónico sobre la etapa de potencia del Ing. Alberto Nicolás Figueroa Cuello Entonces en el caso de desear encender el equipo de soldadura, el circuito de la etapa de potencia recibirá una interrupción y seguidamente los tres bits 001 como se muestra en la tabla 3. La forma de programación ha sido ampliamente tratada en la sección llamada: “Diseño de la Programación en el PIC16f877A” Tabla 3. Protocolo utilizado para el mando sobre la etapa de potencia del Ing. Alberto Nicolás Figueroa Cuello. 113 Capítulo VII Análisis económico y financiero Resumen de un Modelo de Rentabilidad Financiera Un Modelo de Rentabilidad Financiera (MRF) es una proyección de inversiones, gastos, ingresos y parámetros financieros, organizada en una hoja electrónica (Como EXCEL) para una empresa o proyecto. Los MRF se usan para pronosticar niveles de rentabilidad financiera y otros parámetros financieros de interés, cómo de que forma la rentabilidad se ve afectada por cambios en volumen, precios y costos, lo que se conoce como análisis de sensibilidad. Los parámetros de rentabilidad financiera más usados son la Tasa Interna de Retorno (TIR) y el Valor Presente Neto (VPN). Utilizando el TIR se puede conocer si la inversión en un negocio dado va a suministrar un mayor retorno que si dejan los fondos sin utilizar, o para comparar el retorno de dos o más alternativas de inversión. La TIR debe ser mayor que el costo de oportunidad del capital más un factor de riesgo. El costo de oportunidad del capital es la tasa promedio de interés que se puede obtener del ahorro. Por ejemplo, la cantidad promedio de interés pagada por entidades financieras como bancos. El Valor Presente Neto es la utilidad (si es positivo) o pérdida (si es negativo) a pesos de hoy, que proviene por invertir en el proyecto y no invertir al interés de oportunidad. Descripción sobre las tasas de interés La elevación o disminución de las tasas de interés es manejado por el Banco Central en cada país como una medida para contener, evitar una crisis, o impulsar el crecimiento económico. Estas tasas es el precio del dinero, un costo que una empresa, banco, o un ciudadano tiene que pagar por pedir dinero prestado o en el caso de los bancos también recibir un depósito de las empresas, personas u otros bancos. Las tasas de interés se clasifican en activas y pasivas. Las primeras son las que los bancos cobran por prestar dinero y las pasivas, las que los bancos pagan por recibir un depósito. Si las tasas de interés suben, los préstamos se hacen más caros, y si baja, los préstamos, se abaratan. 114 En el primer caso a las empresas y personas se les hace más costoso el financiamiento para desarrollar sus actividades; a las empresas se les eleva el costo de las inversiones, compra de equipos, construcción de nuevas plantas, y a las personas se les encarece la compra de una vivienda, u otro artículo de la vida cotidiana. Debido a ello las entidades productivas producen menos, las inversiones comienzan a disminuir y aumentan los despidos de trabajadores, lo que hace que las personas consuman menos y se les dificulta adquirir otros bienes. Ahora, en el caso de que las tasas de interés bajen sucede lo contrario. El crecimiento se hace fuerte y la demanda amenaza con superar la oferta de bienes y servicios, obligando a una subida de precios, conocida como inflación, el Banco Central decide la subida de la tasa de interés, para frenar el crecimiento de la economía y alejar la crisis inflacionaria. Pero si la economía deja de crecer de forma significativa; esto obliga al Banco Central del país a bajar la tasa de interés, abaratar el crédito y que entonces las empresas aumenten su producción y las personas consuman más, por lo que se convierte en un proceso cíclico donde el Banco Central es un importante elemento regulador de la economía de un país. Estudio sobre la tasa interna de retorno La Tasa Interna de Retorno, se calcula (y define) de manera tal que el valor presente neto sea igual a cero. VPN = 0 = Σi=1...n BNi / (1+TIR)I Ecuación 24 Donde: VPN: Valor presente Neto BNi: Beneficio Neto del Año i = ingresos(i) – egresos(i) [Donde los ingresos deben superar los egresos] TIR: Tasa interna de retorno Cuando la TIR es mayor que la tasa de interés (tasa de oportunidad de mercado), el rendimiento que obtendría el inversionista realizando la inversión es mayor que el que obtendría en la mejor inversión alternativa, por lo tanto, conviene realizar la inversión. Si la TIR es menor que la tasa de interés, el proyecto debe rechazarse. Cuando la TIR es igual a la tasa de interés, el inversionista es indiferente entre realizar la inversión o no. TIR > i => realizar el proyecto 115 TIR < i => no realizar el proyecto TIR = i => el inversionista es indiferente entre realizar el proyecto o no. La tasa de descuento con la que se compara la TIR puede ser: 1. La tasa de interés de los préstamos, en caso de que la inversión se financie con préstamos. 2. La tasa de retorno de las inversiones alternativas, en el caso de que la inversión se financie con capital propio y haya restricciones de capital. 3. Una combinación de la tasa de interés de los préstamos y la tasa de rentabilidad de las inversiones alternativas. La TIR representa la tasa de interés más alta que un inversionista podría pagar sin perder dinero, si todos los fondos para el financiamiento de la inversión se tomaran prestados y el préstamo (principal e interés) se pagara con las entradas en efectivo de la inversión a medida que se fuesen produciendo. [Bierman y Smidt] Cálculo financiero COSTOS DE MATERIA PRIMA NO. INSUMO # DE UNIDADES 1 2 3 4 ALAMBRE 6 METROS PIC16F877 1 OSCILADOR 1 PLACA DE 1 CIRCUITO IMPRESO 5 ACIDO 1 PAQUETE 6 ACETATO 1 LAMINA 7 IMPRESION 1 8 MAX232 1 9 CAPACITORES 5 10 RESISTORES 10 11 LED 2 12 TRANSFORMADOR 1 DE CORRIENTE 13 CARCASA 1 14 ESTAÑO 10 cm EMPRESA: ELECTRO LUZ Tabla 4. Costos de materia prima 116 PRECIO POR UNIDAD EN PESOS 1 000 19 000 1 000 2 000 PRECIO TOTAL EN PESOS 6 000 19 000 1 000 2 000 1 000 1 000 200 7 000 200 50 300 40 000 1 000 1000 200 7 000 1 000 500 600 40 000 5 000 150 5 000 150 GASTOS DE OPERACIÓN Y DISEÑO NO. SERVICIO EMPRESA 1 INTERNET TELECOM TELECOM S.A ESP BANDA ANCHA 2 ELECTRICIDAD CENTRALES ELECTRICAS DEL N.S S.A ESP Tabla 5. Gastos de operación y diseño. PRECIO EN PESOS 75 000 MES PRECIO TOTAL EN PESOS 75 000 MES 21 200 MES 21 200 MES INVERSIONES EMPRESA ELECTRO LUZ NO. INVERSION # DE PRECIO UNIDADES POR UNIDAD EN PESOS 1 MULTIMETRO 1 40 000 2 DESTORNILLADORES 1 CAJA 5 000 3 CAUTIN 1 13 000 4 BISTURI 1 3 000 5 PINZA 1 5 000 6 PINZA DE CORTE 1 5 000 7 PROTOBOARD 1 15 000 EMPRESA COMPU HOME PLAZA 8 PC 1 1 500 000 9 LICENCIA WIN XP 1 200 000 10 MESA DE PC 1 100 000 Tabla 6. Inversiones PRECIO TOTAL EN PESOS 40 000 5 000 13 000 3 000 5 000 5 000 15 000 1 500 000 200 000 100 000 INSUMOS GRATUITOS ( software) NO. 1 2 INSUMO VISUAL STUDIO 2005 MPLAB 7.41 # DE UNIDADES 1 MICROSOFT PRECIO TOTAL EN PESOS 0.0 1 MICROCHIP 0.0 Tabla 7. Insumos gratuitos. 117 EMPRESA PROYECCIONES Variables Macroeconómicas Inflación Ventas, Costos y Gastos Precio Por Producto Precio Producto Unidades Vendidas por Producto Ventas Producto 1 Total Ventas Precio Promedio Ventas Ventas Rebajas en Ventas Rebaja Pronto pago Costos Unitarios Materia Prima Costo Materia Prima Producto 1 Costos Unitarios Mano de Obra Costo Mano de Obra Producto 1 Costos Variables Unitarios Materia Prima (Costo Promedio) Mano de Obra (Costo Promedio) Materia Prima y M.O. Otros Costos de Fabricación Otros Costos de Fabricación Costos Producción Inventariables Materia Prima Mano de Obra Un. 2006 2007 2008 2009 2010 % 6,00% 6,00% 6,00% 6,00% 6,00% $ / unid. 800.000 840.000 882.000 926.100 972.405 unid. 100 105 110 116 122 $ unid. $ 800.000,0 100 80.000.000,0 840.000,0 105 88.200.000,0 882.000,0 110 97.240.500,0 % ventas $ 5,0% 4.000.000 5,0% 4.410.000 5,0% 4.862.025 5,0% 5.360.383 5,0% 5.909.822 $ / unid. 382.200 401.310 421.376 442.444 464.566 $ / unid. 13.600 14.280 14.994 15.744 16.531 $ / unid. $ / unid. $ / unid. 382.200,0 13.600,0 395.800,0 401.310,0 14.280,0 415.590,0 421.375,5 14.994,0 436.369,5 442.444,3 15.743,7 458.188,0 464.566,5 16.530,9 481.097,4 $ 0 0 0 0 0 $ $ 38.220.000 1.360.000 42.137.550 1.499.400 46.456.649 1.653.089 51.218.455 1.822.530 56.468.347 2.009.339 118 926.100,0 972.405,0 116 122 107.207.651,3 118.196.435,5 Materia Prima y M.O. Depreciación $ $ 39.580.000 189.316 43.636.950 200.675 48.109.737 212.715 53.040.985 225.478 58.477.686 239.007 Agotamiento Total Margen Bruto $ $ $ 0 39.769.316 50,29% 0 43.837.625 50,30% 0 48.322.453 50,31% 0 53.266.464 50,31% 0 58.716.694 50,32% Gastos Operacionales Gastos de Ventas Gastos Administación Total Gastos $ $ $ 50.000 0 50.000 52.500 0 52.500 55.125 0 55.125 57.881 0 57.881 60.775 0 60.775 días $ % 30 6.666.667 15% 30 7.350.000 15% 30 8.103.375 15% 30 8.933.971 15% 30 9.849.703 15% días costo $ días $ días compras $ $ 1 110.470 1 110.470 15 1.592.500 1.813.441 1 121.771 1 121.771 15 1.755.731 1.999.274 1 134.229 1 134.229 15 1.935.694 2.204.152 1 147.962 1 147.962 15 2.134.102 2.430.027 1 163.102 1 163.102 15 2.352.848 2.679.052 $ 0 0 0 0 0 $ 0 0 0 0 0 días $ $ $ 15 1.649.167 0 0 8 969.710 0 0 8 1.069.105 0 0 8 1.178.689 0 0 8 1.299.504 0 0 Capital de Trabajo Cuentas por cobrar Rotación Cartera Clientes Cartera Clientes Provisión Cuentas por Cobrar Inventarios Invent. Prod. Final Rotación Invent. Prod. Final Invent. Prod. en Proceso Rotación Invent. Prod. Proceso Invent. Materia Prima Rotación Invent. Materia Prima Total Inventario Anticipos y Otras Cuentas por Cobar Anticipos y Otras Cuentas por Cobar Gastos Anticipados Gastos Anticipados Cuentas por Pagar Cuentas por Pagar Proveedores Cuentas por Pagar Proveedores Acreedores Varios Acreedores Varios (Var.) 119 Otros Pasivos $ 0 0 0 0 0 Inversiones (Inicio Período) Equipo Muebles y Enseres Equipo de Transporte Equipos de Oficina Total Inversiones $ $ $ $ $ 1.586.000 100.000 0 0 1.686.000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 $ 0 0 0 0 0 Renta Renta Presuntiva sobre patrimonio Liquido Renta Presuntiva % % 6,00% 38,50% 6,00% 38,50% 6,00% 38,50% 6,00% 38,50% 6,00% 38,50% Estructura de Capital Capital Socios Capital Adicional Socios Obligaciones de Montajes EDUNAV Obligaciones Financieras $ $ $ $ 0 0 40.000.000 0 0 0 40.000.000 0 0 0 40.000.000 0 0 0 40.000.000 0 0 0 40.000.000 0 Otros Activos Valor Ajustado Impuestos Dividendos Utilidades Repartibles Dividendos $ % Dividendos TIR (Tasa Interna de Retorno) $ - 21.698.334 50% 35.383.513 50% 49.762.152 50% 65.401.778 50% - 10.849.167 12.267.173 57,45% 13.322.906 14.481.266 50% Tabla 8. Proyecciones. 120 Obtenida la TIR = 57,45% anual que es superior a la tasa de oportunidad de mercado que es aproximadamente de un 18% anual. TRC = TRC = TRC = TIR ⎛ 1 ⎞ 1− ⎜ ⎟ ⎝ 1 + TIR ⎠ Donde: TRC ; Tasa de recuperación contable. Ecuación 25 n 0.5745 1 ⎞ ⎛ 1− ⎜ ⎟ ⎝ 1 + 0.5745 ⎠ 5 0.5745 5 1 − (0.6351) TRC = 0.64 => 64 % anual, por lo que anualmente se recupera el 64 % de la inversión. PRI = 1 TRC PRI = 1 0.64 Ecuación 26 PRI = 1,55 un año, 5 meses y 5 días. 121 RESULTADOS DEL ANALISIS Flujo de Caja y Rentabilidad Flujo de Operación Flujo de Inversión Flujo de Financiación Flujo de caja para evaluación Tasa de descuento Utilizada Flujo de caja descontado -40.000.000 -40.000.000 -40.000.000 36.370.000 -8.516.941 0 27.853.059 14% 24.432.508 26.517.040 -1.548.623 -10.849.167 24.968.417 14% 19.212.386 28.854.713 -858.858 -12.267.173 27.995.855 13% 19.063.630 32.067.691 -946.888 -13.322.906 31.120.803 4% 20.376.487 Criterios de Decisión Tasa mínima de rendimiento a la que aspira TIR (Tasa Interna de Retorno) VAN (Valor actual neto) PRI (Periodo de recuperación de la inversión) Nivel de endeudamiento inicial del negocio, teniendo en cuenta los recursos del Montajes EDUNAV. 18% 57,45% 34.627.121 1,55 100,00% Tabla 9. Resultados del análisis. De acuerdo al análisis el proyecto es viable, tomando como base que la TIR supera la tasa de oportunidad de mercado por lo que la inversión es recuperada en un corto plazo ( 1 año, 5 meses y 5 días) lo cual son resultados altamente satisfactorios dado que el dicho análisis fue realizado tomando como base un período de 5 años. 122 Fuentes de financiación Corresponde al empresario Eduardo Navarro Nieto en representación de la empresa MONTAJES EDUNAV y a Antonio Gan Acosta en representación de la Universidad de Pamplona, en base a los resultados presentados, decidir si se realiza el proyecto y las condiciones de participación de cada uno. Convenios y contratos 123 Marco Legal El software utilizado en el proyecto es el paquete de Visual Studio 2005 Express y más específicamente el Visual Web Developer Express 2005 y el Visual Basic Express 2005, ambos se pueden descargar de forma gratuita del sitio de Microsoft. La numerosa comunidad de desarrolladores, ya sean profesionales o simples aficionados, que se ha reunido alrededor de Visual Studio 2005 Express -unos 5 millones de descargas en 5 meses- han decidido a Microsoft a perpetuar la gratuidad de este entorno de programación, que hasta la fecha se encontraba limitada a 1 año. Visual Studio 2005 Express consiste en una versión "lite" o ligera de las herramientas de programación de Microsoft, que incluye Visual Web Developer, Visual Basic, Visual C#, Visual C++, Visual J# y SQL Server Express, orientándose hacia el programador aficionado u ocasional y a los pequeños negocios. [4] El Windows que se utilizó fue la versión de 64 bits de prueba por 180 días, que se encuentra en descarga gratuita en la página de Microsoft. También se empleó el MPLAB 7.41 para la programación del microcontrolador, que se obtiene en descarga gratuita desde el sitio de microchip. Los componentes electrónicos, el computador y accesorios utilizados fueron adquiridos en los centros de ventas de la ciudad de Pamplona, Colombia. La utilización de servidores Web hacia Internet es totalmente legal si este no incluye software pirata que infrinja la ley de protección al software propietario. En este caso se utiliza Internet Information Server incluido en la instalación de Windows XP. Por lo anteriormente expuesto se puede decir que el trabajo se realizó en un marco total de legalidad. 124 Análisis de Protección e Higiene del trabajo 1. El módulo electrónico del sistema ha sido empaquetado dentro de una carcaza que aporta acabado estético y seguridad de manejo para los operarios. 2. En el diseño de la aplicación de escritorio y el sitio Web, se utilizó la explicación del las líneas de código mediante “Comentarios” para facilitar futuras mejoras y ampliaciones de la programación. 3. Mediante el proyecto se consigue aislar al ser humano del proceso de soldadura contribuyendo a la protección de este de los gases tóxicos que se generan y de posibles quemaduras así como la protección del sentido de la vista. 4. La vida humana también se protege puesto que con el sistema de monitoreo y mando a distancia, se aísla totalmente al operario o supervisor de las altas tensiones. 5. Si se utilizan monitores CRT para la supervisión u operación a distancia se debe tener un protector de pantalla para proteger el sentido de la vista. 125 Influencia ambiental del trabajo 1. El sistema no produce desechos que puedan afectar la naturaleza, como emisión de gases tóxicos o contaminación de aguas o emisión de ondas electromagnéticas. 2. Tampoco genera radiaciones que puedan ser peligrosas al entrar en contacto un ser humano con este. 3. Al crear el circuito impreso requerido se tuvo cuidado de no generar recortes innecesarios y disminuir al máximo su dimensión. 4. El sistema influye beneficiosamente pues se puede disminuir el consumo de combustible para transportar personal calificado al área del proceso, adicionalmente se reduce la utilización de papel al almacenar los resultados de las mediciones en una base de datos virtual. 5. La toma de decisiones pueden realizarse en tiempo real y por personal altamente especializado con lo que se genera un mejor funcionamiento así como una respuesta rápida a posibles fallas o acciones supervisión preventiva. 126 Artículo científico sometido a publicación SYSTEM OF DATA COMMUNICATION WITH INTERFACE WEB THROUGH INTERNET SISTEMA DE COMUNICACIÓN DE DATOS CON INTERFAZ WEB VIA INTERNET Ing. Wilson Antonio Gan Cuba MSc. Antonio Gan Acosta. Ing. Alberto Nicolás Figueroa Cuello Universidad de Pamplona Ciudadela Universitaria. Pamplona, Norte de Santander, Colombia. Tel: 57-7-5685303, Fax: 57-7-5685303 Ext. 156 [email protected] [email protected] Abstract: We developed to a practical application to connect the utility of computer science with the microcontrollers PIC to send and to return any class of data in communication with a sensor or an electronic equipment generic with which the user of the Web will be able to interact from the comfort and facility of his house or office to develop to works of high class of utility and complexity. Resumen: Se muestra una aplicación práctica para acoplar la utilidad de la informática con la de los microcontroladores PIC para enviar y retornar cualquier clase de datos en comunicación con un sensor o un equipo electrónico genérico final con el que el usuario de la Web podrá interactuar desde la comodidad y facilidad de su casa u oficina para desarrollar trabajos de alta utilidad y complejidad. Keywords: web, communication. PIC, visual studio, database, visual basic, con interfaz Web debido a la facilidad no sólo en cuanto a acceso sino de configuración y manipulación, con el entorno gráfico que estas proporcionan, 1. INTRODUCCIÓN Si bien es sabido que actualmente muchos aparatos electrónicos están siendo creados 127 entonces quedan listos para ser enviados a su PC destino. además de su muy beneficioso conocido tele-manejo, son sólo usadas en equipos aislados de empresas y aplicaciones específicas como routers y PLCs, carentes de flexibilidad (para otros usos distintos a los que fueron concebidos) o bajo costo. En la figura 1 se muestra el esquema en bloques general del sistema. Para desarrollar una aplicación práctica y flexible para la industria utilizamos las bondades del Visual Studio 2005 y su plataforma .NET, así como un dispositivo electrónico programable como los microcontroladores PIC. Esta nueva forma de interactuar con los PIC mediante una INTERFAZ WEB VIA INTERNET permite de manera muy útil y con sencilla interfaz de usuario, monitorear y manipular equipos electrónicos. Se desarrolla una aplicación en Visual Web Developer que se comunica con otra aplicación de escritorio programada en Visual Basic a través de una base de datos, el programa de escritorio toma los datos obtenidos de un PIC a mediante el protocolo RS232 por el puerto serial del computador y los almacena en la base de datos de la cual el programa en VWD los toma para mostrarlos finalmente al usuario a través de un servidor Web instalado y configurado en el PC estación central. Fig.1 Esquema en bloques general del sistema. 2. Concepto de páginas HTML (estáticas) y dinámicas. El HTML no es lenguaje de programación sino que se trata de un lenguaje descriptivo para dar formato al texto y las imágenes que se desean visualizar en el navegador por lo que a partir de este se introducen enlaces, tamaños de letra, colores o dar tamaño a las imágenes, pero no permite realizar un simple cálculo matemático o crear una página a partir de una base de datos, como tampoco rellenar dicha base de datos. Por lo que aunque muy útil para mostrar información en Internet, es limitado al necesitar interactuar con la página Web y lograr la ejecución de procesos automáticos. En sentido inverso, desde la página Web se da una orden a través de un botón el cual almacena datos booleanos en una base de datos, que es consultada constantemente por la aplicación de escritorio antedicha y que en este caso envía el dato al PIC que es el encargado de ejecutar una orden en el dispositivo del proceso tecnológico final. Destacamos que los datos que el PIC envía hacia el puerto serial de la PC, son tomados por un sensor, luego son digitalizados con el CAD del PIC y Por esto se han empleado otros lenguajes más amplios y complejos pero que proporcionan impensable utilidad puesto 128 manejo de bases de datos así como la creación de sitios solo para miembros VWD es una herramienta de valor incalculable. que la Web puede construirse casi completamente a partir de datos ajenos al código HTML de la página en si y que permiten una total o parcial automatización de nuestras aplicaciones Web. Primeramente se crea un nuevo sitio Web de ASP.NET y en lenguaje se elige el Visual Basic. Estos lenguajes capaces de recrear a partir de ciertos "scripts" páginas automatizadas, son los protagonistas de este concepto de páginas dinámicas, entre los que se puede citar al PHP o al que se utiliza en esta aplicación, el ASP o más concretamente el nuevo ASP.NET. Los cuales son interpretados directamente por el servidor por lo que son llamados: “Lenguajes de lado servidor”. Un lenguaje de lado cliente es totalmente independiente del servidor, lo cual permite que la página pueda ser albergada en cualquier sitio. Sin embargo un lenguaje de lado servidor es independiente del cliente por lo que es mucho menos rígido respecto al cambio de un navegador a otro o respecto a las versiones del mismo y además como los scripts se ejecutan en el servidor sin mostrarse nunca de manera real al cliente, son de mayor seguridad. 3. Utilizando el Visual Developer (VWD). Fig. 2 Visual Web Developer 4. Control WebChart ASP.NET Utilizando la programación en Visual Basic y el control ASP.Net llamado WebChart.dll que se obtiene en descarga gratuita de la página www.carlosag.net graficamos los datos los datos obtenidos del sensor inicial. Web El Visual Web Developer es una herramienta de extremada utilidad y facilidad desarrollada por Microsoft, que integra la novedosa programación de ASP.NET. Con controles que responden a eventos. Para crear una Web de Mayor calidad en cuanto a diseño y belleza, es más fácil para el programador común utilizar otro software como Macromedia Dreamweaver, pero si se persigue una aplicación que permita crear con mayor facilidad y eficiencia diseños para en el Fig. 3 Control ASP.NET WebChart 129 acceder , manejar y configurar directamente a través del propio Visual Studio 2005. Para poder usar este control se debe añadir al cuadro de herramientas luego lo arrastramos a la Web y accediendo a la ventana de escritura de código de Visual Basic se podrá trabajar sobre él. Habiendo creado primeramente la base de datos a utilizar así como una tabla de manera manual o mediante código, utilizando el comando SQL “SELECT” se obtiene la información de la base de datos de un registro a la vez, para adicionarlos al control WebChart que mencionamos anteriormente. Este control cuenta con una ayuda que se puede descargar de manera gratuita de la página del autor. Entre lo más importante a tener en cuenta está el tipo de gráfico a usar que entre los más comunes tenemos el de líneas, LineChart o el de columnas, ColumChart. Esta base de datos en la tabla específica que estará asignada a esta aplicación, es llenada previamente con datos provenientes del programa de escritorio desarrollado en VB y que es el mediador entre el dispositivo electrónico y la aplicación Web. Para este propósito se escribe el comando SQL “INSERT”. Este gráfico lo se crea punto a punto y luego la utilidad del control ASP.NET crea una imagen, que muestra el resultado final. Esto se aprecia en el siguiente código: Chart.Data.Add(New ChartPoint(VarChar, VarNum)) 6. Programa en Visual Basic Ya se ha hablado que el programa de escritorio será el enlace entre el PIC y la Web. NombreGrafico.Charts.Add(Cha rt) De esta manera se van creando los puntos del gráfico, VarChar serán los valores del eje de las abcisas que son valores de tipo String o cadena, es decir de tipo alfabético y VarNum son los valores de las ordenadas de tipo numérico obtenidos. Para adquirir la información proveniente del dispositivo electrónico se adiciona al programa el control llamado: “serialport” . Finalmente con el código NombreGrafico.RedrawChart() se genera la imagen de una gráfica con los datos incluidos anteriormente. 5. Base de datos Infinidad de databases existen en la actualidad, en este caso se utiliza el SQL Express que está incluido al paquete de Visual Studio 2005 y al que se puede 130 síncrona los datos son enviados en bloques, el transmisor y el receptor son sincronizados por uno o más caracteres especiales llamados caracteres de sincronismo. Fig. 4 Control SerialPort en entorno Visual Basic Al recibir datos se ejecuta el evento serialport_DataReceived, dentro de este evento se incluye la variable que almacenará los datos para ser enviados a la base de datos y graficado por el control WebChart. El puerto serie del PC es un dispositivo asíncrono. En una transmisión asíncrona, un bit identifica su bit de comienzo y 1 o 2 bits identifican su final, no es necesario ningún caracter de sincronismo. Primero se envía el bit se start. Un caracter de datos puede contener en 7 o 8 bits. Dependiendo de la configuración de la transmisión un bit de paridad es enviado después de cada bit de datos para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados. 7. El Microcontrolador Un microcontrolador incluye en su interior las tres unidades funcionales de un PC: CPU, Memoria y Unidades de E/S. Estándar RS-232C El puerto serie del PC es compatible con el estándar RS-232C. Fig. 5 Microcontrolador El estándar especifica 25 pines de señal, y que el conector de DTE debe ser macho y el conector de DCE hembra. Los conectores mas usados son el DB-25 macho, pero muchos de los 25 pines no son necesarios. Debido a esto en muchos PC modernos se utilizan los DB-9 macho. Los voltajes para un nivel lógico alto están entre -3V y -15V. Un nivel lógico bajo tendrá un voltaje entre +3V y +15V. Los voltajes más usados son +12V y -12V. De ahí su importancia pues es un computador en un solo dispositivo electrónico. Comunicación puerto serial Serial quiere decir que toma un byte de datos y transmite los 8 bits del byte uno a la vez, por una única vía. Los equipos de comunicaciones serie se pueden dividir entre simplex, half-duplex y full-duplex. Una comunicación serie simplex envía información en una sola dirección. Half-duplex envía datos de ida y regreso entre dos sistemas, pero en una sola dirección al mismo tiempo. Si es fullduplex cada sistema puede enviar y recibir datos al mismo tiempo. Para la medición analógica se utiliza un sensor de corriente u otro y luego se digitalizan con el CAD del microcontrolador PIC que son transmitidos al puerto serial del computador mediante el protocolo RS232 en modo UART. Hay dos tipos de comunicaciones: síncronas o asíncronas. En una transmisión 131 Para acoplar los voltajes TTL a RS232 empleamos el dispositivo MAX232 que media entre el microcontrolador y el PC. 10. Servidor en Internet (Network Address Translation) Debido al crecimiento de Internet y a la limitación del direccionamiento con IPV4 que ocupa 32 bits, con un máximo de 4.294.967.296 direcciones que en la actualidad son insuficientes y a las dificultades de implementar el direccionamiento IPV6 surge el Network Address Translation (NAT) para que IPs privadas, no válidas en Internet puedan ser vistas en dicha red aplicando un redireccionamiento de IP y de puertos. 8. Manipular el microcontrolador Hasta ahora se ha hablado de la forma de monitoreo de datos a través de la Web, se desea además accionar el circuito eléctrico manejado por el microcontrolador mediante Internet. En este caso utilizando por ejemplo un botón en la página se puede almacenar un dato en la database que está siendo testeada constantemente por la aplicación de escritorio la cual en este caso se encarga de enviar la acción captada que puede ser booleana es decir True or False (o encendido/apagado) mediante el comando: “SerialPort.WriteLine” así finalmente el microcontrolador recibe la orden y ejecuta la acción correspondiente. Se utiliza para este fin un router con la capacidad de hacer NAT que en la práctica consiste en una tabla de traducciones en donde se especifica el reemplazo de las IP privadas con una única dirección IP pública. Así se evita los conflictos de direcciones entre las distintas redes y conseguimos que nuestros clientes puedan utilizar nuestra aplicación Web en Internet a través de cualquier navegador compatible como Internet Explorer o Mozilla Firefox. 9. Webcam en la página Para procesos que necesitan una supervisión visual antes de realizar una acción sobre el proceso o dispositivo, se incluye una imagen proveniente de una cámara Web en tiempo real, para ello se utiliza el control llamado: “WebCAM.dll” que agregado a una aplicación de Visual Basic permite obtener imágenes de cualquier cámara USB. 11. Conclusiones Con la utilización de los controles ASP.NET como el WebChart.dll, tareas anteriormente casi impensables, le agregan a la aplicación utilidad de valor científico y práctico, escribiendo escasas líneas de código, lo que tiene especial importancia para ingenieros electricistas y electrónicos que no se especializan en el área de la informática. Cada cierto tiempo (mientras menos mejor) se toma una muestra de la imagen captada por el control a través de la webcam y se guarda en una ubicación del disco duro o un servidor FTP, que se sobrescribe constantemente desde donde es accedida por la página Web que se está desarrollando y que se recarga a cada momento dando una sensación de continuidad. La utilización de la Webcam en la página es una herramienta novedosa que permite añadir otro importante sentido a la supervisión, y mediante la valoración visual se pueden tomar decisiones más precisas. 132 “SQLCommand” Disponible en: http://sqlcommand.sourceforge.net Haciendo NAT no sólo se disminuyen los costos de obtener adicionales IPs públicas, sino que se agrega una protección nueva al servidor Web, puesto que no se encuentra ubicado precisamente en la IP que se muestra en Internet sino redireccionado a esta. “Curso Desarrollo web con Visual Studio 2005” Disponible en: http://www.desarrollaconmsdn.com/msdn/ Cursos/Curso_Desarrollo_web_con_Visua l_Studio_2005/index.html Referencias WILSON ANTONIO GAN CUBA Ingeniero Electrónico., Universidad Pamplona. [email protected] Mridula Parihar et al. “ASP.NET Bible” Published by Hungry Minds, Inc. 909 Third Avenue New York, NY 10022 www.hungryminds.com de ANTONIO GAN ACOSTA. Ingeniero Electricista. M.Sc. en Ciencias de Ingenierías. [email protected] Dobson, Rick “Beginning SQL Server 2005 Express Database Applications with Visual Basic Express and Visual Web Developer Express From Novice to Professional” ISBN (pbk): 1-59059-523-8, Printed and bound in the United States of America 9 8 7654321 ALBERTO NICOLÁS FIGUEROA CUELLO Ingeniero Electrónico., Universidad Pamplona. [email protected] Fenyö Alexandre, Le Guern Frédéric, Tardieu Samuel “Conecte su red local a Internet” Ediciones: Gestión 2000, S.A., Barcelona, 1997 “Estándar de comunicaciones RS-232C (O Cómo funciona un puerto serie...)” Disponible en: http://www.euskalnet.net/shizuka/rs232.ht m “Interfacing the Serial / RS232 Port” Disponible en: http://www.beyondlogic.org/serial/serial.h tm “Curso VWD y ASP.NET 2” Disponible en: www.videotutoriales.com 133 de Resultados Se obtuvieron conocimientos respecto al manejo de bases de datos. Se obtuvieron conocimientos sobre la programación en Visual Basic 2005. Se incrementaron los conocimientos sobre el diseño de páginas Web y especialmente en el manejo del software Visual Web Developer 2005, así como su programación con Visual Basic 2005. Se profundizaron los conocimientos sobre programación con microcontroladores PIC, logrando un sistema para el que no fueron especialmente concebidos como lo es el manejo a distancia vía Web. Para el aprendizaje de la programación además del apoyo del codirector, se experimentó la modalidad de clases virtuales a través de los videotutoriales descargados de la página www.videotutoriales.com obteniendo gran parte del conocimiento sobre el manejo de Visual Web Developer. Basado en el contenido del trabajo fue aprobada la publicación de un artículo para la revista de Tecnologías de Avanzada, cuyo texto está en su totalidad incluido en el escrito del proyecto. Solicitud de exposición de una ponencia el Congreso CIETA 2006. Se obtuvo la primera aproximación de un sistema de monitoreo y manejo vía Web a través de Internet, con el que se podrán desarrollar posteriores y mas complejos trabajos en el manejo de equipos electrónicos a través de la macrored. 1. Sistema de sensado electrónico de variables eléctricas, así como su envío y almacenamiento para ser mostrados gráficamente en una página Web, de manera que los datos pueden ser agrupados por día mes o año de su adquisición para un análisis más personalizado y óptimo. 2. Sistema de comunicación entre una aplicación Web y un programa de escritorio utilizando como intermediario una base de datos. 3. Sistema de detección de hardware a vía Web a través de Internet, para comprobar el estado de encendido o de funcionalidad del aparato eléctrico final. 4. Sistema para la comunicación con el circuito de disparo, control y mando electrónico vía Web a través de Internet. 5. Sistema ON/OFF para el apagado/encendido o señalización simple de circuitos eléctricos/electrónicos a distancia, vía Web a través de Internet. Basado en el proyecto se mejoró la confiabilidad de la empresa CONEXWISP proveedora de Internet inalámbrico en la ciudad de Pamplona, Colombia. Se impartieron clases de diseño de Web-blog a profesores y estudiantes de la Facultad de Ingenierías y Arquitectura. Conclusiones Se cumplieron los objetivos planteados al diseñar e implementar el sistema de monitoreo y mando vía Web a través de Internet, ampliamente tratado a través de todo el proyecto. Con la utilización de los controles ASP.NET como el WebChart.dll, tareas anteriormente casi impensables, le agregan a la aplicación utilidad de valor científico y práctico, lo que tiene especial importancia para ingenieros electricistas y electrónicos que no se especializan en el área de la informática. La modalidad de manejo vía Web, tratada a través del proyecto, le adiciona a este una cualidad indiscutible en cuanto a utilidad y flexibilidad porque el protocolo http es común a la mayor parte de sistemas operativos actuales, así pues aunque la aplicación de escritorio deberá correr sobre Windows, el usuario final podrá acceder a través de cualquier navegador instalado por ejemplo en Linux o Mackintosh. El proyecto es rentable, lo que ha sido soportado mediante el análisis económico y financiero. Los tiempos de respuesta entre el mando vía Web y la ejecución en el dispositivo electrónico dependen de la velocidad de Internet utilizada, pero no se requieren grandes velocidades para conseguir un manejo óptimo aproximado al tiempo real. Además si se quieren lograr respuestas más rápidas utilizando la misma velocidad de Internet se puede proceder a desarrollar ventanas aparte solamente con botones específicos, con lo que se alcanza una recarga más rápida y por consiguiente su respectiva acción en el dispositivo electrónico final. Con la configuración NAT no sólo se disminuyen los costos de obtener adicionales IPs públicas, sino que se agrega una protección nueva al servidor Web, puesto que no se encuentra ubicado precisamente en la IP que se muestra en Internet sino redireccionado a esta. El sistema que en este caso ha sido concebido para interactuar con el circuito electrónico de disparo y mando digital del controlador de corriente de un equipo de soldadura por arco eléctrico para electrodos revestidos, es flexible para ser adaptado a cualquier otra clase de dispositivos eléctricos o electrónicos que manejen microcontroladores, lo que resuelve las necesidades de adaptabilidad planteadas al inicio del proyecto. 135 Observaciones y Recomendaciones El sistema presentado no pretende ser una aplicación final, se propone ampliarlo en futuros trabajos de grado para lograr un sistema altamente eficaz en la obtención y manejo de datos en una Web a través de Internet. Aunque las altas velocidades de Internet, se hacen cada vez más accesibles al usuario común, si aplicaciones nuevas que trabajen utilizando el método planteado de transmisión de imágenes vía Web, no requieren alta calidad de visión, se recomienda el estudio y aplicación de algoritmos de programación y matemáticos que permitan la compresión de imágenes para poder utilizar el sistema en una red de cualquier velocidad. Se recomienda, al menos, introducir el tema en clases, debido a la importancia que ha sido tratada durante todo el proyecto, de que en la actualidad existe una gran tendencia del manejo de dispositivos electrónico por Internet que en un futuro cercano permitirá por ejemplo a médicos especializados estar al alcance y de Manera menos costosa al paciente común debido a la habilidad de estos sistemas de acortar distancias y esfuerzos. Desarrollar otros proyectos enfocados al manejo electrónico vía Web a través de Internet pero a manera de sistemas embebidos, permitiendo en este caso prescindir totalmente del PC. Se recomienda trabajar sobre la interfaz de restricciones de acceso de usuario al sitio de monitoreo y mando. 136 Bibliografía [1] http://html.conclase.net/w3c/html401-es/intro/intro.html [2]. http://es.wikipedia.org/wiki/ASP.NET [3] http://support.microsoft.com/?scid=kb;es;302342 [4]http://www.noticias.com/articulo/22-04-2006/guillem-alsina/visual-studio-2005-expressgratis-siempre-556l.html “Proyectos y tutoriales múltiples sobre tecnología .NET” http://www.elguille.info/ “Estándar de comunicaciones RS-232C (O Cómo funciona un puerto serie...)” Disponible en: http://www.euskalnet.net/shizuka/rs232.htm “Interfacing the Serial / RS232 Port” Disponible en: http://www.beyondlogic.org/serial/serial.htm “Curso VWD y ASP.NET 2” Disponible en: www.videotutoriales.com “SQLCommand” Disponible en: http://sqlcommand.sourceforge.net “Curso Desarrollo Web con Visual Studio 2005” Disponible en: http://www.desarrollaconmsdn.com/msdn/Cursos/Curso_Desarrollo_web_con_Visual_Stud io_2005/index.html “Recursos de código abierto para programación con pic” http://www.gnupic.org/ “Portal de discusión sobre los PIC” http://www.embeddedrelated.com/groups/piclist/1.php Antonio Gan Acosta “Metodología para trabajos de grado” marzo de 2006 Vicente Fernández. "Apuntes de la asignatura" . Tomos I y II, servicio de reprografía de la EUITIZ (lista de electrónicos). A. Lloris, A. Prieto. “Diseño lógico”. Ed. Mc Graw–Hill. (1996). Daniel D. Gajski. "Principios de diseño digital". Ed. Prentice–Hall. (1997). 137 M. Morris Mano y Charles R: Kime. "Fundamentos de diseño lógico y computadoras". Ed. Prentice–Hall. (1998). H. Taub. "Circuitos digitales y Microprocesadores". Ed. MacGraw–Hill. (1982). E. Mandado. "Sistemas electrónicos digitales". Ed. Marcombo. (1998). Thomas L. Floyd. "Fundamentos de sistemas digitales". 7ª edición. Ed. Prentice–Hall. (2000). John F. Wakerly. "Diseño digital. Principios y prácticas". 3ª edición. Ed. Prentice–Hall. (2001). J.P. Hayes. "Introducción al diseño lógico digital". Ed. Addison–Wesley. (1996). Ronald J. Tocci. "Sistemas digitales". Ed. Prentice–Hall. (1995) P. de Miguel Anasagasti. "Fundamentos de los computadores". Ed. Paraninfo. (1999). F. Hill & G. Peterson. "Teoría de la conmutación y diseño lógico". Ed. Limusa. (1978). C. Baena, M.J. Bellido, A.J. Molina, P. Parra y M. Valencia. "Problemas de circuitos y sistemas digitales". Ed. MacGraw–Hill. (1997). J. Velasco. J. Otero. "Problemas de sistemas electrónicos digitales". Ed. Paraninfo. (1995). F. Ojeda Cherta. "Problemas de electrónica digital". Ed. Paraninfo. (1994). Mark N. Horenstein. Microelectrónica: Circuitos y Dispositivos. (2ª edición). Prentice Hall. México 1997 J. Millman y A. Grabel. Microelectrónica. (6º ed.). Hispano Europea. 1993 D. L. Schilling y C. Belove. Circuitos Electrónicos. Discretos e integrados. (3º edición) McGraw-Hill A. P. Malvino. Principios de Electrónica. (4º edición). McGraw-Hill Allan R. Hambley. Electrónica (2º edición). Prentice may. 2001 138 Franco, S. “Operational amplifiers and analog integrated circuits.” (20 Edición) Editorial: McGrawHill, 1998. Norbert R. Malik. “Circuitos electrónicos: análisis, simulación y diseño.” Editorial: Prentice Hall, 1996. Daniel W.Hart. "Electrónica de Potencia". Prentice Hall. 2001. Mohan, Undeland, Robbins. "Power Electronics: Converters, Applications and Design". J. Wiley, 1989. Rashid. "Power electronics: Circuits, Devices and Applications". Prentice-Hall, 1993. Gualda, Martínez S., Martínez P.M. "Electrónica industrial: Técnicas de potencia". Marcombo, 1992. Pressman. "Switching power supply design". Mc Graw-Hill, 1991 Fernando Valdés / Ramon Pallàs “Microcontroladores: fundamentos y aplicaciones con pic” Novedad octubre 2006 Editorial: MARCOMBO, S.A. ISBN: 8426714145 Páginas: 350 Edición: 1ª EAN: 9788426714145 Mridula Parihar et al. “ASP.NET Bible” Published by Hungry Minds, Inc. 909 Third Avenue New York, NY 10022 www.hungryminds.com Dobson, Rick “Beginning SQL Server 2005 Express Database Applications with Visual Basic Express and Visual Web Developer Express From Novice to Professional” ISBN (pbk): 1-59059-523-8, Printed and bound in the United States of America 9 8 7 6 5 4 321 Fenyö Alexandre, Le Guern Frédéric, Tardieu Samuel “Conecte su red local a Internet” Ediciones: Gestión 2000, S.A., Barcelona, 1997 Jorge Serrano “Microsoft Visual Basic 2005” Editorial: Anaya Multimedia Edición: Rústica 139 Luis Miguel Blanco “Diseño de Informes con SQL Reporting Services” Editorial: Netalia Ediciones Edición: Rústica Microsoft “Arquitectura de aplicaciones para .NET” Editorial: Microsoft ISBN: 84-481-3981-X Francisco Charte “Visual Studio .NET” Edición: Rústica (320 p.) Editorial: Anaya Multimedia ISBN: 84415-1291-4 Guillermo "Guille" Som “Manual imprescindible de Visual Basic .NET” Edición: Rústica (475 p.) Editorial: Anaya Multimedia ISBN: 8441513945 Stephen Walther “ASP.NET al descubierto” Editorial: Prentice-Hall Edición: Rústica Microsoft “Improving .NET Application Performance and Scalability” Editorial: Microsoft Press Microsoft “Microsoft .NET Framework 1.1 - Library Reference” (10 volúmenes) Editorial: Microsoft Press David Chappell “Understanding .NET: A Tutorial and Analysis” Editorial: Mc-Graw Hill Año:2002 David Stutz, Ted Neward y Geoff Shilling “Shared Source CLI (Essentials)” Ed. O’Reilly ISBN: 0-596-00351-X Mathew MacDonald “Beginning ASP.NET with VB.NET” Editorial: APress Charles Petzold “Code: The Hidden Language of Computer Hardware and Software” Editorial: Microsoft Núm. páginas: 400 140 Análisis bibliográfico http://www.elguille.info/; Se recomienda esta página Web donde se muestran varios tutoriales y proyectos de ejemplo para el desarrollo del código en la plataforma .NET, por ejemplo para el desarrollo de la recepción de datos por el puerto serial mediante el software de escritorio. http://www.euskalnet.net/shizuka/rs232.htm; Se recomienda esta página se muestran fundamentos generales sobre el funcionamiento del puerto serie y la transmisión serial. http://www.beyondlogic.org/serial/serial.htm; Se recomienda esta página donde se describe detalladamente el funcionamiento de la transmisión serial y el chip UART. Mridula Parihar et al. “ASP.NET Bible” Published by Hungry Minds, Inc. 909 Third Avenue New York, NY 10022 www.hungryminds.com; En este libro se pueden recomiendan el estudio de los fundamentos de programación sobre la plataforma .NET: Dobson, Rick “Beginning SQL Server 2005 Express Database Applications with Visual Basic Express and Visual Web Developer Express From Novice to Professional” ISBN (pbk): 1-59059523-8, Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1; Se recomienda este libro que detalla el manejo de SQL Server 2005 utilizando Visual Basic Express 2005 y Visual Web Developer Express 2005. Fenyö Alexandre, Le Guern Frédéric, Tardieu Samuel “Conecte su red local a Internet” Ediciones: Gestión 2000, S.A., Barcelona, 1997; Se recomienda este libro donde se explica las técnicas y protocolos modernos de conexión entre redes y subredes y su unión final a Internet, que influyó en el análisis y la comprensión final del modo de configuración de la etapa del canal de comunicación por Internet. “Curso VWD y ASP.NET 2” Disponible en: www.videotutoriales.com “SQLCommand” Disponible en: http://sqlcommand.sourceforge.net “Curso Desarrollo web con Visual Studio 2005” Disponible en: http://www.desarrollaconmsdn.com/msdn/Cursos/Curso_Desarrollo_web_con_Visual_Stud io_2005/index.html Especial recomendación de los anteriores artículos y videotutoriales se presentan información detallada sobre el modo de programación en VB y VWD así como el manejo mediante estos del servidor de bases de datos SQL Server 2005. 141 H. Taub. "Circuitos digitales y Microprocesadores". Ed. MacGraw–Hill. (1982).; Se recomienda este libro donde se profundizó en la comprensión de los circuitos digitales especialmente los microcontroladores para desarrollar el correcto programa en ensamblador y montaje del circuito electrónico. Fernando Valdés / Ramon Pallàs “Microcontroladores: fundamentos y aplicaciones con pic” Novedad octubre 2006 Editorial: MARCOMBO, S.A. ISBN: 8426714145 Páginas: 350 Edición: 1ª EAN: 9788426714145; Se recomienda este libro donde se muestran aplicaciones del uso de los PIC que fueron factor importante para el avance del algoritmo de programación en ensamblador. Rashid. "Power electronics: Circuits, Devices and Applications". Prentice-Hall, 1993.; Se recomienda este libro que fue utilizado para la correcta comprensión del funcionamiento del manejo de la etapa de potencia para controlar la corriente en el equipo de soldadura por arco eléctrico. McGraw-Hill A. P. Malvino. Principios de Electrónica. (4º edición). McGraw-Hill Allan R. Hambley. Electrónica (2º edición). Prentice may. 2001; Se recomienda este libro donde se resumen los aspectos más importantes sobre electrónica analógica y que en el proyecto utilizamos para reafirmar los temas de la rectificación de onda completa. 142 Glosario de términos no convencionales [E] Electrodo Son varillas metálicas preparadas para servir como polo del circuito; en su extremo se genera el arco. En algunos casos, sirven también como material fundente. La varilla metálica a menudo va recubierta de distintos materiales, en función de la pieza a soldar y del procedimiento empleado. [H] Hipertexto: Representa a cualquier texto que contiene enlaces o vínculos a otras páginas del mismo documento o de otro documento. Host: Representa a cualquier clase de ordenador conectado a la red y que presta servicios a los otros ordenadores de la red, como WWW, News, FTP, etc. HTML (HyperText Mark-up Language): Es el lenguaje utilizado para escribir documentos con hipertexto usados en los servicios World Wide Web. Las páginas escritas en lenguaje HTML deben ser visualizadas usando el software cliente denominado browser o navegador. HTTP (HyperText Transfer Protocol): Es el protocolo utilizado para el intercambio de los archivos de hipertexto (escritos en HTML) a través de Internet, entre un software cliente por una parte y un servidor en el otro, operando ambos bajo este protocolo. Este es el protocolo más importante utilizado en los servicios World Wide Web (WWW). [S] SCRIPT: En la programación de computadoras es un programa o una secuencia de instrucciones que es interpretado y llevado a cabo por otro programa en lugar de ser procesado por el procesador de la computadora. [U] URL (Uniform Resource Locator): Es el modo estándar dado para la dirección de cualquier recurso sobre Internet. Ejemplo de URL es: http://www.google.com [W] WWW: (World Wide Web: red mundial) Conocido simplemente como la Web, es uno de los servicios más populares de Internet. Combina texto con gráficos, imágenes, animaciones e incluso sonido y vídeo, enlazados entre sí de tal manera que facilita la navegación por la información dispersa en todo Internet. Se basa en el protocolo http y fue creado por el Sistema de información global desarrollado en 1990 por Robert Cailliau y Tim Berners-Lee en el CERN (Consejo Europeo para la Investigación Nuclear). 143 Abreviaturas utilizadas AC; corriente alterna A/D; analógico-digital ARGB; alpha red green blue ASP; active server pages; ATM; modo de Transferencia Asíncrono CAD; conversor anológico-digital CDA; conversor digital-analógico CRT; catode ray tube Dll; dynamic link library DMT; discrete multiTone modulación DNS; domain name system DSLAM;multiplexor de acceso DSL DSL; línea de abonado digital Fx; frecuencia de oscilación HTML; HyperText Markup Language Id; Ief; Ip; Ip; Ipic; Ireal; corriente en el led del optoacoplador corriente eficaz Internet protocol corriente pico corriente proporcional a la corriente real. corriente real en que circula por el devanado secundario del equipo de soldadura. LAN; local area network MRF; Modelo de Rentabilidad Financiera N; NAT; número de valores NetWork Address Translation Pef; Pmed; PRI; potencia eficaz potencia media período de retorno de la inversión RD0, RD1; RD2; puertos del PIC16f877 RFC; Request For Comments Roa; resistor a la entrada del led del optoacoplador 4n25 SAR; Registro de Aproximaciones Sucesivas 144 TIR; T; TAD; TRC ; Tasa Interna de Retorno período tiempo que dura la conversión A/D de cada bit Tasa de recuperación contable UART; Universal Asynchronous Receiver/Transmitter USB; universal serial bus VB; Vd; Vef; Vmax; Vmed; Vp; Vpic; VPN; Vref; VWD; Visual Basic voltaje en el led del optoacoplador voltaje eficaz(rms) voltaje máximo voltaje medio Voltaje de pico es el valor rms de voltaje muestreado por el microcontrolador en RL. Valor Presente Neto voltaje de referencia visual web developer X; Xmed; Xrms; valor hipotético valor medio valor rms 145 Símbolos utilizados. Señal sinusoidal de corriente alterna. Bloque de muestreo y retención. Representación ideal mediante un interruptor, de la toma de muestras. Pulso digital de reloj. Registro de aproximaciones sucesivas. Célula ATM Computador Router Multiplexor de Acceso DSL Teléfono Computador 146 Matriz de conmutación telefónica ADSL Terminal Unit-Remote ADSL Terminal Unit-Central Splitter (Filtro) 147 Reseñas biográficas de director, codirector y asesores y jurados M.Sc. ANTONIO GAN ACOSTA, Director PERFIL • Ingeniero Electricista. URSS 1983. • Especialista en Electrificación de la Agricultura. URSS 1983. • Master en Ciencias de Ingeniería. URSS 1983. • Master en Educación Superior. Cuba 1997. EXPERIENCIA PROFESIONAL 1. Categoría docente. -Profesor Instructor (Profesor Auxiliar) en 1987. -Profesor Asistente (Profesor Asistente) en 1994. -Profesor Auxiliar (Profesor Asociado) en 1997. 2. Experiencia docente calificada. -Profesor de la Universidad de Camagüey desde Noviembre de 1987 hasta abril de 1998. -Profesor de la Universidad de Pamplona a partir de mayo de l998. -Durante ocho años fue jefe de Tema de Investigación y del Laboratorio de Mediciones Eléctricas y Electrónicas de la Universidad de Camagüey. 3. Experiencia profesional calificada. -Empresa Cítricos de Sola; Años 1983 al 1985.Cargo: Especialista Principal parte eléctrica y electrónica de los sistemas de bombeo para el riego. -Ministerio de la Industria azucarera. 1985 al 1986.Cargo: Especialista en Diseño, mantenimiento y reparación de los medios y sistemas eléctricos y electrónicos de los complejos agroindustriales (centrales azucareros) del territorio. -Fábrica de concentrados de Camagüey; 1986 al 1987.Cargo: Especialista en Diseño, mantenimiento y reparación de equipos eléctricos y electrónicos. -Empresa de servicios a la población. Año 1987.Cargo: Especialista en reparación de equipos eléctricos y electrónicos. -Universidad de Camagüey Cuba. Años 1987 al 1998.Cargo: Profesor de distintas asignaturas de la carrera de Ingeniería Eléctrica. -Director de la carrera de Ingeniería Eléctrica. Miembro del Consejo Nacional de Ingeniería Eléctrica de la República de Cuba. -Director del laboratorio de Investigación en Mediciones Eléctricas y Electrónica. -Universidad de Pamplona Colombia. Años 1998 al 2006.Cargo: Profesor de distintas asignaturas en el área de la electricidad y la electrónica. -Director del departamento de Ingenierías Eléctrica, Electrónica, Sistemas y Telecomunicaciones, Universidad de Pamplona, Colombia. Cuenta con un amplio historial de publicaciones impresas, investigaciones científicas, tesis de grado tutoriadas, participación en eventos científicos como ponente, participación en eventos científicos como delegado, participación en eventos científicos como jurado. 148 Ing. FABIAN RENÉ SANCHEZ BLANCO, Codirector PERFIL • Ingeniería de sistemas, Universidad Industrial de Santander, Bucaramanga. • Curso intensivo sobre Redes de Computadores y Cableado Estructurado; NFC Electrónica. Bucaramanga, 1999. • Curso de inglés; Instituto Colombo - Americano Santafé de Bogotá, seis niveles. • Participante en el cuarto congreso nacional de estudiantes de Ingeniería de Sistemas (Visión innovadora del Ingeniero de Sistemas). • Participante en la octava semana técnica de Ingeniería de Sistemas, Universidad Industrial de Santander, 1997. • Cuatro Semestres de Ingeniería de Petróleos, Universidad de América, Bogotá 1988-1989. EXPERIENCIA PROFESIONAL 1. En desarrollo de software -Gobernación de Arauca (2003). Diseño, desarrollo e implementación del nuevo Sistema Financiero. -Alcaldía de Arauca (2002). Diseño, desarrollo e implementación del Sistema de Liquidación y Recaudo de los impuestos Predial, Industria y Comercio e impuestos Complementarios -Instituto Técnico SIDES Ltda. Arauca (2002). Diseño, desarrollo e implementación del Sistema “Institutos”. -Club “los Arrieros” Arauca (2002). Diseño, desarrollo e implementación del Sistema “Administrador de Billares”. -Data Office Ltda. Arauca (2000-2001). Diseño, desarrollo e implementación del Sistema Financiero Matrix Millennium . -Alcaldía de Floridablanca Santander (1999-2000). Desarrollo e implementación del Sistema de Liquidación del Impuesto Predial Unificado. -Universidad Industrial de Santander (1999). Diseño y Programación del Sistema de Liquidación de matriculas “LIMA” para las Seccionales de la UIS. -Ingenieros Consultores S.A. Bucaramanga (1997). Diseño y programación del programa de Facturación para Ingenieros Consultores. -ECOPETROL Barrancabermeja (1996). Diseño y programación de software para controlar las Unidades de Radio Transmisión de bombeo, vía Módem. -Proyecto de Grado: Sistema de Información para el control de los Impuestos Predial, Industria y Comercio, e Impuestos Complementarios. 2. Como docente en sistemas -Instituto Superior de Educación Rural Pamplona (2004-2005-2006). -Gobernación de Arauca (2003). Instructor del curso de capacitación en nuevas tecnologías de programación a los funcionarios de sistemas. -Universidad de Santander UDES Arauca (2002). -Instituto Técnico SIDES Ltda. Arauca (2001-2002). -Colegio Coprofesores Bucaramanga (1997). Instructor en la capacitación sobre DOS, Microsoft Windows y Microsoft Word; para los profesores del colegio. 149 Asesores: Ing. OSCAR JOSÉ CABRALES BAENA, en la parte de diseño de circuitos con microcontroladores. PERFIL • Ingeniero en electrónica. Universidad de Pamplona. EXPERIENCIA PROFESIONAL -Profesor de la Universidad de Pamplona -Diseñador y Desarrollador de Aplicaciones digitales basadas en microcontroladores y microprocesadores. -Diseñador de software y sistemas inteligentes personalizados. ELIZABETH PARRA BAUTISTA, en la parte económica. PERFIL: Estudiante de 6to semestre de la Universidad de Pamplona EXPERIENCIA PROFESIONAL: Asesorías múltiples a los autores de proyectos de grado del departamento EEST de la Universidad de Pamplona, Colombia 150 Ph.D ANTONIO FAUSTINO MUÑOZ MONER, Presidente PERFIL • 1987 – 1991 Doctorado en Doctorado En Control y Automatizacion Industrial • 1983 – 1985 Maestria/Magister en Control Electrónica y Automatización Industrial. Universidad de Acero y Aleaciones de Moscu, MIC, Rusia. • 1983 – 1984 Especialización en Especializacion En Automatizacion Industrial. Universidad de Acero y Aleaciones de Moscu, MIC, Rusia. • 1992 – 1993 Especialización en Docencia Universitaria. Profesor Titular. Universidad de la Habana , UH, Cuba. • 1976 – 1983 Pregrado/Universitario en Ingeniero Metalurgico-Automatizacion. Universidad de Acero y Aleaciones de Moscu, MIC, Rusia. EXPERIENCIA PROFESIONAL 1. Consejo Nacional de Acreditación – CNA Vínculo: Par Académico, Encuadramiento funcional: Par Académico, Carga horaria: 24, Régimen: Parcial 2. Universidad Autónoma De Bucaramanga – UAB Vínculo: Empleado, Encuadramiento funcional: Docente-Investigador, Carga horaria: 22, Régimen: Parcial 3. Universidad de la Habana – UH Vínculo: Profesor visitante, Encuadramiento funcional: Profesor titular, Carga horaria: 12, Régimen: Parcial 4. Universidad de Moa – ISMM Vínculo: Empleado, Encuadramiento funcional: Profesor titular, Carga horaria: 24, Régimen: Parcial 5. Universidad De Pamplona - UP Vínculo: Profesor visitante, Encuadramiento funcional: Profesor titular, Carga oraría: 22, Régimen: Parcial 6. Universidad Pedagógica Y Tecnologica De Colombia - Tunja – UPTCT Vínculo: Profesor visitante, Encuadramiento funcional: Profesor titular, Carga horaria: 22, Régimen: Parcial 7. PROYECTOS 2006 Clonación para el desarrollo de equipos e instrumentación moderna de aplicación en sistemas de control avanzado de procesos de la industria química. 2003 – Actual Control mecatrónico de una protesis mioelectrica del miembro inferior. 2002 – Actual Automatización de celda de manufactura de nueva generación en la empresa TRANSEJES Colombia S.A. 2002 – 2006 Diseño, proyección e implementación de algoritmos genéticos y de clonación para el desarrollo de equipos e instrumentación moderna de aplicación en sistemas de control avanzado de procesos de la industria química. Entre otros. 8. También cuenta con la participación en eventos científicos, Artículos publicados en periódicos y Libros publicados. 151 Ph.D. ALDO PARDO GARCÍA, Oponente PERFIL • Doctor en Ciencias Técnicas. Cuba - ExURSS. • Master of Science en Ingeniería. Bielorrusia. • Especialista en Automatización. Bielorrusia. • Ingeniero Eléctrico (perfil electrónico). Bielorrusia. EXPERIENCIA PROFESIONAL 1. Profesor Asociado. 21 años de experiencia como docente en la Educación Superior. 2. Ha participado en 56 eventos científicos, 11 de carácter internacional. Conferencista en universidades de Cuba, Rusia, Bulgaria, Alemania, España, Colombia, Venezuela y México. 3. Tiene 55 publicaciones científicas, de ellas 8 libros. Ha recibido 37 cursos de posgrados en las áreas de control y telecomunicaciones, ha impartido 10 cursos de posgrados. 4. Ha dirigido más de 20 trabajos de diploma, más de 100 trabajos de curso, 9 trabajos de tesis de maestría y 1 doctorado. Todos estos trabajos antes mencionados han estado relacionados con las estrategias de control y las técnicas de computación en la simulación y el control digital - analógico. 5. En pregrado ha impartido las asignaturas de Electrónica Industrial, Control Automático, Cibernética técnica, Accionamientos Eléctricos Automatizados, Controles Analógicos, Controles Digitales y Telecomunicaciones. 6. Responsabilidades que ha ocupado: En Cuba: Jefe de Disciplina Accionamiento Eléctrico. Jefe de Departamento de Controles Automáticos. Jefe de Grupo Científico Automatización. Vice decano de Investigaciones. Presidente de la Maestría Ingeniería Eléctrica. Miembro de Consejo Científico de la Facultad de Electromecánica y de la Universidad de Camagüey. Miembro de Comisión Evaluadora de postgrado en el ámbito nacional. En Colombia: Miembro del Comité Técnico Asesor de la Universidad de Pamplona. Director del Departamento de Mecatrónica. Director del Grupo de Investigación Automatización y Control. Director del Instituto de Investigación y Desarrollo de Tecnologías de Aplicadas. Miembro del Consejo Nacional de Acreditación - Par Académico a nivel nacional. 152 Ph.D DIEGO FERNEY GÓMEZ CAJAS, Secretario PERFIL • • 1999, Pregrado, Universidad del Cauca – Colombia; Ingeniero en Electrónica y Telecomunicaciones. 2001- 2004, Doctorado: Universidad Carlos III de Madrid – España; Doctorado en Tecnologías de las Comunicaciones. EXPERIENCIA PROFESIONAL 1. Universidad de Pamplona - Colombia Marzo 2000 – Hasta la fecha Docente ocasional de tiempo completo 2. Caucatel SA ESP - Colombia Junio 1997 – Octubre de 1997 Asesor Comercial 3. Investigación Trabajos realizados en los siguientes campos: desarrollo de una interfaz de comunicación multimedia basada en Internet, transmisión de voz sobre redes de paquetes, reconocimiento de habla sobre IP, asistencia en proyectos sobre redes inalámbricas y aplicaciones para telefonía móvil con WAP. 4. Proyectos Diseño de un Software para Comunicación Interactiva de Voz Utilizando Dispositivos de Red y Multimedia del Computador, Universidad de Pamplona – Colombia. Diseño del Prototipo de una Herramienta de Servicios de Comunicaciones, Universidad de Pamplona – Colombia. 5. Publicaciones Gómez Cajas, D.; Peláez Moreno, C.; Diaz de María, F.; “Reconocimiento Robusto de Habla en Redes IP”. XIII JORNADAS TELECOM I+D 2003, Madrid – España, 2003. Publicaciones internacionales: Gómez Cajas, D.; Peláez Moreno, C.; Diaz de María, F.; “Reconocimiento robusto de habla en entornos IP”. II Seminario Internacional en Tecnologías de Internet – SITI 2003. Universidad del Cauca, Popayán – Colombia, 2003. 6. Formación complementaria Ponente de Curso básico de HTML y Servicios de Internet. Universidad de Pamplona. Asistente del Seminario Realidad Virtual. Universidad del Cauca. Asistente en la VI semana técnica “Redes Globales de Comunicaciones”. Corporación Universitaria CENTROSISTEMAS. Asistente en el curso de formación profesional de FESTO DIDACTIC, “Tecnologías de Avanzada en las Telecomunicaciones. Universidad de Pamplona. Ponente de “Reconocimiento Robusto de Habla en Redes IP”. XIII JORNADAS TELECOM I+D 2003, Madrid – España, 2003. Ponente de “Reconocimiento robusto de habla en entornos IP”. II Seminario Internacional en Tecnologías de Internet – SITI 2003. Universidad del Cauca, Popayán – Colombia, 2003. 153 Anexos Anexo No. 1 The UART (8250 and Compatibles) UART stands for Universal Asynchronous Receiver / Transmitter. It’s the little box of tricks found on your serial card which plays the little games with your modem or other connected devices. Most cards will have the UART’s integrated into other chips which may also control your parallel port, games port, floppy or hard disk drives and are typically surface mount devices. The 8250 series, which includes the 16450, 16550, 16650, & 16750 UARTS are the most commonly found type in your PC. Later we will look at other types which can be used in your homemade devices and projects. The 16550 is chip compatible with the 8250 & 16450. The only two differences are pins 24 & 29. On the 8250 Pin 24 was chip select out which functioned only as a indicator to if the chip was active or not. Pin 29 was not connected on the 8250/16450 UARTs. The 16550 introduced two new pins in their place. These are Transmit Ready and Receive Ready which can be implemented with DMA (Direct Memory Access). These Pins have two 154 different modes of operation. Mode 0 supports single transfer DMA where as Mode 1 supports Multi-transfer DMA. Mode 0 is also called the 16450 mode. This mode is selected when the FIFO buffers are disabled via Bit 0 of the FIFO Control Register or When the FIFO buffers are enabled but DMA Mode Select = 0. (Bit 3 of FCR) In this mode RXRDY is active low when at least one character (Byte) is present in the Receiver Buffer. RXRDY will go inactive high when no more characters are left in the Receiver Buffer. TXRDY will be active low when there are no characters in the Transmit Buffer. It will go inactive high after the first character / byte is loaded into the Transmit Buffer. Mode 1 is when the FIFO buffers are active and the DMA Mode Select = 1. In Mode 1, RXRDY will go active low when the trigger level is reached or when 16550 Time Out occurs and will return to inactive state when no more characters are left in the FIFO. TXRDY will be active when no characters are present in the Transmit Buffer and will go inactive when the FIFO Transmit Buffer is completely Full. All the UARTs pins are TTL compatible. That includes TD, RD, RI, DCD, DSR, CTS, DTR and RTS which all interface into your serial plug, typically a D-type connector. Therefore RS232 Level Converters (which we talk about in detail later) are used. These are commonly the DS1489 Receiver and the DS1488 as the PC has +12 and -12 volt rails which can be used by these devices. The RS232 Converters will convert the TTL signal into RS232 Logic Levels. The UART requires a Clock to run. If you look at your serial card a common crystal found is either a 1.8432 MHZ or a 18.432 MHZ Crystal. The crystal in connected to the XINXOUT pins of the UART using a few extra components which help the crystal to start oscillating. This clock will be used for the Programmable Baud Rate Generator which directly interfaces into the transmit timing circuits but not directly into the receiver timing circuits. For this an external connection mast be made from pin 15 (BaudOut) to pin 9 (Receiver clock in.) Note that the clock signal will be at Baudrate * 16. 155 Anexo No. 2 Funciones de los pines del puerto serial (Inglés) 156 Anexo No. 3 PIC16f877 ADCON0 REGISTER bit 7-6 ADCS1:ADCS0: A/D Conversion Clock Select bits 00 = FOSC/2 01 = FOSC/8 10 = FOSC/32 11 = FRC (clock derived from the internal A/D module RC oscillator) bit 5-3 CHS2:CHS0: Analog Channel Select bits 000 = channel 0, (RA0/AN0) 001 = channel 1, (RA1/AN1) 010 = channel 2, (RA2/AN2) 011 = channel 3, (RA3/AN3) 100 = channel 4, (RA5/AN4) 101 = channel 5, (RE0/AN5)(1) 110 = channel 6, (RE1/AN6)(1) 111 = channel 7, (RE2/AN7)(1) bit 2 GO/DONE: A/D Conversion Status bit If ADON = 1: 1 = A/D conversion in progress (setting this bit starts the A/D conversion) 0 = A/D conversion not in progress (this bit is automatically cleared by hardware when the A/D conversion is complete) bit 1 Unimplemented: Read as '0' bit 0 ADON: A/D On bit 1 = A/D converter module is operating 0 = A/D converter module is shut-off and consumes no operating current 157 Anexo No. 4 PIC16f877 ADCON1 REGISTER bit 7 ADFM: A/D Result Format Select bit 1 = Right justified. 6 Most Significant bits of ADRESH are read as ‘0’. 0 = Left justified. 6 Least Significant bits of ADRESL are read as ‘0’. bit 6-4 Unimplemented: Read as '0' bit 3-0 PCFG3:PCFG0: A/D Port Configuration Control bits: 158 Anexo No. 5 Estudio del proceso de soldadura La soldadura la podemos definir como un procedimiento o proceso mediante el cual dos o más piezas de metal se unen por aplicación de calor, presión, o una combinación de ambos, con o sin al aporte de otro metal, sustancia o material ajeno a las piezas o de su misma naturaleza, llamado metal de aportación, cuya temperatura de fusión es inferior a la de las piezas que han de soldarse. Tipos de soldaduras Los tipos de soldadura más adecuados para unir dos piezas de metal dependen de las propiedades físicas de los metales, de la utilización a la que está destinada la pieza y de las instalaciones disponibles. Existen diversos procesos de soldadura, los que difieren en el modo en que se aplica la energía para la unión. Así hay métodos en los que se calientan las piezas de metal hasta que se funden y se unen entre sí o que se calientan a una temperatura inferior a su punto de fusión y se unen o ligan con un metal fundido como relleno. Otro método es calentarlas hasta que se ablanden lo suficiente para poder unirlas por martilleo; algunos procesos requieren sólo presión para la unión, otros requieren de un metal de aporte y energía térmica que derrita a dicho metal; etcétera. La tecnología y la ciencia de la soldadura han avanzado con tal rapidez en los últimos años, que sería casi imposible enumerar y señalar todos los métodos de soldadura que actualmente están en uso. En forma general podemos decir que los métodos o procesos de soldadura más utilizados son los siguientes: • • • • • • • • • Soldadura blanda. Soldadura fuerte Soldadura por forja Soldadura con gas Soldadura con resistencia Soldadura por inducción Soldadura aluminotérmica Soldadura por vaciado Soldadura por arco eléctrico Según esto podemos decir que todos y cada uno de los diferentes procesos o métodos de soldadura tiene sus características de ingeniería particulares y sus costos específicos. 159 Tipos y procesos de soldadura Soldadura blanda Es la unión de dos piezas de metal por medio de otro metal llamado de aporte, éste se aplica entre ellas en estado líquido. La temperatura de fusión de estos metales no es superior a los 430 ºC. En este proceso se produce una aleación entre los metales y con ello se logra una adherencia que genera la unión. En los metales de aporte por lo general se utilizan aleaciones de plomo y estaño los que funden entre los 180 y 370 ºC. Este tipo de soldadura es utilizado para la unión de piezas que no estarán sometidas a grandes cargas o fuerzas. Una de sus principales aplicaciones es la unión de elementos a circuitos eléctricos. Soldadura fuerte En esta soldadura se aplica también metal de aporte en estado líquido, pero este metal, por lo general no ferroso, tiene su punto de fusión superior a los 430 ºC y menor que la temperatura de fusión del metal base. Habitualmente se requiere de fundentes especiales para remover los óxidos de las superficies a unir y aumentar la fluidez del metal de aporte. Algunos de los metales de aporte son aleaciones de cobre, aluminio o plata. La soldadura fuerte se puede clasificar por la forma en la que se aplica el metal de aporte. A continuación se describen algunos de estos métodos: • • • • Inmersión: El metal de aporte previamente fundido se introduce entre las dos piezas que se van a unir, cuando este se solidifica, las piezas quedan unidas. Horno: El metal de aporte en estado sólido, se pone entre las piezas a unir, estas son calentadas en un horno de gas o eléctrico, para que con la temperatura se derrita al metal de aporte y se genere la unión al enfriarse. Soplete: El calor se aplica con un soplete de manera local en las partes del metal a unir, el metal de aporte en forma de alambre se derrite en la junta. El soplete puede funcionar por medio de oxiacetileno o hidrógeno y oxígeno. Electricidad: La temperatura de las partes a unir y del metal de aporte se puede lograr por medio de resistencia a la corriente, por inducción o por arco, en los tres métodos el calentamiento se da por el paso de la corriente entre las piezas metálicas a unir. Soldadura por forja. Es el proceso de soldadura más antiguo. El mismo consiste en el calentamiento de las piezas a unir en una fragua hasta su estado plástico y posteriormente por medio de presión o martilleo (forjado) se logra la unión de las piezas. En este procedimiento no se utiliza metal de aporte y la limitación del proceso es que sólo se puede aplicar en piezas pequeñas y en forma de lámina. La unión se hace del centro de las piezas hacia afuera y debe evitarse a 160 toda costa la oxidación, para esto se utilizan aceites gruesos con un fundente, por lo general se utiliza bórax combinado con sal de amonio. La clasificación de los procesos de soldadura mencionados hasta aquí es la más sencilla y general. A continuación se hace una descripción de los procesos de soldadura más utilizados en los procesos industriales modernos. Soldadura con gas Este proceso incluye a todas las soldaduras que emplean gas para generar la energía necesaria para fundir el material de aporte. Los combustibles más utilizados son el acetileno y el hidrógeno los que al combinarse con el oxígeno, como comburente generan las soldaduras oxiacetilénica y oxhídrica. La soldadura oxhídrica es producto de la combinación del oxígeno y el hidrógeno en un soplete. El hidrógeno se obtiene de la electrólisis del agua y la temperatura que se genera en este proceso es entre 1500 y 2000 °C. La soldadura oxiacetilénica o autógena se logra al combinar al acetileno y al oxígeno en un soplete. Se conoce como autógena porque con la combinación del combustible y el comburente se tiene autonomía para ser manejada en diferentes medios. El acetileno se produce al dejar caer terrones de carburo de calcio en agua, en donde el precipitado es cal apagada y los gases acetileno. Uno de los mayores problemas del acetileno es que no se puede almacenar a presión por lo que este gas se puede obtener por medio de generadores de acetileno o bien en cilindros los que para soportar un poco la presión de 1,7 MPa, se les agrega acetona. En los sopletes de la soldadura autógena se pueden obtener tres tipos de llama las que son reductora, neutral y oxidante. De las tres la neutral es la de mayor aplicación. Esta llama, está balanceada en la cantidad de acetileno y oxígeno que utiliza. La temperatura en su cono luminoso es de 3500 °C, en el cono envolvente alcanza 2100 °C y en la punta extrema llega a 1275 °C. En la llama reductora o carburizante hay exceso de acetileno lo que genera que entre el cono luminoso y el envolvente exista un cono color blanco cuya longitud esta definida por el exceso de acetileno. Esta llama se utiliza para la soldadura de níquel, ciertas aleaciones de acero y muchos de los materiales no ferrosos. La llama oxidante tiene la misma apariencia que la neutral excepto que el cono luminoso es más corto y el cono envolvente tiene más color, Esta llama se utiliza para la soldadura por fusión del latón y bronce. Una de las derivaciones de este tipo de llama es la que se utiliza en los sopletes de corte en los que la oxidación súbita genera el corte de los metales. En los sopletes de corte se tiene una serie de llamas pequeñas alrededor de un orificio central, por el que sale un flujo considerable de oxígeno puro que es el que corta el metal. 161 En algunas ocasiones en la soldadura autógena se utiliza aire como comburente, lo que produce que la temperatura de esta llama sea menor en un 20% que la que usa oxígeno, por lo que su uso es limitado a la unión sólo de algunos metales como el plomo. En los procesos de soldadura con gas se pueden incluir aquellos en los que se calientan las piezas a unir y posteriormente, sin metal de aporte, se presionan con la suficiente fuerza para que se genere la unión. Soldadura por inducción Esta soldadura se produce aprovechando el calor generado por el flujo de la corriente eléctrica inducida en la resistencia de unión entre las piezas. Dicha corriente inducida es generada por una bobina que rodea a los metales a unir, y debido a que en la unión de los metales se da más resistencia al paso de la corriente inducida, en esa parte es en la que se genera el calor, lo que con presión provoca la unión de las dos piezas. La soldadura por inducción de alta frecuencia utiliza corrientes alternas con el rango de 200 a 500 kHz de frecuencia, mientras que los sistemas de soldadura por inducción normales sólo utilizan frecuencias entre los 400 y 450 Hz. Soldadura por resistencia El principio del funcionamiento de este proceso consiste en hacer pasar una corriente eléctrica de gran intensidad a través de los metales que se van a unir. Como en la unión de los mismos la resistencia es mayor que en el resto de sus cuerpos, se generará el aumento de temperatura en la juntura (efecto Joule). Aprovechando esta energía y con un poco de presión se logra la unión. La alimentación eléctrica pasa por un transformador en el que se reduce la tensión y se eleva considerablemente la intensidad para aumentar la temperatura. La soldadura por resistencia es aplicable a casi todos los metales, excepto el estaño, zinc y plomo. En los procesos de soldadura por resistencia se incluyen los de: • • • • Soldadura por puntos. Soldadura por resaltes. Soldadura por costura. Soldadura a tope. En la soldadura por puntos la corriente eléctrica pasa por dos electrodos con punta, debido a la resistencia del material a unir se logra el calentamiento y con la aplicación de presión sobre las piezas se genera un punto de soldadura. Las máquinas soldadoras de puntos pueden ser fijas o móviles o bien estar acopladas a un robot o brazo mecánico. La soldadura por resaltes es un proceso similar al de puntos, sólo que en esta se producen varios puntos o protuberancias a la vez en cada ocasión que se genera el proceso. Los 162 puntos están determinados por la posición de un conjunto de puntas que hacen contacto al mismo tiempo. Este tipo de soldadura se puede observar en la fabricación de mallas. La soldadura por costura consiste en el enlace continuo de dos piezas de lámina traslapadas. La unión se produce por el calentamiento obtenido por la resistencia al paso de la corriente y la presión constante que se ejerce por dos electrodos circulares. Este proceso de soldadura es continuo. La soldadura a tope consiste en la unión de dos piezas que se colocan extremo con extremo con la misma sección, éstas se presionan cuando está pasando por ellas la corriente eléctrica, con lo que se genera calor en la superficie de contacto. Con la temperatura generada y la presión entre las dos piezas se logra la unión. Soldadura aluminotérmica El calor necesario para este tipo de soldadura se obtiene de la reacción química de una mezcla de óxido de hierro con partículas de aluminio muy finas. El metal líquido resultante constituye el metal de aporte. Se emplea para soldar roturas y cortes en piezas pesadas de hierro y acero, y es el método utilizado para soldar los rieles de los trenes. Soldadura por vaciado Con algunos materiales la unión no se puede hacer por los procedimientos antes descritos debido a que no fácilmente aceptan los metales de aporte como sus aleaciones. Para lograr la soldadura de estos metales en algunas ocasiones es necesario fundir el mismo metal que se va a unir y vaciarlo entre las partes a unir, dejándolo enfriar con lentitud, para que se adapte a la forma del molde. Con ello cuando solidifica, las piezas quedan unidas. A este procedimiento se lo conoce como fundición por vaciado (colado) y se utiliza a veces para reparar piezas fundidas que tienen grietas o defectos. Soldadura por arco con hidrógeno atómico Es un sistema de arco eléctrico en el que se agrega hidrógeno. Así se liberará calor con mayor intensidad que en un arco común. La temperatura que se alcanza en este tipo de arco es superior a los 6000 °C. Soldadura por arco con gas protector En este proceso la unión se logra por el calor generado por un arco eléctrico que se genera entre un electrodo y las piezas, pero el electrodo se encuentra protegido por una copa por la que se inyecta un gas inerte como argón, helio o CO2. Con lo anterior se genera un arco protegido contra la oxidación y además perfectamente 163 controlado en cuanto a penetración, sobre el espesor y ancho de la soldadura. Es ampliamente utilizado para soldar acero inoxidable, aluminio, cobre y magnesio. Existen dos tipos de soldadura por arco protegido: la TIG y la MIG. La soldadura TIG (tungstein inert gas) es aquella en la que el electrodo de la máquina es de un material refractario como el tungsteno, por lo que el metal de aporte se debe añadir por separado. La soldadura MIG (metal inert gas) es la que el electrodo es de un metal consumible que va siendo utilizado como metal de aporte, por lo que este sistema es considerado como de soldadura continua. Un método derivado es el MAG (metal active gas) en el cual se usa como protector el anhídrido carbónico, que oxida algunos elementos aleantes como el Si o el Mn. usual es la de 356mm (14") existiendo además electrodos de 229 mm (9") y de 457mm (10"). Soldadura por arco eléctrico Definición La soldadura por arco eléctrico es un proceso, en el que la energía obtiene por medio del calor que produce un arco eléctrico funde un material de aporte, llamado electrodo, que se deposita entre las dos piezas fijando su unión. La fusión del metal se produce como consecuencia del calor generado por un arco voltaico o eléctrico que se hace saltar entre el electrodo y el metal base, pudiéndose alcanzar temperaturas elevadas que superan los 4.000 a 4.500 ºC, permitiendo así su ensamblado mediante un metal de aportación de la misma naturaleza. Generalidades La electricidad a partir del magnetismo y magnetismo a partir de la electricidad es el principio con el cual funcionan las máquinas eléctricas. Estos experimentos, junto con el perfeccionamiento de los electrodos, llevaron a la introducción de los muchos procesos para soldadura con arco que conocemos en la actualidad. La máquina soldadora principia con el motivo de que nuestros antepasados fueron evolucionando la forma de perfeccionar sus herramientas y armas, empezando con el calentamiento de ambas piezas, para facilitar el trabajo de transformación y con el calentamiento y mezclas de materiales, haciéndolo más resistentes al ejercer presión alguna de fuerza de ellos. 164 Inicialmente lo que hoy es una máquina de soldar fue o trabajó con corriente directa, que esta complementada con acumuladores y electrodos de carbón, haciendo su trabajo con arco eléctrico calentando o fundiendo los metales y el electrodo. La idea principal de la soldadura por arco eléctrico fue propuesta a principios del siglo XIX por el científico inglés Humphrey Davy pero ya en 1885 dos investigadores rusos consiguieron soldar con electrodos de carbono. Fue mucho el tiempo que se usaron los métodos primitivos de aleación y forja (en 1890 y 1900). En los años 1900 la electricidad fue utilizada por primera vez por arco eléctrico para cubrir grietas y rellenar agujeros. Años más tarde fue patentado un proceso de soldadura con varilla metálica. Sin embargo, este procedimiento no tomó importancia en el ámbito industrial hasta que el sueco Oskar Kjellberg descubrió, en 1904, el electrodo recubierto. Su uso masivo comenzó alrededor de los años cincuenta (50's). De 1990 a 1950 se revistieron los electrodos de carbón fue cuando se había aceptado en el ramo industrial aliado con corriente alterna siendo para el ramo industrial muy productivo La soldadura está relacionada con casi todas las actividades industriales, además de ser una importante industria en sí misma. Gracias al desarrollo de nuevas técnicas durante la primera mitad del siglo XX, la soldadura sustituyó al atornillado y al remachado en la construcción de muchas estructuras, como puentes, edificios y barcos. Es una técnica fundamental en la industria automotriz, en la aerospacial, en la fabricación de maquinaria y en la de cualquier tipo de producto hecho con metales. Principio básico de la soldadura por arco Para describir el principio de la soldadura por arco eléctrico podemos decir que al acercar el electrodo a la pieza que se va a soldar, se induce una diferencia de potencial entre el electrodo y la pieza a soldar, con lo cual se ioniza el aire entre ellos y pasa a ser conductor, de modo que se cierra el circuito produciéndose así un cortocircuito y se crea de esta manera el arco eléctrico, que desprende una intensa luz y un calor muy fuerte. El calor del arco provocará la fusión (Fundir) parcial del material de base así como la del material de aporte del electrodo, el cual se deposita y crea el cordón de soldadura. 165 Fig. Descripción del principio básico de la soldadura. Proceso químico de la soldadura por arco Para este caso vamos a resaltar el proceso que sucede cuando se está realizando la soldadura o se esta soldando una pieza o material cualesquiera. Partiendo del principio de la soldadura por arco eléctrico podemos describir las siguientes partes que influyen o intervienen de manera directa o indirecta en el proceso real de la soldadura por arco eléctrico. Este proceso lo podemos observar claramente en la Fig. Fig. Proceso en blanco y negro de la soldadura por arco eléctrico. De los cuales vamos a definir y describir los momentos más importantes: 166 Electrodo Son varillas metálicas preparadas para servir como polo del circuito; en su extremo se genera el arco. En algunos casos, sirven también como material fundente. La varilla metálica a menudo va recubierta de distintos materiales, en función de la pieza a soldar y del procedimiento empleado. Núcleo de alambre central del electrodo El alambre del núcleo de un electrodo, en casi todos los casos, se hace con el mismo metal que el de las piezas que se van a soldar. Por ejemplo, el acero dulce se soldaría con un electrodo con el alambre del núcleo hecho con acero dulce. El alambre seria de aluminio para soldar un metal base de aluminio; para el cobre, se emplearía alambre de núcleo de cobre, etc. La combinación de los elementos utilizados para el recubrimiento produce las características especiales de cada tipo de electrodo. La finalidad del alambre del núcleo es conducir la energía eléctrica al arco y suministrar el metal de relleno o aporte adecuado. Recubrimiento del electrodo o capa fuerte El recubrimiento tiene muchas funciones. Si no lo hubiera, el metal fundido se combinaría con el oxígeno y el nitrógeno del aire. Por tanto, es necesario proteger tanto el metal de aporte del electrodo como el metal base fundido que se suelda; éste es la mezcla del metal base fundido y el metal fundido del electrodo que, cuando se solidifica forma la soldadura en sí. El arco se puede proteger con una envoltura de un gas inerte, el cual no producirá una reacción química con el metal fundido. El recubrimiento de los electrodos suministra el gas protector. Este es el proceso de soldadura con metal y arco protegido (SMAW). Algunos de los elementos utilizados en los recubrimientos son magnesio, silicatos de aluminio y talco, todos ellos son formadores de escoria. Los fluoruros de calcio, carbonatos de calcio, ferromanganeso, ferrosilicio y ferrotitanio son agentes fundentes. El silicato de sodio se utiliza como agente aglutinante. La celulosa, que forma un gas, protege la zona de la soldadura. Funciones de los recubrimientos: Las principales funciones de los recubrimientos de los electrodos son: • • • Reducir al mínimo la contaminación de¡ metal de soldadura con el oxígeno y el nitrógeno atmosféricos; Compensar las pérdidas de ciertos elementos durante la transferencia del metal a través del arco, porque el recubrimiento incluye aleaciones; Concentrar el arco en una zona específica porque forma una taza o copa en la punta del electrodo, que se debe a la fusión más lenta del recubrimiento. 167 Soldadura por arco con electrodo revestido Es el proceso en el que su energía se obtiene por medio del calor producido por un arco eléctrico que se forma en el espacio o entrehierro comprendido entre la pieza a soldar y y una varilla que sirve como electrodo. Por lo general el electrodo también provee el material de aporte, el que con el arco eléctrico se funde, depositándose entre las piezas a unir. La temperatura que se genera en este proceso es superior a los 5500 °C. La corriente que se emplea en este sistema puede ser continua o alterna, utilizándose en los mejores trabajos la del tipo continua, debido a que la energía es más constante, con lo que se puede generar un arco más estable. La corriente alterna permite efectuar operaciones de soldadura con el objeto de trabajo en posición horizontal y preferentemente en materiales ferrosos, mientras que la corriente contínua no presenta esas limitaciones de posición y material. El arco se enciende cortocircuitando el electrodo con la pieza a soldar. En esa situación, en el punto de contacto el calentamiento óhmico es tan intenso que se empieza a fundir el extremo del electrodo, se produce ionización térmica y se establece el arco. Para la generación del arco existen los siguientes tipos de electrodos: Electrodo de carbón: En la actualidad son poco utilizados, el electrodo se utiliza sólo como conductor para generar calor, el metal de aporte se agrega por separado. Electrodo metálico: El propio electrodo sirve de metal de aporte al derretirse sobre los materiales a unir. Electrodo recubierto: Los electrodos metálicos con recubrimientos que mejoran las características de la soldadura son los más utilizados en la actualidad. Las funciones de los recubrimientos son las siguientes: • • • • • • • • • • Proveen una atmósfera protectora. Proporcionan escoria de características adecuadas para proteger al metal fundido. Estabilizan el arco. Añaden elementos de aleación al metal de la soldadura. Desarrollan operaciones de enfriamiento metalúrgico. Reducen las salpicaduras del metal. Aumentan la eficiencia de deposición. Eliminan impurezas y óxidos. Influyen en la profundidad del arco. Disminuyen la velocidad de enfriamiento de la soldadura. Algunos electrodos se pueden usar ya sea con corriente alterna o con corriente continua. Se han desarrollado ciertos revestimientos con el propósito de incrementar la cantidad de metal 168 de aporte que se deposita por unidad de tiempo. Otros revestimientos contienen aditivos que aumentan la resistencia y mejoran la calidad de la soldadura. A pesar de que la mayoría de los revestimientos facilitan mucho el trabajo con los electrodos, otros requieren mayor habilidad del soldador. Las composiciones de los recubrimientos de los electrodos pueden ser orgánicas o inorgánicas, y estas substancias se pueden subdividir en las que forman escoria y las que son fundentes. Algunos de los principales compuestos son: • • • • • Para la formación de escoria se utilizan SiO2, MnO2 y FeO. Para mejorar el arco se utilizan Na2O, CaO, MgO y TiO2. Desoxidantes: grafito, aluminio, aserrín. Para mejorar el enlace: silicato de sodio, silicato de potasio y asbestos. Para mejorar la aleación y la resistencia de la soldadura: vanadio, cesio, cobalto, molibdeno, aluminio, circonio, cromo, níquel, manganeso y tungsteno. El núcleo del electrodo está constituido por una varilla o alambre metálico que conduce la corriente eléctrica y permite establecer el arco eléctrico. El intenso calor del arco hace que progresivamente se funda la punta del alambre y que se deposite en el cordón de soldadura en forma de pequeñas gotas, proporcionando así el material de aporte. El metal del núcleo depende del tipo de metal base que se requiere soldar. Si es acero generalmente se usará acero y si es aluminio el núcleo será de aluminio. El diámetro del electrodo se mide en el núcleo y determina la intensidad de corriente promedio que debe utilizarse. Por ejemplo, para un diámetro de 4 mm puede emplearse una corriente de unos 150 a 200 A. En cuanto a la longitud de los electrodos la medida más Plasma o metal de soldadura fundido Está compuesto por electrones que transportan la corriente y que van del polo negativo al positivo, de iones metálicos que van del polo positivo al negativo, de átomos gaseosos que se van ionizando y estabilizándose conforme pierden o ganan electrones, y de productos de la fusión tales como vapores que ayudarán a la formación de una atmósfera protectora. Esta zona alcanza la mayor temperatura del proceso. Llama o arco eléctrico Es la zona que envuelve al plasma y presenta menor temperatura que éste, formada por átomos que se disocian y recombinan desprendiendo calor por la combustión del revestimiento del electrodo. Otorga al arco eléctrico su forma cónica. 169 Baño de fusión: La acción calorífica del arco provoca la fusión del material, donde parte de éste se mezcla con el material de aportación del electrodo, provocando la soldadura de las piezas una vez solidificado. Cráter Surco producido por el calentamiento del metal. Su forma y profundidad vendrán dadas por el poder de penetración del electrodo. Cordón de soldadura Está constituido por el metal base y el material de aportación del electrodo y se pueden diferenciar dos partes: la escoria, compuesta por impurezas que son segregadas durante la solidificación y que posteriormente son eliminadas, y el sobre espesor, formado por la parte útil del material de aportación y parte del metal base, que es lo que compone la soldadura en sí. Escoria solidificada El recubrimiento también forma escoria en la parte superior del metal fundido que se suelda, la cual protege al metal fundido durante el enfriamiento y también ayuda a configurar la soldadura. Se elimina después de que se ha enfriado la soldadura. La escoria, además de formar una capa protectora sobre la soldadura, también debe poseer las siguientes características: a. Tener un punto de fusión más bajo que el del metal que se suelda. De lo contrario, hay el peligro de que la escoria se solidifique antes que el metal de aporte depositado. b. Tener una densidad, en su estado fundido, que sea menor que la del metal de soldadura, para que pueda flotar en la superficie. c. Debe tener suficiente viscosidad para que no fluya sobre una superficie muy grande. Sirve para evitar la contaminación del metal de la soldadura con el aire atmosférico. d. no debe contener elementos que produzcan reacciones indeseables con el metal de soldadura. e. Se dilatará, pero en forma distinta a la del metal de soldadura, para que se pueda desprender de éste cuando esté frío. f. Tener una tensión de superficie que impida la formación de glóbulos grandes. Electricidad en los equipos de soldadura por arco eléctrico En la soldadura, la relación entre el voltaje (presión) y el amperaje (cantidad de corriente) es de máxima importancia. 170 Para una soldadura efectiva por arco, podemos decir que se requiere una corriente constante. La máquina o equipo de soldadura deberá tener una curva descendiente de voltamperios, en la que se produce una cantidad relativamente constante de corriente con solamente un cambio limitado en la carga de voltaje. Fig. Curva de voltamperios. En otros aparatos eléctricos la demanda por corriente generalmente queda algo constante, pero en la soldadura por arco la potencia fluctúa mucho. Por lo tanto, cuando se establece el arco con el electrodo, el resultado es un cortocircuito lo que inmediatamente induce un oleaje repentino de corriente eléctrica, a menos que la máquina o el equipo esté diseñado para evitar esto. Igualmente, cuando los glóbulos de metal por soldar se lleven a través del flujo de arco, éstos también crean un cortocircuito. Una fuente de corriente constante está diseñada para reducir estos oleajes repentinos de cortocircuitos y así evitar salpicadura excesiva durante la soldadura. En la soldadura por arco eléctrico se deben tener en cuenta dos voltajes principales: • • Voltaje en circuito abierto (VCA). Voltaje de arco (VA). Voltaje en circuito abierto (VCA) El voltaje de circuito abierto (VAC) o tensión de cebado es el voltaje que existe entre los terminales de la máquina cuando está operando pero no se está soldando. Este voltaje de circuito abierto puede variar de 40V a 110V y es mucho más alto que el voltaje de arco. Voltaje de arco (VA). El voltaje de arco (VA) o tensión de soldeo es el voltaje después de establecer el arco, es decir, el voltaje que existe entre el electrodo y el metal base durante la soldadura. Este voltaje de arco puede variar de 15V a 35V. 171 Durante el proceso de soldadura, el voltaje de arco también cambiará con las diferencias en la longitud del arco. Cuando se forma el arco y se inicia la soldadura, el VCA se reduce hasta el valor del VA, o sea de 110 V a 35 V. Al mismo tiempo, aumenta el voltaje de arco. Después, conforme se alarga el arco, el VA sube todavía más y se reduce el amperaje. Cuando se acorta el arco, se reduce el VA y aumenta el amperaje. Fig. Relación de voltajes (Pendiente Negativa). Todos los equipos para soldadura manual tienen una característica tensión-corriente con una gran pendiente negativa, de manera que al cambiar la tensión de arco "VA" por efecto de las variaciones en la longitud del mismo (debidas a las imperfecciones del trabajo manual y a las irregularidades del arco), no se modifique apreciablemente la corriente de soldadura "VCA" (característica de corriente constante) para no alterar la deposición del material del electrodo. Debido a que es difícil mantener una longitud uniforme del arco a todo momento, aún para un soldador experimentado, una máquina con una curva empinada de voltamperios producirá un arco más estable, porque habrá muy poco cambio en la corriente de soldar aún con cambios en el voltaje de arco. Una curva de voltamperios indica el voltaje de salida disponible a cualquier corriente determinada de salida, dentro de los límites del ajuste de corriente mínima y máxima en cada escala. Podemos notar por ejemplo, la curva de la figura 4, indica que hay disponible un voltaje alto de circuito abierto en 0, lo que ayuda a establecer el arco. A medida que se adelante la soldadura, el voltaje cae al voltaje de arco en VA y este punto, la fluctuación en la longitud del arco apenas afectará la corriente. Si el electrodo hace un cortocircuito con el metal por soldar, la corriente no llegará a ser excesiva. Además tenemos que tener cuenta que en el momento de encender el arco, tocando el trabajo con el electrodo (VA = 0), la corriente de cortocircuito resultante debe permanecer limitada, normalmente a 1 o 2 veces la corriente nominal, para no dar origen a 172 perforaciones o defectos cada vez que se inicia el arco. Otro factor a considerar es la tensión en vacío, que debe ser superior a la del arco para facilitar el encendido. La corriente utilizada directamente afectará la velocidad de derretimiento. Es decir que a medida que se aumenta la velocidad de corriente, también se aumenta la densidad de corriente en la punta del electrodo. La cantidad de corriente requerida para cualquier operación de soldar está dictada por el grosor del metal por soldar. Esta corriente está controlada por una rueda o un arreglo de palancas para el caso de maquinas o equipos de control análogo, pero con equipos de control digital este se lleva a cabo por interruptores o pulsadores para el control del mismo. Un control ajusta la máquina para un ajuste aproximado de corriente y otro control proporciona un ajuste más preciso de corriente. Tipos de máquinas básicas utilizadas en la soldadura por arco eléctrico. La energía del arco y la transferencia de metal varían con la dirección del flujo de la corriente. Cuando se utilice corriente continua, hay que asegurarse de que la polaridad sea la correcta. Es necesario utilizar el tipo de corriente correcto, es decir, no hay que usar corriente continua en lugar de corriente alterna, o viceversa. Los electrodos están diseñados para trabajar con una determinada cantidad de corriente y polaridad. Si se emplea la corriente equivocada, el arco puede resultar inestable e imposible de manejar. Este tipo de soldaduras pueden ser efectuados bajo corriente tanto continua como alterna. En corriente continua el arco es más estable y fácil de encender y las salpicaduras son poco frecuentes; en cambio, el método es poco eficaz con soldaduras de piezas gruesas. La corriente alterna posibilita el uso de electrodos de mayor diámetro, con lo que el rendimiento a mayor escala también aumenta. En cualquier caso, las intensidades de corriente oscilan entre 10 y 600 amperios. Para lograr buenas soldaduras con electricidad, se necesita una máquina que controle la intensidad de la electricidad, aumente o disminuya la potencia según se requiera y que sea segura para manejarla. Hay tres tipos principales o básicas de máquina utilizadas en el proceso de la soldadura por arco: 1. Máquina de CA (corriente alterna) o Transformadores. 2. Maquina de CC o CD (corriente continua o directa). 3. Máquina de CA y CC (una combinación de las dos). Las cuales describiremos a continuación en términos resumido y específicos para cada uno de ellos. Máquinas de corriente alterna Las máquinas de corriente alterna (CA) también son denominadas se transformadores, porque estos transforman la corriente de la línea de alimentación (que es de alto voltaje y de bajo amperaje) en una corriente útil, pero segura para soldar (que es de bajo voltaje y alto 173 amperaje). Esto se efectúa dentro de la máquina con un sistema de un devanado primario, uno secundario y un reactor movible para el caso de control manual. Es decir que la potencia es tomada directamente de una línea de fuerza eléctrica (Red eléctrica) y transformada en un voltaje requerido para soldar. El transformador CA mas sencillo tiene una bobina primaria y una bobina secundaria con un ajuste para regular la salida de corriente. La bobina primaria recibe la corriente alterna de la fuente eléctrica y crea un campo magnético, lo que cambia constantemente en dirección y potencia. La bobina secundaria no tiene ninguna conexión eléctrica a la fuente de fuerza pero está afectada por las líneas de fuerza cambiándose en el campo magnético; por la inducción ésta entrega una corriente transformada a un valor más alto al arco de soldar. Algunos transformadores CA están equipados con un interruptor amplificador de arco lo que proporciona un oleaje de corriente para facilitar el establecimiento del arco cuando el electrodo hace contacto con el metal para soldar. Después de formar el arco, la corriente automáticamente vuelve a la cantidad ajustada para el trabajo. El interruptor amplificador de arco tiene varios ajustes para permitir establecimiento rápido del arco para soldar placas delgadas o gruesas. Una ventaja de la máquina soldadora de CA es la libertad del soplo magnético del arco lo que muchas veces ocurre al soldar con máquinas de CD. El soplo magnético del arco causa oscilación del arco al soldar en esquinas en metales pesados o al usar electrodos revestidos grandes. El flujo de corriente directa a través del electrodo, metal por soldar, y grapa para puesta a tierra genera un campo magnético alrededor de cada una de estas unidades, lo que puede causar que el arco se desvíe de su vía intentada. El arco generalmente es desviado sea hacia adelante o hacia atrás a lo largo de la vía de soldar y puede que cause salpicadura excesiva y fusión incompleta. También tiende a atraer gases atmosféricos al arco, terminando en porosidad. La deflexión del arco se debe a los efectos de un campo magnético desequilibrado. Así que cuando se desarrolle una gran concentración de flujo magnético en un lado del arco, éste tiende a soplarse fuera de la fuente de la mayor concentración. El soplo magnético del arco muchas veces puede ser corregido cambiando la posición de la grapa para puesta a tierra, soldando en una dirección fuera de la grapa a tierra, o cambiando la posición del metal por soldar en el banco. Máquinas de corriente contínua Una de las características principales de las maquinas de corriente directa o continua para soldar es la de que la soldadura puede hacerse con polaridad directa o inversa. La polaridad indica la dirección de flujo de corriente en un circuito. En polaridad directa, el electrodo es negativo y el metal por soldar es positivo, y los electrones fluyen del electrodo al metal por soldar. Las máquinas de CC se clasifican en dos tipos básicos: • Generador. 174 • Rectificador. Generador Las maquinas de CC o CD tipo generador, consiste de un generador impulsado por un motor eléctrico o de gasolina, donde la corriente se produce por la rotación de una armadura (inducido) dentro de un campo eléctrico. Esta corriente alterna generada la captan una serie de escobillas de carbón y un conmutador o colector y la convierten en corriente continua. Rectificador Los rectificadores básicos son transformadores de CA a los que se ha agregado un rectificador. La corriente alterna que suministra el transformador se envía al rectificador que la convierte o rectifica a corriente continua o directa. Es decir, que estos son transformadores que contienen un dispositivo eléctrico que cambia la corriente alterna en corriente directa. Los rectificadores para la soldadura por arco generalmente son del tipo de corriente constante donde la corriente para soldar queda razonablemente constante para pequeñas variaciones en la longitud del arco. Máquinas de CA Y/O CC Para este caso compuesto, se hace uso frecuente de los rectificadores para proporcionar corriente CD solamente, o ambas, corriente CD y CA. Por medio de un interruptor, los terminales de salida pueden cambiarse al transformador o al rectificador, produciendo corriente CA o CD directa o corriente CD de polaridad inversa. En el diagrama de la figura , podemos observar los tipo de combinaciones de maquinas posibles para realizar un equipo de soldadura por arco eléctrico con electrodo revestido con electrodo revestido. En la actualidad, los dos materiales rectificadores utilizados para máquinas soldadoras son el selenio y el silicio. Ambos son excelentes, aunque el silicio muchas veces permitirá operación con densidades de corriente más altas. 175 Fig. Diagrama de los tipos de maquinas para soldar por arco eléctrico. El circuito para soldadura por arco eléctrico Fig.. Circuito para soldadura por arco eléctrico. En la figura anterior, podemos ilustrar el circuito para soldadura por arco eléctrico, el cual empieza en A donde el cable del electrodo se conecta desde un terminal de la máquina de soldar y, termina en B donde se conecta el cable de tierra (masa) a la otra terminal de la máquina. La corriente para soldar fluye por el cable del electrodo hasta el porta-electrodo; desde éste fluye el electrodo y salta el espacio o entre-hierro entre la punta del electrodo y el metal base para formar el arco. Desde el metal base retorna por el cable de tierra a la máquina de soldar como lo indican las flechas. Polaridad para los equipos de soldadura por arco Como ya sabemos físicamente que una corriente eléctrica produce una fuerza magnética alrededor de su conductor, debido a que las líneas de fuerza magnética finalizan en las terminales negativa y positiva de la corriente eléctrica, se les llama polo negativo y polo positivo. De ahí se deriva la palabra polaridad, con la cual sabemos la dirección en que circula la corriente. La polaridad sólo se puede determinar en las máquinas de CC o CD. No se obtiene en las máquinas de CA, porque hay inversión de la corriente. Una de las características de las maquinas de corriente directa para soldar es la de que la soldadura puede hacerse con polaridad directa o inversa. La polaridad indica la dirección de flujo de corriente en un circuito. Unos de los síntomas de influencia de la polaridad no correcta se presentan en el aumento de las salpicaduras. Otros síntomas son las variaciones en la forma que se espera que tenga 176 el arco, una penetración insuficiente, demasiada turbulencia del chorro y una cantidad considerable de salpicaduras. Puede llegar a ser imposible encender el arco. Cuando se observe que algo raro sucede con éste o con la transferencia de metal, hay que revisar las conexiones de la fuente de poder. En algunos procesos de soldadura, la polaridad que se debe utilizar se determina con el metal que se va a soldar. Sin embargo, en el proceso de SMAW, la polaridad se determina por el recubrimiento del electrodo. Por ejemplo, cuando se utiliza un electrodo E41010 (E6010) trabaja mejor con ccpi (corriente continua con polaridad inversa), en cuyo caso el electrodo es positivo y el metal base es negativo. La cc puede tener polaridad directa o inversa, según se seleccione. La polaridad puede ser cambiada intercambiando los cables, aunque en las mayoría del las máquinas modernas se puede cambiar la polaridad simplemente accionando un interruptor o moviendo una palanca o un cuadrante. La polaridad afecta el calor liberado pues es posible controlar la cantidad que pasa al metal por soldar. Cambiando la polaridad, se puede concentrar el mayor calor dónde éste más se requiera. Tipos de polaridad Polaridad Directa − (Negativa) Este tipo de polaridad de presenta cuando el cable para el electrodo o porta-electrodo se conecta en la terminal negativa de la máquina de soldar, es decir, que en la soldadura con CC y polaridad directa, el electrodo es negativo y la superficie de trabajo es positiva. La corriente fluye del electrodo a la pieza a trabajar. Fig. Polaridad directa. 177 Generalmente, es preferible tener más calor en el metal por soldar porque el área de trabajo es mayor y se requiere más calor para derretir el metal que para fundir el electrodo. Por lo tanto, si se vayan a hacer grandes depósitos pesados, el metal por soldar deberá estar más caliente que el electrodo. A este efecto, la polaridad directa es más efectiva. Usos ideales para: • • • Recrecimiento. Refuerzo - Grandes espesores. Cortar acero. Polaridad Inversa + (Positiva) Esta se presenta cuando el cable para el electrodo o porta-electrodo se conecta en la terminal positiva de la máquina de soldar, es decir, que en la soldadura con CC y polaridad invertida, el electrodo es positivo y la superficie de trabajo es negativa; donde la corriente fluye de la pieza a trabajar al electrodo. Fig. Polaridad inversa En cambio, en la soldadura sobrecabeza es necesario rápidamente congelar el metal de relleno para ayudar a sostener el metal fundido en su posición contra la fuerza de la gravedad. Utilizando la polaridad inversa, hay menos calor generado en el metal por soldar, dando mayor fuerza de retención al metal de relleno para soldar fuera de posición. En otras situaciones, puede que sea mejor conservar el metal por soldar tan frío como sea posible, por ejemplo para reparar una pieza fundida de hierro. Con polaridad inversa, se produce menos calor en el metal por soldar y más calor en el electrodo. El resultado de esto es que se pueden aplicar los depósitos rápidamente mientras que se evita sobrecalentamiento del metal por soldar. 178 Usos ideales para: • • • • • • • • Sobrecabeza. Vertical. Soldadura de hierro fundido. Aluminio grueso. Soldadura de remaches. Chapa. Soldadura de bajo contenido de hidrógeno. Varilla de bronce por arco. En corriente continua y polaridad directa, las intensidades de corriente son del orden de 50 a 500 amperios. Con esta polarización se consigue mayor penetración y un aumento en la duración del electrodo. Con polarización inversa, el baño de fusión es mayor pero hay menor penetración; las intensidades oscilan entre 5 y 60 A. La corriente alterna combina las ventajas de las dos anteriores, pero en contra da un arco poco estable y difícil de cebar. Equipo básico de soldadura por arco eléctrico Para realizar trabajos básicos con equipos de soldadura por arco eléctrico, resultan imprescindibles la utilización del las siguientes herramientas o materiales: • • • • • Pinza Porta-electrodo. Grapa o Pinzas para puesta a tierra. Careta o gafas Protectoras. Guantes. Electrodo. Pinza Porta-electrodo Esta pinza porta-electrodo es utilizada para sujetar el electrodo y guiarlo para servir como mango aislador sobre la costura por soldar. Un buena pinza portaelectrodo deberá ser liviano para reducir fatiga excesiva durante la soldadura, para fácilmente recibir y eyectar los electrodos, y tener el aislamiento apropiado. Algunos de los porta-electrodos son completamente aislados, mientras que otros tienen aislamiento en el mango, solamente. Fig. Pinza Porta-electrodo. 179 Al usar un porta-electrodo con quijadas no aisladas, nunca coloque éste en la plancha del banco con la máquina operando, pues esto causará un destello. Siempre conecte los portaelectrodos firmemente al cable. Una conexión floja donde el cable se une con el portaelectrodo puede sobrecalentar el mismo. El uso de cables de tamaño suficiente es necesario para la soldadura correcta. Un cable conductor de 9 metros de un tamaño determinado puede ser satisfactorio para llevar la corriente requerida, pero si de agregue otros 9 metros de cable, la resistencia combinada de los dos conductores reducirá la salida de corriente de la máquina. Si la máquina entonces se ajuste para mayor salida, la carga adicional puede que cause que se sobrecaliente la fuente de fuerza y también aumente su consumo de potencia. El cable primario que conecta la máquina soldadora a la fuente de electricidad también es significante. La longitud de este cable ha sido determinada por el fabricante de la unidad de fuerza eléctrica, y representa una longitud que permitirá operación eficiente de la máquina sin una caída apreciable en el voltaje. Si se usa un cable más largo, se requerirá más voltaje para el trabajo por hacer, y si no hay disponible más voltaje, la caída de voltaje resultante afectará gravemente a la soldadura. Los porta-electrodos son de diversas formas y tamaños. El tamaño del porta-electrodo depende del amperaje máximo que se va a usar. El punto importante es que el portaelectrodo debe ser ligero de peso y capaz de conducir suficiente corriente sin provocar sobrecalentamiento. Grapa para puesta a tierra La grapa para puesta a tierra es vital para el equipo de soldadura por arco eléctrico con electrodo revestido con electrodo revestido. Sin tener la conexión correcta a tierra, el pleno potencial del circuito no producirá el calor requerido para soldar. Fig. Grapa para puesta a tierra. La grapa para tierra se sujeta en la pieza de metal que se va a soldar, con la cual se completa el circuito de soldadura cuando el electrodo toca el metal. Las grapas de tierra que tienen resorte son las más convenientes porque constituye el método más fácil de sujetarlas en el metal que se va a soldar. Podemos resaltar la utilización de esta porque si el metal que se va a soldar no está conectado a tierra, no se completa el circuito y hay un serio peligro de una descarga eléctrica. 180 Escudo, careta o casco protector Un casco soldador o escudo de mano adecuado es necesario para toda soldadura por arco. Un arco eléctrico produce una luz brillante y también emite rayos ultravioleta e infrarrojos invisibles, los cuales pueden quemar los ojos y la piel. Nunca vea el arco con los ojos descubiertos dentro de una distancia de 16 metros. Fig.. Escudo, careta o casco protector. Ambos, el casco y el escudo de mano están equipados con lentes teñidos especiales que reducen la intensidad de la luz y filtran los rayos infrarrojos y ultravioleta. Los lentes vienen en diferentes colores para varios tipos de soldadura. En general, la práctica recomendada es la siguiente: • • • • • • Color No 5 para soldadura liviana por puntos. Colores No 6 y 7 para soldar con hasta 30 amperios. Color No. 8 para soldar con entre 30 y 75 amperios. Color No. 10 para soldar con entre 75 y 200 amperios. Color No. 12 para soldar con entre 200 y 400 amperios. Color No. 14 para soldar con más de 400 amperios. Guantes Los guantes deberán ser de tipo para servicio pesado con puños largos. Hay disponibles guantes de soldador hechos de cuero. Use guantes de asbesto para trabajar en calor intenso. Sin embargo, use grapas – no los guantes – para recoger el metal caliente. Fig. Escudo, careta o casco protector. 181 Electrodo Fig. Electrodos. Generalidades A finales del siglo XIX se hicieron experimentos con un electrodo de carbón y el intenso calor del arco eléctrico para unir metales. Unos cuantos años más tarde el electrodo de carbón con una varilla o alambre de hierro desnudo, lo cual elimina la necesidad de usar una varilla separada para relleno. A principios del siglo XX, se descubrió que se mejoraban las propiedades físicas, mecánicas y químicas de la soldadura, si se Aplicaba un recubrimiento sobre el alambre de hierro desnudo. Algunos de los primeros experimentos incluyeron envolver el electrodo desnudo con tela de asbesto y algodón empapada con silicato de sodio. Tanto el asbesto (amianto) como el silicato de sodio se utilizan para dar resistencia al fuego y la idea de usarlos fue evitar que el recubrimiento se quemara demasiado pronto. De estos primeros experimentos surgieron los electrodos actuales (ver figura 12.). Constan de un núcleo de alambre metálico, al cual se ha agregado un recubrimiento de productos químicos seleccionados cuidadosamente. En realidad, aunque los primeros intentos fueron un poco burdos, los electrodos modernos incluyen, entre otras cosas, asbesto, algodón y silicato de sodio. Definición El electrodo es el extremo que va unido o insertado al porta-electrodo, al que lleva o del que recibe una corriente eléctrica dependiendo de la configuración eléctrica. Características técnicas Los electrodos son fabricados para soldar diferentes metales y también están diseñados para CD de polaridad directa e inversa, o para soldadura con CA. Unos tantos electrodos funcionan igualmente bien con CD o CA. Algunos electrodos son mejor adaptados para soldadura plana, otros son intentados principalmente para soldadura vertical y de sobrecabeza, y algunos son utilizados en cualquier posición. Por lo general el electrodo también provee el material de aporte, el que con el arco eléctrico se funde, depositándose entre las piezas a unir. La temperatura que se genera en este proceso es superior a los 5500 °C. 182 La corriente que se emplea en este sistema puede ser continua o alterna, utilizándose en los mejores trabajos la del tipo continua, debido a que la energía es más constante, con lo que se puede generar un arco más estable. La corriente alterna permite efectuar operaciones de soldadura con el objeto de trabajo en posición horizontal y preferentemente en materiales ferrosos, mientras que la corriente contínua no presenta esas limitaciones de posición y material. El arco se enciende cortocircuitando el electrodo con la pieza a soldar. En esa situación, en el punto de contacto el calentamiento óhmico es tan intenso que se empieza a fundir el extremo del electrodo, se produce ionización térmica y se establece el arco. Partes Los electrodos están constituidos por dos partes fundamentales: • • El alma, núcleo o metal de aportación. El revestimiento o recubrimiento. Fig. Partes del Electrodo. El alma, núcleo o metal de aportación El núcleo del electrodo está constituido por una varilla o alambre metálico que conduce la corriente eléctrica y permite establecer el arco eléctrico. El intenso calor del arco hace que progresivamente se funda la punta del alambre y que se deposite en el cordón de soldadura en forma de pequeñas gotas, proporcionando así el material de aporte. El metal del núcleo depende del tipo de metal base que se requiere soldar. Si es acero generalmente se usará acero y si es aluminio el núcleo será de aluminio. 183 Este es el que está formada por un hilo metálico de la misma naturaleza que el metal que se va a soldar (aluminio, hierro, cobre, acero, inox) y cumple con la función de aportar el material de relleno en la junta. El alambre del núcleo de un electrodo, en casi todos los casos, se hace con el mismo metal que el de las piezas que se van a soldar. Por ejemplo, el acero dulce se soldaría con un electrodo con el alambre del núcleo hecho con acero dulce. El alambre seria de aluminio para soldar un metal base de aluminio; para el cobre, se emplearía alambre de núcleo de cobre, etc. La combinación de los elementos utilizados para el recubrimiento produce las características especiales de cada tipo de electrodo. La finalidad del alambre del núcleo o alma es conducir la energía eléctrica al arco y suministrar el metal de relleno o aporte adecuado. Diámetro del electrodo El diámetro del electrodo se mide en el núcleo y determina la intensidad de corriente promedio que debe utilizarse. Por ejemplo, para un diámetro de 4 mm puede emplearse una corriente de unos 150 a 200 A. Longitud del electrodo En cuanto a la longitud de los electrodos la medida más usual es la de 356mm (14") existiendo además electrodos de 229 mm (9") y de 457mm ( 10 "). El revestimiento o recubrimiento Está constituido por varias sustancias minerales y orgánicas colocadas alrededor del alma tiene dos finalidades. La primera actúa como protección gaseosa y una parte del revestimiento, volatilizada por la temperatura del arco, aleja el aire de la zona creando una columna de gas ionizado que protege el material fundido. Además de elementos aglutinantes, una parte del revestimiento se funde y aporta en el baño de fusión algunos elementos que se combinan con el alma del electrodo. Algunos de los elementos utilizados en los recubrimientos son magnesio, silicatos de aluminio y talco, todos ellos son formadores de escoria. Los fluoruros de calcio, carbonatos de calcio, ferromanganeso, ferrosilicio y ferrotitanio son agentes fundentes. El silicato de sodio se utiliza como agente aglutinante. La celulosa, que forma un gas, protege la zona de la soldadura. 184 Materiales o composiciones Las composiciones de los recubrimientos de los electrodos pueden ser orgánicas o inorgánicas, y estas substancias se pueden subdividir en las que forman escoria y las que son fundentes. Algunos de los principales compuestos son: • • • • • Para la formación de escoria se utilizan SiO2, MnO2 y FeO. Para mejorar el arco se utilizan Na2O, CaO, MgO y TiO2. Desoxidantes: grafito, aluminio, aserrín. Para mejorar el enlace: silicato de sodio, silicato de potasio y asbestos. Para mejorar la aleación y la resistencia de la soldadura: vanadio, cesio, cobalto, molibdeno, aluminio, circonio, cromo, níquel, manganeso y tungsteno. Funciones de los recubrimientos: El recubrimiento tiene muchas funciones. Si no lo hubiera, el metal fundido se combinaría con el oxígeno y el nitrógeno del aire. Por tanto, es necesario proteger tanto el metal de aporte del electrodo como el metal base fundido que se suelda; éste es la mezcla del metal base fundido y el metal fundido del electrodo que, cuando se solidifica forma la soldadura en sí. El arco se puede proteger con una envoltura de un gas inerte, el cual no producirá una reacción química con el metal fundido. El recubrimiento de los electrodos suministra el gas protector. Este es el proceso de soldadura con metal y arco protegido (SMAW). Las principales funciones de los recubrimientos de los electrodos son: • • • • • • • • • • • • • Reducir al mínimo la contaminación de metal de soldadura con el oxígeno y el nitrógeno atmosféricos; Compensar las pérdidas de ciertos elementos durante la transferencia del metal a través del arco, porque el recubrimiento incluye aleaciones; Concentrar el arco en una zona específica porque forma una taza o copa en la punta del electrodo, que se debe a la fusión más lenta del recubrimiento. Proveen una atmósfera protectora. Proporcionan escoria de características adecuadas para proteger al metal fundido. Estabilizan el arco. Añaden elementos de aleación al metal de la soldadura. Desarrollan operaciones de enfriamiento metalúrgico. Reducen las salpicaduras del metal. Aumentan la eficiencia de deposición. Eliminan impurezas y óxidos. Influyen en la profundidad del arco. Disminuyen la velocidad de enfriamiento de la soldadura. 185 Tamaño o medida Para este podemos ver las especificaciones en la tabla La medida del electrodo que se debe utilizar depende de diversos factores: 1. el espesor del metal. 2. preparación de los bordes o filos de la unión. 3. la posición de la unión (plana, vertical, sobre la cabeza). 4. la pericia del soldador. Tabla. Cuadro de diámetro del electrodo y de intensidad en función del grosor del metal a soldar. Según las especificaciones de la tabla anterior podemos decir que la intensidad varía según la posición de la soldadura, y a de igual manera que podemos analizarla de la siguiente forma: • • • En horizontal: ver cuadro anterior. En techo o en ascendente: reducir la intensidad en un 10% aproximadamente. En descendente: aumentar la intensidad en un 15% aproximadamente. Amperaje El amperaje que se utilice dependerá de: 1. tamaño del electrodo seleccionado. 2. el tipo de recubrimiento del electrodo. 3. la fuente de potencia (ca, ccpi, ccpd). Seguridad y protección en soldadura por arco eléctrica Las operaciones de soldadura por arco eléctrico presentan una serie de peligros que es necesario tener en cuenta para evitar accidentes personales. Entre los mismos encontramos los de origen netamente eléctrico y los del tipo térmico, como los originados por soldar sin caretas o máscaras debidos a la gran emisión de radiación ultravioleta que dan lugar a quemaduras en la piel, queratosis de córneas, etcétera. Un detalle que hay que considerar es 186 que los trabajadores que sueldan usando lentes de contacto se exponen a que la radiación seque la capa de lágrimas entre el ojo y la lente, produciendo una succión que puede dañar el ojo cuando se retiran las lentes. A continuación presentamos algunas recomendaciones generales de seguridad: - Controlar el estado de los cables antes de usarlos. - Verificar si los terminales o enchufes están en buen estado. - Tomar los recaudos necesarios para la conexión del neutro y la tierra (especial cuidado puesto que los errores en esta toma de tierra pueden ser graves). - Revisar los aislamientos de los cables eléctricos al comenzar cada tarea desechando todos aquellos que no están en perfecto estado. - Evitar que los cables descansen sobre objetos calientes, charcos, bordes afilados o cualquier otro elemento que pudiera dañarlos. - Evitar que pasen vehículos por encima, que sean golpeados o que las chispas de soldadura caigan sobre los cables. - El cable de masa se conectará sobre la pieza a soldar o lo mas cerca que sea posible. - Antes de realizar cualquier modificación en la maquina de soldar se cortará la corriente, incluso cuando se mueve. - No dejar conectadas las maquinas de soldar en los momentos de suspender momentáneamente las tareas. - No trabajar en recintos que hayan contenido gases o líquidos inflamables, sin que previamente hayan sido debidamente ventilados. - En caso de utilizar electrodos que generen humos, poner en funcionamiento los aspiradores correspondientes, o en caso contrario, emplear equipos de protección respiratoria. • • • • • • • • Antes de empezar cualquier operación de soldadura de arco, se debe hacer una inspección completa del soldador. Léa las etiquetas de advertencia y los manuales de instrucción. Remueva todos los peligros potenciales de fuego en el área de soldar. Mantenga siempre un extinguidor de fuego para uso inmediato. Equipe las máquinas de soldar con suiches que se puedan desconectar rapidamente. La corriente de la máquina se debe desconectar antes de realizar reparaciones. La conección a tierra apropiada en las máquinas de soldar es importante. Los sostenedores de electrodos no deben usarse si estos tienen los cables sueltos, las tenazas dañadas o aislantes dañados. 187 • Un arco no se debe hacer si alguien alrededor no tiene el protector de los ojos apropiado. Elementos o Equipo de protección personal El cuerpo de la persona que va a realizar una soldadura, está sometido a la posible acción de agentes agresivos, por lo que debe protegerse adecuadamente. Es importante usar los siguientes elementos: - Pantalla de protección. - Caretas y protección ocular. - Guantes de cuero de manga larga. - Mandil de cuero. - Polainas de apertura rápida (pantalones por encima). - Protección de los pies de características aislantes. - Casco de seguridad. • • • • • • • • La radiación de la luz infraroja es la causa del quemado en la retina y de la enfermedad llamada cataratas. Proteja los ojos con el casco de soldar equipado con un plato filtrante de grado apropiado. Proteja su cuerpo de las particulas y rayos del arco con ropa protectora. Como son: ropa de lana delantal a prueba de fuego guantes. Ropa propiamente ajustada que no este desgastada o rota. Las camisas deben tener mangas largas. Los pantalones deben ser de bota larga y zapatos que cubran cuando se esta soldando con arco. Una capa resistente al fuego o cubridor de hombros son necesarios cuando se suelda sobre la cabeza. Revisar el equipo de ropa protectora antes de cada uso, para estar seguro de que está en buena condición. Mantener la ropa libre de grasa y aceite. Electricidad El buen funcionamiento de la máquina se asegura con una correcta instalación eléctrica. Verificar que la tensión (Voltios) de la máquina corresponde a la de la red. Conectar siempre la toma de tierra Recordar que personas con aparatos eléctricos implantados (marcapasos, etc.) no deben utilizar nunca aparatos de este tipo. 188 Protección contra incendios El proceso de soldadura origina proyecciones de metal incandescente que puede provocar incendios. No utilizar la máquina en ambientes con gases inflamables. Limpiar el área de trabajo de todo material combustible. Proteger especialmente las botellas de gas de acuerdo con los requerimientos que precisen. Nunca proceder a soldar depósitos con restos de materiales inflamables, existe un gran riesgo de explosión. Al realizar trabajos de soldadura, resulta recomendable disponer de un extintor listo para su uso. Ventilación apropiada Este seguro de que existe ventilación adecuada cuando se suelda en áreas encerradas o cuando hay barreras contra el viento. Las corrientes naturales de aire, ventilación y posición de la cabeza ayudan a mantener el humo alejado de la cara del soldador. La ventilación es suficiente si: • El cuarto o el área de soldar tiene por lo menos 10,000 pies cúbicos para cada soldador. • El techo tiene por lo menos 16 pies. • La ventilación no es bloqueada por barreras como divisiones, equipos, u otras estructuras. • La soldadura no se realiza en espacios encerrados. **Si los requerimientos en espacio no son los ideales, entonces el área necesita ser equipada con extractores mecánicos de ventilación con escape de por lo menos 2000 cfm de aire por cada soldador, excepto donde campanas o cabinas de extracción locales, o líneas de aire para respirar son usados. Recomendaciones: - No se realizarán trabajos de soldadura utilizando lentes de contacto. - Se comprobará que las caretas no estén deterioradas puesto que si así fuera no cumplirían su función. - Verificar que el cristal de las caretas sea el adecuado para la tarea que se va a realizar. - Para picar la escoria o cepillar la soldadura se protegerán los ojos. - Los ayudantes y aquellos que se encuentren a corta distancia de las soldaduras deberán usar gafas con cristales especiales. - Cuando sea posible se utilizarán pantallas o mamparas alrededor del puesto de soldadura - Para colocar los electrodos se utilizaran siempre guantes, y se desconectará la maquina. - La pinza deberá estar lo suficientemente aislada y cuando este bajo tensión deberá tomarse con guantes. - Las pinzas no se depositarán sobre materiales conductores. 189