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!