mat compensador PD

1

Tengo un pequeño problema que no puedo entender, la teoría del control no es mi especialidad, pero he estado leyendo últimamente.

Tengo un convertidor Buck-boost que modelé en matlab y estoy intentando controlarlo con un compensador de PD. Sin embargo, no puedo lograr lo que se pide en el ejemplo, es decir, una frecuencia de cruce de menos de 20 KHz y un margen de fase de al menos 52 grados.

Sospecho que podría necesitar agregar un polo adicional en la función de transferencia de PD, pero no sé cómo elegir el polo en particular.

Aquí está mi código matlab hasta ahora:

%%Clear
clear all
clc

%%Uncompensated
Tu0 = [10.417];
num = Tu0*[-6.51e-6 1];
denom = [1.72e-8  3.25e-5 1];
Tu = tf(num, denom);

%Compensator (PD)
Gc0 = [0.37];
num2 = Gc0*[5.06e-4 1];
denom2 = [1.54e-7 1];
Ts = tf(num2, denom2);

%Compensated loop gain
Tf = Tu* Ts;

%%Bode Plot
 bode(Tu)
 %bode(Ts)
 grid on
 hold on
 bode(Tf)

%Stability numbers
[Gm,Pm,Wgm,Wpm] = margin(Tf);
GainFreq = Wgm / (2*pi)
GainMargin = Gm
CrossoverFreq = Wpm /(2*pi) %Crossover frequency has to be less than 10% of the switching frequency: fc <20 KHz
PhaseMargin = Pm  %Phase Margin of at least 52

¡Gracias de antemano por cualquier sugerencia!

    
pregunta Fenrir

1 respuesta

2

Suponiendo que puede utilizar la aplicación Control System Designer, cargue las funciones de transferencia del sistema para los bloques C y G en "Editar arquitectura". Para C solo use cualquier función de transferencia de PD no sintonizada (como s + 1).

Ahora, abra un "Editor de código cerrado de bucle", haga clic derecho en él y agregue el margen de fase y los requisitos de frecuencia de cruce. No hay una opción llamada "frecuencia de cruce", pero puede usar una limitación de ganancia superior para el mismo efecto.

Después de establecer los requisitos, abra una "Optimización basada en optimización", siga los pasos y verifique los dos parámetros de C que se deben ajustar (ubicación de ganancia y cero). Encuentra una solución factible después de 14 iteraciones.

$$ C (s) = 2.27 \ times10 ^ {- 5} (s + 1.49 \ times10 ^ 4) $$

Divulgación:estoyobteniendomimaestríaensistemasdecontrol,perosoyun"entusiasta de los solucionadores numéricos". No sabría, desde la parte superior de la cabeza, obtener esto con un método de lápiz y papel, pero busque "compensadores de retraso de avance" y estará en el buen camino.

    
respondido por el Vicente Cunha

Lea otras preguntas en las etiquetas