Inicio Instrumentación Secuencia de encendido y apagado

Secuencia de encendido y apagado

Los secuenciadores de alimentación se utilizan habitualmente en diseños de placas a nivel de sistema en las cuales es preciso recurrir a varias fuentes de alimentación de forma secuencial. Sin embargo, los ingenieros pueden implementar fácilmente un diseño de secuenciador de alimentación con un pequeño microcontrolador y éste puede modificarse para controlar un número diverso de módulos de tensión en diseños diferentes. Por regla general, los sistemas que utilizan un secuenciador de alimentación incorporan distintos componentes que requieren diferentes tensiones y niveles de alimentación. La secuencia de habilitación de las tensiones diferentes aseguraría que no haya conflicto entre los componentes activados y que todas las unidades se activen correctamente. Cuando se apaga el sistema, también podría haber una secuencia.

Las secuencias de encendido y apagado son programables y basadas en el tiempo. Tomemos como ejemplo un secuenciador de alimentación de cuatro canales en el cual las cuatro tensiones son 5,0; 3,3; 2,5 y 1,8 V. Cada una de esas tensiones se suministra a través de un módulo de alimentación (power module, PM). Estos PM habitualmente tienen cinco patillas: alimentación de entrada y salida, tierra, habilitación y ajuste.

Los usuarios no están limitados a cuatro PM dado que un formato modular podría dar soporte a un número de hasta diez PM que se pueden añadir o quitar para cubrir todas las necesidades. Para la aplicación anterior se seleccionó el dispositivo PIC16F1509 de Microchip con núcleo mejorado. Los periféricos que se utilizaron fueron GPIO, temporizador 1, convertidor A/D, I2C y PWM. Los PM pueden ser bloques de fuente de alimentación estándar, comercializados con capacidades específicas de corriente y alimentación. El PM utilizado en este diseño es el modelo VRAE-10E1A0 fabricado por BEL Power Products. Cada PM tiene cinco patillas: tensión de entrada (VIN), tensión de salida (VOUT), tierra, entrada de habilitación y ajuste de salida. La señal de habilitación se activa con un nivel alto y, una vez habilitada, la tensión de salida del PM aparece en la patilla de la tensión de salida. La patilla de ajuste con la resistencia Rtrim asociada permite ajustar la tensión de salida como se desee. La tensión en la patilla de ajuste se suele situar alrededor de 0,591 V.

Una tensión CC en la patilla de ajuste también permite que el sistema proporcionar cierta regulación de carga de tensión de VOUT. En este diseño, la tensión CC se suministra desde el circuito del filtro RC controlado por PWM que proporciona una salida de conversión D/A a la patilla de ajuste. Una alternativa es suministrar esta tensión CC mediante resistencias fijas desde la patilla de ajuste a GND sin tensión de conversión D/A de ajuste con PWM. Con esta opción se eliminaría el PWM, con su hardware y firmware asociado en el microcontrolador.

Encendido

Para controlar la secuencia de encendido se utilizó el PIC16F1509 trabajando a 5,0 V y 4 MIPS, con reloj RC interno. La secuencia de encendido se inicia con una instrucción en serie a través del interface I2C y presionando un pulsador.

Cada PM sigue una secuencia con un intervalo de tiempo ajustado entre 1 y 16.393 ms (16,4 s) con una precisión de 1 ms. Por ejemplo, PM1 puede entrar en funcionamiento 10 ms después de la instrucción de encendido, seguido por PM2 al cabo de 25 ms, PM4 tras 200 ms y PM3 tras 1000 ms. Cada PM tiene un valor de tiempo de conexión correspondiente, que es un valor entero no asignado de 14 bit en firmware. Este valor se compara con un valor del temporizador incrementado cada milisegundo. Si hay una correspondencia entre el valor del temporizador y el valor del tiempo de conexión del PM, se activa el PM correspondiente. Los tiempos de encendido-apagado pueden ser seleccionados por el usuario y guardados en la memoria flash del microcontrolador. La secuencia de encendido-apagado se puede iniciar y detener mediante el interface gráfico de usuario (GUI) de I2C serie. Cuando se conecta un PM, la salida de PWM correspondiente se habilita y se supervisa VOUT mediante el convertidor A/D del microcontrolador.

 El ciclo de trabajo del PWM corresponde con el valor del convertidor D/A de 8 bit para el PM. Este valor del convertidor D/A puede ser cambiado por el usuario en el GUI o en el firmware. La tensión de ajuste se genera mediante una combinación de Rtrim y la salida de PWM procedente del microcontrolador. Esta salida de PWM se envía al filtro RC para generar una tensión del convertidor D/A, que junto a la resistencia Rtrim se aplica a la patilla de ajuste del PM. La salida del PM se supervisa con un convertidor A/D de 10 bit en el microcontrolador. Cada tensión del PM se promedia sobre 16 lecturas para dar un valor de 14 bit. Solo se usan los ocho bits más significativos de este valor como referencia para el valor de tensión VOUT de cada PM.

 La referencia de tensión del convertidor A/D es VDD o 5,0 V. Por ejemplo, si la tensión de salida del PM es 2,5 V, la precisión de la medida sería (2,5 V / 5,0 V)/256 = 1,95 mV. Todas las tensiones de salidas se supervisan constantemente para verificar si se encuentran dentro de los límites de sobretensión especificados. Si la tensión del PM se encuentra por encima o por debajo de los límites de subtensión o sobretensión, respectivamente, se indica señala un fallo y el sistema se desconecta automáticamente.

Apagado

El microcontrolador también controla la secuencia de apagado programable de las cuatro fuentes de alimentación. La secuencia de apagado se inicia en una instrucción serie desde el I2C, cualquier fallo en el PM o en la tensión de entrada y presionando el pulsador. Cada PM sigue una secuencia de apagado con un intervalo de tiempo ajustado entre 1 y 16.393 ms (16,4 s) con una precisión de 1 ms. Por ejemplo, PM4 puede pararse tras 200 ms desde la instrucción de parada, seguido por PM2 tras 25 ms, PM3 tras 200 ms y PM1 tras 1000 ms. Cada PM tiene un valor de tiempo de desconexión correspondiente que es un entero no asignado (valor de 14 bit). Este valor es independiente del valor del tiempo de conexión y se compara con un valor del contador de 16 bit que se incrementa cada milisegundo. Si los dos son iguales, el PM correspondiente se desconecta. Los tiempos de desconexión son seleccionables por el usuario y se guardan en memoria flash. En caso de fallo de desconexión, se iniciará automáticamente una nueva secuencia de encendido que depende del número de reintentos seleccionados por el usuario. Por regla general, un usuario puede realizar dos o tres intentos.

Si después de todos los intentos el sistema vuelve a fallar, se desconectará y se señalará el fallo. Utilizando el interface de GUI de I2C, el usuario puede determinar qué estado del PM o de la tensión de entrada provocó el fallo. El usuario debe efectuar las correcciones apropiadas para eliminar el fallo y reiniciar el sistema mediante una instrucción serie de I2C o el GUI y luego reintentar la secuencia de encendido.

Microcontrolador

Dado que en este diseño se utilizan cuatro canales de PM, se necesitan como mínimo cuatro líneas de E/S para habilitar y deshabilitar la función. También se necesitan cuatro canales de conversión A/D, cuatro salidas PWM y dos líneas para I2C. Se utilizó un canal de conversión A/D adicional para muestrear la tensión de entrada, la MCLR, la VDD, la VSS y las patillas de programación: 20 patillas en total. La Fig. 1 muestra el diagrama de bloques del sistema.

El microcontrolador se alimenta a 5,0 V a través de un regulador de 5 V. El reloj RC interno de 16 MHz se utiliza para ejecutar la CPU a 4 MIPS. El hardware y el firmware pueden modificarse para albergar hasta 10 PM. Si se necesitan más PM, el número de E/S aumentará y habrá que seleccionar un microcontrolador de mayor capacidad. Si se necesitan menos PM, se puede utilizar un dispositivo más pequeño. Los requisitos de la tensión de ajuste también se pueden variar. Si el usuario quiere ajustar el PM solo con la resistencia externa no se necesitan la tensión del convertidor D/A y el PWM asociado.

También se eliminan el software para controlar el PWM y el convertidor D/A. Cada PM tiene su propio límite de sobretensión y subtensión, así como unos márgenes inferior y superior para la tensión de ajuste. Se implementa un interface esclavo I2C en el microcontrolador para comunicaciones serie con un GUI I2C externo. Los usuarios pueden implementar un circuito de interface I²C-mini USB de MCP2221 en su propio hardware o, si se necesita, pueden realizar un interface I²C diferente. Todo el firmware para los periféricos de E/S, temporizador 1, convertidor A/D, PWM, memoria flash e I²C se han creado e inicializado con el software gratuito MPLAB Code Configurator (MCC). El convertidor A/D se encarga básicamente de ejecutar y muestrear el tensión de los módulos 0 a 4.

El módulo 0 corresponde a la tensión de entrada, que siempre se supervisa por si se produce un fallo. Un fallo de la  tensión de entrada provoca una desconexión y no se realizan reintentos. El convertidor A/D de 10 bit muestrea cada tensión 16 veces y a continuación utiliza el valor medio de 8 bit para comprobar si existe un error respecto a los límites correspondientes de subtensión y sobretensión. En el hardware usado, la referencia de tensión es de 5,0 V o la VDD del sistema. Una referencia de 5,0 V funcionará bien al muestrear y convertir 1,8; 2,5 y 3,3 V. Sin embargo, para el módulo de 5,0 V y la tensión de entrada se necesita una resistencia divisora para disponer de todo el rango de tensiones dentro de la referencia de 5,0 V. El factor divisor de la resistencia para el módulo de 5,0 V es de 0,55 y el factor de división para la tensión de entrada es de 0,239. Los usuarios tendrán que utilizar este valor para el cálculo de los valores límite de subtensión y sobretensión, y definirlos apropiadamente en los archivos de cabecera. Esto es especialmente cierto si el usuario decide emplear valores distintos a los que se han utilizado aquí.

GUI del secuenciador de alimentación

El GUI del secuenciador de alimentación se ha diseñado para que el usuario pueda introducir los datos relevantes y los datos relevantes del supervisor, así como para controlar la aplicación del secuenciador de alimentación. El GUI se muestra en la Fig. 2. La ventana principal tiene las opciones de sistema a la izquierda y las opciones del módulo como pestañas a la derecha. En las opciones de sistema, el usuario puede activar, parar, reiniciar y leer los valores actuales del firmware. La ventana de estado permite al usuario definir la VOUT correspondiente al índice del módulo. El usuario puede modificar estos valores y se guardarán cuando se cierre el GUI. El usuario también puede introducir el valor de referencia del convertidor A/D, que para esta nota de aplicación se ha establecido en 5,0 V. Finalmente, el usuario puede guardar los ajustes actualizados del módulo en una memoria de programa flash con solo pulsar el botón de guardar en la flash.

Bajo la pestaña de cada módulo, el usuario también puede ajustar o leer los valores existentes para cada módulo. El módulo 1 es el módulo de 5 V y el usuario puede ajustar la configuración normal y el margen, así como los límites superior e inferior para este módulo, siempre con los tiempos de encendido y parada en milisegundos. En esta pestaña también se puede editar e introducir el factor de división de tensión. En la pestaña de cada módulo se puede aumentar o disminuir el valor del convertidor D/A, utilizando para ello la flecha hacia arriba o hacia abajo situada al lado de la ventana de valores del convertidor D/A. El valor aumenta o disminuye y, si el módulo está conectado, la tensión de salida se leerá y actualizará.

Para ver el cambio de tensión se debe realizar más de un incremento o disminución. Esta función permite al usuario aumentar o disminuir la tensión de salida durante la comprobación del sistema cuando las tensiones alcanzan su límite. Esto se denomina prueba de límite de tensión y permite al usuario comprobar un sistema completo cuando una o más de las tensiones de salida alcanzan sus límites de subtensión o sobretensión. Los valores de tensión se visualizan como valores de tensión reales (3,3 o 2,5 V). El valor del convertidor D/A y los límites de los márgenes se visualizan como valores de 8 bit entre 0 y 255.

Conclusión

Un ingeniero puede implementar un secuenciador de alimentación mediante un dispositivo PIC16F1XXX, que puede ser modificado fácilmente por el usuario para controlar cuatro módulos de tensión de su propio diseño. Además pueden añadir más módulos de alimentación a sus aplicaciones o eliminar módulos para una aplicación más reducida. El hardware y el firmware se han creado en un formato modular para adaptarse fácilmente a estos objetivos. La Fig. 3 muestra la tarjeta completa.