Tengo una comprensión limitada de la teoría del control. Traté con polos y ceros y funciones de transferencia en la escuela. He implementado varios esquemas de control basados en microprocesadores para convertidores CC/CC. Todavía tengo que averiguar cómo se relacionan estas dos cosas entre sí, y me gustaría hacerlo. Basar los diseños en prueba y error puede funcionar, pero prefiero tener una comprensión más profunda de lo que estoy haciendo y cuáles son las consecuencias.
Las respuestas deben centrarse en cómo analizar el sistema, no en cómo mejorarlo . Dicho esto, si tiene sugerencias para mejorar el sistema y desea dar una razón analítica de por qué, ¡sería fantástico! Siempre y cuando la mejora sea secundaria al análisis.
Mi sistema de ejemplo para los propósitos de esta pregunta:
Estoy tratando de regular el voltaje de salida, sin exceder un límite de corriente de salida. Tengo detección de voltaje y corriente, que pasan por varias etapas de amplificación que no estoy analizando en este momento, pero que incluyen algo de filtrado. A esto le sigue un filtro de paso bajo RC de 100 ohmios y 1000 pF directamente en el convertidor A/D. Las muestras A/D a 12 kHz. Este valor pasa por un filtro de promedio móvil IIR de un solo polo de las últimas 64 muestras.
Después de eso, tengo dos bucles PI. Primero, el bucle de voltaje. El siguiente es un pseudocódigo, con valores escalados en voltios, mA y nanosegundos. Suponga que la verificación de límites se implementa correctamente en otros lugares. La estructura de estos bucles define P en términos de la caída máxima permitida si no hay un término integral, y luego define el término integral de tal manera que un integrador al máximo puede compensar exactamente esa caída. Las constantes INTEGRAL_SPEED determinan qué tan rápido se ponen en marcha los integradores. (Me parece que esta es una forma razonable de asegurarse de que las ganancias de P e I siempre se equilibren correctamente, independientemente de cómo establezca mis constantes, pero estoy abierto a otras sugerencias).
#DEFINE VOLTAGE_DROOP 25
#DEFINE VOLTAGE_SETPOINT 500
#DEFINE MAX_CURRENT_SETPOINT 20000
voltage_error = VOLTAGE_SETPOINT - VOLTAGE_FEEDBACK
current_setpoint = MAX_CURRENT_SETPOINT * voltage_error/VOLTAGE_DROOP
#define VOLTAGE_INTEGRAL_SPEED 4
voltage_integral += voltage_error/VOLTAGE_INTEGRAL_SPEED
//insert bounds check here
current_setpoint += VOLTAGE_DROOP * voltage_integral/MAX_VOLTAGE_INTEGRAL
#DEFINE CURRENT_DROOP 1000
#DEFINE MAX_ON_TIME 50000
current_error = current_setpoint - current_feedback
pwm_on_time = MAX_ON_TIME * current_error/CURRENT_DROOP
#define CURRENT_INTEGRAL_SPEED 4
current_integral += current_error/CURRENT_INTEGRAL_SPEED
//insert bounds check here
pwm_on_time += CURRENT_DROOP * current_integral/MAX_CURRENT_INTEGRAL
Así que tengo un convertidor elevador con dos condensadores, un estrangulador, una carga variable (que podría ser una función escalonada), retroalimentación con filtros RC monopolares, un convertidor A/D, filtros digitales IIR monopolares y dos bucles PI alimentándose unos a otros. ¿Cómo se analiza tal cosa desde la perspectiva de la teoría de control (polos, ceros, funciones de transferencia, etc.), en particular para seleccionar correctamente los parámetros de mi bucle de control?
La mayor parte de lo que se cubre en el estudio de controles básicos son sistemas lineales invariantes en el tiempo. Si tiene suerte, también puede obtener un muestreo discreto y transformadas z al final. Por supuesto, las fuentes de alimentación conmutadas (SMPS) son sistemas que evolucionan a través de estados topológicos de forma discontinua en el tiempo, y también en su mayoría tienen respuestas no lineales. Como resultado, las SMPS no están bien analizadas por la teoría de control lineal básica o estándar.
De alguna manera, para continuar usando todas las herramientas familiares y bien entendidas de la teoría del control; como diagramas de Bode, diagramas de Nichols, etc., se debe hacer algo con respecto a la invariancia temporal y la no linealidad. Observe cómo evoluciona el estado SMPS con el tiempo. Estos son los estados topológicos para Boost SMPS:
Cada una de estas topologías separadas es fácil de analizar por sí sola como un sistema invariable en el tiempo. Pero, cada uno de los análisis tomados por separado no es de mucha utilidad. ¿Qué hacer?
Mientras que los estados topológicos cambian abruptamente de uno a otro, existen cantidades o variables que son continuas a través del límite de conmutación. Estas son usualmente llamadas variables de estado. Los ejemplos más comunes son la corriente del inductor y el voltaje del capacitor. ¿Por qué no escribir ecuaciones basadas en las variables de estado para cada estado topológico y tomar algún tipo de promedio de las ecuaciones de estado combinándolas como una suma ponderada para obtener un modelo invariante en el tiempo? Esto no es exactamente una idea nueva.
Promedio de espacio de estado -- Promedio de estado desde afuera hacia adentro
En los años 70, Middlebrook 1 en Caltech publicó el artículo seminal sobre el promedio de espacio de estado para SMPS. El documento detalla la combinación y el promedio de estados topológicos para modelar la respuesta de baja frecuencia. El modelo de Middlebrook promedió los estados a lo largo del tiempo, lo que para el control PWM de frecuencia fija se reduce a la ponderación del ciclo de trabajo (CC). Comencemos con lo básico, utilizando como ejemplo el circuito de refuerzo que funciona en modo de conducción continua (CCM). El ciclo de trabajo de estado del interruptor activo relaciona el voltaje de salida con el voltaje de entrada como:
=
Las ecuaciones para cada uno de los dos estados y sus combinaciones promediadas son:
Ok, eso se encarga de promediar los estados, lo que da como resultado un modelo invariante en el tiempo. Ahora, para un modelo útil linealizado (ac), se debe agregar un término de perturbación al parámetro de control DC y cada variable de estado. Eso dará como resultado un término de estado estacionario sumado con un término twiddle.
Sustituya estos en las ecuaciones promediadas. Dado que este es un modelo ac lineal, solo desea los productos variables de primer orden, así que descarte cualquier producto de dos términos de estado estacionario o dos términos de giro.
=
=
Esta es solo la variación lineal habitual sobre un punto de operación. Además, dado que estamos buscando una solución de CA, siempre se puede reemplazar por s (o ). Resolviendo para obtener el voltaje de salida en relación con rendimientos:
=
A partir de esta función de transferencia es posible ver la ubicación del semiplano derecho cero y la ubicación del par de polos complejos .
=
=
Para los valores de circuito de L1=500uH, C2=500uF, Vin=400V, Vo=500V y R1=25 Ohms; es 5093 Hz y es de 255 Hz.
Los gráficos de ganancia y fase muestran los polos complejos y el semiplano derecho cero. Q de los polos es tan alto porque no se han incluido ESR de L1 y C2. Para agregar elementos de modelo adicionales ahora sería necesario volver atrás y agregarlos a las ecuaciones diferenciales iniciales.
Podría parar aquí. Si lo hiciera, tendrías el conocimiento de un tecnólogo de vanguardia... de 1973. La guerra de Vietnam habría terminado y podrías dejar de preocuparte por ese ridículo número de lotería del servicio selectivo que tienes. Por otro lado, las camisas de nailon brillante y la música disco estarían de moda. Mejor sigue moviéndote.
Modelo de interruptor promediado PWM: promediado de estado de adentro hacia afuera
A finales de los años 80, Vorperian (un ex alumno de Middlebrook) tuvo una gran idea sobre el promedio estatal. Se dio cuenta de que lo que realmente cambia durante un ciclo es la condición de cambio. Resulta que modelar la dinámica del convertidor es mucho más flexible y simple cuando se promedia el interruptor que cuando se promedian los estados del circuito.
Siguiendo a Vorperian 2 , elaboramos un modelo de interruptor PWM promediado para el impulso de CCM. Comenzando desde el punto de vista de un par de interruptores canónicos (interruptor activo y pasivo juntos) con nodos de entrada-salida para el interruptor activo (a), el interruptor pasivo (p) y el común de los dos (c). Si vuelve a consultar la figura de los 3 estados del regulador de impulso en el modelo de espacio de estado, verá que se dibuja un cuadro alrededor de los interruptores que muestran esa conexión del modelo promedio de PWM.
Querrá ecuaciones que relacionen los voltajes de entrada y salida y , y corrientes de entrada y salida y de una manera promedio. Por inspección y conocimiento de cómo se ven estos voltajes y corrientes simples, obtenga:
=
y
= CC
Luego suma la perturbación
asi que,
= -
y,
=
Estas ecuaciones se pueden convertir en un circuito equivalente adecuado para usar con SPICE. Los términos con CC de estado estable combinados con voltajes o corrientes de CA de pequeña señal son funcionalmente equivalentes a un transformador ideal. Los otros términos se pueden modelar como fuentes dependientes escaladas. Aquí hay un modelo de CA del regulador de impulso con un interruptor PWM promediado:
Los diagramas de Bode del modelo de interruptor PWM se parecen mucho al modelo de espacio de estado, pero no son exactamente iguales. La diferencia se debe a la adición de ESR para L1 (0,01 ohmios) y C2 (0,13 ohmios). Eso significa una pérdida de aproximadamente 10 W en L1 y una ondulación de salida de aproximadamente 5 Vpp. Entonces, la Q del par de polos complejo es más baja y el rhpz es difícil de ver ya que su respuesta de fase está cubierta por el cero de ESR de C2.
El modelo de interruptor PWM es un concepto intuitivo muy potente:
El conmutador PWM, derivado de Vorperian, es canónico. Eso significa que el modelo que se muestra aquí se puede usar con topologías boost, buck o boost-buck siempre que sean CCM. Solo tiene que cambiar las conexiones para que coincidan p con el interruptor pasivo, a con el interruptor activo y c con la conexión entre los dos. Si quieres DCM necesitarás un modelo diferente... y es más complicado que el modelo CCM... no puedes tener todo.
Si necesita agregar algo al circuito como ESR, no es necesario volver a las ecuaciones de entrada y comenzar de nuevo.
Es fácil de usar con SPICE.
Los modelos de interruptores PWM están ampliamente cubiertos. Hay un artículo accesible en "Comprensión de las etapas de potencia Boost en fuentes de alimentación conmutadas" de Everett Rogers (SLVA061).
¿Limitaciones? Los modelos aquí no comprenden ninguno de los efectos de frecuencia de conmutación o resonancia (como el muestreo de Nyquist), así que manténgase al menos una década por debajo de con anchos de banda de bucle. Una suposición fundamental es que las constantes de tiempo como L1/R1 y R1C2 son mucho mayores que el período de conmutación (si cualquiera de los dos es inferior a aproximadamente 10x , es hora de empezar a preocuparse por la precisión).
Ahora estás en la década de 1990. Los teléfonos celulares pesan menos de una libra, hay una PC en cada escritorio, SPICE es tan omnipresente que es un verbo y los virus informáticos son una cosa. El futuro comienza aquí.
1 GW Wester y RD Middlebrook, "Caracterización de baja frecuencia de convertidores CC - CC conmutados", IEEE Transactions and Aerospace and Electronic Systems, vol. AES - 9, págs. 376 - 385, mayo de 1973.
2 V. Vorperian, "Análisis simplificado de convertidores PWM utilizando el modelo del conmutador PWM: Partes I y II", Transacciones IEEE sobre sistemas electrónicos y aeroespaciales, vol. AES - 26, págs. 490 - 505, mayo de 1990.
Una gran simplificación de la teoría de control:
Básicamente, necesitas comenzar con un modelo. Es bastante fácil modelar el convertidor físico que está analizando. Existen modelos matemáticos que replican el comportamiento eléctrico del convertidor elevador con un alto grado de precisión.
Lo complicado es modelar su sistema de control. Una herramienta que me viene a la mente es PSIM , que le permite modelar muchos parámetros digitales como bloques discretos (cuantificación, conversión A/D, filtro IIR, retrasos, etc.); esto le brinda una caja de arena fácil para jugar sin arriesgar el hardware. .
El siguiente paso es analizar la 'planta' desde el control hasta la salida, para comprender qué es exactamente lo que está tratando de compensar. Esto generalmente se hace en bucle abierto, estableciendo un punto de operación de CC (sin retroalimentación), inyectando perturbaciones en un rango de frecuencias y midiendo las respuestas.
Una vez que obtenga su respuesta de bucle abierto, puede diseñar un compensador que garantice márgenes operativos suficientes para la estabilidad (margen de fase suficiente en el cruce de ganancia por cero, atenuación suficiente a 180 grados de fase). Luego, implementa su controlador en forma de bloque (o en pseudocódigo) en la simulación y prueba la respuesta de bucle cerrado.
El uso de una herramienta de simulación sería útil, pero lo básico del circuito es que estás transfiriendo energía 4000 veces por segundo y la potencia a la carga es esa transferencia de energía multiplicada por la cantidad de veces por segundo que se transfiere la energía.
Entonces, si la potencia de carga es de 4kW, debe transferir 1 julio de energía en cada ciclo. Eso luego conduce a la cantidad de corriente que necesita poner en su inductor de 500uH. La energía almacenada es y esto es igual a 1 por lo tanto yo = = 63A.
Cuando el IGBT se abre en circuito, esa energía se libera a través del diodo S1 en el circuito de carga.
Porque para un inductor podemos calcular cuánto tiempo debe estar "encendido" el IGBT: esto es dt y, por supuesto, sabemos di = 63A. También conocemos E (400V) y L.
Esto funciona como dt =
Si la resistencia de carga fuera más pequeña, necesita transferir más potencia y la corriente máxima en el inductor sería mayor y esto, por supuesto, significa un período más largo durante el cual el IGBT permanece encendido.
dt es su entrada al circuito y puede ser tan alto como casi 250 (4kHz) pero para el ejemplo anterior (media carga de potencia) 79 parecería hacer el trabajo. Lo único que hay que calcular es cuánto voltaje de ondulación verá y para hacer esto tendrá que aplicar Q = CV al capacitor y en particular .
actual y ondulación de voltaje, pero estoy perdiendo las ganas de vivir ahora, así que tal vez puedas resolver esto.
Andy alias
Esteban Collings
Esteban Collings
HL-SDK
Esteban Collings
HL-SDK
Esteban Collings
Andy alias
Esteban Collings
Esteban Collings
Andy alias