光伏储能三相PQ恒功率并网控制仿真(附参考文献及文档) ①网侧:采用PQ恒功率控制,参考文献《_微电网及其逆变器控制技术的研究》。 ②储能控制:直流母线电压外环,电池电流内环双闭环控制策略直流母线电压外环:为了稳定Vbus在设定电压值 电流内环:则是由外环产生的电流信号控制电池充放电电流 ③光伏Boost:光伏板参考文献搭建的光伏电池模型,MPPT算法采用经典的扰动观察法,可以更换其他算法,在功率等级差不多的情况下只需调光伏模块即可

最近在研究光伏储能三相PQ恒功率并网控制仿真,感觉这玩意儿挺有意思的,跟大家分享分享。

一、网侧PQ恒功率控制

网侧这里采用的是PQ恒功率控制,参考的是《_微电网及其逆变器控制技术的研究》 。简单来说,PQ恒功率控制就是要让并网逆变器输出稳定的有功功率(P)和无功功率(Q) 。

在实际代码实现中,可能会涉及到类似这样的代码片段(以Python为例,这里只是简单示意,实际可能会更复杂):

# 定义一些常量
P_set = 1000  # 设定的有功功率
Q_set = 500   # 设定的无功功率

# 根据当前电网电压等信息计算参考电流
def calculate_reference_current(voltage):
    # 这里省略复杂的计算逻辑,简单示意
    I_d_ref = P_set / voltage
    I_q_ref = Q_set / voltage
    return I_d_ref, I_q_ref

这里,PsetQset 就是我们设定的有功和无功功率目标值。calculatereferencecurrent 函数根据电网电压来计算参考电流,后续就可以根据这个参考电流来控制逆变器的输出,以达到我们设定的PQ值。

二、储能控制策略

储能控制采用的是直流母线电压外环,电池电流内环的双闭环控制策略,这就像给储能系统上了两层“保险”。

直流母线电压外环

直流母线电压外环的目的很明确,就是要把Vbus稳定在设定电压值。想象一下,Vbus就像一个小水池的水位,外环就是要保证这个水位一直在我们设定的高度。

代码大概可能是这样:

# 设定直流母线电压目标值
Vbus_set = 400  
# 定义PI控制器参数
kp_v = 0.1
ki_v = 0.01
integral_v = 0

def voltage_loop(Vbus):
    global integral_v
    error_v = Vbus_set - Vbus
    integral_v += error_v
    output_v = kp_v * error_v + ki_v * integral_v
    return output_v

在这个代码里,我们设定了直流母线电压目标值 Vbusset ,通过PI控制器来调节。errorv 就是当前电压和目标电压的差值,通过比例(kpv)和积分(kiv)环节计算出输出值,这个输出值会作为下一级电流内环的输入。

电池电流内环

电池电流内环则是由外环产生的电流信号来控制电池充放电电流。就好比外环告诉内环水池水位该怎么调,内环就按照这个指令去控制水流大小(电池充放电电流)。

# 定义PI控制器参数
kp_i = 0.05
ki_i = 0.005
integral_i = 0

def current_loop(I_battery, ref_current):
    global integral_i
    error_i = ref_current - I_battery
    integral_i += error_i
    output_i = kp_i * error_i + ki_i * integral_i
    return output_i

这里 refcurrent 就是外环计算出来的电流参考值,Ibattery 是当前电池的实际电流,通过PI控制器计算出的 output_i 就可以用来实际控制电池充放电了。

三、光伏Boost及MPPT算法

光伏部分,光伏板是按照参考文献搭建的光伏电池模型。这里MPPT算法采用经典的扰动观察法,而且有意思的是,在功率等级差不多的情况下,要是想换其他算法,只需要调光伏模块就行。

光伏储能三相PQ恒功率并网控制仿真(附参考文献及文档) ①网侧:采用PQ恒功率控制,参考文献《_微电网及其逆变器控制技术的研究》。 ②储能控制:直流母线电压外环,电池电流内环双闭环控制策略直流母线电压外环:为了稳定Vbus在设定电压值 电流内环:则是由外环产生的电流信号控制电池充放电电流 ③光伏Boost:光伏板参考文献搭建的光伏电池模型,MPPT算法采用经典的扰动观察法,可以更换其他算法,在功率等级差不多的情况下只需调光伏模块即可

扰动观察法的代码实现思路大概如下:

# 初始化一些参数
P_old = 0
dP_dV = 0
V_step = 0.1

def perturb_and_observe(V, P):
    global P_old, dP_dV
    dV = V_step if dP_dV > 0 else -V_step
    V_new = V + dV
    P_new = calculate_power(V_new)  # 假设这个函数能计算新电压下的功率
    dP = P_new - P
    dP_dV = dP / V_step
    if dP * dP_dV < 0:
        V_step = -V_step
    return V_new

这个算法就是通过不断地扰动光伏板的输出电压(Vstep 就是扰动步长),观察功率的变化(dP),从而找到最大功率点对应的电压 Vnew。如果功率变化和电压扰动方向不一致,就改变扰动方向。

总之,光伏储能三相PQ恒功率并网控制仿真涉及到多个环节的协同工作,每个环节都有其独特的控制策略和实现方式,通过合理的代码实现和参数调整,就能让整个系统高效稳定地运行啦。

以上就是这次研究的一些心得体会,希望对大家有所帮助,要是有啥问题,欢迎一起讨论呀!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐