My SciELO
Services on Demand
Article
Indicators
-
Cited by SciELO
Related links
-
Similars in SciELO
Share
Ingeniería Energética
On-line version ISSN 1815-5901
Energética vol.33 no.1 La Habana Jan.-Apr. 2012
APLICACIÓN DE LA COMPUTACIÓN
Implementación de un sistema DIL/METPC con Labview para ensayos a transformadores
Implementation of embedded system DIL/NETPG with Labview for test to transformers
Msc. Josnier Ramos Guardarrama , Msc. Mercedes Canasi Piñeiro , Dr. José Angel Martínez Barbado
Instituto Superior Politécnico José Antonio Echeverría, Cujae, La Habana, Cuba.
RESUMEN
Se presentan los resultados de la modernización de las mediciones y el control de la ejecución de ensayos para la determinación de: las pérdidas de vacío y corriente de excitación, las pérdidas con carga e impedancia de cortocircuito y el incremento de temperatura de transformadores de distribución, según la norma IEEE Std. C57.12.90TM-2006. La modernización se sustenta en el diseño y construcción de un sistema de adquisición de datos basado en el DNP/1110 que realiza las tareas de muestreo y control; dirigido por tres programas elaborados en el ambiente Labview. Adicionalmente, se procesan y visualizan los resultados de cada uno de los ensayos.Se implementa un controlador del núcleo de GNU/Linux en conjunto con una aplicación en la zona de usuario, el cual permite obtener una frecuencia de muestreo de 20.22 kHz. La transferencia de información se realiza mediante una conexión por socket TCP/IP.
Palabras clave: controlador de GNU/Linux, ensayo a transformadores, sistema empotrado.
ABSTRACT
This paper presents the design and validation for operation of an automatic measurement system for the Laboratory of Distribution Transformers of the CIPEL. The system makes the test for no-load looses and excitement current, load losses and impedance voltage; and temperature rise according to the IEEE Std C57.12.90TM-2006 standard. A data acquisition system based on the DIL/NetPC DNP/1110 manages the sampling and control tasks; lead by three programs written in Labview. The results are processed and shown for each one of the tests. A core controller of GNU/Linux joint to an application in user area allows to obtain a sampling frequency of 20.22 kHz, according to the performance of the system hardware. The transfer of information between the embedded system and the lead programs is accomplished through a connection with socket TCP/IP.
Key Words: embedded systems, GNU/Linux controller, transformers test.
INTRODUCCIÓN
Los sistemas eléctricos de distribución tienen entre sus componentes esenciales los transformadores de distribución. De estos depende la conversión de la tensión eléctrica a los diferentes niveles necesarios para una correcta y eficiente utilización de la energía.
Existen en el mundo centros que se encargan de verificar los parámetros de los transformadores de distribución para garantizar la calidad y servicio de los mismos. En Cuba, el Laboratorio de Alta Tensión del Centro de Investigación y Pruebas Electroenergéticas (CIPEL), cuenta con el equipamiento indispensable para la realización de ensayos a transformadores y tiene una tradición de muchos años en su desempeño como referencia en la certificación de los mismos, según las normativas vigentes.
En los últimos años se ha impuesto la digitalización de casi todas las ramas de la ciencia y la técnica. El uso de técnicas digitales, como remplazo de los instrumentos analógicos, es aceptado por la norma [1] IEEE Std C57.12.90TM-2006. El abaratamiento de los precios de los microcontroladores y su desarrollo vertiginoso, da la posibilidad de evaluar una solución a partir del uso de arquitecturas de 32 bits existentes en el mercado.
A partir de estas premisas y como parte del proyecto de investigación entre la Universidad Alemana Fachhochshule Gressen-Friedberg y el CIPEL para la modernización del laboratorio de Alta Tensión, se lleva a cabo el diseño de un sistema de adquisición de datos, con un sistema embebido DNP/1110 encargado de la digitalización/control de las mediciones en comunicación con una computadora, para el procesamiento de la información y su visualización usando Labview [2-3]. El sistema es capaz de determinar:
¬ Pérdidas de vacío y corriente de excitación.
¬ Pérdidas con carga e impedancia de cortocircuito.
¬ Incremento de temperatura.
Se integra el software libre, con el uso del sistema operativo GNU/Linux y el compilador GCC, con herramientas privativas de arquitectura cerrada de reconocido prestigio, como es el caso de Labview.
MATERIALES Y MÉTODOS
La arquitectura que se propone para el sistema tiene en cuenta la posibilidad de muestrear hasta tres señales de tensión, aplicándose este mismo criterio a las señales de corriente. Esto permite que en un futuro se pueda aplicar el mismo hardware en transformadores de distribución trifásicos. También se hace imprescindible medir valores de temperatura, exactamente, la temperatura ambiente y la del aceite del transformador. La norma IEEE fija que es obligatorio medir en tres puntos cercanos al transformador los valores de temperatura ambiente con ciertas consideraciones.
Hardware del Sistema de Medición
Para dar solución a los requerimientos anteriores se propone el sistema de adquisición de datos, que se muestra en la figura 1, cuyo elemento principal es el DIL/NetPC SA-1110 [4]. El significado de cada uno de los bloques del diagrama se muestra a continuación:
¬ "V": Transductores de un nivel de tensión alterna a otro nivel más bajo. Transformador de potencial.
¬ "A": Transductores de corriente. Convierte un nivel de corriente eléctrica en un nivel de tensión. Sensores de corriente de la serie CMS2000.
¬ "T": Transductores de temperatura. Convierte un nivel de temperatura en resistencia eléctrica. Sensor de temperatura Pt100.
¬ "Av": Amplificador de tensión. Amplifica un nivel de tensión en otro nivel de tensión mayor. Amplificador Operacional LF353.
¬ "Convertidor de Señal": Dispositivo electrónico que traduce el valor de resistencia eléctrica de la Pt100 a su correspondiente salida en tensión. Convertidor programable de señal JUMO dTRANS T03 BU Tipo-707033/...
¬ "Filt.": Filtro pasa bajo. Utilizado para eliminar frecuencias superiores al valor de la frecuencia de corte, llamado también filtro antialias.
¬ "S/H": Circuito integrado utilizado para el muestreo y fijado de una señal analógica. Muestreo y retención LF398N.
¬ "Conversor A/D": Circuito integrado utilizado para convertir una señal analógica en una digital. Conversor A/D AD7891-1.
¬ "Interfase": Hardware compuesto por compuertas digitales, transistores y relés. Su función es enviar señales de control.
¬ "Embedded Systems DIL/NetPC DNP/1110": Su función es controlar todo el proceso de muestreo de las señales, dar las órdenes a la mesa de mando del esquema de ensayo de transformadores, a través de la "Interfaz" y la comunicación bidireccional con la computadora.
El sistema se pone en marcha por órdenes enviadas por una computadora a través de una red Ethernet. Dada la orden de muestrear, el DIL/NetPC se encarga de dirigir el proceso de muestreo, retención y conversión de las entradas analógicas. Adicionalmente el sistema empotrado envía comandos que garantizan la operación de la mesa de control de forma automática. La información capturada es enviada a través de la conexión Ethernet a la computadora para su posterior procesamiento y visualización.
El DIL/NetPC DNP/1110 es un sistema de desarrollo optimizado para cumplir con los requerimientos de portabilidad y de aplicaciones embebidas, que consta de un microcontrolador Intel StrongArm SA-1110 de 32 bit, memoria RAM, Flash, un controlador Ethernet y un sistema operativo Linux instalado en él. El Kernel del sistema operativo Linux es la versión 2.4, y se encuentra disponible el uso de los servidores Web, FTP, y Telnet remoto vía Ethernet. La interfase de Red es una 10BASE-T/100BASE-TX Ethernet.
Sus datos fundamentales son:
¬ CPU a 206 MHz de velocidad de reloj.
¬ 32 MByte de SDRAM y 16 MByte de FLASH.
¬ Interfase Ethernet de 10/100 Mbps.
¬ Dos puertos Serie de 16550 kbps.
¬ 20 Líneas Paralelas de Propósito General Entrada/Salida a alta velocidad.
¬ Bus de Expansión de 8 bit de Entrada/Salida.
¬ 5 Entradas de Interrupciones y 4 Salidas de Chip Select.
¬ Temporizador Programable "Watchdog".
¬ Interfase de Prueba JTAG IEEE 1149.1
¬ Conector de 64 terminales JEDEC DIL-64.
¬ Tensión de Alimentación de 3.3 V.
¬ Corriente de Alimentación de 300 mA típica a 206 MHz.
Entre las bondades del AD7891-1 [5] se encuentran que es un conversor A/D de 12-bit, monolítico LC2MOS, con tiempo de conversión de 1.6 μsec, la presencia de un multiplexor incorporado de 8 canales analógicos y la capacidad de muestro/retención interna con un tiempo de adquisición de 0,6 μsec cuando se utiliza en arranque de conversión por hardware y 0,7 μsec cuando el arranque se indica por software. Sus entradas analógicas pueden ser configuradas a ±5 V ó ±10 V. Se asegura una fácil conexión con los microcontroladores por la selección de la salida digital de forma serie o paralela, brindando flexibilidad.
El componente de muestreo/retención [6] es un circuito monolítico que utiliza la tecnología JFET para obtener una ultra-alta precisión de corriente directa con un tiempo de adquisición rápido y un rango bajo de desviación. La tecnología JFET tiene mucho menos ruido que la MOS y no presenta una alta inestabilidad con la temperatura. El valor del condensador escogido para configurar el componente, fue de 1 nF, lo que permite tiempos de adquisición de 4 μs.
Los transductores o sensores son uno de los elementos de mayor importancia en un sistema de medición, de ellos depende fundamentalmente la calidad de la medición. El transductor utilizado para las lecturas de tensión eléctrica es un transformador de potencial. El uso de este elemento en las mediciones eléctricas garantiza un aislamiento eléctrico entre la tensión que se lee (primario) y la tensión equivalente que entrega (secundario). El transformador de medición utilizado es de 240 V a 10 V eficaz. Los errores presentes en cada transformador se corrigen por software.
La medición de la intensidad de la corriente eléctrica de cada fase se realiza con los sensores CMS2050 [7]. La variación de la resistencia eléctrica debido al campo magnético externo, es llamado efecto de magnetoresistencia anisotrópica. Dicho efecto es el que está presente en los sensores de la serie CMS2000.
La sensibilidad de este tipo de sensor es de al menos 50 veces mayor que los sensores de efecto Hall. Algunas de las ventajas es que no es necesario un núcleo de hierro, presentando un reducido tamaño y peso.
Para el valor de la corriente nominal, el error no supera el 0,8 %. Consta de un aislamiento galvánico y es capaz de medir corrientes eléctricas de directa, alterna y pulsos.
Para la determinación de la temperatura ambiente y la del aceite se utiliza los sensores de temperatura Pt100. Las Pt100 [8] están conformadas por un conductor de Platino que varía su resistencia eléctrica con los cambios de temperatura. Una característica del Platino es que a 0 °C, tiene una resistencia de 100 ?.
Este tipo de sensor pertenece al grupo de las llamadas termorresistencias, las cuales pueden ser construidas utilizando como material el Cobre, Platino, Níquel y materiales semiconductores. Las Pt100 pueden dar una precisión de décimas de un °C y no sufren de la descomposición gradual que tienen otros tipos de sensores, lo que provocaría lecturas erróneas. Lo que ocurre normalmente es que el circuito se abre, lo que alerta sobre la ruptura de la Pt100. Se pueden conectar las Pt100 hasta 30 metros del instrumento de medición, utilizando cables conductores de cobre convencional sin mayores problemas.
PROGRAMAS DEL SISTEMA DE MEDICIÓN
Con la presencia de un sistema operativo es posible tener una solución de alto nivel sin la necesidad de recurrir al lenguaje ensamblador, brindando un ambiente más amigable. Lo anterior facilita las principales tareas, las cuales se resumen en la comunicación en ambos sentidos entre la computadora y el sistema empotrado a través de la LAN, y el control e intercambio de datos entre el hardware y la aplicación.
Se creó un módulo cargable del kernel de Linux [9-11] para garantizar una frecuencia de muestreo de 20.22 kHz y una estabilidad adecuada de la misma. Se comprueba experimentalmente que usando las tradicionales funciones del lenguaje C, no se garantiza el ajuste del tiempo de adquisición. El origen de este problema está en que los tiempos a medir se encuentran en el orden de la ejecución de las funciones, además, como el sistema operativo es multitarea, se encuentran corriendo otros procesos que introducen retardos aleatorios.
Los programas de la zona de usuario corren con los privilegios y los recursos que el usuario tiene asignado. Esto no ocurre así con un módulo del kernel, ya que se tiene los más altos privilegios del sistema, además de poseer a su alcance todos los recursos disponibles del mismo.
Como es necesaria la conexión por una red LAN, crear una aplicación de red basada en socket TCP/IP [12-15] es la solución que mejor se ajusta a las características de este proyecto. Esta arquitectura es el típico cliente-servidor, de lo cual se deriva que es necesario realizar dos programas.
Uno de los programas, como ya se conoce, se va a desempeñar en el papel del proceso servidor (en este caso el ubicado en el sistema de desarrollo), y el otro, funcionará como el cliente (programas desarrollados con Labview).
Hay que tener presente que el programa que se encarga de la tarea de servidor de TCP/IP en el sistema empotrado, también es la aplicación que interactúa directamente con el módulo cargable de GNU/Linux. Esta doble función está integrada en el mismo programa para disminuir los tiempos de comunicación entre las aplicaciones y la cantidad de memoria requerida por estas.
El módulo diseñado es de tipo carácter "Saddev", que no es más que aquel en donde el acceso es mediante un flujo de bytes, mecanismo similar al de un fichero. Los módulos de este tipo son los más sencillos para su comprensión. En este tipo de programación no se crean los programas desde cero, sino que se parte de un esqueleto pre-diseñado.
En el código de un módulo no se encuentra la función "main", en sustitución, hay llamadas "init_module" y "cleanup_module". Se ejecutan al cargar y al descargar el módulo de la memoria respectivamente.
Existen cuatro secciones fundamentales en el código, las cuales se ejecutan en etapas bien diferenciadas. El mecanismo de acceso al módulo es muy semejante al de un fichero. Corresponde cada sección del código a cada una de las operaciones básicas con ficheros. Cada parte del módulo "Saddev" responde a las solicitudes de la aplicación de la zona de usuario:
• Apertura del fichero: Cuenta las veces que se abre el fichero. Permite un control del acceso al hardware para evitar que se intente utilizar por más de una petición simultánea.
• Lectura del fichero: Controla todas las operaciones del hardware encaminadas a obtener las muestras de los canales analógicos. Declaración de las variables temporales y de la estructura de datos donde se almacena la información. Consta del mecanismo para la transferencia de la zona de memoria del kernel a la zona de memoria del usuario.
• Escritura del fichero: Reservada para futuras implementaciones en la operación de otras líneas de puerto de propósito general.
• Cierre del fichero: Usado para realizar decrementos al contador involucrado en la cantidad de accesos al módulo, indicando si se puede realizar otra operación en el hardware sin interferir en una anterior.
Las temporizaciones se realizaron usando la función "udelay" brindada por el núcleo. El tiempo de ejecución de la función ya no es comparable con el tiempo de demora, esto es posible debido a un mayor acceso a los recursos del sistema, incluido sus privilegios.Una vez montado el "Saddev" en el sistema operativo, se inicializan los registros, variables y puertos del DNP/1110.
En el "Evento 1" (figura 2), se espera por una operación de fichero por parte de la aplicación que corre en la zona de usuario para acceder al dispositivo. La otra posibilidad es que ocurra una orden para desmontar el dispositivo del sistema, representado esto en el diagrama por "Liberación". Siempre que se ordena desmontar el controlador, se comprueba el contador, para evitar cerrar el dispositivo durante alguna operación pendiente. De ocurrir un error aquí, se notifica adecuadamente en el registro del sistema operativo.
Una vez que se realiza la operación "abrir fichero", hay varias posibilidades, las cuales dependen de la aplicación en la zona de usuario, lo cual se refleja en el "Evento 2". Si se lee o se escribe, siempre retorna a la espera de una nueva orden. Es importante destacar que el orden de las operaciones a realizar en "Saddev", queda definido por los requisitos del SAD impuestos al programa en la zona de usuario.
En "Leer" se obtienen secuencialmente las magnitudes de los canales del conversor A/D y representa la etapa más compleja e importante. Los registros y puertos se mapean para tener acceso a las líneas del puerto y al bus de expansión. Un ciclo se encarga de las N muestras, en donde:
1. Se envía un pulso de 4 µs de duración a los LF398 para capturar las señales.
2. Mediante un lazo se realiza la conversión de cada uno de los canales, lo cual presupone:
• Ajustar y enviar la configuración de control del conversor A/D. En este punto se selecciona el canal.
• Espera de 4 µs (fin de conversión).
• Almacenamiento del canal convertido
La función "copy_to_user" se utiliza en un lazo (dispositivo de tipo carácter) para transferir la información a la zona de usuario.
Realizar el muestreo de las señales con el módulo "Saddev", permite obtener en tres ciclos de la señal 1011 muestras (frecuencia de muestreo de 20.22 kHz). En la figura 3, se observa el muestreo de una señal de alterna.
Labview fue creado en primera instancia para su uso en máquinas MAC, extendiéndose su uso paulatinamente a las otras plataformas como Windows, UNIX y GNU/Linux. Su principal propósito es ser una herramienta gráfica para instrumentación y control de procesos, aunque no está restringido a esta área en específico. Es un lenguaje de programación gráfico, el cual basa su potencia en la sustitución del código por iconos conectados entre sí por líneas, por las que fluyen los datos.
El programador crea una interfase de usuario con un grupo de herramientas y objetos, la cual se controla a través de la combinación de iconos que representan las distintas funciones del programa. En otras palabras, se divide en dos la programación. Una parte es el panel frontal (objetos de la interfase de usuario), y la otra parte es el diagrama en bloques (contiene la programación). Los programas creados se llaman instrumentos virtuales, por su parecido y funcionamiento similar a los instrumentos reales.
La facilidad de uso permite crear algoritmos relativamente complejos con pocos conocimientos avanzados de programación, tarea imposible con un lenguaje tradicional. Gracias a sus bondades es muy rápido crear una aplicación compleja con el equivalente a cientos o miles de líneas de código.
Usando esta poderosa herramienta en la plataforma Windows, se desarrollaron tres programas encargados de los respectivos ensayos, enlazándose estos por una red LAN para ejecutar las tareas de control, recibir los datos, procesarlos y presentar los resultados; estos son: "Ensayo_Vacío.vi", "Ensayo_con_Carga.vi" y "Ensayo_Temperatura.vi".
Usando como referencia la pestaña activa, se habilitan/deshabilitan partes del programa. Al deshabilitar lo que no es de obligatoria ejecución, se disminuye el uso de los recursos de memoria y CPU
En la figura 4, se muestra una captura del panel frontal de una de las aplicaciones realizadas en Labview. Las aplicaciones están desarrolladas de forma tal que cada una de las pestañas del programa tiene una función bien determinada.
Las pestañas están distribuidas de la siguiente forma:
• Entrada de datos: En ella se entran los datos necesarios del transformador bajo ensayo para poder realizar las mediciones correctamente.
• Control y visualización de las mediciones: Se lleva a cabo el control de la activación, visualización y selección de la medición que se va a llevar a cabo. En esta etapa se registran los valores necesarios para procesarlos posteriormente según la norma IEEE.
• Resultados del ensayo: Una vez concluido el proceso de medición, en esta pestaña se muestra el resultado del ensayo, con los resultados en las unidades de medida adecuados según la norma.
• Configuración del sistema: Se determina que canales van a ser usados, la calibración de los mismos, así como la configuración de red del sistema.
Una sección de la programación en Labview se muestra a continuación. Por motivos del número de subvi utilizados, así como su extensión, no es posible presentarlos todos. Figura 5.
RESULTADOS Y DISCUSIONES
Se diseña el sistema automático de medición para los ensayos de pérdidas de vacío y corriente de excitación, pérdidas con carga y tensión de impedancia, así como, incremento de temperatura en los transformadores de distribución. El nuevo sistema automático de medición permite elevar el nivel técnico y profesional del Laboratorio de Transformadores de Distribución del CIPEL.
La utilización de un módulo cargable del núcleo de GNU/Linux en el sistema de adquisición de datos para garantizar el adecuado muestreo de las señales, representa una solución novedosa en este tipo de aplicación. A pesar de la complejidad en la programación de los módulos con respecto al estilo tradicional, los beneficios reportados en este trabajo demuestran su importancia y perspectivas futuras en los diseños de sistemas de adquisición de datos. El aumento de la frecuencia de muestreo a 20.22 kHz es posible por el uso del módulo cargable.
Los tres programas desarrollados en Labview para cada uno de los ensayos, incluyen instrumentos virtuales que no se encontraban en dicho laboratorio. Se dispone de un voltímetro de respuesta promedio calibrado en eficaz y se calcula el valor de distorsión armónica en la tensión eléctrica de la fuente de alimentación.
Hay que tener en cuenta que, gracias a la comunicación socket TCP/IP entre el sistema empotrado y la computadora ejecutando una aplicación de Labview, se tiene un sistema flexible y robusto para la
realización de las pruebas.
REFERENCIAS
1. Transformers Committee of the IEEE Power Engineering Society. IEEE Standard Test Code for Liquid-Immersed. Distribution, Power, and Regulating Transformers, EEE Std C57.12.90TM-2006, 2007.
2. Wikipedia. Labview. [en línea]. 15 mayo 2009, [consulta: 22 de septiembre del 2010]. Disponible en: http://es.wikipedia.org/wiki/Labview
3. "National Instruments. Labview, User Manual", [en línea], [consulta: 22 de septiembre del 2010], Disponible en: http://www.ni.com/pdf/manuals/320999e.pdf
4. SSV EMBEDDED SYSTEMS. DIL/NetPC DNP/1110 Starter Kit Users Manual. [en línea], [consulta : 22 de septiembre del 2010], Disponible en: http://www.dilnetpc.com/d1110um.pdfmanual
5. Analog Device. AD7891. [en línea], 2004, [consulta: septiembre del 2010], Disponible en: http://www.analog.com/static/imported-files/data_sheets/AD7891.pdf
6. Philips Semiconductors Linear. LF398N. [en línea], 1994, [consulta: 22 de septiembre del 2010], Disponible en: http://www.datasheetcatalog.com/datasheets_pdf/L/F/3/9/LF398N.shtml
7. Sensitec. CMS2000. [en línea], 2008, [consulta: 22 de septiembre del 2010], Disponible en: http://www.sensitec.com/en/index.php?s=3,1,0&p=42
8. ARIAN. Nota técnica 4: Pt100, su operación, instalación y tablas. [en línea], [consulta: septiembre del 2010], Disponible en: http://www.arian.cl/downloads/nt-004.pdf
9. SALZMAN, Peter, The Linux Kernel Module Programming Guide [en línea], [consulta: 22 septiembre del 2010], Disponible en: http://tldp.org/LDP/lkmpg/2.4/html/index.html, ISBN 1441418865.
10. WELSH, R. L.; K. D., Matthias, Running Linux. New York. O'Reilly Media, 4ta Edición, Diciembre 2002, ISBN 0596002726.
11. AIVAZIAN, T., Linux Kernel 2.4 Internals: Process and Interrupt Management [en línea], [consulta : septiembre del 2010], Disponible en: http://www.moses.uklinux.net/patches/lki-2.html
12. LinuxHowtos.org. Linux Howtos: C/C++ -> Sockets Tutorial [en línea]. Agosto 2010. [consulta: 22 de septiembre del 2010], Disponible en: http://www.linuxhowtos.org/C_C++/socket.htm
13. TLDP. Programación Básica de Sockets en Unix para Novatos [en línea]. Febrero 2010. [consulta: 22 de septiembre del 2010], Disponible en: http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html
14. PEREIRA, A., "Programación de sockets en lenguaje C. | es Linux". [en línea], Marzo 2010 [consulta: 22 de septiembre del 2010], Disponible en: http://www.eslinux.com/articulos/8591/programacion-sockets-lenguaje-c
15. CHUIDIANG. Sockets en C de Unix/Linux [en línea], 2009. [consulta: 22 de septiembre del 2010], Disponible en: http://www.chuidiang.com/clinux/sockets/sockets_simp.php
Recibido: Noviembre del 2011
Aprobado: Enero del 2012
Josnier Ramos Guardarrama. Ingeniero Electricista, Master en Ingeniería Eléctrica.Centro de Investigaciones y Pruebas Electroenergéticas (CIPEL) Instituto Superior Politécnico José Antonio Echeverría ,Cujae, La Habana, Cuba. e-mail: josnier@electrica.cujae.edu.cu