¿Cómo se aplica la teoría de control a mi convertidor elevador controlado por procesador del mundo real?

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:ingrese la descripción de la imagen aquí

  • C1: 1000uF
  • C2: 500uF
  • L1: 500 uH
  • Frecuencia de conmutación: 4 kHz
  • R1: variable
  • Voltaje de entrada: 400 voltios
  • Objetivo de voltaje de salida: 500 voltios
  • Límite de corriente de salida: 20 amperios

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?

Comencé a responder esta pregunta y me di cuenta de que está preguntando cómo se puede analizar un regulador de refuerzo de bucle abierto para que pueda aplicar algún algoritmo (que creo que desea analizar) y luego noté el rango de salida de voltajes y corrientes y me di cuenta de que está utilizando el tipo de topología incorrecto (no del mundo real) para este poder, así que me detuve justo allí y escribí este comentario en su lugar. De acuerdo, puede optar por renovar la pregunta para centrarse en un escenario más realista, pero aún así analizar un algoritmo y un circuito es demasiado para una pregunta.
@Andyaka No es de circuito abierto, estoy midiendo el voltaje y la corriente que estoy regulando. (A menos que esté malinterpretando su comentario). Además, mi empresa ha estado construyendo convertidores utilizando esta topología durante un par de décadas, en este rango de potencia y mucho más allá. Usamos IGBT y no FET, si se refiere a eso; eso es probablemente completamente irreal. El símbolo FET estaba a la mano y el símbolo IGBT no, y la diferencia no parecía afectar la pregunta.
Por ejemplo, hemos hecho 400V->600V 85A 4kHz, 400V->750V 1000A 2 kHz y 150V->600V 18A 12 kHz. Todos están en el campo y bastante estables. Entonces, la topología es práctica, excepto la disparidad FET/IGBT, que he corregido.
@StephenCollings ¿Puedo preguntar cómo/dónde especifica sus inductores de alta corriente? Entiendo que está un poco fuera de tema, pero estoy buscando algunas referencias para aprender.
@ HL-SDK ¿Estás preguntando cómo se me ocurren los valores que quiero? ¿Dónde pido los inductores? ¿O ambos?
@StephenCollings Este último, me imagino que su material central es muy grande.
@HL-SDK en este rango de frecuencia y potencia hemos tenido buena suerte con algunas empresas, incluidas American Magnetics, Precision Magnetics y Electronic Craftsmen. Los núcleos tienden a ser laminaciones cuadradas de entre tres y cinco pulgadas. Sin embargo, todo es personalizado, con diseños patentados. La mayoría de las compañías magnéticas no le venderán el producto de otro cliente, según mi experiencia.
@StephenCollings no entendiste: estoy hablando de comprender el circuito (en bucle abierto), es decir, crear algún tipo de función de transferencia para él (luego analizar en un formato de bucle cerrado con el algoritmo de bucle de control)
@Andyaka Ah! Por supuesto. Mi error.
@Andyaka Por curiosidad, ¿qué topología pensabas que era más realista para estos niveles de potencia?
@StephenCollings Consideraría un diseño flyback push-pull con un transformador. El primario sería alimentado por el centro desde un convertidor reductor síncrono (controlaría el voltaje de CC a la toma central primaria) y, por lo tanto, la regulación. El secundario del transformador flyback también lo haría síncrono. ¿Quizás demasiado silicio involucrado en comparación con su solución?

Respuestas (3)

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:

ingrese la descripción de la imagen aquí

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:

V o = V en 1 corriente continua

Las ecuaciones para cada uno de los dos estados y sus combinaciones promediadas son:

Estado activo Estado Pasivo Ave Estado Var estatal   Peso corriente continua (1 - CC) di L dt V en L V C + V en L ( 1 + corriente continua ) V C + V en L dV C dt V C C R i L C V C C R ( R corriente continua R ) i L V C C R

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.

corriente continua corriente continua o + d C.A
i L yo bajo + i L
V C V co + v C
V en V Ino + v en

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.

d v C dt = ( 1 corriente continua o ) i L yo bajo d C.A C v C C R
d i L dt = d C.A V co + v C ( corriente continua o 1 ) + v en L

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, d dt siempre se puede reemplazar por s (o j ω ). Resolviendo para obtener el voltaje de salida v C en relación con d C.A rendimientos:

v C d C.A = V co corriente continua o + V co L yo bajo s C L s 2 + corriente continua o 2 2 corriente continua o + L s R + 1

A partir de esta función de transferencia es posible ver la ubicación del semiplano derecho cero F rhpz y la ubicación del par de polos complejos F c.p. .

F rhpz = V co ( 1 corriente continua o ) 2 2 π L i o

F c.p. = 1 corriente continua o 2 π L C

Para los valores de circuito de L1=500uH, C2=500uF, Vin=400V, Vo=500V y R1=25 Ohms; F rhpz es 5093 Hz y F c.p. es de 255 Hz.

ingrese la descripción de la imagen aquí

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 V ap y V c.p. , y corrientes de entrada y salida i a y i C de una manera promedio. Por inspección y conocimiento de cómo se ven estos voltajes y corrientes simples, obtenga:

V ap = V c.p. corriente continua

y

i a = CC i C

Luego suma la perturbación

corriente continua corriente continua o + d C.A
i a yo a + i a
i C yo C + i C
V ap V ap + v ap
V c.p. V c.p. + v c.p.

asi que,

v ap = v c.p. corriente continua o - d C.A V ap corriente continua o

y,

i a = i C corriente continua o + i C d C.A

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:

ingrese la descripción de la imagen aquí

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.

ingrese la descripción de la imagen aquí

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 F s 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 T s (si cualquiera de los dos es inferior a aproximadamente 10x T s , 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.

Muy buena respuesta! Tocas ligeramente que DCM es más complejo. ¿Tienes alguna literatura sobre esto? Me gustaría modelar un convertidor elevador en DCM con frecuencia de conmutación variable como parámetro de control (y no el ciclo de trabajo como parámetro de control) para la corriente.

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 L yo 2 2 y esto es igual a 1 por lo tanto yo = 2 500 × 10 6 = 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 mi = L d i d t 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 = 500 × 10 6 × 63 400 = 79 m s

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 m s (4kHz) pero para el ejemplo anterior (media carga de potencia) 79 m s 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 d q d t = C d v d t .

d q d t = actual y d v d t = ondulación de voltaje, pero estoy perdiendo las ganas de vivir ahora, así que tal vez puedas resolver esto.