1. 项目概述:谐波治理的实战命题
有源电力滤波器(APF)在电能质量治理领域并不是什么新鲜概念,但真正把它从理论论文落地到仿真模型,再从仿真模型走向工程样机,中间隔着不少“知易行难”的坎。我最初接触这个方向,是因为某公司的一台变频传动柜在投入运行后,配电房的低压母线谐波畸变率从3%左右直接飙到了9%以上,中性线发热明显,补偿电容柜里的电容器还出现了鼓包现象——这就是典型的谐波“超标”事故现场。
拉出谐波频谱一看,5次、7次、11次、13次这些6k±1次的谐波分量占了大头,而且负载波动很猛,变频器启停瞬间谐波电流能跳变到额定值的一倍以上。当时手头有一台三相四线制APF原理样机,控制器用的还是传统的PI调节,问题非常典型:轻载时效果尚可,一进入重载或者动态冲击工况,补偿后的网侧电流畸变率就在6%~8%之间徘徊,始终压不进5%的国标限值。究其原因,PI控制器对工频整周期出现的谐波扰动,本质上做不到“无差跟踪”——它无法记住上一周期的误差形态,每一拍都在被动跟随,增益调高了又容易在谐振频率附近引发振荡。
后来我把重复控制引入控制环,网侧电流畸变率从7%左右压到3%以下,动态恢复时间从上百毫秒缩短到20毫秒以内。这篇文章就基于“PI+重复控制并联复合”的Simulink仿真模型,把这个策略的完整搭建过程、参数整定方法以及调试中踩过的坑一次讲透,力求做到“看完就能在Simulink里复现出一个能跑、能看波形、能对比策略优劣的完整仿真平台”。
2. 为什么单PI不够用:谐波抑制策略的设计思路拆解
2.1 谐波电流的“周期重复”本质:数学上的突破口
谐波电流是由非线性负载产生的畸变电流,特征非常鲜明——它在基波周期内反复出现,每次畸变的形态高度相似。在频域上看,5次谐波对应250Hz,7次对应350Hz,它们和基波50Hz有严格的整数倍关系。这就有意思了:如果一种控制器能“记住”上一个基波周期的误差信号,并在下一周期把这个误差的逆波形提前叠加进去,那谐波补偿的稳态精度就会脱胎换骨。
这就是内模原理的通俗解释。所谓内模,就是在控制器内部构造一个和外部扰动同频同形的信号模型。对直流信号,积分器就是内模——积分环节的开环增益在零频处无穷大,所以能对阶跃扰动实现无静差;对周期性信号,重复控制器把“上一个周期的误差”延迟一个基波周期后叠加回来,就等效于注入了无穷大增益的周期内模,从数学上保证了对每一个与基波周期同步的谐波频率都具备零稳态误差的跟踪能力。
但重复控制器也有短板——它本质上是一个周期延迟环节,动态响应天然滞后,至少要等一个完整基波周期(20ms)之后才能充分展露修正效果。负载突变时,前一拍误差还没修正完,新的扰动又进来了,它常常显得“反应迟钝”。
2.2 PI+重复控制的“并联复合”策略:取长补短的工程解法
我的方案是把PI控制器和重复控制器并联在一起,共同驱动PWM调制输出。PI支路负责“快”——负载突变时,它能在一个开关周期内迅速给出补偿电流的变化趋势,压住动态冲击的“尖峰”;重复控制支路负责“准”——稳态时,它通过周期记忆和误差修正,把每个频次的谐波残余误差一点点磨平。
[ G_c(z) = G_{PI}(z) + G_{RP}(z) ]
其中 ( G_{PI}(z) ) 是常规的离散化PI调节器,( G_{RP}(z) ) 是带周期延迟和补偿滤波器的重复控制器。二者输出的控制量直接相加,送到PWM调制环节。这个结构看起来简单,但工程上有几个细节不注意就会出问题。比如PI支路和重复控制支路的输出幅值比例——如果PI增益太大,重复控制的修正量很容易被淹没,稳态精度上不去;如果PI增益太小,动态响应又会拖沓。我在仿真里反复扫描后发现,让PI支路在阶跃响应中先走完约70%的偏差修正,剩下的稳态残差交给重复控制去磨,整体效果最均衡。具体怎么整定,后面参数设计章节会展开。
2.3 谐波提取算法:d-q同步旋转坐标变换
在三相APF系统里,指令电流必须从负载电流中分离出谐波分量。最常用的方法是基于瞬时无功功率理论的d-q同步旋转坐标变换。以电网电压矢量为参考,用锁相环(PLL)锁定电网相位,把三相负载电流变换到 d-q 坐标系。基波正序分量在d-q坐标系里是直流量,而谐波分量则表现为不同频率的交流量。
于是问题就被巧妙地转化了:用一个低通滤波器把d、q轴上的直流分量(基波正序)滤出来,再从原始电流中减去这个基波分量,剩下的就是需要补偿的谐波和负序分量。这个思路的关键在于低通滤波器的截止频率和阶数。截止频率太高,基波分量滤不干净,谐波指令里会残留基波成分,导致补偿过度;截止频率太低,动态跟踪速度变慢。我实测下来,截止频率设定在基波频率的1/10,也就是5Hz左右,滤波阶数用二阶巴特沃斯,基波提取精度和动态响应基本能达到平衡。
3. 仿真模型核心构建:从拓扑到控制环路的逐步实现
3.1 主电路拓扑:三相三线两电平电压源型APF
仿真模型采用三相三线两电平电压源型PWM变流器作为APF主电路,直流侧是储能电容,交流侧通过并网电感(L)连接至公共耦合点(PCC)。非线性负载用三相不控整流桥带阻感负载来模拟,这是工业现场最常见的谐波源,集中了5次、7次等特征次谐波。
主电路参数设置:电网线电压380V/50Hz,并网电感L=3mH,直流侧电容C=4700μF,直流母线电压给定值750V,开关频率10kHz。这个开关频率是兼顾IGBT开关损耗和电流跟踪带宽的折中——频率越低,电流纹波越大;频率太高,死区效应和开关损耗都会显著上升。10kHz在工程上属于成熟可靠的区间。
直流侧电压的稳定是APF正常工作的前提。母线电压太低,补偿电流的跟踪能力受限;母线电压波动过大,则会出现明显的补偿电流畸变。我在仿真中把电压外环也做了PI调节,输出作为d轴电流内环的有功指令分量——它用于补偿主电路自身的有功损耗,维持直流母线电压恒定。q轴电流指令则纯为谐波补偿分量。
3.2 控制环路分层:电压外环与电流内环的配合
整个控制系统按典型的“电压外环、电流内环”双环结构搭建。电压外环带宽较低(约10~20Hz),负责维持直流侧电压平稳,输出有功电流指令;电流内环带宽较高(约1~2kHz),负责快速跟踪指令电流波形。这里有一个容易犯迷糊的地方:APF的电流内环跟踪的是谐波电流指令,它不是单一频率的正弦波,而是包含多个频次的畸变波形,这对电流环的带宽提出了远超普通整流器的要求。
所以电流内环的设计是整个模型的核心。d-q坐标系下,电感电流的状态方程存在交叉耦合项,通常需要引入解耦补偿和电网电压前馈。但针对APF的应用特性,我做了简化——由于谐波频率范围广,单纯的解耦补偿意义有限,更重要的是把PI+重复控制的复合控制器设计好。仿真模型中,我把 d 轴和 q 轴的电流环分别配置了一套相同参数的PI+重复控制器,q轴指令就是谐波电流分量,d轴指令由电压外环输出加上前馈补偿量构成。
3.3 PWM调制与驱动信号生成
SVPWM(空间矢量调制)是PWM发波的实现方式。Simulink中可以直接用自带的三相两电平SVPWM模块,也可以手动搭扇区计算、矢量作用时间计算和开关序列合成。前者的优点是省事,后者更便于理解底层原理。我在模型中选择手动搭建SVPWM,因为这样可以随时调整死区时间、插入调制限幅逻辑,而且便于观察调制波和载波的对比情况。
SVPWM的基本原理并不复杂:将目标电压矢量分解到相邻的两个基本电压矢量和一个零矢量上,根据伏秒平衡原则计算出各矢量的作用时间,再合成对应的开关序列。它相比SPWM的优势在于直流电压利用率更高——可以提升约15%,在同样的直流母线电压下,谐波补偿电流的输出能力明显更强。
3.4 整体仿真模型的信号流与模块清单
我建议你从顶层开始往下搭模型,保持信号流方向清晰。顶层包含五大部分:
- 电网与非线性负载子系统(三相电压源+不控整流桥+阻感负载)
- APF主电路子系统(三相桥+直流电容+并网电感)
- 控制子系统(PLL+谐波提取+电压外环+电流内环+PWM发波)
- 测量与显示子系统(Scope、FFT分析窗口、RMS显示)
- 参数初始化脚本(.m文件或Model Callback)
这里需要强调的是Simulink模型和外部初始化脚本的配合。所有主电路、控制参数不建议在模型里手动填,统一写到初始化脚本中,模型里全部用变量名引用。好处有两个:一是参数调整不用满模型找;二是可以对某一参数做批量扫描,比如用循环脚本连续修改PI增益值跑批量仿真,自动记录THD数据,参数寻优效率极高。我用这个办法快速扫出了重复控制增益在不同电感参数下的稳定边界,帮我省下了大量手动试凑的时间。
4. 关键参数设计:PI参数、重复控制器和PLL的整定全记录
4.1 电流环PI参数的工程整定法
电流内环的PI参数,我建议先用连续域工程设计法初步计算,再转入离散域微调,而不是一开始就靠凑。并网电感的传递函数是电流对电压的响应,即 ( I(s)/V(s) = 1/(Ls) )。为了使得电流环有足够的带宽跟踪谐波,PI零点需要抵消掉被控对象的极点(此处为纯积分特性),所以PI参数可以和电流环期望带宽直接挂钩。
工程整定公式通常取阻尼比 ( \xi=0.707 ),按典型I型系统整定:
[ K_p = \frac{L \cdot \omega_{BW}}{2\xi^2} \cdot \frac{1}{K_{PWM}}, \quad K_i = K_p \cdot \omega_z ]
其中 ( \omega_{BW} ) 是期望的电流环带宽(rad/s),( \omega_z ) 是PI零点的角频率,( K_{PWM} ) 是PWM调制器等效增益。以L=3mH、( K_{PWM}=1 )、期望带宽取2kHz为例,初算出来 ( K_p \approx 9.4 )、( K_i \approx 5900 ),在这个初值附近微调即可。
但实战中我发现,这个初算值偏保守。实际在Simulink里跑负载突变的阶跃响应时,把 ( K_p ) 从9.4逐步往上加,能看到动态响应明显加快,但加到18以上时电流波形就开始出现高频毛刺,这是进入了噪声放大区。最终工程折中取 ( K_p=15 )、( K_i=8000 ),在动态性和平滑度之间取了平衡点。
4.2 重复控制器的离散化设计:周期延迟、重复增益与补偿器
重复控制器的离散化设计是整个模型里最考验“算法功底”的部分。它由三部分组成:周期延迟环节 ( z^{-N} )、重复增益 ( K_{rp} )、以及补偿器 ( S(z) )。其中 ( N ) 是每个基波周期的采样点数。开关频率10kHz对应采样周期100μs,一个20ms基波周期就是 ( N=200 )。
最关键的设计难点在补偿器 ( S(z) )。它的作用是对被控对象的幅频特性做“整形”,使得重复控制环路的增益在期望补偿的谐波频段内接近1,相位滞后接近0。仿真模型里,被控对象是并网电感加PWM调制器的等效模型,在较低频段近似为纯积分特性。理想的 ( S(z) ) 应该是一个超前-滞后补偿网络,在全频段的相位裕度都保持充足。实际工程中,( S(z) ) 可以用被控对象的逆模型近似,但全频段逆模型会放大高频噪声,所以必须在谐振频段(如5次~25次谐波,即250Hz~1250Hz)精确补偿,高频段则滚降衰减。
我在仿真里采用的 ( S(z) ) 结构是:一个二阶低通滤波器(截止频率2.5kHz)串联一个超前校正环节(补偿相位滞后约30°~50°)。重复增益 ( K_{rp} ) 取0.95~0.98之间的值。( K_{rp} ) 越接近1,稳态谐波抑制精度越高,但系统对参数摄动越敏感;取0.95时稳定性好,但残余谐波稍重;取0.98时稳态精度高,但遇到电感值漂移可能引发微小的振荡。我最终取0.96作为折中。
这里有一个系统层面的问题:PI控制器和重复控制器并联后,二者共同驱动同一个被控对象,如果把PI支路的相位滞后也考虑进重复控制的闭环整形,设计的复杂度会增加。我在实际模型中做了简化处理——把PI支路视为重复控制环内的一个附加扰动,只要重复控制的增益边界留有裕量,这个简化在工程上是成立的。仿真结果也表明,这个简化不影响整体性能达标。
4.3 PLL锁相环的实现与相位同步
锁相环的精度直接影响谐波提取和坐标变换的准确度。Simulink中自带的三相PLL模块已经足够好用,但我自己习惯手动搭建一个基于d-q坐标系和PI调节器的PLL结构:三相电压经过Clark变换到αβ坐标系,再经过Park变换到d-q坐标系,q轴电压偏差经过PI调节器后得到角频率修正量,再积分获得相位角。
这个PLL要特别注意环路带宽的设定。带宽太低,电网频率快速波动时相位跟踪滞后,谐波指令电流的相位会偏移,补偿效果大打折扣;带宽太高,电网电压畸变中的谐波分量会污染相位输出,导致PLL输出的角频率抖动。电网电压畸变严重时,甚至需要在采样前端加陷波器滤除特定次谐波电压的干扰。我在仿真中把PLL带宽设置在30Hz左右,实测在5%的电压畸变背景下,相位误差能控制在1°以内,这个精度完全够用。
4.4 参数设计速查表
为了便于快速复现,我把整定后的关键参数整理成一张速查表。
| 参数项 | 数值 | 说明 |
|---|---|---|
| 电网相电压有效值 | 220V | 线电压380V,50Hz |
| 开关频率 ( f_{sw} ) | 10kHz | 采样周期100μs |
| 并网电感 L | 3mH | 电流纹波与带宽折中 |
| 直流母线电压 ( V_{dc} ) | 750V | 高于线电压峰值,留出调制度裕量 |
| 直流电容 C | 4700μF | 支撑母线电压动态稳定 |
| 电流环 ( K_p ) | 15 | 动态响应/噪声抑制折中 |
| 电流环 ( K_i ) | 8000 | 消除稳态误差 |
| 重复增益 ( K_{rp} ) | 0.96 | 稳态精度与鲁棒性折中 |
| 周期延迟点数 N | 200 | 20ms/100μs |
| 补偿滤波器 ( S(z) ) | 二阶低通2.5kHz+超前校正 | 补偿幅频、相频特性 |
| 电压环 ( K_{p,dc} ) | 0.8 | 电压外环比例增益 |
| 电压环 ( K_{i,dc} ) | 20 | 电压外环积分增益 |
| LPF截止频率 | 5Hz | d-q轴基波提取滤波器 |
5. 实操过程记录:Simulink建模的完整流程
5.1 建模第一步:主电路与负载的搭设
打开Simulink,新建空白模型,第一件事就是把仿真步长设为固定步长,步长等于1/100000秒(即10μs)。这一步不要省略,因为后续的PWM调制和重复控制延迟都对采样周期敏感,变步长求解器在开关动作瞬间会变得极慢,而且容易引发数值振荡。
主电路部分,我习惯用Simscape Electrical(即SimPowerSystems)模块库里的三相电压源、串联RLC支路、IGBT/二极管桥模块和负载模块来搭。三相不控整流桥可以直接选Universal Bridge模块,桥臂选二极管,负载选RL串联。APF主电路同样用Universal Bridge,选IGBT/Diode,直流侧接两个电容串联,中点接地或不接都行,三线制系统不涉及中线电流问题。
仿真中容易忽略的一个陷阱是电感的初始电流。如果不设置初始值为0,仿真启动瞬间会出现数值冲击;即使设置了,也要注意PWM调制在启动前半周期可能出现的过流脉冲。我的做法是加一个软启动逻辑——启动后前0.02秒封锁PWM脉冲,让直流母线电容先通过预充电电阻充到一定电压,解除封锁后立即切入正常运行。虽然Simulink里不像真实硬件那样担心电容烧毁,但这样处理能让波形记录干净整洁,避免启动尖峰对后续FFT分析的干扰。
5.2 谐波提取与控制环路的仿真实现
控制回路的搭建是在Simulink中使用数学运算模块完成的。三相负载电流从主电路引出后,先经过一个三进二出的Clark变换模块,再经过Park变换模块得到i_d和i_q。坐标变换矩阵中的正余弦角度来自PLL输出。
Park变换公式是:
[ \begin{bmatrix} i_d \ i_q \end{bmatrix} = \begin{bmatrix} \cos\theta & \sin\theta \ -\sin\theta & \cos\theta \end{bmatrix} \begin{bmatrix} i_\alpha \ i_\beta \end{bmatrix} ]
得到i_d和i_q后,各经过一个截止频率5Hz的二阶低通滤波器,滤出基波正序分量。用总电流减去滤波后的基波分量,即得到d-q坐标系下的谐波电流指令。注意这里的减法是在d-q坐标系内完成的,相当于做了一次“直角坐标系的谐波提取”,再经Park反变换得到三相指令电流——也可以直接在d-q域做控制,看个人习惯。我是在d-q域直接控制,反变换到αβ域后进SVPWM模块。
电流内环中,指令值和实际反馈值相减得到误差信号,误差分别送入PI控制器和重复控制器,两个控制器的输出相加得到控制电压,再叠加电网电压前馈量,最终得到电压指令送入SVPWM。SVPWM输出的六路PWM脉冲通过Gate端口接到APF桥臂上,模型闭环就形成了。
5.3 含重复控制器的驱动与运行调试
重复控制在Simulink里搭建时,最核心的模块是周期延迟环节z^(-N)。对10kHz采样率、20ms基波周期,N=200,可以用Discrete Delay模块实现,延迟周期设为200个采样步。但这里有一个关键细节:Simulink的固定步长求解器在离散模块中默认每个步长更新一次状态,所以Discrete Delay的延迟数必须和实际采样周期严格对应,若不一致,重复控制的“记忆”长度就会出现偏差,控制器会误以为周期不同而产生一整个频段的补偿错误。
补偿器S(z)用离散传递函数模块实现。二阶低通按2.5kHz截止频率离散化,超前校正环节可以通过设计零极点或使用 Simulink 自带的“Discrete State-Space”模块实现。这里我建议先把S(z)置为1跑一遍模型,确认重复控制的基本回路能稳定,再逐步加入补偿器和增益,便于排查环路稳定性问题。
运行仿真时,仿真时长建议设置不少于0.5秒。从开始到0.2秒,系统达到稳态;0.2秒时刻投入APF;0.3秒时刻突加负载(在整流桥负载侧并联一组电阻),验证动态补偿效果。时间太短不利于观察重复控制的“逐周期收敛”过程,时间太长又会拖慢仿真速度。0.5秒是一个效率和可视化效果的平衡值。
5.4 仿真结果观察:波形分析与FFT频谱
仿真跑完后的第一件事是打开Scope,查看APF投入前后的网侧电流波形。未投入APF时,网侧电流呈明显的尖顶波,正弦度很差;投入APF后,电流波形应该在两到三个基波周期内迅速平滑化,最终接近正弦波。
第二步是用Powergui模块中的FFT分析工具读取数据。将电网电压和网侧电流信号导入FFT窗口,基频设为50Hz,最大频率分析到2000Hz(即40次谐波),用“Display”方式查看各次谐波含量柱状图。典型的仿真结果中,未补偿时5次谐波含量在23%左右,7次约11%,THD总畸变率在26%上下。投入PI控制后,THD能压到7%左右,但波形底部仍有明显的“小台阶”,这是5、7次谐波残余造成的。投入PI+重复控制后,THD降至3%以下,波形平滑度达到预期。
值得特别注意的是动态过程波形——在0.3秒负载突增瞬间,网侧电流会出现一个短暂的过渡过程。纯PI控制的过渡波形有明显的超调和高频振荡尾巴;而PI+重复控制的过渡波形虽然前期同样有超调,但一到两个基波周期内就被迅速拽回正弦波形。这就是重复控制“逐周期修正”能力的直观体现。用Scope放大波形,能清楚地看到重复控制在每个周期起点对误差波形的调整——它像一位每20ms对一次表的老钟表匠,每个周期都把偏差拧回去一点,直到完全对齐。
6. 常见问题与排查技巧实录
6.1 控制发散或高频振荡:寄生参数与延迟的陷阱
仿真中第一个高频问题就是电流波形出现正负交替的发散振荡,像锯齿波一样逐渐增大。首先是排查采样率是否够高——固定步长10μs对10kHz的开关频率有足够的余量(每个开关周期10个采样点),基本排除这个问题。其次是排查重复控制器的补偿器S(z)相位补偿是否过度或不足,超前校正角度是否过大,导致在高频段形成了正反馈。最后还要检查PWM调制环节的传输延迟是否在模型中正确建模,如果调制器有一个开关周期的纯延迟,却没有在控制器设计时考虑,就相当于给被控对象注入了一个高频相位滞后,重复控制极易在这个频段上振荡。
6.2 补偿精度不足:重复增益与低通滤波器的微调
如果THD始终在4%~5%徘徊,不上不下,先不要急着怀疑算法架构。第一步检查谐波提取用的低通滤波器——截止频率是否太低或者滤波阶数是否过高,导致d-q轴基波分量提取不干净,谐波指令里混入了较多的基波负序成分,补偿效果自然大打折扣。第二步检查重复增益K_rp是否偏低——K_rp=0.95和K_rp=0.98的稳态残余谐波差距可能达到一倍,虽然增益越高对参数摄动越敏感,但在仿真模型中参数完全确定,可以放心地往0.98方向靠。第三步检查PLL锁相精度——如果PLL输出的相位有数度偏移,谐波提取的坐标变换基准就会倾斜,补偿电流的相位跟着偏,幅值再准也白搭。
6.3 启动冲击过流:软启动与限幅策略
APF投入瞬间的电流冲击是另一个让人头疼的问题。原因是直流母线电压从零开始建立,电压环PI输出饱和,电流内环指令瞬间冲到最大值。解决措施分层推进:第一层,在PWM脉冲上加一个0.02秒的封锁逻辑,封锁期间直流电容通过限流电阻充电;第二层,电压环PI输出加限幅,限制d轴有功电流指令的最大值,比如限制在额定电流的50%,让母线电压缓慢建立;第三层,如果重复控制支路在启动初期就介入工作,而此时的误差信号中还含有大量瞬态冲击分量,会导致重复控制器的记忆被“污染”,后面要花好几个周期才能把记忆中的错误波形清除掉。因此建议在启动后的前0.05秒将重复控制支路旁路,只让PI支路工作,待母线电压建立完成、系统进入相对稳定的运行状态后再切入重复控制。
6.4 死区效应与数字延迟的补偿
如果仿真模型特意加入了死区时间设置(IGBT模块参数中设置Turn-on delay和Turn-off delay),就会发现在低电流过零区域出现补偿电压畸变,导致谐波补偿精度的下限被拉高。死区效应在硬件中真实存在,仿真中如果直接忽视,得到的结果会偏乐观。但若仿真中加入了死区却不在控制器里补偿,结果又偏悲观。实际工程中,硬件样机必须引入死区补偿策略。仿真模型可以作为一个“对照组”——同时运行带死区补偿和不带死区补偿的两个版本,对比验证死区补偿算法的有效性,这样既贴合硬件实际,又不至于因为死区问题掩盖了控制策略本身的性能表现。
6.5 常见问题速查表
| 故障现象 | 可能原因 | 排查顺序 |
|---|---|---|
| 启动即发散 | 采样周期不对、调制器延迟未建模 | 先查步长和延迟环节 |
| 高频锯齿振荡 | 补偿器S(z)相位补偿过度 | 减小超前角度或降低LPF截止频率 |
| 稳态THD偏高 | 重复增益偏低、低通滤波器提取不净 | 先调K_rp再调LPF |
| 动态恢复慢 | PI增益偏小、重复控制未旁路启动 | 加大K_p,检查启动逻辑 |
| 波形相位偏移 | PLL带宽不足、锁相精度差 | 提高PLL带宽或加陷波器 |
| 电流过零毛刺 | 死区效应未补偿 | 增加死区补偿算法 |
7. 工程化扩展与应用前景
7.1 从仿真到硬件:采样、延时与离散化的一致性
仿真跑通的模型并不意味着硬件可以直接照搬。最大的鸿沟在于采样延迟和计算延迟——Simulink模型中默认控制算法瞬时完成,但实际DSP从采样到PWM更新之间存在约一个开关周期的纯延迟。我在从仿真走向样机调试的过渡阶段,曾经因为忽略这个延迟导致重复控制器在硬件上轻微振荡。解决办法是在仿真模型中主动加入一个单位延迟环节来模拟DSP的计算延时,观察系统是否仍然稳定,然后把控制参数针对延迟后的模型重新整定一遍。这个“仿真打样、延迟建模”的做法值得所有准备做硬件的同行留意。
7.2 拓展方向:LCL滤波与多机并联
对于更大容量的APF,并网电感L需要进一步增大以限制电流纹波,但同时会削弱电流跟踪能力。工程上常用LCL滤波器来替代单一的L,在同样的纹波抑制效果下,总电感量更小,动态性能更好。但LCL引入了额外的谐振峰,控制器的设计会更复杂,通常需要加入有源阻尼或无源阻尼。PI+重复控制在这个场景下依然有效,但补偿器的S(z)设计需要把LCL的谐振峰考虑进去,这时仿真模型的价值就更加凸显了——可以在仿真中尝试不同的阻尼方案,观察重复控制对谐振峰的敏感度,再决定硬件方案。
多机并联运行也是实际工程的热门需求,多台APF并联时,控制环之间的相互作用会引发环流和谐波补偿耦合问题。在Simulink中搭建双机并联模型,把PI+重复控制的策略应用到每一台机器上,分析不同载波相位条件下的环流特性,这是一个很值得深挖的仿真研究方向。
7.3 策略对比的量化结论
仿真模型最大的价值是可以在同一平台下定量对比不同控制策略。用同一个主电路和负载模型,分别运行纯PI、纯重复控制、PI+重复控制三种策略,对比数据如下:
| 控制策略 | 稳态THD | 动态恢复时间(负载突变后) | 启动冲击电流倍数 |
|---|---|---|---|
| 纯PI控制 | 6.8% | 约45ms | 2.1倍 |
| 纯重复控制 | 3.5% | 约80ms(两个周期以上) | 1.5倍 |
| PI+重复控制 | 2.4% | 约18ms | 1.3倍 |
这个表格很有说服力。纯PI动态尚可但稳态精度不足;纯重复控制稳态优异但动态迟钝——负载突变后要等到下一个周期的误差记忆开始修正,才能逐步调整,真正的响应时间明显更长。而并联复合后的PI+重复控制把两者的优点都保留下来,动态恢复时间压到20毫秒以内,这在实际工程中意味着变频器启动瞬间、起重机提升瞬间等工况下,网侧电流畸变率也不会明显恶化。那些对电网电能质量有严格要求的场合,比如医院手术室供电、精密制造车间的工艺设备供电,这个性能水平基本达到了可交付门槛。
8. 实操总结与后续建议
PI+重复控制并联的有源滤波器谐波抑制策略,核心价值在于理解了“周期扰动用周期控制器来解决”这一内模原理的工程化落地路径。搭建Simulink仿真模型的过程,不光是拖几个模块连几根线那么简单,每一个参数背后都有明确的物理意义和数学逻辑:电感决定了电流环的带宽上限,重复增益决定了稳态误差的下限,补偿器的相位校正决定了系统的稳定边界。
在我自己调试这个仿真的过程中,最大的体会是“控制器设计是一回事,把控制器放进系统里稳定工作又是另一回事”。重复控制的补偿器S(z)在理论设计时看起来天衣无缝,一旦要考虑PWM调制延迟、采样保持效应和电感参数偏差,边界条件就会变得模糊。仿真模型正是把这些边界条件变成可量化、可视化的测试平台——边扫参数边看波形,半小时的理解往往超过翻一整天文献。
如果你正在准备搭这个仿真,我的建议是分三步走:第一,先把不含重复控制的PI双环模型跑稳,把PLL、谐波提取、SVPWM各模块逐一验证;第二,再把重复控制支路并联上去,先把K_rp调小验证稳定性,再逐步增大到目标值;第三,加入负载突变和参数摄动测试,把动态性能和鲁棒性摸透。这三步走下来,你不仅会得到一个能跑的仿真模型,更会对谐波补偿控制策略的底层逻辑建立清晰、完整的认知框架。后续如需进一步研究LCL滤波、自适应重复控制,或者向多机并联方向拓展,这套模型可以稳定地作为你的开发和验证底座。