Вы находитесь на странице: 1из 6

Medicin de Potencia Elctrica en Cargas no Lineales Usando un DSP de Punto Fijo

1
1 2

Ulises S. Rosas Anguiano y 2M.A. Arjona

Instituto Tecnolgico Superior de Lerdo, Depto de Ciencias Bsicas, Cd. Lerdo, Dgo. Mex. Instituto Tecnolgico de la Laguna, Depto Ingeniera Elctrica-Electrnica, Torren, Coah. Mex. los 20s y de los 30s se tuvo un lapso de tiempo en que este campo de la investigacin no fue explorado. Fue que hasta los aos 70s que debido al crecimiento en el uso de los dispositivos electrnicos de potencia y dispositivos cada vez ms sensibles a los disturbios en los sistemas, diferentes autores propusieron nuevos mtodos para la definicin de las componentes de potencia elctrica. II. MEDIO AMBIENTE DE DESARROLLO El medio ambiente de desarrollo, Code Composer Studio (CCS) es un ambiente de desarrollo integrado (IDE) por sus siglas en ingls el cual est desarrollado especialmente para la programacin y el monitoreo de procesos y variables del DSP F2812. El CCS viene como parte del kit de desarrollo F2812 ezDSP kit Tools el cual contiene tambin una tarjeta de desarrollo en la que se incrusta el DSP, una conexin a la computadora por medio del puerto paralelo y una fuente de alimentacin. Este kit de desarrollo es de mucha utilidad ya que el CCS opera como una estacin de monitoreo para las diferentes variables del DSP, por lo que reduce el tiempo de desarrollo. Contiene adems una serie de herramientas como ventanas de visualizacin (watch windows), ventanas para graficar variables, puntos de ruptura, etc. Una herramienta de suma importancia es su programador flash, por lo que elimina la necesidad de un grabador adicional. Bajo esta caracterstica se podra utilizar este kit de desarrollo como un programador ya que el chip DSP no viene adherido por soldadura -a diferencia de otros kits de desarrollo- sino que se coloca en un porta integrado el cual es de mucha utilidad. El CSC tiene tambin una opcin de trabajo en tiempo real, lo que significa es que se pueden estar monitoreando variables adquiridas por el DSP va ADC GPIO, y observarlas mientras se est ejecutando el programa. El DSP F2812 tiene una modalidad de trabajo tambin muy til, la cual no requiere grabar en memoria flash, sino slo en las secciones de memoria RAM disponibles, por lo que la deteccin de errores en los programas se hace ms rpida. Lo que sucede es que el cdigo de programa est en una seccin de memoria RAM y se asignan otras secciones a las variables de programa. La desventaja de lo anterior es que si se realizan programas grandes o se utilizan programas con un gran nmero de variables se deber utilizar la memoria flash. Un gran nmero de programas base se pueden encontrar en la pgina de desarrollo de Texas Instrument las cuales ensean el uso de los diferentes dispositivos del DSP utilizando programacin en C y CCS.

Resumen: Este artculo describe la implementacin del algoritmo de la transformada rpida de Hartley (FHT) y la medicin de las componentes de potencia. Algunos de estos trabajos se realizaron inicialmente en Visual C++ como una base para el desarrollo en el DSP TMS3200F2812. La programacin en el DSP se realiza en un kit de desarrollo diseado por la compaa Texas Instrument para el DSP, y se hace en lenguaje C C++ segn se elija, una serie de instrucciones de direccionamiento a registros y perifricos creados especialmente para su manejo. El propsito de desarrollar algoritmos de identificacin armnica va encaminado a la bsqueda de un medidor de componentes de potencia lo cual requiere un gran nmero de clculos. El uso de un DSP proporciona una mayor velocidad de cmputo y ms eficiencia que los dispositivos microcontroladores como los PICs. Adems se requiere una buena cantidad de memoria que generalmente los microcontroladores o microprocesadores no poseen.

I. INTRODUCCIN El DSP TMS320F2812 es un microprocesador de punto fijo, especializado para el cmputo de operaciones matemticas y que pertenece a la familia del C2000 de Texas Instrument. La familia del C5000 se utiliza en dispositivos porttiles como celulares o equipos de comunicacin. La familia del C6000 se utiliza para aplicaciones ms complejas como manejo de video. La familia del C2000 se utiliza generalmente para control de motores, control digital, fuentes de alimentacin digital y sensores inteligentes, sin embargo la alta capacidad del TMS320F2812, sin llegar a estar en la familia del C5000 C6000 lo hacen adecuado para aplicaciones en calidad de la energa elctrica. Otras de las caractersticas importantes del TMS320F2812 son su capacidad para actuar como un DSP de punto flotante virtual, adems de sus 150 millones de instrucciones por segundo (MIPS) [1]. Estas caractersticas lo hacen muy recomendable para el desarrollo en una amplia gama de aplicaciones. Despus de las dcadas de

POR EL COMIT DE EDUCACIN DEL CAPTULO DE POTENCIA DEL IEEE SECCIN MXICO Y PRESENTADA EN LA REUNIN DE VERANO, RVP-AI2007, ACAPULCO GRO., DEL 8 AL 14 DE JULIO DEL 2007.

RVP-AI/2007 EDU-18 PONENCIA RECOMENDADA

III. REPRESENTACIN IQMATH Una de las caractersticas que hacen del F2812 un procesador altamente confiable y poderoso es la biblioteca IQmath. El IQmath es una biblioteca de funciones matemticas optimizadas y de alta precisin. El IQmath Libray hace que el F2812 (un procesador de punto fijo) un procesador de punto flotante por lo que al IQmath tambin se le describe como una tcnica para implementar un sistema de punto flotante virtual para simplificar los procesos de diseo. La biblioteca incluye funciones que se utilizan en aplicaciones donde se requiere una alta velocidad de procesamiento y precisin. Mediante el uso de estas funciones se alcanzan velocidades de cmputo mucho ms altas a los programas escritos en lenguaje estndar ANSI C, por lo que el tiempo de cmputo se ve realmente disminuido. Tpicamente el diseo de una aplicacin comienza por una etapa de simulacin en MatLab. Si se utilizara un procesador de punto flotante este programa sera fcilmente trasladado al dispositivo, sin embargo, la utilizacin de este tipo de DSP's aumenta en una buena proporcin los costos, por lo que se prefiere utilizar un dispositivo de punto fijo en muchos sistemas y aplicaciones. Por otro lado, el trabajo y el tiempo de desarrollo que se requiere para trasladar un algoritmo de punto flotante a un dispositivo de punto fijo, es mayor.

La figura 2 muestra un ejemplo de un nmero de punto flotante. Otra caracterstica de los nmeros flotantes IEEE-754 es que al estar ms cerca de cero tendrn mayor precisin; de forma contraria si el nmero est alejado de cero la precisin disminuir (Fig. 3).

Figura 3. La precisin de un nmero flotante disminuye conforme se aleja de cero.

La representacin de un nmero en IQmath se indica en la figura 4.

Figura 4 Representacin de un nmero en formato IQmath.

Figura 5.

Ejemplo de un nmero representado en formato IQmath.

IV. REPRESENTACIN CON PUNTO FLOTANTE E IQMATH La representacin de un nmero de punto flotante est dada por el estndar IEEE-754 como lo muestra la figura 1.

En la figura 5 se muestra la representacin de un nmero flotante en formato IQmath. El formato IQmath tiene la ventaja de poseer la misma precisin para todos los nmeros en ese formato, por el contrario su desventaja radica en que su rango dinmico es limitado en comparacin al de punto flotante. La figura 6 muestra la distribucin uniforme de los nmeros en formato IQmath, es decir poseen la misma precisin en todas las partes.

Figura 6. Precisin uniforme de los nmeros expresados en formato IQmath. Figura 1. Representacin de un nmero flotante IEEE-754.

Cada nmero se compone de 1 bit de signo, 8 bits para exponente y 23 bits para mantisa. Esta representacin tiene una ventaja y una desventaja. La ventaja es que da un rango dinmico extenso, es decir, se pueden representar nmeros muy grandes y nmeros muy pequeos. Su desventaja es que la precisin de este nmero depender de su exponente, o bien, si tuviramos un exponente con mayor nmero de bits la precisin aumentara, sin embargo esto no es posible dadas las caractersticas del hardware.

Figura 2 Ejemplo de un nmero de punto flotante.

La representacin de nmeros fraccionarios tiene la ventaja de que al multiplicar dos nmeros el resultado no crece, por tanto se mantienen en un tamao que se puede representar dentro de una palabra. Los formatos IQ y Q se refieren a una interpretacin de nmeros binarios, sin embargo, el trmino Q se refiere slo a aquellos que no tienen bits enteros, es decir su rango est entre -1<Q<1. Por otro lado el trmino IQ se refiere tanto a la parte fraccionaria como a la parte entera. As que se incrementa el rango de representacin de 1 al nmero de bits de precisin que se necesite utilizar. La utilizacin del formato IQmath en C se utiliza de una manera muy sencilla similar a utilizar funciones y a declarar variables de un tipo especial: _iq. Si por otro lado se utiliza IQmath en cdigo C++ es mucho ms sencillo ya que las operaciones son exactamente igual, como lo muestra la tabla 1. Por ejemplo, supongamos que tenemos una ecuacin lineal:

y=mx+b
float Y, M, X, B; Y = M * X + B; Q para punto fijo long Y, M, X, B; Y = ((i64) M * (i64) X + (i64) B << Q)) >> Q; IQmath en C _iq Y, M, X, B; Y = _IQmpy(M, X) + B; IQmath en C++ _iq Y, M, X, B; Y = M * X + B; Tabla 1. Diferentes representaciones de la ecuacin y=mx+b en cdigo. Punto flotante

Esta puede ser representada como punto flotante, como formato Q para punto fijo, IQmath en C e IQmath en C++. Cada parte de cdigo se muestra en la tabla 1, en donde se puede observar que para IQmath en C solo se requiere declarar variables tipo _iq y utilizar una funcin de multiplicacin con sus respectivos argumentos. Para IQmath en C++ esto es mucho ms sencillo ya que slo se declaran las variables tipo _iq y las funciones matemticas permanecen iguales al formato de punto flotante. Al utilizar variables _iq se refiere a que el usuario est definiendo las variables _iq globales de algn valor en especfico, por ejemplo podramos declarar en cdigo en uno de los archivos fuente del nuestro programa de usuario #define GLOBAL_Q 18 con lo estaramos definiendo todas las variables con una precisin de _iq18. V. DESEMPEO DEL IQMATH En la referencia [3] se realiza el control de un motor de induccin sin sensor, iniciando con un simulador y posteriormente aplicado a un motor real utilizando DSP's de distintas plataformas. En la tabla 2 se muestra una comparacin entre sus diferentes caractersticas. En ella se puede ver claramente que el nmero de MIPS en el F28x (C28x) es muy cercano al nmero de MIPS al cual se desempea la familia del C67x el cual es un procesador de punto flotante. Segn este estudio no cabe duda que la herramienta del IQmath dentro del F2812 lo hace un procesador de alto desempeo. VI. GENERACIN DE SEALES DE PRUEBA CON LABVIEW LabView es un entorno de programacin que utiliza bloques para programar en vez de cdigo como los lenguajes convencionales C, C++, Basic, etc. Dada esta caracterstica se le llama lenguaje de programacin G y hace de LabView una herramienta muy poderosa para el diseo de un gran nmero de aplicaciones. Su principal

Ciclos de control Ciclos de 1081 829 1295 control de retroalimenta cin Ciclos de la 1563 1137 1922 ley de control en total MIPS usadas 31.3 22.7 MIPS 38.4 MIPS en total MIPS Tabla 2. Comparacin en el desempeo de diferentes DSP's sobre el control de un motor de induccin sin sensor.

C28x C IQmath 150 MHz. 482

C3x C float 75 MHz. 308

C67x C float 167 MHz. 627

ventaja radica en que el tiempo de desarrollo se hace mucho ms corto, aplicaciones que en otro tipo de lenguaje tomaran varias semanas o meses, en LabView se puede desarrollar en pocos das. Adems LabView contiene un gran nmero de bloques que facilitan el trabajo en diferentes reas de la investigacin, bloques de control, de lectura de puertos, comunicaciones, procesamiento digital de seales. Contiene tambin bloques para generar bibliotecas de enlace dinmico (DLLs) as como para leerlas, bloques para interactuar con MatLab y bloques de cdigo en C++. Pero a pesar de su entorno altamente amigable, LabView no es todo bueno; tiene la desventaja de que no se puede trabajar en tiempo real. Para lograrlo se tendra que adquirir un kit de tiempo real por hardware o bien adquirir una nueva licencia para software en tiempo real que adems requiere la utilizacin de un software llamado RTX de Ardence que proporciona a Windows XP la caracterstica de trabajar en tiempo real y que adems es de un costo significativo. Siguiendo esta lnea de desventajas LabView no genera ejecutables, por lo que tambin se requiere la adquisicin de una nueva licencia. VII. RESULTADOS Las fases de diseo generalmente ocuparon los siguientes pasos: a) Etapa de simulacin utilizando Visual C++ y b) Implementacin en CCS y DSP F2812. Para cada prueba se utiliz un VI de LabView, el cual fue utilizado como generador de seales, ya sea emulando un decaimiento o seales con contenido armnico para corriente o voltaje como se muestra en la Fig. 7. En esta seccin se muestran los resultados obtenidos de la identificacin armnica. Al igual que en la seccin anterior se utiliz un VI de LabView en el cual se gener una seal con diferente contenido armnico y la cual fue muestreada por el DSP. La seal nuevamente es generada a niveles de 0-3 V, aunque despus de ser muestreada por el DSP se convierte a los niveles de 1.5 V, para ser tratados por la FHT.

0.0167/0.00041999=39.7629 datos/ciclo 512/39.7629=12.8763 ciclos muestreados.

y de esta

Figura 7. Instrumento virtual de LabView para generar una seal con contenido armnico impar del 1-19.

La figura 9 muestra el espectro de frecuencias de la seal mostrada en la figura 8. Esta seal no representa algn problema de la calidad de la energa en especfico, slo se elige de esta manera para efectos de pruebas. El nmero de armnicos se elige en base al tamao de la memoria RAM. Dado que los nmeros que se utilizan son flotantes ocuparan el doble de tamao. Utilizando el clculo de una FHT de 1024 datos implicara una mayor RAM. El espectro de la figura 9 fue calculado con la ventana de Hanning causa por la cual se puede observar una desigualdad en la magnitud de los armnicos pese que deben ser iguales. Las diferentes tcnicas para la medicin de las componentes de potencia se discuten en [4]. En esta seccin se mostrarn los resultados obtenidos al utilizar aplicados al DSP. En la figura 10 se muestra el VI que se utiliz. En l se generan dos seales las cuales representan la corriente en la parte superior y el voltaje en la inferior. A diferencia del VI de la figura 7 en este VI se consideran tanto los armnicos pares como los impares del 1-19. La figura 11 muestra tambin la seal representativa de la corriente con contenido armnico del 1-19 pares e impares y con una magnitud de 0.1 a una amplitud fundamental de 0.5.

Figura 8. Grfica mostrando una seal formada de armnicos impares (n=1-19)

La figura 7 muestra el VI de LabView en el cual se pueden seleccionar la magnitud de los armnicos impares del 1 al 19. Se eligieron los armnicos impares debido a que estos son los que afectan en mayor medida a los sistemas elctricos. La seal generada y que se muestra en la figura 7 contiene todos los armnicos impares hasta el 19 con una amplitud de 0.2. Esta seal es inyectada al DSP y es mostrada en la figura 8. La seal se muestrea con un tiempo de muestreo Ts=0.00041999 s. y se guarda en vectores de 512 muestras. Ts es medido por medio de uno de los pines GPIO y el osciloscopio. De este valor podemos obtener

Las seales fueron muestreadas simultneamente por el DSP a un periodo de muestreo Ts=0.00052187 s. tomando 512 muestras repartidas en 16 ciclos. Ts fue elegido mediante: 512 datos/16 ciclos=32 datos/ciclo, de este Ts=0.0167/32=0.00052187s. Las seales muestreadas por el DSP son mostradas en la figura 11, la seal superior representa la seal de voltaje y la inferior la de corriente. Estas son procesadas mediante FHT para obtener sus espectros de frecuencias y sus fases y as calcular las diferentes cantidades de potencia.

Figura 10. Instrumento virtual de LabView para generar dos seales con contenido armnico par e impar (n=1-19). Figura 9. Espectro de frecuencias de la seal de la figura 7.

Figura 11. Seales muestreadas de voltaje en la parte superior y corriente en la inferior.

Figura 14. Cantidades de potencia definidas por Czarnecki y calculadas en el DSP F2812.

Figura 12. Espectros de frecuencias de voltaje y corriente de la figura 11 de voltaje en la parte superior y corriente en la parte inferior.

La figura 12 muestra los espectros de frecuencias de las seales mostradas en la figura 11. La grfica de la parte
Figura 15. Cantidades de potencia definidas por el grupo de trabajo de la IEEE y calculadas en el DSP F2812.

superior representa el espectro de frecuencias de la seal de voltaje y la grfica inferior corresponde al espectro de corriente. En esta figura se puede observar que las amplitudes se observan relativamente iguales en comparacin al espectro de la figura 9, donde visiblemente son diferentes. Esto se debe a que en lugar de utilizar una ventana de Hanning se utiliz la ventana flat top por lo que tambin la resolucin de la frecuencia se ve disminuida.
Figura 13. Cantidades de potencia definidas por Budeanu y calculadas en el DSP F2812.

Las tablas mostradas en las figuras 13, 14 y 15 son las ventanas llamadas watch windows de CCS las cuales permiten observar variables manejadas por el DSP. En ellas se muestran las diferentes cantidades que se han calculado para cada uno de los tres mtodos ms aceptados.

El desempeo del IQmath en comparacin a la aritmtica de punto flotante se muestra en la tabla 3. Las mediciones fueron hechas generando pulsos a travs de los pines GPIO del DSP, de manera que al iniciar una funcin, una de stas salidas cambi de nivel y al finalizar la funcin regres a su estado inicial. Cada uno de estos pulsos fue medido con el osciloscopio. En la tabla se puede observar el alto desempeo de la biblioteca IQmath ya que para todos los casos el porcentaje de mejora fue superior al 74%. Esta caracterstica hace del DSP F2812 un procesador altamente recomendable.
Cmputo Aritmtica de punto flotante. 128 ms 484 ms 12.60 ms 140 ms Aritmtica utilizando IQmath. 32.8 ms 74 ms 800 s 33.60 ms Porcentaje de mejora.

[3].

[4].

Machine, Literature Number: SPRS174L, December 2004. U.S. Rosas Anguiano y M.A. Arjona. Deteccin de armnicos utilizando la transformada rpida de Hartley. Congreso RVP-IEEE, Acapulco, Gro. Mxico. 2006. U.S. Rosas A. y M.A. Arjona. Mtodos para el clculo de potencia elctrica en cargas no lineales. Enviado a la RVP-IEEE 2007, Acapulco, Gro. Mx. XI. BIOGRAFAS

FHT 74.3750 FHT de I y V 84.7107 Ventana flat top 93.6508 FHT y ventana 76 flat top Tabla 3. Comparacin entre la librera IQmath y aritmtica de punto flotante.

Ing. Ulises Salvador Rosas Anguiano. Naci en la Cd. de Mxico en 1980. Ingeniero Electrnico egresado del Instituto Tecnolgico de la Laguna en 2004. Curso la Maestra en Ciencias de la Ingeniera Elctrica en el Instituto Tecnolgico de la Laguna en el rea de potencia. Sus intereses de estudio estn en el procesamiento digital de seales en sistemas embebidos e instrumentacin electrnica. Email: salpiano@hotmail.com Dr. Marco A. Arjona L. Ingeniero industrial en elctrica, egresado del Instituto Tecnolgico de Durango en 1988. Recibi el grado de maestro en ciencias en Ingeniera Elctrica en el Instituto Tecnolgico de la Laguna en 1990. En 1996 obtuvo el grado de Doctor en Filosofa en Ingeniera Elctrica en el Imperial College of Science, Technology and Medicine, Londres, Inglaterra. Fue investigador en el Instituto de Investigaciones Elctricas en el periodo 1991-1998. Actualmente es profesor investigador del Instituto Tecnolgico de la Laguna. Sus reas de inters incluyen diseo, modelado y simulacin de mquinas elctricas, electrnica de potencia y control aplicado. Email: marjona@ieee.org

VIII. CONCLUSIONES El DSP TMS320F2812 es un procesador digital de un alto desempeo, sin llegar a ser un procesador dentro de la familia C6000 de Texas Instruments que incluye a los ms grandes y costosos. Aunque su propsito es en particular el control de motores, puede ser de gran utilidad en el rea de identificacin armnica. El DSP suele ser complejo y su dominio requiere un buen tiempo de estudio sobre cada mdulo, sin embargo, existe una serie de programas ejemplo con los cuales se puede llegar a algunas aplicaciones. Como se ha mencionado, el IQmath lo hace un procesador muy efectivo a nivel de algunos de la familia C6000, por todo esto se recomienda ampliamente. Se realiz la implementacin de los tres mtodos propuestos en la literatura para la medicin de potencia elctrica. IX. AGRADECIMIENTOS El primer autor agradece al Instituto Tecnolgico Superior de Lerdo por el apoyo econmico brindado y el segundo autor agradece Instituto Tecnolgico de la Laguna y a la DGEST por el financiamiento recibido en esta investigacin. X. REFERENCIAS [1]. Texas Instrument, TMS320F2810,TMS320F2811, TMS320F2812, TMS320C2810, TMS320C2811, TMS320C2812 Digital Signal Processors Data Manual, Literature Number: SPRS174L, December 2004. David M. Alter Senior Member Technical Staff Texas Instrument Inc., IQ Math on the Texas Instruments TMS320C28x DSP Virtual FloatingPoint Programming On A 32-Bit Fixed-Point

[2].

Вам также может понравиться