Cómo modelar convertidores dc-dc paralelos (análisis transitorio)

0

Me gustaría simular dos convertidores dc-dc en paralelo usando mi propio algoritmo c ++. En este momento he creado ecuaciones de espacio-estado promediadas para ambos convertidores, pero me cuesta entender cómo simular una cuadrícula pequeña con ellos en paralelo y conectarla a una carga resistiva simple. Sé cómo hacer esto con el método trapezoidal para un convertidor, y he agregado el código para referencia a continuación. En el caso de dos convertidores, no estoy seguro de cómo la impedancia de salida de cada uno afectará la tensión del bus (o la tensión de salida de ambos convertidores). Busqué en el libro de Erickson "Fundamentals of Power Electronics", y él muestra cómo encontrar la impedancia de salida de los convertidores en el dominio de Laplace, pero me pregunto si podría hacer algo similar en el dominio del tiempo ... La cuestión es que me gustaría tener una simulación realista y permitir que circulen corrientes salvajes si los dos convertidores tienen diferentes salidas de voltaje para poder probar un método de control de caída más adelante. Y no me gustaría usar Simulink o LTspice, ya que prefiero aprender a crear este tipo de simulación.

Cualquier ayuda es muy apreciada. Tal vez incluso un buen libro sobre métodos de simulación electrónica.

    % example of buck-boost simulation with trapezoidal method.
    Vd = 14;
    L = 1e-3;
    C = 47e-6;
    R = 10;
    Ts = 5e-5;
    fs = 1/Ts;
    tend = 1000*Ts;
    dt = 1e-6;

    t = 0:dt:tend;
    tsize = size(t,2);

    d = zeros(1,tsize); % to plot Dt in [0,1]
    Dt = zeros(1,tsize);
    Dt = 0.5;
    A = [0, (1-Dt)/L; -(1-Dt)/C, -1/(R*C)];
    B = [Dt/L; 0];
    C = [0, 1/R; 0, 1];
    D = [0; 0];
    x = zeros(2,tsize); % x1 = iL, x2 = vC;
    %x(:,1) = [0; 0];
    y = zeros(2,tsize); % y1 = iR, y2 = vR;
    u = Vd*ones(1,tsize);
    M = inv(eye(2) - 1/2*dt*A) * (eye(2) + 1/2*dt*A);
    N = inv(eye(2) - 1/2*dt*A) * 1/2*dt*B; 

    for k = 2:tsize,
        x(:,k) = M*x(:,k-1) + N*(u(k-1) + u(k));
        y(:,k) = C*x(:,k) + D*u(k);
    end
    
pregunta Kirjain

0 respuestas

Lea otras preguntas en las etiquetas