Implementación de un Rectificador PWM Trifásico con Control de Lazo Cerrado Dual en MATLAB/Simulink

El diseño de rectificadores AC-DC eficientes requiere estrategias de control avanzadas para garantizar un factor de potencia unitario y una regulación precisa del bus de corriente continua. Esta implementación se centra en un rectificador PWM (Pulse Width Modulation) trifásico utilizando una estructura de control vectorial de doble lazo: un lazo externo para la regulación de tensión y un lazo interno para el control de corriente en el marco de referencia síncrono (dq).

Arquitectura del Sistema de Control

La estrategia de control se divide en dos etapas jerárquicas:

  • Lazo de Voltaje (Externo): Regula la tensión en el condensador del bus DC. Compara el valor medido con una referencia y genera la consigna de corriente para el eje directo ($i_d^*$), determinando así la transferencia de potencia activa.
  • Lazo de Corriente (Interno): Controla las corrientes de línea en el marco de referencia rotatorio. El eje $d$ se encarga de la potencia activa, mientras que el eje $q$ se fuerza a cero para lograr un factor de potencia unitairo (eliminando la potencia reactiva).

Configuración de Parámetros en MATLAB

El siguiente script inicializa las variables físicas del sistema, define las constantes de los controladores PI y ejecuta la simulación de forma automatizada.

% Configuración del Rectificador PWM Trifásico
clear; clc;

%% Parámetros de la Red Eléctrica
f_red = 50;                     % Frecuencia nominal (Hz)
v_fase_rms = 220;               % Tensión de fase (V)
omega_red = 2 * pi * f_red;     % Frecuencia angular (rad/s)

%% Parámetros del Convertidor y Filtro
r_enlace = 0.15;                % Resistencia de línea (Ohm)
l_filtro = 4.5e-3;              % Inductancia de filtrado (H)
c_bus_dc = 2200e-6;             % Capacidad del bus DC (F)
r_carga = 25;                   % Resistencia de carga (Ohm)
v_dc_target = 700;              % Tensión de consigna DC (V)

%% Parámetros de Conmutación
f_conmutacion = 12000;          % Frecuencia de switching (Hz)
t_muestreo = 1 / f_conmutacion; % Periodo de muestreo (s)
t_final = 0.4;                  % Tiempo de simulación (s)

%% Diseño de Controladores PI
% Lazo de Corriente (Eje d y q)
kp_corriente = 0.65;            % Ganancia proporcional
ki_corriente = 25;              % Ganancia integral

% Lazo de Voltaje
kp_voltaje = 0.12;              % Ganancia proporcional
ki_voltaje = 4.5;               % Ganancia integral

%% Ejecución de Simulink
nombre_modelo = 'Rectificador_PWM_DualLoop';
if ~bdIsLoaded(nombre_modelo)
    open_system(nombre_modelo);
end

fprintf('Iniciando simulación del sistema...\n');
sim_data = sim(nombre_modelo, 'StopTime', num2str(t_final), 'FixedStep', num2str(t_muestreo/5));

%% Procesamiento de Resultados
tiempo = sim_data.tout;
v_dc_out = sim_data.logsout.get('v_bus_dc').Values.Data;
i_dq = sim_data.logsout.get('corrientes_dq').Values.Data;
i_abc = sim_data.logsout.get('corrientes_fase').Values.Data;

% Visualización de la Tensión DC
figure;
plot(tiempo, v_dc_out, 'LineWidth', 1.5);
hold on;
yline(v_dc_target, 'r--', 'Consigna');
title('Dinámica del Bus de Tensión DC');
xlabel('Tiempo (s)'); ylabel('Tensión (V)');
grid on;

% Análisis de Corrientes en Ejes d-q
figure;
plot(tiempo, i_dq(:,1), 'b', tiempo, i_dq(:,2), 'r');
title('Corrientes en el Marco de Referencia d-q');
legend('i_d (Activa)', 'i_q (Reactiva)');
xlabel('Tiempo (s)'); ylabel('Corriente (A)');
grid on;

Lógica del Modelo en Simulink

Para construir el modelo, es necesario integrar bloques funcionales que representen tanto el hardware de potencia como la lógica de procesamiento de señales:

1. Transformaciones de Coordenadas

Se emplean las transformaciones de Park y Clarke para convertir las corrientes trifásicas $a-b-c$ en componentes estáticas $\alpha-\beta$ y, finalmente, en componentes rotatorias $d-q$. Esto permite que las señales de control se comporten como valores DC en estado estacionario, facilitando el uso de controladores PI estándar.

2. Control Desacoplado

Debido a la naturaleza inductiva del filtro, existe un acoplamiento entre los ejes $d$ y $q$. Para mejorar la respuesta dinámica, se implementan términos de compensación cruzada en el lazo de corriente:

v_d_ref = PI_output_d - omega * L * i_q + e_d
v_q_ref = PI_output_q + omega * L * i_d + e_q

Donde $e_d$ y $e_q$ representan las tensiones de red pre-alimentadas (feed-forward) para minimizar el esfuerzo del controlador PI.

3. Modulación de Ancho de Pulso (PWM)

Las señales de referencia $v_d^*$ y $v_q^*$ se transforman de nuevo al dominio del tiempo (inversa de Park) para alimentar un bloque de generación PWM. Se recomienda el uso de SVPWM (Space Vector PWM) para maximizar la utilización del bus DC y reducir la distorsión armónica total (THD).

Consideraciones para el Ajuste (Tuning)

Para obtener un rendimiento óptimo, se sugiere seguir estos criterios técnicos:

  • Ancho de Banda: El lazo interno de corriente debe ser significativamente más rápido que el lazo externo de voltaje (típicamente una relación de 1:10) para evitar interferencias dinámicas.
  • Amortiguamiento: Se debe buscar un coeficiente de amortiguamiento cercano a 0.707 para obtener una respuesta rápida con un sobreimpulso mínimo.
  • Filtro de Entrada: El valor de la inductancia $L$ es crítico; valores muy bajos aumentan el rizado de corriente, mientras que valores muy altos limitan la velocidad de respuesta del sistema.

Etiquetas: Electrónica de Potencia matlab Simulink Rectificador PWM Control Vectorial

Publicado el 7-16 05:12