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. 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. 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. 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. 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. 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