肖艺波,郝正航,陈 卓,陈湘萍
(贵州大学 电气工程学院,贵州 贵阳 550025)
实时仿真是深入研究永磁直驱风机系统不可或缺的环节[1,2]。随着电力电子技术的发展,电力电子器件的开关频率逐渐提高,传统的基于CPU的实时仿真平台已经无法满足高频电力电子器件对仿真步长的要求[3,4]。FPGA具有高度并行性、流水线结构、分布式内存及可重构结构的特点,进而成为搭建小步长电磁暂态实时仿真平台的有效手段[5]。
当前,国外的RT-LAB、RTDS和NI-PXI等实时仿真平台均已推出了基于FPGA开发的实时仿真工具[6,7],但这些实时仿真平台售价昂贵;因此,研发出一套具有成本低、实时性高、通用性强特点的基于FPGA的永磁直驱风机系统实时仿真平台具有重要的意义。
文献[8]通过FPGA搭建了光伏系统实时仿真平台。受FPGA的硬件资源所限,文献中将系统模型按照粗细粒度进行分割,然后将分割后的模型放入多个FGPA中进行多FPGA联合仿真。仿真结果证明了FPGA实时仿真平台的可行性与有效性。文献最后提出,对于FPGA实时仿真研究的进一步改进方向为多速率仿真。相较于 FPGA单一平台,基于CPU与FPGA的联合多速率仿真不仅能够充分发挥CPU与FPGA各自的优点,同时还能减少FPGA的硬件资源占用。
文献[9,10]对并网变流器模型进行了异构多速率仿真研究。文中的异构方法仅涉及控制系统与电气系统之间分离仿真,而整个电气系统仅使用FPGA单一平台运行。
文献[11]基于滤波电路将光伏发电系统电气模型进行了切割;将并网部分在CPU中运行,发电及滤波部分在 FPGA中运行,以此实现了多速率仿真。该方法虽实现了CPU与FPGA的多速率联合实时仿真,并验证了多速率实时仿真的可行性,但其基于滤波电路切割的方法具有局限性。
本文采用模型分割方法,将整个系统中对小步长仿真有需求的模型列入FPGA系统,而其余部分列入CPU系统;2个系统间通过千兆以太网联立通信;以此方式搭建基于FPGA与CPU联合仿真的永磁直驱风机多速率实时仿真系统。
永磁直驱风机系统主要由空气动力系统、永磁同步发电机、背靠背变流器、滤波电路、并网电路和控制电路构成。系统中包含的电力电子器件为背靠背变流器模型中的2个三相换流器。
由于电力电子器件开关频率较高,所以实时仿真步长需达到亚微秒级。仿真时,控制电路中生成 2个三相换流器控制信号的脉冲宽度调制(Pulse width modulation,PWM)模型也需要用到亚微秒的仿真步长。
CPU实时仿真平台的步长无法达到亚微秒级,因此无法满足上述模型的仿真步长需求。借助FPGA芯片数字电路进行并行运算,能够将模型仿真计算压缩到100 ns或1 μs级别,可完美实现电力电子器件的超高速仿真。本文小步长实时仿真平台采用FPGA进行搭建。
采用节点分析法[12]建立FPGA系统离散化数学模型。开关等效方法采用了改进ADC开关等效模型[13],其原理是:在电力电子器件处于不同状态时,将其等效为不同的模型。将导通的开关等效为一个电容CS串联一个电阻RS;将断开的开关等效为一个电感LS[14]。
等效之后,可通过节点分析法对系统进行建模:将系统中的电感、电容等动态原件通过数值积分方法进行离散化,从而得到一个由电导与历史电流源并联的诺顿等效电路;联立整个系统得到节点导纳矩阵,对其进行求解即可得到任意支路的瞬时电压,进而求得每一时刻的支路电流和支路电压[15]。
由于在对电力电子器件支路进行离散时,其导通与断开的2种状态都可以用历史电流源并联等值电阻的形式表示,故两者的等效结构相同,如图1所示。此时通过调整电力电子等效模型的电阻、电感和电容参数,使其满足:
图1 电力电子器件离散模型Fig. 1 Discrete models of power electronic devices
式中:T为仿真步长。
在系统的开关状态发生改变时,开关导纳值GS不变,系统的节点导纳矩阵不变;因此,在通过节点分析法搭建整个系统时,只需预存1个节点导纳逆矩阵,从而避免了系统方程随电力电子器件导通状态变化而改变的问题。
离散方法采用梯形积分法[16]。该方法比后向欧拉法的精确性更高。同时,本文采用改进的ADC开关模型,能够弥补使用该离散方法会产生震荡的缺点。
若仅采用FPGA平台进行实时仿真,则整个永磁风机系统的离散化数学建模会占用大量的FPGA硬件资源,且对永磁同步电机离散化建模会增大实时仿真难度。
CPU实时仿真平台能兼容Simulink模型,且具有便于控制与数据观察的特点。因此,为充分利用FPGA与CPU各自的优点,同时满足永磁直驱风机系统的实时仿真步长需求,本文将永磁直驱风机系统各部分模型按实时仿真步长的需求进行分割:将仿真时仅对小步长有需求的模型作为小步长系统,通过FPGA平台进行仿真;剩余部分作为大步长仿真系统,通过CPU平台进行仿真。2个平台进行联立,实现异构多速率实时仿真。
在永磁直驱风机电气系统仿真过程中,需要小步长仿真的模型为背靠背变流器模型中的2个三相换流器。二者间的电容虽然对小步长仿真没有需求,但由于其离散化建模简单,且为避免增加FPGA与CPU平台间的接口数量,导致实时仿真结果的误差增加,故将整个背靠背换流器作为FPGA小步长仿真系统,从其两端进行分割,其余部分作为CPU大步长仿真系统。控制系统方面,将PWM模型从控制系统中切割,作为FPGA仿真系统,其余部分作为CPU仿真系统;得到永磁直驱风机系统多速率仿真结构如图2所示。
图2 永磁直驱风机系统多速率仿真结构Fig. 2 Multi-rate simulation structure of permanent magnet direct drive fan system
在通过永磁直驱风机系统多速率仿真结构进行实时仿真时,需要通过模型切割方法将电气系统分开,以便在FPGA与CPU平台联立仿真。切割方法采用理想变压器模型(Ideal impedance method,ITM)法[17]。该方法在电力系统实验仿真中被广泛使用,具有较高精度。
ITM 方法的理论基础是电路理论中的替代定理。在电气系统的切割处,采用受控电源对缺口进行连接:一侧为受控电流源,另一侧为受控电压源,受控信号为对侧接口的电流或电压信号。因此,在切割处,2个系统的交互信号为受控源控制信号[18]。
根据该方法,CPU侧的接口连接了2个受控电压源,即电压控制信号uab和ubc,均为 FPGA侧的线电压;FPGA侧的接口处连接 3个受控电流源,即电流控制信号ia、ib、ic,均为CPU侧的相电流。永磁直驱风机系统电机侧的接口模型如图3所示。并网侧模型的切割原理与电机侧相同。
图3 机侧变流器接口模型Fig. 3 Machine side converter interface model
控制信号求取:CPU侧为Simulink物理模型,所以可以通过添加电流传感器元件并对其测量,进而得到电流控制信号;FPGA侧为离散数学模型,因此需要将受控电流源的电流ia、ib、ic作为已知量,将线电压uab和ubc作为未知量,通过对FPGA系统列写节点电压方程,最终求解得到电压控制信号。网侧线电压计算方法如式(2)—(4)所示。
式中:Va、Vb、Vc为相电压;Gs为开关等效的电导;iS1至iS6分别为6个桥臂开关的等效历史电流源;i1、i2、i3为3个上桥臂的电流;GC、iC、Vdc分别为电容等效的电导和历史电流源及其两端电压;ir为机侧流入电流。
控制系统的切割:考虑系统为单向信号传递而并非电气回路,故直接将模型分开,接口通过CPU向FPGA单向传递调制波信号。
根据所建的永磁直驱风机系统多速率仿真架构,CPU与FPGA平台间需要通过异步通信进行数据交互,以便其能够联立进行多速率实时仿真。由于平台间采用异步通信,为减少通信延时造成的实时仿真结果误差,需要确立异步通信时序。
CPU与FPGA平台之间采用以太网UDP协议进行通信;接口协议采用RGMII协议,即千兆以太网通信;通信间隔为一个大步长的时钟周期。
CPU模型使用平台自带的以太网通信模块来连接输入输出。
在FPGA程序顶层添加以太网通信程序。该程序负责将CPU发送的数据进行接收整理并作为输入。利用FPGA中的背靠背换流器模型进行计算,同时将计算得到的输出数据打包通过以太网向CPU进行发送。
设 CPU采用大仿真步长 ΔT进行仿真,而FPGA采用小仿真步长Δt进行仿真。由于异步通信过程中存在通信延迟,在确定FPGA运行的开始时间节点以及发送数据的时间节点时,需要考虑最大限度地降低通信延时以减小其对联合仿真结果准确性的影响。本文所搭建平台的联合异步仿真通信时序如图4所示。
图4 通信时序Fig. 4 Communication timing
图4中,接收延时t1,为从CPU开始发送数据到FPGA接收并整理完所有数据的时间;发送延时t2,是从FPGA开始发送数据到CPU完整接收并整理完所有数据的时间。在联合仿真时,CPU模型每运行一个步长,便发送一次数据,因此需要以CPU模型的仿真时间节点作为参考点。FPGA平台开始运行的时间点,设置为第一次完整接收到CPU发送的数据的时间点。
由图4可知,为保证CPU在下一步长之前能够成功接收并整理完数据,以FPGA接收完CPU发送的数据的时刻作为参考时间点;在此后的一个大步长ΔT内减去接收延时t1,即得到CPU下一步长开始的时间点;再减去FPGA的发送延时t2,即可得到FPGA的发送时间点。因此,将FPGA数据发送时间设置在参考时间点后 ΔT–t1–t2的时间点。
电力电子器件的控制信号为 PWM 波信号。经过换流器换流的电压信号也为 PWM 波。在异步通信的过程中,FPGA所发送的电机侧与电网侧的线电压uab和ubc通信信号均为PWM电压波形。在从小步长到大步长的通信过程中,会出现宽度小于大步长的 PWM 波数据被丢失的情况。这些数据的丢失,将会导致实时仿真结果不准确,使得异步实时仿真结果与离线仿真结果之间存在较大的误差。
为解决这一问题,一种方法是将滤波装置一同放入FPGA平台中运行,将PWM电压波形通过滤波变成正弦波形再进行通信,以此避免PWM波异步通信造成的影响。然而,永磁直驱风机模型在电机侧并不存在滤波装置,如果增加滤波装置将改变原本的系统模型。
因此,本文采用一种将 PWM 波分段效果平均化的方法:求取每一个大步长内所有小步长PWM 波的平均值,使用其平均值代替其原本的PWM波,作为交互的数据进行发送。图5为t到t+ΔT时刻的PWM波分段平均化示意图。
图5 PWM波分段平均化示意图Fig. 5 Schematic diagram of PWM wave segment averaging
从t到t+ΔT时刻,PWM波分段效果平均化的具体步骤如下:
(1)采集t到t+ΔT时刻之间FPGA系统每个小步长的线电压输出量v;
(2)在采集过程中不断将电压输出量v进行累加;
(3)在数据交互的时刻,将累加之和除以个数以求得t+ΔT时刻平均值U,将其替代原本的输出v作为通信的交互数据进行发送。
通信交互数据U的计算公式如下:
式中:n为一个大步长内小步长的个数。
由于通过该方法求得的平均值能够等效反映一个大步长内PWM波的效果,因此异步通信时由PWM波对仿真精度带来的影响可以被有效降低。
本文通过Simulink HDL Coder库中的模块搭建 FPGA部分的离散模型,并通过 HDL Code Advisor工具将模型转换为Vivado工程。同时,在工程中按前面所述的通信时序以及通信优化方法编写以太网通信程序。最后,将工程烧录至FPGA中,完成FPGA平台的搭建。
CPU采用UREP实时仿真平台,通过Simulink完成CPU平台的搭建。该平台为本课题组自主研发的基于 CPU的实时仿真平台,能够无缝连接Simulink并且具有以太网通信功能。
基于上述方法,本文成功搭建了基于 FPGA与CPU联合仿真平台的永磁直驱风机多速率实时仿真系统,如图6所示。
图6 实时仿真平台Fig. 6 Real-time simulation platform
图6中上位机使用电脑作为人机交互界面,对CPU进行监控以实现指令的下达。UREP的系统求解步长采用 50 μs。FPGA 的芯片型号为XC7K325T-2FFG676I,其系统求解步长采用 1 μs。FPGA与UREP之间通过千兆以太网UDP协议进行通信。平台间的通信间隔为50 μs。
在永磁直驱风机实时仿真系统中,机侧与网侧变流器的控制系统均采用双闭环PI矢量控制[19],风机采用最佳叶尖速比法进行最大功率跟踪控制。永磁直驱风机实时仿真系统参数如表1所示。
表1 系统模型参数Tab. 1 System model parameters
为验证本文所搭建的永磁直驱风机异构多速率实时仿真平台的准确性,设置了2个场景进行仿真实验。
场景一。
风速设为恒定值,在网侧设置三相接地短路故障,故障发生在第1.4 s;在0.2 s后,将故障切除。
在该场景下进行2组对照实验。在Simulink上,以相同的参数搭建永磁直驱风机系统离线仿真模型,作为第一个参照对象;仿真步长为1 μs。将上文通信部分优化前与优化后的2种模型通过FPGA与CPU联合仿真平台进行实时暂态仿真;将优化前的实时仿真结果作为第2个参照对象。将三者的数据进行对比分析,仿真波形如图7所示。对比的数据分别为:网侧电流ia波形、直流侧电压Udc波形、网侧输出有功功率P波形以及网侧输出无功功率Q波形。
图7 场景一仿真波形对比Fig. 7 Simulation waveform comparison of scenario 1
由图7可以发现,通信优化之前模型实时仿真波形与Simulink离线模型仿真结果之间存在较大的差异,这说明 PWM 波在异步通信过程中对实时仿真结果带来了较大的影响。在优化之后,实时仿真波形与Simulink离线仿真结果之间的差距明显减小,这证明了本文所采用的 PWM 波分段平均化的优化方法的有效性。
场景二。
为考虑实际应用场景,采用某地实测24 h内风速变化数据进行实验。为便于实验观察,将风速数据以小时为单位,每0.1 s变化一次;0.5 s之前风速保持恒定,在0.5 s至2.8 s期间按照实测风速进行变化。在该场景下进行对照实验,将 Simulink离线仿真作为参照对象,与联合仿真平台的实时仿真结果进行对比,结果如图8所示。
图8 场景二仿真波形对比Fig. 8 Simulation waveform comparison of scenario 2
通过图8中的局部放大图能够发现,本文搭建的永磁直驱风机多速率实时仿真系统的仿真结果与Simulink离线仿真得到的结果十分接近;由此能够证明本文采用的实时仿真系统的搭建方法在实际应用场景中具有可行性和准确性。
通信优化之后的数据与原模型数据对比中仍然存在的差异,主要由以下2个方面原因导致:
一是在异步通信的过程中,数据由大步长发送至小步长时,该数据的更新速率与大步长保持一致;因此,对于小步长系统,其输入数据的更新速率过慢,从而产生了一定的误差。
二是由于FPGA平台仅支持离散模型。在模型的离散化过程中,电力电子器件的离散建模方法仍具有一定的误差。同时,对于ADC等效模型RLC参数的选取,当前不具有求得最优解的办法;因此在参数的选择上,也会带来一定的误差。
本文按仿真步长需求,对永磁直驱风机系统进行切割,并在此基础上搭建了永磁直驱风机系统异构多速率实时仿真平台。该仿真方法充分利用了CPU与FPGA各自的优点,减小了FPGA硬件资源的占用,同时降低了平台搭建的难度。
小步长至大步长的异步通信过程中,会存在PWM传输信号数据丢失,导致仿真结果出现较大误差;因此,采用 PWM 分段效果平均化方法对PWM波的异步通信进行了优化。
通过联合仿真平台进行实时仿真实验,将仿真结果与Simulink离线仿真进行对比。仿真结果表明,本文采用的 PWM 分段效果平均化方法能够有效减小 PWM 波在异步通信过程中对实时仿真结果造成的影响;同时也证明,本文提出的永磁直驱风机异构多速率实时仿真方法具有可行性和准确性。
在未来的研究中,考虑在大步长到小步长的异步通信过程中增加插值算法:通过对大步长的输出进行插值预测,得到其对应的多个小步长的历史状态,使小步长模型的输入能够满足其步长更新,从而提高仿真精度。