三相维也纳Vienna架构SVPWM整流器Matlab仿真模型文件。 PF大于0.99,THD小于3%, 输入380V输出800V纹波小于1v,功率30kw,SVPWM,羊角波马鞍波合成,中点电位平衡小于1v, 正负序分离锁相环PLL,三相输入电压不平衡处理,dq轴变换,输入电流过零点畸变处理,连续变量离散化, 线电压转换相电压,三相电正负序检测,电流内环电压外环双环控制。

在电力电子领域,三相维也纳Vienna架构SVPWM整流器凭借其独特优势备受关注。今天咱就聊聊基于特定要求搭建的Matlab仿真模型。

一、性能指标要求

首先明确下性能指标:功率因数PF要大于0.99,这意味着整流器对电网的电能利用效率极高,能有效减少无功功率损耗。总谐波失真THD需小于3%,如此低的谐波含量能保证输出电能质量优良,减少对其他用电设备的干扰。输入380V,输出800V且纹波小于1V,在30kW功率下,要实现这样稳定的电压输出可不简单。还有中点电位平衡要小于1V,确保电路稳定运行。

二、关键技术实现

(一)SVPWM调制

SVPWM(空间矢量脉宽调制)是此整流器的核心调制方式,这里采用羊角波马鞍波合成的方法。以三相静止坐标系abc到两相旋转坐标系dq的变换为基础,代码实现大致如下:

% 定义一些基本参数
T = 0.00002; % 开关周期
N = 1/T; % 采样频率

% 生成参考电压矢量
Vref = [Vref_alpha; Vref_beta]; % Vref_alpha和Vref_beta是参考电压在alpha和beta轴的分量

% SVPWM模块
sector = svpwm_sector(Vref); % 确定参考电压矢量所在扇区
[T1, T2, T0] = svpwm_time_calculation(Vref, sector); % 计算每个扇区中基本电压矢量的作用时间
switching_states = svpwm_switching_sequence(T1, T2, T0, sector, N); % 生成开关序列

这段代码首先定义了开关周期和采样频率,这是SVPWM调制的基础时间参数。然后通过svpwmsector函数确定参考电压矢量所在扇区,不同扇区基本电压矢量作用时间计算方式不同。接着svpwmtimecalculation算出各基本电压矢量作用时间,最后svpwmswitching_sequence生成开关序列,控制功率开关器件的通断。

(二)锁相环与不平衡处理

正负序分离锁相环PLL用于精确跟踪电网电压相位和频率,尤其在三相输入电压不平衡时发挥关键作用。

% 三相电压输入
Va = Vm * sin(w*t + theta);
Vb = Vm * sin(w*t + theta - 2*pi/3);
Vc = Vm * sin(w*t + theta + 2*pi/3);

% 正负序分离
[Vp, Vn] = sequence_separation([Va; Vb; Vc]);
% PLL实现
theta_est = pll(Vp); % 通过PLL估计相位

代码中先模拟三相输入电压,然后sequence_separation函数进行正负序分离,分离出正序和负序电压分量。接着pll函数对正序电压进行锁相,估计出准确的相位信息,为后续控制提供基准。

(三)双环控制策略

采用电流内环电压外环双环控制策略,保证系统稳定和高性能。

% 电压外环PI控制器参数
Kp_v = 10;
Ki_v = 100;
% 电流内环PI控制器参数
Kp_i = 0.1;
Ki_i = 1;

% 电压外环控制
error_v = Vdc_ref - Vdc; % 直流母线电压误差
integral_v = integral_v + error_v * Ts;
Vq_ref = Kp_v * error_v + Ki_v * integral_v;

% 电流内环控制
error_iq = Vq_ref - iq;
integral_iq = integral_iq + error_iq * Ts;
Vq = Kp_i * error_iq + Ki_i * integral_iq;

电压外环通过PI控制器调节直流母线电压,KpvKiv分别是比例和积分系数,根据误差errorv计算出Vqref作为电流内环的参考值。电流内环同样用PI控制器,KpiKii为系数,依据电流误差error_iq算出最终控制电压Vq,实现对电流的精确控制。

(四)其他关键处理

  1. dq轴变换:用于将三相静止坐标系下的物理量转换到两相旋转坐标系,便于控制。
% dq轴变换
[Vd, Vq] = abc_to_dq(Va, Vb, Vc, theta_est);

abctodq函数实现将三相电压VaVbVc依据估计相位theta_est变换到dq轴分量VdVq

  1. 输入电流过零点畸变处理:这是为了避免电流过零点附近因非线性因素产生畸变,影响电能质量。处理方法通常是在软件算法中对电流采样值进行特殊补偿和修正。
  1. 连续变量离散化:在数字控制系统中,需要将连续的物理量离散化以便于数字信号处理器处理。比如对时间变量进行采样,将模拟信号转换为数字信号。
  1. 线电压转换相电压
% 线电压转换相电压
Va = Vab / sqrt(3);
Vb = Vbc / sqrt(3);
Vc = Vca / sqrt(3);

通过简单的数学计算,将线电压VabVbcVca转换为相电压VaVbVc

  1. 三相电正负序检测
function [Vp, Vn] = sequence_separation(Vabc)
    alpha_beta = abc_to_alpha_beta(Vabc);
    Vp = (alpha_beta + rotate(alpha_beta, 120)) / 2;
    Vn = (alpha_beta - rotate(alpha_beta, 120)) / 2;
end

sequence_separation函数先将三相电压转换到alpha - beta坐标系,然后通过旋转和加减运算分离出正序和负序分量。

三相维也纳Vienna架构SVPWM整流器Matlab仿真模型文件。 PF大于0.99,THD小于3%, 输入380V输出800V纹波小于1v,功率30kw,SVPWM,羊角波马鞍波合成,中点电位平衡小于1v, 正负序分离锁相环PLL,三相输入电压不平衡处理,dq轴变换,输入电流过零点畸变处理,连续变量离散化, 线电压转换相电压,三相电正负序检测,电流内环电压外环双环控制。

搭建符合上述要求的三相维也纳Vienna架构SVPWM整流器Matlab仿真模型,需要综合运用这些技术,对各环节精确设计和调试,才能实现高功率因数、低谐波失真以及稳定的电压输出等优良性能。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐