高频隔离型光伏离网单相逆变器的控制算法的C代码+仿真模型,DC70~150V输入,AC220V/50Hz输出: 1. 主回路DC/DC+DC/AC,相较于传统的非隔离型光伏逆变器,前级DC/DC不再采用boost电路,而是采用高频移相全桥电路来实现升压+隔离,开关频率80~100kHz; 2. 为了抑制直流母线电压的二次纹波,在前级控制算法上采用了“PI+R”控制器,R为100Hz的谐振控制器; 3. 为了提高后级DC/AC单相逆变器的输出电压品质,提高逆变器的抗负载扰动性能,采用了基于SOGI二阶广义积分器的双闭环dq解耦+前馈补偿控制; 4. 仿真模型采用S函数调用的方法,把控制算法C代码直接在模型里进行调用来仿真,仿真结果验证了算法的优越性。
概述
本文档旨在深入解析一套用于高频隔离型光伏离网单相逆变器的 C 语言控制算法实现。该系统采用模块化设计,核心控制策略围绕SOGI(二阶广义积分器)、PI 控制器、滑动窗口 RMS 计算以及软件锁相环(PLL)等关键技术展开,实现了对交流输出电压和电流的高精度、高动态响应控制。
高频隔离型光伏离网单相逆变器的控制算法的C代码+仿真模型,DC70~150V输入,AC220V/50Hz输出: 1. 主回路DC/DC+DC/AC,相较于传统的非隔离型光伏逆变器,前级DC/DC不再采用boost电路,而是采用高频移相全桥电路来实现升压+隔离,开关频率80~100kHz; 2. 为了抑制直流母线电压的二次纹波,在前级控制算法上采用了“PI+R”控制器,R为100Hz的谐振控制器; 3. 为了提高后级DC/AC单相逆变器的输出电压品质,提高逆变器的抗负载扰动性能,采用了基于SOGI二阶广义积分器的双闭环dq解耦+前馈补偿控制; 4. 仿真模型采用S函数调用的方法,把控制算法C代码直接在模型里进行调用来仿真,仿真结果验证了算法的优越性。
整个代码库结构清晰,分为DCDC(直流-直流变换)、DCAC(直流-交流逆变)以及一个整合了两者的DCDC_DCAC测试框架。此外,还包含一个独立的“单相可控整流器”模块,其控制逻辑与逆变器高度相似,体现了设计的通用性。
核心功能模块解析
1. 二阶广义积分器(SOGI)
SOGI 是本系统信号处理的基石。其主要功能是从含有噪声或谐波的原始信号(如电网电压、输出电流)中,实时、无静差地提取出与基波同频同相的正交分量。
- 功能:
Out:输出与输入信号In同相的基波分量。qOut:输出与输入信号In正交(相位超前90度)的基波分量。- 优势:SOGI 具有无限增益特性,能有效滤除直流偏置和高次谐波,为后续的坐标变换(如 dq 变换)和闭环控制提供纯净、准确的反馈信号。
- 实现:通过一个离散化的二阶状态空间模型实现,其动态响应由参数
Sogi和角频率w共同决定。
2. 软件锁相环(PLL)
系统并未使用一个独立的 PLL 模块,而是巧妙地将 SOGI 与 PI 控制器结合,构建了一个基于 SOGI 的软件锁相环。
- 工作流程:
1. 利用 SOGI 从电网电压Us中提取出sogiUs.Out(α轴) 和sogiUs.qOut(β轴) 分量。
2. 使用一个预估的角频率wr进行 dq 坐标变换,得到Usdq.X(d轴) 和Usdq.Y(q轴)。
3. 将 q 轴分量Usdq.Y作为 PLL 的误差信号,送入 PI 控制器。
4. PI 控制器的输出用于动态调整wr,目标是使Usdq.Y趋近于零,即实现 d 轴与电网电压矢量对齐,从而完成锁相。 - 优势:这种架构将信号解耦与锁相功能融为一体,结构紧凑,抗干扰能力强,特别适用于单相系统。
3. PI 控制器
PI(比例-积分)控制器是实现系统闭环稳定的核心执行单元。代码中实现了标准的增量式 PI 算法,并带有输出限幅功能。
- 算法特点:
- 增量式:计算的是控制量的增量,而非绝对值,这有助于防止积分饱和,并在系统切换时实现无扰动切换。
- 抗饱和:通过
UPLIMIT和DWLIMIT宏对 PI 输出进行限幅,确保控制指令在物理执行器(如 PWM 发生器)的有效范围内。 - 应用场景:
- 电压外环:调节直流母线电压或交流输出电压的有效值。
- 电流内环:快速跟踪电压外环给出的电流指令,实现对输出电流波形的精确控制。
4. 滑动窗口 RMS 计算
为了实时监测电压和电流的有效值(RMS),系统实现了一个高效的滑动窗口 RMS 计算器。
- 算法原理:
- 维护一个长度为
Ncalc(对应半个工频周期的采样点数)的循环缓冲区。 - 每次新采样到来时,更新平方和
Sum(加上新值的平方,减去最老值的平方)。 - 通过
sqrt(Sum / Ncalc)即可得到当前窗口内的 RMS 值。 - 优势:该方法计算量小,实时性好,且能准确反映信号在一个完整半周期内的能量,避免了因非整周期采样带来的计算误差。
5. 坐标变换与控制策略
系统的核心控制策略建立在αβ/dq 坐标系之上。
- 前向变换:利用 SOGI 提取的 αβ 分量和 PLL 得到的相位角
wt_r,通过 Park 变换得到 dq 分量。 - 控制逻辑:
- 电压外环:将交流输出电压的 d 轴分量
Usdq.X与给定参考值usd_ref比较,通过 PI 控制器生成 d 轴电流指令Irdq.X。 - 电流内环:将电感电流的 d/q 轴分量
Irdq.X/Y与电流指令比较,通过 PI 控制器生成最终的 d/q 轴电压指令。 - 解耦控制:在电流指令生成环节,加入了由
w_r、Lout、Cout等参数构成的解耦项,以抵消 dq 轴之间的耦合效应,提高控制性能。 - 反向变换:将 d/q 轴电压指令通过反 Park 变换,得到 αβ 坐标系下的调制波
V_PWM,再归一化后作为 PWM 模块的输入。
系统工作流程
- 初始化:系统上电或仿真开始时,调用
SPI_initial函数,对所有控制结构体(SOGI、PI、RMS 计算器等)进行初始化,清零状态变量,设置控制参数。 - 信号采集与预处理:每个控制周期,系统读取电网电压
Us、电网电流Is、逆变器输出电流Ir和直流母线电压Udc。 - PLL 与信号解耦:执行
SPI_PLL函数,利用 SOGI 和 PI 控制器完成锁相,并将所有交流信号变换到旋转的 dq 坐标系下。 - 软启动与稳压:系统启动后,首先执行软启动逻辑(
SPIUOD),缓慢提升电压参考值usdref至目标值(如 311V)。 - 双闭环控制:一旦软启动完成,系统进入正常的双闭环控制模式(
SPIUSCTR),电压外环和电流内环协同工作,确保输出电压稳定、波形正弦。 - PWM 生成:最终的调制波
PWM_ref被输出到 PWM 模块,驱动功率开关管,完成能量转换。
总结
这套 C 语言实现的控制算法,充分展现了现代电力电子数字控制的典型架构。它以SOGI为核心,构建了鲁棒的信号感知与锁相能力;以PI 控制器为基础,实现了经典的双闭环控制策略;并通过高效的滑动窗口 RMS 计算提供了关键的状态反馈。整个系统模块化程度高,代码结构清晰,参数配置灵活,是一套成熟、可靠且高性能的逆变器控制解决方案。