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

S.E.P S.E.I.T. D.G.I.T.

CENTRO NACIONAL DE INVESTIGACIÓN


Y DESARROLLO TECNOLÓGICO

cenidet
SISTEMA DE CONTROL DIGITAL
PARA UN BANCO DE PRUEBAS
DE DISPOSITIVOS ELECTRÓNICOS DE POTENCIA.

T E S I S
PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS
EN INGENIERÍA ELECTRÓNICA
P R E S E N T A :
JAIME ADRIÁN OROZCO VALERA

DIRECTORES DE TESIS:
DRA. MARÍA COTOROGEA PFEIFER
DR. ABRAHAM CLAUDIO SÁNCHEZ

CUERNAVACA, MORELOS JULIO 2003


DEDICATORIA

A mi esposa, familiares, amigos, y a quienes me dieron su apoyo y ayuda incondicionales.

A los maestros que me sirvieron de guía e inspiración durante mi desarrollo profesional.


AGRADECIMIENTOS

Al Centro Nacional de Investigación y Desarrollo Tecnológico, CENIDET, por


permitirme cursar mis estudios de maestría.

Al Consejo Nacional de Ciencia y Tecnología, CONACYT, y a la Secretaría de


Educación Pública, SEP, por el apoyo económico otorgado para la realización de mis
estudios.

A mis asesores de tesis: Dra. María Cotorogea, Dr. Abraham Claudio Sánchez, y a
los revisores: M.C. Martín Gómez, Dr. Jaime Arau Roffiel, Dr. Rodolfo Echavarría, por sus
valiosas aportaciones y ayuda para completar esta tesis.

Al M.C. Guillermo Cahue Díaz y al M.C. Carlos Ramírez Valenzuela, por su


participación en la fase inicial de este trabajo.

A mis compañeros de trabajo en el grupo de medición y en la Gerencia de Control e


Instrumentación del Instituto de Investigaciones Eléctricas IIE, por el apoyo continuo. A
los directivos de la División de Sistemas de Control y de la Gerencia de Control e
Instrumentación del IIE, por todas las facilidades otorgadas.

A Jesús Aguayo Alquicira y a Iván Alcalá por su ayuda para la realización de las
pruebas experimentales.
Contenido
Lista de figuras V
Lista de tablas IX
Capítulo 1 Introducción 1
1.1 Antecedentes 2
1.2 Esquemas de caracterización de semiconductores de potencia 3
1.3 Estado del arte en sistemas de prueba comerciales 5
1.4 Sistema de pruebas propuesto 7

Capítulo 2 Modos básicos de conmutación y circuitos de prueba 9


2.1 Curvas de salida de dispositivos MOS 10
2.2 Conmutación dura 12
2.3 Conmutación suave 14
2.3.1 Voltaje cero 14
2.3.2 Corriente cero 16
2.3.2.1 Modo resonante 16
2.3.2.2 Modo tiristor 18
2.4 Cortocircuito 19
2.4.1 Tipo I 20
2.4.2 Tipo II 21
2.5 Fenómeno de avalancha 22
2.6 Resumen comparativo 25

Capítulo 3 Diseño del control digital 27


3.1 Especificaciones iniciales del control digital 28
3.2 Alternativas de implementación 28
3.2.1 Control basado en PC 28
3.2.2 Control basado en PC y microcontrolador 30
3.2.3 Control basado en microcontrolador con enlace serial a la PC 31
3.3 Diseño de hardware 33
3.3.1 Interfaz de comunicación serial 33
3.3.2 Etapa de procesamiento 35
3.3.3 Etapa de memoria 37
3.3.4 Etapa de monitoreo de variables analógicas 39

Capítulo 4 Protocolo de comunicaciones 45


4.1 Formato de comunicación serial 46
4.2 Formato de mensajes 46
4.2.1 Comandos y respuestas 48
4.2.2 Detección de errores 51

I
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Capítulo 5 Software del control digital 53


5.1 Estructura del software del control digital 54
5.2 Generación del código 55
5.3 Descripción de rutinas del código fuente 56
5.3.1 Definición de constantes y variables 56
5.3.2 Programa principal 58
5.3.3 Inicialización 59
5.3.4 Transmisión de respuestas 60
5.3.5 Manejo del hardware del control digital 60
5.3.6 Generación de secuencias de control 62
5.3.7 Atención a interrupciones 65

Capítulo 6 Software de la interfaz de usuario 67


6.1 Estructura de la interfaz de usuario 68
6.2 Generación del código 70
6.3 Lista de subrutinas 71
6.3.1 Programa principal 71
6.3.2 Operación del control digital 71
6.3.3 Comunicación serial 72
6.3.4 Enlace a osciloscopio 72
6.3.5 Adquisición de señales 73
6.3.6 Despliegue gráfico 73
6.3.7 Tratamiento de señales 74
6.3.8 Manejo de archivos 74

Capítulo 7 Operación de la interfaz de usuario 77


7.1 Submenú "Principal" 78
7.1.1 Operación del control digital 78
7.1.2 Enlace a osciloscopio digital y adquisición de señales 86
7.1.3 Manejo de archivos 91
7.2 Submenú "Ver" 92
7.3 Submenú "Opciones" 94
7.3.1 Despliegue gráfico 94
7.3.2 Tratamiento de señales 95
7.3.3 Valores instantáneos 97
7.4 Submenú "Ayuda" 97

Capítulo 8 Resultados experimentales 99


8.1 Ambiente de pruebas 100
8.2 Prueba en conmutación dura 101
8.3 Control de un inversor puente completo 106
8.4 Control en lazo cerrado 111

II
Contenido

Capítulo 9 Conclusiones 115


9.1 Sistema de control digital 116
9.2 Adquisición y tratamiento de señales 118
9.3 Trabajos futuros 119

Referencias 121

Apéndice 1 Diagramas eléctricos y hojas técnicas de componentes 123

Apéndice 2 Código fuente del sistema de control digital 131

III
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

IV
Lista de figuras
1.1. Esquema general del sistema de pruebas de DSEP 7
2.1. Circuito para la obtención de las curvas de salida de MOSFETs 10
2.2. Secuencia de disparo y transitorios en la obtención de las curvas de salida de
dispositivos MOS 11
2.3. Circuito de prueba de DSEP en conmutación dura y cortocircuito 12
2.4. Secuencia de disparo y transitorios de la prueba de DSEP en conmutación dura 13
2.5. Circuito para la prueba de DSEP en conmutación suave a voltaje cero 14
2.6. Secuencia de disparo y transitorios durante la prueba de DSEP en conmutación
suave a voltaje cero 15
2.7. Circuito para la prueba de DSEP en conmutación suave a corriente cero, modo
resonante 16
2.8. Secuencia de disparo y transitorios en la prueba de DSEP en conmutación suave a
corriente cero, modo resonante 17
2.9. Circuito para la prueba de DSEP en conmutación suave a corriente cero, modo
tiristor 18
2.10. Secuencia de disparo y transitorios en la prueba de DSEP en conmutación suave
a corriente cero, modo tiristor 18
2.11. Secuencia de disparo y transitorios durante la prueba de DSEP en cortocircuito
tipo I 20
2.12. Secuencia de disparo y transitorios en la prueba de DSEP en cortocircuito tipo II 21
2.13. Circuito 1 para la prueba de dispositivos MOS en avalancha 22
2.14. Secuencia de disparo y transitorios durante la prueba de avalancha en
dispositivos MOS 23
2.15. Circuito 2 para la prueba de dispositivos MOS en avalancha 24
2.16. Secuencia de disparo y transitorios en la prueba de avalancha de dispositivos
MOS 24
3.1. Control digital basado en PC 29
3.2. Control digital basado en PC y microcontrolador 30
3.3. Arquitectura del sistema de control digital implementado 31
3.4. Conexiones del sistema de control digital 33
3.5. Disposición física del conector DB9 34
3.6. Interfaz del microcontrolador al canal RS-232 35
3.7. Conexión entre el microcontrolador y la memoria FIFO de doble puerto 38
3.8. Conexión del DAC y los elementos de muestreo y retención 39
3.9. Configuración de los comparadores analógicos AD9698 41
3.10. Conexión de los comparadores analógicos 42
4.1. Transmisión serial de un byte de datos 46
4.2. Formato de comandos de la PC al control digital 46
4.3. Formato de respuestas del control digital 47
4.4. Mensaje de comando para generación de voltaje en DAC 48
4.5. Respuesta genérica de confirmación 49
4.6. Mensaje de comando sin datos 49
4.7. Mensaje de comando con un dato índice 49

V
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

4.8. Comando de control de conmutación 50


4.9. Definición de tiempos de dos bytes 50
5.1. Estructura del software del sistema de control digital 54
6.1. Estructura de la interfaz de usuario 68
6.2. Ejemplo de una sección de un archivo de datos 75
7.1. Submenú principal 78
7.2. Submenú para selección de puerto de comunicación 78
7.3. Ventana de diálogo para prueba de control digital 79
7.4. Mensaje de error de enlace con el control digital 81
7.5. Submenú para definición de secuencias de control 81
7.6. Ventana de diálogo de control de conmutación doble 82
7.7. Mensaje de error por parámetros fuera de rango 83
7.8. Mensaje de ayuda para control de conmutación doble 83
7.9. Ventana de diálogo para secuencia de conmutación genérica 84
7.10. Submenú para selección de osciloscopio digital 86
7.11. Submenú para configuración de osciloscopio digital 86
7.12. Ventana de diálogo para configuración de osciloscopio digital 87
7.13. Ventana de diálogo para configuración de osciloscopio digital 89
7.14. Mensaje de error de comunicación con el osciloscopio digital 89
7.15.Ventana de diálogo para adquisición de señales 90
7.16.Submenú de manejo de archivos 91
7.17.Ventana de diálogo de apertura de archivos 91
7.18.Ventana de diálogo de escritura de archivos 92
7.19. Submenú de visualización de señales 93
7.20. Despliegue gráfico de señales adquiridas 93
7.21. Submenú de opciones de despliegue y tratamiento de señales 94
7.22. Ventana de diálogo para cambio de escalas de amplitud 94
7.23. Ventana de diálogo para cambio de los ejes de referencia 95
7.24. Ventana de diálogo para compensación de señales 96
7.25. Ventana de diálogo para selección de señales para los cálculos de potencia y
energía 96
7.26. Submenú Ayuda 97
7.27. Mensaje de guía de usuario
7.28. Ventana de información del sistema
8.1. Arreglo de pruebas del sistema de control digital, adquisición y tratamiento de
señales 100
8.2. Circuito de prueba para conmutación dura 101
8.3. Parámetros para prueba en conmutación dura 102
8.4. Señales de compuerta y voltaje colector-emisor de QAux y del DUT, corriente en
la bobina de carga 103
8.5. Señal de compuerta, voltaje y corriente en el DUT 103
8.6. Flanco de encendido: señal de compuerta, voltaje y corriente en el DUT 104
8.7. Flanco de encendido: voltaje, corriente, potencia y energía disipada en el DUT 104
8.8. Flanco de apagado: Voltaje colector-emisor y corriente en el DUT 105
8.9. Voltaje, corriente, potencia y energía disipada en el DUT 105

VI
8.10. Circuito inversor monofásico puente completo 106
8.11. Señales de control y voltaje de salida en un inversor monofásico puente
completo 106
8.12. Señales de control en un inversor monofásico puente completo 107
8.13. Definición de la secuencia de control del inversor monofásico 108
8.14. Detalle de la sección final de la tabla de estados de control 108
8.15. Señales generadas por el sistema de control digital para las conmutaciones en el
inversor monofásico 109
8.16. Detalle del tiempo de espera entre las conmutaciones de dos dispositivos en una
misma rama del inversor 109
8.17. Voltajes en los extremos de la carga conectada al inversor: unión Q0-Q1, unión
Q2-Q3 y corriente en la carga 110
8.18. Circuito de prueba para control en lazo cerrado 111
8.19. Control en lazo abierto, Q0, Q1 y voltaje del condensador 112
8.20. Control en lazo cerrado, Q0, Q1 y voltaje del condensador 112
8.21. Señal de control Q1 y voltaje del condensador 113

VII
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

VIII
Lista de tablas
2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP 26
3.1.Especificaciones principales del estándar EIA/TIA-232-E 34
3.2.Comparación de familias de microcontroladores 36
3.3. Asignación de recursos del PIC17C44 37
3.4. Terminales principales de la memoria SN74ACT72211 38
3.5. Terminales principales del SMP08 40
4.1. Códigos de comandos y respuestas 48
5.1. Códigos de comandos 56
5.2. Identificadores para manejo de puertos digitales de salida 57
5.3. Apuntadores y variables en la memoria RAM del microcontrolador 57
5.4. Organización de los datos dentro del vector para almacenamiento de mensajes
en memoria RAM 57
8.1. Resumen de estados para control del inversor monofásico 107

IX
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

X
CAPÍTULO 1

INTRODUCCIÓN

1.1 Antecedentes
1.2 Esquemas de caracterización de
semiconductores de potencia
1.3 Estado del arte en sistemas de prueba
comerciales
1.4 Sistema de pruebas propuesto

1
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

1.1 Antecedentes
Para la implementación de circuitos electrónicos de potencia se usan dispositivos
que no cumplen con las propiedades de un interruptor ideal: conmutación instantánea y
pérdidas nulas. Una gran parte del diseño y dimensionamiento de los convertidores de
potencia se basa en el estudio y la previsión del desempeño de los diferentes elementos que
los componen (particularmente los semiconductores), requiriéndose un análisis que
contemple las características funcionales del convertidor y su interacción con las
propiedades reales de los dispositivos semiconductores de potencia (DSEP), donde se
tomen en cuenta no sólo los parámetros estáticos de los semiconductores, como voltajes de
saturación o corrientes de fuga, sino también su respuesta ante los procesos de conmutación
que generan picos de disipación de energía durante los eventos transitorios.

Los parámetros estáticos de un semiconductor de potencia no permiten hacer una


predicción precisa de su comportamiento durante los transitorios en la conmutación, y los
parámetros dinámicos están sujetos a dispersión entre componentes en apariencia
equivalentes, por lo que el modelado de las características eléctricas de los DSEP requiere
una forma de cuantificar parámetros dinámicos como son el tiempo de recuperación, los
tiempos de encendido y apagado, las razones de cambio de voltaje y corriente o la duración
de los picos de corriente en los cruces por cero, además de estimar el esfuerzo al que se ven
sometidos los dispositivos de potencia mediante la determinación de la potencia disipada en
ellos, en particular durante la conmutación. Adicionalmente, se tiene que los dispositivos
simples no siempre cubren con la totalidad de los requerimientos, por lo que para
aplicaciones de alta potencia los componentes pueden consistir de arreglos de varios
elementos en diversas topologías [1]. Cuando se acoplan DSEP con distintas características
dinámicas, se deben realizar pruebas para verificar la factibilidad de usar tales arreglos en la
cobertura de las especificaciones de una aplicación particular.

Por lo anterior, es muy útil contar con una metodología para la caracterización
precisa de los elementos a emplear en aplicaciones prácticas, lo que hará posible la
especificación y selección adecuada de componentes, además de permitir la evaluación del
compromiso entre el funcionamiento del circuito y las características reales de los
dispositivos semiconductores de potencia utilizados en una situación particular. Una técnica
confiable de modelado de componentes por simulación numérica se debe apoyar en valores
obtenidos experimentalmente, por lo tanto, es justificable la implementación de un banco
de pruebas de dispositivos semiconductores de potencia, que permita distintas condiciones
de operación que conduzcan a cuantificar y analizar los parámetros necesarios para realizar
el modelado y caracterización de los componentes utilizados en electrónica de potencia.

Una plataforma de pruebas para DSEP debe además incorporar una serie de
características como operación automática, versatilidad, rapidez, capacidad de evolucionar
para adaptarse a nuevas necesidades y condiciones de operación, de modo que pueda cubrir
una amplia gama de aplicaciones. Una forma de lograr tal nivel de funcionalidad es la
utilización de las técnicas y herramientas de electrónica digital en la coordinación de las
distintas funciones de un banco de pruebas.

2
Introducción

1.2 Esquemas de caracterización de semiconductores de potencia


Se han desarrollado y dado a conocer varios esquemas dirigidos al modelado y
caracterización de dispositivos electrónicos de potencia, que en general se pueden ubicar
dentro de alguna de las siguientes tendencias:

• Caracterización de componentes en una aplicación particular. Durante el


desarrollo de sistemas de potencia pueden surgir efectos no previstos o aún
desconocidos, en estos casos se recurre al análisis más detallado del
comportamiento de los interruptores dentro de un circuito específico, para tratar de
aislar las causas del funcionamiento inadecuado. Las pruebas realizadas ayudan a
identificar los parámetros que regulan la operación de los dispositivos en esa
aplicación específica, lo que permite optimizar el diseño de circuitos siempre que
estos estén orientados en la misma dirección que las condiciones de prueba.

• Caracterización de componentes en circuitos especiales. En la medida en que se


desarrollan nuevos componentes o se mejoran sus características, se hace necesario
conocer su comportamiento para definir el tipo de aplicaciones en que sean más
adecuados en función de sus características. Así, se han diseñado circuitos de prueba
con el fin de analizar el desempeño de componentes específicos y extraer la
información suficiente para caracterizar su operación. Como ejemplos de esta línea
están diversos esquemas de caracterización de IGBTs [2], GTOs y MCTs.

• Caracterización de componentes para extracción de parámetros. Además de


observar el comportamiento cualitativo de un semiconductor, es importante extraer
sus parámetros físicos a partir del procesamiento de la información que
proporcionan las mediciones, esto para realizar un modelado interno del dispositivo
con la ayuda de programas de simulación. En este sentido se encuentra un sistema
automático de prueba desarrollado en SZ Testsysteme en Alemania [3], este sistema
utiliza una plataforma de trabajo, basada en un procesador digital de señales (DSP),
que recoge mediciones realizadas sobre un circuito de potencia y calcula
automáticamente los parámetros estáticos y dinámicos del componente bajo prueba.

Otros trabajos de modelado que se apoyan en el tratamiento de señales [4], abordan


el análisis de problemas de medición, corrección y validación en las pruebas sobre
dispositivos de potencia, o se orientan a la caracterización eléctrica y térmica de transistores
de potencia [5].

En l’École Supérieure d’Ingénieurs de Marseille (ESIM) se efectuaron algunos de


los primeros estudios sobre el modelado de MCTs y la evaluación de las características de
IGBTs en los distintos modos de conmutación, enfocados hacia la identificación de
parámetros y la caracterización de dispositivos de potencia [6], [7].

3
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Se pueden destacar algunos aspectos de los trabajos anteriores:

• Los circuitos de prueba son rígidos, esto es, las etapas de potencia y de control están
específicamente diseñadas para una aplicación, un tipo de componente, un rango de
potencia, de frecuencia o un modo de conmutación particular.

• En la mayoría de los casos el circuito de potencia usado para las pruebas opera en
modo repetitivo, lo que permite condiciones de operación cercanas a las de una
aplicación real, pero imponiendo la necesidad de sistemas de enfriamiento, un
consumo elevado de potencia en la fuente de poder y limitaciones en la frecuencia
de operación. Sólo en [6] y [7] se ha trabajado en el modo impulsional, que
comprende un solo ciclo de operación.

• En los casos reportados no se menciona la implementación de un esquema flexible


que permita, a través de algún mecanismo de interfaz con el diseñador, modificar o
definir con facilidad las condiciones a las que se someten los dispositivos de
potencia a caracterizar, por lo que la utilidad y las posibilidades de aplicación
quedan acotadas dentro de un rango definido.

• En el caso del tratamiento de señales, se suele utilizar la capacidad de cálculo


inherente a un osciloscopio digital, que suele ser limitada, o un sistema dedicado
complejo como el de Testsysteme [3]. No se utiliza un sistema de mediciones
asistido por una computadora permitiría realizar procesamientos más complejos y
por tanto análisis más precisos.

Un sistema de mediciones asistido por una computadora permitiría realizar


procesamientos más complejos, y por tanto análisis más precisos, de las señales que se
obtienen en las pruebas de los componentes de potencia. Esto se ha hecho en la
determinación de parámetros de componentes magnéticos en la Dresden University of
Technology [8], donde se utilizó una computadora personal para la obtención de las curvas
características de histéresis de materiales magnéticos a partir de mediciones realizadas con
un osciloscopio de almacenamiento digital.

Las tecnologías de fabricación de semiconductores siguen evolucionando y con esto


se mejoran sus características y desempeño, sin embargo, de trabajos recientes se desprende
que la problemática asociada a la caracterización de los semiconductores de potencia está
vigente y tiene una alta relevancia dentro del diseño eficiente de circuitos electrónicos de
potencia [9], [10], [11], [12].

4
Introducción

1.3 Estado del arte en sistemas de prueba comerciales


La necesidad de evaluar las características funcionales de los elementos que forman
a los sistemas electrónicos actuales, ha llevado al desarrollo de equipos comerciales
especializados en la prueba y caracterización de dispositivos semiconductores, que se
utilizan desde la cobertura de necesidades propias de laboratorios de investigación, hasta
los requerimientos de las líneas de producción.

Como ejemplos típicos de equipos comerciales de prueba están los sistemas


automatizados desarrollados en Italia por CREA Semiconductor Test Equipments [13], [14],
o los equipos de Lorlin Test Systems en Estados Unidos [15], [16], los cuales se describen a
continuación.

CREA Semiconductor Test Equipments

• La serie de sistemas MT está integrada por una familia de equipos para la prueba y
medición de parámetros eléctricos. Está diseñada principalmente para cubrir
requerimientos de producción, pero también es adecuada para su uso en
laboratorios.

• Se puede utilizar para la evaluación de diversos componentes semiconductores


como diodos rectificadores, SCRs, TRIACs, MOSFETs, IGBTs y otros.

• Los parámetros eléctricos que típicamente se miden durante las pruebas son: voltaje
de bloqueo, caída de voltaje en conducción, fugas de corriente, aislamiento,
impulsos de voltaje inverso y parámetros de compuerta como la corriente mínima
para encendido, voltaje mínimo para encendido, corriente de sostenimiento, fugas
de corriente en la compuerta y voltaje umbral de aislamiento.

• Los equipos de prueba se basan en un controlador modular propietario, que opera


desde una computadora personal genérica denominada estación de programación, a
la que se conecta por vía serial.

• El hardware y software son modulares y configurables, permitiendo implementar


diferentes topologías de prueba e incorporar funciones adicionales como generación
de formas de onda, adición de módulos de adquisición, conexión a matrices para
múltiples dispositivos, integración de mecanismos de automatización, conexión en
red o la inclusión de un panel de control remoto.

• La interfaz de usuario es gráfica y permite la introducción y depuración de


programas de prueba, almacenamiento y recuperación de los mismos, definición de
las condiciones aprobación-falla, despliegue y registro de resultados, impresión de
reportes y cálculos estadísticos.

5
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Lorlin Test Systems

• Sus equipos de prueba pueden utilizarse con dispositivos semiconductores discretos


de señal pequeña o de potencia, los sistemas pueden configurarse para operar con
hasta cinco estaciones de prueba, en modos manuales o automatizados.

• La estación central desde la que se controla el sistema es una computadora con


procesador Pentium y Windows 98, pero se pueden agregar computadoras
adicionales para el control individual de cada estación, o para la visualización de
registros de datos en cada una.

• La variedad de estaciones de prueba disponibles, permite la adaptación a distintas


aplicaciones de manufactura o de evaluación de componentes, como inspección,
pruebas de producción o finales, verificación de obleas, control de calidad y
caracterización de componentes.

• Los sistemas de prueba permiten analizar y evaluar las características eléctricas de


dispositivos de señal mezclada, elementos lineales, digitales, optoelectrónicos,
pasivos, BJTs, FETs, IGBTs, SCRs, UJTs y TVS entre otros.

• Los equipos son configurables hasta 3000 V y 1500 A, capaces de medir corrientes
de fuga del orden de pico y femto Amperes, con capacidad de prueba para análisis
paramétricos típicos en DC y AC, además de pruebas dinámicas como tiempos de
conmutación y de recuperación.

• El sistema permite integrar y/o interconectar instrumentos de medición y prueba a


sus equipos para realizar pruebas especiales como capacitancias, cargas inductivas o
resistividad de alta precisión en conjunto con los parámetros de prueba nominales.

Los sistemas comerciales anteriormente descritos, presentan los resultados de las


pruebas en forma de tablas con los valores de cada parámetro medido, con facilidades de
análisis estadísticos o de comparación entre varios componentes muestreados dentro de un
mismo lote, funciones orientadas a pruebas de volumen del tipo aceptación-rechazo, más
que a la caracterización detallada de los dispositivos.

Normalmente la complejidad de los equipos comerciales es elevada, lo que por un


lado hace posible que puedan adaptarse a condiciones de operación diferentes dada la
configuración automática del hardware en cada prueba, pero por otra parte esta
complejidad tiene un impacto directo en el precio de los equipos (50,000 dólares como
punto de partida para el modelo básico de Lorlin), lo que los hace imprácticos para su uso
con fines de investigación fuera de un entorno industrial.

6
Introducción

1.4 Sistema de pruebas propuesto


Para la prueba y caracterización de componentes semiconductores con el fin
específico de obtener una descripción precisa de su comportamiento más allá de lo que se
desprende de sus hojas de datos técnicos, es factible plantear un sistema sencillo que, sin
embargo, sea lo suficientemente funcional para su uso como herramienta en la extracción
experimental de parámetros, de modo que sea un elemento auxiliar dentro de una
metodología de caracterización y modelado de elementos semiconductores y un apoyo al
diseño y evaluación de circuitos electrónicos.

En este trabajo se presenta un sistema para la realización de pruebas en dispositivos


semiconductores de potencia, mostrado en su forma general en la Figura 1.1. En particular,
se describe el desarrollo e implementación de un sistema digital de control para la
plataforma de pruebas de DSEP, con la versatilidad necesaria para cubrir un amplio rango
de aplicaciones, que permite definir o modificar condiciones de prueba en forma sencilla,
que tiene la capacidad de incorporar nuevos modos de operación y que se complementa con
un sistema de tratamiento de señales por software.

El bloque marcado control digital en la Figura 1.1, se encarga de comandar el


encendido/apagado del dispositivo de potencia bajo prueba (DUT, device under test) y/o de
los componentes auxiliares necesarios en cada caso. La arquitectura del hardware del
control digital le permite ejecutar los algoritmos de control para los modos de conmutación
básicos, conmutación dura, suave, a tensión o corriente cero, pero además se pueden definir
otras secuencias de control diferentes.

Figura 1.1. Esquema general del sistema de pruebas de DSEP

7
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

El secuenciamiento de las señales de control se efectúa de acuerdo a los parámetros


requeridos por el modo de operación del circuito de prueba en que se encuentre el DUT. Las
condiciones de cada prueba se definen en la computadora personal (PC), que tiene la
función principal de ser el mecanismo de interfaz con el usuario, y después se envían al
control digital para su ejecución.

Los circuitos de prueba constituyen la etapa de potencia del banco de pruebas,


donde se conectarán físicamente los dispositivos que serán sometidos a evaluación. La
implementación de dichos circuitos de prueba no está incluida dentro del presente trabajo,
pero el sistema digital está diseñado para adaptarse a diferentes configuraciones de la etapa
de potencia.

Para controlar adecuadamente el inicio y fin de cada ciclo de prueba, así como la
conmutación de cada uno de los interruptores del banco de pruebas, puede ser necesario que
en el control digital se haga el sensado de algunas variables de voltaje, corriente y
temperatura, para poderlas comparar con los valores de consigna que determinan las
acciones de control pertinentes para cada caso.

Las formas de operación de la etapa de potencia del banco de pruebas son:

• Modo impulsional. El DUT es sometido a un número limitado de ciclos de


operación. Tiene la finalidad de limitar la energía demandada a la alimentación del
sistema y hacer posible la realización pruebas en condiciones extremas o en
cortocircuito, experimentos que de otro modo no serían viables.

• Modo repetitivo. El DUT opera en ciclos continuos de funcionamiento, lo que


permite efectuar el análisis de los circuitos de potencia en condiciones más cercanas
a las de una aplicación real.

Para la adquisición de las señales que lleven a caracterizar el desempeño del DUT,
se eligió utilizar las capacidades de muestreo de un osciloscopio digital con la capacidad de
recibir comandos y transmitir datos. De este modo se puede utilizar la PC no sólo para la
configuración del control digital, sino también para el registro de las mediciones.

Una vez que se tienen los resultados de las pruebas en la PC, es posible hacer un
tratamiento básico de las señales muestreadas para compensar los errores de medición
inherentes al osciloscopio, como pueden ser el offset o los retardos producidos por las
puntas de medición, además del cálculo de la potencia y energía disipadas, la visualización
de las señales y la formación de archivos de datos que permitan la posterior reconstrucción
del comportamiento del DUT.

8
CAPÍTULO 2

MODOS BÁSICOS DE CONMUTACIÓN Y


CIRCUITOS DE PRUEBA

2.1 Curvas de salida de dispositivos MOS


2.2 Conmutación dura
2.3 Conmutación suave
2.3.1. Voltaje cero
2.3.2. Corriente cero
2.3.2.1. Modo resonante
2.3.2.2. Modo tiristor
2.4 Cortocircuito
2.4.1. Tipo I
2.4.2. Tipo II
2.5 Fenómeno de avalancha
2.6 Resumen comparativo

9
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

En este capítulo se presentan algunos de los circuitos de prueba que se han


desarrollado para la caracterización experimental de DSEP en distintos modos de
conmutación, en particular se hace énfasis en su funcionamiento con respecto a la secuencia
de las señales que controlan el encendido-apagado de los interruptores de potencia, dado
que la función principal del control digital es la generación correcta de estas señales.

Por simplicidad en los diagramas esquemáticos, se omite la representación de los


elementos parásitos en los conductores (que sí se consideran en los procedimientos de
caracterización experimental), y los circuitos impulsores que se requieren para encender y
apagar correctamente cada IGBT.

Explicaciones más exhaustivas de los circuitos analizados, de los fenómenos físicos


que se presentan durante las conmutaciones, así como de los parámetros del DUT que se
obtienen con cada prueba se encuentran en [9], [10], [11].

2.1 Curvas de salida de dispositivos MOS


Para la obtención de las curvas de salida de transistores MOS (IGBT y MOSFET), se
utiliza un circuito troceador. En la Figura 2.1 se muestra una versión simplificada de este
circuito con un solo interruptor auxiliar además del DUT.

En este circuito el inductor de carga (L) debe tener un valor pequeño para utilizar un
voltaje en Vo que no sea muy elevado. De este modo se tendrá una mejor resolución en la
medición del voltaje drenaje-fuente del DUT [11].

Para analizar el comportamiento de los dispositivos en conducción, se hace circular


una corriente linealmente creciente a través del DUT, de acuerdo a la secuencia de señales
mostrada en la Figura 2.2.

Figura 2.1. Circuito para la obtención de las curvas de salida de MOSFETs

10
Modos básicos de conmutación y circuitos de prueba

Figura 2.2. Secuencia de disparo y transitorios en la obtención de


las curvas de salida de dispositivos MOS

A continuación se describen brevemente las fases de la prueba para la obtención de


las curvas de salida. En este y todos los casos siguientes se asume que como condición
inicial del circuito de prueba se tienen apagados los interruptores de potencia:

• t1: Se enciende el DUT para incrementar linealmente la corriente en el inductor de


carga que también circula por el dispositivo a caracterizar. Esta condición se debe
mantener por un corto tiempo de modo que no se incremente demasiado la
temperatura del DUT.
• t2: Se enciende QAux para conmutar hacia él la corriente que circula por el DUT.
• t3: Se apaga el DUT en conmutación suave después de que la corriente a través del
dispositivo llega a cero.
• t4: Se apaga el interruptor auxiliar para regresar a las condiciones iniciales.

En resumen, realizar una prueba para la obtención de las curvas de salida implica el
control de dos interruptores de potencia con cuatro combinaciones diferentes de encendido-
apagado, que para propósitos del control digital se consideran cuatro estados de salida con
un tiempo de activación específico para cada uno.

11
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

2.2 Conmutación dura


En los DSEP la conmutación dura ocurre cuando hay traslape parcial de corriente y
voltaje en el momento de los transitorios de encendido y apagado. Para analizar de forma
práctica las características en conmutación dura de los DSEP, se utiliza el circuito de prueba
de la Figura 2.3 [17], en este caso se muestra un IGBT como DUT, pero el arreglo es
aplicable a diferentes dispositivos (por ejemplo MOSFETs [11]).

Figura 2.3. Circuito de prueba de DSEP en conmutación dura y cortocircuito

El circuito en la Figura 2.3 tiene la característica adicional de permitir la ejecución


de pruebas en cortocircuito con sólo cambiar la secuencia de activación de los dispositivos
auxiliares, QAux1 y QAux2 [18]. Para las pruebas en conmutación dura, sólo se requiere
controlar el interruptor QAux2 y el componente a caracterizar.

El elemento auxiliar QAux2, la fuente de voltaje directo Vo y el inductor de carga L


forman una fuente de corriente. Con este arreglo no se incrementa la temperatura de unión
del DUT durante la fase previa a su conmutación, puesto que la corriente de arranque
circula por los elementos auxiliares antes de dirigirla hacia el DUT.

Una consideración práctica en la implementación del circuito de prueba es emplear


un inductor de carga de magnitud grande para que la corriente se mantenga
aproximadamente constante durante la conmutación. Con esto también se logra que la
resistencia parásita del inductor (Rind) sea pequeña.

Los eventos que se presentan durante las pruebas en conmutación dura se muestran
en la Figura 2.4. Las formas de onda marcadas como QAux1, QAux2 y DUT representan en
forma respectiva las señales que controlan el encendido y apagado de los interruptores
auxiliares y del IGBT bajo prueba, IL es la corriente en el inductor, IDUT y VDUT son la
corriente y el voltaje a través del componente a caracterizar.

12
Modos básicos de conmutación y circuitos de prueba

Figura 2.4. Secuencia de disparo y transitorios de la prueba de DSEP


en conmutación dura

Para propósitos de análisis y caracterización de los DSEP, existen varias zonas de


interés en las señales mostradas en la Figura 2.4, sin embargo, sólo se han marcado
explícitamente los instantes de tiempo en que se modifican las condiciones de encendido y
apagado de los interruptores, t1 a t4, puntos relacionados directamente con el
secuenciamiento de las señales de control.

La operación del circuito de prueba es como sigue:

• t1: Se enciende QAux2. En L circula una corriente que se incrementa en forma


lineal. Los demás interruptores permanecen apagados.
• t2: Se apaga QAux2 cuando la corriente llega al valor deseado. La corriente que
circula por el inductor de carga y por el diodo D1 permanece aproximadamente
constante, las únicas pérdidas se deben a la resistencia parásita del inductor y a las
pérdidas por conducción en el diodo de libre circulación.
• t3: Se enciende el DUT. En este momento se presenta el transitorio de encendido en
conmutación dura.
• t4: Se apaga el DUT. Se presenta la conmutación dura de apagado. En las pruebas
con IGBTs normalmente se observa una cola de corriente y una pico de voltaje en
las terminales del DUT, asociados a la inductancia parásita de los conductores
utilizados.

13
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

2.3 Conmutación suave


La operación con altas frecuencias de conmutación hace posible reducir el tamaño
de los componentes pasivos en los sistemas electrónicos de potencia, sin embargo, las
pérdidas por conmutación se incrementan.

Para reducir estas pérdidas, se han desarrollado estrategias que evitan el traslape de
corriente y voltaje durante las conmutaciones:

• Conmutación suave a voltaje cero (ZVS): Se tiene un voltaje cercano a cero en las
terminales del DSEP antes de que se inicie la circulación de corriente. Este modo de
conmutación se utiliza para reducir las pérdidas en el encendido.
• Conmutación suave a corriente cero (ZCS): Se anula la corriente antes del
aumento de voltaje entre las terminales del dispositivo por efecto del apagado,
reduciéndose las pérdidas en este transitorio.

En las siguientes secciones se describe la operación de los circuitos de prueba que


permiten reproducir, de forma controlada, conmutaciones suaves ZVS y ZCS.

2.3.1 Conmutación suave a voltaje cero

El circuito de prueba presentado en la Figura 2.5 permite conmutar un DUT a


voltaje cero. Se trata de un inversor medio puente con condensadores en derivación central
y un inductor a modo de carga.

Los elementos críticos a considerar en la realización práctica de este circuito son: el


valor de la inductancia L, que determina la pendiente de la corriente en el DUT, y el valor
de los condensadores C1 y C2, que deben de ser lo suficientemente grandes para soportar la
energía transitoria durante el cambio de pendiente de la corriente [9].

Figura 2.5. Circuito para la prueba de DSEP en conmutación suave a voltaje cero

14
Modos básicos de conmutación y circuitos de prueba

La secuencia de encendido de los dispositivos empleados, y las señales


características de la conmutación suave ZVS se muestran en la Figura 2.6.

Figura 2.6. Secuencia de disparo y transitorios durante la prueba


de DSEP en conmutación suave a voltaje cero

Las principales etapas de la prueba son:

• t1: Se enciende QAux. La corriente en L varía linealmente hasta alcanzar un valor


predefinido. Esta corriente inicial de prueba tiene valor negativo dado el sentido del
flujo en el DUT.
• t2: Se apaga QAux. La corriente del inductor L ahora está en libre circulación por el
diodo antiparalelo del DUT, creciendo en sentido opuesto pero con la misma
pendiente de la etapa previa.
• t3: Se enciende el DUT. La corriente aún circula por el diodo, el DUT entra
efectivamente en conducción hasta que la corriente del inductor cruza por cero. En
este punto normalmente se presenta un pico de voltaje en las terminales del DUT.
• t4: Se apaga el DUT en conmutación dura.

Se observa que las señales que controlan el encendido-apagado de los interruptores


durante la conmutación suave ZVS, Figura 2.6, tienen la misma secuencia de la prueba de
conmutación dura mostrada en la Figura 2.4. El control digital debe hacer la salida
secuencial de cuatro estados de encendido-apagado para dos DSEP.

15
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

2.3.2 Conmutación suave a corriente cero

En esta sección se describen dos circuitos de prueba para el análisis de DSEP en


conmutación suave a corriente cero:

• Conmutación en modo resonante [19]


• Conmutación en modo tiristor [20]

2.3.2.1 Modo resonante

En la Figura 2.7 se muestra un arreglo que reproduce el fenómeno de resonancia que


se presenta en un circuito de aplicación: el rectificador conmutado ZCS cuasi-resonante. El
circuito de prueba incluye un interruptor auxiliar, los elementos resonantes Lr y Cr, y un
inductor de carga L que proporciona la corriente inicial de la prueba. Se asume que el
condensador Cr está cargado inicialmente con el voltaje de la fuente de prueba.

Los elementos críticos en el diseño de este circuito de prueba son los valores de Lr y
Cr. El diodo en antiparalelo con el DUT debe presentar una rápida recuperación inversa y
un valor mínimo de capacitancia y resistencia parásita.

En la Figura 2.8 se muestran las señales de disparo de los DSEP en el circuito de


prueba, además de la corriente del inductor, la corriente de colector y el voltaje colector-
emisor del DUT. A continuación se describen las diferentes etapas de la prueba.

Figura 2.7. Circuito para la prueba de DSEP en conmutación suave


a corriente cero, modo resonante

16
Modos básicos de conmutación y circuitos de prueba

Figura 2.8. Secuencia de disparo y transitorios en la prueba de


DSEP en conmutación suave a corriente cero, modo resonante

• t1: Se enciende QAux. La corriente en el inductor L crece linealmente hasta alcanzar


un nivel predeterminado. Esta corriente de referencia será la condición inicial para
la fase de resonancia.
• t2: Se apaga QAux. La corriente almacenada en el inductor de carga circula por D1,
Lr y D2. La duración de esta etapa debe ser suficientemente para recargar al
condensador Cr al valor de Vo, en caso de que el voltaje del condensador sea mucho
menor que el voltaje de la fuente.
• t3: Se enciende el DUT. La corriente a través del inductor resonante decrece
linealmente hasta un valor igual a la corriente de referencia. La corriente a través del
DUT crece brevemente en forma lineal y después se comporta de acuerdo con una
resonancia positiva cuasi-senoidal: ascendiendo y luego regresando a cero. La
corriente del DUT llega a ser negativa y entonces es conmutada hacia el diodo en
antiparalelo, fase que se denomina tiempo de recuperación de bloqueo.
• t4: Se apaga el DUT en conmutación suave. De este modo el DUT bloquea la
corriente cuando una resonancia positiva debería ocurrir nuevamente. VDUT aumenta
hasta el valor de la fuente Vo, el condensador resonante Cr es recargado nuevamente
al valor de la fuente y así finaliza el ciclo de prueba.

En la Figura 2.8 se observa que las señales que controlan el encendido-apagado de


los interruptores durante la conmutación suave ZCS en modo resonante, siguen la misma
secuencia de la prueba en conmutación dura y de la prueba en conmutación suave a voltaje
cero, por lo tanto, los requerimientos del control digital son equivalentes para estos casos.

17
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

2.3.2.2 Modo tiristor

En el circuito de prueba modo tiristor, Figura 2.9, se obtiene la conmutación suave


modificando la pendiente de la tensión. El circuito presenta un interruptor auxiliar que sirve
para ayudar a conmutar suavemente al DUT, mientras que los elementos Rlim, Caux, D1 y
el inductor de carga L, se utilizan para proporcionar la corriente de la prueba.

Figura 2.9. Circuito para la prueba de DSEP en conmutación suave


a corriente cero, modo tiristor

En la Figura 2.10 se muestran las señales de disparo de los dispositivos empleados y


las formas de onda típicas de esta prueba, seguida de una breve explicación de sus etapas.

Figura 2.10. Secuencia de disparo y transitorios en la prueba de


DSEP en conmutación suave a corriente cero, modo tiristor

18
Modos básicos de conmutación y circuitos de prueba

• t1: Se enciende el DUT. La corriente que circula por el DUT crece linealmente. La
corriente no circula solo por L, sino también por el condensador de ayuda a la
conmutación Caux y la resistencia limitadora de corriente Rlim. Esta condición debe
mantenerse hasta que Caux llegue a su carga completa.
• t2: Se enciende QAux, el DUT permanece en conducción. Dado que el condensador
Caux tiene su carga máxima y el interruptor auxiliar une su extremo positivo a
tierra, la corriente que circula por el DUT decrece hasta alcanzar el valor cero.
• t3: Se apaga el DUT después que deja de conducir. QAux permanece encendido.
Rlim disipa la energía de la fuente y por lo tanto el valor de esta resistencia debe ser
grande para limitar la corriente que circula por ella.
• t4: Se apaga QAux. El DUT comienza a bloquear el voltaje de la fuente Vo. En esta
fase se da la conmutación suave a corriente cero y el DUT presenta una cola de
corriente que aumenta las pérdidas en este tipo de conmutación.

La secuencia de activación de QAux y del DUT es similar al caso de obtención de las


curvas de salida. Las diferencias en los circuitos de prueba producen distintos resultados en
las variables de la etapa de potencia, pero el control digital se ve requerido a un modo de
operación no muy distinto de los casos hasta aquí analizados.

2.4 Cortocircuito
Durante la operación normal de los DSEP no es deseable que se presenten
condiciones de cortocircuito, sin embargo, con fines de caracterización y de diseño de
protecciones, este es un caso extremo que el circuito de prueba de la Figura 2.3 permite
reproducir de forma no destructiva [18].

De acuerdo con las condiciones de la prueba, el cortocircuito se clasifica como:

• Tipo I: Cuando el cortocircuito se tiene en la carga al encender el DUT.


• Tipo II: Si el DUT ya está conduciendo corriente cuando se produce el cortocircuito
en la carga.

En las siguientes secciones se describen las pruebas en estas situaciones de


cortocircuito, así como los circuitos de prueba asociados.

19
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

2.4.1 Cortocircuito tipo I

En la Figura 2.11 se presentan las formas de onda que describen la operación del
circuito de prueba, nuevamente se muestran las señales de control de los DSEP además de
la corriente y voltaje en el DUT.

Figura 2.11. Secuencia de disparo y transitorios durante la prueba


de DSEP en cortocircuito tipo I

Los principales eventos involucrados en la prueba en cortocircuito tipo I son:

• t1: Se enciende el interruptor auxiliar QAux1 para establecer la condición de


cortocircuito en la carga. No hay flujo de corriente dado que el DUT no está
conduciendo.
• t2: Se enciende el DUT, QAux1 continúa encendido. En este instante se da la
condición de cortocircuito. La caída de tensión que se observa en VDUT se debe a los
elementos parásitos del cableado.
• t3: Se apaga el DUT después de un tiempo del orden de 5 a 10 µs para evitar que se
dañe permanentemente [18]. QAux1 se mantiene encendido. En este momento se
presenta el transitorio de apagado del DUT y una sobretensión entre su colector y
emisor ocasionada por la inductancia parásita del cableado en el circuito de prueba.
• t4: Se apagan todos los interruptores de potencia en el circuito.

De la descripción de la prueba en cortocircuito tipo I, se desprende que el control


digital deberá generar cuatro estados de salida independientes, operando activamente sobre
dos de los interruptores de potencia instalados en el circuito de prueba.

20
Modos básicos de conmutación y circuitos de prueba

2.2.2 Cortocircuito tipo II

La activación de los interruptores de potencia en el circuito de prueba para


cortocircuito tipo II (Figura 2.3), así como el comportamiento de algunas de las variables
relacionadas, se muestran en la Figura 2.12.

Figura 2.12. Secuencia de disparo y transitorios en la prueba de


DSEP en cortocircuito tipo II

A continuación se describen las etapas de esta prueba.

• t1: Se enciende QAux2. Se incrementa linealmente la corriente IL a través del


inductor de carga.
• t2: Se apaga QAux2. Si L es muy grande, la corriente de carga que circula por el
inductor y por el diodo D1 permanece casi constante, las únicas pérdidas se deben a
la resistencia parásita del inductor y a las pérdidas por conducción en el diodo de
libre circulación.
• t3: Se enciende el DUT en conmutación dura.
• t4: Se enciende QAux1 para generar un cortocircuito en la carga, el DUT entra
entonces en la condición de cortocircuito tipo II.

21
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• t5: Se apaga el DUT desde de la condición de cortocircuito. Aquí se produce una


sobretensión en las terminales del DUT debido a la energía almacenada en la
inductancia parásita de cableado.
• t6: Se apaga QAux1 para finalizar la prueba.

La prueba en cortocircuito tipo II es un caso ligeramente más complejo para el


control digital, pues se tienen seis estados de salida que involucran a los tres DSEP del
circuito de prueba.

2.5 Fenómeno de avalancha


El fenómeno de avalancha se da en un IGBT o MOSFET cuando se le fuerza a
conducir una corriente mayor a la que puede proporcionar el canal, es decir, mayor a su
corriente de saturación [11].

Con la medición y análisis de los transitorios en avalancha, se puede estimar el


rango de voltaje y corriente que forman el área de operación segura de un dispositivo,
parámetro muy importante en la fase de diseño.

Un circuito de prueba utilizado para este caso es el troceador con carga inductiva de
la Figura 2.1 sin el diodo de libre circulación, como se presenta en la Figura 2.13.

En la Figura 2.14 se muestran las formas de onda durante la prueba, seguida de la


descripción de sus fases.

Figura 2.13. Circuito 1 para la prueba de dispositivos MOS en avalancha

22
Modos básicos de conmutación y circuitos de prueba

Figura 2.14. Secuencia de disparo y transitorios durante la


prueba de avalancha en dispositivos MOS

• t1: Se enciende QAux, la corriente en L crece en forma lineal.


• t2: Se enciende el DUT cuando se estima que la energía almacenada en el inductor
es suficiente para provocar el fenómeno de avalancha. Ambos interruptores están
encendidos, así que el tiempo de esta condición debe ser corto para evitar el
calentamiento del DUT.
• t3: Se apagan el DUT y QAux. El inductor queda en circuito abierto y la energía
almacenada en él se disipa haciendo crecer el voltaje en el DUT hasta llegar a su
valor de ruptura, menor al de QAux, de modo que se presenta el fenómeno de
avalancha sólo en el DUT.

Existe un circuito de prueba alternativo que permite un mejor control de la


experimentación con el fenómeno de avalancha [11], mostrado en la Figura 2.15.

El circuito de prueba opera con base en dos interruptores auxiliares que permiten la
transferencia de energía a un inductor de carga, y un diodo D que tiene la función de cerrar
el circuito para la circulación de corriente cuando QAux1 se apaga, desconectando la fuente
de alimentación Vo del resto del circuito.

Con este esquema se evita el incremento brusco de VDUT y los valores grandes de
corriente en el apagado del DUT, reduciéndose el aumento de la temperatura de unión
durante la prueba.

23
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 2.15. Circuito 2 para la prueba de dispositivos MOS en avalancha

El control de los interruptores de potencia en este circuito de prueba y las variables


relevantes se presentan en la Figura 2.16.

Figura 2.16. Secuencia de disparo y transitorios en la prueba de


avalancha de dispositivos MOS

24
Modos básicos de conmutación y circuitos de prueba

La prueba se desarrolla como se describe a continuación:

• t1: Se encienden los interruptores auxiliares QAux1 y QAux2. La corriente en el


inductor de carga crece linealmente.
• t2: Se apaga QAux1 y el DUT se enciende cuando se haya alcanzado el valor de
corriente deseado en L. Con esto se desconecta la fuente Vo del circuito de prueba.
La corriente circula por D, QAux2 y el DUT.
• t3: Se apaga QAux2. La corriente total en el inductor es forzada a través del DUT. Si
la corriente es mayor que la corriente de saturación del dispositivo (para el valor de
tensión de compuerta utilizado en la prueba) el voltaje a través del DUT se
incrementará hasta su valor de ruptura y se presentará el fenómeno de avalancha.
• t4: Se enciende QAux2 para hacer pasar por él la corriente restante y evitar
sobrecalentar el DUT por la presencia simultánea de VDUT e IDUT elevados.
• t5: Se apaga el DUT cuando ya está sometido a una corriente y tensión reducidas.

Esta prueba involucra una secuencia de estados encendido-apagado diferente a las


anteriores: QAux2 es activado en dos momentos separados del ciclo de operación, lo que
no ocurre en los restantes procedimientos donde a cada DSEP, auxiliar o bajo prueba, le
corresponde sólo un instante de conducción en el proceso de caracterización experimental.

2.6 Resumen comparativo


Las metodologías de prueba descritas en este capítulo forman la base para la
especificación de las características funcionales del control digital, de modo que éste sea
capaz de ajustarse lo más posible a los requerimientos de las pruebas.

En la Tabla 2.1 se resumen las secuencias de disparo de los interruptores de potencia


para los circuitos de prueba analizados en este capítulo, ordenadas por complejidad con
respecto al número de estados y el número de dispositivos a controlar.

De la descripción de las pruebas analizadas en este capítulo se desprende que los


aspectos principales a considerar en el diseño del control digital son la velocidad de
operación y la capacidad de controlar las conmutaciones en función de la magnitud de
algunas variables en la etapa de potencia.

Dado el progresivo desarrollo de nuevos dispositivos y técnicas de prueba, es


necesario que el control digital no esté limitado a la generación de las secuencias
presentadas en este capítulo. Más aún, es deseable que sea utilizable no sólo en circuitos
para la caracterización de dispositivos individuales, sino en la verificación de arreglos de
DSEP y esquemas de conmutación dentro de circuitos de aplicación completos.

25
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Tabla 2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP

Interruptores Estados de la
secuencia de Condiciones especiales de
Prueba * Encendido disparo conmutación
- Apagado 0 1 2 3 4 5
QAux * * -
• Avalancha con circuito 1 Estado 1 de duración menor a 1µs
DUT - * -
QAux - * * - Duración del estado 0 del orden de µs
• Curvas de salida
DUT * * - - para no sobrecalentar al DUT
• Conmutación dura
• Conmutación suave ZVS QAux * - - - Cambio del estado 0 al 1 por nivel de la
• Conmutación suave ZCS DUT - - * - corriente en la bobina de carga
en modo resonante
• Conmutación suave ZCS QAux - * * - Cambio del estado 1 al 2 después de
en modo tiristor DUT * * - - que la corriente en el DUT es cero
QAux * * * - Duración del estado 1 del orden de 5 a
• Cortocircuito tipo I
DUT - * - - 10 µs para no dañar al DUT
QAux1 - - - * * -
Cambio del estado 0 al 1 por nivel de la
• Cortocircuito tipo II QAux2 * - - - - -
corriente en la bobina de carga
DUT - - * * - -
QAux1 * - - - - - Cambio del estado 0 al 1 por nivel de la
corriente en la bobina de carga
• Avalancha con circuito 2 QAux2 * * - * * -
Duración del estado 2 del orden de µs
DUT - * * * * - para no dañar al DUT

26
CAPÍTULO 3

DISEÑO DEL CONTROL DIGITAL

3.1 Especificaciones iniciales del control digital


3.2 Alternativas de implementación
3.2.1. Control basado en PC
3.2.2. Control basado en PC y microcontrolador
3.2.3. Control basado en microcontrolador con
enlace serial a la PC
3.3 Diseño de hardware
3.3.1. Interfaz de comunicación serial
3.3.2. Etapa de procesamiento
3.3.3. Etapa de memoria
3.3.4. Etapa de monitoreo de variables analógicas

27
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

3.1 Especificaciones iniciales del control digital


Del sistema de pruebas propuesto en la Sección 1.4 y de las condiciones de prueba
descritas en el Capítulo 2, se desprenden los requerimientos básicos que debe cubrir el
control digital, punto de partida para el diseño del hardware del sistema:

• Operación desde una computadora personal para facilitar la realización de pruebas


automatizadas
• Ocho salidas digitales (niveles TTL) para la activación de circuitos impulsores que
controlen el encendido/ apagado de interruptores de potencia
• Capacidad para mantener activo cada estado de las señales de control durante
periodos de tiempo desde cerca de 1 µs hasta varios milisegundos
• Secuenciamiento de las señales de control por transcurso de tiempo o por monitoreo
del nivel de las entradas analógicas de consigna
• Ocho entradas para monitoreo de señales analógicas en el rango de ± 5 V
• Respuesta menor a 500 ns desde que se recibe una señal analógica mayor a su nivel
de consigna, hasta que se modifica el estado de las salidas
• Operación en modo impulsional o repetitivo

3.2 Alternativas de implementación


En las siguientes secciones se describen las opciones analizadas para la construcción
del sistema de control digital y la arquitectura finalmente seleccionada.

3.2.1 Control basado en PC

El sistema mostrado en la Figura 1.1 incluye una computadora personal para la


interacción con el usuario y el registro y análisis de las mediciones, se puede considerar
emplearla además como el elemento principal de procesamiento del sistema de control, es
decir, asignarle las funciones de temporización y generación de las señales de salida.

Sin embargo, la ejecución múltiples tareas en las computadoras personales hace que
se divida el tiempo de procesamiento entre distintos recursos (atención los distintos
periféricos y canales de comunicación, ejecución automática de programas de monitoreo del
sistema, etc.) lo que limita la confiabilidad del sistema si se desea operación en tiempo real.

La solución a este problema consiste en agregar elementos que sean configurables


por la PC y que después operen de forma autónoma.

28
Diseño del control digital

En la Figura 3.1 se presenta la arquitectura de un sistema insertable al bus ISA de


una PC que permite el secuenciamiento de señales digitales controladas por tiempo.

Figura 3.1. Control digital basado en PC

La conexión con el bus interno de la PC permite que desde la computadora se


puedan manejar directamente todos los componentes del sistema:

• Decodificación de puertos y buffer de señales. Estas etapas responden a las


señales de control en el bus ISA para activar individualmente a los demás elementos,
además de extender el bus de datos de la PC.

• Temporizadores programables. Existen circuitos integrados que incluyen uno o


más temporizadores binarios diseñados para conectarse a los buses de direcciones,
datos y control de sistemas basados en microprocesador. Estos dispositivos son
configurables por software para diversos modos de operación, como el conteo de
intervalos de tiempo, la generación de señales de reloj o el conteo de pulsos. Un
ejemplo de este tipo de dispositivos es el 8254 fabricado inicialmente por Intel para
servir de soporte a su familia de microprocesadores 80x86.

• Memoria. Los datos binarios que corresponden a los estados encendido/ apagado
de las señales de control se pueden escribir en un arreglo de memoria independiente
de la memoria propia de la PC, con el fin de que los temporizadores controlen la
salida de los datos cuando expiren los tiempos previamente programados por la
computadora en cada uno de ellos.

29
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

El esquema anterior tiene la ventaja de aprovechar las facilidades de programación


de los lenguajes de alto nivel en la elaboración del software operativo, pero se necesita un
temporizador para cada uno de los tiempos involucrados en un ciclo de operación y esto
limita la cantidad de estados que se pueden definir en una secuencia de prueba.

3.2.2 Control basado en PC y microcontrolador

Una opción más flexible consiste en utilizar un microcontrolador que tenga recursos
internos de temporización, lo que permite definir un algoritmo para el conteo de intervalos
de tiempo en forma cíclica, condición necesaria para la operación en modo repetitivo.

En la Figura 3.2 se muestra un sistema digital que utiliza a la PC y un


microcontrolador como elementos de procesamiento. En esta arquitectura tanto la
computadora como el microcontrolador tienen acceso a un bus común que les permite
controlar a las demás etapas del sistema.

Figura 3.2. Control digital basado en PC y microcontrolador

30
Diseño del control digital

En el arreglo de la Figura 3.2 la PC se utiliza como medio de introducción de


parámetros y despliegue de información, para escribir las secuencias de control en la
memoria de doble puerto y para transmitir las condiciones de la prueba al microcontrolador,
siendo este elemento el que propiamente realiza el secuenciamiento de las señales de
control manejando la salida de datos de la memoria.

Durante el desarrollo de este trabajo de tesis se implementó un primer prototipo


funcional basado en la estructura mostrada en la Figura 3.2, que permitió evaluar la
factibilidad de un microcontrolador como elemento de procesamiento en el control digital.

3.2.3 Control basado en microcontrolador con enlace serial a la PC

En la Figura 3.3 una se muestra versión mejorada de la a la arquitectura presentada


en la Figura 3.2. En este arreglo la comunicación con la PC se hace por un canal serial, con
las ventajas de reducción de tamaño (al eliminarse la lógica de interconexión con el bus
ISA) y una mayor portabilidad por tener el sistema de control totalmente externo a la PC.
Por otro lado, este esquema implica la necesidad de un protocolo de comunicación entre la
PC y el sistema de control digital.

Figura 3.3. Arquitectura del sistema de control digital implementado

31
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

A continuación se describen las funciones de las etapas mostradas en la Figura 3.3

• Acoplamiento RS-232. Acondiciona los niveles eléctricos de las señales entre la PC


y el control digital, de acuerdo al estándar de comunicación serial RS-232.

• Microcontrolador. Es el elemento principal del sistema de control, se encarga de


decodificar y verificar la validez de la información que recibe de la PC, manejar el
convertidor digital/analógico (DAC) y los elementos de almacenamiento de los
valores analógicos de consigna, escribir las palabras de control en la memoria FIFO
de doble puerto y ejecutar los algoritmos de conteo de tiempo para controlar la
secuencia de las señales de salida.

• Memoria FIFO de doble puerto. En la computadora se definen las fases de la


secuencia de control en forma de palabras binarias, donde cada bit representa el
encendido y/o apagado de un interruptor de potencia.
Las palabras de control se almacenan en una memoria tipo FIFO (first in-first out, el
primer dato en entrar es el primero en salir), sus puertos independientes de entrada y
salida permiten que simultáneamente se puedan escribir y leer datos en forma
secuencial sin necesidad de líneas de direcciones, por lo que en general el tiempo de
acceso en las memorias FIFO es menor que en las memorias RAM convencionales.

• Convertidor digital/analógico, elementos de muestreo y retención y


comparadores analógicos. Para controlar adecuadamente algunas secuencias de
prueba puede ser necesario retroalimentar las variables en el circuito de potencia
hacia el sistema de control.

Normalmente sólo se requiere conocer cuando alguna de las señales monitoreadas


ha alcanzado un valor de referencia previamente definido, este proceso se efectúa
más rápido si se utilizan comparadores analógicos de voltaje en lugar de medir los
valores instantáneos, digitalizarlos y realizar comparaciones binarias de magnitud
para cada señal de entrada.
Con el convertidor digital/analógico se pueden generar voltajes proporcionales a los
valores de consigna definidos en la PC, cada voltaje se almacena en un dispositivo
de muestreo y retención (SH, sample and hold) y se compara analógicamente con la
señal de entrada correspondiente. El cambio de estado en las salidas de los
comparadores se usa para que el sistema digital cambie las salidas de control.

La arquitectura descrita en esta sección es la que finalmente se consideró más


adecuada para el sistema de control digital, ya que en las PC actuales se tienen disponibles
uno o dos puertos seriales mientras que la utilización del bus paralelo ISA tiende a
desaparecer. Con la estructura mostrada en la Figura 3.3 se construyó otro prototipo cuyos
detalles de implementación se describen en las siguientes secciones.

32
Diseño del control digital

3.3 Diseño de hardware


En la Figura 3.4 se muestra el detalle de las conexiones al control digital dentro del
sistema presentado en la Figura 1.1, y la identificación de sus señales de entrada y salida.

Figura 3.4. Conexiones del sistema de control digital

Para la conexión con la PC se utilizan tres de las señales disponibles en el puerto


RS-232, teniéndose una señal para habilitar al sistema de control digital además de las
líneas de transmisión y recepción de datos.

Las salidas digitales de control, Q0 a Q7, son las que proveen las señales de disparo
para la activación de los DSEP. Las señales analógicas a monitorear se realimentan hacia el
control digital en sus entradas In0 a In7.

Aunque la función del DAC en el control digital (Figura 3.3) es generar voltajes
internos de referencia, como se describió en la Sección 3.3, el voltaje del convertidor está
disponible en la salida Vo del sistema de control para fines de prueba y posibles
ampliaciones futuras.

En las siguientes secciones se describen los detalles de implementación del


hardware que compone al sistema de control digital. Para propósitos de la descripción
funcional del sistema se muestran diagramas simplificados de cada etapa, en el Apéndice 1
se incluyen los diagramas esquemáticos completos del sistema de control digital.

3.3.1 Interfaz de comunicación serial

La comunicación entre el control digital y la PC se hace por un canal serial de


acuerdo con las especificaciones del estándar EIA/TIA-232-E: Interface Between Data
Terminal Equipment and Data Circuit Terminating Equipment Employing Serial Binary
Data Interchange [21], [22]. Este estándar (más conocido simplemente como RS-232)
asegura la compatibilidad entre sistemas al especificar las características eléctricas,
funcionales y mecánicas del medio de interfaz.

33
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Dada su sencillez y el poco hardware necesario para implementarlo, es ampliamente


utilizado en comunicaciones seriales punto a punto. En la Tabla 3.1 se presentan las
especificaciones principales del estándar EIA/TIA-232-E.

Tabla 3.1.Especificaciones principales del estándar EIA/TIA-232-E

Parámetro Valor
Tasa máxima de datos 20 kbps
Razón de cambio máxima ≤ 30 V/µs
Voltajes de salida en los drivers
≥ |5 V|
(con carga de 3kΩ)
Voltaje de salida en circuito abierto ≤ |25 V|
Corriente en cortocircuito ≤ |100 mA|
Resistencia de salida de los drivers ≥ 300 Ω
Resistencia de entrada en los receptores 3 kΩ a 7 k Ω
Máximo voltaje de entrada en los receptores ± 25 V
Umbral de recepción ±3V
Cableado entre transmisor y receptor 15 m ó 2500 pF

En el estándar EIA/TIA-232-E se incluye la definición funcional de las señales de


datos, control y temporización que permiten la comunicación por un canal primario y uno
secundario [20]. Sin embargo, pocas aplicaciones requieren de las 25 líneas definidas, de
ahí que el conector de 25 terminales que también se especifica en el estándar sea poco
común y que en su lugar se utilicen diversos conectores adecuados a cada aplicación.

En la Figura 3.5 se muestra la distribución física de las señales presentes en un


conector tipo DB9, seleccionado para la comunicación con el control digital por ser de los
más utilizados y encontrarse prácticamente en todas las PC.

Figura 3.5. Disposición física del conector DB9

El conector DB9 contiene las 8 líneas necesarias para operar un módem típico, pero
en el caso más simple se pueden emplear sólo las señales de datos y la referencia sin ningún
arbitraje adicional. Para la comunicación entre la PC y el control digital (Figura 3.4) se
utilizan las siguientes líneas:

34
Diseño del control digital

• RD. Recepción de datos en la PC.


• TD. Transmisión de la PC hacia el control digital.
• DTR. Habilitación del sistema de control digital.
• GROUND. Referencia común entre el transmisor y receptor.

Para el acoplamiento al canal serial se utilizó el circuito integrado MAX233 de


Maxim, que transforma el nivel de las señales TTL del microcontrolador a la magnitud de
voltaje del canal RS-232, como se muestra en la Figura 3.6.

Figura 3.6. Interfaz del microcontrolador al canal RS-232

3.3.2 Etapa de procesamiento

De la Figura 3.3 se pueden obtener algunas de las características mínimas requeridas


en cuanto a los recursos del microcontrolador:

• 16 líneas de entrada/salida para el bus hacia la memoria FIFO y el DAC


• 8 líneas de salida para selección de los comparadores analógicos
• 1 entrada para interrupción externa
• 1 temporizador interno
• capacidad de comunicación serial

Se identificaron diversas familias de microcontroladores que cubren los anteriores


requerimientos de periféricos y líneas de entrada/salida. En la Tabla 3.2 se resumen sus
principales características.

35
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Tabla 3.2.Comparación de familias de microcontroladores

Frecuencia Líneas
Microcontrolador Temporizadores Puerto serial
máxima E/S
80C251 (Intel) 16 MHz 32 3 de 16 bits -
DS80C310/320
DS8xC520 (Dallas 33 MHz 32 3 de 16 bits 2 USART
Semiconductors)
68HC08
8 MHz 50 6 de 16 bits SCI / SPI
(Motorola)
TMS370 (Texas
5 MHz 22 a 55 2 de 16 bits SCI / SPI
Instruments)
PIC17C4x 2 de 8 bits
33 MHz 33 USART / SCI
(Microchip) 2 de 16 bits

El proceso crítico a ejecutar en el microcontrolador es el conteo de intervalos de


tiempo, ya sea por decrementos cíclicos de una variable o por interrupción de un
temporizador. Así, la comparación entre los microcontroladores evaluados se basó en la
eficiencia con que se pueden implementar tales procesos, considerando el número de
instrucciones necesarias para implementar las rutinas de conteo de tiempo (asociado a la
cantidad de memoria necesaria para el programa) y la velocidad de ejecución de las mismas.

Después de simular rutinas de conteo de tiempo y atención a interrupciones, se


seleccionó el microcontrolador PIC17C44 por ofrecer el mejor compromiso entre eficiencia
y facilidad de implementación del código con las herramientas de desarrollo disponibles.
Las principales características de este dispositivo se listan a continuación:

• procesador RISC de arquitectura Harvard


• bus interno de instrucciones de 16 bits, bus de datos de 8 bits
• segmentación encauzada (pipeline) de dos niveles
• 8 kbytes de EEPROM, 454 bytes de RAM
• ciclos de instrucción de 125 ns, operando a una frecuencia de 32 MHz
• 33 líneas de entrada/ salida programables individualmente
• temporizadores de 8 y 16 bits
• USART/SCI interno

En la Tabla 3.3 se presenta la asignación de los recursos de hardware del


microcontrolador en relación con los demás elementos del control digital.

36
Diseño del control digital

Tabla 3.3. Asignación de recursos del PIC17C44


Puerto Líneas
Función
digital utilizadas
RA0 Entrada para interrupción externa
A
RA4, RA5 Canal de comunicación serial
B RB0 - RB7 Salidas para habilitación de comparadores analógicos

Bus de datos de 8 bits para lectura y escritura de FIFO,


C RC0 - RC7
parte menos significativa del bus de 12 bits hacia el DAC
RD0 - RD3 Parte más significativa del bus de 12 bits hacia el DAC
D
RD0 - RD2 Salidas para selección individual de elementos SH
RE0 Habilitador de DAC
RE1 Habilitador de SH
E
Habilitador del registro de salida de los comparadores
RE2
analógicos

3.3.3 Etapa de memoria

Las señales de control se codifican dentro de una memoria FIFO de doble puerto
porque es más eficiente generar las señales para la salida secuencial de datos de la FIFO
que extraer una a una las palabras de control de una tabla en la RAM interna del
microcontrolador. Se seleccionó la memoria SN74ACT72211 de Texas Instruments
principalmente por sus reducidos tiempos de lectura y escritura, las características
relevantes de este componente son:

• capacidad de almacenamiento de 512 palabras de 9 bits


• ciclos de lectura y escritura de 15 ns
• entradas compatibles con TTL
• las señales de reloj para lectura y escritura pueden ser simultáneas o asíncronas
• banderas de memoria vacía y memoria llena

La capacidad de la memoria hace posible la definición de hasta 512 estados


diferentes con 9 salidas de control, cantidad suficiente si se considera que con seis
interruptores de potencia se puede manejar un convertidor estático completo. El número de
salidas digitales se limitó a 8 para facilitar las transferencias con el microcontrolador y el
uso de otros elementos digitales de 8 bits. Las principales terminales de la memoria FIFO y
sus funciones se describen en la Tabla 3.4.

37
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Tabla 3.4. Terminales principales de la memoria SN74ACT72211


Terminal Descripción
D0 – D8 Entrada de datos
Q0 – Q8 Salida de datos
Entrada de reloj de lectura, un flanco ascendente en esta terminal produce la
RCLK
salida del siguiente dato en el arreglo FIFO
Entrada de reloj de escritura, un flanco ascendente en esta terminal hace que
WCLK
el dato en el puerto de entrada se almacene en el arreglo FIFO
Reset. En nivel lógico 0 hace que se inicialicen los apuntadores de los datos
RS
al inicio del arreglo FIFO, en nivel 1 permite la operación de la memoria
Habilitador de salida de datos. En nivel lógico 1 pone el puerto de salida en
OE
estado de alta impedancia, en 0 permite la salida normal de datos

El estado de las señales RS, OE y las transiciones ascendentes en WCLK y RCLK


son generadas desde el microcontrolador para escribir y extraer los datos de la memoria
FIFO. La disposición de estos elementos se muestra en la Figura 3.7.

Figura 3.7. Conexión entre el microcontrolador y la memoria FIFO de doble puerto

La trayectoria que une los puertos de entrada y salida de la memoria tiene dos
funciones:

• Transmitir datos de salida de la FIFO hacia el microcontrolador y de ahí hacia la


PC, con fines de prueba del sistema.
• Realimentar datos para la autoescritura de la memoria, característica útil en el modo
de operación repetitivo.

38
Diseño del control digital

La señal INT (Figura 3.7) proviene de la etapa de monitoreo de las entradas


analógicas y se usa como interrupción hacia el microcontrolador y para la salida automática
de datos de la FIFO. Las salidas de la memoria se acoplan a la etapa de potencia con un
buffer de salida 74HC245, esto es para proteger al control digital en caso de errores de
conexión y para proveer la corriente necesaria a los circuitos impulsores en forma directa.

En ambientes eléctricamente ruidosos o donde sea necesario un aislamiento total, es


conveniente emplear un medio óptico para la propagación de las señales de control. El
control digital incluye fototransmisores HFBR1527 conectados al buffer de salida, que se
acoplan a fibra óptica plástica de 1 mm de diámetro para la transmisión de señales a
distancias de hasta 25 metros sin necesidad de amplificación adicional.

3.3.4 Etapa de monitoreo de señales analógicas

Para generar los distintos voltajes de consigna se eligió un convertidor


digital/analógico compatible con sistemas basados en microprocesador, el AD767 de
Analog Devices. Las características principales de este dispositivo son:

• conexión directa a buses de 12 bits


• velocidad de conversión típica de 3 µs
• entradas compatibles con niveles TTL y CMOS
• rango de salida configurable de +5 V, +10 V, ± 2.5 V, ± 5 V, ± 10 V
• latch de entrada que responde a pulsos mínimos de 40 ns, lo que lo hace compatible
con microprocesadores rápidos
• amplificador de salida interno
• referencia de voltaje interna de alta estabilidad y bajo nivel de ruido
• voltaje de alimentación de ± 12 V

La conexión del DAC al microcontrolador se muestra en la Figura 3.8.

Figura 3.8. Conexión del DAC y los elementos de muestreo y retención

39
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Para el almacenamiento de los valores de referencia se escogió el SMP08 de Analog


Devices. Este circuito integrado tiene 8 elementos de muestreo y retención multiplexables,
las características relevantes de este componente son:

• condensadores de retención y amplificadores de salida internos


• tiempo de adquisición típico de 3.5 µs
• razón de cambio de 3 V/µs
• retención en pasos de 2.5 mV
• razón de decaimiento típica de 2mV/s
• entradas digitales compatibles con niveles TTL y CMOS
• operación con fuentes sencillas o simétricas de 7 V a 15 V

La Tabla 3.5 describe las funciones de las principales líneas del SMP08.

Tabla 3.5. Terminales principales del SMP08

Terminal Descripción
IN Entrada común de voltaje
Entradas digitales para la selección de un SH específico, A es el
A, B, C
bit menos significativo y C es el bit más significativo
Entrada de inhibición de muestreo, en 0 permite almacenar en
INH el SH seleccionado el valor presente en la terminal IN, en 1
inhibe la función de muestreo y los SH permanecen sin cambio
CH0-CH7 Salidas de voltaje

En la Figura 3.8 se muestra la conexión del SMP08 al microcontrolador y al DAC.


Con el arreglo mostrado se pueden generar y almacenar hasta 8 valores de referencia,
siguiendo el procedimiento descrito a continuación:

1. El PIC17C44 escribe un valor en el bus de 12 bits que forman sus puertos C y D


2. Se mantiene la línea CS en un valor lógico 0 un tiempo mayor a 40 ns
3. Espera alrededor de 3 µs hasta que se establece la salida del DAC
4. El microcontrolador selecciona un elemento SH escribiendo un valor de 0 a 7 en sus
líneas RD0, RD1 y RD2
5. Se pone la señal INH en 0 para muestrear del valor presente a la salida del DAC
6. Espera alrededor de 3.5 µs para el almacenamiento en el SH seleccionado, antes de
regresar INH al valor lógico 0
7. Regreso al paso 1

40
Diseño del control digital

Los voltajes de referencia se comparan con las señales de entrada utilizando


circuitos integrados AD9698 de Analog Devices, que son comparadores analógicos de alta
velocidad con las siguientes características:

• dos comparadores independientes en un mismo circuito integrado


• tiempo de propagación de 4.5 ns, comparable al tiempo de respuesta de dispositivos
ECL de alto desempeño
• tiempo de establecimiento de 1.7 ns
• operación con fuentes de alimentación de +5 V ó ± 5 V
• salidas complementarias de nivel TTL
• entrada digital de habilitación de latch que permite fijar el estado de la salida de
cada comparador independientemente de los voltajes de entrada

El arreglo utilizado para cada comparador se muestra en la Figura 3.9.

Figura 3.9. Configuración de los comparadores analógicos AD9698

VREF representa un valor de referencia almacenado en un elemento SH, In es la


señal analógica a monitorear. Se usa un arreglo con retroalimentación positiva para darle al
comparador una ventana de histéresis de aproximadamente 150 mV.

Dado que se tienen hasta 8 valores de consigna en los elementos de muestreo y


retención, se utilizan 8 comparadores analógicos para el monitoreo de las señales de los
circuitos de potencia, con el arreglo que se muestra en la Figura 3.10.

41
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 3.10. Conexión de los comparadores analógicos

Al inicio de un ciclo de operación el microcontrolador hace que el valor lógico en la


salida de los comparadores se almacene en un registro 74HC374, este estado inicial se
mantiene en las terminales Q del registro y se contrasta permanentemente con las salidas
actuales del arreglo de comparadores utilizando un comparador digital 74HC688, cuya
salida se utiliza para generar la señal de interrupción INT.

Mientras las variables analógicas no rebasen los valores de referencia en cualquier


sentido, las salidas de los comparadores analógicos no cambiarán de estado y la señal INT
permanecerá en 0. La modificación de la salida de cualquier comparador analógico se
reflejará como un cambio a 1 en el valor lógico de INT, transición que se utiliza para
generar una interrupción hacia el microcontrolador.

La atención a la interrupción le ocupa al microcontrolador algunos cientos de


nanosegundos (el ciclo de instrucción es de 125 ns con el PIC17C44 operando a 32 MHz),
por lo que es conveniente utilizar también el flanco ascendente en INT para la lectura
directa de la memoria FIFO (Figura 3.7) de modo que el siguiente estado de control
almacenado se presente de inmediato en las salidas del control digital sin la intervención del
microcontrolador.

Así, el retardo resultante desde que una señal analógica alcanza su nivel de consigna
hasta que se genera el siguiente estado de salida es de aproximadamente 97.5 ns, esto es, la
suma de los tiempos de propagación en los comparadores analógicos (4.5 ns), el tiempo de
respuesta del comparador digital (53 ns), el retardo en la compuerta OR (25 ns) y el tiempo
de lectura de la memoria FIFO (15 ns).

42
Diseño del control digital

La respuesta a la interrupción por parte del PIC17C44, consiste en volver a registrar


el nuevo estado de salida de los comparadores analógicos y prepararse para el conteo del
intervalo de tiempo que corresponda al nuevo estado de las salidas de control.

La magnitud y naturaleza de las variables analógicas a muestrear en un caso


específico (voltaje, corriente o temperatura), dictará la necesidad de una etapa de
acondicionamiento para ajustarlas al rango ± 5 V seleccionado para operar a los
comparadores analógicos. El sistema de control digital no incluye un acondicionamiento
propio de entrada, de modo que puede adaptarse a cualquier tipo de señal siempre que esté
en el rango de operación especificado.

Los voltajes de referencia se generarán en el rango de ± 5 V por compatibilidad con


los comparadores analógicos. En estas condiciones el DAC presentará una resolución de
2.44 mV.

El rango de voltajes de entrada y salida del SMP08 depende del voltaje de su fuente
de alimentación, de acuerdo con la siguiente expresión:

(VSS+0.06 V )≤ VOUT/IN ≤ (VDD -2 V)

Donde VSS es el voltaje negativo de alimentación, VDD es el voltaje positivo y VOUT/IN


es el voltaje máximo de entrada o salida. Así que para manejar voltajes de ± 5 V, el SMP08
debe alimentarse con una tensión mínima de ±7 V.

El sistema de control digital se alimenta de una línea de 120 V C.A, internamente


cuenta con elementos de rectificación y regulación para generar los voltajes de C.D.
requeridos por cada etapa: ± 5 V, ± 7 V y ± 12 V (Apéndice 1).

43
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

44
CAPÍTULO 4

PROTOCOLO DE COMUNICACIONES

4.1 Formato de comunicación serial


4.2 Formato de mensajes
4.2.1. Comandos y respuestas
4.2.2. Detección de errores

45
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

4.1 Formato de comunicación serial


La transmisión de cada byte de datos en las líneas de transmisión y recepción sigue
el formato típico RS-232 que se muestra en la Figura 4.1.

Figura 4.1. Transmisión serial de un byte de datos

La comunicación se realiza en forma asíncrona a 9600 bps, cada bit tiene una
duración de 1/9600 bps = 104.16 µs. En el canal RS-232 el nivel "1" lógico es representado
por voltajes negativos, mientras que los voltajes positivos corresponden al "0" lógico.

Para indicar el comienzo de la transmisión de cada byte de información se tiene un


bit de inicio (cero lógico) que precede al bit menos significativo del dato (lsb), después se
realiza la transmisión secuencial de los siguientes bits hasta llegar al más significativo
(msb), que es seguido por un bit de paro (1 lógico) que debe permanecer sin cambio al
menos durante el tiempo correspondiente a un bit antes de iniciar la transmisión del
siguiente dato.

4.2 Formato de mensajes


Para el intercambio de información entre la PC y el sistema de control digital se
definió un protocolo simple que permite la transferencia de comandos, datos con los
parámetros de pruebas y respuestas de confirmación.

Los mensajes enviados desde la PC hacia el control digital tienen la estructura


general mostrada en la Figura 4.2.

Número Código de
Identificador Comando Datos
de datos comprobación

Figura 4.2. Formato de comandos de la PC al control digital

46
Protocolo de comunicaciones

La función de los campos que componen cada mensaje se explica a continuación:

• Identificador. Byte de valor constante que encabeza los mensajes entre la PC y el


control digital para diferenciarlos de los correspondientes a otros sistemas. Así, si se
ejecuta en la PC otro proceso que utilice el puerto serial mientras el control digital
está conectado, éste ignorará los mensajes que no inicien con este identificador y se
reduce la posibilidad de activar sus salidas inadvertidamente.
Aunque el medio RS-232 es exclusivamente punto a punto, este aspecto del
protocolo también permite que el medio físico se pueda reemplazar por un canal
multipunto compartido por sistemas diversos sin interferir con la operación del
control digital.

• Comando. Código de un byte asociado a la función a ejecutar en el sistema de


control digital. El protocolo permite la definición de hasta 256 comandos diferentes.

• Número de datos. Indica cuántos bytes de datos están contenidos en el mensaje.


Éste campo tiene una longitud de 8 bits y por lo tanto una trama puede tener desde
cero hasta 255 bytes de datos. El control digital usa esta información para calcular
cuántos bytes deben recibirse por el canal serial antes de considerar que se tiene un
mensaje completo e iniciar su decodificación.

• Datos. Información de los parámetros para las pruebas: estados encendido/ apagado
para las salidas, temporización de cada estado o valores de referencia.

• Código de comprobación. Byte final de la trama que permite detectar la ocurrencia


de errores durante la transmisión del mensaje.

Las respuestas que el control digital regresa hacia la PC sirven sólo para confirmar
la ejecución del comando solicitado, lo que permite utilizar una estructura más sencilla
como se muestra en la Figura 4.3.

Código de
Identificador
respuesta

Figura 4.3. Formato de respuestas del control digital

El byte identificador tiene la misma función que en los mensajes de comandos, el


código de respuesta es dependiente del comando recibido. En el caso de que se detecte un
error en la trama recibida, o el código de comando no sea válido, el control digital ignorará
el mensaje y no transmitirá ninguna respuesta.

Con el fin de verificar el estado del canal serial, se definió un caso en que el control
digital responde con un mensaje diferente al de la Figura 4.3, como se discutirá en la
siguiente sección.

47
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

4.2.1 Comandos y respuestas

En la Tabla 4.1 se resumen los comandos que reconoce el control digital, los
códigos asignados al identificador de mensajes y a cada comando, los bytes de datos que
contiene cada mensaje y los códigos de confirmación en las respuestas del control digital.
Los valores con terminación “h” están en formato hexadecimal.

Tabla 4.1. Códigos de comandos y respuestas

Código Bytes
Código de
Comando de de
respuesta
comando datos
Prueba de comunicación serial 10h 1 a 255 10h
Generación de voltaje en DAC 11h 2
Generación de onda triangular para prueba de DAC 12h 0
55h
Habilitación de un elemento de muestreo y retención 13h 1
Habilitación de comparadores analógicos 14h 1
Escritura de una cadena de bytes en memoria FIFO 15h 1 a 255
Lectura de un byte de memoria FIFO 16h 0 -
Control de conmutación doble 17h 6 a 14 27h
Control de conmutación doble con interrupción externa 18h 6 a 14 28h
Secuencia genérica de control 19h 3 a 255 29h

La función de cada comando a ejecutar en el control digital y las respuestas que


regresa en cada caso se explican a continuación:

• Prueba de comunicación serial. La PC envía un mensaje con datos para


diagnosticar el enlace RS-232 con la estructura mostrada en la Figura 4.2. Como
respuesta se regresa la trama completa que registró el control digital, que deberá ser
idéntica a la enviada desde la PC.

• Generación de voltaje en DAC. Esta función se utiliza para probar individualmente


el funcionamiento del DAC y en la generación automática de los valores analógicos
de referencia. El mensaje de comando contiene dos datos como se muestra en la
Figura 4.4.

Código de
73h 11h 02h LSB MSB comprobación

Figura 4.4. Mensaje de comando para generación de voltaje en DAC

48
Protocolo de comunicaciones

En el control digital se construye un valor de 12 bits con los bytes de datos, donde
LSB representa el byte menos significativo y MSB es el byte más significativo. Los
12 bits son transmitidos al DAC para generar el voltaje analógico correspondiente.

La respuesta de confirmación se presenta en la Figura 4.5. El código de respuesta


55h sirve como confirmación genérica para todos los comandos que involucran la
operación individual de las etapas del control digital descritos en la Sección 3.3.

73h 55h

Figura 4.5. Respuesta genérica de confirmación

• Generación de onda triangular. Función para prueba rápida del DAC. El mensaje
no lleva datos adicionales y tiene el formato mostrado en la Figura 4.6. El control
digital opera el DAC para formar un periodo de una forma de onda triangular y
transmite la respuesta de confirmación de la Figura 4.5.

Código de
73h Comando 00h
comprobación

Figura 4.6. Mensaje de comando sin datos

• Habilitación de un elemento de muestreo y retención. Selección individual de un


elemento de muestreo para almacenar el valor analógico presente en la salida del
DAC en ese momento. El mensaje de comando contiene un dato a modo de índice
para hacer referencia a uno sólo de los ocho elementos de muestreo, como se
muestra en la Figura 4.7. La respuesta del control digital tiene la estructura mostrada
en la Figura 4.5.

Código de
73h Comando 01h Índice
comprobación

Figura 4.7. Mensaje de comando con un dato índice

• Habilitación de comparadores analógicos. Selección individual de uno de los


ocho comparadores analógicos presentes en el control digital. El mensaje de
comando tiene la estructura de la Figura 4.7. y la respuesta es la mostrada en la
Figura 4.5.

49
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• Escritura de una cadena de bytes en memoria FIFO. La PC envía un mensaje


con datos con el formato de la Figura 4.2. para que el microcontrolador los escriba
secuencialmente en la memoria FIFO. Estos datos corresponden a los estados
encendido/ apagado de las señales de control, o pueden ser reenviados uno a uno
hacia la PC para diagnosticar el subsistema de memoria. Como respuesta se regresa
la trama de confirmación de la Figura 4.5

• Lectura de un byte de memoria FIFO. Transmisión hacia la PC del dato en la


primera posición del arreglo FIFO para prueba del subsistema de memoria. El
comando no lleva datos como se presentó en la Figura 4.6. El mensaje que regresa el
control digital es como el mostrado en la Figura 4.3. pero en el campo del código de
respuesta lleva el dato leído de la FIFO.

• Control de conmutación doble, control de conmutación doble con interrupción


externa. Comandos para generar las señales de control hacia dos interruptores de
potencia en la secuencia utilizada con los circuitos de prueba de conmutación dura
(Figura 2.4), conmutación suave ZVS (Figura 2.6) y conmutación suave ZCS en
modo resonante (Figura 2.8). El mensaje de comando tiene la estructura mostrada
en la Figura 4.8.

Número Datos de Código de


73h Comando Estados Ciclos
de datos temporización comprobación

Figura 4.8. Comando de control de conmutación

Los bytes de datos mostrados en la Figura 4.8 contienen los siguientes parámetros:

Estados. Número de estados de salida en un ciclo de prueba (cuatro para las


secuencias de disparo antes citadas).
Ciclos. Número de ciclos de prueba a repetir en modo impulsional (1 a 128). Para
seleccionar el modo repetitivo continuo este campo debe contener 0.
Datos de temporización. Duración de cada estado de salida. Los intervalos de
tiempo se pueden especificar en uno o en dos bytes dependiendo de su extensión,
para indicar tiempos en dos bytes se utiliza el arreglo mostrado en la Figura 4.9.

00h LSB MSB

Figura 4.9. Definición de tiempos de dos bytes

50
Protocolo de comunicaciones

El dato en 0 actúa como separador, los siguientes bytes son la parte menos
significativa y más significativa del intervalo de tiempo.

Si todos los datos de tiempo son de un byte, el mensaje de comando tiene


seis bytes de datos (número de estados, número de ciclos y cuatro bytes de
temporización), si los tiempos son de dos bytes el mensaje llega al máximo de
catorce bytes de datos.

Está permitida la combinación de intervalos de tiempo en uno y dos bytes


dentro del mismo mensaje de comando.

• Secuencia genérica de control. Comando para definir una secuencia de disparo


arbitraria. El comando tiene la estructura mostrada en la Figura 4.8. En este caso el
número de estados y de datos puede llegar a 255. La respuesta del control digital
tiene la estructura de la Figura 4.3 con el código de respuesta 29h.

4.2.2 Detección de errores

La transmisión de datos en un canal RS-232 se hace de forma no balanceada, es


decir, a través de un sólo conductor cuyo voltaje con respecto una referencia común
representa los valores lógicos de los datos.

Este esquema tiene la ventaja de reducir el cableado necesario para la interconexión


cuando se tienen varios canales de datos, su desventaja es que, si los márgenes de ruido son
limitados, se reduce la confiabilidad de las transmisiones en presencia de ruido
electromagnético, interferencia cruzada entre los conductores o por diferencias de potencial
entre los extremos de la línea común de referencia [21].

Por lo tanto, es conveniente tener un mecanismo para detectar errores de


transmisión, especialmente en los mensajes que se envían de la PC al control digital, ya que
la interpretación errónea de un comando o de sus datos asociados puede alterar
significativamente la operación del sistema de pruebas.

Existen diversas técnicas para la detección de errores, desde el enfoque más simple
(y por lo tanto menos confiable) que consiste en agregar un bit de paridad al final de cada
byte de datos, hasta métodos eficientes y complejos como el Código de Redundancia
Cíclica (CRC) que se calcula dividiendo segmentos del mensaje entre polinomios binarios
predefinidos [23].

Un buen compromiso entre complejidad y eficiencia en la detección de errores es el


cálculo de un byte de comprobación por la suma aritmética (truncada a 8 bits) de todos los
bytes en el mensaje [23].

51
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Para verificar la integridad de los mensajes que se envían de la PC al control digital


se escogió una variante de la suma de comprobación, que consiste en combinar con una
operación lógica OR exclusiva todos los bytes contenidos en una trama, agregando al final
de la misma el byte resultante que será el código de comprobación como se presenta en la
Figura 4.2.

El mensaje recibido en el control digital también se valida mediante la operación OR


exclusiva de todos los bytes recibidos, incluyendo el código de comprobación. Si el
resultado final es 0, entonces la trama recibida no contiene errores y se procede a
decodificar el mensaje.

52
CAPÍTULO 5

SOFTWARE DEL CONTROL DIGITAL

5.1 Estructura del software del control digital


5.2 Generación del código
5.3 Descripción de rutinas del código fuente
5.3.1 Definición de constantes y variables
5.3.2 Programa principal
5.3.3 Inicialización
5.3.4 Transmisión de respuestas
5.3.5 Manejo del hardware del control digital
5.3.6 Generación de secuencias de control
5.3.7 Atención a interrupciones

53
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

5.1 Estructura del software del control digital


En este capítulo se describe el código que se implantó en el microcontrolador
PIC17C44 para la operación del sistema del control digital. En la Figura 5.1 se muestran las
relaciones entre los principales elementos funcionales del software desarrollado.

Figura 5.1. Estructura del software del sistema de control digital

Las funciones de los bloques representados en la Figura 5.1 se describen a


continuación.

• Inicialización del sistema. Configuración de los periféricos del microcontrolador:


puertos digitales de entrada y salida, interrupciones y receptor/transmisor universal
asíncrono (UART) para comunicación serial .

• Recepción serial. Cada byte que se transmite desde la PC se recibe en el


microcontrolador por interrupción hasta formar un mensaje completo. En esta fase
se verifica el identificador de inicio y la longitud de las tramas de acuerdo con el
protocolo definido en el Capítulo 4.

• Decodificación de comandos. Validación e interpretación de los comandos y datos


recibidos por el control digital en correspondencia con el protocolo de
comunicaciones. Después de verificar la integridad del mensaje se identifica la
acción solicitada y se ejecuta la rutina apropiada.

54
Software del control digital

• Modo de prueba. Una de las funciones incorporadas en control digital es la prueba


individual de sus componentes físicos: memoria FIFO, DAC, SH, y comparadores
analógicos. La prueba de cada elemento es seguida de una respuesta de
confirmación que puede contener datos, de modo que se puede verificar la
integridad del control digital realizando mediciones en el hardware y/o por la
información que se envía a la PC.

• Generación de secuencias de control. En el control digital se tienen algoritmos


para el control de la conmutación de dos interruptores en una secuencia fija, y para
la ejecución de secuencias de control genéricas. Estas rutinas realizan el conteo de
intervalos de tiempo de acuerdo con los datos que envió la PC y controlan la salida
de cada palabra de control en la memoria FIFO de doble puerto.

• Atención a interrupciones. Para el control de las conmutaciones por tiempo se


utiliza la interrupción por sobreflujo del temporizador TMR0 del microcontrolador.
Cuando el control de las conmutaciones depende del monitoreo de señales
analógicas retroalimentadas, se utiliza la interrupción externa en la terminal RA0 del
PIC17C44 .

• Manejo del hardware del control digital. Comprende las rutinas operativas que
hacen uso de componentes específicos del control digital: escritura y lectura en
memoria FIFO, escritura al DAC para la generación de un voltaje de referencia,
selección de un elemento SH y habilitación de los comparadores analógicos.

• Transmisión serial. A cada comando recibido le sigue la transmisión de una


respuesta hacia la PC, que de acuerdo con el protocolo de comunicación puede ser
de confirmación o una trama de datos.

5.2 Generación del código


El programa implantado en el microcontrolador se desarrolló en el lenguaje
ensamblador para el PIC17C44. En el Apéndice 2 se incluye el listado completo del código.

Para escribir el programa, ensamblarlo y depurarlo mediante simulaciones en una


computadora personal, se empleó el ambiente integral de desarrollo MPLAB versión 5.50 de
Microchip. Los archivos necesarios para generar el código y programarlo en el
microcontrolador son:

• SCDATS.ASM. Código fuente escrito en lenguaje ensamblador (Apéndice 2).

• SCDATS.INC. Listado con la definición de variables, constantes e identificadores


utilizados en SCDATS.ASM (Apéndice 2).

55
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• P17C44.INC. Incluido con la herramienta de desarrollo MPLAB. Contiene los


identificadores y direcciones de todos los recursos internos del microcontrolador:
registros, periféricos y bits de bandera o de habilitación.

• SCDATS.PJT. Archivo que se debe crear en MPLAB para ligar a los archivos
anteriores en un solo proyecto y poder realizar la compilación, ensamblado y
simulación del programa.

• SCDATS.HEX. Es generado por MPLAB al compilar y ensamblar correctamente el


código fuente. Contiene el código ensamblado en formato hexadecimal que
efectivamente se graba en la memoria de programa del microcontrolador.

La programación física del microcontrolador se realizó con un programador Picstart


Plus fabricado por Microchip, operado desde el propio MPLAB.

5.3 Descripción de rutinas del código fuente


En las siguientes secciones de explican brevemente las rutinas involucradas en los
bloques funcionales descritos en la Sección 5.1.

5.3.1 Definición de constantes y variables

La descripción de las variables, constantes e identificadores definidos para su uso en


el código fuente del control digital se resume en las Tablas 5.1 a 5.4. En el Apéndice 2 se
incluye el archivo SCDATS.INC con la definición formal de estos elementos.

Tabla 5.1. Códigos de comandos

Código de Valor
Descripción
comando hexadecimal
ID_TRM 73h Valor del identificador de inicio de trama
ECO 10h Prueba de comunicación serial
V_DAC 11h Generación de voltaje en DAC
ONDA_T 12h Generación de onda triangular para prueba de DAC
HAB_SH 13h Habilitación de un elemento de muestreo y retención
HAB_CM 14h Habilitación de comparadores analógicos
E_FIFO 15h Escritura de una cadena de bytes en memoria FIFO
L_FIFO 16h Lectura de un byte de memoria FIFO
CMDBt 17h Control de conmutación doble
CMDBx 18h Control de conmutación doble con interrupción externa
SECUG 19h Secuencia genérica de control

56
Software del control digital

Tabla 5.2. Identificadores para manejo de puertos digitales de salida


Línea de salida
Identificador Función
del PIC17C44
RC_FIFO RD4 Lectura de memoria FIFO
WC_FIFO RD5 Escritura a memoria FIFO
RS_FIFO RD6 Reset de memoria FIFO
OE_FIFO RD7 Habilitación de salidas de la memoria FIFO
CS_DAC RE0 Habilitación de DAC
INH_SH RE1 Habilitación del arreglo de elementos SH
COMPS RE2 Habilitación del registro de comparadores analógicos

Tabla 5.3. Apuntadores y variables en la memoria RAM del microcontrolador

Dirección
Variable Descripción
en RAM
LONG 120h Tamaño de la trama a enviar o recibir
RXPTR 121h Índice de datos dentro del vector de recepción
RECEP 122h Indicador de mensaje recibido
nEDOx 123h Contador de estados dentro de una secuencia de control
AP_TMP 124h Apuntador auxiliar a tabla de temporizaciones
AP_PRO 125h Apuntador auxiliar a tabla de procesos
D_RET 126h
AP_RINT 127h Almacenamiento de direcciones de retorno
AP_NINT 128h
TPROC 130h Apuntador a la tabla de procesos

Tabla 5.4. Organización de los datos dentro del vector


para almacenamiento de mensajes en memoria RAM
Dirección
Identificador Descripción
en RAM
VECTOR 150h Inicio del vector para almacenamiento de mensajes
IDENT 150h Identificador de inicio de mensaje
COMND 151h Código de comando recibido
N_DAT 152h Número de bytes de datos en el mensaje
BCOMP 153h Byte de comprobación en una trama de longitud mínima
DATO_i 153h Índice para selección de SH o comparador
DATO_L 153h Parte menos significativa del dato hacia el DAC
DATO_H 154h Parte más significativa del dato hacia el DAC
nEDOS 153h Número de estados de la secuencia de control
nCICS 154h Número de ciclos por repetir
TEMPi 155h Inicio de datos de temporización

57
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

5.3.2 Programa principal

El programa principal está compuesto por la sección de inicialización y el ciclo de


decodificación de comandos descritos en la Sección 5.l. De acuerdo a la tarea que deba
ejecutar el control digital como respuesta a un comando de la PC, en el programa principal
se hace la llamada a las subrutinas apropiadas.

A continuación se describe la estructura del programa principal en la forma de


pseudocódigo:

1. Llamada a la subrutina de inicialización de puertos de entrada / salida y periféricos


INI_PUERTOS.
2. Llamada a la subrutina de configuración del puerto serial INI_SERIE.
3. Configuración de los apuntadores para direccionamiento indirecto, FSR0 y FSR1
para autoincremento después de cada acceso.
4. Transmisión del mensaje de inicio INI_XMT.
5. Llamada a la subrutina de preparación de recepción PREP_RECEP
6. Verifica la variable de estado RECEP hasta que llega un mensaje válido.
7. Ciclo de decodificación de comandos DECOD_COM.
7.1. Comando ECO de prueba de comunicaciones, llama a la subrutina
TXM_RESP para regresar la trama recibida.
7.2. Comando V_DAC, llama a la rutina VSAL_DAC para generar un voltaje en el
DAC y responde con la trama de confirmación (regreso a 4).
7.3. Comando ONDA_T, llama a la subrutina PBA_DAC para generar una onda
triangular de salida, regresa a 4.
7.4. Comando HAB_SH, llama a la subrutina SEL_SH para habilitar un SH en el
modo de prueba, regresa a 4.
7.5. Comando HAB_CM, llama a la subrutina SEL_CMP para habilitar un
comparador analógico en el modo de prueba, regresa a 4.
7.6. Comando E_FIFO, llama a la subrutina ESC_MF para escribir una trama de
bytes en la memoria de doble puerto, regresa a 4.
7.7. Comando L_FIFO, llama a la subrutina LEC_MF leer un byte de la memoria
FIFO, transmite el byte dentro de una trama de respuesta y regresa a.5.
7.8. Comando CMDBt, transmite la trama de confirmación TXM_RESP y llama a
la subrutina RuDOBt para control de conmutación doble, regresa a 5.
7.9. Comando CMDBx, transmite la trama de confirmación TXM_RESP y llama a
la subrutina RuDOBt para control de conmutación doble con interrupción
externa, regresa a 5.
7.10. Comando SECUG, transmite la trama de confirmación TXM_RESP y llama a
la subrutina RuSECU para control de secuencia de conmutación genérica,
regresa al paso 5.
8. Si no se recibió un comando válido, regresa a 5.

58
Software del control digital

5.3.3 Inicialización

Esta categoría agrupa a las rutinas en las que se configuran los recursos de hardware
del microcontrolador y se define el estado inicial de las señales de salida.

A continuación se describen brevemente las rutinas involucradas en esta etapa y su


estructura en pseudocódigo.

• INI_PUERTOS: Inicialización de los puertos digitales de entrada/ salida y


condición inicial de las señales que controlan el hardware del control digital.

1. Selección de la interrupción externa en RA0 por flanco descendente


2. Puerto B como salida con todos sus bits en 1 para bloquear a los comparadores
analógicos.
3. Puertos C y D en cero, bus de datos y señales de control de memoria FIFO.
4. Señal OE de la FIFO en 1 para poner sus salidas en estado de alta impedancia.
5. Habilitadores de DAC y SH en 1, registro de comparadores en 0.
6. Pulso de 1 µs para activar el registro de salida de los comparadores analógicos

• INI_SERIE: Configuración del UART del microcontrolador para comunicación


serial asíncrona a 9600 baudios, 1 bit de inicio, 8 bits de datos y un bit de paro.

1. Configuración del UART de microcontrolador a 9600 baudios.


2. Asignación de las terminales RA5 y RA4 para el UART.
3. Inicia el registro de estatus de transmisión.
4. Limpia las banderas de interrupción en y sus bits de habilitación en los registros de
configuración de interrupciones por periféricos.

• PREP_RECEP: Preparación de la recepción de mensajes por el canal serial.

1. Limpia las banderas de interrupción en los registros de configuración de


interrupciones por periféricos.
2. Activa la interrupción por recepción.
3. Apunta al inicio del buffer de recepción.
4. Habilita las interrupciones de periféricos.
5. Escribe 1 en la variable RECEP de estatus de recepción.
6. Escribe el valor de LONG para esperar 4 bytes como trama mínima.
7. Habilitación global de interrupciones.

59
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

5.3.4 Transmisión de respuestas

• INI_XMT: Transmisión del mensaje de confirmación.

1. Habilita la transmisión serial.


2. Carga la parte alta del dato a transmitir en TXREG
3. Espera a que se vacíe el buffer de transmisión TXBUF.
4. Decrementa el contador LONG.
5. Carga la parte baja del dato a transmitir en TXREG
6. Espera a que se vacíe el buffer de transmisión TXBUF.
7. Decrementa el contador LONG, si no es 0 regresa a 2.

• TXM_RESP: Transmisión serial de una trama de respuesta.

1. Inhibe las interrupciones durante la respuesta.


2. Apunta al inicio del buffer de recepción, VECTOR, cargando su dirección en FSR0.
3. Configura FSR0 para autoincremento después de cada acceso.
4. Carga en W el apuntador al final del mensaje recibido, RXPTR.
5. Carga en TXREG el byte a transmitir.
8. Espera a que se vacíe el buffer de transmisión TXBUF.
9. Regresa a 4 hasta que FSR0 sea igual a W.

5.3.5 Manejo del hardware del control digital

Las subrutinas de esta categoría se encargan de operar los elementos del hardware
del control digital. Son utilizadas por el programa principal, durante el modo de prueba o en
la generación de las señales de control

• VSAL_DAC: Generación de un voltaje de salida en el DAC. DATO_H y DATO_L


forman el valor binario a convertir a su equivalente analógico.

1. Inhibe las salidas de la memoria FIFO y la pone en estado de Reset para evitar una
colisión en el bus de datos.
2. Configura el puerto C como salida.
3. Escribe el valor de DATO_L en el puerto C.
4. Escribe el valor de DATO_H en el puerto D.
5. CS de DAC en nivel bajo para realizar la conversión.
6. Espera 125 ns.
7. CS en alto, DAC inhibido.

60
Software del control digital

• PBA_DAC: Generación de un ciclo de una onda triangular para prueba de DAC. El


voltaje de salida del DAC va de 0 a 5 V, de 5 V a -5 V y de -5 V a 0 V en 20 ms.

1. Inhibe las salidas de la memoria FIFO y la pone en estado de reset para evitar una
colisión en el bus de datos.
2. Configura el puerto C como salida.
3. DATO_H-DATO_L=8800h
4. Ciclo V_ASC para ascenso inicial de la rampa
4.1. Llamada a la subrutina VSAL_DAC
4.2. Incremento de DATO_L y DATO_H y regreso a 4.1 hasta llegar a 8FFFh.
5. DATO_H-DATO_L=8FFEh
6. Ciclo V_DSC para descenso de la rampa de prueba.
6.1. Llamada a la subrutina VSAL_DAC
6.2. Decremento de DATO_L y DATO_H y regreso a 6.1 hasta llegar a 8000h.
7. Ciclo V_ASF de ascenso final de la rampa de prueba.
7.1. Llamada a la subrutina VSAL_DAC
7.2. Incremento de DATO_L y DATO_H y regreso a 7.1 hasta llegar a 8800h.

• SEL_SH: selección de un elemento de muestreo y retención.

1. Inhibe las salidas de la memoria FIFO y la pone en estado de reset para evitar una
colisión en el bus de datos.
2. Puerto C como salida.
3. DATO_i contiene en 3 bits el índice del SH a habilitar.
4. Se escribe DATO_i al puerto C.
5. INH en nivel bajo.
6. Ciclo de espera para cubrir un tiempo de adquisición de 7 µs en el SH.
7. INH en nivel alto, SH inhibido.

• ESC_MF: Escritura de una trama de bytes a memoria FIFO. Los bytes a escribir se
encuentran como datos dentro del vector de mensajes en RAM.

1. Inhibe las interrupciones durante la escritura.


2. Pulso de reset a la memoria.
3. Inhibe las salidas de la memoria FIFO.
4. Saca a la memoria del estado de Reset.
5. Puerto C como salida.
6. Carga FSR0 con el apuntador DATO_i para apuntar al primer byte de datos.
7. Configura FSR0 para autoincremento después de cada acceso.
8. Escribe el byte al que apunta FSR0 en el bus de datos.
9. Flanco ascendente en WCLK y regreso a 0 después de 125 ns.
10. Regresa a 8 hasta llegar al fin del mensaje señalado por RXPTR..

61
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• LEC_MF: Lectura de un byte de memoria FIFO.

1. Puerto C como entrada.


2. Activa las salidas de la memoria FIFO.
3. Flanco ascendente en RCLK y regreso a 0 después de 125 ns.
4. Ciclo de espera de 1.5 µs para establecimiento del dato.
5. Se lee el dato en el puerto C y se almacena en la posición COMND del vector de
comunicación serial.

5.3.3 Generación de secuencias de control

Estas rutinas se encargan de generar propiamente las señales de control hacia los
interruptores de potencia por conteo de tiempo.

• RuDOBt: Control de conmutación para dos interruptores.

1. Inhabilitación general de interrupciones.


2. Puerto C como entrada.
3. Activa las salidas de la memoria FIFO.
4. Timer0 inicializado en 0.
5. Limpieza de las banderas de interrupciones.
6. Habilitación de interrupción por sobreflujo de Timer0.
7. Si el comando recibido fue CMDBx:
7.1. Habilita el comparador analógico 0.
7.2. Habilita el latch a la salida de los comparadores, después de 250 ns lo
bloquea.
7.3. Habilita la interrupción externa en RA0.
8. Habilitación general de interrupciones.
9. Llamada a la subrutina CiDBt para control de conmutación doble.
10. Inhabilitación general de interrupciones.
11. Inhabilitación de interrupción por sobreflujo de Timer0.
12. Inhabilitación de la interrupción externa en RA0.
13. Habilitación general de interrupciones.
14. Inhibe las salidas de la FIFO.

62
Software del control digital

• CiDBt: Salida de señales de control para conmutación doble.

1. FSR1 se utiliza como apuntador a las fases de control, se inicia el comienzo de la


tabla TPROC.
2. Se llena la tabla de procesos con las direcciones en la memoria de programa de las
cuatro fases de la conmutación.
3. FSR0 se utiliza como apuntador a los datos de temporización, se inicia el comienzo
de la tabla TEMPi.
4. FASE0, salida del estado inicial: interruptor auxiliar encendido, DUT apagado:
4.1. Flanco ascendente en RCLK.
4.2. Flanco ascendente en WCLK para autoescritura.
4.3. RCLK y WCLK regresan a 0.
5. Carga el tiempo de encendido auxiliar y comienza el ciclo de decrementos PAUS0 o
salta a la rutina de conteo extendido LTEMP0 si el dato es de 2 bytes
6. FASE1, interruptor auxiliar y DUT apagados:
6.1. Flanco ascendente en RCLK.
6.2. Flanco ascendente en WCLK para autoescritura.
6.3. RCLK y WCLK regresan a 0.
7. Carga el tiempo de preencendido y comienza el ciclo de decrementos PAUS1 o salta
a la rutina de conteo extendido LTEMP0 si el dato es de 2 bytes.
8. FASE2, interruptor auxiliar apagado, DUT encendido:
8.1. Flanco ascendente en RCLK.
8.2. Flanco ascendente en WCLK para autoescritura.
8.3. RCLK y WCLK regresan a 0.
9. Carga el tiempo de encendido del DUT y comienza el ciclo de decrementos PAUS2
o salta a la rutina de conteo extendido LTEMP0 si el dato es de 2 bytes.
10. FASE3, interruptor auxiliar y DUT apagados:
10.1. Flanco ascendente en RCLK.
10.2. Flanco ascendente en WCLK para autoescritura.
10.3. RCLK y WCLK regresan a 0.
11. Carga el tiempo entre ciclos y comienza el ciclo de decrementos PAUS2 o salta a
la rutina de conteo extendido LTEMP0 si el dato es de 2 bytes.
12. FASE4, verificación de ciclos de prueba
12.1. Si nCICS es 0 se está en modo repetitivo y regresa al paso3.
12.2. De otro modo se decrementa nCICS, si no es 0 regresa a 3.
12.3. Si el decremento hace que nCICS llegue a 0, se finalizó el ciclo de prueba.
13. Se inhiben las salidas de la memoria FIFO y se pone en estado de reset.

• LTEMP0: Conteo de tiempo en 2 bytes.

1. Se cargan los datos de temporización en TMR0H y TMR0L.


2. Habilitación de Timer0.
3. Ciclo de espera hasta que el Timer0 sea inhabilitado por una interrupción de
sobreflujo o en RA0.
4. Regreso a la siguiente fase de la secuencia de conmutación.

63
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• RuSECU: Generación de secuencia genérica de control.

1. Inhabilitación general de interrupciones.


2. Puerto C como entrada.
3. Se activan las salidas de la memoria FIFO.
4. Timer0 inicializado en 0.
5. Limpieza de las banderas de interrupciones
6. Habilitación de interrupción por sobreflujo de Timer0.
7. Si el comando recibido fue SECGx:
7.1. Se habilitan los comparadores analógicos
7.2. Se habilita el latch a la salida de los comparadores.
7.3. Después de 250 ns se bloquea el latch.
7.4. Se habilita la interrupción externa en RA0.
8. Habilitación general de interrupciones.
9. Se respalda el apuntador a temporizaciones, TEMPi, en AP_TMP.
10. Se respalda el apuntador a procesos, TPROC, en AP_PRO y en FSR1.
11. En la tabla de procesos, en AP_NINT y en AP_RINT se guardan las localidades de
retorno de conteo de tiempo en 2 bytes y de retorno de interrupción.
12. Se respalda nEDOS, el número de estados dentro de la secuencia de control, en el
contador auxiliar nEDOx.
13. Se carga el apuntador a temporizaciones en el inicio de la tabla.
14. Salida del estado inicial:
14.1. Flanco ascendente en RCLK.
14.2. Flanco ascendente en WCLK para autoescritura.
14.3. RCLK y WCLK regresan a 0.
15. Se carga el apuntador a procesos en el inicio de la tabla.
16. Se carga en W el primer dato de temporización, entra al ciclo de espera DECR1 o
salta a la rutina de conteo de tiempo en 2 bytes LTEMP0
17. Cambio del estado de salida:
17.1. Flanco ascendente en RCLK.
17.2. Flanco ascendente en WCLK para autoescritura.
17.3. RCLK y WCLK regresan a 0.
18. Decrementa nEDOx, el número de estados pendientes en la secuencia actual, si no
es 0 regresa al punto 15.
19. Decrementa nCICS, el número de ciclos pendientes en la secuencia actual, si no es
0 regresa al punto 12.
20. Inhibe las salidas de la memoria FIFO y la pone en estado de reset.

64
Software del control digital

5.3.7 Atención a interrupciones

• RUT_TMR0: Atención a la interrupción por sobreflujo del Timer0.

1. Inhabilitación del Timer0.

• RUT_INT0: Atención a la interrupción externa en RA0, generada por la señal INT


proveniente de la etapa de monitoreo de señales analógicas.

1. Inhabilitación de Timer0.
2. Flanco ascendente en el latch de salida de los comparadores analógicos.
3. Se inhabilitan los comparadores analógicos.
4. Incremento de FSR1 para apuntar a la localidad de regreso de interrupción dentro
de la tabla de procesos.
5. Inhibe el latch de comparadores analógicos.
6. W =1 para forzar la finalización de la rutina de conteo de tiempo en 1 byte después
de la interrupción.
7. Retorno de interrupción.

• RUT_INTPER: Atención a la interrupción por recepción serial de 1 byte. El dato


recibido está en el registro RCREG del microcontrolador.

1. Si es el primer dato se compara con el código identificador ID_TRM, si son iguales


almacena el byte en el vector de comunicaciones, de otro modo sale de la subrutina.
2. Si el dato recibido corresponde al campo de longitud, lo suma a LONG, de otro
modo lo almacena en el vector de comunicación serial.
3. Cuando el byte recibido es el último de la trama, pone RECEP en 0 e inhabilita la
recepción serial.

65
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

66
CAPÍTULO 6

SOFTWARE DE LA
INTERFAZ DE USUARIO

6.1 Estructura de la interfaz de usuario


6.2 Generación del código
6.3 Lista de subrutinas
6.3.1 Programa principal
6.3.2 Operación del control digital
6.3.3 Comunicación serial
6.3.4 Enlace a osciloscopio
6.3.5 Adquisición de señales
6.3.6 Despliegue gráfico
6.3.7 Tratamiento de señales
6.3.8 Manejo de archivos

67
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

6.1 Estructura de la interfaz de usuario


El sistema de pruebas de DSEP mostrado en la Figura 1.1 se opera desde una
computadora personal, por medio de una interfaz con el usuario que le permite definir y
enviar las condiciones de prueba al sistema de control, así como la adquisición,
visualización y tratamiento de las señales obtenidas con un osciloscopio digital. Los
requerimientos generales de la interfaz de usuario son:

• interfaz gráfica para ambiente Windows


• manejo del puerto RS-232 de la PC para comunicación serial con el sistema de
control digital
• funciones para especificación de diferentes secuencias de disparo de DSEP
• comunicación por un bus GPIB para la configuración del osciloscopio digital y la
adquisición de señales
• despliegue gráfico de las señales adquiridas
• funciones de tratamiento de señales: compensación en tiempo y offset, cálculos de
potencia y energía
• cálculo y despliegue de razones de cambio de las señales
• generación y recuperación de archivos de datos

Para cubrir estos requerimientos, se desarrolló un software de usuario cuyos


principales bloques funcionales se muestran en la Figura 6.1.

Figura 6.1. Estructura de la interfaz de usuario

68
Software de la interfaz de usuario

A continuación se describen las funciones comprendidas dentro de cada uno de los


componentes del software:

• Menú de funciones. En el procedimiento principal de la interfaz se identifica la


opción que el usuario haya seleccionado dentro de la barra de menú que muestra las
funciones disponibles en el sistema, para desplegar a continuación la ventana de
diálogo correspondiente.

• Ventanas de diálogo. Con este término se designa a las ventanas donde el usuario
puede introducir distintos parámetros para la operación del sistema de pruebas. Cada
ventana de diálogo tiene asociado un procedimiento que gestiona la ejecución de las
subrutinas involucradas en cada función del sistema.

• Operación del control digital. Agrupa a todas las subrutinas necesarias para la
interacción con el control digital, encargadas de recibir los parámetros que el
usuario introduce en las ventanas de diálogo y traducirlos a la forma requerida por
el control digital.

• Comunicación serial. Esta etapa se encarga de la configuración del puerto serial de


la PC al que se conecta el control digital, de la construcción y envío de los mensajes
de comando de acuerdo con el protocolo de comunicaciones especificado, y de la
recepción de las respuestas.

• Enlace a osciloscopio. Para realizar las mediciones en la etapa de potencia, se


escogieron los osciloscopios digitales Tektronix modelos TDS3054B y TDS784A. El
enlace con estos instrumentos incluye el envío de comandos para la configuración
de sus escalas y la transmisión hacia la PC de las señales muestreadas [24].
La comunicación entre la PC y el osciloscopio digital se hace a través de un canal
GPIB (General Purpose Interface Bus), que es un bus estándar IEEE488 orientado a
instrumentos de medición programables. Para agregar el puerto GPIB en la PC, se
instaló en su bus ISA una tarjeta HP82341A de Hewlett Packard.

• Adquisición de señales. En la PC se forman arreglos de datos (vectores) con los


datos enviados por el osciloscopio digital, también se registran las escalas de
amplitud de cada canal y la escala de tiempo al momento de la adquisición.

• Despliegue gráfico. Se encarga de la reconstrucción gráfica de las señales


adquiridas, calculadas o archivadas. Para facilitar la visualización de varias señales a
la vez, se incluyen funciones de ajuste individual de las escalas de despliegue y de
ubicación de los ejes de referencia para cada señal.

• Tratamiento de señales. Comprende a las subrutinas de procesamiento matemático


de los vectores de datos, ya sea para compensar los errores de medición o para
facilitar el análisis del comportamiento de los DSEP mediante la estimación de
razones de cambio, potencia instantánea y energía disipada.

69
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• Manejo de archivos. Etapa con las subrutinas para la creación de archivos de datos
con los valores reales de magnitud y tiempo de cada señal adquirida, así como para
la lectura de dichos archivos y la recuperación de vectores de datos para su
despliegue gráfico y/o tratamiento.

6.2 Generación del código


Dadas las funciones comprendidas en la interfaz de usuario, el ambiente de
operación se denominó SCDATS por Sistema de Control Digital, Adquisición y Tratamiento
de Señales. Los archivos desarrollados para generar este programa son:

• SCDATS.CPP. Código fuente escrito en lenguaje Borland C++ versión 4.5.

• SCDATS.H. Listado con la definición de variables, constantes e identificadores


utilizados en SCDATS.CPP.

• SCDATS.RC. Archivo de recursos creado con Resource Workshop versión 4.5


(incluido en el ambiente de Borland C++). Contiene la definición del menú del
programa, la estructura gráfica de las ventanas de diálogo y los íconos.

• SCDATS.RH. Listado con los identificadores asociados a los recursos definidos en


el archivo SCDATS.RC.

• SCDATS.DEF. Archivo que define la ubicación del código ejecutable y de los


datos en la memoria de la PC.

• SCDATS.IDE. Archivo que liga a los archivos anteriores en un solo proyecto para
compilar el código, depurarlo y generar el programa ejecutable.

Para incluir en el programa las funciones de comunicación por GPIB, se requiere de los
archivos de operación de la tarjeta HP82341A, desarrollados por Hewlett Packard y
contenidos en el software de instalación de la tarjeta de comunicaciones:

• SICL.H. Archivo con definiciones para las librerías de funciones.

• SICL16.LIB. Librería de funciones de control de la tarjeta HP82341A.

• BCAPP16.LIB. Librería de funciones para aplicaciones de 16 bits en Borland C.

Estos archivos también se deben ligar dentro de SCDATS.IDE en el ambiente de


programación de Borland C++. Como resultado final se obtiene el programa SCDATS.EXE
que es ejecutable en computadoras con ambiente Windows en sus versiones 3.1 a 2000.

70
Software de la interfaz de usuario

6.3 Lista de subrutinas


En las siguientes secciones se explica brevemente la función principal de las
subrutinas que componen al programa SCDATS.CPP, agrupadas en correspondencia con las
etapas descritas en la Sección 6.1.

6.3.1 Programa principal

Se encarga de la ventana principal de la interfaz de usuario y de identificar los


mensajes que genera el sistema Windows cuando ocurren distintos eventos (apertura y cierre
de ventanas, selección de funciones en el menú principal, accionamiento de botones en las
ventanas de diálogo con el mouse, etc.) y de ejecutar las funciones requeridas en cada caso.

Los procedimientos que componen al programa principal son:

• WinMain. Inicialización del programa, valor inicial para algunas variables globales
y especificación de las características de la ventana principal: estilo, título,
dimensiones y barra de menú de funciones.

• WndProc. Procedimiento de la ventana principal, identificación de las opciones


seleccionadas en el menú de funciones y ejecución de las ventanas de diálogo.

• Infoacerca. Ventana de diálogo con información general del sistema.

6.3.2 Operación del control digital

En esta categoría se encuentran las funciones de interacción con el usuario para la


especificación de las secuencias de disparo, así como las subrutinas para el manejo de los
elementos de hardware del control digital en el modo de prueba y en los modos de
generación de las señales de control. Las subrutinas para operación del control digital son:

• ModoPba. Ventana de diálogo para el modo de prueba del control digital.


• Contrl_ConmDoble. Ventana de diálogo para el control de conmutación de dos
interruptores de potencia.

• SecuControl. Ventana de diálogo para la definición y ejecución de una secuencia


genérica de control.
• EnvPals_FIFO. Construcción de la trama para escribir una secuencia de bytes en la
memoria FIFO de doble puerto.
• Calc_tHex. Conversión de los tiempos definidos en las ventanas de diálogo al
formato adecuado para su transmisión hacia el control digital, de acuerdo con lo
especificado en el protocolo de comunicación.

71
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

6.3.3 Comunicación serial

Esta etapa agrupa a los procedimientos para la transmisión y recepción de datos por
el puerto serial de la PC, construyendo los mensajes de comando e interpretando las
respuestas del control digital de acuerdo a lo especificado en el Capítulo 4.

Las subrutinas involucradas en la comunicación serial son:

• IniCom. Inicialización del puerto serial COM1 ó COM2 a 9600 bps, 8 bits de datos,
1 bit de paro, sin bit de paridad. Asignación de 1024 bytes de RAM de la PC para los
buffers de recepción y transmisión serial.

• Retardo. Pausa entre el envío de comandos sucesivos hacia el control digital.

• Env_Comando. Construcción de un mensaje de acuerdo al protocolo de


comunicación, envío del comando al control digital y espera de respuesta.

• Env_Mensaje. Envío de una trama de bytes al control digital para prueba del canal
de comunicaciones y espera de respuesta.

6.3.4 Enlace a osciloscopio

Estas subrutinas de comunicación con el osciloscopio comprenden el envío de


comandos para la configuración del instrumento: activación de canales, escalas de tiempo y
amplitud, condiciones de disparo, modo de adquisición, etc.

Los procedimientos de enlace al osciloscopio son:

• TDS_HorVert. Ventana de diálogo para la configuración de las escalas de tiempo y


amplitud en el osciloscopio digital.

• TDS_DispAdq. Ventana de diálogo para la configuración de los modos de disparo y


adquisición en el osciloscopio digital.

• Conf_TDS_Hor. Envío de comandos por el canal GPIB para la configuración de la


base de tiempo del osciloscopio digital.

• Conf_TDS_DA. Envío de comandos por el canal GPIB para la configuración del


modo de disparo y de adquisición del osciloscopio digital.

• ConfigCanal. Envío de comandos por el canal GPIB para la configuración de los


canales de entrada del osciloscopio digital: escala de amplitud, acoplamiento,
posición en la pantalla y ancho de banda .

72
Software de la interfaz de usuario

6.3.5 Adquisición de señales

En esta etapa se incluyen los procedimientos para la transmisión hacia la PC de las


señales muestreadas por el osciloscopio digital y su almacenamiento en vectores de datos
dentro de la memoria de la PC. Las subrutinas asociadas a la adquisición de señales son:

• AdquiOndas. Ventana de diálogo para la adquisición de las señales muestreadas


por el osciloscopio digital. Cada señal consta de 500 puntos.

• AdquiPC. Envío del comando para la transmisión hacia la PC de las señales


muestreadas por el osciloscopio digital.

• Vector_Datos. Formación de los vectores de datos a partir de la información


enviada por el osciloscopio digital. Cada vector contiene 500 datos.

• Parametros. Registro de las escalas de amplitud y tiempo en el osciloscopio digital


en el instante de la adquisición de señales.

• CanAdqs. Conteo del número de señales transmitidas por el osciloscopio digital

6.3.6 Despliegue gráfico

Comprende a las funciones para la presentación de las señales en la pantalla de la


PC, las rutinas encargadas del despliegue gráfico son:

• Nuevas_Refs. Ventana de diálogo para cambiar el eje de referencia (amplitud cero)


de las señales mostradas en la pantalla de la PC.

• Cambia_Amps. Ventana de diálogo para modificar las escalas de amplitud de las


señales mostradas en pantalla.

• Iniciar. Inicialización del modo gráfico, definición del origen y área de despliegue.
• Retic. Creación de una retícula en pantalla con 10 divisiones horizontales y 8
verticales, con 50 pixeles por cada división.

• Graficar. Despliegue gráfico de las señales adquiridas.

• RengEsc. Escala de amplitud e identificación de color de una señal.

• VerEscalas. Despliegue de las escalas de tiempo y amplitud asociadas a las señales


graficadas en pantalla.

• Escala_Vect. Cambio en la escala de amplitud de una señal graficada en pantalla.


• Marca_Cursor. Marca los puntos seleccionados para el cálculo de la razón de
cambio.

73
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

6.3.7 Tratamiento de señales

Los procedimientos de esta etapa permiten compensar errores producidos por las
puntas de prueba al momento de las mediciones, mediante el desplazamiento en amplitud o
en tiempo de las señales adquiridas. También se incluyen funciones para la estimación de
razones de cambio, cálculo de potencia instantánea y energía disipada, información de
utilidad en el análisis experimental de los DSEP.

Las subrutinas de tratamiento de señales son:

• Calc_Pot_Ener. Ventana de diálogo para la selección de las dos señales a utilizar


en los cálculos de potencia y energía

• Compensacs. Ventana de diálogo para desplazar en el tiempo o en amplitud a las


señales adquiridas.

• Calc_Pi. Cálculo de la potencia instantánea (multiplicación de dos señales).

• Calc_IE. Cálculo de la energía disipada (integral de la potencia instantánea).

• Pot_Ener. Identificación de los vectores de datos seleccionados para la ejecución de


los cálculos de potencia y energía.

• Dt_Vect. Desplazamiento en el tiempo de un vector de datos.

• Offset_Vect. Desplazamiento en amplitud (adición de offset) de un vector de datos.

• Ver_dydt. Cálculo y despliegue de la razón de cambio a partir de la selección de


dos puntos de una señal adquirida..

6.3.8 Manejo de archivos

Incluye a las funciones para crear archivos con los datos de las señales adquiridas en
la PC, así como la recuperación de las señales a partir de dichos archivos. De este modo, los
datos de las mediciones realizadas con el osciloscopio digital no sólo se pueden reconstruir
en el propio SCDATS, sino que pueden ser trasladados a otras herramientas de software
para realizar análisis más completos. Las subrutinas asociadas son:

• Abrir_Archivo. Ventana de diálogo para abrir de uno a cuatro archivos de datos y


desplegar las señales en pantalla.

• Grabar_Archivo. Ventana de diálogo para grabar en archivos de datos las señales


desplegadas en pantalla.

• Func_Abrir. Apertura de un archivo de datos y formación de un vector.

• Func_Grabar. Creación de un archivo de datos a partir de un vector.

74
Software de la interfaz de usuario

No se definió una extensión específica para los archivos de datos, el formato de los
mismos se ilustra con el ejemplo mostrado en la Figura 6.2.

Figura 6.2. Ejemplo de una sección de un archivo de datos

Los datos están escritos en formato de texto ASCII. El valor en el primer renglón es
la escala de tiempo del osciloscopio al momento de la adquisición de la señal, el segundo
renglón contiene su escala de amplitud. En la columna de la izquierda se tienen los instantes
de tiempo y en la columna de la derecha la magnitud real de los 500 puntos que
corresponden a la señal muestreada. La longitud de los archivos creados en este formato es
de 14 kBytes.

El formato de los archivos permite que puedan abrirse con software que interprete
arreglos de valores en formato ASCII, como Excel, Matlab o PSpice, pero el usuario debe
editar manualmente la información al inicio del archivo para que sea compatible con los
encabezados particulares de cada sistema.

75
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

76
CAPÍTULO 7

OPERACIÓN DE LA INTERFAZ
DE USUARIO

7.1 Submenú "Principal"


7.1.1 Operación del control digital
7.1.2 Enlace a osciloscopio digital y
adquisición de señales
7.1.3 Manejo de archivos
7.2 Submenú "Ver"
7.3 Submenú "Opciones"
7.3.1 Despliegue gráfico
7.3.2 Tratamiento de señales
7.3.3 Valores instantáneos
7.4 Submenú "Ayuda"

77
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

7.1 Submenú "Principal"


En este capítulo se presentan las opciones del menú del programa SCDATS y se
describen las ventanas de diálogo desplegadas para la interacción con el usuario.

En la Figura 7.1 se muestran el submenú Principal que comprende las funciones


relacionadas con la operación del sistema digital de control, con la adquisición de las
mediciones que se realicen con el osciloscopio digital y con la creación y recuperación de
archivos de datos. La ejecución de estas funciones se describe en las siguientes secciones.

Figura 7.1. Submenú principal

7.1.1 Operación del control digital

El enlace entre la PC y el sistema de control digital se hace por defecto a través del
puerto serial COM1. La función Puerto Serie permite especificar cuál de los canales
seriales de la PC, COM1 ó COM2, se utilizará para la comunicación con el control digital.
El puerto seleccionado aparece indicado por una marca como se muestra en la Figura 7.2.

Figura 7.2. Submenú para selección de puerto de comunicación

78
Operación de la interfaz de usuario

La función Prueba de Control Digital permite verificar el enlace de


comunicaciones y algunos de los elementos de hardware del sistema de control (Secciones
4.2.1, 5.3.4 y 5.3.5). Al seleccionar esta opción se despliega la ventana de diálogo mostrada
en la Figura 7.3.

Figura 7.3. Ventana de diálogo para prueba de control digital

Las funciones de los campos y botones de control que aparecen en la ventana de


diálogo son:

• Comunicación Serial. En el renglón de edición el usuario introduce una cadena de


caracteres. Al presionar el botón Enviar Datos, los bytes de la cadena se transmiten
al control digital como datos dentro de un mensaje de comando.
La respuesta que el control digital envía a la PC se despliega en el recuadro inferior,
mostrando el mensaje recibido desde el identificador hasta el código de
comprobación. Si no hay errores de comunicación los datos en la respuesta deben
ser los mismos introducidos por el usuario.

• Memoria FIFO. En el renglón de edición el usuario introduce una cadena de


caracteres. Al presionar el botón Escribir, los bytes de la cadena se transmiten al
control digital dentro de un comando de escritura a memoria FIFO y se almacenan
secuencialmente en ésta.

79
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Al presionar el botón Leer, el control digital envía a la PC un byte extraído de la


memoria, que se muestra en formato ASCII y hexadecimal dentro del recuadro
próximo al botón Leer. El dato leído también estará presente en las salidas del
control digital. La operación de lectura se puede repetir hasta que se extraiga el
último dato almacenado en la memoria FIFO.

• Conversión D/A. En el renglón de edición el usuario introduce un número entre –5


y 5. Al presionar el botón Volts, se transmite ese valor hacia el control digital dentro
de un comando de generación de voltaje en DAC. El voltaje especificado por el
usuario estará presente en la salida analógica Vo del control digital.
Al presionar el botón Onda de Prueba, se genera en Vo una forma de onda
triangular entre 5 V y -5 V en 20 ms.

• Muestreo y Retención. En el renglón de edición el usuario introduce un número


entero entre 0 y 7, que representa a uno de los ocho elementos de muestreo y
retención dentro del control digital. Al presionar el botón Hab S&H, se transmite el
valor hacia el control digital dentro de un comando de habilitación y el voltaje
presente en ese momento a la salida del DAC será retenido por el elemento de
muestreo seleccionado por el usuario.
Para comprobar la ejecución correcta de este comando se deben realizar mediciones
en el hardware del sistema de control digital.

• Comparadores. En el renglón de edición el usuario introduce número entero entre 0


y 7, que representa a uno de los ocho comparadores analógicos dentro del control
digital. Al presionar el botón Hab CMP, se transmite el valor al control digital
dentro de un comando de habilitación y la salida del comparador analógico
seleccionado por el usuario reflejará la condición de sus entradas. La operación de
los comparadores se inhibe al presionar el botón Inhabilitar Todos.
Para comprobar la ejecución correcta de este comando se deben realizar mediciones
en el hardware del sistema de control digital.

• RESET. Botón para reinicio por hardware del sistema de control digital.

• CERRAR. Botón para salir del modo de prueba, el control digital queda en estado
inactivo al cerrar la ventana de diálogo.

Si después de enviar los comandos para la ejecución de alguna de las funciones


anteriores el sistema de control digital no regresa la respuesta de confirmación, se despliega
el mensaje de error mostrado en la Figura 7.4 para alertar al usuario sobre alguna falla en el
enlace con el control digital.

80
Operación de la interfaz de usuario

Figura 7.4. Mensaje de error de enlace con el control digital

En la opción Secuencia de Control se incluyen las funciones para definir y


transmitir al control digital las condiciones de disparo en una prueba de DSEP (Secciones
4.2.1 y 5.3.6), como se muestra en la Figura 7.5.

Figura 7.5. Submenú para definición de secuencias de control

La función Conmutación Doble se utiliza para definir los parámetros de una


secuencia de disparo de dos DSEP como la mostrada en las Figuras 2.4, 2.6 y 2.8, donde las
señales de control de los interruptores QAux y DUT corresponden a las salidas Q1 y Q0 del
control digital, respectivamente.

Al seleccionar esta función se despliega la ventana de diálogo mostrada en la Figura


7.6. La primera vez que se despliega esta ventana tendrá por defecto los valores mínimos
posibles para cada parámetro, los valores que el usuario introduzca posteriormente serán
retenidos cada vez que se active la ventana de diálogo mientras no se finalice la ejecución
del programa.

81
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 7.6. Ventana de diálogo de control de conmutación doble

Los parámetros a especificar en los campos que aparecen en la ventana de diálogo


para el control de conmutación doble, se describen a continuación.

• Encendido Auxiliar. Tiempo de encendido del interruptor auxiliar (t1 a t2 en las


Figuras 2.4, 2.6 y 2.8). Los valores permitidos están entre 1.38 µs y 8.15 ms,
introducidos en forma decimal o en notación científica.

• Voltaje de Consigna. Si el botón Esperar Interrupción está seleccionado, el


interruptor auxiliar permanecerá encendido hasta que el voltaje retroalimentado en
la entrada In0 del control digital llegue al valor especificado en el renglón de
edición. Los valores permitidos están entre –5 V y 5 V.
Si el valor de consigna no es alcanzado en un tiempo menor al definido en el campo
de Encendido Auxiliar, el interruptor auxiliar será apagado al expirar este lapso
para evitar daños en el dispositivo.

• Tiempo de Preencendido. Tiempo de espera previo al encendido del interruptor


bajo prueba (t2 a t3 en las Figuras 2.4, 2.6 y 2.8). Los valores permitidos están entre
1.62 µs y 8.15 ms.

• Tiempo de Encendido. Tiempo de encendido del interruptor bajo prueba (t3 a t4 en


las Figuras 2.4, 2.6 y 2.8). Los valores permitidos están entre 1.38 µs y 8.15 ms.

• Tiempo entre Ciclos. Tiempo de espera con los interruptores apagados antes de
reiniciar la secuencia de disparo de los DSEP cuando se seleccionan varios ciclos de
operación. Los valores permitidos están entre 2.5 µs y 8.15 ms.

82
Operación de la interfaz de usuario

• Modo Impulsional. Seleccionando este botón se configura al control digital para


repetir la secuencia de disparo el número de ciclos que el usuario especifique en el
cuadro de edición. Los valores permitidos están entre 1 y 128.

• Modo Repetitivo. Seleccionando este botón se configura al control digital para


repetir la misma secuencia de disparo de forma indefinida. La repetición de la
secuencia de control se detiene al presionar el botón DETENER.

• ACEPTAR. Botón para trasmitir los comandos y datos hacia el control digital para
iniciar la generación efectiva de las señales de control.

• CERRAR. Botón para salir del modo de control de conmutación doble, el control
digital queda en estado inactivo al cerrar la ventana de diálogo.

Si el control digital no responde con los mensajes de confirmación esperados, se


desplegará la ventana de notificación de error de la Figura 7.4. En caso de que los valores
introducidos por el usuario estén fuera de los rangos válidos, se mostrarán los mensaje que
se presentan en las Figuras 7.7 y 7.8.

Figura 7.7. Mensaje de error por parámetros fuera de rango

Figura 7.8. Mensaje de ayuda para control de conmutación doble

83
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

La función Definir Secuencia (Figura 7.5), permite al usuario especificar


libremente secuencias de disparo con hasta 100 estados diferentes de encendido/apagado
para ocho DSEP. Al seleccionar esta función se despliega la ventana de diálogo mostrada
en la Figura 7.9.

Figura 7.9. Ventana de diálogo para secuencia de conmutación genérica

En la parte superior de la ventana de diálogo se tiene una tabla con los parámetros
de la secuencia de disparo que especifique el usuario, formada por los siguientes elementos:

• Estado. Número del estado de salida dentro de la secuencia de disparo, 0 es el


estado inicial. A la izquierda de esta columna se tiene un arreglo de botones con los
que el usuario puede seleccionar uno de los estados definidos con anterioridad para
modificar sus parámetros.

• Q7-Q0. Combinación binaria que representa el estado de las ocho señales de control
que van hacia los DSEP, 1 representa encendido y 0 representa apagado.

• Consigna. Valor de referencia que deberá alcanzar una de las señales analógicas
retroalimentadas hacia el control digital para el cambio de estado de las salidas.

84
Operación de la interfaz de usuario

• Can. Canal de entrada del sistema de control digital en el que se aplica la señal
analógica de consigna.

• Tiempo. Duración, en segundos, de cada estado dentro de la secuencia de disparo.

En la tabla de parámetros se muestran los datos sólo para cinco estados de la


secuencia de disparo. Al presionar el botón Siguientes, se muestra la información del
siguiente grupo de cinco estados, el botón Previos muestra los estados anteriores.

La tabla de parámetros se llena progresivamente con la información que el usuario


introduce con los elementos descritos a continuación:

• Q7 a Q0. Arreglo de botones para definir la condición individual de cada salida del
control digital durante la fase indicada en el recuadro Estado de Salida. Los
botones se activan o desactivan al presionarlos y representan el estado de encendido
cuando aparecen marcados.

• Temporización. Duración, en segundos, de un estado dentro de la secuencia de


disparo.

• Valor de consigna. Magnitud que deberá alcanzar una de las señales analógicas
retroalimentadas hacia el control digital para el cambio de estado de las salidas.

• Canal de Entrada. Canal en el que se aplica la señal analógica de consigna.

• Incluir Estado. Botón para que los datos introducidos en los campos anteriores se
registren en la tabla de parámetros de la secuencia de disparo.

• Número de Ciclos. Campo de edición donde se especifica el número de


repeticiones de la secuencia de disparo.

• LIMPIAR. Botón para borrar el contenido completo de la tabla de parámetros.

• ACEPTAR. Botón para trasmitir los comandos y datos hacia el control digital para
iniciar la generación efectiva de las señales de control.

• CERRAR. Botón para salir del modo de secuencia de control. El control digital
queda en estado inactivo al cerrar la ventana de diálogo.

85
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

7.1.2 Enlace a osciloscopio digital y adquisición de señales

Con la función Seleccionar Osciloscopio se especifica el instrumento con el que se


realizarán las mediciones en la etapa de potencia para su posterior transmisión a la PC. Los
osciloscopios digitales con los que se puede entablar comunicación son los modelos
TDS3054B y TDS784A de la marca Tektronix, que se seleccionan de forma directa en el
submenú que se presenta en la Figura 7.10.

Figura 7.10. Submenú para selección de osciloscopio digital

La opción Configurar Osciloscopio mostrada en el submenú de la Figura 7.11,


contiene las funciones que permiten al usuario definir las condiciones operativas del
osciloscopio para la medición y adquisición de las señales.

Figura 7.11. Submenú para configuración de osciloscopio digital

86
Operación de la interfaz de usuario

En la Figura 7.12 se muestra la ventana de diálogo que se despliega al seleccionar la


función Horizontal/Vertical, que permite al usuario definir los valores para las escalas de
tiempo y amplitud del osciloscopio digital.

Figura 7.12. Ventana de diálogo para configuración de osciloscopio digital

Los elementos de esta ventana de diálogo son:

• Dirección del Osciloscopio en el bus GPIB. Valor numérico asignado como


dirección del osciloscopio digital en el canal de comunicaciones GPIB. Este
parámetro está programado en el instrumento de medición y se debe utilizar su
propio panel de control para conocer su dirección o modificarla.

• CH1 a CH4. Botones para seleccionar los canales del osciloscopio que se desea
habilitar y/o configurar. Los canales que no estén seleccionados no sufrirán
modificaciones en su estado actual.

• Escala en TDS. Valor en Volts/división para las escalas de amplitud de cada canal
del osciloscopio digital, en forma decimal o con notación científica. En caso de que
el valor introducido no coincida con alguna de las escalas disponibles, el
osciloscopio se ajusta a la escala más cercana.

87
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

• Factor por Equipo de Aislamiento. Factor de amplificación o atenuación cuando


la punta de prueba utilizada lo requiera. Además del factor se pueden introducir las
unidades que correspondan a cada canal (V, A, ºC, etc.), de modo que esta
información se presente correctamente al desplegar las señales en la PC.

• Acoplamiento. Botones DC y AC para seleccionar el tipo de acoplamiento de


entrada para cada canal del osciloscopio.

• Posición. Ubicación del origen de cada una de las señales con respecto al eje
horizontal en el centro de la pantalla del osciloscopio. Los valores permitidos van de
–4 a 4 divisiones en formato entero o decimal.

• Base de Tiempo. Valor en segundos/división para la escalas de tiempo del


osciloscopio digital, en forma decimal o con notación científica. En caso de que el
valor introducido no coincida con alguna de las escalas disponibles, el osciloscopio
se ajusta a la escala más cercana.

• ACEPTAR. Botón para transmitir los comandos de configuración hacia el


osciloscopio digital.

Al seleccionar la función Disparo/Modo de Adquisición en el submenú de la


Figura 7.11, se activa la ventana de diálogo que permite al usuario definir las condiciones
de disparo para iniciar el muestreo de las señales en el osciloscopio digital y el modo de
adquisición de las mismas.

La ventana de diálogo se presenta en la Figura 7.13. Una vez que el usuario ha


especificado la dirección GPIB del osciloscopio digital, puede configurar los siguientes
parámetros:

• Fuente del disparo. Canales 1 a 4, señal externa o línea AC de 60 Hertz


• Acoplamiento. Tipo AC , DC, con rechazo al ruido de baja o alta frecuencia
• Nivel. Especificado en Volts, formato decimal o con notación científica
• Flanco. Ascendente o descendente
• Modo. Disparo automático o normal
• Modo de Adquisición. Muestreo instantáneo, alta resolución o promediado

88
Operación de la interfaz de usuario

Figura 7.13. Ventana de diálogo para configuración de osciloscopio digital

Si la PC no recibe una respuesta de confirmación por parte del osciloscopio digital,


porque alguno de los dos equipos no esté conectado al bus GPIB o por error en la dirección
especificada, se avisa al usuario con el mensaje mostrado en la Figura 7.14.

Figura 7.14. Mensaje de error de comunicación con el osciloscopio digital

89
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

En el submenú de la Figura 7.11 se encuentra la función Adquisición de Señales,


que permite hacer la transferencia hacia la PC de las señales muestreadas por el
osciloscopio digital.

Al seleccionar esta función se despliega la ventana de diálogo de la Figura 7.15.

Figura 7.15.Ventana de diálogo para adquisición de señales

Los elementos que el usuario debe especificar son:

• Dirección del Osciloscopio. Valor asignado al osciloscopio digital como su


dirección en el canal de comunicaciones GPIB.

• Canal 1 a Canal 4. Señales a transferir hacia la PC (se puede seleccionar más de


un canal). Las señales se almacenan dentro de vectores individuales con 500 datos
cada uno, que se grafican en la pantalla de la PC en una retícula similar a la de un
osciloscopio.

• Punto Inicial de Registro. Índice del primer dato en el grupo de 500 muestras que
se transmitirá hacia la PC, en el caso de que el osciloscopio digital haya almacenado
más de 500 puntos.

90
Operación de la interfaz de usuario

7.1.3 Manejo de archivos

En la Figura 7.16 se presenta el submenú con las funciones para la creación y


recuperación de archivos de datos con el formato descrito en la Sección 6.3.8.

Figura 7.16.Submenú de manejo de archivos

Con la función Abrir se activa la ventana mostrada en la Figura 7.17, en ésta el


usuario puede especificar la ubicación y nombre desde uno a cuatro archivos para la
recuperación de sus datos, con éstos se formaran vectores que se pueden desplegar y
manipular en el software como si fueran señales proveniente del osciloscopio.

Figura 7.17. Ventana de diálogo de apertura de archivos

91
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Al seleccionar la función Grabar se despliega la ventana mostrada en la Figura


7.18, donde el usuario puede especificar la ubicación y nombre de 1 a 6 archivos que se
crearán con los datos almacenados en la PC.

Figura 7.18.Ventana de diálogo de escritura de archivos

Los datos que se escribirán en los archivos pueden corresponder a señales


transferidas desde el osciloscopio, o a señales generadas por el software a partir de los datos
originales, como se describirá en la Sección 7.3.2. Cada archivo creado tiene una longitud
de 14 kBytes.

Si alguno de los archivos que el usuario especifica para su apertura no existe en la


ubicación indicada, o si no es posible crear un archivo de datos, se mostrarán mensajes de
error para indicar la imposibilidad de ejecutar la acción solicitada.

7.2 Submenú “Ver”


Las funciones dentro del submenú Ver, mostrado en la Figura 7.19, están asociadas
a la visualización gráfica de las señales adquiridas por la PC. Seleccionando directamente
las opciones del submenú, se pueden mostrar u ocultar cualquiera de las curvas que
representan a las señales transferidas desde el osciloscopio digital, la potencia y energía
calculadas, las escalas de amplitud y tiempo, o borrar todo.

Los nombres de las señales que no hayan sido adquiridas o calculadas se mostrarán
en letras grises para indicar que no están disponibles.

92
Operación de la interfaz de usuario

Figura 7.19. Submenú de visualización de señales

En la Figura 7.20 se muestra un ejemplo del despliegue gráfico de señales. En la


parte superior derecha aparecen las escalas de tiempo y amplitud correspondientes.

Figura 7.20. Despliegue gráfico de señales adquiridas

93
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

7.3 Submenú “Opciones”


En la Figura 7.21 se muestra el submenú Opciones, que contiene las funciones para
modificar la presentación gráfica de las señales y los valores en sus vectores de datos.

Figura 7.21. Submenú de opciones de despliegue y tratamiento de señales

Dado que las funciones en esta categoría se aplican sobre señales adquiridas, si no se
tiene al menos una señal, todas las opciones aparecerán en texto gris para indicar que están
inhabilitadas.

7.3.1 Despliegue gráfico

La función Cambiar Escalas de Amplitud permite al usuario modificar


individualmente las escalas de amplitud de despliegue de las señales para mejorar su
visualización en la PC. Al seleccionar esta función se despliega la ventana de diálogo
mostrada en la Figura 7.22.

Figura 7.22. Ventana de diálogo para cambio de escalas de amplitud

94
Operación de la interfaz de usuario

Por defecto la ventana de diálogo presenta las escalas de amplitud al momento de la


adquisición (los valores mostrados en la Figura 7.22 corresponden a las señales de la Figura
7.20). El usuario puede introducir la escala deseada y agregar las unidades correspondientes
a la naturaleza de cada señal para que esta información también se despliegue con las
escalas de amplitud.

La función Cambiar Ejes de Referencia permite que el usuario modifique


individualmente la posición del eje horizontal de referencia de cada señal con respecto al
centro de la pantalla. Al seleccionar esta función, se despliega la ventana de diálogo
mostrada en la Figura 7.23.

Figura 7.23. Ventana de diálogo para cambio de los ejes de referencia

Por defecto la ventana de diálogo muestra las posiciones originales de las señales al
momento de la adquisición (los valores en la Figura 7.23 corresponden a las señales de la
Figura 7.20).

7.3.2 Tratamiento de señales

Dentro del submenú de la Figura 7.21 se tienen funciones para modificar los datos
en los vectores que representan a cada señal.

La función Compensar Señales permite al usuario incluir un offset positivo o negativo


en la magnitud de cada una de las señales y/o desplazar sus valores sobre el eje horizontal
del tiempo, con la intención de compensar los errores de amplitud y retardos introducidos
por las puntas de medición. Al seleccionar esta función de compensación se despliega la
ventana de diálogo mostrada en la Figura 7.24

95
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 7.24. Ventana de diálogo para compensación de señales

El usuario puede introducir los valores de compensación necesarios en


forma decimal o con notación científica.

La función Cálculos de Potencia y Energía se utiliza para seleccionar dos señales


(voltaje y corriente) cuyo producto representa la potencia instantánea durante una prueba,
que a su vez se integra para estimar la energía involucrada en el proceso. Si no se han
adquirido al menos dos señales, esta función aparece inhabilitada dentro del submenú de la
Figura 7.21.

En la Figura 7.25 se presenta la ventana de diálogo asociada a esta función.

Figura 7.25. Ventana de diálogo para selección de


señales para los cálculos de potencia y energía

96
Operación de la interfaz de usuario

7.3.3 Valores instantáneos

En el submenú de la Figura 7.21 se muestra la función Valores Instantáneos y las


cuatro opciones que contiene. Sólo se puede seleccionar una de las señales para el cálculo
de sus valores instantáneos, que se desplegarán en el recuadro de la parte inferior derecha
de las gráficas, como se muestra en la Figura 7.20.

Cuando el usuario ha seleccionado una señal, aparecen sobre ella dos marcadores
con forma de cruz (Figura 7.20) y el usuario puede desplazar los marcadores utilizando el
mouse: al presionar el botón derecho dentro de la región de despliegue de las señales, se
relaciona la posición del apuntador del mouse con un instante de tiempo en la gráfica y se
mueve automáticamente uno de los marcadores al punto de la señal que corresponda a ese
mismo instante. El tiempo y amplitud de la señal en ese punto se muestran en la parte
superior del recuadro de los valores instantáneos.

La misma operación con el botón izquierdo del mouse mueve el otro marcador. El
tiempo y amplitud de la señal en ese punto aparecen en la parte media del recuadro de los
valores instantáneos.

La razón de cambio (diferencia de amplitudes/diferencia en tiempo) entre los dos


puntos seleccionados se muestra en la parte inferior del recuadro.

7.4. Submenú “Ayuda”


En la Figura 7.26 se muestran las opciones del submenú Ayuda, que proporcionan
información complementaria sobre el sistema de control digital y la interfaz de usuario: el
archivo donde se describe la operación del sistema (Figura 7.27) y la ventana de
presentación de SCDATS (Figura 7.28).

Figura 7.26. Submenú Ayuda

97
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 7.27. Mensaje de guía de usuario

Figura 7.28. Ventana de información del sistema

98
CAPÍTULO 8

RESULTADOS EXPERIMENTALES

8.1 Ambiente de pruebas


8.2 Prueba en conmutación dura
8.3 Control de un inversor puente completo
8.4 Prueba de control en lazo cerrado

99
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

En este capítulo se presentan algunas de las pruebas realizadas con el sistema de


control digital desarrollado, así como la aplicación del software de adquisición y
tratamiento de señales que lo complementa.

Las pruebas que se describen son:

• Control en lazo abierto de un circuito de prueba para conmutación dura.


• Control de un inversor monofásico en puente completo.
• Control en lazo cerrado.

8.1 Ambiente de pruebas


La Figura 8.1 es una forma de operar el sistema general presentado en la Figura 1.1,
donde se muestran los principales elementos del arreglo de pruebas para el control en lazo
abierto de los circuitos de potencia que se describen en las secciones 8.2 y 8.3.

La interfaz de usuario para la operación del sistema se instaló en una computadora


personal con procesador Intel 386 y sistema operativo Windows 3.1, equipada con una
tarjeta Hewlett Packard HP82341 para la comunicación de datos por bus GPIB. Al puerto
serial de la PC se conectó el sistema de control digital. Las mediciones sobre la etapa de
potencia se realizaron con el osciloscopio digital Tektronix modelo TDS3054B.

Figura 8.1. Arreglo de pruebas del sistema de control digital,


adquisición y tratamiento de señales

100
Resultados experimentales

8.2 Prueba en conmutación dura


Para reproducir las condiciones de conmutación dura en un DSEP se utilizó el
circuito de potencia mostrado en la Figura 8.2.

Figura 8 2 Circuito de prueba para conmutación dura

Se utilizaron circuitos impulsores que generan voltajes de salida de ± 15 V para


obtener el encendido y apagado correcto de los interruptores de potencia. Los impulsores se
accionaron mediante pulsos de luz visible acoplados por fibra óptica desde las salidas Q1 y
Q0 del sistema de control digital (Sección 3.3). En esta prueba se utilizaron los IGBTs
IRGPH30F y CM100DU-24F como DUT y QAux respectivamente.

Para la ejecución de la prueba se utilizó la función Conmutación Doble descrita en


la Sección 7.1.1, que es específica para la generación de secuencias de disparo como la
mostrada en la Figura 2.4.

En la Figura 8.3 se muestra la ventana de diálogo con los parámetros que se


especificaron para la prueba en conmutación dura.

101
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 8.3. Parámetros para prueba en conmutación dura

Las mediciones realizadas con el osciloscopio digital se transfirieron a la PC


utilizando la función Adquisición de Señales descrita en la Sección 7.1.2.

Las señales muestreadas por el osciloscopio se reconstruyeron en la PC como se


presenta en las Figuras 8.4 a 8.9, en las que se observan distintas zonas de la conmutación
en diferentes escalas de tiempo.

En las Figuras 8.7 y 8.9 se muestran las curvas de potencia y energía disipadas
calculadas a partir de los datos transferidos por el osciloscopio (Sección 7.3.2), información
útil para la estimación del esfuerzo al que se ve sometido el dispositivo bajo prueba o en el
diseño de disipadores de calor.

Los resultados obtenidos muestran que el control de las conmutaciones se apega a


los parámetros especificados en la ventana de diálogo de la Figura 8.3, presentándose los
transitorios por conmutación dura descritos en la Sección 2.2.

102
Resultados experimentales

Figura 8.4. En orden descendente: señales de compuerta y voltaje colector-emisor


de QAux y del DUT, corriente en la bobina de carga

Figura 8.5. Señal de compuerta, voltaje y corriente en el DUT

103
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 8.6. Flanco de encendido: señal de compuerta, voltaje


y corriente en el DUT

Figura 8.7. Flanco de encendido: voltaje, corriente, potencia y energía


disipada en el DUT

104
Resultados experimentales

Figura 8.8. Flanco de apagado: Voltaje colector-emisor y corriente en el DUT

Figura 8.9. Voltaje, corriente, potencia y energía disipada en el DUT

105
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

8.3 Control de conmutaciones en un inversor monofásico


Un caso de prueba más complejo es el control de las conmutaciones en los cuatro
interruptores que forman un inversor monofásico de puente completo, como el que se
muestra en su forma general en la Figura 8.10.

Figura 8.10. Circuito inversor monofásico puente completo

Por simplicidad no se muestran en la figura los impulsores que son necesarios para
activar correctamente cada interruptor (IGBTs CM100DU-12H en esta prueba). La
nomenclatura utilizada para los interruptores corresponde con las salidas Q0 a Q3 del
sistema de control digital.

Para generar en la carga RL una corriente alterna, los interruptores deben activarse
según la secuencia mostrada en la Figura 8.11, donde se indican las formas de onda de
salida y los interruptores de potencia activos en cada una de las cinco fases que forman un
período de funcionamiento.

Figura 8.11. Señales de control y voltaje de salida en un


inversor monofásico puente completo

106
Resultados experimentales

En apariencia, las señales para Q0 y Q1 son mutuamente complementarias. Sin


embargo, después de apagar Q0 se debe esperar un tiempo antes de encender Q1, de otro
modo ocurriría un cortocircuito en la fuente de alimentación dados los tiempos finitos de
conmutación de los interruptores que provocaría que ambos dispositivos estuvieran en
conducción al mismo tiempo.

Estas consideraciones son idénticas para Q2 y Q3, de modo que la secuencia real de
conmutación comprende nueve estados diferentes en cada período de operación, como se
muestra en la Figura 8.12.

Figura 8.12. Señales de control en un inversor monofásico puente completo

Analizando las señales en la Figura 8.12 se obtienen las características de la


secuencia completa de disparo a generar con el sistema de control digital, información que
se resume en la Tabla 8.1. Los tiempos de activación corresponden a una señal de salida de
60 Hz, para el tiempo de espera entre el encendido de interruptores se escogió 2µs.

Tabla 8.1. Resumen de estados para control del inversor monofásico

Estado IGBTs encendidos Tiempo de activación


0 Q2 – Q0 1.388 ms
1 Q0 2µs
2 Q3 – Q0 5.555 ms
3 Q3 2µs
4 Q3 – Q1 2.777 ms
5 Q1 2µs
6 Q2 – Q1 5.555 ms
7 Q2 2µs
8 Q2 – Q0 1.388 ms

107
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Para enviar los parámetros de prueba hacia el sistema de control digital se utilizó la
función Definir Secuencia descrita en la Sección 7.1.1. En la Figura 8.13 se presenta la
ventana de diálogo con los parámetros de los estados 0 a 4 de la Tabla 8.1. En la Figura
8.14 se muestra el detalle de la tabla con los estados restantes de la secuencia de disparo.

Figura 8.13. Definición de la secuencia de control del inversor monofásico

Figura 8.14. Detalle de la sección final de la tabla de estados de control

108
Resultados experimentales

En la Figura 8.15 se muestran las señales generadas en las salidas Q0 a Q3. Se


observa que cumplen con los requerimientos especificados en la Figura 8.12 para el control
de los elementos del inversor. En la Figura 8.16 se presenta en detalle uno de los intervalos
de espera entre el apagado y el encendido de los dispositivos Q0 y Q1 del inversor.

Figura 8.15. Señales generadas por el sistema de control digital


para las conmutaciones en el inversor monofásico

Figura 8.16. Detalle del tiempo de espera entre las conmutaciones de


dos dispositivos en una misma rama del inversor

109
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

En la Figura 8.17 se presentan las formas de onda de las mediciones realizadas en la


etapa de potencia del inversor: los voltajes en los extremos de la resistencia de carga y la
corriente resultante en la misma.

Figura 8.17. Voltajes en los extremos de la carga conectada al inversor:


unión Q0-Q1, unión Q2-Q3 y corriente en la carga

Los resultados son consistentes con lo mostrado en la Figura 8.11. Esta prueba se
realizó repitiendo la secuencia de control desde 5 hasta 60 ciclos de operación, sin que se
observara desviación en el comportamiento del sistema.

Aunque la prueba descrita en esta sección no se relacione directamente con un


circuito orientado a la caracterización de dispositivos de potencia, sirve para ilustrar la
flexibilidad del control digital y su facilidad de adaptación a otras aplicaciones.

110
Resultados experimentales

8.2 Prueba de control en lazo cerrado


Para verificar la ejecución de las secuencias de disparo en respuesta a señales
analógicas retroalimentadas hacia el control digital, se empleó el circuito de la Figura 8.18.

Figura 8.18. Circuito de prueba para control en lazo cerrado

La salida Q1 del sistema de control digital se utilizó para cargar un condensador


cuyo voltaje se realimentó a través de un amplificador de ganancia unitaria.

La carga gradual del condensador permitió emular de forma aproximada el efecto de


la carga de un inductor de forma previa al encendido del DUT, como se hace en varios de
los circuitos de prueba descritos en el Capítulo 2.
Para la ejecución de la prueba se utilizó la función Conmutación Doble (Secciones
7.1.1 y 8.2) con los siguientes parámetros de operación:

• Encendido auxiliar: 8µs


• Voltaje de consigna: 2 V
• Tiempo de preencendido: 2µs
• Tiempo de encendido: 2µs
• Ciclos en modo impulsional: 1

En la Figura 8.19 se presentan las formas de onda obtenidas cuado no se habilita el


botón Esperar Interrupción (Figura 8.3), es decir, cuando el control se realiza en lazo
abierto. Las señales que se muestran son la salida Q0 del control digital, la salida Q1 y el
voltaje en el condensador.

Para realizar la prueba efectivamente en lazo cerrado (como se planteó en el


esquema general de pruebas de la Figura 1.1) se activó la función Esperar Interrupción,
obteniéndose las señales mostradas en la Figura 8.20.

111
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura 8.19. Control en lazo abierto, Q0, Q1 y voltaje del condensador

Figura 8.20. Control en lazo cerrado, Q0, Q1 y voltaje del condensador

Se observa que la señal Q1 permanece activa menos de 2µs a pesar de que no se


cambiaron los parámetros de temporización, cambiando de estado cuando el voltaje del
condensador llega a 2 V como se especificó. El tiempo entre los pulsos de encendido y el
tiempo de activación de Q0 no se modificaron con respecto al apagado de Q1.

112
Resultados experimentales

El monitoreo de las señales analógicas en el control digital permite la generación de


pulsos de encendido menores a 1.38µs, intervalo mínimo que se obtiene mediante el conteo
de tiempo por software en el control digital.

Cuando se especifica 1 V como Voltaje de Consigna se obtienen los resultados que


se muestran en la Figura 8.21 (nótese el cambio de escala con respecto a las Figuras 8.19 y
8.20). En estas condiciones el tiempo de activación de Q1 fue cercano a 800 ns en respuesta
a la carga del condensador.

Figura 8.21. Señal de control Q1 y voltaje del condensador

En este capítulo se describió la aplicación del sistema de control digital desde un


caso simple de prueba que involucró el control de dos DSEP en una secuencia
predeterminada, hasta condiciones de operación con más componentes y fases de
conmutación en una secuencia definida al momento de las pruebas, lo que ilustra la
flexibilidad del sistema para adaptarse a modos de operación diversos.

Los resultados obtenidos muestran la funcionalidad del sistema de control digital y


su utilidad en la generación de distintas secuencias de disparo para DSEP, así como la
aplicación del software de adquisición y tratamiento de señales.

113
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

114
CAPÍTULO 9

CONCLUSIONES

9.1 Sistema de control digital


9.2 Interfaz de usuario, adquisición y
tratamiento de señales
9.3 Trabajos futuros

115
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

En este trabajo se desarrolló un sistema digital de control orientado a un banco de


pruebas para DSEP, configurable desde una computadora personal y complementado con
un sistema de adquisición y tratamiento de señales. Con la integración de estos elementos se
forma una herramienta de apoyo para el modelado y caracterización de DSEP, que también
puede emplearse para evaluar el desempeño de dispositivos y esquemas de conmutación
como parte del diseño de circuitos electrónicos de potencia.

A partir del análisis de circuitos típicos para la prueba y caracterización de DSEP se


identificaron los requerimientos funcionales del sistema, que sirvieron como base para la
especificación, diseño e implementación de un prototipo electrónico del sistema de control
digital, así como del software necesario para su operación. A continuación se resumen las
principales características de los distintos elementos desarrollados.

9.1 Sistema de control digital


Las especificaciones funcionales del sistema de control digital implementado son:

• Comunicación con una computadora personal a través de un canal serial RS-232 a


9600 baudios
• Ocho líneas digitales de salida con niveles TTL (cuatro con acondicionamiento para
fibra óptica)
• Ocho entradas para monitoreo de señales analógicas en el rango de ± 5 volts con una
resolución de 2.44 mV
• Generación de secuencias de disparo por conteo de tiempo o por monitoreo de
señales analógicas retroalimentadas
• Ancho de pulso de las señales de control desde 1.38 µs hasta 8.19 ms, con una
resolución de 375 ns
• Operación en modo impulsional hasta 128 ciclos o en modo repetitivo continuo
• Generación de hasta 512 combinaciones de salida dentro un mismo ciclo de prueba
en modo impulsional

Se desarrollaron algoritmos en el lenguaje ensamblador del microcontrolador


PIC17C44 para ejecutar las siguientes funciones en el control digital:

• Comunicación serial RS-232 a 9600 baudios para la recepción de comandos y datos


de acuerdo a un protocolo propio
• Operación del hardware del control digital: memoria FIFO, conversión
analógico/digital, elementos de muestreo y retención y comparadores analógicos

116
Conclusiones

• Control de la salida de las señales de control por conteo de tiempo o por


interrupción de los comparadores analógicos
• Modo de prueba de hardware
• Modo de control de conmutación de dos interruptores
• Modo genérico de control

Como aportaciones relevantes del control digital se tienen:

• Capacidad para generar distintas secuencias de disparo con tiempos del orden de
microsegundos hasta milisegundos, en modo impulsional o repetitivo.
• Facilidad para definir parámetros de prueba y modificarlos sin tener que elaborar o
ajustar circuitos de control específicos.
• Flexibilidad para adaptarse a una amplia variedad de condiciones de prueba. En el
modo de operación genérico se pueden especificar secuencias de disparo arbitrarias
hasta para ocho dispositivos de potencia.
• Independencia de las características eléctricas específicas de los DSEP en el banco
de pruebas, asumiendo un acondicionamiento adecuado de las salidas digitales y de
las entradas analógicas.
• Operación robusta al tener un microcontrolador dedicado al secuenciamiento de las
señales de control, minimizando la posibilidad de fallas de operación por
alteraciones en el orden o en la duración de las secuencias de disparo que pudieran
tener efectos graves en los circuitos de potencia.

Las restricciones más importantes del sistema de control digital son:

• Cuando se realiza el conteo de tiempo por software en el control digital, la duración


mínima posible para una señal de disparo es de 1.38µs. Para tener señales más
breves se debe utilizar una variable analógica como consigna que limite la duración
de las señales de disparo.
• Al enviar la información de la secuencia de disparo al control digital, se establece un
orden fijo para los estados de encendido/apagado, una vez que la generación de las
señales de control se ha iniciado no se puede modificar la secuencia de las señales.

117
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

9.2 Interfaz de usuario, adquisición y tratamiento de señales


Las características del software de operación del sistema son:

• Interfaz gráfica de usuario para ambiente Windows


• Comunicación con el control digital por el puerto RS-232 de la PC a 9600 baudios
• Función de prueba de control digital
• Funciones para definición de secuencias de control
• Control de la tarjeta de Hewlett Packard HP82341A para la comunicación por un
bus GPIB
• Funciones de configuración y adquisición de datos con los osciloscopios digitales
TDS784A y TDS3054B de Tektronix
• Despliegue gráfico de las señales adquiridas y de las escalas de valores
• Tratamiento de señales: compensación en tiempo y offset, cálculos de potencia y
energía
• Cálculo y despliegue de las razones de cambio en puntos definidos por el usuario
• Generación y recuperación de archivos de datos que pueden ser utilizados por otras
herramientas de software

Como aportaciones relevantes del software de operación se tienen:

• Facilidad para definir las condiciones de prueba por medio de una interfaz gráfica
• Disminución del tiempo requerido para obtener los datos para la caracterización de
DSEP, gracias a la capacidad de adquisición y tratamiento de las mediciones
realizadas con un osciloscopio digital
• Las funciones de adquisición y tratamiento de señales son independientes de las
funciones del control digital.
• Complementa al sistema de control digital como herramienta para el análisis del
comportamiento de DSEP

Las principales restricciones en la operación de la interfaz de usuario son:

• La adquisición de datos en la PC implica que se tenga instalada una tarjeta de


comunicaciones HP82341A para la comunicación por el bus GPIB

118
Conclusiones

• Las funciones para manejo de archivos requieren que el usuario introduzca la


ubicación y nombre completo de los archivos de datos, las ventanas de diálogo
carecen de facilidades para el usuario como la exploración de subdirectorios o la
búsqueda por tipo de archivo.
• Para que los archivos de datos creados por el sistema sean compatibles con otras
herramientas de software, el usuario debe editar manualmente los encabezados de
los archivos, operación que no es compleja pero que impide la compatibilidad
directa.

9.3 Trabajos futuros


Para mejorar el sistema de control digital, adquisición y tratamiento de señales, se
pueden hacer ampliaciones en los siguientes aspectos:

• Incorporar funciones que permitan modificar (en tiempo de ejecución) el orden de


las señales dentro de una secuencia de control.
• Agregar más modos de conmutación específicos en el software del control digital y
en el menú de opciones de la interfaz de usuario.
• Mejorar la interfaz de usuario, particularmente para la presentación de las señales en
ventanas independientes y en la capacidad de manejo de archivos.
• Generar archivos directamente compatibles con Matlab y PSpice a elección del
usuario.
• Agregar funciones de comunicación con más instrumentos de medición, generadores
de funciones o fuentes de alimentación que tengan un puerto GPIB.
• Desarrollar un módulo de conversión al formato GPIB que se conecte al puerto
paralelo o serial de cualquier PC, de modo que el sistema de adquisición de señales
sea más portátil.

119
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

120
Referencias
[1] A. Claudio, M. Cotorogea, "Caracterización y Modelado de Dispositivos
Semiconductores de Potencia", 1er Seminario de Electrónica del CENIDET, Memoria
Técnica. Cuernavaca Morelos, México, 1998. pp 27 a 34.

[2] A. Camera, C. Crovetto et al, "Electrical and Thermal Characterization of High


Power Press-Packed IGBT", Power Semiconductors Italian Corporation,
www.poseico.com.

[3] H. Giessibl, "Power Testing, Static and Dynamic Parameter in One Handling",
Europe Official Proceedings of the 26th International Power Conversion Conference,
junio 1993.

[4] G. Cauffet, "Optimisation D’une Chaine de Mesures Electriques pour L’electronique


de Puissance", tesis doctoral, École Supérieure d’Ingénieurs de Marseille, 1992.

[5] Ebraim Farjah, "Contribution Aux Characterisations electrique et Thermique des


Transistors de Puissance a Grille Isolee", tesis doctoral, LEG, octubre 1994.

[6] A. Claudio S, "Étude Comportementale des IGBT Dans le Divers Modes de


Commutation", tesis doctoral, École Supérieure d’Ingénieurs de Marseille, noviembre
1995.

[7] D. Lafore, A. Claudio, E. Clavier, "How to Evaluate IGBT Characteristics in


Operating Conditions" Europe Official Proceedings of the 26th International Power
Conversion Conference, junio 1993.

[8] H. Güldner, N. Schmidt, "Unconventional Determination of Parameters for Magnetic


Components in Power Electronics", Power Conversion Proceedings, junio 1994.

[9] J. Aguayo, "Análisis Comparativo de Transistores IGBT tipo PT y NPT en Diferentes


Modos de Conmutación", tesis de maestría, Centro Nacional de Investigación y
Desarrollo Tecnológico. Cuernavaca, Morelos, México, abril 2000.

[10] M. A. Rodríguez, "Desarrollo e Implementación de un Procedimiento de Extracción


de Parámetros de un Modelo Físico del IGBT", tesis de maestría, Centro Nacional de
Investigación y Desarrollo Tecnológico. Cuernavaca, Morelos, México, junio 2001.

[11] J. Macedonio, "Análisis del Super Junction MOSFET Enfocado al Diseño de Fuentes
de Alimentación Altamente Eficientes", tesis de maestría, Centro Nacional de
Investigación y Desarrollo Tecnológico. Cuernavaca, Morelos, México, julio 2002.

121
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

[12] I. Alcalá, "Desarrollo e Implementación de un Banco de Pruebas para Caracterizar


Dispositivos de Alta Potencia", tesis de maestría, Centro Nacional de Investigación y
Desarrollo Tecnológico. Cuernavaca, Morelos, México, 2003.

[13] CREA Semiconductor Test Equipment, "MT System Product Description",


www.crea-test.com

[14] CREA Semiconductor Test Equipment, "DTS 2012T Semiconductor Test System
Product Description", www.crea-test.com

[15] Lorlin Test Systems, "7BT Discrete Semiconductor Testers", www.lorlin.com

[16] Lorlin Test Systems, "Double Impact Discrete Semiconductor Testers",


www.lorlin.com

[17] J. Aguayo, A. Claudio, M. Cotorogea, "Análisis Comparativo de Transistores IGBT


tipo PT y NPT en Conmutación Dura", CIECE 1999, Guanajuato, México.

[18] J. Aguayo, A. Claudio, M. Cotorogea, "Análisis Comparativo de Transistores IGBT


tipo PT y NPT en Cortocircuito", CIE 1999, México, D.F.

[19] P. Nájera, "Rectificador conmutado con corrección del factor de potencia y


conmutación suave cero tipo cuasirresonante a corriente cero", tesis de maestría,
Centro Nacional de Investigación y Desarrollo Tecnológico. Cuernavaca, Morelos,
México, 1997.

[20] D. Lafore, A. Claudio, J.P. Keradec, "Testing Power Components Soft and Hard
Switching", ESREF 93.

[21] Dallas Semiconductor, "Fundamentals of RS–232 Serial Communications", nota de


aplicación 83.

[22] J. Goldie, "Summary of Well Known Interface Standards" nota de aplicación 216 de
National Semiconductor. Enero 1996.

[23] W. Tomasi, "Electronic Communication Systems" 4a edición,. Ed. Prentice Hall,


2001. pp 535 ss.

[24] Tektronix Inc., "TDS Family Digitizing Oscilloscopes. Programmer Manual".

122
Apéndice 1

Diagramas eléctricos del control digital


y hojas técnicas de componentes

123
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

Figura A1.1. Conexión del microcontrolador a las etapas


de comunicación serial y memoria

124
Apéndice 1

Figura A1.2. Conexión de las etapas de conversión digital/ analógica,


muestreo y retención y comparación analógica

125
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

126
Apéndice 1

127
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

128
Apéndice 1

129
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

130
Apéndice 2

Código fuente del sistema de control digital

131
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

;*******************************************************************************************
; SCDATS.ASM SISTEMA DE CONTROL DIGITAL
;
; MANEJO BÁSICO DEL DAC, S&H y FIFO.
; CONTROL DE CONMUTACIÓN DOBLE.
; SECUENCIA GENÉRICA DE CONMUTACIÓN.
; ATENCIÓN A INTERRUPCIÓN DE COMPARADORES EN RA0.
; RECEPCIÓN DE COMANDOS VÍA SERIAL, 9600 bauds @32 MHz
; CADENAS DE COMANDOS:
; IDENTIFICADOR/COMANDO/OOH/CHKSUM
; IDENTIFICADOR/COMANDO/N_DAT/DATO_H/DATO_L/.../CHKSUM
;
;*******************************************************************************************

PROCESSOR 17C44

INCLUDE <P17C44.INC>
INCLUDE <SCDATS.INC>

__CONFIG _XT_OSC & _WDT_OFF & _MC_MODE

ORG 0
GOTO INICIO

; VECTOR DE INTERRUPCIONES:

ORG 0008h ; Interrupción externa en RA0.


GOTO RUT_INT0

ORG 0010h ; Atención a interrupción,


BCF T0STA,T0CS ; inhabilitación del Timer0.
RETFIE

ORG 0020h ; Interrupciones de periféricos.


GOTO RUT_INTPER

ORG 0030h
RESP_OK
DATA 0x7355 ; Respuesta de confirmación.

;--- PROGRAMA PRINCIPAL ---;

INICIO
MOVLR 1 ; Banco de RAM 1.

CALL INI_PUERTOS ; Inicia los puertos E/S.


CALL INI_SERIE ; Inicializa el puerto serie.

BCF ALUSTA,FS1 ; FSR0 se incrementa después de


BSF ALUSTA,FS0 ; cada acceso.

BCF ALUSTA,FS3 ; FSR1 se incrementa después de


BSF ALUSTA,FS2 ; cada acceso.

132
Apéndice 2

LAZO0
MOVLW LOW RESP_OK ; Carga el apuntador al mensaje
MOVWF TBLPTRL
MOVLW HIGH RESP_OK
MOVWF TBLPTRH

MOVLW 2
MOVWF LONG
CALL INI_XMT ; Transmite 2 bytes de mensaje inicial.
LAZO1
CALL PREP_RECEP ; Prepara la recepción.

MOVLB 0

LAZO2
TSTFSZ RECEP ; Espera hasta recibir un comando.
GOTO LAZO2

DECOD_COM ; Decodificación del comando recibido.

MOVLW ECO
CPFSEQ COMND
GOTO SIG_COM0
CALL TXM_RESP
GOTO LAZO1

SIG_COM0
MOVLW V_DAC ; Salida de voltaje en DAC.
CPFSEQ COMND
GOTO SIG_COM1
CALL VSAL_DAC
GOTO LAZO0

SIG_COM1
MOVLW ONDA_T ; Onda triangular de salida.
CPFSEQ COMND
GOTO SIG_COM2
CALL PBA_DAC
GOTO LAZO0

SIG_COM2
MOVLW HAB_SH ; Habilitación de S&H.
CPFSEQ COMND
GOTO SIG_COM3
CALL SEL_SH
GOTO LAZO0

SIG_COM3
MOVLW HAB_CM ; Habilitación de comparadores analógicos.
CPFSEQ COMND
GOTO SIG_COM4
CALL SEL_CMP
GOTO LAZO0

133
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

SIG_COM4
MOVLW E_FIFO ; Escritura de una trama a FIFO.
CPFSEQ COMND
GOTO SIG_COM5
CALL ESC_MF
GOTO LAZO0

SIG_COM5
MOVLW L_FIFO ; Lectura de un byte de FIFO.
CPFSEQ COMND
GOTO SIG_COM6
CALL LEC_MF
CALL TXM_RESP ; Regresa el valor leído de FIFO.
GOTO LAZO1

SIG_COM6
MOVLW CMDBt ; Conmutación doble.
CPFSEQ COMND
GOTO SIG_COM7
GOTO COM_DB

SIG_COM7
MOVLW CMDBx ; Conmutación doble con interrupción.
CPFSEQ COMND
GOTO SIG_COM8
COM_DB
MOVLW 0x0A
MOVWF IDENT
MOVLW COMND
MOVWF RXPTR
CALL TXM_RESP ; Responde con el número de datos recibidos.
CALL RuDOBt
GOTO LAZO1

SIG_COM8
MOVLW SECUG ; Secuencia genérica de conmutación.
CPFSEQ COMND
GOTO SIG_COMF
MOVLW 0x73
MOVWF IDENT
MOVLW COMND
MOVWF RXPTR
CALL TXM_RESP
CALL RuSECU

SIG_COMF
GOTO LAZO1 ; Regreso.

134
Apéndice 2

;-----------------------------------------------------------------------
; SUBRUTINAS
;-----------------------------------------------------------------------

; ESTADO INICIAL DE LOS PUERTOS DE ENTRADA/ SALIDA:

INI_PUERTOS

BSF T0STA,INTEDG ; Selección de flanco ascendente para interrupción en RA0.

MOVLW 0x0FF
MOVWF PORTB ; Todos los comparadores bloqueados.
CLRF DDRB ; Puerto B como salida.

MOVLB 1 ; Selección del banco 1.

; Puertos C, D, y E como salidas digitales.


CLRF PORTC ; Puerto C: Datos 0 a 7.
CLRF PORTD ; Puerto D: Datos 8 a 11 y control de FIFO en 0.

BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.

MOVLW 0x03
MOVWF PORTE ; Puerto E: Selectores de DAC, S&H en 1, latch de comparadores en 0.

CLRF DDRD
NOP ; Se activa primero el puerto de control de FIFO,
NOP
CLRF DDRE
NOP ; para evitar colisión con los datos.
NOP
CLRF DDRC

BSF PORTE,COMPS ; Pulso de captura en el latch de comparadores.


NOP
NOP
NOP
BCF PORTE,COMPS ; Inhibe el latch de comparadores.

BCF PORTD,RC_FIFO ; Control de lectura/escritura de FIFO en 0.


BCF PORTD,WC_FIFO

RETURN

;--------------------------------------------------------------

; CONFIGURACIÓN DEL PUERTO SERIAL.

INI_SERIE

MOVLB 0 ; Selección del banco 0.


MOVLW VEL_COM ; 9600 baudios @32 MHz.
MOVWF SPBRG

135
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

MOVLW 0x90 ; Pines para USART.


MOVWF RCSTA

CLRF TXSTA, F ; Inicia el estatus de transmisión.

MOVLB 1 ; Selección del banco 1


CLRF PIR, F ; Limpia las banderas de interrupción
CLRF PIE, F ; y sus bits de habilitación.

RETURN

;---------------------------------------------------------------

; PREPARA LA RECEPCIÓN DE DATOS POR EL CANAL SERIAL.

PREP_RECEP

MOVLB 1 ; Selección del banco de registros 1.

CLRF PIR, F ; Limpia las banderas de interrupción


CLRF PIE, F ; y sus bits de habilitación.
BSF PIE,RCIE ; Activa la interrupción por recepción.

MOVLW VECTOR ; Apunta al inicio del buffer de recepción


MOVWF RXPTR
CLRF INTSTA, F ; Limpia las interrupciones
BSF INTSTA,PEIE ; y habilita las de periféricos.

MOVLB 0
BSF RECEP,1

MOVLW 0x04
ADDLW VECTOR
MOVWF LONG ; Espera 4 bytes como trama mínima.

BCF CPUSTA,GLINTD

RETURN

;-------------------------------------------------------------------------

INI_XMT ; Inicia la transmisión.


MOVLB 0 ; Selección del banco de registros 0.

BSF TXSTA,TXEN ; Habilita la transmisión

LAZO_XMT
TABLRD 1,1,WREG ; Carga el registro
TLRD 1,TXREG ; Carga el byte alto

BUF_VAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO BUF_VAC

136
Apéndice 2

DECF LONG,F ; Decrementa el contador.

TLRD 0,TXREG ; Carga el byte bajo

BUFVAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO BUFVAC

DECFSZ LONG

GOTO LAZO_XMT

RETURN

;-----------------------------------------------------------------------------

; TRANSMISIÓN SERIAL DE UNA TRAMA DE RESPUESTA.

TXM_RESP

BSF CPUSTA,GLINTD ; Inhibe las interrupciones durante la respuesta.

MOVLB 0

MOVLW VECTOR ; Apunta al inicio del buffer de recepción


MOVWF FSR0

BCF ALUSTA,FS1
BSF ALUSTA,FS0 ; Incremento después de cada acceso.

MOVFP RXPTR,WREG ; Apuntador al fin del mensaje recibido.


INCF WREG,0

TX_BYTE
MOVFP INDF0,TXREG ; Carga el byte a transmitir.

REGVAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO REGVAC

CPFSEQ FSR0
GOTO TX_BYTE

RETURN

;-----------------------------------------------------------------------------

; SELECCIÓN DE VOLTAJE EN EL CONVERTIDOR DIGITAL/ANALÓGICO

VSAL_DAC
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.

137
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

CLRF DDRC ; Puerto C como salida.

MOVLW 0x0F
ANDWF DATO_H,F ; Enmascara el nibble más significativo.
BSF DATO_H,OE_FIFO ; Sigue inhabilitando las salidas de la FIFO.

MOVFP DATO_L,PORTC ; Escribe los datos al bus.


MOVFP DATO_H,PORTD

NOP
BCF PORTE,CS_DAC ; CS de DAC en nivel bajo.
NOP
BSF PORTE,CS_DAC ; CS en alto, DAC inhibido.

RETURN

;-----------------------------------------------------------------------------

; ONDA DE PRUEBA DE CONVERTIDOR DIGITAL/ANALÓGICO

; PONER OE DE FIFO SIEMPRE EN 1, CONTEO DE 8800 - 8FFF - 8000 - 8800

PBA_DAC
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.

CLRF DDRC ; Puerto C como salida.

CLRF DATO_L ; Ascenso inicial: 8800h a 8FFFh.


MOVLW 0x88
MOVWF DATO_H

V_ASC
CALL VSAL_DAC

INCFSZ DATO_L,F ; Incrementa el LSB.


GOTO V_ASC

INCF DATO_H,F ; Incrementa el MSB,


MOVLW 0x8F
CPFSGT DATO_H
GOTO V_ASC ; si no ha rebasado 8Fh, regresa.

MOVLW 0xFE ;Fase de descenso: 8FFEh a 8000h.


MOVWF DATO_L
MOVLW 0x8F
MOVWF DATO_H

V_DSC
CALL VSAL_DAC
DECFSZ DATO_L,F ;Decrementa el LSB.
GOTO V_DSC

138
Apéndice 2

DECF DATO_H,F ; Decrementa el MSB hasta llegar a 80h.


MOVLW 0x80
CPFSEQ DATO_H
GOTO V_DSC

V_ASF ; Ascenso final: 8000h a 8800h.


CALL VSAL_DAC

INCFSZ DATO_L ; Incrementa el LSB.


GOTO V_ASF

INCF DATO_H,F ; Incrementa el MSB.


MOVLW 0x88
CPFSEQ DATO_H ; Si no ha llegado a 88h, regresa.
GOTO V_ASF

CALL VSAL_DAC ; Salida final en 0 volts.

RETURN

;-----------------------------------------------------------------------------

; SELECCIÓN DE UN ELEMENTO DE MUESTREO Y RETENCIÓN.

SEL_SH
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.

CLRF DDRC ; Puerto C como salida.

MOVLW 0x07
ANDWF DATO_i,F ; Enmascara para dejar sólo 3 bits.

MOVFP DATO_i,PORTC ; Escribe los datos al bus.


NOP

BCF PORTE,INH_SH ; INH en nivel bajo.

MOVLW 0x16 ; Tiempo de adquisición de 7 us, .


ESP_SH
DECFSZ WREG
GOTO ESP_SH

BSF PORTE,INH_SH ; INH en alto, S&H inhibido.

RETURN

139
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

; SELECCIÓN DE COMPARADORES ANALÓGICOS:

SEL_CMP
MOVLB 0
MOVFP DATO_i,PORTB ; Habilita los comparadores.
NOP

MOVLB 1
BSF PORTE,COMPS ; Activa el latch?

MOVLW 0x16
ESP_CM
DECFSZ WREG
GOTO ESP_CM

BCF PORTE,COMPS ; Inhibe el latch?

RETURN

;-----------------------------------------------------------------------------

; ESCRITURA DE UNA TRAMA DE BYTES A MEMORIA FIFO:

ESC_MF
BSF CPUSTA,GLINTD ; Inhibe las interrupciones durante la escritura.

MOVLB 1
BCF PORTD,RS_FIFO
NOP
NOP
NOP
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BSF PORTD,RS_FIFO ; Saca a la FIFO del estado de Reset.

CLRF DDRC ; Puerto C como salida.

MOVLW DATO_i ; Apunta al primer byte de datos.


MOVWF FSR0

BCF ALUSTA,FS1
BSF ALUSTA,FS0 ; Incremento después de cada acceso.

MOVFP RXPTR,WREG ; Apuntador al fin del mensaje recibido.


DECF WREG,0

E_DATO
MOVFP INDF0,PORTC ; Escribe el byte al bus de datos.

BSF PORTD,WC_FIFO ; Flanco ascendente en WCLK.


NOP
BCF PORTD,WC_FIFO

CPFSEQ FSR0
GOTO E_DATO

140
Apéndice 2

MOVLB 0

RETURN

;-----------------------------------------------------------------------------

; LECTURA DE UN BYTE DE MEMORIA FIFO:

LEC_MF
MOVLB 1

MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP

BCF PORTD,OE_FIFO ; Activa las salidas de la FIFO.


NOP
NOP
BSF PORTD,RC_FIFO ; Flanco ascendente en RCLK.
NOP
NOP
BCF PORTD,RC_FIFO

MOVLW 0x04 ; Tiempo de establecimiento de FIFO:


T_EST DECFSZ WREG,0 ; 1.5 us
GOTO T_EST

MOVPF PORTC,COMND ; Lee el dato de la FIFO y lo coloca en el buffer.

MOVLW 0x0A
MOVWF IDENT
MOVLW COMND ; Transmite hasta el campo de comando
MOVWF RXPTR

RETURN

;--------------------------------------------------------------------------

; SUBRUTINA DE CONTROL DE CONMUTACIÓN DOBLE.

; IDENTIFICADOR/COMANDO/N_DAT/nEDOS/nCICS/DATO_H/DATO_L/.../CHKSUM

RuDOBt
BSF CPUSTA,GLINTD ; Inhabilitación general de interrupciones.

MOVLB 1

MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP

141
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

BCF PORTD,OE_FIFO ; Activa las salidas de la FIFO.

CLRF TMR0L
CLRF TMR0H ; Timer 0 inicializado en 00.

BCF INTSTA,T0CKIF ; Limpieza de las banderas de interrupciones.


BCF INTSTA,T0IF
BCF INTSTA,INTF

BSF INTSTA,T0IE ; Habilitación de interrupción


; por sobreflujo de Timer0.

MOVLW CMDBx ; ¿Comutación doble con interrupción?


CPFSEQ COMND
GOTO SIG_CIC

MOVLB 0 ; Banco 0 de registros.


BCF PORTB,0 ; Habilita el comparador 0.
NOP

MOVLB 1 ; Banco 1 de registros.


BSF PORTE,COMPS ; Espera y habilita el latch a la salida de los comparadores.
NOP
NOP
BCF PORTE,COMPS ; Bloquea el latch.
NOP

BSF INTSTA,INTE ; habilita la interrupción externa en RA0.

SIG_CIC
BCF CPUSTA,GLINTD ; Habilitación general de interrupciones.
BCF ALUSTA,Z ; Bandera de Cero en X!=0.

CALL CiDBt ; Control de conmutación doble.

SALR BSF CPUSTA,GLINTD ; Inhabilitación general de interrupciones.

BCF INTSTA,T0IE ; Inhabilitación de interrupción


; por sobreflujo de Timer0.

BCF INTSTA,INTE ; Inhabilitación de interrupciones externas.


BCF CPUSTA,GLINTD ; Habilitación general de interrupciones.

MOVLB 1
BSF PORTD,OE_FIFO ; Inactiva las salidas de la FIFO.

RETURN

142
Apéndice 2

; CICLOS DE SALIDA DE SEÑALES DE CONTROL:

CiDBt MOVLW TPROC ; Se carga el Apuntador a Procesos


MOVWF FSR1 ; en el incio de la tabla.

;Tabla de Procesos en RAM, de la localidad 30h a 34h.

MOVLW FASE1
MOVWF INDF1

MOVLW R_INTX
MOVWF INDF1

MOVLW FASE2
MOVWF INDF1

MOVLW FASE3
MOVWF INDF1

MOVLW FASE4
MOVWF INDF1

IniCi MOVLW TEMPi ; Se carga el apuntador a temporizaciones


MOVWF FSR0 ; en el inicio de la tabla.

MOVLW TPROC ; Se carga el Apuntador a Procesos


MOVWF FSR1 ; en el incio de la tabla.

;------ Estado inicial: interruptor auxiliar encendido, DUT apagado.

FASE0
BSF PORTD,RC_FIFO ; Flanco ascendente en RCLK.
BSF PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura.
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO ; Regreso de RCLK y WCLK al estado inactivo.

MOVPF INDF0,WREG ; Carga el tiempo de encendido auxiliar y espera.

BTFSC ALUSTA,Z
GOTO LTEMP0

PAUS0 DECFSZ WREG


GOTO PAUS0

MOVFP INDF1,PCL

;------ Cambio de estado: interruptor auxiliar y DUT apagados.

FASE1
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO

143
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO

MOVFP INDF1,WREG ; Incremento de FSR1 para apuntar a FASE2

R_INTX
BCF INTSTA,INTE ; Inhibe la interrupción externa en RA0.

MOVPF INDF0,WREG ; Carga el tiempo de preencendido y espera.

BTFSC ALUSTA,Z
GOTO LTEMP0

PAUS1 DECFSZ WREG


GOTO PAUS1

MOVFP INDF1,PCL

;------ Cambio de estado: interruptor auxiliar apagado, DUT encendido.

FASE2
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO

MOVPF INDF0,WREG ; Carga el tiempo de encendido del DUT y espera.

BTFSC ALUSTA,Z
GOTO LTEMP0

PAUS2 DECFSZ WREG


GOTO PAUS2

MOVFP INDF1,PCL

;------ Cambio de estado: interruptor auxiliar y DUT apagados.

FASE3
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO

MOVPF INDF0,WREG ; Carga el tiempo entre ciclos.

BTFSC ALUSTA,Z
GOTO LTEMP0

PAUS3 DECFSZ WREG


GOTO PAUS3

MOVFP INDF1,PCL

144
Apéndice 2

FASE4
MOVLW 0x00
CPFSEQ nCICS ; Verifica los ciclos pendientes.

DECFSZ nCICS
GOTO IniCi

RSETF ; Si terminó el ciclo de prueba


MOVLB 1
BSF PORTD,OE_FIFO ; inhibe las salidas de la FIFO,
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.

RETURN

;------ Subrutinas de Conteo Largo. ------------------

LTEMP0
MOVPF INDF0,TMR0L ; Para salir de siguientes estados
MOVPF INDF0,TMR0H

BSF T0STA,T0CS ; Habilitación de Timer0.

ESP0 BTFSC T0STA,T0CS


GOTO ESP0

MOVFP INDF1,PCL ; Regreso a la siguiente fase de la conmutación doble.

;-------------------------------------------------------------------------------

; SUBRUTINA DE SECUENCIA GENÉRICA DE CONTROL.

RuSECU
BSF CPUSTA,GLINTD ; Inhabilitación general de interrupciones.

MOVLB 1

MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP

BCF PORTD,OE_FIFO ; Activa las salidas de la FIFO.

CLRF TMR0L
CLRF TMR0H ; Timer 0 inicializado en 00.

BCF INTSTA,T0IF ; Limpieza de las banderas de interrupciones.


BCF INTSTA,INTF

BSF INTSTA,T0IE ; Habilitación de interrupción


; por sobreflujo de Timer0.

145
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

MOVLW SECGx ; ¿Comutación genérica con interrupción?


CPFSEQ COMND
GOTO SIG_CCL

MOVLB 0 ; Banco 0 de registros.


BCF PORTB,0 ; Habilita el comparador 0.
NOP

MOVLB 1 ; Banco 1 de registros.


BSF PORTE,COMPS ; Espera y habilita el latch a la salida de los comparadores.
NOP
NOP
BCF PORTE,COMPS ; Bloquea el latch.
NOP

BSF INTSTA,INTE ; Habilita la interrupción externa en RA0.

SIG_CCL
BCF CPUSTA,GLINTD ; Habilitación general de interrupciones.

MOVLW TEMPi ; Respalda el apuntador a temporizaciones.


MOVWF AP_TMP

MOVLW TPROC ; Respalda el apuntador a procesos.


MOVWF AP_PRO
MOVWF FSR1 ; Se carga el Apuntador a Procesos
; en el incio de la tabla.

MOVLW CMB_EDO ; Se guarda la posición de retorno de conteo largo.


MOVWF AP_NINT
MOVWF INDF1

MOVLW DECR2 ; Se guarda la posición de retorno de interrupción.


MOVWF AP_RINT
MOVWF INDF1

CISAL
MOVFP nEDOS,WREG ; Respalda el número de estados.
MOVWF nEDOx ; en el contador auxiliar.

MOVFP AP_TMP,FSR0 ; Se carga el apuntador a temporizaciones


; en el incio de la tabla.

BCF ALUSTA,Z ; Bandera de Cero en !=0.

; Estado inicial.
BSF PORTD,RC_FIFO ; Flanco ascendente en RCLK.
BSF PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura.
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO

CICLO
MOVFP AP_PRO,FSR1 ; Se carga el Apuntador a Procesos
; en el incio de la tabla.

146
Apéndice 2

MOVPF INDF0,WREG

BTFSC ALUSTA,Z
GOTO LTEMP0

DECR1
DECFSZ WREG,F
GOTO DECR1

MOVFP INDF1,PCL

CMB_EDO
BSF PORTD,RC_FIFO ; Cambio de estado
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO

DECR2 ; Verifica los estados pendientes del ciclo actual.


DECFSZ nEDOx,F
GOTO CICLO

DECFSZ nCICS,F ; Verifica los ciclos pendientes.


GOTO CISAL

RSTTR
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibe las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.

RETURN

;------ Subrutinas de conteo largo para secuencia genérica.

LTEMPG
MOVPF INDF0,TMR0L
MOVPF INDF0,TMR0H

BSF T0STA,T0CS ; Habilitación de Timer0.

ESPG BTFSC T0STA,T0CS


GOTO ESPG

MOVFP INDF1,PCL ; Regreso a la siguiente fase de la conmutación genérica.

147
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

;-----------------------------------------------------------------------------

; SUBRUTINAS DE ATENCIÓN A INTERRUPCIONES

;-----------------------------------------------------------------------------

; INTERRUPCIÓN EXTERNA EN RA0 :

RUT_INT0
BCF T0STA,T0CS ; Inhabilitación de Timer0.

BSF PORTE,COMPS ; Pulso de captura en el latch de comparadores.

MOVFP INDF1,WREG ; Incremento de FSR1 para apuntar


; al regreso después de interrupción.

BCF PORTE,COMPS ; Inhibe el latch de comparadores.

MOVLW 01h ; Contador de tiempo en 1.

RETFIE

;-------------------------------------------------------------------------

; RECEPCIÓN SERIAL:

RUT_INTPER

MOVLB 0 ; Banco 0

MOVLW IDENT
CPFSEQ RXPTR ; Si es el primer dato,
GOTO V_NDAT

MOVLW ID_TRM ; verifica el identificador,


CPFSEQ RCREG
GOTO FIN_RUT ; sale si no coincide,
GOTO REG_DREC ; almacena si el identificador es válido.

V_NDAT
MOVLW N_DAT ; Verifica si es el campo de longitud,
CPFSEQ RXPTR
GOTO REG_DREC ; si no es así, almacena el dato.

MOVFP RCREG,WREG ; Suma la longitud recibida


ADDWF LONG,F ; al contador de bytes por recibir.

REG_DREC
BSF ALUSTA,FS1 ; FSR no cambia al accesarlo.

MOVFP RXPTR,FSR0 ; Recupera el apuntador


MOVFP RCREG,INDF0 ; y almacena el valor recibido.
INCF FSR0, F ; Incrementa y respalda el apuntador.

148
Apéndice 2

MOVPF FSR0,RXPTR

MOVFP LONG,WREG
CPFSEQ RXPTR ; Se recibieron todos los datos?
GOTO FIN_RUT

FIN_RECEP
CLRF RECEP
CLRF INTSTA, F
MOVLB 1
BCF PIE,RCIE

FIN_RUT
RETFIE
;
;----------------------------------------------------------------------------------------------------------------------------------

END

;*******************************************************************************************
; SCDATS.INC
;
;IDENTIFICADORES PARA SCDATS.ASM
;
;*******************************************************************************************

; CONSTANTES:

#define CLKFREC 32000000


#define BAUDS 9600
#define VEL_COM (CLKFREC/(64*BAUDS))-1

ID_TRM EQU 73h ; Identificador de inicio de trama.

; Comandos:

ECO EQU 10h ; Respuesta a comando de prueba de comunicación serie.


V_DAC EQU 11h ; Selección de voltaje de salida del DAC.
ONDA_T EQU 12h ; Onda triangular de prueba en el DAC.
HAB_SH EQU 13h ; Habilitación de un elemento de muestreo y retención.
HAB_CM EQU 14h ; Habilitación de comparadores.
E_FIFO EQU 15h ; Escritura de una cadena de bytes en memoria FIFO.
L_FIFO EQU 16h ; Lectura de un byte de memoria FIFO.

CMDBt EQU 17h ; Control de conmutación doble.


CMDBx EQU 18h ; Conmutación doble con interrupción externa.
SECUG EQU 19h ; Secuencia genérica de control.
SECGx EQU 20h ; Secuencia de control con interrupción externa.

149
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia

; IDENTIFICADORES PARA MANEJO DE PUERTOS:

; PUERTO D:

RC_FIFO EQU 4
WC_FIFO EQU 5
RS_FIFO EQU 6
OE_FIFO EQU 7

; PUERTO E:

CS_DAC EQU 0
INH_SH EQU 1
COMPS EQU 2

;--------------------------------------------------------------------

; APUNTADORES EN EL BANCO 1 DE RAM:

LONG EQU 120h ; Tamaño de la trama a enviar o recibir.


RXPTR EQU 121h
RECEP EQU 122h
nEDOx EQU 123h
AP_TMP EQU 124h
AP_PRO EQU 125h
D_RET EQU 126h
AP_RINT EQU 127h
AP_NINT EQU 128h
TPROC EQU 130h ; Ubicación del Apuntador a la Tabla de Procesos.

; Buffer de comunicaciones:

VECTOR EQU 150h

; Trama de comando mínima:

IDENT EQU VECTOR ; Identificador.


COMND EQU VECTOR+1 ; Código de comando.
N_DAT EQU VECTOR+2 ; Número de bytes de datos.
BCOMP EQU VECTOR+3 ; Byte de comprobación.

; Posición de los datos:

DATO_i EQU VECTOR+3


DATO_L EQU VECTOR+3
DATO_H EQU VECTOR+4

nEDOS equ VECTOR+3 ; Número de estados de la secuencia por leer.


nCICS equ VECTOR+4 ; Número de ciclos de salida (repeticiones).
TEMPi equ VECTOR+5 ; Inicio de temporizaciones.

150