escuela superior de ingenierÍa mecÁnica y...

147
INSTIT “DIS ANALIZ UNA PL Q Ingenie Ingenie Ingenie Ingenie A M M ES TUTO POLITECNICO NA SEÑO Y CONSTRUCCION DE ZADOR DE ESPECTROS US LATAFORMA BASADA EN TESIS Que para obtener el grado de ero en ero en ero en ero en Comunicaciones y Electr Comunicaciones y Electr Comunicaciones y Electr Comunicaciones y Electr Presenta: Alejandro Soberanis Garfias Asesores: M.C. Raúl Ruiz Meza M.C. Manuel Gracida Aguirre Dr. Raúl Ruiz Meza México, D.F. Agosto del 2008 SCUELA SUPERIOR DE INGEN MECÁNICA Y ELÉCTRICA ACIONAL E UN SANDO FPGA” e: rónica rónica rónica rónica s e 8 NIERÍA

Upload: phungtu

Post on 28-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

INSTITUTO POLITECNICO NACIONAL

“DISEÑO Y CONSTRUCCION DE UN ANALIZADOR DE ESPECTROS USANDO UNA PLATAFORMA BASADA EN FPGA”

Que para obtener el grado de:

Ingeniero en Ingeniero en Ingeniero en Ingeniero en

Alejandro Soberanis Garfias

M.C. Manuel Gracida Aguirre

México, D.F.

ESCUELA SUPERIOR DE

INSTITUTO POLITECNICO NACIONAL

“DISEÑO Y CONSTRUCCION DE UN ANALIZADOR DE ESPECTROS USANDO UNA PLATAFORMA BASADA EN FPGA”

TESIS

Que para obtener el grado de:

Ingeniero en Ingeniero en Ingeniero en Ingeniero en Comunicaciones y ElectrónicaComunicaciones y ElectrónicaComunicaciones y ElectrónicaComunicaciones y Electrónica

Presenta:

Alejandro Soberanis Garfias

Asesores:

M.C. Raúl Ruiz Meza

M.C. Manuel Gracida Aguirre

Dr. Raúl Ruiz Meza

México, D.F. Agosto del 2008

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

INSTITUTO POLITECNICO NACIONAL

“DISEÑO Y CONSTRUCCION DE UN ANALIZADOR DE ESPECTROS USANDO UNA PLATAFORMA BASADA EN FPGA”

Que para obtener el grado de:

Comunicaciones y ElectrónicaComunicaciones y ElectrónicaComunicaciones y ElectrónicaComunicaciones y Electrónica

Alejandro Soberanis Garfias

M.C. Manuel Gracida Aguirre

del 2008

INGENIERÍA

TESIS PROFESIONAL

Pág. 2

TESIS PROFESIONAL

Pág. 3

TESIS PROFESIONAL

Pág. 4

A mi familia, y a todas las personas que creyeron en mí, al mantenerse a mi lado a pesar A mi familia, y a todas las personas que creyeron en mí, al mantenerse a mi lado a pesar A mi familia, y a todas las personas que creyeron en mí, al mantenerse a mi lado a pesar A mi familia, y a todas las personas que creyeron en mí, al mantenerse a mi lado a pesar

de la adversidad.de la adversidad.de la adversidad.de la adversidad.

A mis profesores, que gracias a su paciencia, he logrado ir fortaleciendo mis A mis profesores, que gracias a su paciencia, he logrado ir fortaleciendo mis A mis profesores, que gracias a su paciencia, he logrado ir fortaleciendo mis A mis profesores, que gracias a su paciencia, he logrado ir fortaleciendo mis

conocimieconocimieconocimieconocimientos.ntos.ntos.ntos.

A mis asesores, el DrA mis asesores, el DrA mis asesores, el DrA mis asesores, el Dr. Raúl Ruiz Meza y M.C. Manuel Gracida Aguirre, quienes . Raúl Ruiz Meza y M.C. Manuel Gracida Aguirre, quienes . Raúl Ruiz Meza y M.C. Manuel Gracida Aguirre, quienes . Raúl Ruiz Meza y M.C. Manuel Gracida Aguirre, quienes

tuvieron el tiempo y la dedicación para auxiliarme en el desarrollo de esta Tesis.tuvieron el tiempo y la dedicación para auxiliarme en el desarrollo de esta Tesis.tuvieron el tiempo y la dedicación para auxiliarme en el desarrollo de esta Tesis.tuvieron el tiempo y la dedicación para auxiliarme en el desarrollo de esta Tesis.

Y Y Y Y en especial en especial en especial en especial a mi a mi a mi a mi hijahijahijahija y a mi esposay a mi esposay a mi esposay a mi esposa, qu, qu, qu, quiiiieeeenes son mi fortaleza.nes son mi fortaleza.nes son mi fortaleza.nes son mi fortaleza.

AGRADECIMIENTOS

TESIS PROFESIONAL

Pág. 5

Título:

“DISEÑO Y CONSTRUCCION DE UN ANALIZADOR DE ESPECTROS USANDO UNA PLATAFORMA BASADA EN FPGA”

ESIME-ICE

TESIS PROFESIONAL

Pág. i

CONTENIDO

ÍNDICE DE FIGURAS. ÍNDICE DE TABLAS. SIMBOLOGÍA. OBJETIVOS. INTRODUCCIÓN.

CAPITULO 1. MARCO TEORICO.

1.1 Introducción. 1.2 Analizador de Espectros. 1.3 Principios de Funcionamiento.

1.3.1 Acondicionamiento Analógico. 1.3.2 Antialiasing. 1.3.3 Resolución en frecuencia y frecuencia de muestreo. 1.3.4 Digitalización. 1.3.5 Almacenamiento y procesamiento. 1.3.6 Visualización.

CAPITULO 2. PLANTEAMIENTO DEL PROBLEMA.

2.1 Introducción. 2.2 Cargas lineales y no lineales.

2.2.1 Señales armónicas. 2.2.2 Serie de Fourier.

2.3 La importancia de la medición de armónicos en los sistemas actuales.

2.4 Medidas de la distorsión en la corriente. 2.4.1 Valor eficaz. 2.4.2 Distorsión Armónica Total RMS. 2.4.3 Distorsión Armónica Total Fundamental. 2.4.4 Distorsión de Demanda Total.

2.5 Normas para control de armónicas. 2.6 Diseño propuesto.

CONTENIDO

v vii viii ix x

2 2 3 4 6 6 7

10 11

13 13 15 15

16 17 17 18 18 19 19 23

TESIS PROFESIONAL

Pág. ii

CAPITULO 3. DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA.

3.1 Introducción. 3.2 Consideraciones de diseño. 3.3 Diseño de la Tarjeta de Adquisición de Datos.

3.3.1 Acondicionamiento analógico. 3.3.1.1 Las puntas de corriente AD622. 3.3.1.2 El amplificador.

3.3.2 Acondicionamiento digital. 3.3.2.1 El Convertidor Analógico Digital. 3.3.2.2 El Buffer del acondicionamiento.

3.3.3 Plataforma FPGA. 3.3.3.1 Antecedentes de FPGAs. 3.3.3.2 Control del ADC. 3.3.3.3 El almacenamiento. 3.3.3.4 La transferencia. 3.3.3.5 La comunicación serial. 3.3.3.6 Asignación de entradas y salidas.

3.4 Lenguaje de Descripción de Hardware. 3.4.1 El lenguaje VHDL.

3.4.1.1 Librerías. 3.4.1.2 Entidad. 3.4.1.3 Arquitectura.

3.4.2 Código VHDL para el control de la adquisición de datos. 3.4.2.1 Comparador. 3.4.2.2 Control ADC. 3.4.2.3 Latch. 3.4.2.4 Reloj de muestreo. 3.4.2.5 Contador. 3.4.2.6 Memoria. 3.4.2.7 Compuerta OR. 3.4.2.8 Reloj de transferencia. 3.4.2.9 UART.

CONTENIDO

27 27 29 29 29 33 37 37 40 42 42 46 47 49 50 52 54 54 55 56 57 57 58 59 60 60 62 63 64 64 66

TESIS PROFESIONAL

Pág. iii

3.5 Diseño del software visual. 3.5.1 El lenguaje de programación Visual Basic. 3.5.2 Pantalla gráfica.

3.5.2.1 La barra de herramientas. 3.5.2.2 Gráfica de señales. 3.5.2.3 La tabla de resultados.

CAPITULO 4. CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

4.1 Introducción. 4.2 Construcción de la Tarjeta de Adquisición de Datos.

4.2.1 La fuente de alimentación. 4.2.2 Construcción del amplificador. 4.2.3 Construcción de la Tarjeta del ADC. 4.2.4 Conexiones con la Tarjeta SPARTAN 3.

4.3 Pruebas del Analizador de Espectros. 4.3.1 Prueba de la Tarjeta del ADC. 4.3.2 Prueba de comunicación.

4.4 La fuente de alimentación 6811B como instrumento Patrón. 4.4.1 Mediciones realizadas con el 6811B. 4.4.2 Mediciones realizadas con el Analizador de Espectros. 4.4.3 Análisis de resultados.

CAPITULO 5. EVALUACIÓN DEL INSTRUMENTO.

5.1 Introducción. 5.2 Metas y objetivos logrados. 5.3 Evaluación de costos y rentabilidad

5.3.1 Costo de materiales. 5.3.2 Tiempo invertido. 5.3.3 Gastos generados por la evaluación. 5.3.4 Gastos por mantenimiento. 5.3.5 Rentabilidad.

69 69 70 73 74 76

CONTENIDO

93 93 94 94 95 95 95 95

79 79 79 80 82 83 85 85 86 88 89 90 91

TESIS PROFESIONAL

Pág. iv

CONCLUSIONES.

BIBLIOGRAFÍA.

GLOSARIO

APENDICE I. LA TRANSFORMADA DISCRETA DE FOURIER. APENDICE II. MANEJO DE LAS PUNTAS A622. APENDICE III. DIAGRAMA DEL ANALIZADOR DE ESPECTROS. APENDICE IV. CODIGO FUENTE DEL SOFTWARE.

103 109 114 116

96

97

CONTENIDO

98

TESIS PROFESIONAL

Pág. v

INDICE DE FIGURAS

Figura 1. Diagrama a bloques de un Analizador de Espectros Digital. Figura 2. Diagrama básico del procesamiento de señales. Figura 3. Señal con amplitud y frecuencia constante. Figura 4. Señal recortada por el ADC. Figura 5. Alias provocado por un muestreo lento. Figura 6. Digitalización de una señal. a) Señal original, b) Señal discreta. Figura 7. Almacenamiento y procesamiento de la TDF. Figura 8. Corriente y voltaje en una carga. a) Carga lineal, b) carga no lineal. Figura 9. Curva corriente-voltaje de Lissajaus. a) Carga lineal, b) carga no lineal. Figura 10. Señal fundamental y armónicos 3, 5, 7 y 9. Figura 11. Acometida y puntos de medición de la corriente. Figura 12. Diagrama a bloques del Analizador de Espectros para la Medición de Armónicos. Figura 13. Diagrama a bloques de la Tarjeta de Adquisición de Datos. Figura 14. Puntas de corriente A622. Figura 15. Diagrama de la corriente pico máxima contra la frecuencia soportado por el A622. Figura 16. Gráfica de la ganancia a 1A pico contra frecuencia del A622. Figura 17. Análisis de la señal con TPS2024 y Punta de corriente A622. de Tektronix. Figura 18. Amplificador inversor. Figura 19. Gráficas características resistencia y capacitancia contra frecuencia del LM741. Figura 20. Tiempo de respuesta del LM741. Figura 21. Arreglo bipolar del AD1674. Figura 22. a) Entradas y salidas del AD1674, b) Diagrama de tiempos para operación en modo simple. Figura 23. El AD1674 controlado por el FPGA. Figura 24. Niveles lógicos de entrada y salida. a) TTL; b) CMOS. Figura 25. Conexión del Buffer 74HC245. Figura 26. Estructura interna de un FPGA. Figura 27. FPGA programada con PROM. Figura 28. Diagrama de estados de la FPGA. Figura 29. Esquemático para la adquisición y comunicación serial en FPGA. Figura 30. Diagrama de tiempos para el control del ADC. Figura 31. Diagrama de tiempos para la memoria FIFO. Figura 32. Diagrama de tiempos para el LATCH.

ÍNDICE DE FIGURAS

3 4 4 5 6 9

11 14 14 16 22

24 27 29

30 31

32 33

34 35 38

38 40 41 42 43 44 45 45 47 48 48

TESIS PROFESIONAL

Pág. vi

Figura 33. Diagrama de tiempos para el contador. Figura 34. Diagrama de tiempos para Generador de Pulsos de Muestreo. Figura 35. Diagrama de tiempos para Generador de Pulsos de Transmisión. Figura 36. a) Conexión UART-RS232 del SPARTAN 3, b) Cable USB-Serial. Figura 37. Conexión del FPGA en la Tarjeta SPARTAN 3. Figura 38. Esquemático del comparador. Figura 39. Esquemático de fcien. Figura 40. Esquemático Latch. Figura 41. Esquemático Gs. Figura 42. Esquemático contador. Figura 43. Esquemático FIFO. Figura 44. Esquemático or1. Figura 45. Esquemático Gt. Figura 46. Esquemático rs232_interface. Figura 47. Plataforma para el desarrollo del Software. Figura 48. Componente para la comunicación serial. Figura 49. Pantalla del software del Analizador de Espectros. Figura 50. Ciclo de procesamiento. Figura 51. Menú de la barra de herramientas. Figura 52. Diagrama de la fuente de alimentación. Figura 53. Placa de la fuente de alimentación. Figura 54. Diagrama del amplificador. Figura 55. Placa del amplificador. Figura 56. Diagrama de la Tarjeta de ADC. Figura 57. Placa de la Tarjeta de ADC. Figura 58. Diagrama de la de conexiones de la SPARTAN 3. Figura 59. Prueba de la Tarjeta del ADC. Figura 60. Prueba de comunicación de la Tarjeta de Adquisición de Datos con la PC. Figura 61. Señal triangular adquirida con el Analizador de Espectros de Baja Frecuencia. Figura 62. Diagrama de conexión para validar el prototipo. Figura 63. Gráfica de las mediciones realizadas con el 6811B. Figura 64. Gráfica de las mediciones realizadas con el Analizador de Espectros

ÍNDICE DE FIGURAS

48 49 50 51 52 58 59 60 60 62 63 64 64 66 69 70 71 72 73 79 80 81 81 82 83 84 85

86

87 88 89 90

TESIS PROFESIONAL

Pág. vii

INDICE DE TABLAS

Tabla 1. Limites de Distorsión Armónica en Voltaje, norma CFE L000-45. Tabla 2. Limites de Distorsión Armónica en Voltaje, norma IEEE 519. Tabla 3. Limites de Distorsión Armónica en Corriente en la acometida,

Norma CFE L000-45. Tabla 4. Limites de Distorsión Armónica en Corriente en la acometida,

Norma IEEE 519. Tabla 5. Corriente máxima demandados por las cargas lineales y no lineales. Tabla 6. Escalamiento para ganancia del amplificador. Tabla 7. Tiempos para el modo simple. Tabla 8. Tabla de verdad del AD1674. Tabla 9. Conexiones para la implementación del FPGA. Tabla 10. Resultados del 6811B para validación. Tabla 11. Resultados del Analizador de Espectros para validación.

ÍNDICE DE TABLAS

20 21

22

23 32 37 39 39 53 89 90

TESIS PROFESIONAL

Pág. viii

SIMBOLOGÍA

Resolución en frecuencia θ Desplazamiento entre V1 e I1 A Amplitud ADC Convertidor Analógico Digital Ch1 Canal 1 Ch2 Canal 2 DAT Distorsión Armónica Total Din Datos de entrada Dout Datos de salida COS(θ) Factor de desplazamiento F Frecuencia FP Factor de potencia Fs Frecuencia de muestreo F1 Frecuencia fundamental Fn Frecuencia de la n armónica FFT Fast Fourier Transform I1 Corriente a frecuencia fundamental In Corriente de la n armónica en RMS Irms Corriente eficaz LCD Liquid Cristal Digital N Número de muestras P Potencia PC Computadora personal S Potencia Aparente T Periodo TDF Transformada Discreta de Fourier THDR Total harmonica distortion RMS THDF Total Harmonica Distortion fundamental V1 Voltaje a frecuencia fundamental Vcd Voltaje promedio Vrms Voltaje Eficaz Vres Voltaje de resolución

SIMBOLOGÍA

TESIS PROFESIONAL

Pág. ix

OBJETIVO GENERAL

Diseñar un instrumento digital de medición de armónicos, para el análisis

de señales de corriente alterna utilizando Dispositivos Programables.

OBJETIVOS PARTICULARES

1. Diseñar un Analizador de Espectros de Baja Frecuencia, para aplicación en

mediciones de Distorsión Armónica Total en líneas monofásicas.

2. Desarrollar una Tarjeta de Adquisición de Datos, para la captura de señales

de corriente alterna, usando un FPGA.

3. Desarrollar un Software que tome los datos almacenados en la Tarjeta de

Adquisición de Datos y que evalúe la Distorsión Armónica Total, para la

demanda de corriente de cargas no lineales.

OBJETIVO

TESIS PROFESIONAL

Pág. x

INTRODUCCIÓN

El Analizador de Espectros es un instrumento, con el cual se puede

evaluar el comportamiento de una señal en el dominio de la frecuencia. En este

trabajo se plantea, el diseño de un Analizador de Espectro para aplicaciones de

baja frecuencia, con la finalidad de satisfacer necesidades de medición de

armónicos en instalaciones eléctricas.

Se ha visto, que en la actualidad, las instalaciones eléctricas están

compuestas de una gran cantidad de cargas no lineales, que provocan estragos

como: calentamiento de las líneas de distribución que obligan a tener

instalaciones más robustas, disparo de las cuchillas de los transformadores de

línea que generan interrupciones, deterioro de los equipo por calentamiento o

sobretensión, entre otros.

Lo anterior es debido a que las cargas no lineales demandan corrientes

armónicas[1], que no se pueden medir con el equipo convencional utilizados en

los laboratorios como: multímetro y osciloscopios. Para conocer estas

armónicas, se utilizan Medidores de la Calidad de la Energía (MCE), que

proporcionan parámetros como: el valor Raíz Cuadrático Medio (RMS) de los

primeros 41 armónicos, el valor promedio de la señal, el valor RMS total, así

como la Distorsión Armónica Total RMS (THDR) y la Distorsión Armónica Total

Fundamental (THDF).

Este tipo de equipos son de uso específico, por lo que en muchas

instalaciones educativas de nivel medio, superior y posgrado en las que se

imparten materias de electricidad y electrónica no se cuenta con este tipo de

equipos, por sus costos o por desconocimiento del tema.

INTRODUCCIÓN

[1] Corriente armónica.- Es aquella que se manifiesta dentro de un sistema eléctrico a una frecuencia múltiplo de la fundamental.

TESIS PROFESIONAL

Pág. xi

Los Analizadores de Espectros son instrumentos que también son

utilizados para evaluar el comportamiento espectral de las señales. Son equipos

utilizados principalmente en el área de las comunicaciones, permiten evaluar

señales enmascaradas por ruido, transitorios, señales dinámicas, interferencias

electromagnéticas (EMI), el contenido espectral de una señal, etc. El problema

es que, los Analizadores de Espectro están diseñados para realizar mediciones

por arriba de los 60Hz. Sin embargo, desde el punto de vista de diseño digital,

es sencillo desarrollar un Analizador de Espectros de Baja Frecuencia aplicando

la Transformada Discreta de Fourier (TDF) para determinar los armónicos y

realizar mediante software el cálculo de los parámetros que evalúa un MCE.

Considerando lo anterior, se desarrolló un Analizador de Espectros de

Baja Frecuencia, con una resolución de 60Hz a una frecuencia de muestreo de

6 kHZ. Estos parámetros fueron escogidos para tener 100 muestras y una

valoración de 42 armónicos.

En general, en esta tesis se abordan tres aspectos. El primero, hace

referencia a las consideraciones teóricas, así como a la demostración de que

aplicando la TDF de 100 puntos es posible hacer una estimación de la

distorsión armónica en líneas monofásicas. El segundo, consiste en diseñar,

construir y probar una Tarjeta de Adquisición de Datos a partir de un Arreglo de

Compuertas de Efecto de Campo Programable (FPGA). El tercero aborda el

diseño de un Software, para que a partir de los datos muestreados, se realice el

cálculo de la THDR y THDF.

La redacción de la tesis, se dividió en 5 capítulos, los cuales se hacen

mención enseguida:

INTRODUCCIÓN

TESIS PROFESIONAL

Pág. xii

El Capítulo 1. Presenta el Marco Teórico, se aborda el concepto de los

analizadores de espectros, y se enfoca en el principio de funcionamiento de un

Analizador de Espectros Digital.

El capítulo 2. El Planteamiento del problema, esta enfocado a describir la

problemática de las cargas no lineales, se plantea la definición de carga no

lineal y las características de una señal con armónicas, se establecen las

ecuaciones utilizadas para evaluar la distorsión de la señal y se presenta la

propuesta de diseño para la evaluación de la Distorsión Armónica Total (THD).

El capitulo 3. Presenta el diseño del hardware y Software del Analizador

de Espectros, empezando con la descripción del Transductor, el Amplificador,

características del Convertidor Analógico Digital empleado en la adquisición de

datos, así como la descripción del hardware diseñado en VHDL (Very Higth

Description Lenguage) para que el FPGA XC3S200 realice el control de un

convertidor analógico digital (ADC), el almacenamiento de los datos

muestreados y la comunicación con la PC. Se finaliza el capítulo, con la

descripción de un Software desarrollado en Visual Basic 6.0(VB6.0) para el

calculo de: el Valor Cuadrático Medio de la Corriente (IRMS), la corriente eficaz

de cada armónico (IRMSN), el valor porcentual de distorsión armónica total en

función de la fundamental (THDF) y en función de la corriente eficaz (TDFR).

El capítulo 4. Presenta la construcción y prueba del Analizador de

Espectros. Se describe el circuito final utilizado para desarrollar la Tarjeta de

Adquisición de Datos planteada en el capitulo 3, así como las conexiones

necesarias con la Tarjeta SPARTAN 3. Se hace una valoración de la Tarjeta de

Adquisición y del Software desarrollado en VB6.0.

INTRODUCCIÓN

TESIS PROFESIONAL

Pág. xiii

El capítulo 5. Presenta una evaluación del prototipo y se analiza, los

logros, metas y alcances de este trabajo, así como una estimación de los costos

producidos durante la construcción y pruebas.

Se establecieron las conclusiones pertinentes, se anexó un apéndice, en

donde se presenta información complementaria a este trabajo

El apéndice I. Establece la demostración de que basta con 100 puntos

muestreados a 6 kHz, para que al aplicar la TDF se obtenga al menos 42

armónicos de una señal de 60Hz.

El apéndice II. Describe el funcionamiento de las puntas A622, utilizadas

como Transductor de corriente a voltaje en la Tarjeta de Adquisición de Datos.

También se presentan algunas señales medidas con este dispositivo.

El apéndice III. Presenta un diagrama completo de la Tarjeta de

Adquisición de Datos y su conexión con la PC.

El apéndice IV. Presenta el código fuente del Software del Analizador de

Espectros utilizando el lenguaje de programación Visual Basic 6.0.

TESIS PROFESIONAL

Pág. 1

CAPÍTULO 1.

MARCO TEÓRICO. 1.1 Introducción. 1.2 Analizador de Espectros. 1.3 Principio de Funcionamiento.

1.3.1 Acondicionamiento analógico. 1.3.2 Antialiasing. 1.3.3 Resolución en frecuencia y frecuencia de muestreo. 1.3.4 Digitalización. 1.3.5 Almacenamiento y procesamiento. 1.3.6 Visualización.

TESIS PROFESIONAL

Pág. 2

1.1 Introducción

Éste primer capítulo, aborda el concepto del Analizador de Espectros, y

se centra en el funcionamiento de un Analizador de Espectros Digital, con la

finalidad de comprender las etapas que lo componen, y de establecer las que

se necesitan en un Analizador de Baja Frecuencia aplicado al Análisis de

Armónicos de Señales de Corriente Alterna.

1.2 Analizador de Espectros

Un Analizador de Espectros, es un dispositivo electrónico que muestrea

señales que están en el dominio del tiempo y las convierte al dominio de la

frecuencia. Para este propósito existen Analizadores de Espectros Digitales y

Analógicos, ambos se basan en la utilización de Filtros para determinar las

frecuencias que están involucradas en una señal.

Los Analizadores de Espectro Analógicos, utilizan un banco de Filtros

o un Superheterodino, para establecer los componentes armónicos. Son

equipos costosos, de gran volumen, pesados y de propósito específico,

complicados de manejar y no cuentan con memoria.

Los Analizadores de Espectro Digital, se basan en el Procesamiento

Digitales de Señales (DSP). Para ello se requiere muestrear la señal de interés,

procesarla con alguna algoritmo de la TDF y almacenar la información

evaluada, dejándola disponible para su posterior visualización.

En la Figura 1, se muestran los elementos que componen a un

Analizador de Espectro Digital. Ésta tesis parte de esta estructura, por lo que es

importante conocer como se procesan los datos.

MARCO TEÓRICO

TESIS PROFESIONAL

Pág. 3

Figura1. Diagrama a bloques de un Analizador de Espectros Digital.

1.3 Principio de Funcionamiento

Las etapas que integran un Analizador de Espectros Digital son: el

Atenuador, el Convertidor de Radio Frecuencia (RF), un Oscilador con Control

de Span, Filtros Pasa Banda y la etapa para el Procesamiento Digital de

Señales.

Dependiendo de la naturaleza de la señal, se selecciona la ganancia en

amplitud con el Atenuador, el Ancho de Banda (BW) y se ajusta el Span con la

finalidad de acondicionar la señal antes de que ésta llegue al Convertidor

Analógico Digital (ADC). Sin embargo la aplicación del Analizador de Espectros

plateado en el objetivo, esta enfocado al análisis de frecuencias por debajo de

los 3kHz, por lo que sólo se requiere diseñar el Atenuador y el Procesador

Digital de Señales.

El Procesador Digital de Señales, está compuesto de: un convertidor

analógico digital, un elemento de procesamiento, memoria, y un elemento de

salida, que en esta aplicación es un medio visual (Monitor de una Computadora

MARCO TEÓRICO

Filtro

IF

Oscilador

local

Oscilador

Filtro pasa baja Filtro

Memoria

Dominio de

la Frecuencia

Procesador

Convertidor RF

ADC

Filtros pasa banda

BW1

BW2

BW3

Reloj de muestreo

Control Span

Mixer

Contador de frecuencia

Atenuador

Procesador de

señales digitales

TESIS PROFESIONAL

Pág. 4

Personal). En la Figura 2, se muestra el diagrama básico de éste

Procesamiento Digital de Señales.

Figura 2. Diagrama básico del procesamiento de señales.

En base a los objetivos, el Analizador de Espectros que se necesita es

de Baja Frecuencia e integrado por un Acondicionamiento Analógico

(combinación de un Transductor de corriente a voltaje y un Atenuador) y de los

elementos del Procesador Digital de Señales, como: el ADC, Dispositivos de

procesamiento (FPGA y PC), Memoria y Monitor de PC.

1.3.1 Acondicionamiento Analógico

Suponiendo que el Transductor entrega una señal x(t)=Asen(2πft) como

el de la Figura 3. Cuando ésta señal es evaluada por un Analizador de

Espectros, lo que se obtiene es la amplitud A, a una frecuencia armónica f .

sin2

Figura 3. Señal con amplitud y frecuencia constante.

T

A

de entrada

MARCO TEÓRICO

ADC

FPGA

Monitor De PC

Memoria

Señal x(t)

TESIS PROFESIONAL

Pág. 5

Por ejemplo, en la Figura 4, se muestra una señal x(t) que llega al ADC.

La amplitud máxima de la señal x(t) es mayor al rango de trabajo del ADC (la

línea punteada en la señal, representa la información que se pierde). sin2

Figura 4. Señal recortada por el ADC.

En este caso, el ADC sólo convierte correctamente la señal de la línea

continua, y los valores que están por arriba del rango de trabajo, se mantienen

en el voltaje de saturación del ADC. Por lo tanto el Analizador de Espectro, lo

que evalúa es una señal truncada en amplitud, el cual esta compuesto de

armónicos distintos al de la señal original x(t).

Como una señal de corriente, puede estar compuesta por más de una

armónica, se debe de asegurar que la señal que llegue al ADC sea menor al

rango de entrada del ADC.

Esto se logra aplicando un Atenuador en el caso de que la señal

proporcionada por el Transductor sea mayor al rango de trabajo y se debe de

aplicar un Amplificador de Ganancia si la señal esta por debajo del 70% del

rango del ADC.

MARCO TEÓRICO

B Rango de trabajo del ADC

TESIS PROFESIONAL

Pág. 6

1.3.2 Antialiasing

El aliasing, es otro aspecto que se quiere evitar, ya que éste aparenta la

existencia de frecuencias bajas que en realidad no existen. Esto ocurre cuando

no se realiza un muestreo lo suficientemente rápido.

En la Figura 5, se presenta el ejemplo de un muestreo a una frecuencia

inferior a la señal que se desea muestrear. Al reconstruir la señal a partir de

éste muestreo, aparece una señal de frecuencia menor a la original, la cual es

el error de muestreo llamado Alias.

Figura 5. Alias provocado por un muestreo lento.

Para evitar que esto suceda, la frecuencia de muestreo se calcula a partir

del Teorema de Nyquist, el cual establece que: “la frecuencia de muestreo debe

ser al menos el doble de la máxima frecuencia a discretizar”. Los Filtros

Antialiasing, son Filtros Pasa Bajas, que se aplican cuando la señal de entrada

esta compuesta por señales por arriba del doble de la frecuencia de muestreo.

1.3.3 Resolución en frecuencia y frecuencia de muestreo

La resolución en frecuencia, indica cual es la frecuencia mínima a

observarse después de aplicar la TDF. En los Analizadores de Espectro

comerciales, éste parámetro puede modificarse a conveniencia. En ésta

aplicación éste es un valor constante de 60 Hz (Frecuencia de la línea de CA).

Señal original con alta frecuencia

Alias

Puntos de muestra

MARCO TEÓRICO

TESIS PROFESIONAL

Pág. 7

Además, el número de muestras consideradas para un ciclo de señal,

corresponde al máximo número de coeficientes calculables con la TDF. De

estos sólo la primera mitad son de interés en la determinación de los armónicos

de la corriente, ya que la otra mitad corresponde al reflejo de los primeros

armónicos en sus correspondientes frecuencias negativas.

Para el análisis de los armónicos de corriente, basta con determinar

hasta el armónico 42, pues se considera que la mayor contribución armónica

para las Señales de Corriente Alterna se encuentra en los primeros 27

armónicos.

Con la finalidad de reducir el número de operaciones, se ha considerado

calcular solo los espectros necesarios, es decir los correspondientes a los

armónicos de la corriente, los cuales se encuentran en los múltiplos de 60Hz.

De acuerdo a esto, la frecuencia de resolución para un Analizador de

Espectros de Baja Frecuencia es de 60Hz. Y al considerar 100 muestras se

puede determinar hasta el armónico 50 (el correspondiente a 3kHz). De

acuerdo a la expresión 1, para una evaluación de la TDF de 100 puntos es

necesario aplicar un muestreo con una frecuencia de 6kHz.

1.3.4 Digitalización

Evitado los Alias y determinada la frecuencia de muestreo, la señal es

muestreada, cuantificada y codificada.

MARCO TEÓRICO

(1)

TESIS PROFESIONAL

Pág. 8

Muestreo

Éste proceso consiste en tomar N puntos discretos de la señal analógica

a tiempos equidistantes, es decir, a la frecuencia de muestreo. Estos puntos

muestreados x(n) son los utilizados en la evaluación de la TDF de la expresión

2.

La expresión de la TDF, permite determinar hasta N coeficientes X(k), los

cuales son valores proporcionales a la amplitud de los armónicos. Para este

cálculo se requiere determinar el factor de fase W (expresión 3), el cual es una

constante y depende del número de puntos considerados en el muestreo

(N=100).

El coeficiente k toma valores de 0 a 99, pero son de interés sólo los

primeros 50, ya que los otros 50 valores representan el reflejo de los primeros

calculados.

El valor de las corrientes armónicas In, se determina dividiendo los

coeficientes X(k) entre N, tal como se muestra en la expresión 4.

Se evita el considerar puntos excedentes a ciclos enteros, y se asegura

que las muestras se realizan en tiempos equidistantes, para evitar errores en el

cálculo de los coeficientes de la TDF, ya que estos errores se reflejan en el

aumento o decremento de la amplitud de los coeficientes de los armónicos, a tal

grado que pueden aparecer amplitudes donde no hay componentes armónicos.

(2) !"#$

!%&'/ (3)

MARCO TEÓRICO

(4) )

TESIS PROFESIONAL

Pág. 9

Cuantificación

Cada muestra es asociada a un valor digital, por medio de un ADC. En la

Figura 6, se muestra la representación de una señal analógica y la digitalizada.

Como se puede apreciar, los cambios mas finos de la señal analógica no se

aprecian en la Figura 6b, sin embargo la forma global si se preserva.

Figura 6. Digitalización de una señal. a) Señal original, b) Señal discreta.

El buscar una equivalencia más fina entre la señal digital y la analógica,

implica establecer un muestreo de más puntos en el tiempo y mayor resolución

en amplitud (expresión 5), esto provoca en dado momento, considerar registros

con mayor número de bits (n), y por consecuencia memoria de mayor

capacidad.

El rango de trabajo se define en la expresión 6, como la diferencia entre

el voltaje máximo y el mínimo que puede convertir el ADC.

a) b)

a. Señal analógica b. Señal digital

Am

plitu

d

Am

plitu

d

*+ ,- ./ 0 122 3 1 (5)

,- ./ 0 12 * 3 * (6)

MARCO TEÓRICO

TESIS PROFESIONAL

Pág. 10

Codificación

La codificación, es la forma de representar los datos analógicos en su

equivalente digital. Existen dos formas principales de codificar valores bipolares.

1. Codificación con signo. En esta se aplica complemento a 2 para representar

el valor discreto de la señal. En la expresión 7 se presenta el equivalente

analógico.

*0/ 0- *567 8 |*0 -0| 8 : +-

2. Codificación sin signo. La codificación sin signo, asocia el cero digital con el

máximo valor analógico negativo, y el valor máximo digital con el máximo

valor analógico positivo. En la expresión 8 se presenta el equivalente

analógico (el ADC manejado en esta aplicación utiliza este tipo de

codificación).

*0/ 0- *567 8 *0 -0 3 ;<=> ?6 @5<A<%> ?6B CDE&

1.3.5 Almacenamiento y procesamiento

El número de muestras a considerar en la TDF, depende de la frecuencia

de muestreo y del periodo de la señal fundamental. En los osciloscopios, es

común trabajar a una resolución de 8 bits, lográndose una buena estimación de

la señal. Cuando se requiere de una mejor resolución, se suele aplican 12 bits,

sin embargo la capacidad de puntos por muestra se reduce y el tiempo de

procesamiento aumenta.

Antes de realizar la evaluación de la TDF (procesar la señal), los

analizadores guardan en memoria paquetes de N puntos (Figura 7), a la

frecuencia de muestreo.

(7)

(8)

MARCO TEÓRICO

TESIS PROFESIONAL

Pág. 11

El procesamiento del Analizador de Espectros inicia después de que es

muestreado un ciclo de la señal x(t). Se aplica una TDF de 100 puntos, con la

cual se determina la componente promedio X(0) y los primeros 42 armónicos

X(k) (con k de 1 a 42) de la señal x(t), el cual es proporcional al armónico de la

corriente.

Figura 7. Almacenamiento y procesamiento de la TDF.

1.3.6 Visualización

Los analizadores de espectros y los equipos que cuentan con el análisis

de la TDF utilizan pantallas, donde se presenta en forma gráfica las señales

muestreadas y procesadas en el dominio de la frecuencia, apareciendo la

amplitud del espectro o armónicos, en decibeles (dB), en valor eficaz o en

porcentaje respecto a la fundamental.

Las consideraciones de diseño y el desarrollo del mismo, se presentan

en los capítulos 2 y 3. En el Apéndice I, se presenta un análisis gráfico

aplicando el Lenguaje Matemático MATLAB en el que se puede observar que

es viable calcular 42 armónicos con 100 puntos de muestreo.

N Puntos

Bloque 2 Adquisición

Bloque 2 Procesamiento

Bloque 1 Adquisición

Bloque 1 Procesamiento

Tiempo

N Puntos

TDF TDF

MARCO TEÓRICO

TESIS PROFESIONAL

Pág. 12

CAPITULO 2.

PLANTEAMIENTO DEL PROBLEMA 2.1 Introducción. 2.2 Cargas lineales y no lineales.

2.2.1 Señales armónicas. 2.2.2 Serie de Fourier.

2.3 La importancia de la medición de armónicas en los sistemas actuales. 2.4 Medidas de la distorsión en la corriente.

2.4.1 Valor eficaz. 2.4.2 Distorsión Armónica Total RMS. 2.4.3 Distorsión Armónica Total Fundamental. 2.4.4 Distorsión de Demanda Total.

2.5 Normas para control de armónicas. 2.6 Diseño propuesto.

TESIS PROFESIONAL

Pág. 13

2.1Introduccción

En éste segundo capítulo, se plantea la problemática de las cargas no

lineales, así como los cálculos que se realizan, para determinar el grado de

distorsión que se generan en la corriente demandada por una carga. Se

presentan dos de las normas consideradas para el control de la distorsión

armónica, se establece el compromiso que hay entre suministrador y el usuario

de energía eléctrica, para recibir energía de buena calidad y no ocasionar

demandas de corriente con distorsión que provoquen daños o contaminación en

la red eléctrica del suministrador. Y se plantea el diseño del Analizador de

Espectros de Baja Frecuencia para el cálculo de la THDR y THDF a partir de una

FPGA.

2.2 Cargas lineales y no lineales

Cuando se aplica un voltaje sinusoidal directamente a cargas tales como

resistencias, inductancias, capacitores o una combinación de ellos, se produce

una corriente proporcional que también es sinusoidal como se muestra en la

Figura 8a, a estos se les denominan cargas lineales.

Las cargas no lineales son circuitos en los que su curva corriente–voltaje

no es lineal, ya que la corriente demandada no es proporcional al voltaje

aplicado como se muestra en la figura 8b, el resultando es una señal de

corriente distorsionada con respecto a la sinusoidal.

La curva característica corriente–voltaje de la carga define si es o no

lineal su comportamiento y no se debe pensar que todos los equipos que tienen

semiconductores por definición son no lineales. Existen aplicaciones donde se

emplean SCR’s conectados en antiparalelo en los que prácticamente no existe

distorsión, siendo una carga lineal.

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 14

Figura 8. Corriente y voltaje en una carga. a) Carga lineal, b) carga no lineal.

En la Figura 9 se muestra las Gráficas de Lissajaus correspondientes a la

demanda de corriente-voltaje de las Figuras 8. En la Figura 9a. se presenta una

carga lineal donde la corriente esta desfasada 20 grados respecto al voltaje, la

curva corriente voltaje es elíptica a tal grado de ser una recta cuando el

desfasamiento es nulo. En la figura 9b, se presenta una carga no lineal con un

5to. armónico, esta curva tiende a incrementar su distorsión con forme se

incrementan los armónicos. Ésta es otra manera de observar la no linealidad

que existe entre la corriente y el voltaje debido a cargas no lineales.

Figura 9. Curva corriente-voltaje de Lissajaus. a) Carga lineal, b) carga no lineal.

a) b)

a) b)

I

V

I

V

v v

i i

t t

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 15

2.2.1 Señales armónicas

Este concepto proviene del Análisis de Fourier, y define que, bajo ciertas

condiciones analíticas, una función periódica cualquiera puede considerarse

integrada por una suma de funciones senoidales, incluyendo un término

constante en caso de asimetría respecto al eje de las abscisas, siendo la

primera armónica, denominada también, señal fundamental del mismo período

y frecuencia que la función original, y el resto serán funciones senoidales cuyas

frecuencias son múltiplos de la fundamental. Estas componentes son

denominadas armónicas de la función periódica original.

2.2.2 Serie de Fourier

De acuerdo a las Serie de Fourier de la expresión 9, la señal original x(t),

se puede representar como una suma de armónicos. Donde N es el número de

muestras correspondientes a la TDF de la expresión 2 y f la frecuencia

fundamental.

El valor X(1)=sen(2πft)/N es la componente fundamental y tiene la misma

frecuencia f y el mismo periodo T (1/f) que la función que se desea

descomponer en suma de senos, y X(0), corresponde al valor promedio de la

corriente o valor CD.

En la Figura 10, se muestra un ejemplo de una señal que ha sido

descompuesta en sus diferentes armónicos, donde la máxima amplitud

corresponde al de la frecuencia fundamental, y ésta va decreciendo en los

armónicos 3, 5, 7 y 9.

(9) FG FHI JFKLMNKIOPGQRK#S

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Figura 10

El grado de distorsión de la señal,

y de la amplitud de estos.

causa menos contaminación cuando la demanda de corriente es una senoidal.

2.3 La importancia de la medición de

La mayoría de los procesos industriales en la actualidad se encuentran

funcionando con dispositivos electrónicos

todos, pero a su vez, contaminan la red eléctrica con armónicas, por l

debe tener un entendimiento amplio sobre el tema con el fin de contrarrestar

sus efectos nocivos.

Los problemas producidos por el flujo de corrientes armónicas son cada

día más significativos en los sistemas eléctricos de potencia, mismos que

dependen de la magnitud relativa de las fuentes emisoras y pueden resumirse

en la forma siguiente:

10. Señal fundamental y armónicos 3, 5, 7 y 9.

El grado de distorsión de la señal, depende de la cantidad de armónicos

y de la amplitud de estos. Se considera que la energía de corriente alterna

causa menos contaminación cuando la demanda de corriente es una senoidal.

La importancia de la medición de armónicas en los sistemas actuales

La mayoría de los procesos industriales en la actualidad se encuentran

funcionando con dispositivos electrónicos que hacen el trabajo más fácil para

todos, pero a su vez, contaminan la red eléctrica con armónicas, por l

debe tener un entendimiento amplio sobre el tema con el fin de contrarrestar

Los problemas producidos por el flujo de corrientes armónicas son cada

día más significativos en los sistemas eléctricos de potencia, mismos que

nden de la magnitud relativa de las fuentes emisoras y pueden resumirse

PLANTEAMIENTO DEL PROBLEMA

Pág. 16

depende de la cantidad de armónicos

la energía de corriente alterna

causa menos contaminación cuando la demanda de corriente es una senoidal.

armónicas en los sistemas actuales

La mayoría de los procesos industriales en la actualidad se encuentran

que hacen el trabajo más fácil para

todos, pero a su vez, contaminan la red eléctrica con armónicas, por lo que se

debe tener un entendimiento amplio sobre el tema con el fin de contrarrestar

Los problemas producidos por el flujo de corrientes armónicas son cada

día más significativos en los sistemas eléctricos de potencia, mismos que

nden de la magnitud relativa de las fuentes emisoras y pueden resumirse

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 17

• Problemas de funcionamiento en dispositivos electrónicos de regulación,

protección y medición tanto de potencia como de control.

• Sobrecalentamiento en conductores del neutro.

• Interferencias en sistemas de telecomunicaciones.

• Aumento de pérdidas (I2R) produciendo sobrecalentamiento en los

equipos eléctricos tales como motores, transformadores y generadores así

como en las líneas de distribución y cables, debido al incremento en la

corriente eficaz, con la consecuentemente disminución de su vida media.

• Vibración en motores y generadores.

• Falla de bancos de capacitores al exceder la corriente debido al contenido

armónico del sistema.

• Falla de transformadores de distribución.

• Sobrecarga de reactores.

• Efectos de resonancia que amplifican los problemas mencionados

anteriormente y pueden provocar incidentes eléctricos, mal funcionamiento

y fallos destructivos de equipos de potencia.

2.4 Medidas de la distorsión en corriente

Para estimar que tan distorsionada está la corriente, se aplican las

expresiones de distorsión armónica total, este término se referencia a dos

valores, el valor eficaz y el valor fundamental.

2.4.1 Valor eficaz

Se aplica la definición de la raíz del valor cuadrático medio (RMS),

cuando señales de voltaje o corriente están compuestas de diferentes

frecuencias. En este caso para obtener la resultante, se suman las

componentes armónicas aplicando las expresiones 10 y 11.

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 18

2.4.2 Distorsión Armónica Total RMS

Proporciona la relación entre el contenido armónico de la señal y su valor

eficaz. Su valor se ubica entre 0% y 100%. También se conoce como thd

(expresión 12) y es el índice mas ampliamente usado en Europa.

2.4.3 Distorsión Armónica Total Fundamental

Es la relación entre el contenido armónico de la señal y la primera

armónica o fundamental. Su valor se ubica entre 0% e infinito. También es

conocido como THD (expresión 13).

TUVW XTYI∞

Y#S

ZUVW XZYI∞

Y#S

(10)

(11)

%1002

2

×=

∑∞

=

Irms

I

THDr h

h

(12)

%1002

2

×=

∑∞

=

I

h

h

I

I

THDf (13)

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 19

2.4.4 Distorsión de Demanda Total Es la relación entre la corriente armónica y la demanda máxima de la

corriente de carga. Cuando se efectúan mediciones relacionadas con armónicas

en los sistemas eléctricos, es común encontrar niveles de THD altos en

condiciones de baja carga que no afectan la operación de los equipos ya que la

energía distorsionante que fluye es también baja. Para evaluar adecuadamente

estas condiciones se define el TDD (expresión14) que es el parámetro de

referencia que establece los límites aceptables de distorsión en corriente en la

norma IEEE 519.

donde:

Ih = Magnitud de la armónica individual

h = Orden armónico

IL = Demanda máxima de la corriente fundamental de carga, que se

calcula como el promedio máximo mensual de demanda de corriente de

los 12 últimos meses o puede estimarse.

2.5 Normas para control de armónicas

Para asegurar la integridad en el sistema de potencia global, es preciso

establecer límites sobre los niveles de distorsión permisibles que apliquen tanto

a los usuarios como a los suministradores de la energía.

%1002

2

×=

∑∞

=

L

h

h

I

I

TDD (14)

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 20

Resulta especialmente delicada la relación entre el usuario y la compañía

suministradora, ya que esta última tiene derecho a pedir al usuario que limite la

contaminación al sistema de transmisión y distribución, y el usuario tiene el

derecho a pedir el suministro de una energía con la menor contaminación

posible.

En México existe la especificación CFE L0000-45 denominada

“Perturbaciones permisibles en las formas de onda de tensión y corriente

del suministro de energía eléctrica” concerniente a la distorsión armónica

permisible.

En los Estados Unidos de América la norma IEEE 519 “Prácticas

recomendadas y requerimientos para el control de armónicas en sistemas

eléctricos de potencia” define entre sus puntos los valores máximos de

distorsión permisible.

Ambas normatividades se establecen para limitar las corrientes

armónicas de cada usuario en lo individual de forma que los niveles armónicos

en voltaje en la totalidad del sistema de potencia sean aceptables, siendo su

cumplimiento una responsabilidad compartida entre suministrador y usuarios.

El suministrador tiene el compromiso de otorgar al usuario una tensión

con distorsión prácticamente nula, aunque en la práctica, esto no sea así. Por

esa razón existe una tolerancia, la cual es descrita en las Tabla 1 y 2.

Tabla 1. Limites de Distorsión Armónica en Voltaje, norma CFE L000-45.

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 21

Tabla 2. Limites de Distorsión Armónica en Voltaje, norma IEEE 519.

Como se puede observar, para tensiones en líneas monofásicas, donde

la tensión esta por debajo de 1kV, la norma CFE L0000-45 es mas tolerante

que su homologa IEEE 519.

En contraparte, el usuario tiene la responsabilidad de demandar un

consumo en corriente, con limitaciones en distorsión armónica. Estas

mediciones son con referencia a la acometida (Figura 11), la cual es el punto

donde se toma la tensión en la línea y es por donde se entrega la corriente

demandada por la carga total.

(15)

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 22

Figura 11. Acometida y puntos de medición de la corriente.

Estas características se pueden observar en las Tablas 3 y 4. Las

corrientes armónicas para cada usuario son evaluadas en la acometida y los

límites se establecen en base a la relación entre la corriente de cortocircuito y la

demanda máxima de corriente de la carga del usuario.

Tabla 3. Limites de Distorsión Armónica en Corriente en la acometida, norma CFE L000-45.

PLANTEAMIENTO DEL PROBLEMA

Carga 1 Carga 2 Carga n

. . .

Icc

IL

Consumo total

Consumo de una carga

Consumo en una rama

Neutro Línea

Acometida

Carga total

TESIS PROFESIONAL

Pág. 23

Tabla 4. Limites de Distorsión Armónica en Corriente en la acometida,

norma IEEE 519.

2.6 Diseño propuesto

El objetivo general de este trabajo, es diseñar un Analizador de

Espectros Digital, con aplicación a baja frecuencia, para determinar los

armónicos y la distorsión de la corriente de una línea monofásica de 60Hz.

Como se ha visto, al aplica la TDF a una señal de corriente alterna, es

posible calcular las corrientes armónicas. Para esto, es necesario aplicar un

procesamiento a las señales de corriente, por lo que es necesario discretizar y

digitalizar la corriente.

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 24

En la Figura 12, se establece la propuesta para discretizar la corriente

demandada por cargas no lineales, y con ello, medir la distorsión armónica en

corriente que se genera en una línea monofásica a consecuencia de cargas no

lineales.

Figura 12. Diagrama a bloques del Analizador de Espectros para la Medición de Armónicos.

Una vez calculado los coeficientes de la TDF, se debe interpretar y

determinar los armónicos de la corriente, los cuales son utilizados para evaluar

el IRMS, THDF y THDR

El diseño propuesto, consiste en utilizar un FPGA para realizar la

adquisición de las muestras de corriente con valores pico en el rango de 0.2A

a 36A, y una PC para el procesamiento y visualización de los armónicos.

ADC Señal

distorsionada

Grafica de

armónicos

Transductor Amplificador

Acondicionador

FPGA

Etapa 1 Etapa 2 Etapa 3

Etapa 4

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 25

El planteamiento general del trabajo consiste en desarrollar una Tarjeta

de Adquisición de Datos y un Software para el análisis espectral. Las primeras

3 etapas corresponden a la tarjeta de adquisición de datos y la cuarta etapa al

procesamiento en el Software.

La primera etapa inicia con un Transductor de corriente a voltaje con una

relación de conversión de 100mV/A.

En la segunda etapa, el valor de tensión proporcionado por el Transductor

es amplificado para tener tensiones pico mayores a +3.5 V y menores a +5 V.

La tercera etapa consiste en la digitalización y almacenamiento, esto se

realiza con un ADC bipolar, a 8 bits con rango de tensión de +5V. El

almacenamiento de las muestras se guarda en el FPGA a una frecuencia de

muestreo de 6kHz, con la cual se toman 128 muestras, las cuales son enviadas

a la PC.

La cuarta etapa, consiste en el procesamiento en PC de la TDF, para el

cálculo y visualización de los armónicos, lo cuales se determinan para evaluar

la Distorsión Armónica Total referenciada al RMS y a la Fundamental.

Con lo anterior se buscó tener como resultado, el prototipo de un

instrumento que cumpla con las siguientes consideraciones:

1. Operar a una resolución de 8 bits.

2. Operar con un ADC con rango de entrada de +5V.

3. Muestrear la corriente con un FPGA.

4. Medir corrientes pico de 0.2A a 36A.

5. Desarrollar Tarjeta de Adquisición de Datos con protocolo serial.

6. Calcular y visualizar mediante software, los primeros 42 armónicos de la

corriente, y determinar la IRMS, la THDR y THDF.

PLANTEAMIENTO DEL PROBLEMA

TESIS PROFESIONAL

Pág. 26

3.1 Introducción. 3.2 Consideraciones de diseño. 3.3 Diseño de la Tarjeta de Adquisición de Datos.

3.3.1 Acondicionamiento analógico. 3.3.1.1 Las puntas de corriente AD622. 3.3.1.2 El amplificador.

3.3.2 Acondicionamiento digital. 3.3.2.1 El convertidor analógico digital. 3.3.2.2 El Buffer del acondicionamiento.

3.3.3 Plataforma FPGA. 3.3.3.1 Antecedentes de FPGAs. 3.3.3.2 Control del ADC. 3.3.3.3 El almacenamiento. 3.3.3.4 La transferencia. 3.3.3.5 La comunicación serial. 3.3.3.6 Asignación de entradas y salidas.

3.4 Lenguaje de Descripción de Hardware. 3.4.1 El lenguaje VHDL.

3.4.1.1 Librerías. 3.4.1.2 Entidad. 3.4.1.3 Arquitectura.

3.4.2 Software para programar en VHDL. 3.4.2.1 Comparador. 3.4.2.2 Control ADC. 3.4.2.3 Latch. 3.4.2.4 Reloj de muestreo. 3.4.2.5 Contador. 3.4.2.6 Memoria. 3.4.2.7 OR. 3.4.2.8 Reloj de transferencia. 3.4.2.9 UART.

3.5 Diseño del Software Visual. 3.5.1 El lenguaje de programación visual. 3.5.2 Pantalla gráfica.

3.5.2.1 La barra de herramientas. 3.5.2.2 Gráfica de señales. 3.5.2.3 La tabla de resultados.

CAPITULO 3.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 27

3.1 Introducción

En este capítulo, se aborda el diseño de una Tarjeta de Adquisición de

Datos, basado en la plataforma FPGA. Se hace uso de la programación VHDL,

para describir el hardware del FPGA y se desarrolla el software en Visual Basic

para el cálculo de los primeros 42 armónicos de la corriente, la IRMS, la THDR y

THDF.

3.2 Consideraciones de diseño

El Analizador de Espectros de Baja Frecuencia, consta de una Tarjeta

de Adquisición de Datos desarrollada bajo la plataforma FPGA y de un

Software desarrollado en un ambiente visual.

El diseño de la Tarjeta de Adquisición de Datos, está basado en una

Tarjeta de desarrollo SPARTAN 3 de la compañía DIGILENT. Ésta tarjeta tiene

el dispositivo programable FPGA. La propuesta de la Tarjeta de Adquisición de

Datos se presenta en la Figura 13, en la que se consideran las tres primeras

etapas del Analizador de Espectros propuesto en la Figura 12.

Figura 13. Diagrama a bloques de la Tarjeta de Adquisición de Datos.

En la primera etapa, se utiliza la punta A622, seleccionada por sus

características de transducción de corriente a voltaje, permitiendo medir

corriente en el rango de 0 a 36 A pico, con ancho de banda de 0 a 3kHz.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

x(n) SPARTAN3 Tarjeta ADC

-5V a 5V 128 muestras de

8 bits

Ganancia

1.25 a 150

A622 Amplificador i(t)

Etapa 1 Etapa 2 Etapa 3

100mV/A

Máximo

36A

0→127

TESIS PROFESIONAL

Pág. 28

La segunda etapa consiste en el acondicionamiento de la señal para

tener selectividad de mediación de corrientes pico, de 200mA a 36A. El

acondicionamiento de la señal de entrada se realiza con un Amplificador

Operacional. Se ha escogido el LM741, pues la aplicación, no es de alta

frecuencia y este operacional satisface las condiciones de ganancia y el

acoplamiento con las puntas de corriente.

La tercera etapa, consiste en la adquisición de datos, la cual se ha

basado en el diagrama a bloques de un Analizador de Espectros de la Figura 1

y en el procesamiento de señales de la Figura 2.

La Tarjeta de Desarrollo denominada SPARTAN 3, recibe este nombre

por el modelo de la FPGA XC3S200 de la familia SPARTAN 3 de Xilinx. Esta

tarjeta cuenta con puerto de ampliación B1, A1 y A2, una interface RS232 para

la comunicación con la PC y LEDs que permiten ver el desempeño de la

comunicación.

Como en un FPGA solo se pueden diseñar elementos y aplicaciones

puramente digitales, el ADC que se necesita para la adquisición de datos, no

se puede diseñar en el FPGA como parte de un código VHDL, por lo que se

aplica el AD1674 de Analog Device como ADC.

El AD1674 se configura a 8 bits con velocidad de conversión de 100

kmuestras/s, y el muestreo a 6 kHz lo realiza el FPGA con los datos

digitalizados por el ADC.

Los datos muestreados x(n) son enviados al PC a través de una

comunicación serial de 9600 Bauts. Mediante un software desarrollado en

VB6.0. La PC se encarga del procesamiento de las muestras aplicando la TDF

y evalúa la IRMS, la THDR y THDF.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 29

3.3 Diseño de la Tarjeta de Adquisición de Datos

La Tarjeta de Adquisición de Datos, se desarrolló para análisis de

corrientes a baja frecuencia con las siguientes especificaciones:

• XTAL del sistema: 50MHz.

• Entrada codificada con 8 bits.

• Amplitud de la señal de entrada analógica de ±5V.

• Selector de rango de corriente de 0.2A a 36A.

• Rango de frecuencia de DC a 2520 kHz.

• Resolución en frecuencia 60Hz.

• Salida visual de CD y 42 Armónicos.

3.3.1 Acondicionamiento analógico

3.3.1.1 La punta de corriente A622

La punta A622 (Figura 14), es un Transductor de corriente a tensión de

tipo gancho y de uso general, esta diseñado para medir corriente CD y AC con

valores de hasta 100 Amper pico (70 A RMS). Tiene un ajuste de cero y su

fuente de poder es una batería de 9VCD. Es ideal para medir la corriente

circulante en cables de hasta 11.8 mm y con su cable conductor puede

desplazarse hasta 2 m del instrumento de medición.

Figura 14. Puntas de corriente A622.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Interruptor

Ajuste de cero

Dirección de corriente

TESIS PROFESIONAL

Pág. 30

De acuerdo a sus especificaciones tiene un rango de operación de CD a

100kHz, sin embargo en las gráficas de corriente pico contra frecuencia de la

Figura 15 y de ganancia contra frecuencia se la Figura 16 que proporciona el

fabricante, indican una linealidad hasta los 10 kHz.

Figura 15. Diagrama de la corriente pico máxima contra la frecuencia soportado

por el A622.

El diseño propuesto considera frecuencias máximas de hasta 3kHz, por lo

que las puntas A622, satisfacen las exigencias de este proyecto, garantizando

una adquisición de señal fidedigna.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Corriente RMS

Corriente pico

Frecuencia (Hz)

TESIS PROFESIONAL

Pág. 31

Figura 16. Grafica de la ganancia a 1A pico contra frecuencia del A622.

Para comprobar la capacidad de transducción de las puntas A622 ante

flujos de corriente de 60Hz, se hicieron algunas mediciones de la demanda de

corriente de algunos aparatos, con el que se obtuvo la Tabla 5 donde se estima

la amplitud de la corriente y los voltajes pico proporcionados por el Transductor

debido a las cargas analizadas.

El equipo utilizado para esta prueba fue el osciloscopio digital TPS2024

de Tektronix (Figura 17). En el Apéndice II, se presenta la forma de estas

señales y el uso de las puntas A622.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Frecuencia (Hz)

Ganancia dB

Rango 100 mV/A

Rango 10 mV/A

TESIS PROFESIONAL

Figura 17. Análisis de la señal con TPS2024 y Punta de corriente A622 de Tektronix.

Tabla 5. Corriente máxima demandada

Dimensión

Cautín de lápiz

Computadora portátil

CPU

Monitor de cinescopio

Fuente de CD

Plancha

Impresora

Taladro

De acuerdo a la Tabla 5, solo la plancha y el cautín de lápiz son cargas

lineales. Esto se debe a que estas dos cargas son puramente resistivas, lo que

implica que su demanda de corriente es

Conexión

típica

. Análisis de la señal con TPS2024 y Punta de corriente A622 de Tektronix.

Corriente máxima demandada por cargas lineales y no lineal

Ip(A) Vp(V) Carga lineal

1.2 0.12

Computadora portátil 2.3 0.23

1.9 0.19

Monitor de cinescopio 0.3 0.03

0.2 0.02

15.0 1.50

0.3 0.03

0.9 0.09

De acuerdo a la Tabla 5, solo la plancha y el cautín de lápiz son cargas

lineales. Esto se debe a que estas dos cargas son puramente resistivas, lo que

implica que su demanda de corriente es proporcional a la de tensión.

A622

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Pág. 32

. Análisis de la señal con TPS2024 y Punta de corriente A622 de Tektronix.

y no lineales.

Carga lineal

Si

No

No

No

No

Si

No

No

De acuerdo a la Tabla 5, solo la plancha y el cautín de lápiz son cargas

lineales. Esto se debe a que estas dos cargas son puramente resistivas, lo que

proporcional a la de tensión.

TPS2024

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 33

3.3.1.2 El Amplificador

De acuerdo a las características del Transductor, se ha diseñado un

Amplificador. Ésta segunda etapa, tiene como objetivo, proporcionar los niveles

de tensión apropiados al ADC de la etapa 3.

Las consideraciones para el diseño de esta etapa 2 son:

1. El Transductor opera a una razón de 100mV/A.

2. El ADC soporta niveles de tensión bipolar en el rango de +5V.

3. Y se recomienda que el valor pico de la tensión que llega al ADC este entre

3.5 y 4.5V.

Para cumplir con este objetivo, se selecciono la topología de un

amplificador inversor como se muestra en la Figura 18.

Figura 18. Amplificador inversor.

Éste arreglo es práctico, ya que la ganancia se calcula a partir de las

resistencias Rfn y R1, tal como se muestra en la expresión 16.

R1

Vi

Rfn

Vo

AO1

+

A622

(16) [ 3,,1

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 34

Para el diseño se utilizó el LM741, un amplificador de uso general. Éste

dispositivo cumple con las exigencias del diseño por las siguientes

consideraciones:

1. Opera con tensiones de alimentación de +5 V, lo que permite proteger al

ADC de voltajes por arriba de su rango de operación.

2. Opera sin problemas de de resistencia a la salida hasta los 10 kHz (Figura

19a).

3. Opera sin problemas capacitancia y resistencia a la entrada hasta los 10kHz

(Figura 19b).

Figura 19. Graficas características resistencia y capacitancia contra frecuencia del

LM741

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Im

ped

anci

a d

e sa

lida

(Ω)

Imp

edan

cia

de

entr

ada

(Ω)

Cap

acit

anci

a d

e sa

lida

(Ω)

Frecuencia (Hz) Frecuencia (Hz)

TESIS PROFESIONAL

Pág. 35

Un inconveniente del LM741, es su tiempo de respuesta el cual de

acuerdo a la Figura 20, es de 150µs. Sin embargo, éste no es un parámetro

que afecte a la medición del contenido armónico de la corriente, ya que para

medir la distorsión armónica, lo que se analiza con la TDF es la forma de la

corriente durante un ciclo, y no el tiempo de adquisición.

Figura 20. Tiempo de respuesta del LM741

El voltaje de entrada del AD1674 es bipolar en un rango de -5 a 5V. Para

que la TDF se ejecute adecuadamente se recomienda que la señal en análisis

tenga una amplitud en voltaje mayor a 3.5V y menor a 4.5V. El circuito

propuesto para realizar este acondicionamiento, emplea un amplificador

inversor con un LM741, donde la ganancia depende de los valores de Rfn y R1.

Las ganancias del Amplificador se calcularon a partir de relación voltaje-

corriente (S) de la expresión 17 y la razón de transducción del A622.

Tiempo (µs)

Sal

ida

(mV

)

Vcc = + 15V RL = 2kΩ

CL = 100pf

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 36

En la expresión 17 el Voltaje Máximo es una constante de 4.5V y la

corriente máxima es la inducida al transductor.

Para calcular la Corriente Mínima para la ganancia se utiliza la expresión

18, donde el Voltaje Mínimo es 3.5V y el valor S, es el encontrado en la

expresión 17.

Una vez calculado el límite inferior de Corriente, se calcula la primera

ganancia aplicando la expresión 19 y se sustituye en la expresión 16. Luego se

considera este nuevo valor de Corriente Mínimo, como la Corriente Máxima,

éste proceso se repitió 11 veces y los resultados se han tabulado en la Tabla 6.

El valor Rfn es calculado a partir de la expresión 16 considerando

R1=1kΩ.

[ 3\ ]0.1 * `

(18)

(19)

] a *0/ bá 2 bá d (17)

2 bí a*0/ bí] d

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 37

Tabla 6. Escalamiento para la ganancia del Amplificador.

n Imáx. Imín. SfgCh GfgCh Rfn[kΩ] (con R1=1kΩ)

1 36 24 0.1250 -1.250 1.250

2 24 16 0.1875 -1.875 1.875

3 16 11 0.2813 -2.813 2.813

4 11 7 0.4091 -4.091 4.091

5 7 5 0.6429 -6.429 6.429

6 5 3 0.9000 -9.000 9.000

7 3 2 1.5000 -15.000 15.000

8 2 1 2.2500 -22.500 22.500

9 1 0.5 4.5000 -45.000 45.000

10 0.5 0.3 9.0000 -90.000 90.000

11 0.3 0.2 15.0000 -150.000 150.000

3.3.2 Acondicionamiento digital

3.3.2.1 El convertidor Analógico Digital

Una vez que la señal esta acondicionada para que la reciba el ADC, ésta

es muestreada, cuantificada y codificada. Éste proceso es realizado con un el

AD1674 y controlado con un FPGA.

El AD1674, se puede configurar para una conversión a 8 bits y 12 bits. El

tiempo de conversión máximo (tc) de este dispositivo es de 10 µs. Para esta

aplicación se considera el arreglo bipolar como se muestra en la Figura 21.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 38

Figura 21. Arreglo bipolar del AD1674.

El arreglo bipolar de la Figura 21, es el establecido por el fabricante, el

cual recomienda ocupar capacitores de desacoplamiento de 10µf de tantalio en

paralelo con capacitores de cerámica de 0.1µf en las entradas de alimentación

de +5V, -12V y +12V.

Figura 22. a) Entradas y salidas del AD1674, b) Diagrama de tiempos para operación en modo simple.

+12V -12V

50Ω

50Ω

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 39

De acuerdo a la Figura 22 y a la Tabla 7, para iniciar un proceso de

conversión se debe generar en RC un tiempo en bajo (tHRL), de al menos 50 ns,

transcurrido este tiempo mínimo RC debe ser puesto en alto, para asegurar

que transcurrido el tiempo de conversión, el dato pueda ser leído.

Tabla 7. Tiempos para el Modo Simple

El AD1674, aplica Registro de Aproximaciones Sucesivas (SAR), para el

proceso de conversión analógico digital. Cuenta con 5 líneas de control, con las

que se configura el número de bits de conversión, habilitación del dispositivo,

inicio de conversión y lectura de la misma. El modo de operación elegido para

trabajar en combinación con el FPGA es Modo Simple (Un solo convertidor) a 8

bits (Ver Tabla 8). Con una frecuencia de conversión de 100Kmuestras/s.

Tabla 8. Tabla de verdad del AD1674

CE CS R/C 12/8 A0 Operación

0 X X X X Ninguna

X 1 X X X Ninguna

1 0 0 X 0 Inicializa conversión 12-Bits

1 0 0 X 1 Inicializa conversión 8 Bits

1 0 1 1 X Habilita a 12 bits

1 0 1 0 0 Habilita lectura a 8 bits

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 40

El AD1674 trabaja con tecnología BiMOS en la parte analógica y CMOS

en la parte digital. Por lo que los niveles lógicos 0 y 1 corresponden a valores

0V y 5V. Sin embargo el FPGA es alimentado con 3.3 V, por lo que se

consideró por protección, poner un acoplamiento digital entre ADC y FPGA.

Además, el AD1674 requiere de un dispositivo (LATCH) que retenga los

valores de la conversión, ya que la salida digital del convertidor se pone a alta

impedancia durante el tiempo de conversión.

En la Figura 23, se muestra el diagrama del AD1674 en combinación con

el FPGA, para el control de la conversión y la adquisición de datos.

Figura 23. Control del AD1674 con FPGA.

3.3.2.2 El buffer del acondicionamiento

El acondicionamiento digital, consiste en aplicar una protección y al

mismo tiempo un acondicionamiento de niveles de tensión. El FPGA utilizado,

es un dispositivo que trabaja con niveles lógicos en voltaje 0 y 3.3V y soporta

los niveles TTL (Figura 24).

Vin

FPGA Control

STS

b11

b0

b7

b8

74HC245

74HC245

FPGA

LATCH

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 41

a) b)

Figura 24. Niveles lógicos de entrada y salida. a) TTL; b) CMOS

Se necesitaba de un dispositivo digital que fuese alimentado con 3.3V y

diese niveles lo más cercano a 3.3V en alto y a 0V en bajo. La solución fue

emplear el 74HC245, ya que, es un dispositivo de alta velocidad tipo CMOS,

compatible con TTL, puede operar con un voltaje de alimentación Vcc entre

2.0V a 6.0V, los niveles de salida para 0 y 1 lógico son 0V y Vcc

respectivamente, con un retardo de propagación de 7 ns.

El 74HC245 se alimentó con Vcc=3.3V y se configuró para que el puerto

A fuese entrada y el puerto B salida. Para esto el Pin correspondiente a DIR se

puso en alto (1) y OE en bajo (0), tal como se muestra en la Figura 25.

VOH

VOL

5V 5V 5V 5V ALTO (1)

BAJO (0)

BAJO (0)

ALTO (0)

BAJO (0)

ALTO (0) ALTO (0)

BAJO (0) 0V 0V 0V 0V

0.8V

2V 2.4V

0.4V

4.9V

3.5V

1.5V

0.1 V

VOH

VOL

VIH

VIL

VIH

VIL

ENTRADA ENTRADA SALIDA SALIDA

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 42

Figura 25. Conexión del Buffer 74HC245.

3.3.3 Plataforma FPGA

Antes de plantear y dar solución a cada uno de los esquemáticos[2] que

se desarrollaron en el FPGA, se presenta una breve reseña de esta tecnología,

con el objetivo de dar una idea de su funcionamiento y programación.

3.3.3.1 Antecedentes de FPGAs

Las FPGAs contienen bloques lógicos relativamente independientes

entre sí. Estos bloques lógicos pueden interconectarse mediante conexiones

programables, para formar circuitos mayores.

En la Figura 26, se muestra la estructura interna de un FPGA, la cual se

puede ver el ordenamiento de Bloques de Celdas Logicas (CLBs) y la

interconexión con los Bloques de Entrada y Salida IOBs.

3.3V

(b11 - b4)

Db(7:0)

AD1674

FPGA

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

[2] Esquemático.- Es representación gráfica de un dispositivo, que es desarrollado mediante descripción de Hardware.

TESIS PROFESIONAL

Pág. 43

Figura 26. Estructura interna de un FPGA.

La tarea del programador, es definir la función lógica que realizará cada

uno de los CLB, seleccionar el modo de trabajo de cada IOB e interconectarlos.

El diseñador cuenta con la ayuda de entornos de desarrollo especializados en

el diseño de sistemas a implementarse en un FPGA. Un diseño puede ser

capturado ya sea como esquemático, o haciendo uso del lenguaje de

programación VHDL.

La programación de las FPGAs de Xilinx, se basan en RAM estática.

Cada vez que se aplica la tensión de alimentación, se reprograma con la

información que lee desde una PROM de configuración externa a la FPGA,

como se muestra en la Figura 27.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 44

Figura 27. FPGA programada con PROM.

Aprovechando la capacidad de diseño en el FPGA, el control del

AD1674, la función del LATCH, la guarda de datos en memoria y la

comunicación serial son tareas que se resolvieron con esquemáticos.

En la Figura 28 se presenta el esquema para la adquisición de datos, el

cual esta compuesto de los cuatro estados secuenciales siguientes:

1. Estado inicial. El FPGA espera orden de la PC para adquirir datos.

2. Estado de Adquisición. El FPGA adquiere datos del ADC y cambia de

estado cuando el contador llega a 128.

3. Estado de Transmisión. El FPGA transmite los datos almacenados en la

memoria FIFO y pasa al siguiente estado cuando se han transferido las 128

muestras.

4. Estado de reposo. La FPGA espera una orden de la PC para restablecer los

valores iníciales al Generador de Pulsos de Muestreo (Gs), Generador de

pulsos de Transmisión (Gt) y del contador.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 45

Figura 28. Diagrama de estados de la FPGA.

En la Figura 29, se muestra el diseño desarrollado en la SPARTAN 3,

que satisface la Etapa 3 en base a los estados de la Figura 28.

Figura 29. Esquemático para la adquisición y comunicación serial en FPGA.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Estado inicial

Estado Adquisición

Estado Transmisión

Estado Reposo

Espera $10H $10H?

si

no

$80H?

Contador

$80H?

no

si si

no

$10H?

si

no

Contador

Espera ≠≠≠≠ 10H

Clk

blm

RC

OCHO

A0

CS

Tx

Busy Rx

STS

Db(7:0)

clk

clk

clk clk

clk

RC

12/8

cs

A0

blm

blm

q

q

rst

rst a

b

c

clk

rst

b(6:0)

STS

we

a(6:0)

di(6:0)

do(6:0)

rxd

tra_en

dat_in

txd

rec_en

txd_busy

dat_out

clk s_rst

a(7:0)

DB_in(7:0)

DB_out(7:0)

Gt or

Contador Gs

Control

latch

FIFO

UART

Comparador

TESIS PROFESIONAL

Pág. 46

3.3.3.2 Control del ADC

El control del ADC, es un módulo, que no depende del los estados del

FPGA, se diseñó para que trabajara independiente a los demás módulos. Es el

encargado de establecer la frecuencia a la que opera el convertidor y determina

las características de la misma.

De acuerdo a las consideraciones de operación del AD1674, se necesita

de un control que asigne CE=1, CS=0, 12/8=0, A0=0 y de un reloj a una

frecuencia de 100kHz para el proceso de lectura y conversión (R/C).

La Tarjeta del ADC, se diseñó para que el AD1674 siempre este

habilitado por lo que CE es puesto a 5V directo de la fuente de alimentación.

Por el contrario CS, 12/8 y A0 son puestos a un nivel bajo por el bloque de

control.

Para desarrollar el reloj RC a 100kHz, se creó un divisor de frecuencia,

tomado como referencia la jklCm de 50MHz, que tiene integrada la Tarjeta

SPARTAN 3.

Para determinar cuantos ciclos de 50MHz, se necesitan para generar

uno de 100 kHz basta con aplicar la expresión 20, donde Nciclos, representa el

número de ciclos.

Sustituyendo valores, Nciclos=500 ciclos. Al tomar como referencia la

Tabla 7, se consideró diseñar una salida de reloj RC con tiempo en bajo de 1µs

(50 ciclos del XTAL) para un tiempo en alto de 9 µs (450 ciclos del XTAL).

0+ jklCmj56no65p?< (20)

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 47

Lo planteado, da como resultado un dispositivo de una entrada de reloj y

cuatro salidas para el control del ADC que responde al comportamiento de la

gráfica de tiempos de la Figura 30.

Figura 30. Diagrama de tiempos para el control del ADC.

3.3.3.3 El almacenamiento

Para que el estado de almacenamiento inicie, la PC debe solicitar un

muestreo, esto lo hace enviando por medio de la comunicación serie el dato

10H.

El almacenamiento de los datos, se realiza en una memoria diseñada en

el FPGA. La memoria fue basada en la estructura de una memoria FIFO

(primero en entrar, primero en salir) (Figura 31) de 128 registros de 8 bits.

La memoria es síncrona y responde a flancos de subida. Cuenta con una

entrada We, para indicar que será guardada la información contenida en la

entrada de datos y cuenta con un bus de dirección de 7 bits para seleccionar la

localidad del registro.

clk

RC

CS = 0

12/8 = 0

A0 = 0

0.9µs

0.1µs

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 48

Figura 31. Diagrama de tiempos para la memoria FIFO.

Los datos de entrada a la memoria, son los recibidos del LATCH (Figura

32), el cual se actualiza en cada flanco de bajada del STS del AD1674.

Figura 32. Diagrama de tiempos para el LATCH.

El control de las direcciones la ejerce el contador (Figura 33) síncrono de

7 bits, que responde a flancos de subida de la entrada de reloj, con reset (Rst)

asíncrono.

Figura 33. Diagrama de tiempos para el contador.

We

Din(7:0)

Memoria

Do(7:0)

Dir(6:0)

A B C D E F G H

00H 01H 01H 00H

A C

A C

STS

Do(7:0)

Din(7:0) 11H 01H 70H 30H 04H 90H 80H 20H 10H 92H 45H 23H 00H 01H 11H

30H 20H 23H

clk

rst

b

166.6µs

00H 01H 02H 03H 7EH 7DH 7FH 7CH

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

1µs clk

TESIS PROFESIONAL

Pág. 49

A su vez, el contador responde a un Generador de Pulsos de Muestreo

(Gs) sincronizado con el XTAL(Figura 34). El generador de pulsos o reloj de

muestreo, proporciona 128 pulsos a 6kHz (ciclos de 166.6µs). Considerando la

expresión 19, se requieren 8333 ciclos del cristal. La consideración es 4166

ciclos de XTAL para tiempo de subida y 4167 para tiempo de bajada. El

diagrama de tiempos se muestra en la figura 30.

Figura 34. Diagrama de tiempos para Generador de Pulsos de Muestreo.

El Gs, tiene un Rst para la inicialización del sistema. Cuando Rst=1, el

sistema se encuentra en estado inicial, es decir en reposo. Cuando Rst=0, el

sistema inicia su proceso de adquisición de datos.

Una vez finalizado los 128 pulsos, la salida del generador permanece en

cero y habilita al Generador de Pulsos de Transmisión Gt por medio de la

salida blm.

3.3.3.4 La transferencia.

Cuando el Gt se habilita, la entrada We de la FIFO cambia a estado bajo e

inicia el tercer estado de la FPGA, el cual consiste en transferir vía serial los

datos almacenados en la memoria FIFO. El funcionamiento del Gt es similar al

Gs, la diferencia es la frecuencia del generador.

clk

rst

q

blm

8333 ciclos 50 MHz

6 KHz Ciclo 1

Ciclo 2 Ciclo 3

Ciclo 128

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 50

El Gt transfiere bytes a la mitad de la capacidad de la comunicación, es

decir a 480Hz (Figura 35), esto se realizó para facilitar la transferencia y

almacenamiento de las muestras. De esta manera se guarda el la PC byte por

byte.

Figura 35. Diagrama de tiempos para Generador de Pulsos de Transmisión.

En la transferencia, se utiliza el contador para asignar los datos, en este

estado la línea de escritura se deshabilita poniendo en bajo el We de la FIFO.

3.3.3.5 La comunicación serial

La Tarjeta de Adquisición se diseñó considerando que el inicio del

muestreo fuese dependiente de la PC, con la finalidad de no saturar su bus de

comunicaciones y de esta manera evitar un colapso de la misma, por

desbordamiento de memoria.

La comunicación serial, tiene el propósito de inicializar el muestreo,

transmitir los datos al ordenador y establecer los valores iníciales.

La comunicación entre la Tarjeta de Adquisición y la PC es serie, y se

basó en el Transmisor-Receptor Asíncrono Universal (UART), que controla los

puertos y dispositivos serie.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

rst

q

blm

50 MHz

480 Hz Ciclo 1

Ciclo 2 Ciclo 3

Ciclo 128

clk 104k ciclos

TESIS PROFESIONAL

De acuerdo a la Figura

la FPGA es el cristal (XTAL

genera un flanco de subida en

datos son asignados al bus paraleo

serie que se encuentran en el bus paralelo

de subida en tra_en. Txd_busy

datos. En la Figura 3

comunicación serial entre TAD y

Figura 36. a) Conexión

De acuerdo a la Figura 29, Clk es la entrada del reloj del sistema, para

TAL) de 50 MHz. Rx es la entrada de datos serie la cual

genera un flanco de subida en rec_en e indica de recepción de nuevo dato

datos son asignados al bus paraleo dat_out. Tx envía los datos en formato

serie que se encuentran en el bus paralelo dat_in cuando se genera un flanco

Txd_busy se pone en alto mientras hay transferencia de

En la Figura 36 presentan las conexiones pertinentes para la

comunicación serial entre TAD y la PC.

(a)

(b)

. a) Conexión UART-RS232 del SPARTAN 3, b) Cable USB

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Pág. 51

, Clk es la entrada del reloj del sistema, para

. Rx es la entrada de datos serie la cual

e indica de recepción de nuevo dato, los

envía los datos en formato

genera un flanco

se pone en alto mientras hay transferencia de

presentan las conexiones pertinentes para la

, b) Cable USB-Serial.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 52

Como se puede observar en las Figuras 36a y 37, la Tarjeta SPARTAN

3, ya viene con los elementos necesarios para una comunicación RS232. Para

la conexión de la PC con la tarjeta SPARTAN 3, basta con conectar el cable

adaptador Serial-USB (Figura 36b)en el caso de la HP Pavilion dv1000 ya que

esta PC no tiene puerto serial. Para un equipo convencional con puerto serie

basta un cable serie estándar (Terminales Db9 hembra-macho).

3.3.3.6 Asignación de entradas y salidas

La Tarjeta SPARTAN 3, tiene líneas de expansión distribuida en tres

conectores de 40 pines. Tiene una conexión a un max232, que funciona como

interfaz entre el FPGA y el DB9. En la Figura 33, se muestra la ubicación de

estas conexiones. En la Tarjeta de Adquisición diseñada, se hace uso de la

Expansión B1 y del conector DB9.

Figura 37. Conexión del FPGA en la Tarjeta SPARTAN 3.

Expansión A1 Expansión A2

Exp

an

sión

B1

DB

9

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 53

La asignación física de cada línea de entrada y salida, se asocia con las

etiquetas de identificación de los pines del FPGA, tal como se muestra en la

Tabla 9.

Tabla 9. Conexiones para la implementación del FPGA

Entrada/Salida Dirección Localidad

STS Input D11

RC Output C12

OCHO Output C10

A0 Output C11

CS Output E10

db<7> Input T7

db<6> Input R7

db<5> Input N6

db<4> Input M6

db<3> Input C15

db<2> Input R3

db<1> Input B16

db<0> Input E11

CLK Input T9

Rx Input T13

Tx Output R13

Busy Output K12

Cada etiqueta del diagrama de la Figura 29, corresponden a una conexión

física del FPGA, ésta conexión entre el esquemático y la Tarjeta de ADC, se

hace por medio de localidades que componen al FPGA. En el Apéndice III, se

presenta los diagramas completos de cada etapa, así como las conexiones del

hardware desarrollado con la PC.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 54

3.4 Lenguajes de Descripción de Hardware

Antes de describir el hardware desarrollado en el FPGA, se establece

algunos conceptos básicos de la estructura de este código, y se presenta el

código VHDL de cada bloque diseñado para la adquisición de datos.

Los Lenguajes de Descripción de Hardware (HDL), son programas para

describir la programación de un circuito electrónico. Los pasos realizados en

este diseño fueron:

1. Definición la tarea o tareas que tiene que hacer el circuito.

2. Escritura del programa usando un lenguaje HDL.

3. Comprobación de la sintaxis mediante el proceso de síntesis[3].

4. Programación del dispositivo y comprobación del funcionamiento.

Una característica común a estos lenguajes suele ser la independencia

del hardware y la modularidad o jerarquía, es decir, una vez hecho un diseño

éste puede ser usado dentro de otro diseño más complicado y con otro

dispositivo compatible. En este trabajo, se decidió trabajar con VHDL.

3.4.1 El lenguaje VHDL

VHDL, viene de VHSIC (Very High Speed Integrated Circuit) y HDL

(Hardware Description Language). VHDL es un lenguaje de descripción y

modelado, diseñado para describir (en una forma que las personas y las

máquinas puedan leer y entender) la funcionalidad y la organización de

sistemas hardware digitales, placas de circuitos y componentes.

[3] Síntesis.- Lleva este nombre la acción de verificar que la sintaxis del código HDL es correcta.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 55

A continuación, se presenta la estructura básica de una programación

modular por medio de VHDL, la cual consiste en la definición de librerías, la

entidad y la arquitectura.

3.4.1.1 Librerías La librería, es en lugar al que se tiene acceso para utilizar las unidades

de diseño predeterminadas por el fabricante de la herramienta y su función es

agilizar el diseño.

VHDL cuenta con la librería IEEE, la cual contiene tres paquetes de uso

común.

1. El paquete std_logic_1164, contiene todos los tipos de datos que

suelen emplearse en VHDL (std:logic_vector, std_logic, entre otros).

<Declaración de librerías> <Declaración de paquetes de librerías>

Entity Nombre_Entidad is <Definición de la interfaz> End Nombre_Entidad;

Architecture Nombre_Arquitecture of Nombre_Entidad is

<Declaración de señales y otros objetos> Begin

<Definición del circuito> End Nombre_Arquitectura

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 56

2. El paquete std_logic_arith, define algunos tipos y las operaciones

aritméticas básicas para representar enteros en la forma estándar.

3. El paquete std_logic_unsigned, es una extensión del paquete

std_logic_arith y permite manejar operaciones sin signo.

El acceso a la información contenida en un paquete es por medio de la

sentencia use, seguida por el nombre de la librería y del paquete,

respectivamente:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

3.4.1.2 Entidad

En la entidad se define la interfaz del circuito con el exterior, dando

nombre y dirección a los puertos de entrada y salida con la sentencia “Port”.

Por ejemplo de la Figura 29, para definir la compuerta OR se tiene:

entity or is

Port ( a, b: in bit;

c: out bit);

end or;

La palabra reservada in indica que la dirección de datos es hacia el

interior del FPGA y por consecuencia la palabra out indica salida de datos.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 57

3.4.1.3 Arquitectura

La arquitectura va asociada a la entidad. En ella se define el circuito

interno conectado a la interfaz, desde el punto de vista de la función que realiza

o de la estructura de las conexiones entre sus componentes.

Siguiendo con el ejemplo de la compuerta OR la arquitectura presenta la

siguiente forma:

Architecture Behavioral of or is

begin

c=a or b;

end Behabioral;

3.4.2 Software para programar en VHDL

Los fabricantes de FPGA, normalmente proporcionan el Software de

programación. En el caso de Xilinx, el fabricante ofrece software que se puede

descargar directamente desde Internet en su página www.xilinx.com. El este

proyecto se utilizó Proyect Navigator 6.3 de xilinx.

Proyect Navigator, permite trabajar con la mayoría de las familias de

FPGA de Xilinx. Dentro de las funciones que desempeña están:

1. Ambiente para Descripción de Hardware.

2. Síntesis del código VHDL.

3. Herramientas para trabajar con Esquemáticos.

4. Grabador de la SRAM y PROM de la FPGA.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 58

A continuación, presenta la descripción de cada uno de los elementos

desarrollados en el esquemático de la Figura 29, que dan solución a la

adquisición de datos usando la plataforma FPGA.

3.4.2.1 Comparador

El comparador de la Figura 38, es un modulo diseñado en VHDL para

inicializar y forzar un proceso de muestreo. La salida s_rst es igual a 0 solo

cuando se recibe un dato $10h, en cualquier otro caso la salida es 1. Este

módulo ejecuta estas acciones cuando se genera un flanco de subida en clk.

entity comparador is Port ( clk : in std_logic; a : in std_logic_vector(7 downto 0); s_rst : out std_logic); end comparador; architecture Behavioral of comparador is signal aux1: std_logic_vector(7 downto 0); begin process(aux1) begin if aux1="10000000" then s_rst<='0'; else s_rst<='1'; end if; end process; process(clk, a) begin if clk 'event and clk='1' then aux1<=a; end if; end process; end Behavioral;

Figura 38. Esquemático del comparador.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 59

3.4.2.2 Control ADC

El control del ADC, se realiza con el módulo fcien de la Figura 39. Éste

es un bloque que pone a operar el ADC en conversión a 8 bits y genera las

transiciones para lectura y conversión por medio de la salida RC, su diagrama

de tiempos se muestra en la Figura 30.

entity fcien is Port ( clk : in std_logic; RC : out std_logic; ocho : out std_logic; cs: out std_logic; A0: out std_logic); end fcien; architecture Behavioral of fcien is begin process(clk) variable aux: integer:= 0; begin if clk 'event and clk='1' then if aux<100 then RC<='0'; end if; if aux>100 then RC<='1'; end if; if aux=500 then aux:=0; end if; aux:=aux+1; end if; ocho<='0'; cs<='0'; A0<='0'; end process; end Behavioral;

Figura 39. Esquemático de fcien.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 60

3.4.2.3 Latch

El latch de la Figura 40, es un bloque que se diseñó para retener los

datos convertidos por el ADC. Éste modulo carga a la salida DB_out(7:0) el

dato DB_in(7:0) en cada flanco de bajada detectado por la entrada STS.

entity Latch is Port ( STS : in std_logic; DB_in : in std_logic_vector(7 downto 0); DB_out : out std_logic_vector(7 downto 0)); end Latch; architecture Behavioral of Latch is begin process(STS) begin if STS' event and STS='0' then DB_out<=DB_in; end if; end process; end Behavioral;

3.4.2.4 Reloj de muestreo

El reloj de muestreo de la Figura 41, es un generador de pulsos

ajustado a una frecuencia de muestreo de 6kHz, esta diseñado para producir

128 pulsos a partir de un cristal que oscila a una frecuencia de 50 MHz.

entity Gs is Port ( clk : in std_logic; rst : in std_logic; blm : out std_logic; q : out std_logic); end Gs;

Figura 40. Esquemático Latch.

Figura 41. Esquemático Gs.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Gs

TESIS PROFESIONAL

Pág. 61

architecture Behavioral of Gs is begin process(clk, rst) variable aux1: std_logic; variable aux2: std_logic; variable contador : integer; variable verif : integer; begin

if rst='1' then aux1:='1'; aux2:='0'; contador:=0; verif:=0; q<='0'; else if clk 'event and clk = '1' then if contador = 4167 and verif< 256 then verif:=verif+1; contador :=0; aux2:=not(aux2); end if; contador := contador+1; if verif=256 then aux1:='0'; end if;

end if; end if; blm<=aux1; q<=aux2;

end process; end Behavioral;

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 62

3.4.2.5 Contador

El contador de 7 bits de la Figura 42, realiza un conteo de 0 a 127,

responde a flancos de subida en clk. Tiene como entrada de reloj una

compuerta or con el reloj de muestreo y el reloj de transmisión, la entrada de

rst=1 pone la cuenta en 0.

entity contadorout is Port ( clk : in std_logic; rst : in std_logic; b : out std_logic_vector(6 downto 0)); end contadorout; architecture Behavioral of contadorout is begin process(rst,clk)

variable contador: std_logic_vector(6 downto 0); begin

if rst='1' then contador := "0000000";

else if clk 'event and clk='1' then

contador :=contador +1; end if;

end if; b<=contador;

end process; end Behavioral;

Figura 42. Esquemático contador.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 63

3.4.2.6 Memoria

La memoria de la Figura 43, está diseñada para una capacidad de 128

bytes, tiene entrada y salida de datos de 8 bits, selección de escritura con

we=1 y lectura con we=0, y responde a los flancos de subida de clk.

entity fifo is Port ( clk : in std_logic; we : in std_logic; a : in std_logic_vector(6 downto 0); di : in std_logic_vector(7 downto 0); do : out std_logic_vector(7 downto 0)); end fifo; architecture comportamiento of fifo is

type ram_type is array (127 downto 0) of std_logic_vector(7 downto 0); signal RAM : ram_type;

begin process(clk) begin if rising_edge(clk) then if (we='1') then RAM(conv_integer(a))<=di; end if; end if; end process;

do<=RAM(conv_integer(a)); end comportamiento;

Figura 43. Esquemático fifo.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 64

3.4.2.7 OR

La compuerta or1 de la Figura 44, desarrolla la función convencional de

una compuerta de esta naturaleza, es de dos entradas y una salida.

entity or1 is Port ( a : in std_logic; b : in std_logic; c : out std_logic); end or1; architecture Behavioral of or1 is

begin c<=(a)or(b);

end Behavioral; 3.4.2.8 Reloj de transferencia

El reloj de muestreo de la Figura 45, es un generador de pulsos ajustado

a una frecuencia de transferencia, esta diseñado para producir 128 pulsos a

480 Hz a partir de un cristal conectado a clk que oscila a una frecuencia de 50

MHz.

entity Gt is Port ( clk : in std_logic; rst : in std_logic; blm : out std_logic; q : out std_logic); end Gt;

Figura 44. Esquemático or1.

Figura 45. Esquemático Gt.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

Gt

TESIS PROFESIONAL

Pág. 65

architecture Behavioral of Gt is begin process(clk, rst)

variable aux1: std_logic; variable aux2: std_logic; variable contador : integer; variable verif : integer;

begin if rst='1' then

aux1:='1'; aux2:='0'; contador:=0; verif:=0; q<='0';

else if clk 'event and clk = '1' then

if contador = 520840 and verif< 256 then verif:=verif+1; contador :=0; aux2:=not(aux2); end if; contador := contador+1; if verif=256 then aux1:='0'; end if;

end if; end if; blm<=aux1; q<=aux2;

end process; end Behavioral;

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 66

3.4.2.9 UART

La UART de la Figura 46, es la encargada de establecer el protocolo de

comunicación serial, esta tiene una entrada de reloj de referencia que se

conecta al cristal de 50MHz del sistema. Cuando recibe un byte se genera un

flanco de subida en rs232_rec_en, para enviar un byte se provoca un flanco de

subida en rs232_tra_en. Los datos a transmitir se asignan al bus

rs232_dat_in(7:0) y los datos recibidos están disponibles en el bus

rs232_dat_ot(7:0). Los datos enviados en forma serial se transmiten en

rs232_tx y los datos recibidos en forma serial llegan por rs232_rxd.

entity RS232_Interface is generic(clk_rate : integer := 50000000; baud_rate : integer := 9600); port(clk: in std_logic; rs232_rxd : in std_logic;

rs232_tra_en : in std_logic; rs232_dat_in : in std_logic_vector(7 downto 0);

rs232_txd : out std_logic := '1'; rs232_rec_en : out std_logic := '0'; rs232_txd_busy : out std_logic; rs232_dat_out : out std_logic_vector(7 downto 0)); end RS232_Interface; architecture Behavioral of RS232_Interface is

function vector_width(m : integer) return integer is variable n : integer := 0;

begin while(2 ** n <= m) loop

n := n + 1; end loop; return n; end function vector_width;

constant cnt_const0 : integer := clk_rate / baud_rate;

constant cnt_const1: integer := clk_rate / (2 * baud_rate) + cnt_const0; constant cnt_width: integer := vector_width(cnt_const1); type rec_states is (start_bit, data_byte, stop_bit); signal rec_state: rec_states := start_bit;

type tra_states is (start_bit, data_byte, stop_bit); signal tra_state: tra_states := start_bit; signal rec_sync : std_logic_vector(2 downto 0) := (others => '1');

Figura 46. Esquemático rs232_interface

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 67

signal rec_cnt: std_logic_vector(cnt_width - 1 downto 0) := (others => '1'); signal rec_bit_cnt: std_logic_vector(2 downto 0) := (others => '0'); signal rec_byte_reg: std_logic_vector(7 downto 0) := (others => '0'); signal tra_en :std_logic := '0'; signal tra_cnt: std_logic_vector(cnt_width - 1 downto 0) := (others => '1'); signal tra_bit_cnt: std_logic_vector(2 downto 0) := (others => '0'); signal tra_byte_reg: std_logic_vector(7 downto 0) := (others => '0'); signal tra_sync: std_logic_vector(2 downto 0) := (others => '1');

begin Sync_to_CLK : process(clk) begin

if rising_edge(clk) then rec_sync(0) <= rs232_rxd; rec_sync(1) <= rec_sync(0); rec_sync(2) <= rec_sync(1); tra_sync(0) <= rs232_tra_en; tra_sync(1) <= tra_sync(0); tra_sync(2) <= tra_sync(1);

end if; end process; Receiver : process(clk) begin

if rising_edge(clk) then case rec_state is

when start_bit => if rec_sync(1) = '0' and rec_sync(2) = '1' then

rs232_rec_en <= '0'; rec_cnt <= conv_std_logic_vector(cnt_const1, cnt_width); rec_state <= data_byte; end if; when data_byte => if rec_cnt = 0 then rec_cnt <= conv_std_logic_vector(cnt_const0, cnt_width); rec_bit_cnt <= rec_bit_cnt + 1; rec_byte_reg(conv_integer(rec_bit_cnt)) <= rec_sync(1); if rec_bit_cnt = 7 then

rec_state <= stop_bit; end if; else rec_cnt <= rec_cnt - 1; end if; when stop_bit => rec_cnt <= rec_cnt - 1; if rec_cnt = 0 then rs232_rec_en <= '1'; rec_state <= start_bit; end if; end case; end if; end process;

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 68

Transmitter : process(clk) begin

if rising_edge(clk) then case tra_state is when start_bit =>

if tra_sync(1) = '1' and tra_sync(2) = '0' then tra_byte_reg <= rs232_dat_in; tra_cnt <= conv_std_logic_vector(cnt_const0, cnt_width); tra_en <= '1';

elsif tra_en = '1' then rs232_txd <= '0'; if tra_cnt = 0 then

tra_cnt <= conv_std_logic_vector(cnt_const0, cnt_width); tra_state <= data_byte;

else tra_cnt <= tra_cnt - 1;

end if; end if;

when data_byte => rs232_txd <= tra_byte_reg(conv_integer(tra_bit_cnt)); if tra_cnt = 0 then

tra_cnt <= conv_std_logic_vector(cnt_const0, cnt_width); tra_bit_cnt <= tra_bit_cnt + 1; if tra_bit_cnt = 7 then

tra_state <= stop_bit; end if;

else tra_cnt <= tra_cnt - 1;

end if; when stop_bit =>

tra_cnt <= tra_cnt - 1; rs232_txd <= '1'; if tra_cnt = 0 then

tra_state <= start_bit; tra_en <= '0';

end if; end case;

end if; end process; rs232_txd_busy <= tra_en; rs232_dat_out <= rec_byte_reg; end Behavioral;

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 69

3.5 Diseño del Software Visual

El tercer punto de este capítulo, está enfocado al desarrollo del Software

para el procesamiento y visualización de los armónicos en PC. Para éste

propósito, se utilizo el programa Visual Basic 6.0 en el cual se desarrollaron

dos pantallas gráficas, la primera para la reconstrucción de la señal de

corriente y la segunda para presentar mediante barras llamadas Shape los

coeficientes de las armónicas resultantes de aplicar la TDF, además se

presenta en una tabla los resultados de evaluar la THDR y THDF.

3.5.1 El lenguaje de programación visual

Se diseñó un Software para el Analizador de Espectro, utilizando el

lenguaje de programación visual Basic 6.0. El proyecto es de tipo estándar (ver

Figura 47) y se agrego el componente Microsoft Comm Control 6.0 (ver Figura

48) para hacer uso del objeto MSCom, necesario para la comunicación serial

en Visual Basic.

Figura 47. Plataforma para el desarrollo del Software.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 70

Figura 48. Componente para la comunicación serial.

3.5.2 Pantalla gráfica

La pantalla desarrollada se presenta en la Figura 49 y consta de una

Barra de herramientas, gráfica de la corriente y armónicos y una tabla de

mediciones.

El software, tiene la finalidad de controlar el inicio de la adquisición de

datos y de procesar los datos muestreados por la tarjeta de adquisición. El

hardware mantiene un estado inicial a menos que se envíe un código 10H de

inicio de muestreo.

Para asegurar que en cada muestreo se realiza bajo las mismas

condiciones, se envía a la Tarjeta de Adquisición de Datos el código 11H.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 71

Figura 49. Pantalla del Software del “Analizador de Espectros”.

La Tarjeta de Adquisición de Datos, realiza un muestreo de 128 byte, de

los cuales son procesados en la PC los primeros 100. El tiempo de muestreo

es de 21.33 ms para los 128 datos y el tiempo de transmisión hacia la PC es de

266.66 ms, esto implica que el sistema se puede actualizar con intervalos

máximos de 288 ms. Sin embargo, se considera que la señal es periódica, por

lo que basta con un solo muestreo para conocer el comportamiento no lineal de

la señal de corriente. Para corroborar lo anterior, el software se ha diseñado

para que se actualice cada 3 segundos.

Grafica de Corriente

Grafica de armónicos

Tabla de mediciones

Regla de armónicos

Regla de Amplitud Máxima Barra de herramientas

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 72

El sistema opera en cualquier computadora que cuente con

comunicación serial DB9. Ya que la comunicación, es bajo el protocolo RS232,

a una transición de 9600 Bauds sin paridad.

Una vez seleccionada la opción conectar en el menú de la barra de

herramientas, inicia el ciclo de procesamiento (Figura 50). El software envia a

la tarjeta de adquisición de datos los códigos de inicialización 11H seguido de

10H, esto con la finalidad de que la Tarjeta de Adquisición de Datos se ponga

en su estado inicial y enseguida inicie el proceso de adquisición.

Cuando el muetreo ha finalizado, la Tarjeta de Adquisición de Datos

transfiere al ordenador las muetras de almacenadas en la memoria FIFO en

paquetes de Byte (Dn de 8 bits) D0 y terminado con D127, a una velocidad de

480Hz.

Figura 50. Ciclo de procesamiento.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

x(n)=Don FFT

Gráfica x(n)

Gráfica X(k)

Tabla

Inicio

IRMS, THDr, THDf Tarjeta de Adquisición

10H

11H

D0 D2 D3

D126

D127

D1 D4

TESIS PROFESIONAL

Pág. 73

3.5.2.1 La barra de herramientas

La barra de herramientas, es un menú, que se encuentra disponible en

la parte superior de la pantalla. En la figura 51, se muestra un diagrama de los

submenús de esta barra de herramientas.

Figura 51. Menú de la barra de herramientas. Descripción

Archivo. Cuenta con la opción “Cerrar”, para terminar la comunicación y

cerrar la aplicación.

Edición. Cuenta con la opción “Ganancia”, permite seleccionar entre 11

valores de ganancia. La selección de ganancia se escoje de acuerdo al valor

de la perilla selectora de ganancia ubicada de la Tarjeta de Adquisición de

Datos.

Comunicación. Cuenta con la opciones de “conectar” que inicia la

comunicación serial con la PC y con la opción de “pausar” que detiene el

proceso de adquisición.

Edición. Ofrece información del desarrollador de Software y de los

asesores.

Archivo Edición Comunicación Datos

Barra de Herramientas

G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11

Cerrar Ganancia

Conectar Pausar

Creador Asesor

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 74

3.5.2.2 Gráfica de señales

Se diseñaron dos graficas visuales, la primera reconstruye un ciclo de la

señal de corriente, esto se hace tomando los primeros 100 muestras. Cada

muestra es graficada con forme ingresa al PC.

Para desarrollar este proceso, se utilizó la función

MSComm1_OnComm() correspondiente al componente Microsoft Comm

Control 6.0. La función MSComm1_OnComm(), se habilita en el momento que

se recibe un dato por el puerto serial. Durante este proceso se almacena en un

registro llamado x(m), después de su almacenamiento se grafica e incrementa

el valor de m, donde m es un valor entero (puede valer entre 0 y 127, y

representa el numero de muestra).

Éste proceso, se desarrolla con las siguientes líneas de código:

If m > 0 Then

Picture4.Line (m - 1, (x(m - 1) * 127) + 127)-(m, (x(m) * 127) + 127), vbGreen

m = m + 1

End If

Una vez finalizada la transferencia, es evaluada la TDF con los primeros

100 puntos, los cuales son presentados en la grafica de armónicos,

considerando hasta el número 42.

La ecuación utilizada para evaluar la TDF es la planteada en la

expresión 2.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

!"#$

TESIS PROFESIONAL

Pág. 75

Éste proceso, se desarrolla con las siguientes líneas de código:

For k = 0 To (y / 2) - 1 Step 1

Xr(k) = 0

Xi(k) = 0

For j = 0 To y - 1 Step 1

Xr(k) = Xr(k) + x(j) * Cos(2 * pi * k * j / y)

Xi(k) = Xi(k) - x(j) * Sin(2 * pi * k * j / y)

Next j

Next k

Donde y=100 (máximo valor de n en la expresión 2), k representa el

numero del coeficiente de la TDF (de 0 a 49) y j el numero de muestra

(representado en la expresión 2 como n).

El resultado de las evaluaciones se almacenan en los registros Xr(k)

para la componente real y Xi(k), para la parte imaginaria.

Para realizar la gráfica de los armónicos, se evalúa la magnitud,

aplicando las siguientes líneas de código:

For j = 0 To (y / 2) - 1 Step 1

Xk(j) = Sqr(Xr(j) ^ 2 + Xi(j) ^ 2)

Next j

Donde Xk(j), almacena la magnitud desde el coeficiente 0 hasta el

coeficiente 49.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 76

El primer coeficiente, se consideró como el 100% de corriente que puede

contener cualquier coeficiente, esto para una visualización de auto ajuste

referenciado a la fundamental.

La pantalla de la grafica de armónicos se compone de 42 Shape. Cada

coeficiente se representa con en un objeto llamado Shape, cuyo valor máximo

es 4455 (para un coeficiente del 0%) y cuyo valor mínimo es 0 (para un

armónico del 100%). Para realizar esta representación grafica se utilizó las

siguientes líneas de código:

Shape1.Top = 4455 - (Xk(1) * 4455# / Xk(1))

Shape2.Top = 4455 - (Xk(2) * 4455# / Xk(1))

Shape3.Top = 4455 - (Xk(3) * 4455# / Xk(1))

Shape42.Top = 4455 - (Xk(42) * 4455# / Xk(1))

3.5.2.3 La tabla de resultados

Los resultados de estas evaluaciones son presentados en la tabla de

resultados. El software demora 2.5s para una evaluación completa. Se agregó

un temporizador, que reenvía los códigos de inicialización para un proceso

continuo cada 3 segundos.

Para determinar la corriente armónica se utilizan los valores Xk()

(coeficientes de la TDF) y se dividen entre la mitad del numero de muestras N y

la relación de voltaje corriente S y es multiplicado por la magnitud máxima de

conversión (5V)(expresión 21).

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

TESIS PROFESIONAL

Pág. 77

Text11.Text = Round((Xk(Text12) * 5 / (50 * AUX * Sqr(2))), 3) & "A"

Donde Text11.Text es el nombre del cuadro de texto que contiene el

valor de los armónicos de la corriente en RMS. AUX representa el valor de S y

es asignado dependiendo de la ganancia seleccionada en el menú. La función

Round(), redondea a tres decimales.

El valor del IRMS, el THDR y THDF se determina aplicando las

expresiones respectivas 10, 12 y 13, considerando 42 armónicos. Esto se

puede ver en las siguientes líneas de código:

Text15.Text = Round(Sqr(suma + (Xk(1) * Xk(1))) * 5 / (Sqr(2) * AUX * 50), 2) & "A"

Text17.Text = Round(Sqr(suma) * 100 / Sqr(suma + (Xk(1) * Xk(1))), 2) & "%"

Text13.Text = Round(Sqr(suma) * 100 / Xk(1), 2) & "%"

Donde: Text15.Text corresponde a IRMS, Text17.Text a THDR y

Text13.Text a THDF.

Con la opción “Pausar”, se interrumpe la comunicación y el software

conserva la última evaluación, de esta manera se puede explorar los valores de

los armónicos utilizando la Regla de armónicos. En el Apéndice IV se presenta

el código de cada función desarrollado en VB6.0.

DISEÑO DE UN ANALIZADOR DE ESPECTROS EN FPGA

(21) ) 8 5 *0.5 8 8 ]

TESIS PROFESIONAL

Pág. 78

CAPITULO 4.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE

ESPECTROS

4.1 Introducción. 4.2 Construcción de la Tarjeta de Adquisición de Datos.

4.2.1 La fuente de alimentación. 4.2.2 Construcción del amplificador. 4.2.3 Construcción de la Tarjeta del ADC. 4.2.4 Conexiones con la Tarjeta SPARTAN 3.

4.3 Pruebas del Analizador de Espectros. 4.3.1 Prueba de la Tarjeta del ADC. 4.3.2 Prueba de comunicación.

4.4 La fuente de alimentación 6811B como instrumento Patrón. 4.4.1 Mediciones realizadas con el 6811B. 4.4.2 Mediciones realizadas con el Analizador de Espectros. 4.4.3 Análisis de resultados.

TESIS PROFESIONAL

Pág. 79

4.1 Introducción

En éste capítulo, se presenta los diagramas, las tarjetas y las prueba de

funcionamiento de la Tarjeta del ADC, Tarjeta del amplificador y la

comunicación de la Tarjeta SPARTAN 3 con la PC. También, se presenta la

validación del prototipo, utilizando la fuente de poder 6811B como instrumento

patrón.

4.2 Construcción de la Tarjeta de Adquisición de Datos

4.2.1 La fuente de alimentación

La fuente de alimentación, fue diseñada bajo las necesidades de

energizar al AD1674. Este convertidor utiliza una alimentación de +12 V, -12 V

y 5V. El diseño se hizo utilizando rectificación de onda completa para

aprovechar la derivación central del transformador.

Ésta fuente, también provee energía al operacional de la etapa del

amplificador. En la Figura 52, se muestra el diagrama del circuito de la fuente

de alimentación, el cual esta compuesto de: Un transformador de 24 VRMS con

derivación central. Utiliza diodos 1N4004 en la etapa de rectificación de onda

completa, capacitores de 2200 µF como filtro, y se utilizan el LM7812, LM7912

y LM7805, como rectificadores de 12V, -12V y 5V respectivamente.

Figura 52. Diagrama de la fuente de alimentación.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

GND

5 VCD

-12 VCD

12 VCD

LM7805

GND

LM7812

LM7912

2200µF

2200µF

+

+

1N4004

1N4004

1N4004

1N4004

127 VRMS

24 VRMS

TESIS PROFESIONAL

Pág. 80

La placa fue impresa en una baquelita de 5 x 10 cm, se una sola cara, su

diseño fue elaborado por software, en prótel 2004. En la Figura 53 se presenta

el impreso con sus componentes.

Figura 53. Placa de la fuente de alimentación.

4.2.2 Construcción del Amplificador

El Amplificador, fue diseñado para trabajar como una interfaz entre el

Transductor y la Tarjeta del ADC, para obtener un rango de corriente pico entre

200mA a 36A. Las ganancias se deben ajustar para que el valor en voltaje, que

entra al ADC, esté entre 3.5V a 4.5V, con la finalidad de tener un cálculo

adecuado de los armónicos.

Para lograr esto, se implementó un selector de ganancia, que consiste

en un arreglo de resistencias seleccionables por medio de una perilla de 1 polo

11 tiros. En la Figura 54, se muestra el diagrama del circuito, en donde la

entrada es un conector BNC compatible con el conector del A622. La salida

del Amplificador esta diseñada para conectarse directamente con la siguiente

etapa (la Tarjeta del ADC).

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 81

La alimentación es de +5V y -5V, lo que permite proteger al ADC de

tensiones por arriba de este valor. La placa se muestra es la Figura 55, fue

armada en una tablilla perforada, consumiendo un espacio de 5x10 cm.

Figura 54. Diagrama del Amplificador.

Figura 55. Placa del Amplificador.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

R1

Vo

-

LM741

+

1kΩ

1.25kΩ

1.87kΩ

2.81kΩ

4.09kΩ

6.42kΩ

9.00kΩ

15.0kΩ

22.5kΩ

45.0kΩ

90.0kΩ

150kΩ

G1 G2 G3

G4

G5

G6

G7

G8 G9 G10

G11

Perilla selectora de ganancia

+5V

-5V

BNC

Entrada

TESIS PROFESIONAL

Pág. 82

El Amplificador necesita una alimentación de 5V y -5V, los 5V se toma

de la fuente de alimentación y los -5V se acondiciona con un LM7905

alimentado con los -12V de la fuente de alimentación.

4.2.3 Construcción de la Tarjeta del ADC

La Tarjeta del ADC, esta diseñada para recibir voltajes entre 3.5V y

4.5V. Opera en conversión a 8 bits, para lo cual utiliza un convertidor AD1674

en arreglo para modo bipolar +5V, el diseño de la tarjeta se implementó para

12 bits, el manejo de los 8 bits se hace en la configuración del código VHDL.

Se utilizó los buffer 74HC245 para el acondicionamiento digital con el FPGA.

Figura 56. Diagrama de la Tarjeta de ADC.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

B8 B9

B10

B11

3.3V

3.3V

-12V +12V

+5V

+ + +

10µF 10µF 10µF

0.1µF 0.1µF 0.1µF

5V +12VV -12V

50Ω

50Ω

R2

R1

74HC245

74HC245

1

B5

B11 B10 B9 B8 B7 B6

B4 B1 B0

A0 CS

B2

STS

3.3V GND

B3

RC

12/8

5V

TESIS PROFESIONAL

Pág. 83

Las salidas digitales y las conexiones para el control del ADC están

conectadas a un Heder 20x2 tipo macho. Este circuito, cuenta con una etapa

de desacoplamiento en las entradas de alimentación, el arreglo consiste en

aplicar un capacitor de Tantalio de 10µF en paralelo con capacitor de cerámico

de 0.1µF.

La placa fue impresa en una baquelita de 10 x 15 cm, de dos caras, su

diseño fue elaborado por software, en prótel 2004. En la Figura 57 se presenta

el impreso con sus componentes.

Figura 57. Placa de la Tarjeta del ADC.

4.2.4 Conexiones con la Tarjeta SPARTAN 3

De la tarjeta SPARTAN3, se ha utilizado: el integrado FPGA XC3S200,

la memoria Flash PROM serial XCF02S, el conector JTAG para la grabación de la

FPGA y el conector DB9 con el arreglo 232 para comunicación serial.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 84

En la Figura 58, se muestra la Tarjeta SPARTAN 3 con las conexiones

utilizadas en la Tarjeta de Adquisición de Datos. Entre paréntesis se indica el

nombre del PIN asociado con el FPGA. La expansión B1, es conectada con la

Tarjeta del ADC por medio de un cable plano de 40 vías. El conector DB9, ya

viene con las conexiones RS232 para conectar un cable de comunicación serial

estándar. También se ocupo el LED L1 de la tarjeta como indicador de estado

de la adquisición (encendido indica que se encuentra en el estado de inicio,

apagado se esta realizando un muestreo).

Figura 58. Diagrama de conexiones de la Tarjeta SPARTAN 3.

GND 3.3V

N11T3

P10R10T7 R7 N6 M6 C15

5V C10E10C11D11

R3

E11B16

DB

9 R

S23

2

PIN 5 = GND

PIN 2 = TX (R13)

PIN 3 = RX (T13)

PINS DEL FPGA

EXPANSION B1 ENTRADA DE ALIMENTACIÓN 5V

JTAG XCF02S XC3S200 1

INDICADOR RST (P14)

C12

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 85

4.3 Pruebas del Analizador de Espectros

4.3.1 Pruebas de la Tarjeta del ADC

Para verificar la correcta comunicación entre el FPGA y ADC, se probo

que el bloque de control del ADC trabaja correctamente. Para ello se

implemento en el FPGA el esquemático fcien y se armó el circuito que se

muestra en la Figura 59.

Figura 59. Prueba de la Tarjeta del ADC.

El la Figura 59, se observa el análisis de la señal RC contra la STS. En

esta prueba se verifico que los tiempos de conversión del ADC. Se observo que

en configuración a 8 bits STS cambia de estado bajo a alto cuando se inicia la

conversión (RC=0 con un tiempo de retardo TDS de 220nS y permanece en alto

durante 8.2µs (tiempo que dura la conversión), de ahí se tiene un margen de

1.8µs para provocar el siguiente flanco de bajada THRL cuya duración es de 1

µs (el fabricante recomienda que THRL sea mayor a 50ns).

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 86

4.3.2 Prueba de comunicación

La siguiente prueba que se realizó, consistió en probar la comunicación

de la Tarjeta de Adquisición de Datos con la PC. Para esto se utilizó un

generador de señales, al que se le programaron diferentes señales, las cuales

pudieron ser monitoreadas por la PC. Las conexiones se muestran en la Figura

60.

Figura 60. Prueba de comunicación de la Tarjeta de Adquisición de Datos con la PC.

En la Figura 61, se muestra, la adquisición de una señal triangular a 120

Hz, señal proporcionada por un generador de funciones, se observa las

señales en el osciloscopio y en la pantalla, también se aprecia la magnitud del

segundo armónico, mas pronunciado que el armónico 15.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 87

Figura 61. Señal triangular adquirida con el Analizador de Espectros de Baja Frecuencia.

La siguiente prueba, tuvo como objetivo comprobar la funcionalidad del

prototipo y comprobar que, con una Analizador de Espectros de Baja

Frecuencia es factible realizar no solo la medición de corriente total que

consume una carga no lineal, si no también la medición de la corriente total

presentada en una acometida, los armónicos de corriente y cálculo su

Distorsión Armónica Total (THDR y THDF).

Para comprobar la funcionalidad, se utilizo el equipo 6811B de la marca

Agilent. Este equipo es una fuente de poder que tiene la capacidad de medir la

corriente que entrega a una carga, ya sea lineal o no lineal. También calcula el

THDR.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 88

La validación del Analizador de Espectros de Baja Frecuencia, se llevo a

cabo en la Centro Nacional de Investigaciones y Desarrollos Tecnológicos

(CENIDET) de Cuernavaca, Morelos, ya que no se contaba con un equipo para

este propósito en las instalaciones del ESIME.

4.4 La fuente de alimentación 6811B como Instrumento Patrón.

El 6811B, es una fuente de alimentación, que mide los armónicos

demandados por la carga que sea conectada, también calcula el IRMS y THDR,

de la corriente. El arreglo para las conexiones se presenta en la Figura 62. El

resultado de esta evaluación se presenta en las páginas 89 y 90.

Figura 62. Diagrama de conexión para validar el prototipo.

Osciloscopio Tektronix TDS3000

IRMS

IRMS

127VRMS

Neutro

Analizador de espectros Equipo Patrón “6811B”

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

Conexión posterior del “6811B”

Tarjeta de Adquisición de Datos

TESIS PROFESIONAL

Pág. 89

4.4.1 Mediciones realizadas con el 6811B.

Carga Analizada: Osciloscopio Digital Tektronix TDS3000

Figura 63. Grafica de las mediciones realizadas con el 6811B

Tabla 10. Resultados del 6811B para validación

Corrientes medidas

Armónico [A] Armónico [A] Armónico A

IRMS1 0.377 IRMS15 0.035 IRMS29 --

IRMS3 0.328 IRMS17 0.035 IRMS31 --

IRMS5 0.267 IRMS19 0.021 IRMS33 --

IRMS7 0.188 IRMS21 0.013 IRMS35 --

IRMS9 0.109 IRMS23 0.013 IRMS37 --

IRMS11 0.052 IRMS25 0.013 IRMS39 --

IRMS13 0.030 IRMS27 --- IRMS41 --

Cálculos realizados

IRMST 0.613 THDR 78.73% THDF ---

-1.50

-1.00

-0.50

0.00

0.50

1.00

1.50

0.000.050.100.150.200.250.300.350.40

1 3 5 7 9 11 13 15 17 19 21 23 25

Gráfica I vs t Gráfica I vs N

I RM

S[A

]

I RM

S[A

]

t

Armónico N

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 90

4.4.2 Mediciones realizadas con el Analizador de Espectros.

Carga Analizada: Osciloscopio Digital Tektronix TDS3000

Figura 64. Gráfica de las mediciones realizadas con el Analizador de Espectros.

Tabla 11. Resultados del Analizador de Espectros para validación

Corrientes medidas

Armónico [A] Armónico [A] Armónico A

IRMS1 0.377 IRMS15 0.035 IRMS29 0.004

IRMS3 0.328 IRMS17 0.035 IRMS31 0.004

IRMS5 0.266 IRMS19 0.022 IRMS33 0.004

IRMS7 0.188 IRMS21 0.013 IRMS35 0.008

IRMS9 0.110 IRMS23 0.013 IRMS37 0.004

IRMS11 0.052 IRMS25 0.013 IRMS39 0.004

IRMS13 0.031 IRMS27 0.008 IRMS41 0.004

Cálculos realizados

IRMST 0.613 THDR 78.91% THDF 128.49%

-1.5

-1

-0.5

0

0.5

1

1.5

0.000.050.100.150.200.250.300.350.40

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41

Gráfica I vs t Gráfica I vs N

I RM

S[A

]

I RM

S[A

]

t

Armónico N

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 91

La fuente 6811B, proporciona la tensión, e internamente mide la

corriente que suministra a la carga. En ésta prueba, la carga es un osciloscopio

de la serie TDS3000, simultáneamente se midió la corriente que circulaba en el

cable utilizando el prototipo del Analizador de Espectros de Baja Frecuencia.

Se realizó la medición simultánea de los primero 25 armónicos y se monitoreo

el cálculo de la IRMS, y el THDR.

4.4.3 Análisis de resultados.

Como se puede observar, las corrientes armónicas medidas con el

Analizador de Espectros, corresponden con las medidas con el Instrumento

Patrón. Solo distan las corrientes IRMS5, IRMS9, IRMS13 e IRMS19 en el tercer

decimal, con un error de 1mA.

Los cálculos de IRMS también corresponden con los del Instrumento

patrón. Y el valor de THDR también corresponden, con una diferencia de

0.08%.

Por lo que se puede concluir de las pruebas, que el prototipo

desarrollado de un Analizador de Espectros de Baja Frecuencia, proporciona

una medición aceptable. Y se pudo comprobar que basta una resolución digital

de 8 bits y 100 puntos para tener una buena estimación de los armónicos y

calculo de la Distorsión Armónica Total.

CONSTRUCCIÓN Y PRUEBAS DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 92

CAPITULO 5.

EVALUACIÓN DEL INSTRUMENTO

5.1 Introducción 5.2 Metas y objetivos logrados. 5.3 Evaluación de costos y rentabilidad.

5.3.1 Costo de materiales. 5.3.2 Tiempo invertido. 5.3.3 Gastos generados por la evaluación. 5.3.4 Gastos por mantenimiento. 5.3.5 Rentabilidad.

TESIS PROFESIONAL

Pág. 93

5.1 Introducción

En éste capítulo, se hace una valoración del instrumento, en cuanto a las

expectativas en el diseño planteado y una valoración económica considerando

costos del material, tiempo invertido y gastos necesarios en su valoración.

5.2 Metas y objetivos logrados

El proyecto del Analizador de Espectros, tuvo como origen, satisfacer la

necesidad escolar de contar con equipo para la medición de la Distorsión

Armónica Total.

Para esto, se planteo partir de los principios de funcionamiento de un

Analizador de Espectro Digital y se propuso realizar uno, para operar a baja

frecuencia, haciendo coincidir la frecuencia de resolución con la frecuencia de

línea.

Como elemento de adquisición se consideró la plataforma FPGA y un

convertidor ADC, con su respectivo acondicionamiento y bajo las siguientes

consideraciones:

• XTAL del sistema: 50MHz.

• Entrada codificada con 8 bits.

• Amplitud de la señal de entrada analógica de ±5V.

• Selector de rango de corriente de 0.2A a 36A.

• Frecuencia de muestreo 6kHz

• Adquisición de 128 muestras

Con los que se esperaba tener como resultados:

• Resolución en frecuencia 60Hz.

• Rango de frecuencia de DC a 2520 kHz.

• Salida visual de CD y 42 Armónicos.

• Calculo de la THDR y THDF

EVALUACIÓN DEL INSTRUMENTO

TESIS PROFESIONAL

Pág. 94

De acurdo a los resultados de las pruebas realizadas y a la valoración

del prototipo del Analizador de Espectros de Baja Frecuencia con el 6811B, se

puede considerar que los objetivos y las especificaciones fueron cumplidas

satisfactoriamente, presentándose solo una desviación de 1mA en algunos

armónicos, lo cual no es significativo en el cálculo de la THDR y THDF. Se

comprobó que solo sobresalen los armónicos impares y basta con considerar

los primeros 27 para el cálculo de la Distorsión armónica.

5.3 Evaluación de costos y rentabilidad

5.3.1 Costo de materiales

El proyecto considerando el equipamiento de laboratorio, tendría un

costo de $6950, solo en cuestiones materiales, no se incluye PC, mano de obra

ni tiempo de investigación.

Del equipo desarrollado:

TAD $ 300

Amplificador $ 50

Tarjeta de desarrollo SPARTAN3 $ 1200

Fuente de alimentación de CD $ 100

Cable USB-Serial $ 300

Subtotal: $ 1950

Equipo de laboratorio

A622 $ 5000

Total: $ 6950

EVALUACIÓN DEL INSTRUMENTO

TESIS PROFESIONAL

Pág. 95

5.3.2 Tiempo invertido

Se ha invertido un tiempo de 12 meses entre el análisis, diseño

construcción, pruebas y realización del escrito. Con un total de 960 horas de

trabajo, considerando un promedio de 20 horas por semana. Con lo cual se

considera una inversión de ingeniería de $115200.

5.3.3 Gastos generados por evaluación

Inversión de un viaje y estancia en el CENIDET de Cuernavaca,

Morelos para validar el prototipo.

Costo total $3500 por 5 días

5.3.4 Gastos por mantenimiento

Al ser un equipo de pocos elementos, el mantenimiento es mínimo, pero

si se requiere de especial cuidado con las conexiones, aunque se manejan

conectores BNC para el A622 hacia la TAD, es conveniente no someter al

equipo a un uso rudo, pues esto puede reducir la vida útil de las puntas de

corriente.

La punta de corriente A622 utiliza una batería de 9V, la cual se

recomienda cambiar después de 8 horas de operación.

5.3.5 Rentabilidad

El equipo, ofrece muchos beneficios, cubre necesidades que hoy en día

se dejan a la deriva en el plan de trabajo de los maestros, por no contar con el

equipo apropiado. Requiere de poco mantenimiento, su costo es bajo, por lo

que un alumno, maestro o investigador podría contar con uno para uso

personal ya sea para ocuparlo dentro o fuera de la institución educativa.

EVALUACIÓN DEL INSTRUMENTO

TESIS PROFESIONAL

Pág. 96

CONCLUSIONES

Este proyecto expuso el diseño de un Analizador de Espectros a partir

de una Tarjeta de Adquisición de Datos desarrollada con un FPGA. El

analizador se propuso para aplicaciones de medición de Armónicos para

Líneas Monofásicas con capacidad de medir la distorsión los primeros 42

armónicos.

Se propuso que a partir de un muestreo de 100 puntos con una

resolución de 8 bits se podía medir el RMS de cada armónico. En base a los

resultados obtenidos en la valoración del equipo, se obtuvieron valores

cercanos a los del equipo 6811B.

Se mostró que a pesar de tener pocos puntos, esto no afecta de manera

significativa en el cálculo de la magnitud de los armónicos. Por lo tanto el

prototipo desarrollado bajo la propuesta de diseño en viable y puede cubrir

necesidades de medición de armónicos en líneas monofásicas hasta el

armónico 42 con lo que se determina la distorsión de la corriente.

Como resultado, se tiene un equipo al alcance de alumnos, profesores e

investigadores que necesiten medir el comportamiento de la corriente ante la

presencia de cargas lineales y no lineales de corriente alterna.

CONCLUSIONES

TESIS PROFESIONAL

Pág. 97

BIBLIOGRAFÍA

Libros de consulta Daniel W. Hart. “Electrónica de Potencia”, Madrid. Prentice Hall. 2001.

Haykin, Van Veen. “Señales y sistemas”, México, D.F. Editorial Limusa, S.A. de C.V , 2004.

Ing. Andres M. Karcz. “Fundamentos de Metrología Eléctrica”. Tomo III. Ed. Alfaomega S.A. de CV. 1994.

Rober F. Coughlin. “Amplificadores operacionales y circuitos integrados lineales”. México. Prentice Hall, 5ta. Ed, 1999.

J. María Angulo. “dsPIC Diseño práctico de aplicaciones”, España. Mc Graw Hill, 2006.

James D. Broesch. “Practical Programable Circuit”. Academic Press, Inc. 1991.

M. Morris Mano. “Diseño digital”, México. Pearson Educación, 2003.

David G. Maxinez. “VHDL El arte de programar sistemas digitales”, México. CECSA, 2003. Tesis recomendada MI Carlos Sagrero Gutiérrez, “Análisis Diseño y Construcción de un Convertidor Conmutado PWM tipo CUK empleado como Corrector del Factor de Potencia”, Instituto Tecnológico de Minatitlán, 2006. Paginas de Internet recomendadas

http://www.xilinx.com/

http://www.digilentinc.com/Products/Detail.cfm?Prod=S3BOARD

http://www.digilentinc.com/Data/Products/S3BOARD/S3BOARD_RM.pdf

http://www.analog.com/UploadedFiles/Data_Sheets/346669145AD1674_c.pdf

http://www.tek.com/site/ps/0,,60-15081-INTRO_EN,00.html

http://www.isotest.es/web/Soporte/catalogos/fluke/fluke%2043b.pdf

BIBLIOGRAFÍA

TESIS PROFESIONAL

Pág. 98

GLOSARIO

Acondicionamiento Analógico. Está integrado por el Transductor, el Amplificador Inversor. Tiene la finalidad de establecer los valores óptimos para que el Convertidor Analógico Digital reciba un nivel de tensión entre 3.5 y 4.5V.

Acondicionamiento Digital. Esta integrado por un buffer de tipo CMOS con compatibilidad de TTL.

Alias. Es una frecuencia baja a consecuencia de un muestreo lento.

Amplificador Inversor. Es un arreglo de un Amplificador Operacional, cuya ganancia depende de la relación de resistencia de retroalimentación y la resistencia de entrada. Es utilizada para establecer la ganancia adecuada para que el Convertidor Analógico Digital reciba una tensión entre 3.5V a 4.5V.

Amplitud. Es la medida entre la media de la señal y el valor máximo.

Analizador de Espectros. Es un instrumento que tiene como entrada una señal en el dominio del tiempo y proporciona una análisis de los armónicos de la misma en el dominio de la frecuencia.

Armónicos. Son frecuencias múltiplos a la frecuencia fundamental de 60Hz.

Arquitectura. Define el circuito interno conectado a la interfaz, desde el punto

de vista de la función que realiza o de la estructura de las conexiones entre sus

componentes.

Buffer. Acondicionamiento digital utilizado para asegurar los niveles de tensión óptimos entre dos etapas digitales.

Carga. Se le denomina al elemento que es conectado en una toma de tensión y por el que fluye una corriente.

Carga Lineal. Se le denomina a la carga que demanda una corriente de la misma naturaleza de la fuente de tensión que lo alimenta.

Carga no Lineal. Se le denomina a la carga que demanda una corriente de diferente naturaleza a la tensión que la alimenta.

GLOSARIO

TESIS PROFESIONAL

Pág. 99

Comunicación serial. Se transmite por 2 hilos, utiliza el protocolo RS232. Se transmite un byte en 10 bits a 9600 bauts.

Corriente Armónica. Es aquella que se manifiesta dentro de un sistema eléctrico a una frecuencia múltiplo de la fundamental.

Corriente Eficaz. Es la resultante de la contribución de todas las corrientes armónicas.

Corriente Pico. Es el valor máximo que puede alcanzar la corriente durante un ciclo.

Digitalización. Consiste en muestrear, cuantificar y codificar una señal analógica para asociarla con un valor digital.

Distorsión Armónica Total Fundamental. Es la relación entre el contenido armónico de la señal y la primera armónica o fundamental. Su valor se ubica entre 0% e infinito. También es conocido como THD.

Distorsión Armónica Total RMS. Proporciona la relación entre el contenido armónico de la señal y su valor eficaz. Su valor se ubica entre 0% y 100%. También se conoce como thd.

Distorsión de Demanda Total. Es la relación entre la corriente armónica y la demanda máxima de la corriente de carga.

Entidad. Define la interfaz del circuito con el exterior, dando nombre y dirección a los puertos de entrada y salida con la sentencia “Port”.

FFT (Fast Fourier Transform). Es la sigla de Transformada Rápida de Fourier, son algoritmos matemáticos que simplifican el cómputo de la Transformada Discreta de Fourier.

FPGA (Field Programmable Gate Arrive). Es un dispositivo programable de arreglo de compuertas. Se caracteriza por su capacidad de paralelismo y es un dispositivo que se programa por descripción de hardware.

Frecuencia de Muestreo. Ésta frecuencia es de 6kHz y corresponde a la frecuencia en la que se adquiere cada muestra de la corriente.

GLOSARIO

TESIS PROFESIONAL

Pág. 100

Frecuencia Fundamental. Ésta frecuencia es la correspondiente a la línea de corriente alterna y corresponde a 60Hz.

Fuente de Alimentación. Proporciona los niveles de voltaje de corriente directa necesarios para energizar los diferentes dispositivos que componen la Tarjeta de Adquisición de Datos.

Ganancia. Es el incremento que proporciona el Amplificador Inversor al voltaje proporcionado por el Transductor y que es entregado al Convertidor Analógico Digital.

Instrumento de medición. Se refiere al equipo de medición que proporciona información visual de una señal medida.

Instrumento Patrón. Es el instrumento utilizador como valor verdadero, con el cual es comparado un Instrumento para su comparación o ajuste.

Interfaz RS232. Esta interfaz consta de dos líneas de comunicación, las cuales son cruzadas para lograra que Tx1 se conecte con Rx2 y Rx1 se conecte con Tx2.

Latch. Es la representación en VHDL de un buffer que retiene datos provenientes del Convertidor Analógico Digital y los retiene a la salida en cada flanco de bajada de la línea STS del mismo.

Lenguaje VHDL. Es un Lenguaje de Descripción de Hardware, que utiliza una estructura librería, entidad y arquitectura, el cual fue estandarizado por la IEEE.

Lenguaje Visual Basic 6.0. Es un lenguaje de alto nivel, utiliza una interfaz gráfica en ventanas para su programación.

Lenguaje HDL (High Description Hardware). Es la denominación a los lenguajes utilizados para Descripción de Hardware de los Dispositivos Lógicos Programables.

Librería. Es un conjunto de subprogramas desarrollador por el fabricante del software de VHDL, cuya finalidad es facilitar la programación por parte del usuario.

Línea de Corriente Alterna. Es la que proporciona el suministro de tensión, para una línea monofásica 127 V RMS con capacidad de demanda de 30 A.

GLOSARIO

TESIS PROFESIONAL

Pág. 101

Medidor de Calidad de la Energía. Son instrumentos que proporcionan información del estado de la tensión que alimenta una carga y mide parámetros (voltaje, corriente, distorsión, factor de potencia, etc.) que determinan en que condiciones se esta consumiendo la corriente.

Muestreo. Éste proceso consiste en tomar N puntos discretos de la señal analógica a tiempos equidistantes.

Norma CFE L000-45. Norma mexicana, “Perturbaciones permisibles en las

formas de onda de tensión y corriente del suministro de energía eléctrica”

concerniente a la distorsión armónica permisible.

Norma IEEE-519. Norma de los Estados Unidos de América, “Prácticas

recomendadas y requerimientos para el control de armónicas en sistemas

eléctricos de potencia” define entre sus puntos los valores máximos de

distorsión permisible.

Resolución en Frecuencia. Se refiere a la frecuencia mínima (60Hz) que el Analizador de Espectros puede determinar los armónicos de una señal de corriente.

SAR. Denominado Registro de Aproximaciones Sucesivas, es un método de conversión del Convertidor Analógico Digital, en el que se utiliza un proceso de incremento y comparación.

Serie de Fourier. Representa una señal periódica como una suma de señales senoidales.

Síntesis. Es un proceso en el que se traduce el código VHDL a código del FPGA, durante este proceso se genera un archivo de extensión .bit

Tarjeta SPARTAN 3. Es una tarjeta comercial de la compañía DIGILENT, contiene un FPGA XC3S200 de la familia SPARTAN3, y accesorios como interfaz RS232, memoria PROM y líneas de expansión para conexión con otras tarjetas.

GLOSARIO

TESIS PROFESIONAL

Pág. 102

Tarjetas de Adquisición de Datos. Es un desarrollo basado en el FPGA XC3S200, se compone de un Amplificador Inversor, una Tarjeta de ADC y la Tarjeta SPARTAN3, con sus respectivas fuentes de alimentación.

TDF (Transformada Discreta de Fourier). Se refiere al análisis de Fourier en el que se determina la amplitud de los armónicos de una señal.

Transductor. Es un dispositivo que convierte una señal en otra en forma proporcional.

Validación. Es un proceso por pedio del cual, se compara el equipo desarrollado con un instrumento patrón, para verificar que las mediciones que proporcionan ambos equipos sean similares.

Valor Eficaz. Se aplica a las señales que están compuestas por armónicos y se calcula aplicando la raíz cuadrada a la suma de los cuadrados de cada armónico en valor eficaz.

GLOSARIO

TESIS PROFESIONAL

Pág. 103

APÉNDICE I.

LA TRANSFORMADA DISCRETA DE FOURIER

TESIS PROFESIONAL

Pág. 104

Computo de la Transformada Discreta de Fourier

La Transformada Discreta de Fourier de N puntos, corresponde al

cálculo de N muestras de la transformada de Fourier en las N frecuencias

equiespaciadas ωk=2πk/N.

Existen varios métodos para calcular valores de la TDF en forma

eficiente, estos algoritmos se les conoce como Transformada Rápida de

Fourier (FFT). Para el desarrollo de este trabajo, basta con considerar el

cómputo de la TDF.

Partiendo de la TDF de una secuencia finita de longitud N:

( ) ( ) ,1

0

∑−

=

=N

n

kn

NWnxkX k=0,1,…,N-1

Donde

NjeW /2π−=

Como las muestras de la corriente x(n) no son complejas, la expresión

anterior X(k) se puede representar como:

∑−

=

1

0

N

n

r,s rtu,v w J /,s rtu)v wt, k=0,1,…,N-1

Esta expresión se puede ver como las sumatorias:

∑−

=

1

0

N

n

x,s rtu,v wy J /∑−

=

1

0

N

n

x,s rtu)v wy k=0,1,…,N-1

Por lo que X(k) se compone de la suma compleja:

,su J )su

APÉNDICE I

TESIS PROFESIONAL

Pág. 105

Magnitud de la FFT

El espectro en frecuencia se representa como la magnitud de cada punto

X(k), es decir:

|| zr,sut& J r)sut& Debido a que los puntos resultados de evaluar k=N/2, …, N-1,

corresponden al reflejo de la frecuencias positivas (espectro negativo de

frecuencias). Solo es de interés evaluar la primera mitad.

Graficado e interpretación de la señal espectral

Para visualizar las frecuencias correspondientes a los coeficientes de la

TDF, se debe conocer la frecuencia de muestreo y la longitud de la TDF. Las

frecuencias para cada coeficiente quedan en función de la resolución en

frecuencia y el número del coeficiente.

∆j j b+

Donde:

• ∆F es la frecuencia de resolución en Hz (60Hz).

• Sample Rate son el número de muestras de la onda (6kmuetras/s).

• N es el número de puntos independientes de la TDF (100).

La frecuencia f(k) correspondiente para cada coeficiente k se calcula con

el siguiente producto:

PK K 8 ∆|. El sapan, es otro parámetro importante y va desde cero hasta la máxima

frecuencia analizada (3kHz).

APÉNDICE I

TESIS PROFESIONAL

Pág. 106

Aplicando MATLAB

MATLAB, es un lenguaje de programación matemático utilizado

ampliamente en ingeniería, el cual se ha empleado para realizar la

demostración de que basta con 100 puntos para evaluar la TDF y con ello

determinar la magnitud de al menos 42 armónicos de una señal de corriente de

60 Hz. Partiendo de una señal de la forma:

Código MATLAB

t = 0:0.0001666666:0.0335; y = 5*sin(2*pi*60*t+(0*pi/1))+2*sin(2*pi*120*t+(1*pi/1))+0.5*sin(2*pi*2940*t+(1*pi/1)); plot(t(1:200),y(1:200)) title('Señal de voltaje en el dominio del tiempo') xlabel('Tiempo (Milisegundos)') ylabel('Amplitud (Volts)')

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035-8

-6

-4

-2

0

2

4

6

8Señal de voltaje en el dominio del tiempo

Tiempo (Milisegundos)

Am

plitu

d (V

olts

)

Figura AI.1. Señal de voltaje en el dominio del tiempo.

APÉNDICE I

TESIS PROFESIONAL

Pág. 107

La figura anterior se realizó con una señal compuesta de tres

frecuencias armónicas. El primer armónico tiene una amplitud de 5V, el

segundo armónico de 2V y el 49 armónico de 0.5V. Se graficaron 200 puntos

muestreados a intervalos de 0.166 ms (6kHz).

Aplicando la FFT para los 100 puntos que integran un ciclo, se tiene:

Código MATLAB

Y = fft(y,100)/50; f = 6000*(1:50)/100; stem(f(1:50),abs(Y(1:50))) title('Frequencia contenida en la señal de voltaje') xlabel('Frequencia (Hz)') grid

0 500 1000 1500 2000 2500 30000

1

2

3

4

5

6Frequencia contenida en la señal de voltaje

Frequencia (Hz)

Figura AI.2. Señal de voltaje en el dominio de la frecuencia.

APÉNDICE I

TESIS PROFESIONAL

Pág. 108

Interpretación de los coeficientes

La primera evaluación de |0|, corresponde al contenido de CD de la

señal. La segunda evaluación |1|, nos da información del contenido

espectral a la frecuencia de resolución (coeficiente del primer armónico), la

tercera evaluación el contenido al doble de la frecuencia de resolución

(coeficiente del segundo armónico) y el ultimo espectro observable

corresponde a & 3 1 ubicado a los 2940Hz.

APÉNDICE I

TESIS PROFESIONAL

Pág. 109

APÉNDICE II.

MANEJO DE LAS PUNTAS A622

TESIS PROFESIONAL

Pág. 110

Descripción general de las puntas de prueba A622

Las puntas de corriente A622 (Figura AII.1), se utilizan con un

osciloscopio de uso general para desplegar corriente en AC y DC en el rango

de 0 a 100 A (70 A RMS).

Tabla AII.1. Controles e Indicadores

Figura AII.1. Puntas de corriente A622.

APÉNDICE II

TESIS PROFESIONAL

Pág. 111

Operación básica

1. Se conecta el conector BNC de las puntas de prueba al analizador de

espectros de baja frecuencia y se ajusta la punta en 100mV/A.

2. Si el indicador de batería no enciende en verde es necesario cambiar la

batería.

3. Para realizar un ajuste de cero utilizar la perilla el ZERO.

4. Conectar la punta de prueba al circuito como se muestra en la siguiente

figura (Figura AII.2):

5. Para incrementar la sensibilidad de la punta de prueba A622, embobinar

el alambre N veces (Figura AII.3) y se multiplica N*100mV/A.

Figura AII.2. Uso de las puntas de corriente A622.

APÉNDICE II

TESIS PROFESIONAL

Pág. 112

Tabla AII.2. Características físicas

El la Figura AII.4, se presentan algunas señales medidas con el A622 y

visualizadas en el TPS2024, en estas señales se puede ver el comportamiento

lineal y no lineal de estas cargas.

Figura AII.3. Aumento de sensibilidad de las puntas de corriente A622.

APÉNDICE II

TESIS PROFESIONAL

Pág. 113

Cautín de lápiz Computadora Portátil

Unidad Central de Proceso Monitor de cinescopio

Fuente de CD Plancha

Taladro con control de velocidad Impresora

Figura AII.4. Forma de la corriente por demanda de cargas lineales y no lineales.

APÉNDICE II

TESIS PROFESIONAL

Pág. 114

APÉNDICE III.

DIAGRAMA DEL ANALIZADOR DE ESPECTROS

TESIS PROFESIONAL

Pág. 115

GND

5 VCD

-12 VCD

12 VCD

LM7805

GND

LM7812

LM7912

R1

Vo

-

LM741

+

1kΩ

1.25kΩ

1.87kΩ

2.81kΩ

4.09kΩ

6.42kΩ

9.00kΩ

15.0kΩ

22.5kΩ

45.0kΩ

90.0kΩ

150kΩ

G1 G2 G3

G4

G5

G6

G7

G8 G9 G10

G11

Perilla selectora de ganancia

+5V

-5V

BNC

APÉNDICE III

TESIS PROFESIONAL

Pág. 116

APÉNDICE IV.

CODIGO FUENTE DEL SOFTWARE

TESIS PROFESIONAL

Pág. 117

Public pi As String Public p As Boolean Public k As Boolean Public m As String Public color As String Public carga As Boolean Public itdf As Boolean Public temporal1 As String Public temporal2 As String Public nn As Integer Private Sub Asesores_Click() MsgBox ("Tesis asesorada por: MC Raul Ruiz Meza y MC Manuel Gracida Aguirre") End Sub Private Sub Boton_Abrir_Click() 'Al pulsar aquí abre un puerto serial On Error GoTo manejar_errores MSComm1.CommPort = nro_puerto 'Paso 1: elijo el puerto MSComm1.Settings = Str$(velocidad) + ",N,8,1" 'Paso 2: 'preparo parámetros de comunicación MSComm1.PortOpen = True ' Paso 3: Intento abrir el 'puerto. Puede no lograrse: si no existe, o si otro 'programa lo está usando. Aquí puede ocurrir un error 'y saltaría a la etiqueta " manejar_errores "

MsgBox ("Puerto COM" + Str$(nro_puerto) + ": abierto OK") Timer2.Enabled = True GoTo salir 'Todo Ok, continuar.

manejar_errores: MsgBox ("Error al intentar abrir COM" + Str$(nro_puerto)) MsgBox ("Error detectado por Visual Basic: " + Err.Description) Resume salir ' Resume me permite continuar con el programa.

salir: End Sub Private Sub Boton_Enviar_Click() ' La propiedad Output requiere un Variant

Dim texto_salida As Variant texto_salida = Texto_a_Enviar.Text

If incluye_salto_carro = True Then _ texto_salida = texto_salida + Chr$(13) + Chr$(10) Texto_Mensajes.Text = "Enviando..."

'Al escribir en la propiedad Output, se envía 'los datos desde el puerto al exterior. 'Se debe proteger frente a errores para que el programa 'no aborte.

APÉNDICE IV

TESIS PROFESIONAL

Pág. 118

On Error GoTo Error_Enviando MSComm1.Output = Chr(texto_salida) GoTo salir

Error_Enviando: MsgBox "Ocurrió un error al intentar enviar el texto" MsgBox "Visual Basic detectó: " + Err.Description Texto_Mensajes.Text = "Ocurrió error al enviar"

salir: End Sub Private Sub Cerrar_Click() If MSComm1.PortOpen Then

MSComm1.Output = Chr(123) End If End End Sub Private Sub Command1_Click()

Text2.Text = Int((2047 * Am * Sin(2 * pi * 60 * n / f) / 10) + 2047) Text4 = Text2 Text3 = Int(Text2 / 256) Text1 = Text2 - Text3 * 256

End Sub Private Sub Command10_Click()

Timer3.Enabled = True nn = 0 Text16.Text = "Señal" & vbCrLf

End Sub Private Sub Command2_Click() If Timer1.Enabled = False Then

Timer1.Enabled = True carga = True

Else Timer1.Enabled = False

End If End Sub Private Sub Command3_Click()

Picture4.Cls temporal1 = 0 Command7.Value = True

End Sub

APÉNDICE IV

TESIS PROFESIONAL

Pág. 119

Private Sub Command4_Click() Dim k As Integer Dim j As Integer Dim suma As Double Dim AUX As String For k = 0 To (y / 2) - 1 Step 1

Xr(k) = 0 Xi(k) = 0 For j = 0 To y - 1 Step 1

Xr(k) = Xr(k) + x(j) * Cos(2 * pi * k * j / y) Xi(k) = Xi(k) - x(j) * Sin(2 * pi * k * j / y)

Next j Next k For j = 0 To (y / 2) - 1 Step 1

Xk(j) = Sqr(Xr(j) ^ 2 + Xi(j) ^ 2) Next j

Picture3.ScaleHeight = y / 2 Picture3.ScaleWidth = (y / 2) - 1 Picture3.Cls

For j = 0 To y - 2 Step 1 If j < y / 2 Then

Picture3.Line (j, (y / 2) - Xk(j))-(j, (y / 2)), vbBlack End If

Next j Command8.Value = True Timer1.Enabled = False AUX = Text18.Text Text8.Text = AUX * 10 suma = 0

For j = 2 To 42 Step 1 suma = suma + Xk(j) ^ 2

Next j Text13.Text = Round(Sqr(suma) * 100 / Xk(1), 2) & "%" Text17.Text = Round(Sqr(suma) * 100 / Sqr(suma + (Xk(1) * Xk(1))), 2) & "%"

If Option1.Value = True Then Text11.Text = Round((Xk(Text12) * 5 / (50)), 3) & "V" Text14.Text = Round(Xk(0) * 5 / (100 * Sqr(2) * AUX * 10), 2) & "V" Text15.Text = Round(Sqr(suma + (Xk(1) * Xk(1))) * 5 / (Sqr(2) * 50), 2) & "V"

Else Text11.Text = Round((Xk(Text12) * 5 / (50 * AUX * Sqr(2))), 3) & "A" Text14.Text = Round(Xk(0) * 5 / (100 * Sqr(2) * AUX), 2) & "A" Text15.Text = Round(Sqr(suma + (Xk(1) * Xk(1))) * 5 / (Sqr(2) * AUX * 50), 2) & "A" Label21.Caption = Round((5 / (AUX)), 1) & "A" Label20.Caption = "0A" Label19.Caption = Round((-5 / (AUX)), 1) & "A"

APÉNDICE IV

TESIS PROFESIONAL

Pág. 120

Label17.Caption = Round((Xk(1) * 5 / (50 * Sqr(2) * AUX)), 2) & "A" Label18.Caption = "0A"

End If End Sub Private Sub Command5_Click()

Picture3.Cls End Sub Private Sub Command6_Click()

m = 0 MSComm1.Output = Chr(128)

End Sub Private Sub Command7_Click()

MSComm1.Output = Chr(123) m = 0 Command6.Value = True

End Sub Private Sub Command8_Click()

Shape1.Top = 4455 - (Xk(1) * 4455# / Xk(1)) Shape2.Top = 4455 - (Xk(2) * 4455# / Xk(1)) Shape3.Top = 4455 - (Xk(3) * 4455# / Xk(1)) Shape4.Top = 4455 - (Xk(4) * 4455# / Xk(1)) Shape5.Top = 4455 - (Xk(5) * 4455# / Xk(1)) Shape6.Top = 4455 - (Xk(6) * 4455# / Xk(1)) Shape7.Top = 4455 - (Xk(7) * 4455# / Xk(1)) Shape8.Top = 4455 - (Xk(8) * 4455# / Xk(1)) Shape9.Top = 4455 - (Xk(9) * 4455# / Xk(1)) Shape10.Top = 4455 - (Xk(10) * 4455# / Xk(1)) Shape11.Top = 4455 - (Xk(11) * 4455# / Xk(1)) Shape12.Top = 4455 - (Xk(12) * 4455# / Xk(1)) Shape13.Top = 4455 - (Xk(13) * 4455# / Xk(1)) Shape14.Top = 4455 - (Xk(14) * 4455# / Xk(1)) Shape15.Top = 4455 - (Xk(15) * 4455# / Xk(1)) Shape16.Top = 4455 - (Xk(16) * 4455# / Xk(1)) Shape17.Top = 4455 - (Xk(17) * 4455# / Xk(1)) Shape18.Top = 4455 - (Xk(18) * 4455# / Xk(1)) Shape19.Top = 4455 - (Xk(19) * 4455# / Xk(1)) Shape20.Top = 4455 - (Xk(20) * 4455# / Xk(1)) Shape21.Top = 4455 - (Xk(21) * 4455# / Xk(1)) Shape22.Top = 4455 - (Xk(22) * 4455# / Xk(1)) Shape23.Top = 4455 - (Xk(23) * 4455# / Xk(1)) Shape24.Top = 4455 - (Xk(24) * 4455# / Xk(1)) Shape25.Top = 4455 - (Xk(25) * 4455# / Xk(1))

APÉNDICE IV

TESIS PROFESIONAL

Pág. 121

Shape26.Top = 4455 - (Xk(26) * 4455# / Xk(1)) Shape27.Top = 4455 - (Xk(27) * 4455# / Xk(1)) Shape28.Top = 4455 - (Xk(28) * 4455# / Xk(1)) Shape29.Top = 4455 - (Xk(29) * 4455# / Xk(1)) Shape30.Top = 4455 - (Xk(30) * 4455# / Xk(1)) Shape31.Top = 4455 - (Xk(31) * 4455# / Xk(1)) Shape32.Top = 4455 - (Xk(32) * 4455# / Xk(1)) Shape33.Top = 4455 - (Xk(33) * 4455# / Xk(1)) Shape34.Top = 4455 - (Xk(34) * 4455# / Xk(1)) Shape35.Top = 4455 - (Xk(35) * 4455# / Xk(1)) Shape36.Top = 4455 - (Xk(36) * 4455# / Xk(1)) Shape37.Top = 4455 - (Xk(37) * 4455# / Xk(1)) Shape38.Top = 4455 - (Xk(38) * 4455# / Xk(1)) Shape39.Top = 4455 - (Xk(39) * 4455# / Xk(1)) Shape40.Top = 4455 - (Xk(40) * 4455# / Xk(1)) Shape41.Top = 4455 - (Xk(41) * 4455# / Xk(1)) Shape42.Top = 4455 - (Xk(42) * 4455# / Xk(1))

End Sub Private Sub Command9_Click()

Timer4.Enabled = True nn = 0 Text16.Text = "Armonicos" & vbCrLf

End Sub Private Sub Configuracion_Click()

Boton_Abrir.Value = True End Sub Private Sub Creador_Click()

MsgBox ("Programa y Tesis desarrollado por: Alejandro Soberanis Garfias") End Sub Private Sub Form_Load()

color = RGB(255, 0, 0) carga = True itdf = False y = 100 p = False k = True pi = 3.1416 n = 0 f = 3000 velocidad = 1200 nro_puerto = 9600 Combo_Puerto.ListIndex = 0

APÉNDICE IV

TESIS PROFESIONAL

Pág. 122

Combo_Velocidad.ListIndex = 3 Check_Salto_Carro.Value = 1 incluye_salto_carro = True mensajes_cambios = True

'*** Preparación del objeto MSCOMM1 para recibir ******* '*** y transmitir *******

MSComm1.InputLen = 0 ' El valor 0 hace que se lea todo ' el contenido del buffer de recepcion que posee ' el control MSComm. ' Si InputLen valiera 6, se recibirian los primeros 6 'caracteres de ese buffer, ignorando el resto.

MSComm1.RThreshold = 1 ' al recibir uno o mas caracteres 'se generará el evento OnComm y la propiedad 'CommEvent contendrá el valor comEvReceive. 'La constante comEvReceive vale 2 .

MSComm1.SThreshold = 1 ' al enviar uno o mas caracteres 'se generará el evento OnComm y la propiedad 'ComEvent contendrá el valor comEvSend 'La constante comEvSend vale 1. '*** Para trabajar con MSCOMM, faltan los siguientes pasos: ' 1) Especificar cual port va a usar: ' MSComm1.CommPort = 1 ' 2) Establecer parámetros de la comunicación: ' MSComm1.Settings = "9600,N,8,1" ' velocidad=9600, paridad=No usada, ' cantidad de bits=8, ' cantidad de bits de parada (stop bits) = 1 ' 9600 baudios, sin paridad, 8 bits de datos y 1 bit de parada. ' 3) Abrir el puerto: ' MSComm1.PortOpen = True ' Estos 3 pasos se llevan a cabo en el botón llamado ' Boton_Abrir

MsgBox "Recuerde, debe abrir un puerto antes de empezar a usarlo" Etiq_Estado.ForeColor = &HFF& 'Rojo Etiq_Estado.Caption = "CERRADO"

'Boton_Ayuda_Oculto.SetFocus End Sub Private Sub G1_Click() If G1.Checked = False Then

G1.Checked = True G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False

APÉNDICE IV

TESIS PROFESIONAL

Pág. 123

G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 0.125

End If End Sub Private Sub G10_Click() If G10.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = True G11.Checked = False Text18.Text = 9

End If End Sub Private Sub G11_Click() If G11.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = True Text18.Text = 15

End If End Sub

APÉNDICE IV

TESIS PROFESIONAL

Pág. 124

Private Sub G2_Click() If G2.Checked = False Then

G1.Checked = False G2.Checked = True G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 0.1875

End If End Sub Private Sub G3_Click() If G3.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = True G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 0.2813

End If End Sub Private Sub G4_Click() If G4.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = True G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False

APÉNDICE IV

TESIS PROFESIONAL

Pág. 125

G10.Checked = False G11.Checked = False Text18.Text = 0.4091

End If End Sub Private Sub G5_Click() If G5.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = True G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 0.6029

End If End Sub Private Sub G6_Click() If G6.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = True G7.Checked = False G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 0.9

End If End Sub Private Sub G7_Click() If G7.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False

APÉNDICE IV

TESIS PROFESIONAL

Pág. 126

G5.Checked = False G6.Checked = False G7.Checked = True G8.Checked = False G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 1.5

End If End Sub Private Sub G8_Click() If G8.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = True G9.Checked = False G10.Checked = False G11.Checked = False Text18.Text = 2.25

End If End Sub Private Sub G9_Click() If G9.Checked = False Then

G1.Checked = False G2.Checked = False G3.Checked = False G4.Checked = False G5.Checked = False G6.Checked = False G7.Checked = False G8.Checked = False G9.Checked = True G10.Checked = False G11.Checked = False Text18.Text = 4.5

End If End Sub

APÉNDICE IV

TESIS PROFESIONAL

Pág. 127

Private Sub MSComm1_OnComm() Dim envio As Boolean

envio = False If MSComm1.CommEvent = comEvReceive Then

Texto_Recibido.Text = Asc(MSComm1.Input) Picture1.PSet (m, (Texto_Recibido.Text)), color x(m) = (Texto_Recibido.Text - 127) / 127 If temporal1 < (x(m) * 5) Then

temporal1 = x(m) * 5 temporal2 = m Slider2.Value = m

End If If m > 0 Then

Picture4.Line (m - 1, (x(m - 1) * 127) + 127)-(m, (x(m) * 127) + 127), vbGreen End If Text6 = x(m) Text5.Text = m m = m + 1 If m = 126 Then

If Option1.Value = True Then Text10.Text = Round(temporal1, 2) & "V"

Else Text10.Text = Round((temporal1 / (Text18)), 2) & "A"

End If Text9.Text = temporal2 Slider2.Value = 0 Command4.Value = True

End If End If GoTo fin salir: If MSComm1.CommEvent = comEvSend Then

Texto_Mensajes = "Se inicio transferencia" End If fin: End Sub Private Sub Pausar_Click() If Pausar.Checked = False Then

If MSComm1.PortOpen Then MSComm1.Output = Chr(123) Timer2.Enabled = False Pausar.Checked = True

End If Else

APÉNDICE IV

TESIS PROFESIONAL

Pág. 128

If MSComm1.PortOpen Then Pausar.Checked = False Timer2.Enabled = True

End If End If End Sub Private Sub Slider1_Change()

Text12.Text = Slider1.Value If MSComm1.PortOpen Then

Text11.Text = Round(Xk(Text12) * 5 / 50, 4) & "V" End If End Sub Private Sub Slider2_Click()

Text9.Text = Slider2.Value End Sub Private Sub Timer1_Timer()

Command1 = True Picture1.PSet (n, Text4), RGB(255, 0, 0)

If Etiq_Estado = "Abierto" Then If k = True Then

verdad = Texto_Recibido.Text MSComm1.Output = Chr(Text3) k = False

Else MSComm1.Output = Chr(Text1) k = True n = n + 1

End If End If If n = 100 Then

n = 0 Picture1.Cls

End If End Sub Private Sub Timer2_Timer()

Command3.Value = True End Sub Private Sub Timer3_Timer() If nn < 100 Then

Text16.Text = Text16.Text & Int((x(nn) * 127)) & vbCrLf nn = nn + 1

APÉNDICE IV

TESIS PROFESIONAL

Pág. 129

Else Timer3.Enabled = False nn = 0

End If End Sub Private Sub Timer4_Timer() If nn < 42 Then

Text16.Text = Text16.Text & Round(((Xk(nn) * 5) / 50), 2) & vbCrLf nn = nn + 1

Else Timer4.Enabled = False

End If End Sub

APÉNDICE IV