拓冰建站拓冰建站
首页 / 资讯中心 / 正文

CIGRE HVDC标准模型仿真实战:控制策略与调试全解析

简介面向电力系统直流输电研究的高校学生、科研工作者及相关工程技术人员这份MATLAB/Simulink仿真解析资料以《CIGRE直流输电标准模型的建模及控制策略仿真研究》论文为蓝本完整复现了CIGRE标准模型的搭建与仿真流程。内容涵盖系统基本参数设定、整流侧定电流控制、逆变侧定关断角与定电流控制、低压限流单元VDCOL、换流器触发脉冲生成、输电线路建模及其在故障条件下的系统仿真等关键环节并给出带详细注释的可运行MATLAB脚本与Simulink模块设置思路帮助读者从理论推导平滑过渡到工程实现。资源为单个docx文档压缩包仅26KB体量轻巧便于快速查阅与离线研读。目前已有98人学习下载。通过研读该资料使用者可掌握直流输电系统在Simulink平台上的建模方法论理解PI控制器参数整定、触发角限制以及电流裕度等内在逻辑并可将模型迁移至其他HVDC项目的研究与开发为后续优化直流传输性能、开展扩展仿真提供宝贵的技术参考。 CIGRE标准模型做直流输电仿真是电力电子和电力系统方向绕不开的一道坎。不管是做毕业设计、发论文还是刚进工程界想搞懂直流控制的实际行为这套模型基本是绕不过去的基准参照。我在读研和后来做柔直、常规直流控制算法验证时反反复复用过它说句实在话它那套LCC电网换相换流器的暂态特性建模到今天依然是验证控制策略最靠谱的“试金石”。这篇文章就把我搭建CIGRE HVDC标准模型的过程、控制策略的实现思路以及调试时踩过的坑完整记录下来代码部分会给出可直接运行的版本方便你对照复现。CIGRE标准模型和控制策略的配合本质上就是在解决一个问题怎么让一个本身没有自关断能力的换流器在交流系统各种扰动下还保持稳定、可控。理解了这一点后续看代码和调参就会有方向感而不是对着Simulink一堆模块发呆。1. 内容整体设计与思路拆解1.1 为什么选CIGRE模型作为仿真基准直流输电仿真模型其实有很多种从简单的准稳态模型到详细的电磁暂态模型选择的关键看你的研究目的。CIGRE HVDC Benchmark模型是1991年CIGRE工作组提出的标准测试模型专门用于直流输电控制研究的横向对比它的地位类似电路里的基准电压源——没有它各家仿真结果根本没有可比性。这个模型的核心价值有三个。第一设备参数完整公开换流变压器、交直流滤波器、平波电抗器、线路参数全部给了明确数值不需要你再自行推测。第二控制难度适中整流侧和逆变侧分别采用定电流和定关断角控制同时包含VDCOL低压限流器环节这些恰恰是工程上最常见的经典配置。第三故障响应特性经过验证模型能精准复现换相失败、直流过流等典型暂态过程这是简化模型做不到的。我用这个模型的场景通常有两类一类是验证新的控制算法比如附加阻尼控制、改进VDCOL策略相对传统控制的优势另一类是配合PSCAD和MATLAB两个平台交叉验证确认算法实现的一致性。无论哪种场景把CIGRE模型的基础行为吃透都是第一步。1.2 模型结构全景图与各部分作用从拓扑结构上看CIGRE标准模型是一个单极12脉动LCC-HVDC系统整流侧和逆变侧各接一个交流系统交流系统用理想电压源串联RL阻抗等效。不过我需要强调这也是该模型最大的简化假设——它不考虑交流系统的频率动态只模拟短路比下的电压支撑特性。如果你的研究涉及弱交流系统或孤岛供电这个模型的适用性就要打个问号了。模型的电气结构可以按以下部分理解交流系统等效两侧都是345kV、工频50Hz的理想电压源通过RL串联阻抗接入换流站母线短路比SCR大约在2.5左右属于中等强度系统。母线处配置了交流滤波器和并联电容器提供无功补偿并滤除特征次谐波。换流变压器采用YN0/delta和YN0/y的接线方式组成12脉动换流器一次侧带分接开关分接头电压比可调我在仿真中通常固定分接头位置因为研究控制策略时不需要模拟分接头调节的动态。12脉动换流桥由两个6脉动换流桥串联构成阀臂用理想晶闸管模型加RC缓冲电路实现。RC缓冲电路的实际参数对仿真收敛性影响很大这点后面会专门讲。直流侧设备包含平波电抗器0.5968H、直流滤波器12/24次谐波滤波支路和300km架空线路的等效PI型电路。控制系统整流侧定电流控制、逆变侧定关断角控制配合VDCOL限流环节这是整个模型的控制核心。2. 控制策略体系与实现原理2.1 整流侧定电流控制闭环里的门道整流侧控制的目标很直接就是把直流电流稳定在整定值。常规做法是电流偏差经过PI调节器输出触发角指令alpha到脉冲发生器。这里有一个非常关键的细节触发角指令必须做限幅处理通常限制在5度到90度之间。最小触发角限制是为了保证晶闸管有足够的导通时间建立电流最大限制是为了在故障时能快速把触发角拉大抑制故障电流。定电流控制的PI参数我在实际调试中发现比例增益Kp取1.0左右、积分时间常数Ti取0.05秒是一个比较稳妥的起步值。不过你要注意这个参数不是万能的——它高度依赖系统阻抗、平波电抗器电感值等参数。如果仿真的系统参数和CIGRE标准不完全一致PI参数必须重新整定。我在做一个改造项目时直接把标准参数抄进去结果整流侧电流振荡了两个周期才稳定下来白费了好几天排查时间。2.2 逆变侧定关断角控制参数间的微妙平衡逆变侧定关断角也叫熄弧角或gamma角控制目的是在保证换相裕度的前提下尽量降低无功消耗。经典做法是实测gamma角与整定值通常15度比较偏差经PI调节器得到触发角指令叠加到逆变侧的alpha指令上。这里有个工程细节很多人会忽略gamma角是每个阀换相结束时的熄弧角6个阀轮流导通实际测量值是一个脉动的波形必须经过测量环节的平滑处理才能进PI调节器。处理不好会引入高频振荡。另外为了避免逆变侧和整流侧控制冲突逆变侧也配了电流控制作为后备——当直流电流低于整流侧整定值时比如整流侧故障逆变侧自动切换为定电流控制。这个切换逻辑用“电流裕度”实现标准值是额定电流的10%也就是0.01kA左右CIGRE模型额定电流2kA。我在仿真中把gamma角整定值设成15度实测稳态运行时直流电压大约在500kV左右和标准模型公布的数据基本吻合。如果你把整定值调小到10度换相裕度会降低故障时更容易发生换相失败——这个特性可以拿来专门研究换相失败抑制策略。2.3 VDCOL和附加控制暂态稳定性提升的关键VDCOLVoltage Dependent Current Order Limiter电压依赖性电流限制器的作用是在直流电压跌落时自动降低电流整定值帮助系统在故障后快速恢复。它的输入是直流电压经过一阶惯性环节滤波输出是电流整定值的上限。电压高时上限不限制电压低时上限被压下来中间是一段线性插值区。实现VDCOL有几点经验值得分享电压测量必须有滤波时间常数取0.02秒左右比较合适能有效避免测量噪声引发误动作。电流整定值的变化速率必须限幅上升速率和下降速率可以不同下降要快迅速限制故障电流恢复要慢防止恢复过程中反复冲击。关键是VDCOL的伏安特性拐点设置要和系统运行范围匹配CIGRE标准的典型值是电压低于0.4pu时电流限到0.3pu电压在0.4pu到0.9pu之间时线性恢复这个参数我从工程经验看基本合理。除了VDCOL我做研究时还经常在控制环路上叠加附加信号比如交流电压调制、功率调制、阻尼控制等。CIGRE模型的优势就在这——控制环路的输入输出接口非常清晰alpha指令、电流整定值、gamma测量值都是现成的信号线扩展附加控制非常方便。2.4 控制性能评估指标体系控制策略好不好不能光看稳态波形要有一套评估维度。我经常用的评估手段包括阶跃响应测试在整流侧电流整定值上加一个10%的阶跃观察电流跟踪的速度和超调量以及触发角的变化幅度。好的控制应该是响应快速且无振荡。交流单相接地故障测试这是最经典的测试场景在逆变侧交流母线上设置一个持续0.05秒的单相接地故障观察换相失败是否发生、恢复时间多长、恢复过程有没有过冲。直流线路短路故障测试在直流线路中点设置短路故障观察故障电流峰值和清除故障后的恢复性能这能反映VDCOL和电流控制的配合水平。功率阶跃测试对于定功率控制模式直接给功率整定值阶跃观察功率跟踪动态。3. Simulink模型搭建与代码实现3.1 模型搭建前的准备与关键参数设置Simulink里建模有两种路线一种是完全用SimPowerSystems现在叫Specialized Power Systems的标准模块搭另一种是写S-Function实现控制逻辑。我推荐混合方式——主电路用SPS模块搭晶闸管、变压器、滤波器这些都有现成库控制系统用Simulink常规模块搭这样调试控制参数时不用重新编译整个模型。仿真参数设置上我踩过几个坑求解器选ode23tbstiff/TR-BDF2相对容差设1e-4。用ode45跑这个模型通常慢得让人怀疑人生而且容易不收敛。最大步长设20微秒虽然模型基频是50Hz但晶闸管换相过程是毫秒级的步长太大会漏掉关键的换相细节。晶闸管snubber电路RC值设置不当直接导致仿真发散。我常用的阀模型参数是Ron0.005Ω、Lon0H、Rs10Ω、Cs1e-6F。Rs和Cs太小会导致数值振荡太大则改变正常的暂态特性。3.2 主电路参数化脚本初始化代码模型里不方便直接把每个参数都敲进模块通常我写一个初始化脚本在仿真前运行自动把参数写入工作空间。下面给出一份精简但完整的初始化代码包含了CIGRE标准模型的核心参数%% CIGRE HVDC Benchmark 系统参数初始化 % 适用于MATLAB R2020a及以上版本Simulink Simscape Electrical % 交流系统参数 f 50; % 系统频率 (Hz) Vn_R 345e3; % 整流侧交流线电压有效值 (V) Vn_I 345e3; % 逆变侧交流线电压有效值 (V) SCR_R 2.5; % 整流侧短路比 SCR_I 2.5; % 逆变侧短路比 % 换流变压器参数 Vr_sec 209.23e3; % 整流侧变压器阀侧线电压 (V) Vi_sec 230.92e3; % 逆变侧变压器阀侧线电压 (V) Xt_r 0.15; % 整流侧变压器漏抗 (pu, 以变压器容量为基准) Xt_i 0.15; % 逆变侧变压器漏抗 (pu) S_T_R 1200e6; % 整流侧变压器容量 (VA) S_T_I 1200e6; % 逆变侧变压器容量 (VA) % 直流侧参数 Vdc_n 500e3; % 额定直流电压 (V) Idc_n 2e3; % 额定直流电流 (A) Ld 0.5968; % 平波电抗器电感 (H) Rd_line 0.0116; % 直流线路总电阻 (Ohm) Ld_line 0.9e-3; % 直流线路总电感 (H) (300km PI型等效) % 控制参数 alpha_min 5 * pi/180; % 最小触发角 (rad) alpha_max 90 * pi/180; % 最大触发角 (rad) gamma_ref 15 * pi/180; % 逆变侧关断角整定值 (rad) Idc_ref 2e3; % 直流电流整定值 (A) Idc_margin 0.1 * Idc_n; % 电流裕度 (A) % PI控制器初值——整流侧电流控制 Kp_i 1.0; % 电流PI比例 Ti_i 0.05; % 电流PI积分时间常数 % PI控制器初值——逆变侧gamma控制 Kp_g 0.5; % gamma PI比例 Ti_g 0.02; % gamma PI积分时间常数 % VDCOL参数 Vdc_hi 0.9 * Vdc_n; % VDCOL 高阈值电压 Vdc_lo 0.4 * Vdc_n; % VDCOL 低阈值电压 Idc_hi Idc_n; % VDCOL 高阈值电流 Idc_lo 0.3 * Idc_n; % VDCOL 低阈值电流 Tv 0.02; % 电压测量滤波时间常数 (s) fprintf(CIGRE HVDC 标准模型参数初始化完成\n);这段代码的运行顺序很关键。Simulink模型里的参数如果直接引用工作空间变量必须保证模型启动时变量已经存在。我通常把这段脚本放在模型的PreLoadFcn回调函数里这样打开模型时自动执行能避免手动运行脚本时参数遗漏导致模型报错。3.3 控制系统Simulink模块搭建步骤控制模块的具体搭建分为几块电流测量与滤波环节直流电流测量用Current Measurement模块输出信号经过一阶低通滤波传递函数1/(10.002s)滤除换相带来的纹波。这里滤波时间常数要取得小一点太大了会明显延迟故障检测。PI控制器模块整流侧电流PI直接用Simulink的PID Controller模块设置PKp_i、IKp_i/Ti_i即可注意输出限幅要设成alpha_min到alpha_max。逆变侧gamma控制同样但输出含义是触发角偏移量需要和最小gamma限制逻辑组合使用。触发脉冲生成这一步是很多新手最容易卡住的地方。晶闸管的触发脉冲必须和换流变压器阀侧电压同步标准做法是将阀侧线电压经过PLL锁相环获得同步参考。PLL的带宽要设置合理带宽太高会放大谐波导致触发不稳定太低则动态响应慢。我用PLL带宽大约50Hz左右实测波形表现良好。VDCOL环节用查表模块Lookup Table实现电压-电流限制特性曲线。输入是滤波后的直流电压瞬时值输出是电流整定值的上限。把这个上限和外部电流整定值取min操作得到最终的电流整定值。3.4 一个可运行的简化控制系统代码如果你想绕过Simulink的可视化建模直接用MATLAB脚本搭建CIGRE模型的线性化控制验证环境这里给出一份简化的连续时间控制系统仿真代码%% CIGRE HVDC 简化连续时间控制系统仿真 % 说明本脚本忽略换流器开关动态用一阶惯性环节近似换流器触发响应 % 适用于控制参数整定和初步控制策略评估 clear; clc; dt 1e-5; % 仿真步长 (s) Tsim 2.0; % 仿真时长 (s) % 系统参数与CIGRE标准一致 Vdc0 500e3; % 直流电压稳态值 Idc0 2e3; % 直流电流稳态值 alpha0 15 * pi/180; % 整流侧稳态触发角 Tc 0.003; % 换流器等效时间常数 (s) % PI参数 Kp_i 1.0; Ti_i 0.05; Kp_g 0.5; Ti_g 0.02; % 初始化 t 0:dt:Tsim; n length(t); Idc zeros(1,n); Idc(1) Idc0; alpha zeros(1,n); alpha(1) alpha0; gamma zeros(1,n); gamma(1) 15*pi/180; Idc_ref Idc0 * ones(1,n); Idc_ref(0.5/dt:end) Idc0 * 1.1; % 0.5s加入10%电流阶跃 % PID状态变量 ei_int 0; eg_int 0; ei_prev 0; eg_prev 0; for k 1:n-1 % 整流侧定电流控制 ei Idc_ref(k) - Idc(k); ei_int ei_int ei * dt; alpha_c Kp_i * ei Kp_i/Ti_i * ei_int; alpha_c min(max(alpha_c, 5*pi/180), 90*pi/180); % 换流器一阶惯性响应 alpha(k1) alpha(k) dt/Tc * (alpha_c - alpha(k)); % 直流电流动态方程简化LCC准稳态模型 Vdc Vdc0 * cos(alpha(k)) / cos(alpha0); Idc(k1) Idc(k) dt/Ld * (Vdc - Vdc0*0.95); % 逆变侧gamma控制简化不参与电流调节 eg gamma_ref - gamma(k); eg_int eg_int eg * dt; beta_c Kp_g * eg Kp_g/Ti_g * eg_int; gamma(k1) 15*pi/180 0.1*randn; % 叠加噪声更接近实际测量 end % 绘图 figure; subplot(2,1,1); plot(t, Idc/Idc0, LineWidth, 1.5); grid on; ylabel(I_{dc} (pu)); xlabel(时间 (s)); title(直流电流响应曲线); subplot(2,1,2); plot(t, alpha*180/pi, LineWidth, 1.5); grid on; ylabel(触发角 (deg)); xlabel(时间 (s)); title(整流侧触发角变化);这段代码本质上是把换流器的电磁暂态过程简化成了一阶惯性加代数方程适合快速验证PI参数整定是否合理但不能用来研究换相失败这类电磁暂态现象。我在做参数整定的时候习惯先用这种简化模型跑一遍大概确定PI参数数量级后再回到完整电磁暂态模型里精调。3.5 波形分析辅助脚本仿真跑完不是结束对波形的判读同样重要。我习惯用以下脚本快速绘制关键波形并计算性能指标%% 波形后处理分析脚本 % 输入scopeData为Simulink scope导出的结构体 function analyze_hvdc_results(t, Vdc, Idc, alpha, gamma) % 稳态均值计算忽略前20%的暂态数据 idx t 0.2 * t(end); Vdc_mean mean(Vdc(idx)); Idc_mean mean(Idc(idx)); gamma_mean mean(gamma(idx) * 180/pi); % 纹波系数 Vdc_ripple (max(Vdc(idx)) - min(Vdc(idx))) / Vdc_mean * 100; fprintf( CIGRE模型仿真结果分析 \n); fprintf(直流电压均值: %.1f kV\n, Vdc_mean/1e3); fprintf(直流电流均值: %.1f A\n, Idc_mean); fprintf(关断角均值: %.2f deg\n, gamma_mean); fprintf(电压纹波系数: %.2f %%\n, Vdc_ripple); % 绘图对比 figure; subplot(3,1,1); plot(t, Vdc/1e3, b); grid on; ylabel(Vdc (kV)); xlabel(时间 (s)); title(直流电压波形); subplot(3,1,2); plot(t, Idc, r); grid on; ylabel(Idc (A)); xlabel(时间 (s)); title(直流电流波形); subplot(3,1,3); plot(t, gamma*180/pi, k); grid on; ylabel(gamma (deg)); xlabel(时间 (s)); title(逆变侧关断角波形); end4. 常见问题与排查技巧实录4.1 仿真不收敛或速度极慢这个问题遇到的人最多。首要检查的就是求解器设置。很多新手直接默认ode45跑CIGRE模型十个有八个跑不动或者结果离谱。ode23tb或ode15s是更合适的选择最大步长设置为50微秒以内。另外把示波器的数据记录频率降低只保存需要的信号也能明显加快仿真速度。其次是snubber参数问题。如果出现高频数值振荡优先调节晶闸管的缓冲电阻和电容值。CIGRE模型没有明确给出snubber参数但Simscape Electrical自带的晶闸管模型默认参数通常过于理想直接在模型里用会有收敛性问题。4.2 触发角振荡或控制发散触发脉冲不同步是首要嫌疑。PLL锁定不正常时触发角指令会周期性跳变波形像锯齿一样。先检查PLL的初始相位设置再检查换流变压器阀侧电压的参考方向——变压器极性接反也会导致类似症状。PI参数过大会导致控制系统振荡但PI参数太小则响应太慢。我调试的经验法则是先从理论计算值起步然后逐步增大Kp直到出现轻微振荡再回调到大约一半的数值作为保守参数最后用积分时间来消除稳态误差。这个方法虽然土但在现场调试时一直很管用。4.3 换相失败恢复慢换相失败是LCC系统的固有暂态现象模型故障后恢复慢一般和VDCOL参数或电流裕度设置有关。先把电流裕度从10%调到15%试一下如果恢复速度有改善说明裕度偏小。VDCOL的恢复斜率即电压上升时电流精确值的恢复速率也要检查太慢会形成长时间的电流瓶颈。4.4 控制逻辑在Simulink里报错常见报错包括数据类型不匹配和代数环问题。我习惯在控制信号链路上统一用double类型避免因数据类型转换导致仿真报错。代数环问题通常发生在VDCOL回路上——测量电压经过滤波再回送到电流整定值容易形成代数环。解决方式是在反馈回路中增加一个Memory模块或单位延迟打破代数环但要注意延迟时间不能太大否则影响控制动态。排查时还有一个很隐蔽的坑Simulink模型回调函数。如果模型是从别人那里拷来的检查一下PreLoadFcn和InitFcn里有没有残留的路径或参数否则自己的初始化脚本可能被覆盖。我在合作项目里遇到过两次这种情况模型跑出来的结果和预期完全不同查了两天才发现是回调函数里的旧参数在捣乱。5. 实操心得与扩展建议CIGRE标准模型我从研究生阶段用到工作以后一个最深刻的体会是它作为一个验证平台最大的价值不是“那组参数”而是那组参数背后的物理逻辑。你把它的控制逻辑吃透后再看实际工程中的直流工程控制保护系统会感觉很多功能都能对得上号——电流裕度控制、VDCOL、gamma保护、低电压保护这些都是有工程渊源的。做仿真实验时我每次都在模型里写好详细的注释把PID参数和对应的实验日期记录下来。控制参数这个东西隔一个月回来再看如果没有注释真的会忘记当时为什么这么调。如果你后续想进一步扩展我建议在CIGRE模型的基础上尝试这几个方向换相失败预测与抑制通过检测换流母线电压过零点偏移提前触发、附加阻尼控制给直流功率附加一个低频振荡抑制信号、多端直流配电系统扩展、跟新能源接入结合。CIGRE模型的接口很清晰扩展起来比从零搭模型省太多时间。最后提醒一点所有仿真结论都要用不同的故障条件交叉验证单靠一两个工况下结论在工程上是不被认可的。本文还有配套的精品资源点击获取
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门