百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

基于FPGA的电力电子恒导纳开关模型修正算法及实时仿真架构

bigegpt 2025-03-03 17:31 5 浏览

基于FPGA的电力电子恒导纳开关模型修正算法及实时仿真架构

  • 王钦盛 ?
  • 王灿 ?
  • 潘学伟 ?
  • 梁亮

哈尔滨工业大学(深圳)机电工程与自动化学院,广东省深圳市 518055

最近更新:2023-11-28

DOI:10.7500/AEPS20230419011

摘要

电力电子实时仿真是目前电力电子系统研究过程中的重要工具。为设计一套经济、可靠的电力电子实时仿真系统,文中搭建了一个以现场可编程门阵列(FPGA)为计算核心的硬件平台,并提出了配套的电磁仿真算法和FPGA架构设计。首先,推导了一种简洁电磁瞬态程序(EMTP)算法,用于提高传统离线算法的并行度。其次,从数值算法的角度分析恒导纳开关模型的虚拟功率损耗问题,提出了一种初始误差修正算法,消除了功率损耗。再次,串联以上算法,设计了一种基于状态机框架的数字信号处理(DSP)硬核资源复用FPGA架构,以硬件资源复用的方式实现了资源的高效利用,在不损失速度的同时提高了FPGA的利用效率。最后,通过多个实时仿真算例验证了所提方法的有效性和正确性。


关键词

电磁暂态仿真; 实时仿真; 电力电子开关; 虚拟功率损耗; 现场可编程门阵列; 资源复用

0 引言

近年来,中国传统电力系统正在向以新能源为主体的新型电力系统转型,随着新能源发电接入比例的不断提高,电力系统中的电力电子设备也在不断增加[1]。在电力电子设备的研究中,电磁暂态实时仿真是电力电子系统设计和测试的安全可靠工具[2-3],可以减少硬件实验的开销并缩短研发周期[4]。

实时仿真的严格时序要求使得其难以兼容离线仿真中的插值算法,原因是插值算法会使仿真算法的复杂度急剧增加,增大仿真的步长[5]。在没有插值算法的修正下,为了保证电力电子系统中开关元件换向的准确性,仿真的时间步长要比离线仿真小得多,一般要求在微秒级甚至亚微秒级[6]。现场可编程门阵列(field programmable gate array,FPGA)因具有天然的高度并行性、出色的计算能力和极低延迟的特点,已经成为实时仿真以及硬件在环测试的常用计算加速硬件[7-10]。

目前,为实现基于FPGA的电力电子实时仿真需要解决以下3个技术要点:

1)电磁暂态仿真算法。为了满足电力电子系统仿真测试的需求,实时仿真中所使用的算法一般不能太复杂。因此,以节点分析法为基础的电磁瞬态程序(electro-magnetic transient programs,EMTP)算法成为了应用和研究的主流算法。为了充分发挥FPGA的计算加速优势,需要对传统的离线EMTP进行改进[11]。文献[6]针对固态变压器的实时仿真应用提出了一种紧凑型节点分析法,实现了50 kHz固态变压器的实时仿真。然而,为了适配定点数运算的特点,电路元件采用提出的混合建模方式,增加了建模复杂度。

2)开关模型的虚拟功率损耗。在上述算法中,电力电子开关通常采用伴随离散电路(associated discrete circuit,ADC)模型中的恒定导纳模型[12]。该模型不仅可以很好地模拟出理想开关的稳态特性,同时使得实时仿真过程中无须更新电路的计算导纳矩阵,极大地降低了实时仿真过程中的计算负担。但恒导纳开关模型也存在理想开关不存在的暂态振荡,在仿真过程中引入了由模型所导致的功率损耗,而不是电力电子设备产生的实际功率损耗,称为虚拟功率损耗。为了减小虚拟功率损耗对仿真准确性的影响,相关学者根据不同的数值方法和拓扑提出了改进的恒导纳开关模型,但开关动作时的暂态振荡仍然存在,不能完全消除虚拟功率损耗[13-14]。此外,也有研究人员通过在该模型中加入补偿电压源和电流源的方式来补偿由原模型引入的虚拟功率损耗[15],或引入重新初始化算法来抑制开关暂态振荡[16]。然而,补偿源的求解依赖外电路参数,初始化算法的设计不够简单高效,都增大了FPGA逻辑和存储资源的负担。

3)FPGA的实现方法。不同于运行在个人计算机上的离线仿真,基于FPGA的实时仿真需要将模型和算法硬件编程后下载到FPGA硬件中进行布局布线实现。文献[17]提出了一套基于FPGA的有源配电网实时仿真方法论,详细介绍了算法在FPGA中的实现过程。但其使用的传统开发工具门槛较高,同时缺少对资源利用规划的研究。受益于高级语言综合(high-level synthesis,HLS)工具的发展,研究人员降低了在FPGA实现上的门槛,同时提高了开发者对其的利用能力[18]。因此,通过HLS工具设计合理高效的FPGA算法架构是可行且有必要的。

以上3个方面是基于FPGA的电力电子实时仿真中的技术要点以及挑战。本文首先基于传统的离线仿真算法改进,推导了一种简洁EMTP算法。其次,根据所设计的算法流程,从数值算法的角度讨论了开关模型虚拟功率损耗的来源,以此为基础提出了一种初始误差修正算法,可以几乎消除由开关模型引入的功率损耗,算法流程简单高效,无须依赖外电路参数,具有普适性且几乎不消耗额外的FPGA资源。最后,设计了一种FPGA的实现架构,在基于FPGA实现所提算法的基础上提高了FPGA的资源利用效率,同时并不影响仿真速度。


1 基于EMTP的实时仿真算法

1.1 电路元件建模

在以EMTP为基础的实时仿真算法中,电路中的动态元件以及开关器件通常需要根据不同的数值方法离散,建立为ADC模型的形式[12]。如图1所示,电路各动态元件被建模为等效支路导纳Yb和伴随电流源ja。

图1 电路元件的ADC模型

Fig.1 ADC model of circuit component

文献[16]将ADC模型中的伴随电流源参数化,不同的元件表达式可以整理为统一的参数化形式:


ja(t)=αYbvb(t?Δt)+βib(t?Δt)?a(?)=??b?b(?-Δ?)+??b(?-Δ?)

(1)

式中:vb为支路电压;ib为支路电流;Δt为仿真步长;αβ为元件系数。

式(1)中各参数的取值与元件类型和数值离散方法相关。其中,后向欧拉法具有极强的数值稳定性和高收敛性,已被广泛应用于电磁仿真算法中,现有开关模型的研究大多都来自二值LC等效模型的改进。采用以上方法的不同元件表达式系数如表1所示。表中:L为电感元件自感量;C为电容元件电容量;Lswitch为模拟开关导通的电感元件自感量;Cswitch为模拟开关关断的电容元件电容量。

表1 不同元件表达式系数

Table 1 Expression coeffients of different elements

元件类型

Yb

α

β

电感

Δt/L

0

1

电容

Ct

-1

0

开关导通

Δt/Lswitch

0

1

开关关断

Cswitch/Δt

-1

0

文献[13-14]所提出的改进型恒导纳开关模型都可以通过改变表1中开关元件的系数来实现。

上述元件转换为ADC模型后,还需要将电路中的电压源转换为诺顿等效形式,即可通过EMTP算法进行电路的时域仿真求解。

1.2 简洁EMTP算法

传统的EMTP程序是基于节点分析法设计的,根据节点分析法,节点电压计算方法如下:


vn(t)=Y?1nin(t)?n(?)=?n-1?n(?)

(2)

式中:vn为节点电压向量;Yn为电路的节点导纳矩阵,当开关使用恒定导纳模型时其保持不变;in为节点注入电流源向量。

根据电路理论中的网络图论[19],可以引入节点-支路关联矩阵A来帮助in的矩阵化计算,有


A=??????a11a21?an1a12a22?an2???a1ba2b?anb???????=?11?12??1??21?22??2??????1??2????

(3)

式中:n为电路节点数;b为支路数。当支路电流流出节点时,ail=1(i=1,2,…,nl=1,2,…,b);当支路电流流入节点时,ail=-1;当节点与支路无关联时ail=0。

此时有:


in(t)=?A[ja(t)+js(t)]?n(?)=-?[?a(?)+?s(?)]

(4)

式中:ja为支路伴随电流源向量;js为独立电流源或电压源支路的诺顿等效注入电流源向量。

传统EMTP计算程序可整理为下列算式:


itemp(t)=ja(t)+js(t)?temp(?)=?a(?)+?s(?)

(5)


in(t)=?Aitemp(t)?n(?)=-??temp(?)

(6)


vn(t)=Y?1nin(t)?n(?)=?n-1?n(?)

(7)


vb(t)=ATvn(t)?b(?)=?T?n(?)

(8)


ib(t)=Ybvb(t)+itemp(t)?b(?)=?b?b(?)+?temp(?)

(9)


ja(t+Δt)=αYbvb(t)+βib(t)?a(?+Δ?)=??b?b(?)+??b(?)

(10)

式中:itemp为临时电流向量,储存各支路的电流源之和以便后续计算;Yb为支路导纳矩阵;vb为支路电压向量;ib为支路电流向量;αβ为元件系数对角矩阵。

式(5)—式(10)中的各个算式相互串联,具有高度串行性,不适用于基于FPGA的并行化实时仿真计算。因此,需要推导一种可并行化的计算流程。

在电磁仿真中,更需要电路的电气量输出,如vn、vb和ib,因此中间计算过程可以合并,得到:


vn(t)=?Y?1nAitemp(t)?n(?)=-?n-1??temp(?)

(11)


vb(t)=?ATY?1nAitemp(t)?b(?)=-?T?n-1??temp(?)

(12)


ib(t)=?YbATY?1nAitemp(t)+itemp(t)?b(?)=-?b?T?n-1??temp(?)+?temp(?)

(13)

合并后,式(11)—式(13)中各系数矩阵均为常系数矩阵,可预先计算,故其中各电气量相互解耦,可独立计算。

将式(12)、式(13)代入式(10)中化简整理可得:


ja(t+Δt)=(α+β)ib(t)?αitemp(t)?a(?+Δ?)=(?+?)?b(?)-??temp(?)

(14)

支路电流向量ib包含了仿真电路中全部支路的电流信息,通常情况下已经能够满足用户的观测需求,且与式(14)串联,需要在仿真计算过程中保留。

实际应用中,用户通常需要通过添加电压表或电压测点等测量元件来获取所需电压量。因此,仅输出vn和vb无法直接满足用户需求,且其中包含了无须观测和仿真计算过程中非必要的量,浪费了计算资源。在仿真建模时,通常选择接地节点为参考电压节点,此时用户观测电压可直接为节点电压或两节点电压之差:


?????????????vm,1=vn,ivm,2=vn,j ?vm,m=vn,i?vn,j?m,1=?n,??m,2=?n,? ??m,?=?n,?-?n,?

(15)

式中:vm表示观测电压;vn表示节点电压;ij为节点编号;m为电压测量点数量。

整理可得:


vm(t)=Mvn(t)=?MY?1nAitemp(t)?m(?)=??n(?)=-??n-1??temp(?)

(16)

式中:vm为观测电压向量;Mm×n观测矩阵。根据式(12),当M=AT时,vm=vb。通过式(16)可直接输出电压测量点结果,满足用户需求。

合并式(13)和式(16)中的常系数矩阵为中间矩阵:


{B=?MY?1nAC=?YbATY?1nA+E?=-??n-1??=-?b?T?n-1?+?

(17)

式中:Bm×b矩阵;Cb×b矩阵;Eb×b单位矩阵;b为电路支路数。

根据式(5)和式(13)—式(17),可整理得新仿真计算步骤:


???????????itemp(t)=ja(t)+js(t)vm(t)=Bitemp(t)ib(t)=Citemp(t)ja(t+Δt)=(α+β)ib(t)?αitemp(t)?temp(?)=?a(?)+?s(?)?m(?)=??temp(?)?b(?)=??temp(?)?a(?+Δ?)=(?+?)?b(?)-??temp(?)

(18)

式(18)中各算式的串行度降低,vm和ib可以并行计算,舍去了非必要的计算量和步骤,提高了算法流程的简洁性,更加适用于基于FPGA的实时仿真。

2 恒导纳开关模型损耗消除

目前,相关研究认为恒导纳开关模型的损耗是由储能元件产生的,只要准确计算储能元件的能量变化,就可以测量开关的损耗,并通过优化模型参数的方式降低损耗[20]。

由于本文引入了参数化ADC模型,现有的优化恒导纳开关模型大都可以通过调整模型中的系数实现,淡化了模型的物理特性。因此,本文从数值算法的角度出发,分析损耗的来源。

2.1 虚拟功率损耗来源分析

随着新能源的发展,电压源型换流器(voltage source converter,VSC)在新型电网中得到了越来越广泛的应用。为了提高普遍性,本文以VSC为对象展开分析,其桥臂恒导纳开关模型如图2所示,其系数采用表1中的二值LC模型系数。

图2 VSC桥臂恒导纳开关模型

Fig.2 Fixed-admittance switch model of VSC bridge arm

假设上桥臂开关处于关断稳态,在t时刻收到导通信号切换。关断稳态时,桥臂开关电流it)为0,电压vs(t)为直流电压Udc(t),因此有:


ja(t?Δt)=?YsUdc(t?Δt)?a(?-Δ?)=-?s?dc(?-Δ?)

(19)

式中:Ys为开关支路的导纳。

t时刻,ja根据式(14)中的算式更新,有:


ja(t)=(α+β)i(t?Δt)?αja(t?Δt)?a(?)=(?+?)?(?-Δ?)-??a(?-Δ?)

(20)

代入导通后的开关系数,ja(t)=0。

导通稳态时,桥臂开关电流it)与电感电流iL(t)相等,电压vs(t)为0,因此有:


ja(t)=iL(t)?a(?)=?L(?)

(21)

在理想开关中,开关从关断稳态到导通稳态是瞬时的,没有中间过程,t时刻即达到稳态。而该模型中,t时刻的ja与稳态有一个差值iL(t),称为初始误差。开关从导通切换为关断时则与上述过程相反,初始误差为-YsUdc(t)。

初始误差的存在使得开关状态切换后需要一个收敛至稳态值的过程,收敛过程与初始误差的大小和数值方法有关,这也是虚拟功率损耗产生的原因。根据式(20)可知,ja的更新与初始误差表达式并无直接关联关系,且初始误差值可能因电路工况改变而改变。因此,即使修改开关模型系数也仅能够在某些特定情况下减小初始误差的值,无法从根源上解决这一问题。

2.2 初始误差修正算法

电力电子开关在电路中一般起换流的作用,根据式(19)和式(21),开关稳态电气值与特定支路的电流、电压和开关支路导纳相关。因此,若将开关切换后的ja直接替换为其稳态值则可以消除初始误差,省略收敛过程。

在仿真的算法流程式(18)中,t时刻的ja计算要优先于该时刻的电压、电流,故开关稳态值无法直接获取。如图2所示,开关稳态值通常与滤波电容电压和滤波电感电流相关,相对于电力电子开关,滤波元件在仿真步长的时间尺度上变换缓慢,可等效为独立源[16]。因此,对于此类元件,可以认为tt时刻与t时刻的值几乎不变,可以近似替代,有文献利用相似思想进行并行化算法的设计并验证[21]。本文基于此设计了一种初始误差修正(initial error correction,IEC)算法,如图3所示。

图3 初始误差修正算法示意图

Fig.3 Schematic diagram of initial error correction algorithm

对于图2中的桥臂开关,在t时刻开关状态切换,对应的修正公式如下:

上桥臂:


ja(t)={?YsUdc(t?Δt)iL(t?Δt)关断导通?a(?)=-?s?dc(?-Δ?)关断?L(?-Δ?)导通

(22)

下桥臂:


ja(t)={?YsUdc(t?Δt)?iL(t?Δt)关断导通?a(?)=-?s?dc(?-Δ?)关断-?L(?-Δ?)导通

(23)

为了具有普适性,将式(22)和式(23)整理为:


ja(t)={hoffvb,correct(t?Δt)honib,correct(t?Δt)关断导通?a(?)=?off?b,correct(?-Δ?)关断?on?b,correct(?-Δ?)导通

(24)

式中:vb,correct为开关关断后等效并联支路的电压;ib,correct为开关导通后等效串联支路的电流;hon为导通修正系数,其取值与电路建模时ib,correct支路的参考方向相关;hoff为关断修正系数,其取值与vb,correct的参考方向和开关支路导纳相关。其中等效串联支路一般为电感元件,等效并联支路一般为电容元件。

在导通时,通过t?Δt?-Δ?时刻的电感电流值经式(24)计算后来修正t时刻开关支路的ja,有效地减小了开关切换时刻的初始误差,抑制了暂态振荡过程。同理,在关断时可通过tt时刻的电容电压值来修正t时刻开关支路的ja。

初始误差修正算法中,不同开关的hon和hoff可在仿真建模时确定,整理为向量hon和hoff。vb,correct对应的支路也可在仿真建模时确定,将算法所需电压作为观测电压加入vm的计算中。ib,correct可直接在仿真计算过程中的ib中获取。

类似地,在文献[16]中历史电流源重初始化(history current reinitialization,HCRI)算法通过储存开关上一开关周期中切换后的稳态值(文献中取导通或关断后的第5个仿真步)来修正本次切换时的初始误差。初始误差修正算法通过上一仿真步中的相关电压和电流来修正初始误差,省略了稳态判断和存储的步骤,在基于FPGA实现时能够节约硬件资源。同时,与上一开关周期的稳态值相比,上一仿真步的稳态值与本次仿真步的稳态值误差更小,提高了修正精度。

3 FPGA实现架构

传统的FPGA开发基于硬件描述语言,入门门槛高,项目周期长,限制了研究工作的开展。Labview FPGA是由美国国家仪器(National Instruments,NI)公司开发的一种基于图形化编程语言的HLS工具,基于顶层设计、底层调用的原则实现高效可靠的FPGA开发,具有编程、仿真、调试一体化功能,已受到了广大高校和科研机构学者的青睐。本文基于该环境开发了一套基于FPGA的实时仿真平台。其中,硬件架构如附录A图A1所示,该平台包含了FPGA开发板、PC主机和DA转换模块、显示器等外部设备。FPGA主芯片为Xilinx Kintex-7 XC7K325T,逻辑资源含量如附录A表A1所示。

FPGA基于硬件电路实现自定义功能,最终的功能模块都会被映射成芯片中的实际电路。尽管HLS工具可以帮助研究人员利用高层次语言,从而省去底层开发,然而编译器并不能自动实现资源的高效利用。为了充分发挥FPGA的优势,提高逻辑资源的利用效率,需要在程序设计时便考虑这一特性。根据简洁EMTP算法可知,电磁暂态仿真过程中包含了大量的矩阵-向量点积运算。为了发挥FPGA硬件加速的优势,通常需要使用专用硬核资源DSP48来进行数值计算,其成为了基于FPGA的实时仿真中的关键硬件资源和仿真规模的制约因素。本文基于状态机框架设计了一种数字信号处理(digital signal processing,DSP)资源复用的FPGA实现架构,如图4所示,其中,PWM表示脉宽调制。

图4 基于状态机框架的DSP资源复用FPGA实现架构

Fig.4 FPGA implementation architecture with DSP resource reuse based on state machine framework

状态1到6的一轮循环即为一个仿真步计算。其中,输入量为开关的驱动信号和电路中的独立源,在每个仿真步开始时通过交互接口进入状态机中。固定量为整个仿真过程都固定不变的量,一般在仿真开始前预存储于FPGA的随机存储器(random access memory,RAM)块中。变化量为在仿真前给定或在仿真后输出,又需要在仿真过程中不断更新的量,一般通过FPGA的寄存器存取。过程量为仅存在于仿真过程、既不需要输入也不输出的量,也通过寄存器实现。算术运算通过调用运算IP(intellectual property)核实现,为减少通用逻辑资源消耗,提高计算速度,运算IP核一般通过DSP48硬核资源实现。

状态机中,对角矩阵αβ采用向量的方式存储,状态机中的向量相乘即为其对应位置元素相乘,故仅需要一个周期即可完成。状态3的矩阵向量乘法是算法的核心计算步骤,为了保证计算速度,发挥FPGA优势,该状态需要最大化的并行度,采用文献[6]中的非对角矩阵-向量乘法流水线设计结构。由图4可见,在点积运算的每个单元中加入一级流水线,虽然使得累加运算滞后了一个周期,整个矩阵-向量点积运算增加了一个时钟周期,但是流水线结构打断了乘法和累加的串行逻辑转为并行,缩短了最大路径延时,提高了时钟频率。累加运算可通过加法运算IP实现。

在保证状态3并行速度的基础上,将其他计算步骤分解后设置于其前后,与状态3共用为其分配的乘法和加法运算IP,实现DSP48硬件资源复用。分解后的算术运算对减法进行分步处理,节省了运算IP,仅剩下浮点数加法和乘法运算。在整个状态机中两种运算并行独立,复合运算通过流水线结构打断,用两个或更多周期实现,如式(14)中ja的更新式通过状态4和状态5组合实现。因此,该架构中最长逻辑路径仅为一个算术运算单元,提高了FPGA的时钟频率。

FPGA中为提高速度一般采用定点数数据类型进行计算,然而在电力电子系统的实时仿真中使用定点数不可避免地增加了建模难度。如各元件参数及电气量字长的选择[22],选择不当时易增大和累积数值误差,通常需要预先离线仿真来确定各电气量的数值量级。为了获得更好的精度和降低建模难度,本文采用单精度浮点数据格式。数值计算通过NI FPGA Floating-point库中的单精度浮点数乘法和加法运算IP实现[23],每个运算IP消耗2个DSP48和若干查找表资源,IP核内部无流水线结构可在一个周期内输出结果。该场景下图4各个状态需要消耗的时钟周期个数如附录A表A2所示。因此,在可编译的FPGA时钟下,该架构可执行的最小仿真步长为:


Δtmin=(6+b)TclockΔ?min=(6+?)?clock

(25)

式中:Tclock为FPGA时钟周期。本文所使用的FPGA在50 MHz时钟频率下进行编译,一个FPGA时钟周期为20 ns。由式(25)可知,使用性能更强大的FPGA主芯片时,可以提高FPGA时钟的可编译频率,进而缩短可执行的最小仿真步长。

为验证该架构的优越性,使用相同算法不同架构进行两电平VSC的实时仿真时,资源消耗对比如附录A图A2所示。

在实时仿真中,DSP48是FPGA算数运算的珍贵硬核资源,该架构相比于无特殊设计的情况下几乎节省了一半的DSP48资源,故能够在相同的资源数下实现更大规模的仿真运算。由于该架构是基于复用空闲资源的思想,经过图4中合理的分解布局后,并不会因增加额外的时延而损失速度,同时还具备通用性和一定的扩展性。

4 实时仿真验证

4.1 初始误差修正算法验证

4.1.1 不同变换器的输出波形

在本文搭建的FPGA实时仿真平台上对Boost变换器、两电平VSC[13]、三电平VSC[24]进行实时仿真验证。采用MATLAB/Simulink中SimPower System工具箱的相同离线仿真模型作为参考基准,其中,电力电子开关采用理想开关模型。

图5是两电平VSC在离线仿真、含修正算法的实时仿真和不含修正算法的实时仿真下的开关电压vs、电流is波形。对比图5(a)、(d)和(b)、(e)可以看出,在初始误差修正算法的作用下,实时仿真中基于恒导纳开关模型的电压和电流波形已经接近于离线仿真中理想开关的波形。需要注意的是,实时仿真中基于恒导纳开关模型已经试凑到较优的参数,但从图5(c)、(f)中可以看出,开关振荡仍然明显。

图5 两电平VSC开关电压、电流波形

Fig.5 Waveforms of switch voltage and current of two-level VSC

三电平VSC和Boost变换器的开关电压、电流波形如附录A图A3和图A4所示,与上述所讨论的两电平VSC相似。通过图2桥臂模型所提出的修正算法同样适用于以Boost变换器为例的直流斩波变换器和三电平VSC。对于任何变换器而言,电力电子开关在接通时都具有等效串联电路,在关断时具有等效并联电路,可应用于修正算法中。因此,初始误差修正算法不受拓扑结构限制,具有一定的通用性。

4.1.2 虚拟功率损耗测试和分析

图6(a)中展示了Boost变换器、两电平VSC和三电平VSC在不同载波频率下的虚拟功率损耗占比。基于恒导纳开关模型的虚拟功率损耗随载波频率的增加而增加。即使选择了较优的支路导纳,它也会在高载波频率下增加到极高的水平,严重影响仿真的准确度。加入修正算法后,恒导纳开关模型已经十分接近理想开关。因此,在所有被测载波频率下,虚拟功率损耗都保持在极低的水平,基本可以忽略。在修正算法的作用下,此时的损耗来源更多是由于数值算法的误差。

图6 不同条件下的虚拟功率损耗

Fig.6 Virtual power loss under different conditions

如图6(b)所示,修正算法使得恒导纳开关模型不受支路导纳参数的影响,在较大的可选参数范围内,其虚拟功率损耗都基本可以忽略。因此,使用恒导纳开关模型时无须再进行参数的试凑优化,提高了实时仿真的建模效率。

减小仿真步长是降低恒导纳开关模型虚拟功率损耗的有效途径。然而,为了确保实时性能,所有计算必须在单个仿真步长时间内完成。因此,最小仿真步长受到FPGA硬件资源瓶颈的限制,不能无限减小。表2给出了不同仿真步长下的虚拟功率损耗占比。结果显示,从小步长到大步长,引入修正算法后的虚拟功率损耗都几乎为零。因此,修正算法不受仿真步长的影响,即使在较大的步长下也能够保证其有效性,可以减小硬件负担。

表2 不同步长下的虚拟功率损耗占比

Table 2 Percentage of virtual power loss at different step sizes

仿真步长

虚拟功率损耗/%

无修正算法

有修正算法

500 ns

19.84

0.10

1 μs

33.21

0.19

1.5 μs

42.84

0.27

初始误差修正算法由于从数值算法本身出发,通过数值修正的方式使开关切换过程更加贴近理想开关,能从根源上消除功率损耗。该算法不受拓扑、模型参数和仿真步长的限制,具有普适性。同时,该算法流程简单高效,在基于状态机框架的DSP资源复用FPGA架构下,仅增加了图4中状态6的一个时钟周期。从表3可知,修正算法的加入不会增加额外的DSP48资源的消耗,仅因额外的逻辑判断增加了少量的查找表资源。

表3 两电平VSC实时仿真中有无修正算法的FPGA资源消耗比例

Table 3 FPGA resource consumption ratio with and without correction algorithm in real-time simulation of two-level VSC

资源类型

FPGA资源消耗比例/%

无修正算法

有修正算法

寄存器

3.90

3.90

查找表

11.60

12.00

RAM块

7.00

7.00

DSP48

15.20

15.20

4.2 混合微电网算例验证

如附录A图A5所示,本文搭建了一个含互联变流器(interlinking converter,IC)的交直流混合微电网系统,系统采用文献[25]的模型参数和控制方法,主要参数如附录A表A3所示。

本文在所开发的FPGA实时仿真平台中实现了以上系统的自闭环实时仿真,其中FPGA中控制系统的实现参考文献[17]中的方法。同时,基于Simulink/SimPowerSystem搭建了相同的离线仿真模型作为参考基准。该系统能够在本文的FPGA实时仿真平台中实现1 μs步长的时域仿真。

如附录A图A6所示,互联变流器的目标是均衡两侧子网的功率,使两侧子网共同分担负荷,实时仿真结果显示在所设定工况下均能实现控制目标,与实际结果相符。图A7给出了该系统中直流母线电压、交流母线电压和互联变流器传输电流的输出波形,结果均与离线参考值基本吻合。

该混合微电网算例的实时仿真结果表明初始误差修正算法和基于状态机框架的DSP资源复用FPGA架构能够保证电磁暂态实时仿真结果的正确性。

5 结语

针对电力电子实时仿真领域中的3个技术点和问题,本文逐一分析并进行改进,主要工作和结论如下:

1)推导了简洁EMTP算法,将传统EMTP算法解耦压缩,提高了算法的并行度。在FPGA实现上采用浮点数据格式,免去了文献[6]中的Compact EMTP算法因定点数的数值差异进行的混合建模过程。同时,将用户的观测需求合并到算法过程中,舍弃非必要的输出量,FPGA实现时无须因测量元件增加额外的步骤和资源消耗,提高了算法的计算效率和简洁性。

2)从数值算法的角度分析虚拟功率损耗的来源,得出其主要原因在于恒导纳开关模型在开关切换时刻产生的初始误差。提出了一种初始误差修正算法,可以基本消除由开关模型引入的功率损耗。该算法具有普适性,可应用于多种拓扑且不受仿真步长和模型参数的影响。

3)自主搭建了一套基于FPGA的电力电子仿真平台,在考虑FPGA的硬件特性基础上进行本文算法的FPGA实现,提出了一种基于状态机框架的DSP资源复用FPGA架构。该架构可以提高FPGA资源的利用效率,同时减小加入初始误差修正算法对硬件资源消耗的影响。

综上,本文解决了基于FPGA的电力电子系统实时仿真中的虚拟功率损耗问题,提高了硬件资源利用效率。随着微电网规模和容量的增加,需要仿真和测试的电力电子系统规模也随之扩大。针对更大规模电力电子系统的实时仿真算法优化方法和FPGA架构是下一阶段研究的重点方向。

附录

附录A

图A1 实时仿真平台

Fig.A1 Real-time simulation platform

表A1 FPGA逻辑资源

Table A1 FPGA logic resource

资源类型

寄存器

查找表

RAM块

DSP48

数量

407 600

203 800

445

840

表A2 状态机周期消耗

Table A2 Cycle consumption of the state machine

状态

1

2

3

4

5

6

周期个数

1

1

b+1

1

1

1

表A3 系统主要参数

Table A3 Main system parameters

参数名称

数值

交流侧额定有功功率PacN

20 kW

直流侧额定有功功率PdcN

20 kW

交流侧额定频率fN

50 Hz

直流侧额定电压UdcN

700 V

交流侧等效下垂系数mac

5e-5

直流侧等效下垂系数mdc

5e-4

开关频率fsw

10 kHz

图A2 不同FPGA架构资源消耗对比

Fig.A2 Comparison of resource consumption of different FPGA architectures

图A3 三电平VSC开关电压、电流波形

Fig.A3 Waveforms of switch voltage and current of three-level VSC

图A4 Boost变换器开关电压、电流波形

Fig.A4 Waveforms of switch voltage and current of Boost converter

图A5 交直流互联微电网模型

Fig.A5 AC/DC interconnected microgrid model

图A6 系统工况及响应

Fig.A6 Operating condition and response of the systems

图A7 系统输出波形对比

Fig.A7 System output waveform comparison

参 考 文 献

1

徐晋,汪可友,李国杰.电力电子设备及含电力电子设备电力系统实时仿真研究综述[J].电力系统自动化,2022,46(10):3-17. [百度学术]

XU Jin, WANG Keyou, LI Guojie. Review of real-time simulation of power electronic devices and power systems integrated with power electronic devices[J]. Automation of Electric Power Systems, 2022, 46(10): 3-17. [百度学术]

2

孙鹏琨,葛琼璇,王晓新,等.基于硬件在环实时仿真平台的高速磁悬浮列车牵引控制策略[J].电工技术学报,2020,35(16):3426-3435. [百度学术]

SUN Pengkun, GE Qiongxuan, WANG Xiaoxin, et al. Traction Control strategy of high-speed maglev train based on hardware-in-the-loop real-time simulation platform[J]. Transactions of China Electrotechnical Society, 2020, 35(16): 3426-3435. [百度学术]

3

颜新洋,么莉,张炳达,等.采用模块组多样性等效的模块化多电平换流器实时仿真[J].电力系统自动化,2021,45(12):142-150. [百度学术]

YAN Xinyang, YAO Li, ZHANG Bingda, et al. Real-time simulation of modular multilevel converter based on diversity equivalent of module group[J]. Automation of Electric Power Systems, 2021, 45(12): 142-150. [百度学术]

4

李子润,徐晋,汪可友,等.电力电子换流器离散小步合成实时仿真模型[J].电工技术学报,2022,37(20):5267-5277. [百度学术]

LI Zirun, XU Jin, WANG Keyou, et al. A discrete small-step synthesis real-time simulation model for power converters[J]. Transactions of China Electrotechnical Society, 2022, 37(20): 5267-5277. [百度学术]

5

ZHANG Y, INC R T, DING H, et al. Key techniques in real time digital simulation for closed-loop testing of HVDC systems[J]. CSEE Journal of Power and Energy Systems, 2017, 3(2): 125-130. [百度学术]

6

XU J, WANG K Y, WU P, et al. FPGA-based submicrosecond-level real-time simulation of solid-state transformer with a switching frequency of 50 kHz[J]. IEEE Journal of Emerging and Selected Topics in Power Electronics, 2021, 9(4): 4212-4224. [百度学术]

7

汪然,苏建徽,施永.基于FPGA的电力电子系统实时仿真算法[J].电力电子技术,2021,55(5):87-89. [百度学术]

WANG Ran, SU Jianhui, SHI Yong. An algorithm of power electronic system based on FPGA for real-time simulation[J]. Power Electronics, 2021, 55(5): 87-89. [百度学术]

8

李珂,顾伟,柳伟,等.基于FPGA的变流器并行多速率电磁暂态实时仿真方法[J].电力系统自动化,2022,46(13):151-158. [百度学术]

LI Ke, GU Wei, LIU Wei, et al. Real-time parallel multi-rate electromagnetic transient simulation method for converters based on field programmable gate array[J]. Automation of Electric Power Systems, 2022, 46(13): 151-158. [百度学术]

9

李鹏,王智颖,王成山,等.基于多FPGA的有源配电网实时仿真器并行架构设计[J].电力系统自动化,2019,43(8):174-182. [百度学术]

LI Peng, WANG Zhiying, WANG Chengshan, et al. Design of parallel architecture for multi-FPGA based real-time simulator of active distribution network[J]. Automation of Electric Power Systems, 2019, 43(8): 174-182. [百度学术]

10

郑荣波,郝正航,陈卓.基于FPGA的分布式发电系统混合步长实时仿真算法[J].南方电网技术,2022,16(10):12-19. [百度学术]

ZHENG Rongbo, HAO Zhenghang, CHEN Zhuo. Real-time simulation algorithm with hybrid step size for distributed generation system based on FPGA[J]. Southern Power System Technology, 2022, 16(10): 12-19. [百度学术]

11

CHEN Y A, DINAVAHI V. FPGA-based real-time EMTP[J]. IEEE Transactions on Power Delivery, 2009, 24(2): 892-902. [百度学术]

12

HUI S Y R, MORRALL S. Generalised associated discrete circuit model for switching devices[J]. IEE Proceedings - Science, Measurement and Technology, 1994, 141(1): 57-64. [百度学术]

13

侯延琦,刘崇茹,郑乐,等.基于负电阻补偿的VSC恒导纳建模方法[J].中国电机工程学报,2022,42(19):6985-6995. [百度学术]

HOU Yanqi, LIU Chongru, ZHENG Le, et al. Fixed-admittance modeling method of voltage source converter based on compensation of negative resistance[J]. Proceedings of the CSEE, 2022, 42(19): 6985-6995. [百度学术]

14

龚文明,王灿,朱喆,等.基于LC二值等效开关模型的电力电子系统高效电磁暂态仿真方法[J].南方电网技术,2018,12(11):37-43. [百度学术]

GONG Wenming, WANG Can, ZHU Zhe, et al. High efficient EMT simulation method of power electronic system based on LC binary equivalent switch model[J]. Southern Power System Technology, 2018, 12(11): 37-43. [百度学术]

15

MU Q, LIANG J, ZHOU X X, et al. Improved ADC model of voltage-source converters in DC grids[J]. IEEE Transactions on Power Electronics, 2014, 29(11): 5738-5748. [百度学术]

16

WANG K Y, XU J, LI G J, et al. A generalized associated discrete circuit model of power converters in real-time simulation[J]. IEEE Transactions on Power Electronics, 2019, 34(3): 2220-2233. [百度学术]

17

丁承第.基于FPGA的有源配电网实时仿真方法研究[D].天津:天津大学,2014. [百度学术]

DING Chengdi. FPGA-based real-time simulation for active distribution system[D]. Tianjin: Tianjin University, 2014. [百度学术]

18

MONTANO F, OULD-BACHIR T, DAVID J P. An evaluation of a high-level synthesis approach to the FPGA-based submicrosecond real-time simulation of power converters[J]. IEEE Transactions on Industrial Electronics, 2018, 65(1): 636-644. [百度学术]

19

孙立山,陈希有.电路理论基础[M].4版.北京:高等教育出版社,2013:309-311. [百度学术]

SUN Lishan, CHEN Xiyou. Fundamentals of circuit theory[M]. Beijing: Higher Education Press, 2013: 309-311. [百度学术]

20

穆清,周孝信,王祥旭,等.面向实时仿真的小步长开关误差分析和参数设置[J].中国电机工程学报,2013,33(31):120-129. [百度学术]

MU Qing, ZHOU Xiaoxin, WANG Xiangxu, et al. Error analysis and parameters of switches in small step simulation for real-time simulation[J]. Proceedings of the CSEE, 2013, 33(31): 120-129. [百度学术]

21

LIU C, BAI H, ZHUO S R, et al. Real-time simulation of power electronic systems based on predictive behavior[J]. IEEE Transactions on Industrial Electronics, 2020, 67(9): 8044-8053. [百度学术]

22

郭希铮,袁佳琦,游小杰,等.电力电子实时仿真建模的FPGA资源优化方法研究[J].电机与控制学报,2020,24(7):12-19. [百度学术]

GUO Xizheng, YUAN Jiaqi, YOU Xiaojie, et al. Research on FPGA optimization approach of power electronics real-time simulation modeling[J]. Electric Machines and Control, 2020, 24(7): 12-19. [百度学术]

23

NI LabVIEW FPGA Floating-Point Library[EB/OL]. [2022-09-07]. https://forums.ni.com/t5/Reference-Design-Content/NI-LabVIEW-FPGA-Floating-Point-Library/ta-p/3725126?profile.language=en. [百度学术]

24

SCHWEIZER M, KOLAR J W. High efficiency drive system with 3-level T-type inverter[C]// Proceedings of the 2011 14th European Conference on Power Electronics and Applications, August 30-September 1, 2011, Birmingham, UK: 1-10. [百度学术]

25

邓灿.交直流混合微网互联变流器控制策略研究[D].哈尔滨:哈尔滨工业大学,2021. [百度学术]

DENG Can. Research on control strategy of interlinking converter in hybrid AC/DC microgrid[D]. Harbin: Harbin Institute of Technology, 2021. [百度学术]

相关推荐

程序员请收好:10个非常有用的 Visual Studio Code 插件

一个插件列表,可以让你的程序员生活变得轻松许多。作者|Daan译者|Elle出品|CSDN(ID:CSDNnews)以下为译文:无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发人...

PADS在WIN10系统中菜单显示不全的解决方法

决定由AD转PADS,打开发现菜单显示不正常,如下图所示:这个是由于系统的默认字体不合适导致,修改一下系统默认字体即可,修改方法如下:打开开始菜单-->所有程序-->Windows系统--...

一文讲解Web前端开发基础环境配置

先从基本的HTML语言开始学习。一个网页的所有内容都是基于HTML,为了学好HTML,不使用任何集成工具,而用一个文本编辑器,直接从最简单的HTML开始编写HTML。先在网上下载notepad++文...

TCP/IP协议栈在Linux内核中的运行时序分析

本文主要是讲解TCP/IP协议栈在Linux内核中的运行时序,文章较长,里面有配套的视频讲解,建议收藏观看。1Linux概述  1.1Linux操作系统架构简介Linux操作系统总体上由Linux...

从 Angular Route 中提前获取数据

#头条创作挑战赛#介绍提前获取意味着在数据呈现在屏幕之前获取到数据。本文中,你将学到,在路由更改前怎么获取到数据。通过本文,你将学会使用resolver,在AngularApp中应用re...

边做游戏边划水: 基于浅水方程的水面交互、河道交互模拟方法

以下文章来源于腾讯游戏学堂,作者Byreave篇一:基于浅水方程的水面交互本文主要介绍一种基于浅水方程的水体交互算法,在基本保持水体交互效果的前提下,实现了一种极简的水面模拟和物体交互方法。真实感的...

Nacos介绍及使用

一、Nacos介绍Nacos是SpringCloudAlibaba架构中最重要的组件。Nacos是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态DNS...

Spring 中@Autowired,@Resource,@Inject 注解实现原理

使用案例前置条件:现在有一个Vehicle接口,它有两个实现类Bus和Car,现在还有一个类VehicleService需要注入一个Vehicle类型的Bean:publicinte...

一文带你搞懂Vue3 底层源码

作者:妹红大大转发链接:https://mp.weixin.qq.com/s/D_PRIMAD6i225Pn-a_lzPA前言vue3出来有一段时间了。今天正式开始记录一下梗vue3.0.0-be...

一线开发大牛带你深度解析探讨模板解释器,解释器的生成

解释器生成解释器的机器代码片段都是在TemplateInterpreterGenerator::generate_all()中生成的,下面将分小节详细展示该函数的具体细节,以及解释器某个组件的机器代码...

Nacos源码—9.Nacos升级gRPC分析五

大纲10.gRPC客户端初始化分析11.gRPC客户端的心跳机制(健康检查)12.gRPC服务端如何处理客户端的建立连接请求13.gRPC服务端如何映射各种请求与对应的Handler处理类14.gRP...

聊聊Spring AI的Tool Calling

序本文主要研究一下SpringAI的ToolCallingToolCallbackorg/springframework/ai/tool/ToolCallback.javapublicinter...

「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作

一、概述作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使用,只是大部分时候我们因熟悉Docker,在部署集群时采用了默认的dockers...

在MySQL登录时出现Access denied for user ~~ (using password: YES)

Windows~~~在MySQL登录时出现Accessdeniedforuser‘root‘@‘localhost‘(usingpassword:YES),并修改MySQL密码目录适用...

mysql 8.0多实例批量部署script

背景最近一个项目上,客户需要把阿里云的rdsformysql数据库同步至线下,用作数据的灾备,需要在线下的服务器上部署mysql8.0多实例,为了加快部署的速度,写了一个脚本。解决方案#!/bi...