ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

风光储-PEM电解槽多能互补制氢系统建模与恒功率控制仿真

风光储-PEM电解槽多能互补制氢系统建模与恒功率控制仿真 做新能源制氢仿真的朋友或者正在琢磨多能互补系统怎么搭控制的这篇应该能给你省不少事。光伏MPPT、风机、蓄电池、PEM电解槽四个东西单独拎出来都有现成模型但要把它们耦合到一条直流母线上还得让电解槽稳稳当当吃恒功率这里面的门道远比想象中多。我当初调这个模型的时候白天追最大功率点好好的傍晚光照一弱整个母线电压直接垮掉电解槽功率跟着断崖式下跌。后来把蓄电池的充放电策略和MPPT的步长重新匹配了一遍系统才真正稳定下来。这四个单元各自的动态响应时间完全不在一个量级光伏和风机是秒级波动蓄电池是毫秒级响应而PEM电解槽的冷启动和功率爬坡又受温度、压力影响属于分钟级慢变量。把这几类时间尺度揉在一起做恒功率控制实质上是解决一个“快变量怎么伺候慢变量”的协调问题。这篇就把整个系统的建模思路、控制策略、仿真踩坑点一次性梳理清楚。1. 整体系统架构与互补逻辑拆解1.1 为什么一定要“光伏风机储能”三者搭配很多人一开始想得简单光伏板配个电解槽不就完事了光照好的时候产氢没光就停工。但在实际工程里这种方案有几个绕不开的硬伤。光伏出力受天气影响极大云层飘过来出力可以在几十秒内掉到原来的三成而PEM电解槽虽然动态响应比碱性电解槽快得多但频繁的功率波动会加速膜电极的衰减尤其是电压反复横跳催化剂层的应力疲劳很现实。另外光伏夜间出力为零设备闲置率太高整个系统的年运行小时数上不去折算到每公斤氢的成本就非常难看。风机的作用正好和光伏形成时间互补。白天光照强的时段往往风速一般而夜间和清晨风速往往更大这种天然的日特性互补让风光联合出力比单一光伏平缓得多。但光靠风光的自然互补还不够因为风速的随机性比光照还大阵风一来出力可能短时间冲出额定功率的1.5倍。这时候蓄电池的价值就体现出来了它是一个“缓冲池”负责吸收短时盈余、填补瞬时缺口让母线电压稳定在设定值附近从而保证后端电解槽的输入功率不出现剧烈抖动。1.2 直流母线架构与各单元的运行角色这套系统采用共直流母线结构所有单元通过各自的电力电子变换器挂到同一条母线上。光伏侧用Boost变换器实现MPPT控制风机侧通过不控整流加Boost实现风能追踪蓄电池通过双向Buck-Boost变换器连接母线负责功率差额的吞吐PEM电解槽则通过Buck变换器从母线取电由恒功率控制环调节输入电压电流。这种架构的好处是各单元相对独立任何一个单元退出运行比如风机故障或蓄电池SOC到限不会导致整个系统瘫痪只需调整能量管理策略的分配逻辑。母线电压是整个系统功率平衡的“晴雨表”光伏和风机送进来的功率大于电解槽消耗时母线电压上升此时蓄电池充电吸收盈余反之母线电压下降蓄电池放电补足缺口。这个逻辑简单粗暴但实际仿真里最见功夫的地方在于如何抑制切换瞬间的电压震荡。1.3 系统设计的关键技术指标设定建模之前先定边界条件否则后面每调一个参数都要返工。我用的参考系统额定电解功率是10kW对应产氢速率大约在标准状况下每小时2.2立方米左右。光伏阵列按峰瓦12kWp配置以保证在平均日照条件下能支撑电解槽大部分时间段的功率需求风机额定功率定为5kW作为补充和夜间主力蓄电池容量按能支撑电解槽满载运行40分钟来配也就是大概7kWh的可用容量选磷酸铁锂体系DOD按80%设计。母线电压定在400V这个电压等级是综合考虑了变换器效率、器件耐压和电解槽输入电压范围后取的折中。母线电压太高MOS管和电容的成本上去太低同样的功率下电流大线缆损耗高。PEM电解槽的输入电压范围我设定为50V-90V额定工作点电压75V电流135A。选择Buck变换器把400V降到75V左右占空比大约0.187这个占空比在连续导通模式下电感电流纹波控制起来比较容易。2. 光伏MPPT与风机发电单元建模核心2.1 光伏组件建模与MPPT控制算法选型光伏组件的工程数学模型通常用单二极管五参数模型五个参数分别是光电流、反向饱和电流、串联电阻、并联电阻和二极管理想因子。在MATLAB/Simulink里搭建的时候直接用PV Array模块能省不少事模块里预置了大量厂商组件参数我比较推荐用SunPower SPR-315E-WHT这个型号的参数单块315W开路电压64.6V短路电流6.14A把12块串联成一组、两组并联正好凑出12kWp左右的阵列规模。MPPT算法我对比过扰动观察法和电导增量法前者实现简单性能够用后者追踪精度高但要处理微分项数字实现时容易因采样噪声产生误判。仿真层面推荐扰动观察法步长取0.5%的开路电压也就是每次扰动大约0.3V。步长太大稳态时会在最大功率点附近来回振荡造成功率损耗步长太小光照突变时追踪速度跟不上导致动态时段能量损失。实际仿真里给0.002秒一个扰动周期配合步长0.3V追踪速度在50毫秒内能收敛到最大功率点的98%以上这个参数组合实测下来比较均衡。2.2 风机建模与整流环节的细节处理风机模型的输入是风速序列输出是机械功率再通过传动系统带动永磁同步发电机。仿真时风速序列不建议直接用阶跃信号那太理想化了要用带随机分量的组合风速模型基本风速加上阵风分量、渐变分量和随机噪声分量才能模拟真实风况下系统控制策略的鲁棒性。风机叶片的空气动力学模型按标准公式计算Cp(λ,β)是叶尖速比和桨距角的函数固定桨距角β0时最佳叶尖速比通常在8到9之间。风机发出的交流电先经过三相不控整流变成直流再通过Boost变换器做机侧MPPT。不控整流在风速较低时会出现电流断续导致直流侧电压纹波偏大所以整流后必须加支撑电容容值按经验取母线功率等级的100μF/kW左右。机侧MPPT通过控制Boost占空比调节发电机的电磁转矩从而改变转速以追踪最优叶尖速比。要特别留意风速超过额定值后的限功率策略仿真中如果忽略限速控制风速从12m/s跳变到15m/s时风机出力会远超额定值母线上瞬间涌入大量盈余功率蓄电池充电电流容易直接顶到保护上限。我在模型里加了桨距角PI控制器风速超过额定值后自动增大桨距角把输出功率限制在5kW附近。2.3 风光出力互补特性的场景验证建模完成后先做一次纯风光出力验证不加储能和电解槽单独看一分钟内风光联合出力曲线。典型工况设置为前20秒光照稳定在1000W/m²、风速6m/s光伏出力约9.8kW风机出力约1.8kW第20秒到40秒光照平滑下降到500W/m²风速上升到10m/s此时光伏出力掉到5.1kW风机出力上升到3.6kW第40秒到60秒云层遮挡导致光伏出力乱跳风速也进入阵风模式。从结果看虽然单看光伏或者单看风机出力曲线都剧烈波动但两者的互补效果明显联合出力曲线比单一电源平滑得多。不过联合出力的波动幅值仍有约2.5kW直接喂给电解槽必然导致功率不稳定这就是为什么必须有蓄电池作为中间缓冲环节。3. 蓄电池储能单元与双向变换器设计3.1 蓄电池等效模型与SOC估算方法蓄电池仿真模型我选用二阶RC等效电路模型两个RC网络分别模拟电化学极化效应和浓度极化效应比一阶模型精度高比电化学模型简单得多。模型参数随SOC变化放电时和充电时的内阻、极化参数也有差异在Simulink里做二维查表即可。蓄电池开路电压与SOC的对应关系是关键磷酸铁锂电池的OCV-SOC曲线在中段20%-80%非常平缓这意味着不能靠OCV估算SOC仿真中直接用安时积分法算SOC简单可靠只需要留意积分漂移问题在长时仿真中的累积误差。蓄电池额定电压按母线电压400V设计采用96串磷酸铁锂方案单体3.2V容量按可用能量7kWh折算额定容量取100Ah比较合理因为DOD限制在80%时有用能量约为100Ah×3.2V×96×0.8≈24.6kWh明显大于需求。实际为了留出功率余量和延缓循环寿命衰减我把容量放大到120Ah。3.2 双向Buck-Boost变换器控制策略双向变换器是蓄电池参与系统功率调节的核心执行机构它工作在Buck模式时给蓄电池充电工作在Boost模式时蓄电池放电。两种模式的切换由母线电压外环和电流内环组成双闭环控制完成母线电压给定值400V实测值偏离时电压外环PI输出电流指令电流内环跟随指令控制电感电流从而实现根据母线电压自动调节充放电功率。两个模式间的无缝切换是最容易出问题的地方。早期设计我直接根据母线电压偏差的正负切换PWM使能信号结果在400V附近来回穿越时模式切换频率过高电感电流出现尖峰甚至引起控制振荡。后来改成滞环控制母线电压高于405V才切充电模式低于395V才切放电模式中间的405V到395V区间保持当前状态不变这样切换次数大幅减少系统稳定性明显提升。如果希望进一步优化可以在切换路径上增加软启动逻辑让PWM占空比从上次的值缓变到新的目标值切换冲击可以再降低三成以上。3.3 SOC边界管理与过充过放保护蓄电池不能无限制地参与功率补偿SOC到了上限必须停止充电到了下限必须停止放电否则会损伤电池甚至引发安全问题。我在能量管理策略里把SOC分成三个区间SOC大于90%时优先降低光伏或风机的出力指令即主动弃光弃风不再给蓄电池充电SOC在20%到90%之间时蓄电池正常参与功率调节SOC低于20%时蓄电池只允许充电不允许放电系统启动降功率运行模式将电解槽功率指令下调到当前风光出力的可支撑水平。这里有一个实际工程中容易忽略的点降功率运行不能直接从10kW跳到3kWPEM电解槽的膜和催化剂对热应力很敏感功率突变会导致局部过热。在仿真里要给功率指令加一个斜坡限制器速率限制在额定功率的20%每分钟也就是每分钟最多调整2kW这样电解槽的电压和温度响应都在安全范围内。4. PEM电解槽模型与恒功率控制系统4.1 PEM电解槽电化学模型与参数辨识PEM电解槽的核心是质子交换膜水在阳极被电解成氧气、质子和电子质子通过膜传导到阴极与电子结合生成氢气。电解槽的电压由四部分构成可逆电压也叫开路电压、活化过电压、欧姆过电压和浓度过电压。可逆电压用能斯特方程计算标准状态下为1.23V实际运行温度在60℃到80℃时大约1.15V左右。活化过电压描述电极反应动力学的损耗用Tafel方程近似欧姆过电压来自膜电阻和接触电阻用欧姆定律描述浓度过电压在大电流密度下才显著因为反应物传质受限。我建的模型中单个电解小室的电压在额定电流密度1.5A/cm²时约为1.9V到2.0V。电解槽由40个小室串联额定总电压75V到80V。模型参数里膜的厚度、交换容量、电导率是关键Nafion 117膜的经典参数可以直接查文献拿到。仿真中如果膜电导率参数设置不对典型问题是欧姆过电压偏差过大导致电解槽在额定功率下的电压曲线整体偏移。遇到这种情况建议对比厂家提供的极化曲线数据校准18到20个典型电流密度点的模型输出。4.2 恒功率控制环路的级联结构设计PEM电解槽的恒功率控制是系统控制的核心也是最难调的部分。电解槽本质上是一个非线性负载它的电压随电流密度增加而上升而且上升趋势不是线性的。想在宽功率范围内保持功率恒定就需要根据实时电压动态调整电流指令这是一个典型的变参数控制问题。我采用三级级联控制结构最外层是功率控制环给定功率指令Pref反馈实测功率Pdc经过PI控制器输出电流指令Iref中间层是电流控制环跟踪Iref输出PWM占空比指令驱动Buck变换器的开关管最内层是Buck变换器的电感电流内环实现快速动态响应。电压环不参与功率环的级联因为电解槽端电压由电化学状态决定不宜直接控制。级联控制的带宽设计原则是外环比内环慢5到10倍。电流内环带宽取2kHz功率外环带宽取200Hz左右。给功率环PI参数整定时先用阶跃响应法粗调Kp取0.05Ki取2然后在额定功率附近做小信号扰动细调。仿真中发现功率环参数如果太激进电流指令会超调电解槽瞬时功率超过设定值10%以上这在恒功率应用场景里是不可接受的因为可能触发保护或者加速膜降解。功率环的积分饱和也要处理给积分项加限幅范围限定在满载电流的1.2倍之内。4.3 冷启动与功率斜坡约束的模拟PEM电解槽的冷启动过程涉及温度从室温上升到正常工作温度60-80℃膜电导率随温度上升而增大因此相同电流下电压会逐步下降。仿真模型里加入一个热容模型用一阶惯性环节描述电解槽温度变化时间常数取5分钟初始温度25℃目标温度70℃。升温过程中如果直接拉满载功率电解槽电压在冷态时偏高功率环会通过降低电流来限制功率造成启动初期实际功率低于指令值这是正常现象控制策略里要允许这种自动降额。为了避免冷态下过大的热应力冲击我在系统启动逻辑里设置了功率爬坡约束初始功率指令设为额定值的30%3kW以每分钟10%额定功率的速率爬升4分钟后达到满功率。仿真结果表明这个爬坡速率下电解槽电压和温度变化平稳膜内温度梯度控制在安全范围内。5. 多能互补能量管理策略与仿真工况验证5.1 能量管理策略的状态机设计能量管理策略是整个系统的“大脑”负责协调各单元的功率分配我用有限状态机实现。状态机的输入是光伏出力Ppv、风机出力Pwind、母线电压Vbus、蓄电池SOC和电解槽当前功率Pel输出是各变换器的功率指令和使能信号。状态机包含五个主要状态正常运行态、蓄电池充电加强态、蓄电池放电补偿态、SOC低位保护态和社会盈余弃电态。正常运行时风光联合出力刚好满足电解槽功率指令蓄电池处于待机状态不充不放风光出力大于电解槽需求时转入蓄电池充电态按充电功率限制吸收盈余风光出力不足时转入放电补偿态蓄电池补足差额SOC低于下限时进入保护态降低电解槽功率指令以适应可用功率SOC高于上限且有较多盈余时执行弃光弃风指令。状态机每50ms运行一次状态切换使用滞回逻辑避免反复跳变。5.2 典型日工况仿真验证与结果分析我用一组典型日24小时风速光照数据做了全天仿真。上午6点光照微弱但风速较高9m/s风机出力约3.2kW光伏出力约0.8kW蓄电池以6kW功率放电补足电解槽所需的10kW上午10点光照充足820W/m²光伏出力约9.5kW风机出力降至1.5kW联合出力11kW电解槽消耗10kW后蓄电池以1kW小功率消纳剩余下午2点云层飘过光伏从9kW快速掉到4kW风机出力2kW蓄电池在20秒内切换到放电模式以4kW功率补足缺口母线电压最大偏差控制在12V以内大约3%的波动范围晚上22点光伏为零风速上升到12m/s风机出力接近5kW蓄电池以5kW放电支撑电解槽SOC从白天的80%逐步下降到清晨的45%全天没有触发SOC保护。这个工况验证了系统设计的目标电解槽输入功率全天稳定在10kW附近最大瞬时偏差不超过0.5kW在云层突变瞬间偏差短暂到过0.8kW但能在5秒内恢复到设定值。这个表现对于PEM电解槽的稳定运行来说是比较理想的。5.3 硬件在环与代码生成前的仿真验证建议仿真模型验证完成后如果要走向工程实际我会建议做一轮硬件在环测试将控制策略部署到DSP或者PLC上与实时仿真器连接测试真实控制器与虚拟被控对象的闭环响应。重点关注三个方面一是ADC采样延迟对功率环带宽的影响二是PWM死区时间在轻载工况下引起的电流畸变三是通讯中断时系统的故障保护行为。我在模型里预留了故障注入接口可以模拟光照骤变、风速突变、蓄电池SOC越限和母线过压等异常情况在硬件在环测试中逐项验证保护逻辑。这个环节虽然投入时间但能提前发现大量控制参数与硬件实际响应不匹配的问题避免到了现场再手忙脚乱地改参数。6. 仿真调试中的高频问题与避坑指南6.1 MPPT与电解槽恒功率争夺母线功率的振荡跑仿真最常见的问题是光伏MPPT在最大功率点附近正常扰动电解槽恒功率环也在实时调整电流两者的控制频率接近时容易出现母线电压振荡。现象是母线电压以5到10Hz的频率来回波动幅度达到母线电压的5%以上。原因不难理解MPPT扰动改变光伏输出功率引起母线电压变化恒功率环检测到变化后调整电解槽电流反过来又影响母线电压形成闭环耦合。解决思路是控制频率的解耦。我把光伏MPPT的扰动周期从0.002秒拉长到0.02秒电解槽功率环带宽仍然保持在200Hz这样电解槽的控制响应远快于MPPT的扰动速度每次MPPT调整后电解槽功率环能在几个毫秒内完成功率补偿母线电压在新的平衡点上稳定下来不再持续振荡。参数改完后振荡问题彻底消失。如果有条件还可以在光伏Boost变换器和电解槽Buck变换器之间加入前馈解耦效果更直接但实现复杂度高一些。6.2 蓄电池SOC到达边界后系统崩溃问题仿真中还会遇到蓄电池SOC到达边界时的系统崩溃。现象是SOC到达90%上限蓄电池停止充电风光出力仍然大于电解槽消耗母线电压迅速飙升触发过压保护整个系统停机。根因是能量管理策略只处理了“蓄电池不充电”但没处理“多余功率去哪”。正确做法是状态机在SOC到达上限后优先执行弃光弃风指令将光伏和风机的输出指令限制到与电解槽消耗相同的水平。操作上是在光伏Boost和风机Boost的MPPT目标电压上叠加一个偏置让工作点偏离最大功率点降低输出功率。弃光优先选择光伏还是风机取决于哪个调节速度快。光伏MPPT的调节速度比风机桨距角控制快所以一般先弃光弃光不够再弃风。6.3 参数整定的实用技巧与推荐初值把常用控制环的参数初值整理成表方便快速启动调试控制环推荐初值调试方向光伏MPPT扰动周期0.02s光照变化快的环境适当减小光伏MPPT扰动步长0.3V振荡减小步长响应慢加大步长电解槽电压控制Kp2Ki20电压超调大减Kp稳态误差大加Ki电解槽功率控制Kp0.05Ki2功率超调减Kp响应慢加Ki蓄电池电流环Kp0.8Ki15电流尖峰减Kp跟踪慢加Ki母线电压外环Kp0.3Ki8电压波动大减Kp恢复慢加Ki需要特别提醒的是这些初值是基于我用的模型参数开关频率10kHz、母线电容2000μF、蓄电池电感2mH整定的。如果你的系统参数不同初值可能需要按比例调整。换模型后直接照搬参数是仿真调试里最坑的事情之一一定要先跑一遍阶跃响应看趋势再微调。6.4 仿真速度优化与模型加速技巧多能互补系统模型涉及多个电力电子变换器开关频率10kHz仿真步长需要至少1μs才能准确捕捉开关动作这个规模下跑24小时工况仿真普通电脑可能要跑一整天。如果不做优化调试效率很低。我常用的加速方法有三种。第一种是把高频开关变换器用平均值模型代替Buck和Boost变换器用受控源等效不再模拟开关管的通断过程仿真步长可以放宽到50μs速度提升40倍以上代价是纹波信息丢失。如果只关心能量管理和功率分配平均值模型足够如果关心电流纹波和EMI特性保留至少一个关键变换器的开关模型其余用平均值模型。第二种是把控制策略嵌入到状态机里用Simulink的Stateflow实现比普通逻辑模块运行效率高。第三种是关闭不必要的示波器记录只在关键节点用To Workspace模块记录避免大量波形数据拖慢仿真。我最常用的组合方案是光伏Boost和风机Boost用开关模型保留全系统电能质量分析能力蓄电池双向变换器和电解槽Buck用平均值模型仿真速度能控制在实时性的三到五倍既保留了关键控制环的动态特性又不会慢到没法调参。7. 基于模型的系统扩展与产品化路径思考这个模型框架搭好之后扩展性是很强的。如果想把光伏阵列做大到兆瓦级PEM电解槽换成碱性电解槽或SOEC固体氧化物电解槽只需替换电解槽模型部分控制策略的基本框架可以复用。如果想把系统从离网型改成并网型只需在母线上增加一个并网变流器模型能量管理策略增加并网功率交换的状态分支即可。做产品化时控制算法的代码生成和硬件部署是最耗时的一环。建议在Simulink模型设计初期就预留ERTEmbedded Real-Time Target代码生成的兼容性避免后期为适配代码生成而大改模型结构。我实际遇到的典型问题是模型中某些非连续变量在代码生成时类型不一致导致生成的C代码在DSP上运行数值错误。解决办法是统一所有信号的单位优先使用标幺值运算这样代码生成后在不同硬件平台之间的移植性也更好。再往后扩展的方向包括电解槽的退化建模与寿命预测、氢储罐的容量配置优化、基于价格信号的日内运行优化等。这套模型在加入经济性目标函数后可以从“恒功率运行”升级为“竞价运行”在风光资源好时多产氢储能在资源差时减少产氢这些都可以在现有框架上通过修改能量管理策略实现。8. 实际项目中的三点心得体会第一多能互补系统的瓶颈往往不在单一单元的性能而在单元之间的协调和接口设计。很多仿真跑不稳不是MPPT算法不够好也不是电解槽模型不够准而是各控制环之间缺少解耦互相干扰。做系统级仿真先把能量管理策略和状态机的逻辑理清楚比精雕细琢每一个控制环的参数重要得多。第二PEM电解槽恒功率控制的核心思想是“外环定功率内环定电流”。在实际调试中功率环的带宽和MPPT的扰动频率必须拉开差距否则系统会进入自我激发的振荡状态。这个经验在仿真和硬件环境里都反复验证过值得记在设计规范里。第三仿真的价值不仅仅是验证方案可行更在于让设计人员在投入硬件之前把各种边界工况想清楚。SOC到限怎么办、光照突变怎么办、风速超限怎么办这些保护逻辑在仿真里反复推演过之后现场调试时心里就有底了。目前这套模型已经在我们后续两个项目中作为基础模板使用从仿真验证到硬件在环测试整个流程跑下来相对顺畅。如果你正在搭类似的系统建议先从简化的平均值模型入手把能量管理策略跑通再逐步加入开关模型细化这条路径踩坑最少也最容易快速见到成果。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进