当前位置: 首页 > news >正文

最近在实验室折腾光伏并网仿真,发现这玩意儿挺有意思。今天就拿Matlab 2021a环境下的两级式单母系统开刀,咱们直接上硬货

两级式单相光伏并网仿真(注意版本matlab 2021a) 前级采用DC-DC变换电路,通过MPPT控制DC-DC电路的pwm波来实现最大功率跟踪,mppt采用扰动观察法,后级采用桥式逆变,用spwm波调制。 采用双闭环控制,实现直流母线电压的稳定和单位功率因数。 并网效果良好,thd满足并网要求,附带仿真说明文件

系统结构简单来说分两层:前级DC-DC负责光伏板最大功率点跟踪(MPPT),后级H桥逆变器做并网。核心在于既要让光伏板输出最大功率,又要保证并网电流跟电网电压同频同相。

前级扰动观察法实操

MPPT部分用扰动观察法(P&O)最简单粗暴。在Simulink里搭了个MATLAB Function模块,核心代码就二十来行:

function DutyCycle = P_O(Voltage, Current, prev_Voltage, prev_Power, StepSize) Power = Voltage * Current; if (Power - prev_Power) ~= 0 if (Power > prev_Power) if (Voltage > prev_Voltage) DutyCycle = DutyCycle + StepSize; else DutyCycle = DutyCycle - StepSize; end else if (Voltage > prev_Voltage) DutyCycle = DutyCycle - StepSize; else DutyCycle = DutyCycle + StepSize; end end end % 限制占空比在0.2-0.8防止炸管 DutyCycle = min(max(DutyCycle,0.2),0.8);

这里有个坑:扰动步长StepSize别超过0.005,不然会在最大功率点附近疯狂抽搐。实测步长0.003时跟踪效率能达到98.7%,Boost电路开关频率设20kHz刚刚好。

后级SPWM调制骚操作

逆变部分用双极性调制比单极性THD更低。重点在载波和调制波的处理:

% 生成SPWM的核心参数 CarrierFreq = 10e3; % 载波频率 ModulationIndex = 0.9; % 别超过1 [~, SineWave] = PLL_GridSync(gridVoltage); % 锁相环获取相位 ModulatingWave = ModulationIndex * SineWave;

这里PLL锁相环必须用离散型实现,采样时间设成和仿真步长一致(我用的1e-6)。双闭环控制的外环电压环带宽设10Hz,内环电流环带宽设500Hz,参数整定可以参考:

Kp_V = 0.5; Ki_V = 10; % 电压环PI Kp_I = 5; Ki_I = 1000; % 电流环PI

注意电流环积分系数要猛,因为并网电抗一般在5mH左右,小了跟不上电网电压变化。

仿真效果验证

跑完仿真看波形,直流母线电压纹波控制在3%以内(比如600V母线纹波18V),并网电流THD用FFT工具测出来2.3%。关键在SPWM的载波比要够高,我设的载波比(载波频率/基波频率)达到200:1,这样高频谐波基本都在20kHz以上,轻松过滤波电感。

有个骚操作:在负载突变时,可以给电压环加个前馈补偿。具体在母线电压PI控制器输出叠加光伏侧电流的10%,代码就一行:

VoltageLoopOutput = PI_Output + 0.1*PV_Current;

这么干能让母线电压波动减少40%,亲测有效。

最后提醒:Matlab 2021a的Powergui别用默认设置,把仿真类型改成离散模式,步长1e-6秒,否则会出灵异波形。模型跑完后记得用谐波分析工具看各次谐波分布,重点关注3、5、7次谐波是否超标。

http://www.cnnetsun.cn/news/143391.html

相关文章:

  • 新一代物联网平台
  • 学生档案管理|基于springboot 学生档案管理系统(源码+数据库+文档)
  • 勤工助学管理|基于ssm 勤工助学管理系统(源码+数据库+文档)
  • 把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地
  • 【Matlab】五次B样条曲线应用于工业机器人轨迹规划
  • 杰理之关于音质问题提高的方式【篇】
  • 机器学习001:从“让机器学会思考”到生活中的智能魔法
  • Matlab模拟矢量光束之径向偏振光束
  • IPSec小结
  • SAP 中关闭库存期间(MM 物料账期)核心是用MMPV关闭旧期间并打开新期间,配合MMRV控制前期过账权限,同时需完成 FI/CO 等关联模块期间控制与数据校验
  • nodejs+vue电动车租赁平台系统_9jmey8a6
  • Java小白求职面试:从Spring Boot到微服务架构的技术探讨
  • 混合精度训练:FP16与FP32, 借助Tensor Core加速
  • LangChain表达式语言
  • 8MP 环视 / DMS 摄像头,带宽到底有多狠?
  • 【Halcon-2D测量】get_metrology_object_fuzzy_param 函数功能(用于读取计量对象模糊测量参数)
  • 银河距离银河距离银河距离银河距离银河距离
  • 生成式深度学习(用变分自编码器生成图像)
  • 显示器分辨率?【图文详解】显示器分辨率调整?电脑分辨率设置?
  • 基于STM32的智能鞋柜系统设计与实现
  • VBA会被Python代替吗
  • python与nodejs哪个性能高
  • 【含文档+PPT+源码】基于小程序的智能停车管理系统设计与开发
  • Doris的自增列介绍
  • C++编程实践——多线程变量共享问题展开分析
  • 【Android FrameWork】第三十六天:随机数EntropyMixer
  • 介观交通流仿真软件:VISSIM (介观模式)_(16).高级仿真技术
  • 安卓 之 PassthruPatchRecord
  • YOLOv8 训练与检测系统智慧化交通公路上落石检测数据集 智慧道路交通路面障碍物检测数据集 智慧交通、山区公路监控、应急预警平台 YOLOv8 训练与检测系统
  • 基于django智慧农业管理系统设计开发实现