很多人一开始接触柔性直流输电,第一件事就是打开PSCAD,找到一个别人分享的VSC直流输电仿真模型,改改参数就以为自己会了。但真到答辩、论文复审或者工程论证的时候,模型一跑就飞,或者跑完了波形跟物理常识对不上,这种我见得太多了。问题基本都出在:对VSC直流输电的物理结构理解不够深、控制器参数直接抄、仿真的步长和初始化过程没有认真设计。这篇就结合我自己的调试经历,把一个VSC直流输电仿真案例从平台选型、换流器建模、控制策略到故障处理完整拆一遍,顺便把我踩过的坑都摆出来,给打算做柔直仿真的人一条能直接走通的路。
1. 先搞清楚你仿真的对象:VSC直流输电到底在解决什么问题
1.1 VSC-HVDC和传统直流的核心区别
VSC直流输电,中文圈子里习惯叫柔性直流输电,英文缩写是VSC-HVDC,核心换流元件是电压源换流器。传统直流(LCC-HVDC)用的是晶闸管,需要依靠交流电网的换相电压才能工作,所以它天生怕“弱电网”,也基本没法给无源网络供电。VSC用的是IGBT这类可控关断器件,自身就能建立交流电压,这就让它在功能上发生了质变。
从原理上看,VSC可以理解成一个受控的交流电压源。你控制换流器出口电压的幅值和相位,就能控制交流侧有功和无功的交换。这个特性意味着:
- 它能给孤岛、海上风电平台这类没有稳定交流电源的网络供电,因为它是自己“生成”电压,而不是依赖电网换相。
- 它能四象限独立调节有功和无功,动态响应速度比传统直流快得多。
- 它天生支持潮流反转,对于多端直流网络来说,这是最关键的优点之一。
1.2 你仿真的场景通常落在哪一类工程上
从我平时接触的仿真需求来看,VSC直流输电的案例基本集中在三类场景。
第一类是海上风电送出。风电场发出的是频率不稳定的交流电,通过VSC换流站整流成直流,送到陆地后另一个换流站逆变成工频交流并网。这个场景里,风电场侧的换流器通常要负责建立交流电压和频率,相当于扮演“电网”的角色;陆地上的换流器则负责维持直流电压稳定,把功率平稳送入主网。
第二类是城市电网和负荷中心供电。很多大城市的交流电网密度高、线路走廊紧张,用柔直做背靠背或者闭环配电,可以实现潮流精确控制、故障隔离和电压支撑。仿真时你会经常看到“背靠背”结构:两个换流站直流侧直接连接,中间没有长线路。
第三类是异步电网互联。两个不同频率或者不联网的交流系统,通过直流背靠背相连,既能交换功率,又不会把扰动传过去。这类仿真通常更关注功率传输阶跃下的稳定性,而不是阀级电气应力。
动手做仿真之前,我建议先明确你的案例属于哪一类。因为后面所有参数设计、控制器目标、故障设置都会因为这个定位而不同。你要是连自己的系统是在给无源网络供电,还是在并网整流,都说不清楚,那仿真跑出来再漂亮也是废的。
2. 仿真平台选型:PSCAD、MATLAB/Simulink、RTDS各干各的活
2.1 各平台的实际能力和边界
做VSC直流输电仿真,第一步不是急着搭桥,而是选平台。市场上最常见的三个选择是PSCAD/EMTDC、MATLAB/Simulink、RTDS(以及类似实时仿真器)。很多初学者喜欢问“哪个最好”,我的答案是:看你要什么层级的细节。
我用一张表把不同平台的特点列出来,方便你对号入座:
| 平台 | 典型定位 | 能仿真到什么级别 | 主要劣势 |
|---|---|---|---|
| PSCAD/EMTDC | 电磁暂态仿真 | 开关级,IGBT通断、子模块电容均压、MMC阀内部动态都能看到 | 建模工作量大,仿真速度慢 |
| MATLAB/Simulink | 控制系统研发与快速验证 | 平均模型很成熟,适合研究控制器算法和故障策略 | 开关级MMC模型太慢,电磁细节不足 |
| RTDS/RTLAB | 实时仿真、硬件在环 | 接近PSCAD的电磁暂态,且能接真实控制器 | 设备贵,入门成本高 |
| DigSILENT/PowerFactory | 机电暂态、规划分析 | 适合含VSC直流电网的稳定性分析,关注外特性 | 无法看阀内均压和谐波细节 |
如果你在学校做论文,题目是“VSC直流输电仿真案例解析”这类,绝大多数情况用PSCAD就够了。因为柔直最核心的研究点要么在暂态特性,要么在控制器,PSCAD恰好都能覆盖。MATLAB/Simulink的优势在于控制算法的灵活度和后期自动代码生成,比如你用Simulink设计了一个新型阻尼控制器,然后想验证它在电磁暂态模型里的表现,通常的做法是PSCAD建主电路,Simulink做控制接口,二者联合仿真。
2.2 建模尺度选择:平均模型和开关模型怎么取舍
仿真平台选完之后,还有个非常重要的判断:你要用平均模型还是开关模型。
两电平VSC用PWM调制,开关频率从几百赫兹到几千赫兹,仿真步长动辄微秒级。如果你只需要分析功率阶跃、直流电压波动、控制器交互,完全没必要把每个IGBT的开关动作都模拟出来。这时用平均模型(也叫连续模型),把换流器等效成一个受控电压源,换算关系是调制波乘以直流电压的一半,再加一个很小的延时。平均模型速度快、数值稳定,适合做控制器参数设计和稳态工况分析。
但如果你要研究MMC子模块电容电压均衡、环流抑制、直流短路电流表达式,那就必须用开关模型,甚至还要考虑IGBT的串联损耗和缓冲电路。MMC一个桥臂几十到几百个子模块,每个都模拟开关,仿真步长通常要压到2到20微秒,跑一个故障暂态可能是几十分钟到几小时。
我的建议是:初期先搭平均模型把控制链路调通,再逐步替换成详细模型。这样既不会让后面排查问题的时候被模型复杂度淹没,也能在关键暂态分析里保留必要的准确度。很多工程论文里的“算例分析”其实都是平均模型加上少量MMC等值模型做的,实验室阶段完全够用。
3. 把换流器模型拆开看:从两电平到MMC的等值建模细节
3.1 两电平VSC的基本结构
两电平VSC是柔直里最基础的拓扑,三相六个桥臂,每相上下各一个IGBT和反并联二极管。交流侧通过变压器和相电抗器接入电网,直流侧并联大电容支撑电压。
它的工作原理概括起来就是PWM调制:三相正弦调制波和三角载波比较,产生控制IGBT通断的脉冲。调制比m和直流电压Udc共同决定了交流侧输出电压的基波幅值:
Uac = m * Udc / 2
这里的m通常小于或接近1,在启动或者需要过调制抑制谐波时,会做一些特殊处理。两电平VSC最致命的弱点是:电压等级越高,IGBT串联均压越困难,开关损耗也越大。所以实际工程中,高压大容量柔直几乎都是MMC,但两电平依旧非常适合做原理验证和控制器学习,因为它的数学模型最简单。
在PSCAD里搭两电平VSC,要注意几个容易错的地方:
- 直流侧电容必须有预充电过程,接线瞬间电容电压直接加在IGBT上,电流冲击会非常大。
- IGBT的缓冲电路参数要合理,通常在封装模型里把缓冲电阻改成1MΩ以上的高阻值,避免影响仿真精度。
- PWM载波频率和仿真步长要匹配,如果步长比载波周期大很多,调制波和载波比较会出现混叠。
3.2 MMC的半桥子模块模型和电容/电感参数
MMC每个桥臂由N个子模块串联而成,每个半桥子模块包括两个IGBT、一个电容和一个旁路开关。通过控制子模块的投入和切除,桥臂输出电压可以阶梯状逼近正弦波,谐波特性比两电平好得多。
子模块电容的参数直接影响直流侧动态特性,通常按“等效储能时间常数”来选择。工程上常用公式:
C = (2 * S * Ts) / (N * Uc²)
其中S是换流器额定功率,Ts是单次充放电可承受的时间常数,Uc是子模块电容额定电压。以一个300MW、±150kV的MMC为例,桥臂子模块数N取200,子模块电容电压约1.5kV,电容值大概率落在几毫法到十几毫法之间。
桥臂电抗的选择同样关键。它的作用是抑制环流和故障电流上升率,典型取值在0.1到0.2 pu之间。取值过小,环流抑制压力大,系统容易振荡;取值过大,无功损耗和电压降落明显,设备和线路成本也上去了。
在PSCAD里做MMC,我强烈建议先用“戴维南等值模型”替代完整全桥开关模型。原理很简单:每个子模块电容在单个步长内可以等效成一个电压源串联一个电阻,通过戴维南定理把整个桥臂化成一个等效电压源和等效电阻,大幅减少计算量。这样既能看到电容电压波动,又不需要逐个IGBT做开关仿真,速度和准确度平衡得最好。
3.3 变压器和直流线路怎么建模更接近实际
换流变压器一般选Y-d接线,三角形侧放在阀侧。原因主要有两点:一是可以滤掉部分谐波,二是给零序电流提供通路,避免交流侧不对称故障时直流系统上出现零序电压。仿真里变压器模型建议用饱和变压器,虽然励磁涌流会增加启动困难度,但能真实反映合闸瞬间的冲击。
直流线路建模取决于长度和研究的重点。短距离背靠背或100km内的直流线,用PI等值模型就够,集中电阻加电感加电容。长距离海缆或者跨区直流,建议用分布参数模型(比如PSCAD里的Bergeron模型或者频变参数模型),因为电缆的波过程和电容效应在中长线路里不能忽略。
还有一个容易忽略的地方:海缆的对地电容很大,启动时充电电流可能比正常工作电流还大。在海上风电送出案例里,如果直流侧是海缆,第一次上电基本都会经历比较长的“软启动”过程,这个在算例里如果没有体现,会直接造成误差。
4. 控制系统层层拆解:从锁相环到功率/电压双闭环
4.1 锁相环到底锁的是什么
VSC要控制交流侧功率,必须先知道交流电压的相位。锁相环(PLL)就是干这个的。最常见的SRF-PLL是先把三相电压变换到dq坐标系,然后让q轴电压的参考值等于0,偏差经过PI调节器后得到角频率,再积分得到相位。
大多数初学者的模型出问题,都出在PLL上。弱电网的短路比(SCR)偏低时,PLL的动态响应会变慢甚至振荡,直接影响功率控制环。PLL带宽设得太高,会放大电网谐波的干扰;设得太低,跟频速度慢,功率阶跃时容易超调。
我的经验是,PLL带宽一般取10~30Hz,和电流内环带宽之间至少拉开3~5倍距离。如果你发现VSC在接入一个SCR小于2的系统时波形一直在抖,先去调PLL,而不是调功率外环。
4.2 外环控制:定直流电压、定功率、定交流电压
VSC控制器的整体结构是外环决定电流参考值,内环跟踪电流参考值。外环需要根据换流站的功能来选择,一般有四种:
- 定直流电压控制:有功外环的目标是维持直流母线电压稳定,输出的是d轴电流参考值。
- 定有功功率控制:有功外环的目标是跟踪给定的功率指令,同样输出d轴电流参考值。
- 定无功功率控制:无功外环输出q轴电流参考值,维持无功功率为设定值。
- 定交流电压控制:通过调节q轴电流来维持换流站出口交流电压幅值,典型应用是风电场侧MMC“建压”功能。
需要注意的是,一个直流网络里不能同时有两个换流站都定直流电压,这会引发有功潮流抢跑和直流电压竞争。所以在双端柔直里,整流侧经常用定功率,逆变侧用定直流电压;而在海上风电送出的系统里,风电场侧用定交流电压和定频率,陆地侧用定直流电压和定无功功率。
4.3 内环电流控制和前馈解耦
电流内环建立在dq旋转坐标系下,需要把d轴和q轴的电流独立控制。但实际交流电抗上存在交叉耦合项:d轴电压方程里会出现q轴电流项,反之亦然。最简单的解耦方法就是“前馈补偿”:控制器输出的电压指令里,人为加上耦合抵消项和电网电压前馈项。
内环PI参数可以按照系统的电气时间常数来设计。如果交流侧等效电抗为L,等效电阻为R,那么电流环的PI参数常用以下逻辑:
Kp = L / τi Ki = R / τi
其中τi是电流环期望的时间常数,一般取1到5毫秒。这样算出来的Kp和Ki是一个比较好的起步值,实际还需要在仿真里微调。我见过太多人直接上网抄一组“通用PI参数”,换到自己的L参数上肯定发散,因为控制器增益和系统阻抗是强耦合的。
控制器的离散化也要注意。在PSCAD和Simulink里,控制器的采样频率不等于仿真步长。通常采样频率选2kHz到10kHz,和硬件DSP的采样频率一致。如果你把仿真步长直接当成采样周期用,控制延时会被错误地建得很小,这会让仿真模型比实际系统“更好看”,但换到真实控制器里就跑不出这个效果。
4.4 启动流程和调制策略不能省
VSC直流输电仿真里,启动过程设计是控制策略落地的一个关键环节。实际工程有严格的启动时序:先合交流断路器给换流变充电,再通过限流电阻给直流电容预充电,等直流电压升到额定值后,解锁换流器,最后切换控制器。
仿真里如果把这一步省了,直接让控制器从0开始输出电压,大概率电流冲击巨大,甚至一步发散。最简单的做法是:分阶段实现,第一阶段闭锁换流器,只通过整流二极管给电容充电;第二阶段解锁,用开环的定直流电压参考值缓慢升压;第三阶段再切换到正常运行的双闭环控制。
调制策略方面,两电平VSC用PWM相对清晰。MMC就要考虑载波移相正弦PWM(CPS-PWM)还是最近电平逼近调制(NLM)。PSCAD里的MMC模型大多用NLM,因为子模块多时,最近电平逼近的谐波已经足够低,而且逻辑简单,容易和戴维南等值结合。但要注意NLM在低调制比时会出现阶梯电平失真的问题,启动阶段尤其明显,必要时叠加高频注入或者动态均压策略。
5. 一个海上风电柔直送出的双端MMC-HVDC完整仿真案例
5.1 案例参数配置和拓扑设计
这个案例我是按一个典型海上风电送出系统来设计的,规模不算大,但五脏俱全:风电场侧通过交流海缆连到送端MMC换流站,送端整流成直流,经过直流海缆送到陆地上的受端MMC,受端再逆变接入交流主网。
系统额定参数我列在这张表里:
| 参数 | 数值 |
|---|---|
| 额定容量 | 300 MW |
| 直流电压 | ±150 kV |
| 送端交流电压 | 66 kV |
| 受端交流电压 | 220 kV |
| 换流变容量 | 350 MVA |
| 子模块数/桥臂 | 200 |
| 子模块电容 | 4 mF |
| 桥臂电抗 | 50 mH |
| 直流海缆长度 | 80 km |
| 仿真步长 | 20 μs |
风电场侧MMC的控制目标:建立66kV、50Hz的交流电压,为风电场提供稳定的“电压支撑”,同时接收风机群输出的有功功率,经直流侧送出。
受端MMC的控制目标:定直流电压控制,把±150kV的直流电压稳定住,同时根据电网调度要求做无功控制。
理论上,送端交流侧如果单纯是风电场,没有传统发电机,电网强度非常弱,所以送端MMC必须用定交流电压加定频率控制。这也是VSC仿真里最能体现“柔性直流对无源网络友好”的工况。
5.2 搭建顺序和波形调试步骤
搭建这套模型,不要一次把所有控制都放上去。我习惯分四步走:
第一步,先搭主电路,直流电容用理想电压源替代,交流侧接一个三相电阻负载,验证换流器能输出基本交流电压。这步要是波形都不对,后面没必要继续。
第二步,把理想电压源移除,加入预充电电阻,测试直流电容充电过程。重点关注直流电压上升曲线是否平滑,充电电流是否超限。
第三步,加入送端MMC的定交流电压控制。这是风电场侧最难调的部分,因为它面对的是一个非常弱的交流网络,控制器的任何振荡都会直接反映在交流电压波形上。我调PLL带宽的时候遇到过一个大坑:把PLL带宽调到30Hz以上时,电压波形看起来没事,但功率阶跃时相位突跳导致直流电压剧烈振荡。后来把PLL带宽降回15Hz,波形立刻稳了。
第四步,接入受端MMC和直流海缆,把送端改成定有功功率控制,受端做定直流电压控制。这时系统闭环,权力开始流动。
波形调试时,我最关注的几个状态量是:
- 送端交流电压幅值和频率:应稳定在1.0 pu附近,波动不超过±2%。
- 直流电压平均值:稳定在设定值,波动峰峰值在启动和功率阶跃时不超过±5%。
- 子模块电容电压:在均值附近波动,正常工况下纹波一般控制在±5%以内。
- 调制波输出:不能出现饱和,如果饱和了,说明参数设置或者容量选择不合理。
5.3 故障仿真和典型结果
搭好正常工况后,故障仿真是提升案例价值的关键一步。我建议至少做三个故障:受端交流母线单相接地短路、送端交流母线三相短路、直流海缆双极短路。
受端交流单相接地是最常见的电网故障。故障持续80毫秒后切除,这个过程中受端MMC为了维持直流电压,会出现有功功率输送能力下降的现象,直流电压会有一个抬升,因为送端送来的有功功率“送不出去”。这时直流电容电压会上升,需要直流耗能装置或者控制系统快速响应。仿真里没有耗能装置的话,直流电压可能会冲得很高,这对阀的安全是很大考验。
送端交流侧三相短路会导致风力发电功率无法输出,直流系统有功功率瞬间失衡,直流电压下降。这个故障主要考验送端MMC的故障穿越能力。
直流海缆双极短路是软硬故障里最严重的,MMC里的电容会通过故障点迅速放电,故障电流上升极快,实测波形里你几乎能看到电流在一两个毫秒内冲到十倍额定值。这种场景下,换流站保护必须快速闭锁IGBT。仿真里如果发现电流波形发散到离谱,通常是子模块电容模型用得不对,或者桥臂电抗取值太小。
仿真结果分析不要只看故障期间波形,还要看故障切除之后能否恢复到原始稳态。很多模型在故障时表现还行,但故障后因为PLL失步或者控制器积分饱和,系统半天回不来,这也是实际工程里非常关心的问题。
5.4 调试中真正折磨人的几个问题
这套案例我前后调了两个多星期,有几次差点崩溃。第一个问题是送端MMC的定交流电压控制在风电场功率从0到额定值的阶跃下,交流电压波动超过10%。我一开始以为是电压外环增益太小,调大之后反而振荡。后来才发现问题出在送端变压器的零序回路:没有给换流变压器做合适的接地处理,零序电压就会一直存在,导致三相电压不平衡。解决办法是在换流变阀侧加装星型电抗接地电阻。
第二个问题是启动时候直流电压过冲。预充电电阻切除后,电容能量可以瞬间补充,直流电压会冲得比额定值高不少。这个现象的原因是送端和受端两侧的预充电过程没有同步协同。解决的思路是:两侧同时充电,并且先让受端进入定直流电压控制,由它接管直流电压稳定,再让送端缓慢增加功率。
第三个问题是海缆模型的选择。一开始我用的是PI模型,80km的直流海缆等效电容接近几百微法,启动时直流电流特别大。换用频变参数模型后,高频分量明显变小,波形更接近实际。所以做长电缆柔直项目,尽量不要为了省事用PI模型。
6. 那些仿真跑飞和不收敛的坑,和我的排查套路
6.1 最常见的发散原因:步长和初始化
VSC直流输电的电磁暂态仿真里,发散通常不是模型“运气不好”,而是数值方法本身就撑不住。PSCAD这类EMTP类工具用的是隐式梯形积分法,理论上稳定性不错,但遇到开关动作频繁、微分代数方程刚性高的情况,照样会振荡。
第一个原因是仿真步长过长。两电平VSC的PWM载波如果是1980Hz,周期约500微秒,步长若是50微秒还能勉强看到开关动作;但MMC开关频率低、子模块多,若是步长超过20微秒,均压算法和环流抑制器的效果会失真,甚至数值发散。做MMC我建议步长定在10到20微秒。
第二个原因是初始值不正确。电容初始电压设为0、电感初始电流设为0的“冷启动”,虽然符合物理合闸过程,但如果是直接带满载解锁,冲击电流很容易超过数值解的收敛范围。稳妥的办法是先做稳态初始化计算,把各状态量的初值写进模型。
6.2 一个典型的故障排查链路
我总结了一个我自己常用的排查套路,碰到模型跑飞,按照这个顺序走,绝大多数问题能定位出来。
第一步,先看第一个时间步里是哪个变量在“爆炸”。是交流电压,直流电压,还是电流内环的输出?这一眼能分辨问题在“主电路参数”还是在“控制器”。主电路发散的常见原因包括:变压器漏抗太小、串联电抗和电容构成高频谐振回路、PLL的积分器初值与实际相位差太大。
第二步,把控制器分模块关掉,用开环测试。把内环PI输出旁路掉,直接用一个固定调制波驱动换流器,如果主电路本身稳定,问题就锁定在控制器动态上。如果是控制器原因,再看是哪个环路在振荡:电流内环一关就好,说明内环带宽和L参数不匹配;外环一关就好,说明外环动态和直流电容参数冲突。
第三步,减小扰动幅度。故障仿真前,先做一个小阶跃测试,比如功率指令只给10%的阶跃,观察控制器响应。如果小阶跃都发散,说明是控制器自身问题;只有大阶跃才发散,那大概率是限幅或积分饱和处理不当。
第四步,加入阻尼。很多时候纯PI控制器在高阻抗电网里就是会在特定频段表现出负阻尼,这时候要做的不是疯狂调Kp和Ki,而是在控制环节加入低通滤波器,限制控制带宽,或者加入有源阻尼项。
6.3 数值振荡和缓冲电路的调整
MMC模型里常见一种现象:波形一边看上去在稳定运行,一边叠加了高频毛刺,频率可能到几百千赫以上。这种振荡通常不是物理上的,而是数值算法在处理开关动作时的“振铃”。解决方法有两个方向,一个是把步长减小到5微秒左右,一个是给IGBT模型加缓冲电路,或者把缓冲电阻加大、缓冲电容减小。
有人会觉得加缓冲电路是“作弊”,因为实际IGBT确实存在寄生电容和吸收回路,不是理想开关。所以在仿真里给IGBT配一个RC缓冲(比如电阻10Ω、电容0.1μF)反而更接近实际,关键在于参数要合理,不能为了压制振荡把缓冲电容做得特别大,那样会明显影响开关损耗和谐波特征。
6.4 多端和潮流反转场景容易忽略的事
如果你不只做双端,想做三端以上直流网络,或者看功率潮流反转的工况,有一个坑特别容易踩:不同换流站的控制模式切换逻辑。
潮流反转时,原来定功率的站可能要转换成定直流电压,原来定直流电压的站可能要转换成定功率。如果切换逻辑只是简单地“到时间了换参考值”,没有做平滑过渡,直流电压会突变,控制器会短暂失稳。正确的做法是加一套模式切换状态机:先把功率降到零,再切换控制模式,最后再升功率,整个过程就像开车换挡一样需要离合器缓冲。
同样的情况也出现在海上风电送端的启动阶段:送端一开始作为无源网络建立交流电压,此时站内没有风机功率输入,等风机并网发功率后,才逐步转换到定功率模式。这个过程里控制目标要从“建压”平滑过渡到“送有功”,如果只靠一个PI环硬切,大概率直流电压会有一次明显的冲击。
收尾:我个人的建模习惯
做VSC直流输电仿真这些年,我自己养成了一套“强迫症”式的习惯:每个模型都附带一张参数表,标注每个PI参数是从哪个时间常数推出来的;每个仿真工况都规定好步长、容差、记录间隔和初始状态;每换一个平台,都要先在同一个基准模型上做交叉验证。现在评审论文或者给工程团队做仿真报告时,这套习惯替我省了大量返工时间。
最后给一个新入坑的朋友的建议:不要一开始就追求“把整个系统搭得特别像工程”,要从小规模的两电平VSC开始,把单端整流器的控制链路彻底调通,再延伸去理解MMC和双端系统。先建立一个能稳定复现物理规律的仿真底座,再在这个底座上叠加故障和高级算法。VSC直流输电的仿真不是靠某一招就能跑通的,它是一个从物理认知到控制设计到数值实现的系统工程,把每一层都想透了,你的模型才能真正成为能支撑论文答辩和工程论证的东西。