Documentos de Académico
Documentos de Profesional
Documentos de Cultura
S.E.I.T.
D.G.I.T.
cenidet
SISTEMA DE CONTROL DIGITAL PARA UN BANCO DE PRUEBAS DE DISPOSITIVOS ELECTRNICOS DE POTENCIA.
PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS EN INGENIERA ELECTRNICA P R E S E N T A : JAIME ADRIN OROZCO VALERA
DIRECTORES DE TESIS: DRA. MARA COTOROGEA PFEIFER DR. ABRAHAM CLAUDIO SNCHEZ
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 gua e inspiracin durante mi desarrollo profesional.
AGRADECIMIENTOS
Al Centro Nacional de Investigacin y Desarrollo Tecnolgico, CENIDET, por permitirme cursar mis estudios de maestra. Al Consejo Nacional de Ciencia y Tecnologa, CONACYT, y a la Secretara de Educacin Pblica, SEP, por el apoyo econmico otorgado para la realizacin de mis estudios. A mis asesores de tesis: Dra. Mara Cotorogea, Dr. Abraham Claudio Snchez, y a los revisores: M.C. Martn Gmez, Dr. Jaime Arau Roffiel, Dr. Rodolfo Echavarra, por sus valiosas aportaciones y ayuda para completar esta tesis. Al M.C. Guillermo Cahue Daz y al M.C. Carlos Ramrez Valenzuela, por su participacin en la fase inicial de este trabajo. A mis compaeros de trabajo en el grupo de medicin y en la Gerencia de Control e Instrumentacin del Instituto de Investigaciones Elctricas IIE, por el apoyo continuo. A los directivos de la Divisin de Sistemas de Control y de la Gerencia de Control e Instrumentacin del IIE, por todas las facilidades otorgadas. A Jess Aguayo Alquicira y a Ivn Alcal por su ayuda para la realizacin de las pruebas experimentales.
Contenido
Lista de figuras Lista de tablas Captulo 1 1.1 1.2 1.3 1.4 Captulo 2 2.1 2.2 2.3 Introduccin Antecedentes Esquemas de caracterizacin de semiconductores de potencia Estado del arte en sistemas de prueba comerciales Sistema de pruebas propuesto V IX 1 2 3 5 7 9 10 12 14 14 16 16 18 19 20 21 22 25 27 28 28 28 30 31 33 33 35 37 39 45 46 46 48 51
Modos bsicos de conmutacin y circuitos de prueba Curvas de salida de dispositivos MOS Conmutacin dura Conmutacin 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 Fenmeno de avalancha 2.6 Resumen comparativo
Captulo 3 Diseo del control digital 3.1 Especificaciones iniciales del control digital 3.2 Alternativas de implementacin 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 Diseo de hardware 3.3.1 Interfaz de comunicacin serial 3.3.2 Etapa de procesamiento 3.3.3 Etapa de memoria 3.3.4 Etapa de monitoreo de variables analgicas Captulo 4 Protocolo de comunicaciones 4.1 Formato de comunicacin serial 4.2 Formato de mensajes 4.2.1 Comandos y respuestas 4.2.2 Deteccin de errores
Software del control digital Estructura del software del control digital Generacin del cdigo Descripcin de rutinas del cdigo fuente 5.3.1 Definicin de constantes y variables 5.3.2 Programa principal 5.3.3 Inicializacin 5.3.4 Transmisin de respuestas 5.3.5 Manejo del hardware del control digital 5.3.6 Generacin de secuencias de control 5.3.7 Atencin a interrupciones
Captulo 6 Software de la interfaz de usuario 6.1 Estructura de la interfaz de usuario 6.2 Generacin del cdigo 6.3 Lista de subrutinas 6.3.1 Programa principal 6.3.2 Operacin del control digital 6.3.3 Comunicacin serial 6.3.4 Enlace a osciloscopio 6.3.5 Adquisicin de seales 6.3.6 Despliegue grfico 6.3.7 Tratamiento de seales 6.3.8 Manejo de archivos Captulo 7 Operacin de la interfaz de usuario 7.1 Submen "Principal" 7.1.1 Operacin del control digital 7.1.2 Enlace a osciloscopio digital y adquisicin de seales 7.1.3 Manejo de archivos 7.2 Submen "Ver" 7.3 Submen "Opciones" 7.3.1 Despliegue grfico 7.3.2 Tratamiento de seales 7.3.3 Valores instantneos 7.4 Submen "Ayuda" Captulo 8 8.1 8.2 8.3 8.4 Resultados experimentales Ambiente de pruebas Prueba en conmutacin dura Control de un inversor puente completo Control en lazo cerrado
II
Contenido
Apndice 1 Diagramas elctricos y hojas tcnicas de componentes Apndice 2 Cdigo fuente del sistema de control digital
III
IV
Lista de figuras
1.1. Esquema general del sistema de pruebas de DSEP 2.1. Circuito para la obtencin de las curvas de salida de MOSFETs 2.2. Secuencia de disparo y transitorios en la obtencin de las curvas de salida de dispositivos MOS 2.3. Circuito de prueba de DSEP en conmutacin dura y cortocircuito 2.4. Secuencia de disparo y transitorios de la prueba de DSEP en conmutacin dura 2.5. Circuito para la prueba de DSEP en conmutacin suave a voltaje cero 2.6. Secuencia de disparo y transitorios durante la prueba de DSEP en conmutacin suave a voltaje cero 2.7. Circuito para la prueba de DSEP en conmutacin suave a corriente cero, modo resonante 2.8. Secuencia de disparo y transitorios en la prueba de DSEP en conmutacin suave a corriente cero, modo resonante 2.9. Circuito para la prueba de DSEP en conmutacin suave a corriente cero, modo tiristor 2.10. Secuencia de disparo y transitorios en la prueba de DSEP en conmutacin suave a corriente cero, modo tiristor 2.11. Secuencia de disparo y transitorios durante la prueba de DSEP en cortocircuito tipo I 2.12. Secuencia de disparo y transitorios en la prueba de DSEP en cortocircuito tipo II 2.13. Circuito 1 para la prueba de dispositivos MOS en avalancha 2.14. Secuencia de disparo y transitorios durante la prueba de avalancha en dispositivos MOS 2.15. Circuito 2 para la prueba de dispositivos MOS en avalancha 2.16. Secuencia de disparo y transitorios en la prueba de avalancha de dispositivos MOS 3.1. Control digital basado en PC 3.2. Control digital basado en PC y microcontrolador 3.3. Arquitectura del sistema de control digital implementado 3.4. Conexiones del sistema de control digital 3.5. Disposicin fsica del conector DB9 3.6. Interfaz del microcontrolador al canal RS-232 3.7. Conexin entre el microcontrolador y la memoria FIFO de doble puerto 3.8. Conexin del DAC y los elementos de muestreo y retencin 3.9. Configuracin de los comparadores analgicos AD9698 3.10. Conexin de los comparadores analgicos 4.1. Transmisin serial de un byte de datos 4.2. Formato de comandos de la PC al control digital 4.3. Formato de respuestas del control digital 4.4. Mensaje de comando para generacin de voltaje en DAC 4.5. Respuesta genrica de confirmacin 4.6. Mensaje de comando sin datos 4.7. Mensaje de comando con un dato ndice
V
7 10 11 12 13 14 15 16 17 18 18 20 21 22 23 24 24 29 30 31 33 34 35 38 39 41 42 46 46 47 48 49 49 49
4.8. Comando de control de conmutacin 4.9. Definicin de tiempos de dos bytes 5.1. Estructura del software del sistema de control digital 6.1. Estructura de la interfaz de usuario 6.2. Ejemplo de una seccin de un archivo de datos 7.1. Submen principal 7.2. Submen para seleccin de puerto de comunicacin 7.3. Ventana de dilogo para prueba de control digital 7.4. Mensaje de error de enlace con el control digital 7.5. Submen para definicin de secuencias de control 7.6. Ventana de dilogo de control de conmutacin doble 7.7. Mensaje de error por parmetros fuera de rango 7.8. Mensaje de ayuda para control de conmutacin doble 7.9. Ventana de dilogo para secuencia de conmutacin genrica 7.10. Submen para seleccin de osciloscopio digital 7.11. Submen para configuracin de osciloscopio digital 7.12. Ventana de dilogo para configuracin de osciloscopio digital 7.13. Ventana de dilogo para configuracin de osciloscopio digital 7.14. Mensaje de error de comunicacin con el osciloscopio digital 7.15.Ventana de dilogo para adquisicin de seales 7.16.Submen de manejo de archivos 7.17.Ventana de dilogo de apertura de archivos 7.18.Ventana de dilogo de escritura de archivos 7.19. Submen de visualizacin de seales 7.20. Despliegue grfico de seales adquiridas 7.21. Submen de opciones de despliegue y tratamiento de seales 7.22. Ventana de dilogo para cambio de escalas de amplitud 7.23. Ventana de dilogo para cambio de los ejes de referencia 7.24. Ventana de dilogo para compensacin de seales 7.25. Ventana de dilogo para seleccin de seales para los clculos de potencia y energa 7.26. Submen Ayuda 7.27. Mensaje de gua de usuario 7.28. Ventana de informacin del sistema 8.1. Arreglo de pruebas del sistema de control digital, adquisicin y tratamiento de seales 8.2. Circuito de prueba para conmutacin dura 8.3. Parmetros para prueba en conmutacin dura 8.4. Seales de compuerta y voltaje colector-emisor de QAux y del DUT, corriente en la bobina de carga 8.5. Seal de compuerta, voltaje y corriente en el DUT 8.6. Flanco de encendido: seal de compuerta, voltaje y corriente en el DUT 8.7. Flanco de encendido: voltaje, corriente, potencia y energa disipada en el DUT 8.8. Flanco de apagado: Voltaje colector-emisor y corriente en el DUT 8.9. Voltaje, corriente, potencia y energa disipada en el DUT
50 50 54 68 75 78 78 79 81 81 82 83 83 84 86 86 87 89 89 90 91 91 92 93 93 94 94 95 96 96 97
VI
8.10. Circuito inversor monofsico puente completo 8.11. Seales de control y voltaje de salida en un inversor monofsico puente completo 8.12. Seales de control en un inversor monofsico puente completo 8.13. Definicin de la secuencia de control del inversor monofsico 8.14. Detalle de la seccin final de la tabla de estados de control 8.15. Seales generadas por el sistema de control digital para las conmutaciones en el inversor monofsico 8.16. Detalle del tiempo de espera entre las conmutaciones de dos dispositivos en una misma rama del inversor 8.17. Voltajes en los extremos de la carga conectada al inversor: unin Q0-Q1, unin Q2-Q3 y corriente en la carga 8.18. Circuito de prueba para control en lazo cerrado 8.19. Control en lazo abierto, Q0, Q1 y voltaje del condensador 8.20. Control en lazo cerrado, Q0, Q1 y voltaje del condensador 8.21. Seal de control Q1 y voltaje del condensador
106 106 107 108 108 109 109 110 111 112 112 113
VII
VIII
Lista de tablas
2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP 3.1.Especificaciones principales del estndar EIA/TIA-232-E 3.2.Comparacin de familias de microcontroladores 3.3. Asignacin de recursos del PIC17C44 3.4. Terminales principales de la memoria SN74ACT72211 3.5. Terminales principales del SMP08 4.1. Cdigos de comandos y respuestas 5.1. Cdigos de comandos 5.2. Identificadores para manejo de puertos digitales de salida 5.3. Apuntadores y variables en la memoria RAM del microcontrolador 5.4. Organizacin de los datos dentro del vector para almacenamiento de mensajes en memoria RAM 8.1. Resumen de estados para control del inversor monofsico 26 34 36 37 38 40 48 56 57 57 57 107
IX
CAPTULO 1
INTRODUCCIN
1.1 Antecedentes 1.2 Esquemas de caracterizacin de semiconductores de potencia 1.3 Estado del arte en sistemas de prueba comerciales 1.4 Sistema de pruebas propuesto
1.1 Antecedentes
Para la implementacin de circuitos electrnicos de potencia se usan dispositivos que no cumplen con las propiedades de un interruptor ideal: conmutacin instantnea y prdidas nulas. Una gran parte del diseo y dimensionamiento de los convertidores de potencia se basa en el estudio y la previsin del desempeo de los diferentes elementos que los componen (particularmente los semiconductores), requirindose un anlisis que contemple las caractersticas funcionales del convertidor y su interaccin con las propiedades reales de los dispositivos semiconductores de potencia (DSEP), donde se tomen en cuenta no slo los parmetros estticos de los semiconductores, como voltajes de saturacin o corrientes de fuga, sino tambin su respuesta ante los procesos de conmutacin que generan picos de disipacin de energa durante los eventos transitorios. Los parmetros estticos de un semiconductor de potencia no permiten hacer una prediccin precisa de su comportamiento durante los transitorios en la conmutacin, y los parmetros dinmicos estn sujetos a dispersin entre componentes en apariencia equivalentes, por lo que el modelado de las caractersticas elctricas de los DSEP requiere una forma de cuantificar parmetros dinmicos como son el tiempo de recuperacin, los tiempos de encendido y apagado, las razones de cambio de voltaje y corriente o la duracin de los picos de corriente en los cruces por cero, adems de estimar el esfuerzo al que se ven sometidos los dispositivos de potencia mediante la determinacin de la potencia disipada en ellos, en particular durante la conmutacin. 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 topologas [1]. Cuando se acoplan DSEP con distintas caractersticas dinmicas, se deben realizar pruebas para verificar la factibilidad de usar tales arreglos en la cobertura de las especificaciones de una aplicacin particular. Por lo anterior, es muy til contar con una metodologa para la caracterizacin precisa de los elementos a emplear en aplicaciones prcticas, lo que har posible la especificacin y seleccin adecuada de componentes, adems de permitir la evaluacin del compromiso entre el funcionamiento del circuito y las caractersticas reales de los dispositivos semiconductores de potencia utilizados en una situacin particular. Una tcnica confiable de modelado de componentes por simulacin numrica se debe apoyar en valores obtenidos experimentalmente, por lo tanto, es justificable la implementacin de un banco de pruebas de dispositivos semiconductores de potencia, que permita distintas condiciones de operacin que conduzcan a cuantificar y analizar los parmetros necesarios para realizar el modelado y caracterizacin de los componentes utilizados en electrnica de potencia. Una plataforma de pruebas para DSEP debe adems incorporar una serie de caractersticas como operacin automtica, versatilidad, rapidez, capacidad de evolucionar para adaptarse a nuevas necesidades y condiciones de operacin, de modo que pueda cubrir una amplia gama de aplicaciones. Una forma de lograr tal nivel de funcionalidad es la utilizacin de las tcnicas y herramientas de electrnica digital en la coordinacin de las distintas funciones de un banco de pruebas.
Introduccin
Se pueden destacar algunos aspectos de los trabajos anteriores: Los circuitos de prueba son rgidos, esto es, las etapas de potencia y de control estn especficamente diseadas para una aplicacin, un tipo de componente, un rango de potencia, de frecuencia o un modo de conmutacin particular. En la mayora de los casos el circuito de potencia usado para las pruebas opera en modo repetitivo, lo que permite condiciones de operacin cercanas a las de una aplicacin 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 operacin. Slo en [6] y [7] se ha trabajado en el modo impulsional, que comprende un solo ciclo de operacin. En los casos reportados no se menciona la implementacin de un esquema flexible que permita, a travs de algn mecanismo de interfaz con el diseador, 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 aplicacin quedan acotadas dentro de un rango definido. En el caso del tratamiento de seales, inherente a un osciloscopio digital, que complejo como el de Testsysteme [3]. asistido por una computadora permitira por tanto anlisis ms precisos. se suele utilizar la capacidad de clculo suele ser limitada, o un sistema dedicado No se utiliza un sistema de mediciones realizar procesamientos ms complejos y
Un sistema de mediciones asistido por una computadora permitira realizar procesamientos ms complejos, y por tanto anlisis ms precisos, de las seales que se obtienen en las pruebas de los componentes de potencia. Esto se ha hecho en la determinacin de parmetros de componentes magnticos en la Dresden University of Technology [8], donde se utiliz una computadora personal para la obtencin de las curvas caractersticas de histresis de materiales magnticos a partir de mediciones realizadas con un osciloscopio de almacenamiento digital. Las tecnologas de fabricacin de semiconductores siguen evolucionando y con esto se mejoran sus caractersticas y desempeo, sin embargo, de trabajos recientes se desprende que la problemtica asociada a la caracterizacin de los semiconductores de potencia est vigente y tiene una alta relevancia dentro del diseo eficiente de circuitos electrnicos de potencia [9], [10], [11], [12].
Introduccin
CREA Semiconductor Test Equipments La serie de sistemas MT est integrada por una familia de equipos para la prueba y medicin de parmetros elctricos. Est diseada principalmente para cubrir requerimientos de produccin, pero tambin es adecuada para su uso en laboratorios. Se puede utilizar para la evaluacin de diversos componentes semiconductores como diodos rectificadores, SCRs, TRIACs, MOSFETs, IGBTs y otros. Los parmetros elctricos que tpicamente se miden durante las pruebas son: voltaje de bloqueo, cada de voltaje en conduccin, fugas de corriente, aislamiento, impulsos de voltaje inverso y parmetros de compuerta como la corriente mnima para encendido, voltaje mnimo 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 genrica denominada estacin de programacin, a la que se conecta por va serial.
El hardware y software son modulares y configurables, permitiendo implementar diferentes topologas de prueba e incorporar funciones adicionales como generacin de formas de onda, adicin de mdulos de adquisicin, conexin a matrices para mltiples dispositivos, integracin de mecanismos de automatizacin, conexin en red o la inclusin de un panel de control remoto. La interfaz de usuario es grfica y permite la introduccin y depuracin de programas de prueba, almacenamiento y recuperacin de los mismos, definicin de las condiciones aprobacin-falla, despliegue y registro de resultados, impresin de reportes y clculos estadsticos.
Lorlin Test Systems Sus equipos de prueba pueden utilizarse con dispositivos semiconductores discretos de seal pequea o de potencia, los sistemas pueden configurarse para operar con hasta cinco estaciones de prueba, en modos manuales o automatizados. La estacin 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 estacin, o para la visualizacin de registros de datos en cada una. La variedad de estaciones de prueba disponibles, permite la adaptacin a distintas aplicaciones de manufactura o de evaluacin de componentes, como inspeccin, pruebas de produccin o finales, verificacin de obleas, control de calidad y caracterizacin de componentes. Los sistemas de prueba permiten analizar y evaluar las caractersticas elctricas de dispositivos de seal mezclada, elementos lineales, digitales, optoelectrnicos, 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 anlisis paramtricos tpicos en DC y AC, adems de pruebas dinmicas como tiempos de conmutacin y de recuperacin. El sistema permite integrar y/o interconectar instrumentos de medicin y prueba a sus equipos para realizar pruebas especiales como capacitancias, cargas inductivas o resistividad de alta precisin en conjunto con los parmetros de prueba nominales. Los sistemas comerciales anteriormente descritos, presentan los resultados de las pruebas en forma de tablas con los valores de cada parmetro medido, con facilidades de anlisis estadsticos o de comparacin entre varios componentes muestreados dentro de un mismo lote, funciones orientadas a pruebas de volumen del tipo aceptacin-rechazo, ms que a la caracterizacin 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 operacin diferentes dada la configuracin automtica del hardware en cada prueba, pero por otra parte esta complejidad tiene un impacto directo en el precio de los equipos (50,000 dlares como punto de partida para el modelo bsico de Lorlin), lo que los hace imprcticos para su uso con fines de investigacin fuera de un entorno industrial.
Introduccin
El secuenciamiento de las seales de control se efecta de acuerdo a los parmetros requeridos por el modo de operacin 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 funcin principal de ser el mecanismo de interfaz con el usuario, y despus se envan al control digital para su ejecucin. Los circuitos de prueba constituyen la etapa de potencia del banco de pruebas, donde se conectarn fsicamente los dispositivos que sern sometidos a evaluacin. La implementacin de dichos circuitos de prueba no est incluida dentro del presente trabajo, pero el sistema digital est diseado 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 conmutacin 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 operacin de la etapa de potencia del banco de pruebas son: Modo impulsional. El DUT es sometido a un nmero limitado de ciclos de operacin. Tiene la finalidad de limitar la energa demandada a la alimentacin del sistema y hacer posible la realizacin pruebas en condiciones extremas o en cortocircuito, experimentos que de otro modo no seran viables. Modo repetitivo. El DUT opera en ciclos continuos de funcionamiento, lo que permite efectuar el anlisis de los circuitos de potencia en condiciones ms cercanas a las de una aplicacin real. Para la adquisicin de las seales que lleven a caracterizar el desempeo 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 slo para la configuracin del control digital, sino tambin para el registro de las mediciones. Una vez que se tienen los resultados de las pruebas en la PC, es posible hacer un tratamiento bsico de las seales muestreadas para compensar los errores de medicin inherentes al osciloscopio, como pueden ser el offset o los retardos producidos por las puntas de medicin, adems del clculo de la potencia y energa disipadas, la visualizacin de las seales y la formacin de archivos de datos que permitan la posterior reconstruccin del comportamiento del DUT.
CAPTULO 2
MODOS BSICOS DE CONMUTACIN Y CIRCUITOS DE PRUEBA
2.1 Curvas de salida de dispositivos MOS 2.2 Conmutacin dura 2.3 Conmutacin 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 Fenmeno de avalancha 2.6 Resumen comparativo
En este captulo se presentan algunos de los circuitos de prueba que se han desarrollado para la caracterizacin experimental de DSEP en distintos modos de conmutacin, en particular se hace nfasis en su funcionamiento con respecto a la secuencia de las seales que controlan el encendido-apagado de los interruptores de potencia, dado que la funcin principal del control digital es la generacin correcta de estas seales. Por simplicidad en los diagramas esquemticos, se omite la representacin de los elementos parsitos en los conductores (que s se consideran en los procedimientos de caracterizacin experimental), y los circuitos impulsores que se requieren para encender y apagar correctamente cada IGBT. Explicaciones ms exhaustivas de los circuitos analizados, de los fenmenos fsicos que se presentan durante las conmutaciones, as como de los parmetros del DUT que se obtienen con cada prueba se encuentran en [9], [10], [11].
10
Figura 2.2. Secuencia de disparo y transitorios en la obtencin de las curvas de salida de dispositivos MOS
A continuacin se describen brevemente las fases de la prueba para la obtencin de las curvas de salida. En este y todos los casos siguientes se asume que como condicin 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 tambin circula por el dispositivo a caracterizar. Esta condicin 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 conmutacin suave despus de que la corriente a travs del dispositivo llega a cero. t4: Se apaga el interruptor auxiliar para regresar a las condiciones iniciales. En resumen, realizar una prueba para la obtencin de las curvas de salida implica el control de dos interruptores de potencia con cuatro combinaciones diferentes de encendidoapagado, que para propsitos del control digital se consideran cuatro estados de salida con un tiempo de activacin especfico para cada uno.
11
El circuito en la Figura 2.3 tiene la caracterstica adicional de permitir la ejecucin de pruebas en cortocircuito con slo cambiar la secuencia de activacin de los dispositivos auxiliares, QAux1 y QAux2 [18]. Para las pruebas en conmutacin dura, slo 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 unin del DUT durante la fase previa a su conmutacin, puesto que la corriente de arranque circula por los elementos auxiliares antes de dirigirla hacia el DUT. Una consideracin prctica en la implementacin del circuito de prueba es emplear un inductor de carga de magnitud grande para que la corriente se mantenga aproximadamente constante durante la conmutacin. Con esto tambin se logra que la resistencia parsita del inductor (Rind) sea pequea. Los eventos que se presentan durante las pruebas en conmutacin dura se muestran en la Figura 2.4. Las formas de onda marcadas como QAux1, QAux2 y DUT representan en forma respectiva las seales 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 travs del componente a caracterizar.
12
Para propsitos de anlisis y caracterizacin de los DSEP, existen varias zonas de inters en las seales mostradas en la Figura 2.4, sin embargo, slo se han marcado explcitamente 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 seales de control. La operacin del circuito de prueba es como sigue: t1: Se enciende QAux2. En L circula una corriente que se incrementa en forma lineal. Los dems 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 prdidas se deben a la resistencia parsita del inductor y a las prdidas por conduccin en el diodo de libre circulacin. t3: Se enciende el DUT. En este momento se presenta el transitorio de encendido en conmutacin dura. t4: Se apaga el DUT. Se presenta la conmutacin 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 parsita de los conductores utilizados.
13
Figura 2.5. Circuito para la prueba de DSEP en conmutacin suave a voltaje cero
14
La secuencia de encendido de los dispositivos empleados, y las seales caractersticas de la conmutacin suave ZVS se muestran en la Figura 2.6.
Figura 2.6. Secuencia de disparo y transitorios durante la prueba de DSEP en conmutacin suave a voltaje cero Las principales etapas de la prueba son: t1: Se enciende QAux. La corriente en L vara 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 circulacin 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 an circula por el diodo, el DUT entra efectivamente en conduccin 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 conmutacin dura. Se observa que las seales que controlan el encendido-apagado de los interruptores durante la conmutacin suave ZVS, Figura 2.6, tienen la misma secuencia de la prueba de conmutacin 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
2.3.2.1 Modo resonante En la Figura 2.7 se muestra un arreglo que reproduce el fenmeno de resonancia que se presenta en un circuito de aplicacin: 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 crticos en el diseo de este circuito de prueba son los valores de Lr y Cr. El diodo en antiparalelo con el DUT debe presentar una rpida recuperacin inversa y un valor mnimo de capacitancia y resistencia parsita. En la Figura 2.8 se muestran las seales de disparo de los DSEP en el circuito de prueba, adems de la corriente del inductor, la corriente de colector y el voltaje colectoremisor del DUT. A continuacin se describen las diferentes etapas de la prueba.
Figura 2.7. Circuito para la prueba de DSEP en conmutacin suave a corriente cero, modo resonante
16
Figura 2.8. Secuencia de disparo y transitorios en la prueba de DSEP en conmutacin 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 condicin 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 duracin 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 travs del inductor resonante decrece linealmente hasta un valor igual a la corriente de referencia. La corriente a travs del DUT crece brevemente en forma lineal y despus 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 recuperacin de bloqueo. t4: Se apaga el DUT en conmutacin suave. De este modo el DUT bloquea la corriente cuando una resonancia positiva debera 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 seales que controlan el encendido-apagado de los interruptores durante la conmutacin suave ZCS en modo resonante, siguen la misma secuencia de la prueba en conmutacin dura y de la prueba en conmutacin suave a voltaje cero, por lo tanto, los requerimientos del control digital son equivalentes para estos casos.
17
2.3.2.2 Modo tiristor En el circuito de prueba modo tiristor, Figura 2.9, se obtiene la conmutacin suave modificando la pendiente de la tensin. 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 conmutacin suave a corriente cero, modo tiristor En la Figura 2.10 se muestran las seales de disparo de los dispositivos empleados y las formas de onda tpicas de esta prueba, seguida de una breve explicacin de sus etapas.
Figura 2.10. Secuencia de disparo y transitorios en la prueba de DSEP en conmutacin suave a corriente cero, modo tiristor
18
t1: Se enciende el DUT. La corriente que circula por el DUT crece linealmente. La corriente no circula solo por L, sino tambin por el condensador de ayuda a la conmutacin Caux y la resistencia limitadora de corriente Rlim. Esta condicin debe mantenerse hasta que Caux llegue a su carga completa. t2: Se enciende QAux, el DUT permanece en conduccin. Dado que el condensador Caux tiene su carga mxima 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 despus que deja de conducir. QAux permanece encendido. Rlim disipa la energa 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 conmutacin suave a corriente cero y el DUT presenta una cola de corriente que aumenta las prdidas en este tipo de conmutacin.
La secuencia de activacin de QAux y del DUT es similar al caso de obtencin 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 operacin no muy distinto de los casos hasta aqu analizados.
2.4 Cortocircuito
Durante la operacin normal de los DSEP no es deseable que se presenten condiciones de cortocircuito, sin embargo, con fines de caracterizacin y de diseo 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
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 condicin de cortocircuito en la carga. No hay flujo de corriente dado que el DUT no est conduciendo. t2: Se enciende el DUT, QAux1 contina encendido. En este instante se da la condicin de cortocircuito. La cada de tensin que se observa en VDUT se debe a los elementos parsitos del cableado. t3: Se apaga el DUT despus de un tiempo del orden de 5 a 10 s para evitar que se dae permanentemente [18]. QAux1 se mantiene encendido. En este momento se presenta el transitorio de apagado del DUT y una sobretensin entre su colector y emisor ocasionada por la inductancia parsita del cableado en el circuito de prueba. t4: Se apagan todos los interruptores de potencia en el circuito. De la descripcin 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
Figura 2.12. Secuencia de disparo y transitorios en la prueba de DSEP en cortocircuito tipo II A continuacin se describen las etapas de esta prueba. t1: Se enciende QAux2. Se incrementa linealmente la corriente IL a travs 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 prdidas se deben a la resistencia parsita del inductor y a las prdidas por conduccin en el diodo de libre circulacin. t3: Se enciende el DUT en conmutacin dura. t4: Se enciende QAux1 para generar un cortocircuito en la carga, el DUT entra entonces en la condicin de cortocircuito tipo II.
21
t5: Se apaga el DUT desde de la condicin de cortocircuito. Aqu se produce una sobretensin en las terminales del DUT debido a la energa almacenada en la inductancia parsita de cableado. t6: Se apaga QAux1 para finalizar la prueba.
La prueba en cortocircuito tipo II es un caso ligeramente ms complejo para el control digital, pues se tienen seis estados de salida que involucran a los tres DSEP del circuito de prueba.
22
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 energa almacenada en el inductor es suficiente para provocar el fenmeno de avalancha. Ambos interruptores estn encendidos, as que el tiempo de esta condicin debe ser corto para evitar el calentamiento del DUT. t3: Se apagan el DUT y QAux. El inductor queda en circuito abierto y la energa 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 fenmeno de avalancha slo en el DUT. Existe un circuito de prueba alternativo que permite un mejor control de la experimentacin con el fenmeno 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 energa a un inductor de carga, y un diodo D que tiene la funcin de cerrar el circuito para la circulacin de corriente cuando QAux1 se apaga, desconectando la fuente de alimentacin 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, reducindose el aumento de la temperatura de unin durante la prueba.
23
El control de los interruptores de potencia en este circuito de prueba y las variables relevantes se presentan en la Figura 2.16.
24
La prueba se desarrolla como se describe a continuacin: 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 travs del DUT. Si la corriente es mayor que la corriente de saturacin del dispositivo (para el valor de tensin de compuerta utilizado en la prueba) el voltaje a travs del DUT se incrementar hasta su valor de ruptura y se presentar el fenmeno de avalancha. t4: Se enciende QAux2 para hacer pasar por l la corriente restante y evitar sobrecalentar el DUT por la presencia simultnea de VDUT e IDUT elevados. t5: Se apaga el DUT cuando ya est sometido a una corriente y tensin reducidas. Esta prueba involucra una secuencia de estados encendido-apagado diferente a las anteriores: QAux2 es activado en dos momentos separados del ciclo de operacin, lo que no ocurre en los restantes procedimientos donde a cada DSEP, auxiliar o bajo prueba, le corresponde slo un instante de conduccin en el proceso de caracterizacin experimental.
25
Tabla 2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP
Interruptores
Prueba
Avalancha con circuito 1 Curvas de salida Conmutacin dura Conmutacin suave ZVS Conmutacin suave ZCS en modo resonante Conmutacin suave ZCS en modo tiristor Cortocircuito tipo I Cortocircuito tipo II
* Encendido
- Apagado
QAux DUT QAux DUT QAux DUT QAux DUT QAux DUT QAux1 QAux2 DUT QAux1 QAux2 DUT
0 * *
1 * * * *
2 3 4 5 * - -
* - - - - * * * * * * * * * * *
Cambio del estado 1 al 2 despus de que la corriente en el DUT es cero Duracin del estado 1 del orden de 5 a 10 s para no daar al DUT * * Cambio del estado 0 al 1 por nivel de la - - corriente en la bobina de carga * - -
* - - - - - Cambio del estado 0 al 1 por nivel de la corriente en la bobina de carga * * - * * Duracin del estado 2 del orden de s - * * * * para no daar al DUT
26
CAPTULO 3
DISEO DEL CONTROL DIGITAL
3.1 Especificaciones iniciales del control digital 3.2 Alternativas de implementacin 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 Diseo de hardware 3.3.1. Interfaz de comunicacin serial 3.3.2. Etapa de procesamiento 3.3.3. Etapa de memoria 3.3.4. Etapa de monitoreo de variables analgicas
27
28
En la Figura 3.1 se presenta la arquitectura de un sistema insertable al bus ISA de una PC que permite el secuenciamiento de seales digitales controladas por tiempo.
La conexin con el bus interno de la PC permite que desde la computadora se puedan manejar directamente todos los componentes del sistema: Decodificacin de puertos y buffer de seales. Estas etapas responden a las seales de control en el bus ISA para activar individualmente a los dems elementos, adems de extender el bus de datos de la PC. Temporizadores programables. Existen circuitos integrados que incluyen uno o ms temporizadores binarios diseados 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 operacin, como el conteo de intervalos de tiempo, la generacin de seales 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 seales 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
El esquema anterior tiene la ventaja de aprovechar las facilidades de programacin de los lenguajes de alto nivel en la elaboracin del software operativo, pero se necesita un temporizador para cada uno de los tiempos involucrados en un ciclo de operacin y esto limita la cantidad de estados que se pueden definir en una secuencia de prueba.
30
En el arreglo de la Figura 3.2 la PC se utiliza como medio de introduccin de parmetros y despliegue de informacin, 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 seales 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.
A continuacin se describen las funciones de las etapas mostradas en la Figura 3.3 Acoplamiento RS-232. Acondiciona los niveles elctricos de las seales entre la PC y el control digital, de acuerdo al estndar de comunicacin serial RS-232. Microcontrolador. Es el elemento principal del sistema de control, se encarga de decodificar y verificar la validez de la informacin que recibe de la PC, manejar el convertidor digital/analgico (DAC) y los elementos de almacenamiento de los valores analgicos 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 seales 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 simultneamente se puedan escribir y leer datos en forma secuencial sin necesidad de lneas 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/analgico, elementos de muestreo y retencin y comparadores analgicos. Para controlar adecuadamente algunas secuencias de prueba puede ser necesario retroalimentar las variables en el circuito de potencia hacia el sistema de control. Normalmente slo se requiere conocer cuando alguna de las seales monitoreadas ha alcanzado un valor de referencia previamente definido, este proceso se efecta ms rpido si se utilizan comparadores analgicos de voltaje en lugar de medir los valores instantneos, digitalizarlos y realizar comparaciones binarias de magnitud para cada seal de entrada. Con el convertidor digital/analgico se pueden generar voltajes proporcionales a los valores de consigna definidos en la PC, cada voltaje se almacena en un dispositivo de muestreo y retencin (SH, sample and hold) y se compara analgicamente con la seal 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 seccin es la que finalmente se consider ms adecuada para el sistema de control digital, ya que en las PC actuales se tienen disponibles uno o dos puertos seriales mientras que la utilizacin del bus paralelo ISA tiende a desaparecer. Con la estructura mostrada en la Figura 3.3 se construy otro prototipo cuyos detalles de implementacin se describen en las siguientes secciones.
32
Para la conexin con la PC se utilizan tres de las seales disponibles en el puerto RS-232, tenindose una seal para habilitar al sistema de control digital adems de las lneas de transmisin y recepcin de datos. Las salidas digitales de control, Q0 a Q7, son las que proveen las seales de disparo para la activacin de los DSEP. Las seales analgicas a monitorear se realimentan hacia el control digital en sus entradas In0 a In7. Aunque la funcin del DAC en el control digital (Figura 3.3) es generar voltajes internos de referencia, como se describi en la Seccin 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 implementacin del hardware que compone al sistema de control digital. Para propsitos de la descripcin funcional del sistema se muestran diagramas simplificados de cada etapa, en el Apndice 1 se incluyen los diagramas esquemticos completos del sistema de control digital.
33
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 estndar EIA/TIA-232-E. Tabla 3.1.Especificaciones principales del estndar EIA/TIA-232-E Parmetro Tasa mxima de datos Razn de cambio mxima Voltajes de salida en los drivers (con carga de 3k) Voltaje de salida en circuito abierto Corriente en cortocircuito Resistencia de salida de los drivers Resistencia de entrada en los receptores Mximo voltaje de entrada en los receptores Umbral de recepcin Cableado entre transmisor y receptor Valor 20 kbps 30 V/s |5 V| |25 V| |100 mA| 300 3 k a 7 k 25 V 3V 15 m 2500 pF
En el estndar EIA/TIA-232-E se incluye la definicin funcional de las seales de datos, control y temporizacin que permiten la comunicacin por un canal primario y uno secundario [20]. Sin embargo, pocas aplicaciones requieren de las 25 lneas definidas, de ah que el conector de 25 terminales que tambin se especifica en el estndar sea poco comn y que en su lugar se utilicen diversos conectores adecuados a cada aplicacin. En la Figura 3.5 se muestra la distribucin fsica de las seales presentes en un conector tipo DB9, seleccionado para la comunicacin con el control digital por ser de los ms utilizados y encontrarse prcticamente en todas las PC.
Figura 3.5. Disposicin fsica del conector DB9 El conector DB9 contiene las 8 lneas necesarias para operar un mdem tpico, pero en el caso ms simple se pueden emplear slo las seales de datos y la referencia sin ningn arbitraje adicional. Para la comunicacin entre la PC y el control digital (Figura 3.4) se utilizan las siguientes lneas:
34
RD. Recepcin de datos en la PC. TD. Transmisin de la PC hacia el control digital. DTR. Habilitacin del sistema de control digital. GROUND. Referencia comn 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 seales TTL del microcontrolador a la magnitud de voltaje del canal RS-232, como se muestra en la Figura 3.6.
Se identificaron diversas familias de microcontroladores que cubren los anteriores requerimientos de perifricos y lneas de entrada/salida. En la Tabla 3.2 se resumen sus principales caractersticas.
35
Tabla 3.2.Comparacin de familias de microcontroladores Microcontrolador 80C251 (Intel) DS80C310/320 DS8xC520 (Dallas Semiconductors) 68HC08 (Motorola) TMS370 (Texas Instruments) PIC17C4x (Microchip) Frecuencia mxima 16 MHz 33 MHz 8 MHz 5 MHz 33 MHz Lneas E/S 32 32 50 22 a 55 33 Temporizadores Puerto serial 3 de 16 bits 3 de 16 bits 6 de 16 bits 2 de 16 bits 2 de 8 bits 2 de 16 bits 2 USART SCI / SPI SCI / SPI USART / SCI
El proceso crtico a ejecutar en el microcontrolador es el conteo de intervalos de tiempo, ya sea por decrementos cclicos de una variable o por interrupcin de un temporizador. As, la comparacin entre los microcontroladores evaluados se bas en la eficiencia con que se pueden implementar tales procesos, considerando el nmero 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 ejecucin de las mismas. Despus de simular rutinas de conteo de tiempo y atencin a interrupciones, se seleccion el microcontrolador PIC17C44 por ofrecer el mejor compromiso entre eficiencia y facilidad de implementacin del cdigo con las herramientas de desarrollo disponibles. Las principales caractersticas de este dispositivo se listan a continuacin: procesador RISC de arquitectura Harvard bus interno de instrucciones de 16 bits, bus de datos de 8 bits segmentacin encauzada (pipeline) de dos niveles 8 kbytes de EEPROM, 454 bytes de RAM ciclos de instruccin de 125 ns, operando a una frecuencia de 32 MHz 33 lneas de entrada/ salida programables individualmente temporizadores de 8 y 16 bits USART/SCI interno
En la Tabla 3.3 se presenta la asignacin de los recursos de hardware del microcontrolador en relacin con los dems elementos del control digital.
36
Tabla 3.3. Asignacin de recursos del PIC17C44 Puerto digital A B C D Lneas utilizadas RA0 RA4, RA5 RB0 - RB7 RC0 - RC7 RD0 - RD3 RD0 - RD2 RE0 E RE1 RE2 Funcin Entrada para interrupcin externa Canal de comunicacin serial Salidas para habilitacin de comparadores analgicos Bus de datos de 8 bits para lectura y escritura de FIFO, parte menos significativa del bus de 12 bits hacia el DAC Parte ms significativa del bus de 12 bits hacia el DAC Salidas para seleccin individual de elementos SH Habilitador de DAC Habilitador de SH Habilitador del registro de salida de los comparadores analgicos
La capacidad de la memoria hace posible la definicin 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 esttico completo. El nmero 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
Tabla 3.4. Terminales principales de la memoria SN74ACT72211 Terminal D0 D8 Q0 Q8 RCLK WCLK RS OE Descripcin Entrada de datos Salida de datos Entrada de reloj de lectura, un flanco ascendente en esta terminal produce la salida del siguiente dato en el arreglo FIFO Entrada de reloj de escritura, un flanco ascendente en esta terminal hace que el dato en el puerto de entrada se almacene en el arreglo FIFO Reset. En nivel lgico 0 hace que se inicialicen los apuntadores de los datos al inicio del arreglo FIFO, en nivel 1 permite la operacin de la memoria Habilitador de salida de datos. En nivel lgico 1 pone el puerto de salida en estado de alta impedancia, en 0 permite la salida normal de datos
El estado de las seales 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 disposicin de estos elementos se muestra en la Figura 3.7.
Figura 3.7. Conexin 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, caracterstica til en el modo de operacin repetitivo.
38
La seal INT (Figura 3.7) proviene de la etapa de monitoreo de las entradas analgicas y se usa como interrupcin hacia el microcontrolador y para la salida automtica 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 conexin y para proveer la corriente necesaria a los circuitos impulsores en forma directa. En ambientes elctricamente ruidosos o donde sea necesario un aislamiento total, es conveniente emplear un medio ptico para la propagacin de las seales de control. El control digital incluye fototransmisores HFBR1527 conectados al buffer de salida, que se acoplan a fibra ptica plstica de 1 mm de dimetro para la transmisin de seales a distancias de hasta 25 metros sin necesidad de amplificacin adicional.
Para el almacenamiento de los valores de referencia se escogi el SMP08 de Analog Devices. Este circuito integrado tiene 8 elementos de muestreo y retencin multiplexables, las caractersticas relevantes de este componente son: condensadores de retencin y amplificadores de salida internos tiempo de adquisicin tpico de 3.5 s razn de cambio de 3 V/s retencin en pasos de 2.5 mV razn de decaimiento tpica de 2mV/s entradas digitales compatibles con niveles TTL y CMOS operacin con fuentes sencillas o simtricas de 7 V a 15 V La Tabla 3.5 describe las funciones de las principales lneas del SMP08. Tabla 3.5. Terminales principales del SMP08 Terminal IN A, B, C Descripcin Entrada comn de voltaje Entradas digitales para la seleccin de un SH especfico, A es el bit menos significativo y C es el bit ms significativo Entrada de inhibicin de muestreo, en 0 permite almacenar en el SH seleccionado el valor presente en la terminal IN, en 1 inhibe la funcin de muestreo y los SH permanecen sin cambio Salidas de voltaje
INH CH0-CH7
En la Figura 3.8 se muestra la conexin 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 continuacin: 1. El PIC17C44 escribe un valor en el bus de 12 bits que forman sus puertos C y D 2. Se mantiene la lnea CS en un valor lgico 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 lneas RD0, RD1 y RD2 5. Se pone la seal 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 lgico 0 7. Regreso al paso 1
40
Los voltajes de referencia se comparan con las seales de entrada utilizando circuitos integrados AD9698 de Analog Devices, que son comparadores analgicos de alta velocidad con las siguientes caractersticas: dos comparadores independientes en un mismo circuito integrado tiempo de propagacin de 4.5 ns, comparable al tiempo de respuesta de dispositivos ECL de alto desempeo tiempo de establecimiento de 1.7 ns operacin con fuentes de alimentacin de +5 V 5 V salidas complementarias de nivel TTL entrada digital de habilitacin 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.
VREF representa un valor de referencia almacenado en un elemento SH, In es la seal analgica a monitorear. Se usa un arreglo con retroalimentacin positiva para darle al comparador una ventana de histresis de aproximadamente 150 mV. Dado que se tienen hasta 8 valores de consigna en los elementos de muestreo y retencin, se utilizan 8 comparadores analgicos para el monitoreo de las seales de los circuitos de potencia, con el arreglo que se muestra en la Figura 3.10.
41
Figura 3.10. Conexin de los comparadores analgicos Al inicio de un ciclo de operacin el microcontrolador hace que el valor lgico 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 seal de interrupcin INT. Mientras las variables analgicas no rebasen los valores de referencia en cualquier sentido, las salidas de los comparadores analgicos no cambiarn de estado y la seal INT permanecer en 0. La modificacin de la salida de cualquier comparador analgico se reflejar como un cambio a 1 en el valor lgico de INT, transicin que se utiliza para generar una interrupcin hacia el microcontrolador. La atencin a la interrupcin le ocupa al microcontrolador algunos cientos de nanosegundos (el ciclo de instruccin es de 125 ns con el PIC17C44 operando a 32 MHz), por lo que es conveniente utilizar tambin 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 intervencin del microcontrolador. As, el retardo resultante desde que una seal analgica 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 propagacin en los comparadores analgicos (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
La respuesta a la interrupcin por parte del PIC17C44, consiste en volver a registrar el nuevo estado de salida de los comparadores analgicos 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 analgicas a muestrear en un caso especfico (voltaje, corriente o temperatura), dictar la necesidad de una etapa de acondicionamiento para ajustarlas al rango 5 V seleccionado para operar a los comparadores analgicos. El sistema de control digital no incluye un acondicionamiento propio de entrada, de modo que puede adaptarse a cualquier tipo de seal siempre que est en el rango de operacin especificado. Los voltajes de referencia se generarn en el rango de 5 V por compatibilidad con los comparadores analgicos. En estas condiciones el DAC presentar una resolucin de 2.44 mV. El rango de voltajes de entrada y salida del SMP08 depende del voltaje de su fuente de alimentacin, de acuerdo con la siguiente expresin: (VSS+0.06 V ) VOUT/IN (VDD -2 V) Donde VSS es el voltaje negativo de alimentacin, VDD es el voltaje positivo y VOUT/IN es el voltaje mximo de entrada o salida. As que para manejar voltajes de 5 V, el SMP08 debe alimentarse con una tensin mnima de 7 V. El sistema de control digital se alimenta de una lnea de 120 V C.A, internamente cuenta con elementos de rectificacin y regulacin para generar los voltajes de C.D. requeridos por cada etapa: 5 V, 7 V y 12 V (Apndice 1).
43
44
CAPTULO 4
PROTOCOLO DE COMUNICACIONES
4.1 Formato de comunicacin serial 4.2 Formato de mensajes 4.2.1. Comandos y respuestas 4.2.2. Deteccin de errores
45
La comunicacin se realiza en forma asncrona a 9600 bps, cada bit tiene una duracin de 1/9600 bps = 104.16 s. En el canal RS-232 el nivel "1" lgico es representado por voltajes negativos, mientras que los voltajes positivos corresponden al "0" lgico. Para indicar el comienzo de la transmisin de cada byte de informacin se tiene un bit de inicio (cero lgico) que precede al bit menos significativo del dato (lsb), despus se realiza la transmisin secuencial de los siguientes bits hasta llegar al ms significativo (msb), que es seguido por un bit de paro (1 lgico) que debe permanecer sin cambio al menos durante el tiempo correspondiente a un bit antes de iniciar la transmisin del siguiente dato.
Identificador
Comando
Nmero de datos
Datos
Cdigo de comprobacin
46
Protocolo de comunicaciones
La funcin de los campos que componen cada mensaje se explica a continuacin: 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 tambin permite que el medio fsico se pueda reemplazar por un canal multipunto compartido por sistemas diversos sin interferir con la operacin del control digital. Comando. Cdigo de un byte asociado a la funcin a ejecutar en el sistema de control digital. El protocolo permite la definicin de hasta 256 comandos diferentes. Nmero de datos. Indica cuntos bytes de datos estn 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 informacin para calcular cuntos bytes deben recibirse por el canal serial antes de considerar que se tiene un mensaje completo e iniciar su decodificacin. Datos. Informacin de los parmetros para las pruebas: estados encendido/ apagado para las salidas, temporizacin de cada estado o valores de referencia. Cdigo de comprobacin. Byte final de la trama que permite detectar la ocurrencia de errores durante la transmisin del mensaje. Las respuestas que el control digital regresa hacia la PC sirven slo para confirmar la ejecucin del comando solicitado, lo que permite utilizar una estructura ms sencilla como se muestra en la Figura 4.3. Identificador Cdigo de respuesta
Figura 4.3. Formato de respuestas del control digital El byte identificador tiene la misma funcin que en los mensajes de comandos, el cdigo de respuesta es dependiente del comando recibido. En el caso de que se detecte un error en la trama recibida, o el cdigo de comando no sea vlido, 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 seccin.
47
Comando Prueba de comunicacin serial Generacin de voltaje en DAC Generacin de onda triangular para prueba de DAC Habilitacin de un elemento de muestreo y retencin Habilitacin de comparadores analgicos Escritura de una cadena de bytes en memoria FIFO Lectura de un byte de memoria FIFO Control de conmutacin doble Control de conmutacin doble con interrupcin externa Secuencia genrica de control
La funcin de cada comando a ejecutar en el control digital y las respuestas que regresa en cada caso se explican a continuacin: Prueba de comunicacin serial. La PC enva 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 idntica a la enviada desde la PC. Generacin de voltaje en DAC. Esta funcin se utiliza para probar individualmente el funcionamiento del DAC y en la generacin automtica de los valores analgicos de referencia. El mensaje de comando contiene dos datos como se muestra en la Figura 4.4.
73h
11h
02h
LSB
MSB
Cdigo de comprobacin
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 ms significativo. Los 12 bits son transmitidos al DAC para generar el voltaje analgico correspondiente. La respuesta de confirmacin se presenta en la Figura 4.5. El cdigo de respuesta 55h sirve como confirmacin genrica para todos los comandos que involucran la operacin individual de las etapas del control digital descritos en la Seccin 3.3.
73h
55h
Generacin de onda triangular. Funcin para prueba rpida 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 confirmacin de la Figura 4.5. Cdigo de comprobacin
73h
Comando
00h
Habilitacin de un elemento de muestreo y retencin. Seleccin individual de un elemento de muestreo para almacenar el valor analgico 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 slo 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. Cdigo de comprobacin
73h
Comando
01h
ndice
ocho comparadores analgicos 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
Escritura de una cadena de bytes en memoria FIFO. La PC enva 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 seales 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 confirmacin de la Figura 4.5 Lectura de un byte de memoria FIFO. Transmisin hacia la PC del dato en la primera posicin 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 cdigo de respuesta lleva el dato ledo de la FIFO. Control de conmutacin doble, control de conmutacin doble con interrupcin externa. Comandos para generar las seales de control hacia dos interruptores de potencia en la secuencia utilizada con los circuitos de prueba de conmutacin dura (Figura 2.4), conmutacin suave ZVS (Figura 2.6) y conmutacin suave ZCS en modo resonante (Figura 2.8). El mensaje de comando tiene la estructura mostrada en la Figura 4.8.
73h Comando
Nmero de datos
Estados
Ciclos
Figura 4.8. Comando de control de conmutacin Los bytes de datos mostrados en la Figura 4.8 contienen los siguientes parmetros: Estados. Nmero de estados de salida en un ciclo de prueba (cuatro para las secuencias de disparo antes citadas). Ciclos. Nmero 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 temporizacin. Duracin de cada estado de salida. Los intervalos de tiempo se pueden especificar en uno o en dos bytes dependiendo de su extensin, para indicar tiempos en dos bytes se utiliza el arreglo mostrado en la Figura 4.9.
00h
LSB
MSB
50
Protocolo de comunicaciones
El dato en 0 acta como separador, los siguientes bytes son la parte menos significativa y ms significativa del intervalo de tiempo. Si todos los datos de tiempo son de un byte, el mensaje de comando tiene seis bytes de datos (nmero de estados, nmero de ciclos y cuatro bytes de temporizacin), si los tiempos son de dos bytes el mensaje llega al mximo de catorce bytes de datos. Est permitida la combinacin de intervalos de tiempo en uno y dos bytes dentro del mismo mensaje de comando. Secuencia genrica 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 nmero de estados y de datos puede llegar a 255. La respuesta del control digital tiene la estructura de la Figura 4.3 con el cdigo de respuesta 29h.
51
Para verificar la integridad de los mensajes que se envan de la PC al control digital se escogi una variante de la suma de comprobacin, que consiste en combinar con una operacin lgica OR exclusiva todos los bytes contenidos en una trama, agregando al final de la misma el byte resultante que ser el cdigo de comprobacin como se presenta en la Figura 4.2. El mensaje recibido en el control digital tambin se valida mediante la operacin OR exclusiva de todos los bytes recibidos, incluyendo el cdigo de comprobacin. Si el resultado final es 0, entonces la trama recibida no contiene errores y se procede a decodificar el mensaje.
52
CAPTULO 5
SOFTWARE DEL CONTROL DIGITAL
5.1 Estructura del software del control digital 5.2 Generacin del cdigo 5.3 Descripcin de rutinas del cdigo fuente 5.3.1 Definicin de constantes y variables 5.3.2 Programa principal 5.3.3 Inicializacin 5.3.4 Transmisin de respuestas 5.3.5 Manejo del hardware del control digital 5.3.6 Generacin de secuencias de control 5.3.7 Atencin a interrupciones
53
Las funciones de los bloques representados en la Figura 5.1 se describen a continuacin. Inicializacin del sistema. Configuracin de los perifricos del microcontrolador: puertos digitales de entrada y salida, interrupciones y receptor/transmisor universal asncrono (UART) para comunicacin serial . Recepcin serial. Cada byte que se transmite desde la PC se recibe en el microcontrolador por interrupcin 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 Captulo 4. Decodificacin de comandos. Validacin e interpretacin de los comandos y datos recibidos por el control digital en correspondencia con el protocolo de comunicaciones. Despus de verificar la integridad del mensaje se identifica la accin solicitada y se ejecuta la rutina apropiada.
54
Modo de prueba. Una de las funciones incorporadas en control digital es la prueba individual de sus componentes fsicos: memoria FIFO, DAC, SH, y comparadores analgicos. La prueba de cada elemento es seguida de una respuesta de confirmacin que puede contener datos, de modo que se puede verificar la integridad del control digital realizando mediciones en el hardware y/o por la informacin que se enva a la PC. Generacin de secuencias de control. En el control digital se tienen algoritmos para el control de la conmutacin de dos interruptores en una secuencia fija, y para la ejecucin de secuencias de control genricas. 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. Atencin a interrupciones. Para el control de las conmutaciones por tiempo se utiliza la interrupcin por sobreflujo del temporizador TMR0 del microcontrolador. Cuando el control de las conmutaciones depende del monitoreo de seales analgicas retroalimentadas, se utiliza la interrupcin externa en la terminal RA0 del PIC17C44 . Manejo del hardware del control digital. Comprende las rutinas operativas que hacen uso de componentes especficos del control digital: escritura y lectura en memoria FIFO, escritura al DAC para la generacin de un voltaje de referencia, seleccin de un elemento SH y habilitacin de los comparadores analgicos. Transmisin serial. A cada comando recibido le sigue la transmisin de una respuesta hacia la PC, que de acuerdo con el protocolo de comunicacin puede ser de confirmacin o una trama de datos.
55
P17C44.INC. Incluido con la herramienta de desarrollo MPLAB. Contiene los identificadores y direcciones de todos los recursos internos del microcontrolador: registros, perifricos y bits de bandera o de habilitacin. SCDATS.PJT. Archivo que se debe crear en MPLAB para ligar a los archivos anteriores en un solo proyecto y poder realizar la compilacin, ensamblado y simulacin del programa. SCDATS.HEX. Es generado por MPLAB al compilar y ensamblar correctamente el cdigo fuente. Contiene el cdigo ensamblado en formato hexadecimal que efectivamente se graba en la memoria de programa del microcontrolador. La programacin fsica del microcontrolador se realiz con un programador Picstart Plus fabricado por Microchip, operado desde el propio MPLAB.
Tabla 5.2. Identificadores para manejo de puertos digitales de salida Identificador RC_FIFO WC_FIFO RS_FIFO OE_FIFO CS_DAC INH_SH COMPS Lnea de salida del PIC17C44 RD4 RD5 RD6 RD7 RE0 RE1 RE2 Funcin Lectura de memoria FIFO Escritura a memoria FIFO Reset de memoria FIFO Habilitacin de salidas de la memoria FIFO Habilitacin de DAC Habilitacin del arreglo de elementos SH Habilitacin del registro de comparadores analgicos
Tabla 5.3. Apuntadores y variables en la memoria RAM del microcontrolador Direccin en RAM 120h LONG 121h RXPTR 122h RECEP 123h nEDOx 124h AP_TMP 125h AP_PRO 126h D_RET 127h AP_RINT 128h AP_NINT 130h TPROC Variable Descripcin Tamao de la trama a enviar o recibir ndice de datos dentro del vector de recepcin Indicador de mensaje recibido Contador de estados dentro de una secuencia de control Apuntador auxiliar a tabla de temporizaciones Apuntador auxiliar a tabla de procesos Almacenamiento de direcciones de retorno Apuntador a la tabla de procesos
Tabla 5.4. Organizacin de los datos dentro del vector para almacenamiento de mensajes en memoria RAM Identificador VECTOR IDENT COMND N_DAT BCOMP DATO_i DATO_L DATO_H nEDOS nCICS TEMPi Direccin en RAM 150h 150h 151h 152h 153h 153h 153h 154h 153h 154h 155h Descripcin Inicio del vector para almacenamiento de mensajes Identificador de inicio de mensaje Cdigo de comando recibido Nmero de bytes de datos en el mensaje Byte de comprobacin en una trama de longitud mnima ndice para seleccin de SH o comparador Parte menos significativa del dato hacia el DAC Parte ms significativa del dato hacia el DAC Nmero de estados de la secuencia de control Nmero de ciclos por repetir Inicio de datos de temporizacin
57
58
5.3.3 Inicializacin
Esta categora agrupa a las rutinas en las que se configuran los recursos de hardware del microcontrolador y se define el estado inicial de las seales de salida. A continuacin se describen brevemente las rutinas involucradas en esta etapa y su estructura en pseudocdigo.
INI_PUERTOS: Inicializacin de los puertos digitales de entrada/ salida y condicin inicial de las seales que controlan el hardware del control digital. 1. Seleccin de la interrupcin externa en RA0 por flanco descendente 2. Puerto B como salida con todos sus bits en 1 para bloquear a los comparadores analgicos. 3. Puertos C y D en cero, bus de datos y seales de control de memoria FIFO. 4. Seal 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 analgicos INI_SERIE: Configuracin del UART del microcontrolador para comunicacin serial asncrona a 9600 baudios, 1 bit de inicio, 8 bits de datos y un bit de paro. 1. 2. 3. 4. Configuracin del UART de microcontrolador a 9600 baudios. Asignacin de las terminales RA5 y RA4 para el UART. Inicia el registro de estatus de transmisin. Limpia las banderas de interrupcin en y sus bits de habilitacin en los registros de configuracin de interrupciones por perifricos.
PREP_RECEP: Preparacin de la recepcin de mensajes por el canal serial. 1. Limpia las banderas de interrupcin en los registros de configuracin de interrupciones por perifricos. 2. Activa la interrupcin por recepcin. 3. Apunta al inicio del buffer de recepcin. 4. Habilita las interrupciones de perifricos. 5. Escribe 1 en la variable RECEP de estatus de recepcin. 6. Escribe el valor de LONG para esperar 4 bytes como trama mnima. 7. Habilitacin global de interrupciones.
59
1. 2. 3. 4. 5. 8. 9.
Inhibe las interrupciones durante la respuesta. Apunta al inicio del buffer de recepcin, VECTOR, cargando su direccin en FSR0. Configura FSR0 para autoincremento despus de cada acceso. Carga en W el apuntador al final del mensaje recibido, RXPTR. Carga en TXREG el byte a transmitir. Espera a que se vace el buffer de transmisin TXBUF. Regresa a 4 hasta que FSR0 sea igual a W.
60
PBA_DAC: Generacin 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 colisin 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: seleccin de un elemento de muestreo y retencin. 1. Inhibe las salidas de la memoria FIFO y la pone en estado de reset para evitar una colisin 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 adquisicin 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. 2. 3. 4. 5. 6. 7. 8. 9. 10. Inhibe las interrupciones durante la escritura. Pulso de reset a la memoria. Inhibe las salidas de la memoria FIFO. Saca a la memoria del estado de Reset. Puerto C como salida. Carga FSR0 con el apuntador DATO_i para apuntar al primer byte de datos. Configura FSR0 para autoincremento despus de cada acceso. Escribe el byte al que apunta FSR0 en el bus de datos. Flanco ascendente en WCLK y regreso a 0 despus de 125 ns. Regresa a 8 hasta llegar al fin del mensaje sealado por RXPTR..
61
LEC_MF: Lectura de un byte de memoria FIFO. 1. 2. 3. 4. 5. Puerto C como entrada. Activa las salidas de la memoria FIFO. Flanco ascendente en RCLK y regreso a 0 despus de 125 ns. Ciclo de espera de 1.5 s para establecimiento del dato. Se lee el dato en el puerto C y se almacena en la posicin COMND del vector de comunicacin serial.
62
CiDBt: Salida de seales de control para conmutacin 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 conmutacin. 3. FSR0 se utiliza como apuntador a los datos de temporizacin, 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, verificacin 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 temporizacin en TMR0H y TMR0L. 2. Habilitacin de Timer0. 3. Ciclo de espera hasta que el Timer0 sea inhabilitado por una interrupcin de sobreflujo o en RA0. 4. Regreso a la siguiente fase de la secuencia de conmutacin.
63
RuSECU: Generacin de secuencia genrica de control. Inhabilitacin general de interrupciones. Puerto C como entrada. Se activan las salidas de la memoria FIFO. Timer0 inicializado en 0. Limpieza de las banderas de interrupciones Habilitacin de interrupcin por sobreflujo de Timer0. Si el comando recibido fue SECGx: 7.1. Se habilitan los comparadores analgicos 7.2. Se habilita el latch a la salida de los comparadores. 7.3. Despus de 250 ns se bloquea el latch. 7.4. Se habilita la interrupcin externa en RA0. 8. Habilitacin 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 interrupcin. 12. Se respalda nEDOS, el nmero 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 temporizacin, 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 nmero de estados pendientes en la secuencia actual, si no es 0 regresa al punto 15. 19. Decrementa nCICS, el nmero 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. 1. 2. 3. 4. 5. 6. 7.
64
65
66
CAPTULO 6
SOFTWARE DE LA INTERFAZ DE USUARIO
6.1 Estructura de la interfaz de usuario 6.2 Generacin del cdigo 6.3 Lista de subrutinas 6.3.1 Programa principal 6.3.2 Operacin del control digital 6.3.3 Comunicacin serial 6.3.4 Enlace a osciloscopio 6.3.5 Adquisicin de seales 6.3.6 Despliegue grfico 6.3.7 Tratamiento de seales 6.3.8 Manejo de archivos
67
A continuacin 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 opcin que el usuario haya seleccionado dentro de la barra de men que muestra las funciones disponibles en el sistema, para desplegar a continuacin la ventana de dilogo correspondiente. Ventanas de dilogo. Con este trmino se designa a las ventanas donde el usuario puede introducir distintos parmetros para la operacin del sistema de pruebas. Cada ventana de dilogo tiene asociado un procedimiento que gestiona la ejecucin de las subrutinas involucradas en cada funcin del sistema. Operacin del control digital. Agrupa a todas las subrutinas necesarias para la interaccin con el control digital, encargadas de recibir los parmetros que el usuario introduce en las ventanas de dilogo y traducirlos a la forma requerida por el control digital. Comunicacin serial. Esta etapa se encarga de la configuracin del puerto serial de la PC al que se conecta el control digital, de la construccin y envo de los mensajes de comando de acuerdo con el protocolo de comunicaciones especificado, y de la recepcin 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 envo de comandos para la configuracin de sus escalas y la transmisin hacia la PC de las seales muestreadas [24]. La comunicacin entre la PC y el osciloscopio digital se hace a travs de un canal GPIB (General Purpose Interface Bus), que es un bus estndar IEEE488 orientado a instrumentos de medicin programables. Para agregar el puerto GPIB en la PC, se instal en su bus ISA una tarjeta HP82341A de Hewlett Packard. Adquisicin de seales. En la PC se forman arreglos de datos (vectores) con los datos enviados por el osciloscopio digital, tambin se registran las escalas de amplitud de cada canal y la escala de tiempo al momento de la adquisicin. Despliegue grfico. Se encarga de la reconstruccin grfica de las seales adquiridas, calculadas o archivadas. Para facilitar la visualizacin de varias seales a la vez, se incluyen funciones de ajuste individual de las escalas de despliegue y de ubicacin de los ejes de referencia para cada seal. Tratamiento de seales. Comprende a las subrutinas de procesamiento matemtico de los vectores de datos, ya sea para compensar los errores de medicin o para facilitar el anlisis del comportamiento de los DSEP mediante la estimacin de razones de cambio, potencia instantnea y energa disipada.
69
Manejo de archivos. Etapa con las subrutinas para la creacin de archivos de datos con los valores reales de magnitud y tiempo de cada seal adquirida, as como para la lectura de dichos archivos y la recuperacin de vectores de datos para su despliegue grfico y/o tratamiento.
70
72
Cambia_Amps. Ventana de dilogo para modificar las escalas de amplitud de las Iniciar. Inicializacin del modo grfico, definicin del origen y rea de despliegue.
Retic. Creacin de una retcula en pantalla con 10 divisiones horizontales y 8 verticales, con 50 pixeles por cada divisin. Graficar. Despliegue grfico de las seales adquiridas. RengEsc. Escala de amplitud e identificacin de color de una seal. VerEscalas. Despliegue de las escalas de tiempo y amplitud asociadas a las seales graficadas en pantalla.
Escala_Vect. Cambio en la escala de amplitud de una seal graficada en pantalla. Marca_Cursor. Marca los puntos seleccionados para el clculo de la razn de
cambio.
73
No se defini una extensin especfica para los archivos de datos, el formato de los mismos se ilustra con el ejemplo mostrado en la Figura 6.2.
Los datos estn escritos en formato de texto ASCII. El valor en el primer rengln es
la escala de tiempo del osciloscopio al momento de la adquisicin de la seal, el segundo rengln 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 seal 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 informacin al inicio del archivo para que sea compatible con los encabezados particulares de cada sistema.
75
76
CAPTULO 7
OPERACIN DE LA INTERFAZ DE USUARIO
7.1 Submen "Principal" 7.1.1 Operacin del control digital 7.1.2 Enlace a osciloscopio digital y adquisicin de seales 7.1.3 Manejo de archivos 7.2 Submen "Ver" 7.3 Submen "Opciones" 7.3.1 Despliegue grfico 7.3.2 Tratamiento de seales 7.3.3 Valores instantneos 7.4 Submen "Ayuda"
77
La funcin 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 opcin se despliega la ventana de dilogo mostrada en la Figura 7.3.
Las funciones de los campos y botones de control que aparecen en la ventana de dilogo son: Comunicacin Serial. En el rengln de edicin el usuario introduce una cadena de caracteres. Al presionar el botn 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 enva a la PC se despliega en el recuadro inferior, mostrando el mensaje recibido desde el identificador hasta el cdigo de comprobacin. Si no hay errores de comunicacin los datos en la respuesta deben ser los mismos introducidos por el usuario. Memoria FIFO. En el rengln de edicin el usuario introduce una cadena de caracteres. Al presionar el botn 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
Al presionar el botn Leer, el control digital enva a la PC un byte extrado de la memoria, que se muestra en formato ASCII y hexadecimal dentro del recuadro prximo al botn Leer. El dato ledo tambin estar presente en las salidas del control digital. La operacin de lectura se puede repetir hasta que se extraiga el ltimo dato almacenado en la memoria FIFO. Conversin D/A. En el rengln de edicin el usuario introduce un nmero entre 5 y 5. Al presionar el botn Volts, se transmite ese valor hacia el control digital dentro de un comando de generacin de voltaje en DAC. El voltaje especificado por el usuario estar presente en la salida analgica Vo del control digital. Al presionar el botn Onda de Prueba, se genera en Vo una forma de onda triangular entre 5 V y -5 V en 20 ms. Muestreo y Retencin. En el rengln de edicin el usuario introduce un nmero entero entre 0 y 7, que representa a uno de los ocho elementos de muestreo y retencin dentro del control digital. Al presionar el botn Hab S&H, se transmite el valor hacia el control digital dentro de un comando de habilitacin 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 ejecucin correcta de este comando se deben realizar mediciones en el hardware del sistema de control digital. Comparadores. En el rengln de edicin el usuario introduce nmero entero entre 0 y 7, que representa a uno de los ocho comparadores analgicos dentro del control digital. Al presionar el botn Hab CMP, se transmite el valor al control digital dentro de un comando de habilitacin y la salida del comparador analgico seleccionado por el usuario reflejar la condicin de sus entradas. La operacin de los comparadores se inhibe al presionar el botn Inhabilitar Todos. Para comprobar la ejecucin correcta de este comando se deben realizar mediciones en el hardware del sistema de control digital. RESET. Botn para reinicio por hardware del sistema de control digital. CERRAR. Botn para salir del modo de prueba, el control digital queda en estado inactivo al cerrar la ventana de dilogo. Si despus de enviar los comandos para la ejecucin de alguna de las funciones anteriores el sistema de control digital no regresa la respuesta de confirmacin, 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
Figura 7.4. Mensaje de error de enlace con el control digital En la opcin 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.
La funcin Conmutacin Doble se utiliza para definir los parmetros de una secuencia de disparo de dos DSEP como la mostrada en las Figuras 2.4, 2.6 y 2.8, donde las seales de control de los interruptores QAux y DUT corresponden a las salidas Q1 y Q0 del control digital, respectivamente. Al seleccionar esta funcin se despliega la ventana de dilogo mostrada en la Figura 7.6. La primera vez que se despliega esta ventana tendr por defecto los valores mnimos posibles para cada parmetro, los valores que el usuario introduzca posteriormente sern retenidos cada vez que se active la ventana de dilogo mientras no se finalice la ejecucin del programa.
81
Figura 7.6. Ventana de dilogo de control de conmutacin doble Los parmetros a especificar en los campos que aparecen en la ventana de dilogo para el control de conmutacin doble, se describen a continuacin. Encendido Auxiliar. Tiempo de encendido del interruptor auxiliar (t1 a t2 en las Figuras 2.4, 2.6 y 2.8). Los valores permitidos estn entre 1.38 s y 8.15 ms, introducidos en forma decimal o en notacin cientfica. Voltaje de Consigna. Si el botn Esperar Interrupcin 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 rengln de edicin. Los valores permitidos estn 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 daos 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 estn 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 estn 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 operacin. Los valores permitidos estn entre 2.5 s y 8.15 ms.
82
Modo Impulsional. Seleccionando este botn se configura al control digital para repetir la secuencia de disparo el nmero de ciclos que el usuario especifique en el cuadro de edicin. Los valores permitidos estn entre 1 y 128. Modo Repetitivo. Seleccionando este botn se configura al control digital para repetir la misma secuencia de disparo de forma indefinida. La repeticin de la secuencia de control se detiene al presionar el botn DETENER. ACEPTAR. Botn para trasmitir los comandos y datos hacia el control digital para iniciar la generacin efectiva de las seales de control. CERRAR. Botn para salir del modo de control de conmutacin doble, el control digital queda en estado inactivo al cerrar la ventana de dilogo. Si el control digital no responde con los mensajes de confirmacin esperados, se desplegar la ventana de notificacin de error de la Figura 7.4. En caso de que los valores introducidos por el usuario estn fuera de los rangos vlidos, se mostrarn los mensaje que se presentan en las Figuras 7.7 y 7.8.
83
La funcin 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 funcin se despliega la ventana de dilogo mostrada en la Figura 7.9.
En la parte superior de la ventana de dilogo se tiene una tabla con los parmetros de la secuencia de disparo que especifique el usuario, formada por los siguientes elementos: Estado. Nmero 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 parmetros. Q7-Q0. Combinacin binaria que representa el estado de las ocho seales de control que van hacia los DSEP, 1 representa encendido y 0 representa apagado. Consigna. Valor de referencia que deber alcanzar una de las seales analgicas retroalimentadas hacia el control digital para el cambio de estado de las salidas.
84
Can. Canal de entrada del sistema de control digital en el que se aplica la seal analgica de consigna. Tiempo. Duracin, en segundos, de cada estado dentro de la secuencia de disparo. En la tabla de parmetros se muestran los datos slo para cinco estados de la secuencia de disparo. Al presionar el botn Siguientes, se muestra la informacin del siguiente grupo de cinco estados, el botn Previos muestra los estados anteriores. La tabla de parmetros se llena progresivamente con la informacin que el usuario introduce con los elementos descritos a continuacin: Q7 a Q0. Arreglo de botones para definir la condicin 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. Temporizacin. Duracin, en segundos, de un estado dentro de la secuencia de disparo. Valor de consigna. Magnitud que deber alcanzar una de las seales analgicas retroalimentadas hacia el control digital para el cambio de estado de las salidas. Canal de Entrada. Canal en el que se aplica la seal analgica de consigna. Incluir Estado. Botn para que los datos introducidos en los campos anteriores se registren en la tabla de parmetros de la secuencia de disparo. Nmero de Ciclos. Campo de edicin donde se especifica el nmero de repeticiones de la secuencia de disparo. LIMPIAR. Botn para borrar el contenido completo de la tabla de parmetros. ACEPTAR. Botn para trasmitir los comandos y datos hacia el control digital para iniciar la generacin efectiva de las seales de control. CERRAR. Botn para salir del modo de secuencia de control. El control digital queda en estado inactivo al cerrar la ventana de dilogo.
85
La opcin 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 medicin y adquisicin de las seales.
86
En la Figura 7.12 se muestra la ventana de dilogo que se despliega al seleccionar la funcin Horizontal/Vertical, que permite al usuario definir los valores para las escalas de tiempo y amplitud del osciloscopio digital.
Los elementos de esta ventana de dilogo son: Direccin del Osciloscopio en el bus GPIB. Valor numrico asignado como direccin del osciloscopio digital en el canal de comunicaciones GPIB. Este parmetro est programado en el instrumento de medicin y se debe utilizar su propio panel de control para conocer su direccin o modificarla. CH1 a CH4. Botones para seleccionar los canales del osciloscopio que se desea habilitar y/o configurar. Los canales que no estn seleccionados no sufrirn modificaciones en su estado actual. Escala en TDS. Valor en Volts/divisin para las escalas de amplitud de cada canal del osciloscopio digital, en forma decimal o con notacin cientfica. En caso de que el valor introducido no coincida con alguna de las escalas disponibles, el osciloscopio se ajusta a la escala ms cercana.
87
Factor por Equipo de Aislamiento. Factor de amplificacin o atenuacin cuando la punta de prueba utilizada lo requiera. Adems del factor se pueden introducir las unidades que correspondan a cada canal (V, A, C, etc.), de modo que esta informacin se presente correctamente al desplegar las seales en la PC. Acoplamiento. Botones DC y AC para seleccionar el tipo de acoplamiento de entrada para cada canal del osciloscopio. Posicin. Ubicacin del origen de cada una de las seales 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/divisin para la escalas de tiempo del osciloscopio digital, en forma decimal o con notacin cientfica. En caso de que el valor introducido no coincida con alguna de las escalas disponibles, el osciloscopio se ajusta a la escala ms cercana. ACEPTAR. Botn para transmitir los comandos de configuracin hacia el osciloscopio digital. Al seleccionar la funcin Disparo/Modo de Adquisicin en el submen de la Figura 7.11, se activa la ventana de dilogo que permite al usuario definir las condiciones de disparo para iniciar el muestreo de las seales en el osciloscopio digital y el modo de adquisicin de las mismas. La ventana de dilogo se presenta en la Figura 7.13. Una vez que el usuario ha especificado la direccin GPIB del osciloscopio digital, puede configurar los siguientes parmetros: Fuente del disparo. Canales 1 a 4, seal externa o lnea 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 notacin cientfica Flanco. Ascendente o descendente Modo. Disparo automtico o normal Modo de Adquisicin. Muestreo instantneo, alta resolucin o promediado
88
Si la PC no recibe una respuesta de confirmacin por parte del osciloscopio digital, porque alguno de los dos equipos no est conectado al bus GPIB o por error en la direccin especificada, se avisa al usuario con el mensaje mostrado en la Figura 7.14.
89
En el submen de la Figura 7.11 se encuentra la funcin Adquisicin de Seales, que permite hacer la transferencia hacia la PC de las seales muestreadas por el osciloscopio digital. Al seleccionar esta funcin se despliega la ventana de dilogo de la Figura 7.15.
Los elementos que el usuario debe especificar son: Direccin del Osciloscopio. Valor asignado al osciloscopio digital como su direccin en el canal de comunicaciones GPIB. Canal 1 a Canal 4. Seales a transferir hacia la PC (se puede seleccionar ms de un canal). Las seales se almacenan dentro de vectores individuales con 500 datos cada uno, que se grafican en la pantalla de la PC en una retcula 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 ms de 500 puntos.
90
Figura 7.16.Submen de manejo de archivos Con la funcin Abrir se activa la ventana mostrada en la Figura 7.17, en sta el usuario puede especificar la ubicacin y nombre desde uno a cuatro archivos para la recuperacin de sus datos, con stos se formaran vectores que se pueden desplegar y manipular en el software como si fueran seales proveniente del osciloscopio.
91
Al seleccionar la funcin Grabar se despliega la ventana mostrada en la Figura 7.18, donde el usuario puede especificar la ubicacin y nombre de 1 a 6 archivos que se crearn con los datos almacenados en la PC.
Figura 7.18.Ventana de dilogo de escritura de archivos Los datos que se escribirn en los archivos pueden corresponder a seales transferidas desde el osciloscopio, o a seales generadas por el software a partir de los datos originales, como se describir en la Seccin 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 ubicacin indicada, o si no es posible crear un archivo de datos, se mostrarn mensajes de error para indicar la imposibilidad de ejecutar la accin solicitada.
Figura 7.19. Submen de visualizacin de seales En la Figura 7.20 se muestra un ejemplo del despliegue grfico de seales. En la parte superior derecha aparecen las escalas de tiempo y amplitud correspondientes.
93
Figura 7.21. Submen de opciones de despliegue y tratamiento de seales Dado que las funciones en esta categora se aplican sobre seales adquiridas, si no se tiene al menos una seal, todas las opciones aparecern en texto gris para indicar que estn inhabilitadas.
Por defecto la ventana de dilogo presenta las escalas de amplitud al momento de la adquisicin (los valores mostrados en la Figura 7.22 corresponden a las seales de la Figura 7.20). El usuario puede introducir la escala deseada y agregar las unidades correspondientes a la naturaleza de cada seal para que esta informacin tambin se despliegue con las escalas de amplitud. La funcin Cambiar Ejes de Referencia permite que el usuario modifique individualmente la posicin del eje horizontal de referencia de cada seal con respecto al centro de la pantalla. Al seleccionar esta funcin, se despliega la ventana de dilogo mostrada en la Figura 7.23.
Por defecto la ventana de dilogo muestra las posiciones originales de las seales al momento de la adquisicin (los valores en la Figura 7.23 corresponden a las seales de la Figura 7.20).
95
Figura 7.24. Ventana de dilogo para compensacin de seales El usuario puede introducir los valores de compensacin necesarios en forma decimal o con notacin cientfica. La funcin Clculos de Potencia y Energa se utiliza para seleccionar dos seales (voltaje y corriente) cuyo producto representa la potencia instantnea durante una prueba, que a su vez se integra para estimar la energa involucrada en el proceso. Si no se han adquirido al menos dos seales, esta funcin aparece inhabilitada dentro del submen de la Figura 7.21. En la Figura 7.25 se presenta la ventana de dilogo asociada a esta funcin.
Figura 7.25. Ventana de dilogo para seleccin de seales para los clculos de potencia y energa
96
97
98
CAPTULO 8
RESULTADOS EXPERIMENTALES
8.1 Ambiente de pruebas 8.2 Prueba en conmutacin dura 8.3 Control de un inversor puente completo 8.4 Prueba de control en lazo cerrado
99
En este captulo se presentan algunas de las pruebas realizadas con el sistema de control digital desarrollado, as como la aplicacin del software de adquisicin y tratamiento de seales que lo complementa. Las pruebas que se describen son: Control en lazo abierto de un circuito de prueba para conmutacin dura. Control de un inversor monofsico en puente completo. Control en lazo cerrado.
Figura 8.1. Arreglo de pruebas del sistema de control digital, adquisicin y tratamiento de seales
100
Resultados experimentales
Figura 8 2 Circuito de prueba para conmutacin 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 (Seccin 3.3). En esta prueba se utilizaron los IGBTs IRGPH30F y CM100DU-24F como DUT y QAux respectivamente. Para la ejecucin de la prueba se utiliz la funcin Conmutacin Doble descrita en la Seccin 7.1.1, que es especfica para la generacin de secuencias de disparo como la mostrada en la Figura 2.4. En la Figura 8.3 se muestra la ventana de dilogo con los parmetros que se especificaron para la prueba en conmutacin dura.
101
Las mediciones realizadas con el osciloscopio digital se transfirieron a la PC utilizando la funcin Adquisicin de Seales descrita en la Seccin 7.1.2. Las seales 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 conmutacin en diferentes escalas de tiempo. En las Figuras 8.7 y 8.9 se muestran las curvas de potencia y energa disipadas calculadas a partir de los datos transferidos por el osciloscopio (Seccin 7.3.2), informacin til para la estimacin del esfuerzo al que se ve sometido el dispositivo bajo prueba o en el diseo de disipadores de calor. Los resultados obtenidos muestran que el control de las conmutaciones se apega a los parmetros especificados en la ventana de dilogo de la Figura 8.3, presentndose los transitorios por conmutacin dura descritos en la Seccin 2.2.
102
Resultados experimentales
Figura 8.4. En orden descendente: seales de compuerta y voltaje colector-emisor de QAux y del DUT, corriente en la bobina de carga
103
Figura 8.7. Flanco de encendido: voltaje, corriente, potencia y energa disipada en el DUT
104
Resultados experimentales
105
Figura 8.10. Circuito inversor monofsico 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 segn 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 perodo de funcionamiento.
Figura 8.11. Seales de control y voltaje de salida en un inversor monofsico puente completo
106
Resultados experimentales
En apariencia, las seales para Q0 y Q1 son mutuamente complementarias. Sin embargo, despus de apagar Q0 se debe esperar un tiempo antes de encender Q1, de otro modo ocurrira un cortocircuito en la fuente de alimentacin dados los tiempos finitos de conmutacin de los interruptores que provocara que ambos dispositivos estuvieran en conduccin al mismo tiempo. Estas consideraciones son idnticas para Q2 y Q3, de modo que la secuencia real de conmutacin comprende nueve estados diferentes en cada perodo de operacin, como se muestra en la Figura 8.12.
Figura 8.12. Seales de control en un inversor monofsico puente completo Analizando las seales en la Figura 8.12 se obtienen las caractersticas de la secuencia completa de disparo a generar con el sistema de control digital, informacin que se resume en la Tabla 8.1. Los tiempos de activacin corresponden a una seal de salida de 60 Hz, para el tiempo de espera entre el encendido de interruptores se escogi 2s. Tabla 8.1. Resumen de estados para control del inversor monofsico Estado IGBTs encendidos Tiempo de activacin 0 Q2 Q0 1.388 ms 1 Q0 2s 2 Q3 Q0 5.555 ms 3 Q3 2s 4 Q3 Q1 2.777 ms 5 Q1 2s 6 Q2 Q1 5.555 ms 7 Q2 2s 8 Q2 Q0 1.388 ms
107
Para enviar los parmetros de prueba hacia el sistema de control digital se utiliz la funcin Definir Secuencia descrita en la Seccin 7.1.1. En la Figura 8.13 se presenta la ventana de dilogo con los parmetros 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.
108
Resultados experimentales
En la Figura 8.15 se muestran las seales 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. Seales generadas por el sistema de control digital para las conmutaciones en el inversor monofsico
Figura 8.16. Detalle del tiempo de espera entre las conmutaciones de dos dispositivos en una misma rama del inversor
109
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: unin Q0-Q1, unin 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 operacin, sin que se observara desviacin en el comportamiento del sistema. Aunque la prueba descrita en esta seccin no se relacione directamente con un circuito orientado a la caracterizacin de dispositivos de potencia, sirve para ilustrar la flexibilidad del control digital y su facilidad de adaptacin a otras aplicaciones.
110
Resultados experimentales
La salida Q1 del sistema de control digital se utiliz para cargar un condensador cuyo voltaje se realiment a travs 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 Captulo 2. Para la ejecucin de la prueba se utiliz la funcin Conmutacin Doble (Secciones 7.1.1 y 8.2) con los siguientes parmetros de operacin: Encendido auxiliar: 8s Voltaje de consigna: 2 V Tiempo de preencendido: 2s Tiempo de encendido: 2s Ciclos en modo impulsional: 1 En la Figura 8.19 se presentan las formas de onda obtenidas cuado no se habilita el botn Esperar Interrupcin (Figura 8.3), es decir, cuando el control se realiza en lazo abierto. Las seales 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 funcin Esperar Interrupcin, obtenindose las seales mostradas en la Figura 8.20.
111
Se observa que la seal Q1 permanece activa menos de 2s a pesar de que no se cambiaron los parmetros de temporizacin, 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 activacin de Q0 no se modificaron con respecto al apagado de Q1.
112
Resultados experimentales
El monitoreo de las seales analgicas en el control digital permite la generacin de pulsos de encendido menores a 1.38s, intervalo mnimo 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 (ntese el cambio de escala con respecto a las Figuras 8.19 y 8.20). En estas condiciones el tiempo de activacin de Q1 fue cercano a 800 ns en respuesta a la carga del condensador.
En este captulo se describi la aplicacin 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 operacin con ms componentes y fases de conmutacin en una secuencia definida al momento de las pruebas, lo que ilustra la flexibilidad del sistema para adaptarse a modos de operacin diversos. Los resultados obtenidos muestran la funcionalidad del sistema de control digital y su utilidad en la generacin de distintas secuencias de disparo para DSEP, as como la aplicacin del software de adquisicin y tratamiento de seales.
113
114
CAPTULO 9
CONCLUSIONES
9.1 Sistema de control digital 9.2 Interfaz de usuario, adquisicin y tratamiento de seales 9.3 Trabajos futuros
115
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 adquisicin y tratamiento de seales. Con la integracin de estos elementos se forma una herramienta de apoyo para el modelado y caracterizacin de DSEP, que tambin puede emplearse para evaluar el desempeo de dispositivos y esquemas de conmutacin como parte del diseo de circuitos electrnicos de potencia. A partir del anlisis de circuitos tpicos para la prueba y caracterizacin de DSEP se identificaron los requerimientos funcionales del sistema, que sirvieron como base para la especificacin, diseo e implementacin de un prototipo electrnico del sistema de control digital, as como del software necesario para su operacin. A continuacin se resumen las principales caractersticas de los distintos elementos desarrollados.
Se desarrollaron algoritmos en el lenguaje ensamblador del microcontrolador PIC17C44 para ejecutar las siguientes funciones en el control digital: Comunicacin serial RS-232 a 9600 baudios para la recepcin de comandos y datos de acuerdo a un protocolo propio Operacin del hardware del control digital: memoria FIFO, conversin analgico/digital, elementos de muestreo y retencin y comparadores analgicos
116
Conclusiones
Control de la salida de las seales de control por conteo de tiempo o por interrupcin de los comparadores analgicos Modo de prueba de hardware Modo de control de conmutacin de dos interruptores Modo genrico 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 parmetros de prueba y modificarlos sin tener que elaborar o ajustar circuitos de control especficos. Flexibilidad para adaptarse a una amplia variedad de condiciones de prueba. En el modo de operacin genrico se pueden especificar secuencias de disparo arbitrarias hasta para ocho dispositivos de potencia. Independencia de las caractersticas elctricas especficas de los DSEP en el banco de pruebas, asumiendo un acondicionamiento adecuado de las salidas digitales y de las entradas analgicas. Operacin robusta al tener un microcontrolador dedicado al secuenciamiento de las seales de control, minimizando la posibilidad de fallas de operacin por alteraciones en el orden o en la duracin de las secuencias de disparo que pudieran tener efectos graves en los circuitos de potencia. Las restricciones ms importantes del sistema de control digital son: Cuando se realiza el conteo de tiempo por software en el control digital, la duracin mnima posible para una seal de disparo es de 1.38s. Para tener seales ms breves se debe utilizar una variable analgica como consigna que limite la duracin de las seales de disparo. Al enviar la informacin de la secuencia de disparo al control digital, se establece un orden fijo para los estados de encendido/apagado, una vez que la generacin de las seales de control se ha iniciado no se puede modificar la secuencia de las seales.
117
118
Conclusiones
Las funciones para manejo de archivos requieren que el usuario introduzca la ubicacin y nombre completo de los archivos de datos, las ventanas de dilogo carecen de facilidades para el usuario como la exploracin de subdirectorios o la bsqueda 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, operacin que no es compleja pero que impide la compatibilidad directa.
paralelo o serial de cualquier PC, de modo que el sistema de adquisicin de seales sea ms porttil.
119
120
Referencias
[1] A. Claudio, M. Cotorogea, "Caracterizacin y Modelado de Dispositivos Semiconductores de Potencia", 1er Seminario de Electrnica del CENIDET, Memoria Tcnica. Cuernavaca Morelos, Mxico, 1998. pp 27 a 34. A. Camera, C. Crovetto et al, "Electrical and Thermal Characterization of High Power Press-Packed IGBT", Power Semiconductors Italian Corporation, www.poseico.com. H. Giessibl, "Power Testing, Static and Dynamic Parameter in One Handling", Europe Official Proceedings of the 26th International Power Conversion Conference, junio 1993. G. Cauffet, "Optimisation Dune Chaine de Mesures Electriques pour Lelectronique de Puissance", tesis doctoral, cole Suprieure dIngnieurs de Marseille, 1992. Ebraim Farjah, "Contribution Aux Characterisations electrique et Thermique des Transistors de Puissance a Grille Isolee", tesis doctoral, LEG, octubre 1994. A. Claudio S, "tude Comportementale des IGBT Dans le Divers Modes de Commutation", tesis doctoral, cole Suprieure dIngnieurs de Marseille, noviembre 1995. 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. H. Gldner, N. Schmidt, "Unconventional Determination of Parameters for Magnetic Components in Power Electronics", Power Conversion Proceedings, junio 1994. J. Aguayo, "Anlisis Comparativo de Transistores IGBT tipo PT y NPT en Diferentes Modos de Conmutacin", tesis de maestra, Centro Nacional de Investigacin y Desarrollo Tecnolgico. Cuernavaca, Morelos, Mxico, abril 2000.
[2]
[3]
[7]
[8] [9]
[10] M. A. Rodrguez, "Desarrollo e Implementacin de un Procedimiento de Extraccin de Parmetros de un Modelo Fsico del IGBT", tesis de maestra, Centro Nacional de Investigacin y Desarrollo Tecnolgico. Cuernavaca, Morelos, Mxico, junio 2001. [11] J. Macedonio, "Anlisis del Super Junction MOSFET Enfocado al Diseo de Fuentes de Alimentacin Altamente Eficientes", tesis de maestra, Centro Nacional de Investigacin y Desarrollo Tecnolgico. Cuernavaca, Morelos, Mxico, julio 2002.
121
[12] I. Alcal, "Desarrollo e Implementacin de un Banco de Pruebas para Caracterizar Dispositivos de Alta Potencia", tesis de maestra, Centro Nacional de Investigacin y Desarrollo Tecnolgico. Cuernavaca, Morelos, Mxico, 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, www.lorlin.com "Double Impact Discrete Semiconductor Testers",
[17] J. Aguayo, A. Claudio, M. Cotorogea, "Anlisis Comparativo de Transistores IGBT tipo PT y NPT en Conmutacin Dura", CIECE 1999, Guanajuato, Mxico. [18] J. Aguayo, A. Claudio, M. Cotorogea, "Anlisis Comparativo de Transistores IGBT tipo PT y NPT en Cortocircuito", CIE 1999, Mxico, D.F. [19] P. Njera, "Rectificador conmutado con correccin del factor de potencia y conmutacin suave cero tipo cuasirresonante a corriente cero", tesis de maestra, Centro Nacional de Investigacin y Desarrollo Tecnolgico. Cuernavaca, Morelos, Mxico, 1997. [20] D. Lafore, A. Claudio, J.P. Keradec, "Testing Power Components Soft and Hard Switching", ESREF 93. [21] Dallas Semiconductor, "Fundamentals of RS232 Serial Communications", nota de aplicacin 83. [22] J. Goldie, "Summary of Well Known Interface Standards" nota de aplicacin 216 de National Semiconductor. Enero 1996. [23] W. Tomasi, "Electronic Communication Systems" 4a edicin,. Ed. Prentice Hall, 2001. pp 535 ss. [24] Tektronix Inc., "TDS Family Digitizing Oscilloscopes. Programmer Manual".
122
Apndice 1
123
Figura A1.1. Conexin del microcontrolador a las etapas de comunicacin serial y memoria
124
Apndice 1
Figura A1.2. Conexin de las etapas de conversin digital/ analgica, muestreo y retencin y comparacin analgica
125
126
Apndice 1
127
128
Apndice 1
129
130
Apndice 2
131
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia ;******************************************************************************************* ; SCDATS.ASM SISTEMA DE CONTROL DIGITAL ; ; MANEJO BSICO DEL DAC, S&H y FIFO. ; CONTROL DE CONMUTACIN DOBLE. ; SECUENCIA GENRICA DE CONMUTACIN. ; ATENCIN A INTERRUPCIN DE COMPARADORES EN RA0. ; RECEPCIN DE COMANDOS VA SERIAL, 9600 bauds @32 MHz ; CADENAS DE COMANDOS: ; IDENTIFICADOR/COMANDO/OOH/CHKSUM ; IDENTIFICADOR/COMANDO/N_DAT/DATO_H/DATO_L/.../CHKSUM ; ;******************************************************************************************* PROCESSOR INCLUDE INCLUDE 17C44 <P17C44.INC> <SCDATS.INC>
__CONFIG _XT_OSC & _WDT_OFF & _MC_MODE ORG 0 GOTO INICIO ; VECTOR DE INTERRUPCIONES: ORG 0008h GOTO RUT_INT0 ORG 0010h BCF T0STA,T0CS RETFIE ; Interrupcin externa en RA0. ; Atencin a interrupcin, ; inhabilitacin del Timer0.
ORG 0020h ; Interrupciones de perifricos. GOTO RUT_INTPER ORG 0030h RESP_OK DATA 0x7355 ;--INICIO MOVLR 1 ; Banco de RAM 1. CALL INI_PUERTOS ; Inicia los puertos E/S. CALL INI_SERIE ; Inicializa el puerto serie. BCF BSF BCF BSF ALUSTA,FS1 ALUSTA,FS0 ALUSTA,FS3 ALUSTA,FS2 ; FSR0 se incrementa despus de ; cada acceso. ; FSR1 se incrementa despus de ; cada acceso.
PROGRAMA PRINCIPAL
132
Apndice 2 LAZO0 MOVLW MOVWF MOVLW MOVWF LOW RESP_OK ; Carga el apuntador al mensaje TBLPTRL HIGH RESP_OK TBLPTRH
MOVLW 2 MOVWF LONG CALL INI_XMT ; Transmite 2 bytes de mensaje inicial. LAZO1 CALL PREP_RECEP MOVLB LAZO2 TSTFSZ GOTO DECOD_COM MOVLW CPFSEQ GOTO CALL GOTO SIG_COM0 MOVLW CPFSEQ GOTO CALL GOTO SIG_COM1 MOVLW CPFSEQ GOTO CALL GOTO SIG_COM2 MOVLW CPFSEQ GOTO CALL GOTO SIG_COM3 MOVLW CPFSEQ GOTO CALL GOTO RECEP LAZO2 ; Espera hasta recibir un comando. ; Decodificacin del comando recibido. ECO COMND SIG_COM0 TXM_RESP LAZO1 V_DAC COMND SIG_COM1 VSAL_DAC LAZO0 ONDA_T COMND SIG_COM2 PBA_DAC LAZO0 HAB_SH COMND SIG_COM3 SEL_SH LAZO0 HAB_CM COMND SIG_COM4 SEL_CMP LAZO0 ; Salida de voltaje en DAC. 0 ; Prepara la recepcin.
; Habilitacin de S&H.
133
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia SIG_COM4 MOVLW CPFSEQ GOTO CALL GOTO SIG_COM5 MOVLW CPFSEQ GOTO CALL CALL GOTO SIG_COM6 MOVLW CPFSEQ GOTO GOTO
E_FIFO COMND SIG_COM5 ESC_MF LAZO0 L_FIFO COMND SIG_COM6 LEC_MF TXM_RESP LAZO1 CMDBt COMND SIG_COM7 COM_DB
; Conmutacin doble.
SIG_COM7 MOVLW CMDBx ; Conmutacin doble con interrupcin. CPFSEQ COMND GOTO SIG_COM8 COM_DB MOVLW 0x0A MOVWF IDENT MOVLW COMND MOVWF RXPTR CALL TXM_RESP ; Responde con el nmero de datos recibidos. CALL RuDOBt GOTO LAZO1 SIG_COM8 MOVLW SECUG CPFSEQ COMND GOTO SIG_COMF MOVLW 0x73 MOVWF IDENT MOVLW COMND MOVWF RXPTR CALL TXM_RESP CALL RuSECU SIG_COMF GOTO LAZO1 ; Secuencia genrica de conmutacin.
; Regreso.
134
Apndice 2 ;----------------------------------------------------------------------; SUBRUTINAS ;----------------------------------------------------------------------; ESTADO INICIAL DE LOS PUERTOS DE ENTRADA/ SALIDA:
INI_PUERTOS BSF T0STA,INTEDG ; Seleccin de flanco ascendente para interrupcin en RA0. 0x0FF PORTB ; Todos los comparadores bloqueados. DDRB ; Puerto B como salida. 1 ; Seleccin del banco 1.
; Puertos C, D, y E como salidas digitales. PORTC ; Puerto C: Datos 0 a 7. PORTD ; Puerto D: Datos 8 a 11 y control de FIFO en 0. PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
MOVLW MOVWF CLRF NOP NOP CLRF NOP NOP CLRF BSF NOP NOP NOP BCF BCF BCF DDRD
0x03 PORTE ; Puerto E: Selectores de DAC, S&H en 1, latch de comparadores en 0. ; Se activa primero el puerto de control de FIFO,
DDRE ; para evitar colisin con los datos. DDRC PORTE,COMPS ; Pulso de captura en el latch de comparadores.
INI_SERIE MOVLB MOVLW MOVWF 0 ; Seleccin del banco 0. VEL_COM ; 9600 baudios @32 MHz. SPBRG
135
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia MOVLW MOVWF CLRF 0x90 RCSTA ; Pines para USART.
TXSTA, F
; Inicia el estatus de transmisin. ; Seleccin del banco 1 ; Limpia las banderas de interrupcin ; y sus bits de habilitacin.
CLRF PIR, F ; Limpia las banderas de interrupcin CLRF PIE, F ; y sus bits de habilitacin. BSF PIE,RCIE ; Activa la interrupcin por recepcin. MOVLW VECTOR ; Apunta al inicio del buffer de recepcin MOVWF RXPTR CLRF INTSTA, F ; Limpia las interrupciones BSF INTSTA,PEIE ; y habilita las de perifricos. MOVLB 0 BSF RECEP,1 MOVLW ADDLW MOVWF BCF 0x04 VECTOR LONG
CPUSTA,GLINTD
RETURN ;------------------------------------------------------------------------INI_XMT MOVLB 0 BSF ; Inicia la transmisin. ; Seleccin del banco de registros 0. ; Habilita la transmisin ; Carga el registro ; Carga el byte alto ; TXBUF vaco?
TXSTA,TXEN
136
Apndice 2 DECF LONG,F ; Decrementa el contador. ; Carga el byte bajo ; TXBUF vaco?
TXM_RESP BSF CPUSTA,GLINTD 0 ; Apunta al inicio del buffer de recepcin ; Inhibe las interrupciones durante la respuesta.
MOVLB
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 GOTO REGVAC CPFSEQ FSR0 GOTO TX_BYTE RETURN
; TXBUF vaco?
137
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia CLRF DDRC ; Puerto C como salida. 0x0F DATO_H,F ; Enmascara el nibble ms significativo. DATO_H,OE_FIFO ; Sigue inhabilitando las salidas de la FIFO. DATO_L,PORTC DATO_H,PORTD PORTE,CS_DAC PORTE,CS_DAC ; Escribe los datos al bus.
RETURN ;----------------------------------------------------------------------------; ; ONDA DE PRUEBA DE CONVERTIDOR DIGITAL/ANALGICO PONER OE DE FIFO SIEMPRE EN 1, CONTEO DE 8800 - 8FFF - 8000 - 8800
CLRF DATO_L MOVLW 0x88 MOVWF DATO_H V_ASC CALL VSAL_DAC INCFSZ GOTO INCF MOVLW CPFSGT GOTO MOVLW MOVWF MOVLW MOVWF V_DSC CALL DECFSZ GOTO VSAL_DAC DATO_L,F V_DSC DATO_L,F V_ASC DATO_H,F 0x8F DATO_H V_ASC 0xFE DATO_L 0x8F DATO_H
; Incrementa el LSB. ; Incrementa el MSB, ; si no ha rebasado 8Fh, regresa. ;Fase de descenso: 8FFEh a 8000h.
;Decrementa el LSB.
138
Apndice 2 DECF MOVLW CPFSEQ GOTO V_ASF CALL INCFSZ GOTO INCF MOVLW CPFSEQ GOTO CALL RETURN ;----------------------------------------------------------------------------; SELECCIN DE UN ELEMENTO DE MUESTREO Y RETENCIN. DATO_H,F 0x80 DATO_H V_DSC ; Decrementa el MSB hasta llegar a 80h.
; Ascenso final: 8000h a 8800h. VSAL_DAC DATO_L V_ASF DATO_H,F 0x88 DATO_H V_ASF VSAL_DAC ; Incrementa el LSB. ; Incrementa el MSB. ; Si no ha llegado a 88h, regresa. ; Salida final en 0 volts.
; Puerto C como salida. 0x07 DATO_i,F ; Enmascara para dejar slo 3 bits.
MOVLW ANDWF MOVFP NOP BCF MOVLW ESP_SH DECFSZ GOTO BSF
DATO_i,PORTC ; Escribe los datos al bus. PORTE,INH_SH ; INH en nivel bajo. 0x16 WREG ESP_SH ; Tiempo de adquisicin de 7 us, .
RETURN
139
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia ; SELECCIN DE COMPARADORES ANALGICOS: 0 DATO_i,PORTB ; Habilita los comparadores. 1 PORTE,COMPS ; Activa el latch? 0x16 WREG ESP_CM ; Inhibe el latch?
SEL_CMP MOVLB MOVFP NOP MOVLB BSF MOVLW ESP_CM DECFSZ GOTO BCF
PORTE,COMPS
RETURN ;----------------------------------------------------------------------------; ESCRITURA DE UNA TRAMA DE BYTES A MEMORIA FIFO: CPUSTA,GLINTD ; Inhibe las interrupciones durante la escritura.
ESC_MF BSF
MOVLB 1 BCF PORTD,RS_FIFO NOP NOP NOP BSF PORTD,OE_FIFO NOP BSF PORTD,RS_FIFO CLRF DDRC
MOVLW DATO_i MOVWF FSR0 BCF BSF MOVFP DECF E_DATO MOVFP BSF NOP BCF ALUSTA,FS1 ALUSTA,FS0
RXPTR,WREG ; Apuntador al fin del mensaje recibido. WREG,0 INDF0,PORTC ; Escribe el byte al bus de datos. PORTD,WC_FIFO PORTD,WC_FIFO FSR0 E_DATO ; Flanco ascendente en WCLK.
CPFSEQ GOTO
140
Apndice 2 MOVLB RETURN ;----------------------------------------------------------------------------; LECTURA DE UN BYTE DE MEMORIA FIFO: 1 0xFF DDRC ; Puerto C como entrada. 0
LEC_MF MOVLB MOVLW MOVWF NOP NOP BCF NOP NOP BSF NOP NOP BCF
MOVLW T_EST DECFSZ GOTO MOVPF MOVLW MOVWF MOVLW MOVWF RETURN
; IDENTIFICADOR/COMANDO/N_DAT/nEDOS/nCICS/DATO_H/DATO_L/.../CHKSUM RuDOBt BSF CPUSTA,GLINTD 1 0xFF DDRC ; Puerto C como entrada. ; Inhabilitacin general de interrupciones.
141
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia BCF CLRF CLRF BCF BCF BCF BSF PORTD,OE_FIFO TMR0L TMR0H ; Activa las salidas de la FIFO.
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 SIG_CIC BCF BCF INTSTA,INTE ; habilita la interrupcin externa en RA0. CPUSTA,GLINTD ; Habilitacin general de interrupciones. ALUSTA,Z ; Bandera de Cero en X!=0. ; Control de conmutacin doble. ; Inhabilitacin general de interrupciones.
CPUSTA,GLINTD INTSTA,T0IE
142
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 MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF IniCi MOVLW MOVWF MOVLW MOVWF FASE1 INDF1 R_INTX INDF1 FASE2 INDF1 FASE3 INDF1 FASE4 INDF1 TEMPi ; Se carga el apuntador a temporizaciones FSR0 ; en el inicio de la tabla. TPROC ; Se carga el Apuntador a Procesos FSR1 ; en el incio de la tabla.
;------ Estado inicial: interruptor auxiliar encendido, DUT apagado. FASE0 BSF BSF BCF BCF MOVPF PORTD,RC_FIFO ; Flanco ascendente en RCLK. PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura. PORTD,RC_FIFO PORTD,WC_FIFO ; Regreso de RCLK y WCLK al estado inactivo. INDF0,WREG ; Carga el tiempo de encendido auxiliar y espera.
MOVFP INDF1,PCL ;------ Cambio de estado: interruptor auxiliar y DUT apagados. FASE1 BSF BSF PORTD,RC_FIFO PORTD,WC_FIFO
143
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia BCF BCF MOVFP R_INTX BCF MOVPF PORTD,RC_FIFO PORTD,WC_FIFO INDF1,WREG ; Incremento de FSR1 para apuntar a FASE2
INTSTA,INTE ; Inhibe la interrupcin externa en RA0. INDF0,WREG ; Carga el tiempo de preencendido y espera.
MOVFP INDF1,PCL ;------ Cambio de estado: interruptor auxiliar apagado, DUT encendido. FASE2 BSF BSF BCF BCF MOVPF PORTD,RC_FIFO PORTD,WC_FIFO PORTD,RC_FIFO PORTD,WC_FIFO INDF0,WREG ; Carga el tiempo de encendido del DUT y espera.
BTFSC ALUSTA,Z GOTO LTEMP0 PAUS2 DECFSZ GOTO MOVFP WREG PAUS2 INDF1,PCL
;------ Cambio de estado: interruptor auxiliar y DUT apagados. FASE3 BSF BSF BCF BCF MOVPF PORTD,RC_FIFO PORTD,WC_FIFO PORTD,RC_FIFO PORTD,WC_FIFO INDF0,WREG ; Carga el tiempo entre ciclos.
MOVFP INDF1,PCL
144
Apndice 2 FASE4 MOVLW CPFSEQ DECFSZ GOTO RSETF 0x00 nCICS nCICS IniCi ; Verifica los ciclos pendientes.
; 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 MOVPF BSF ESP0 INDF0,TMR0L ; Para salir de siguientes estados INDF0,TMR0H T0STA,T0CS ; Habilitacin de Timer0.
BTFSC T0STA,T0CS GOTO ESP0 MOVFP INDF1,PCL ; Regreso a la siguiente fase de la conmutacin doble.
;------------------------------------------------------------------------------; SUBRUTINA DE SECUENCIA GENRICA DE CONTROL. CPUSTA,GLINTD 1 0xFF DDRC ; Puerto C como entrada. ; Inhabilitacin general de interrupciones.
RuSECU BSF
MOVLB MOVLW MOVWF NOP NOP BCF CLRF CLRF BCF BCF BSF
; Timer 0 inicializado en 00. ; Limpieza de las banderas de interrupciones. ; Habilitacin de interrupcin ; por sobreflujo de Timer0.
145
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia MOVLW SECGx CPFSEQ COMND GOTO SIG_CCL MOVLB 0 BCF PORTB,0 NOP ; Comutacin genrica con interrupcin?
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 SIG_CCL BCF INTSTA,INTE ; Habilita la interrupcin externa en RA0. CPUSTA,GLINTD TEMPi AP_TMP ; Habilitacin general de interrupciones. ; Respalda el apuntador a temporizaciones.
MOVLW MOVWF MOVLW MOVWF MOVWF MOVLW MOVWF MOVWF MOVLW MOVWF MOVWF CISAL MOVFP MOVWF MOVFP BCF BSF BSF BCF BCF CICLO
TPROC ; Respalda el apuntador a procesos. AP_PRO FSR1 ; Se carga el Apuntador a Procesos ; en el incio de la tabla. CMB_EDO AP_NINT INDF1 DECR2 AP_RINT INDF1 ; Se guarda la posicin de retorno de conteo largo.
nEDOS,WREG ; Respalda el nmero de estados. nEDOx ; en el contador auxiliar. AP_TMP,FSR0 ; Se carga el apuntador a temporizaciones ; en el incio de la tabla.
ALUSTA,Z
; Estado inicial. PORTD,RC_FIFO ; Flanco ascendente en RCLK. PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura. PORTD,RC_FIFO PORTD,WC_FIFO
146
Apndice 2 MOVPF BTFSC GOTO DECR1 DECFSZ GOTO MOVFP CMB_EDO BSF BSF BCF BCF DECR2 DECFSZ GOTO DECFSZ GOTO RSTTR MOVLB 1 BSF PORTD,OE_FIFO NOP BCF PORTD,RS_FIFO RETURN ;------ Subrutinas de conteo largo para secuencia genrica. LTEMPG MOVPF MOVPF BSF ESPG INDF0,TMR0L INDF0,TMR0H T0STA,T0CS ; Habilitacin de Timer0. ; Inhibe las salidas de la FIFO. ; FIFO en estado de Reset. WREG,F DECR1 INDF1,PCL ; Cambio de estado INDF0,WREG ALUSTA,Z LTEMP0
; Verifica los estados pendientes del ciclo actual. nEDOx,F CICLO nCICS,F CISAL ; Verifica los ciclos pendientes.
BTFSC T0STA,T0CS GOTO ESPG MOVFP INDF1,PCL ; Regreso a la siguiente fase de la conmutacin genrica.
147
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia ;----------------------------------------------------------------------------; SUBRUTINAS DE ATENCIN A INTERRUPCIONES
PORTE,COMPS ; Pulso de captura en el latch de comparadores. INDF1,WREG ; Incremento de FSR1 para apuntar ; al regreso despus de interrupcin. PORTE,COMPS ; Inhibe el latch de comparadores. 01h ; Contador de tiempo en 1.
MOVLW RETFIE
RUT_INTPER MOVLB 0 MOVLW CPFSEQ GOTO ; Banco 0 IDENT RXPTR V_NDAT ; Si es el primer dato,
MOVLW ID_TRM ; verifica el identificador, CPFSEQ RCREG GOTO FIN_RUT ; sale si no coincide, GOTO REG_DREC ; almacena si el identificador es vlido. V_NDAT MOVLW CPFSEQ GOTO MOVFP ADDWF REG_DREC BSF
ALUSTA,FS1
MOVFP RXPTR,FSR0 ; Recupera el apuntador MOVFP RCREG,INDF0 ; y almacena el valor recibido. INCF FSR0, F ; Incrementa y respalda el apuntador.
148
Apndice 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: 32000000 9600 (CLKFREC/(64*BAUDS))-1 73h ; Identificador de inicio de trama.
Comandos: EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 10h 11h 12h 13h 14h 15h 16h 17h 18h 19h 20h ; Respuesta a comando de prueba de comunicacin serie. ; Seleccin de voltaje de salida del DAC. ; Onda triangular de prueba en el DAC. ; Habilitacin de un elemento de muestreo y retencin. ; Habilitacin de comparadores. ; Escritura de una cadena de bytes en memoria FIFO. ; Lectura de un byte de memoria FIFO. ; Control de conmutacin doble. ; Conmutacin doble con interrupcin externa. ; Secuencia genrica de control. ; Secuencia de control con interrupcin externa.
ECO V_DAC ONDA_T HAB_SH HAB_CM E_FIFO L_FIFO CMDBt CMDBx SECUG SECGx
149
Sistema de control digital para un banco de pruebas de dispositivos electrnicos de potencia ; IDENTIFICADORES PARA MANEJO DE PUERTOS:
; PUERTO D: RC_FIFO WC_FIFO RS_FIFO OE_FIFO ; PUERTO E: CS_DAC INH_SH COMPS EQU EQU EQU 0 1 2 EQU EQU EQU EQU 4 5 6 7
;-------------------------------------------------------------------; APUNTADORES EN EL BANCO 1 DE RAM: EQU EQU EQU EQU EQU EQU EQU EQU EQU EQU 120h 121h 122h 123h 124h 125h 126h 127h 128h 130h ; Tamao de la trama a enviar o recibir.
LONG RXPTR RECEP nEDOx AP_TMP AP_PRO D_RET AP_RINT AP_NINT TPROC ;
VECTOR ;
Trama de comando mnima: EQU EQU EQU EQU VECTOR VECTOR+1 VECTOR+2 VECTOR+3 ; Identificador. ; Cdigo de comando. ; Nmero de bytes de datos. ; Byte de comprobacin.
Posicin de los datos: EQU EQU EQU equ equ equ VECTOR+3 VECTOR+3 VECTOR+4 VECTOR+3 VECTOR+4 VECTOR+5 ; Nmero de estados de la secuencia por leer. ; Nmero de ciclos de salida (repeticiones). ; Inicio de temporizaciones.
150