三相有源电力滤器APF仿真 波形从上到下分别是: 电网电流 APF电流 整流性负载电流 APF能够保证电网电流成正弦
电力系统中最让人头疼的流氓当属整流性负载了。那家伙吃着三相电,吐出来的电流却像锯齿状的破抹布。这时候有源电力滤波器(APF)就像个自带算法的清洁工,抄起IGBT扫帚就开始打扫战场。
先看这组仿真波形(图1):最底下那层乱七八糟的电流是整流桥在作妖,中间那层带着高频纹波的干净波形是APF输出的补偿电流,最上层电网侧电流已经恢复成漂亮的正弦曲线。整个过程就像实时PS修图,APF得在0.02秒内完成谐波检测、指令生成和PWM调制三连击。
def harmonic_detect(ia, ib, ic): # 克拉克变换到αβ坐标系 i_alpha = (2*ia - ib - ic)/3 i_beta = (ib - ic)/np.sqrt(3) # 锁相环获取基波相位 theta = pll(grid_voltage) # 旋转坐标变换提取谐波 dq = park_transform(i_alpha, i_beta, theta) h_dq = low_pass_filter(dq) # 滤除基波 harmonic_abc = inverse_park(h_dq) return harmonic_abc这段代码藏着APF的智能核心——瞬时无功理论。通过坐标变换把电流"切片",基波成分被滤掉后,剩下的就是需要消灭的谐波。就像把混合果汁离心分离,只取上层泡沫处理。
补偿电流生成环节更刺激,得让IGBT的开关频率跟上谐波节奏。这里用空间矢量PWM(SVPWM)来当指挥家:
def svpwm(v_ref): sector = int(np.angle(v_ref)/(np.pi/3)) # 划分60度扇区 t1 = np.sqrt(3)*Ts*abs(v_ref)*np.sin(sector*np.pi/3 - np.angle(v_ref)) t2 = np.sqrt(3)*Ts*abs(v_ref)*np.sin(np.angle(v_ref) - (sector-1)*np.pi/3) # 七段式PWM波形合成 ta = (Ts - t1 - t2)/4 tb = ta + t1/2 tc = tb + t2/2 return [ta, tb, tc] # 各桥臂导通时间这个算法像在六边形迷宫里找最短路径,通过计算矢量作用时间,让IGBT用最少的开关次数拼出目标波形。实测中发现当开关频率超过10kHz时,补偿电流的跟踪误差能控制在3%以内。
调试时掉过不少坑:比如直流侧电容取值太小会导致电压波动像过山车,取大了又影响动态响应。最终找到的黄金比例是每千瓦容量配2200μF,这个经验值让电容电压波动控制在5%的安全区。
现在看APF就像电网里的特种兵,20kHz的开关频率是它的作战节奏,实时追踪着谐波的每个小动作。下次遇到变频器或电弧炉这些谐波大户,记得给它们配上这个智能保镖——毕竟干净的电网电流,才是电气设备长寿的秘诀。