尤浩哲, 苏建徽, 施 永, 解 宝, 赖纪东
(合肥工业大学 电气与自动化工程学院,安徽 合肥 230009)
仿真技术是电气工程领域各学科研究和教学中使用的一项重要技术。在以往的科研活动中,仿真技术经历了由动态模拟仿真到数字离线仿真的发展。动态模拟仿真技术可以对研究对象进行定性定量分析,现象比较直观丰富,利于研究人员观察实验结果,但模型的制作周期过长,成本过高,扩展性较差,且具有一定的危险性。而纯数字离线仿真可以很好地避免动态模拟仿真中出现的一些问题,实验较为方便,可以使实验场所不再拘泥于实验室内,但该仿真方式对于参数不确定的设备或系统仿真效果较差,与实际运行工况存在误差。实时仿真技术[1]将数字系统与实际功率装置或控制器联合起来实时精准地模拟实际系统。在以往的电机控制策略的研究中,需要将真实的电机控制器与真实的电机样机联系在一起,这样虽然实验结果接近实际工况,但却加大了开发的成本,加长了整个开发周期,如若操作不慎易造成实验设备的损坏甚至人员的伤亡。在进行控制算法的研究时,需要一种即快捷又方便的仿真方法进行验证。近年来,半实物实时仿真技术[2-4]的兴起,尤其是硬件在环技术(hardware-in-the-loop,HIL)[5-6]方便了电机驱动控制系统的开发,使用数字电机系统代替真实的电机系统,不仅安全可靠,还可以在线更改电机的相关参数,并观测电机内部运行状态,检验控制算法的实验效果。
电机驱动系统主要包括电机和驱动逆变器主电路2个部分。本文运用传统d-q轴模型[7-8]对电机进行数学建模,采用开关函数建模方法[9]对驱动逆变器进行数学建模。为了在基于现场可编程门阵列(field programmable gate array,FPGA)实现电机和逆变器驱动的硬件在环仿真,本文利用Simulink中的System Generator(SG),使硬件电路模型的建立简单化、便利化,避免了Verilog编程的烦琐性。在用SG实现电机的硬件电路建模时,由于模型库中正余弦模块CORDIC SINCOS在对角度进行正余弦计算时只对 [-π/2, π/2]区间内的角度具有收敛性,文献[10-11]提出了一种改进CORDIC算法,本文采用该算法代替SG中的正余弦模块,建立永磁同步电机(permanent magnet synchronous machine,PMSM)+三相逆变器的硬件电路模型,并在实时仿真平台上进行测试验证。
本文以Xilinx公司的ZYNQ AX7020开发板及LabVIEW软件为基础,研发了一套实时仿真平台。该系统以ZYNQ开发板作为模型计算的主要架构,通过以太网为通讯方式与上位机PC端的LabVIEW人机交互界面连接。ZYNQ AX7020采用了ARM+FPGASOC技术将双核ARM Cortex-A9和FPGA可编程逻辑集成在一块芯片上。该芯片可分成处理器系统部分Processor System(PS)和可编程逻辑部分Programmable Logic(PL),其中:PS部分用于运行平台的以太网通讯等模块;PL部分用于运算仿真的模型。开发板上,PS、PL部分都搭载了丰富的外部接口和设备,方便开发和使用。
实时仿真平台系统结构如图1所示,在使用仿真系统时,用户在LabVIEW人机交互界面通过以太网通讯将配置好的模型位流文件下载至仿真系统中的PL部分,通过LabVIEW下发“开始仿真”指令,实际控制系统通过DA模块采集仿真模型的反馈量,同时通过控制系统I/O接口发出脉冲宽度调制信号(pulse width modulation,PWM)波与实时仿真系统形成闭环,在LabVIEW界面选择需要观测的数据,PS部分的通讯模块会将数据返还到LabVIEW示波界面。系统运行的主要步骤如下:
(1) 列写模型的数学公式,通过System Generator建立硬件仿真模型。
(2) 通过System Generator将硬件仿真模型转换成Verilog语言文件,在VIDADO环境下添加到工程文件中与通讯模块等连接,再生成Bit格式文件。
(3) 将生成的Bit文件及参数配置文件等打包,通过LabVIEW上位机的以太网远程更新模块下载到FPGA开发板中。
(4) 点击“开始仿真”按钮运行仿真,选择需观测的数据,并通过LabVIEW的虚拟示波界面观测模型仿真结果。
图1 系统结构
电机驱动系统硬件在环仿真示意图如图2所示,仿真模型主要包括电机模型和逆变器主电路模型2个部分,实时仿真系统的仿真模型见图2虚线框。电机模型采用PMSM传统的d-q轴模型,逆变器采用理想开关建模方法,下文将分别介绍模型的建模方法。
图2 电机驱动系统硬件在环仿真示意图
图2中:Udc为直流输入电压;Ua、Ub、Uc为逆变器的三相对称输出电压。
在建立数学模型时,首先对电机模型进行如下理想化处理:① 不考虑定、转子铁芯磁阻,不计涡流和磁滞损耗;② 永磁材料的电导率为0,永磁体内部磁导率与空气相同;③ 转子上没有阻尼绕组;④ 永磁体产生的励磁磁场和三相绕组产生的电枢反应磁场在气隙中呈正弦分布;⑤ 稳态运行时,相绕组中感应电动势呈正弦波。
在d-q旋转坐标系下,定子电压方程为:
(1)
(2)
其中:Ud为定子电压d轴分量;Uq为定子电压q轴分量;id为定子电流d轴分量;iq为定子电流q轴分量;ψd为定子磁链d轴分量;ψq为定子磁链q轴分量;ωe为电角速度;Rs为定子电阻。
d-q坐标轴下的定子磁链方程为:
ψd=Ldid+ψf
(3)
ψq=Ldiq
(4)
其中:Ld为d轴自感;Lq为q轴自感;ψf为永磁体磁链。
联立可得定子电压方程为:
(5)
(6)
电磁转矩方程为:
Te=1.5piq[id(Ld-Lq)+ψf]
(7)
其中,p为电机的磁极对数。
当电机为隐级PMSM时,即Ld=Lq,则电磁转矩方程为:
Te=1.5piqψf
(8)
电机的机械运动方程为:
(9)
其中:TL为负载转矩;J为转动惯量;B为阻尼系数。
对于三相电压型桥式逆变电路来说,基本的工作方式为180°导电方式,即每个桥臂的导电角度为180°,同一相(即同一半桥)上下2个桥臂交替导电。
采用理想建模方法,当开关管导通时等效为短路,开关管关断时等效为断路。设逆变器各输出端到直流电源中性点的电压为Uag、Ubg、Ucg,则有:
Uag=S1Udc/2
(10)
Ubg=S2Udc/2
(11)
Ucg=S3Udc/2
(12)
其中,j=1,2,3。
从逆变器输出端到直流电源中性点的电压值可表示为:
Uag=Uao+Uog
(13)
Ubg=Ubo+Uog
(14)
Ucg=Uco+Uog
(15)
其中,Uao、Ubo、Uco为加在每项负载上的电压。当负载三相对称时,Uao+Ubo+Uco=0,则Uog=(Uag+Ubg+Ucg)/3,代入(13)~(15)式,可得:
Uao=(2Uag-Ubg-Ucg)/3
(16)
Ubo=(-Uag+2Ubg-Ucg)/3
(17)
Uco=(-Uag-Ubg+2Ucg)/3
(18)
将(10)~(18)式进行联立可以求得:
Uao=(2S1-S2-S3)/3
(19)
Ubo=(-S1+2S2-S3)/3
(20)
Uco=(-S1-S2+2S3)/3
(21)
若要在FPGA实现模型的运算,需要使用Verilog或者VHDL语言对数学模型进行编程,为了避免编写Verilog或者VHDL语言代码的烦琐性,借助Simulink集成工具箱中的Xilinx系列独有的System Generator模块,对上述电机和逆变器的数学公式进行建模。System Generator是基于MATLAB-Simulink的设计工具,用于Xilinx的FPGA系列,该软件不仅可以实现对硬件电路的真实情况进行仿真,还能够自动生成Verilog或者VHDL代码的工程文件,简单易用,可以为不熟悉硬件编程语言的研发人员更快地编写出模型的工程文件,大大缩短了模型设计的开发周期。
根据前述的电机数学公式,在System Generator建立硬件仿真模型,电机的仿真模块如图3所示,包括park变换模块、电流电压关系模块、反park变换模块、转矩方程模块、运动方程模块。
图3 SG建立的电机硬件仿真模型
因为System Generator模块库中的正余弦模块CORDIC SINCOS在对角度进行正余弦计算时,只对[-π/2,π/2]区间内的角度具有收敛性,所以本文采用一种改进的CORDIC算法对角度的正余弦值进行计算。CORDIC算法可以在硬件平台上通过移位和加法运算,实现较为复杂的正余弦计算。改进的CORDIC算法系统如图4所示,包括求余模块、角度旋转映射模块、迭代模块和余弦符号修正模块。
图4 改进的CORDIC算法系统
首先将电机旋转角度θ通过求余的方式转换到[0,2π]区间内得到θ′,再通过角度映射模块将θ′映射到[-π/2,π/2]区间内,按照传统的CORDIC算法进行迭代得到正余弦的值。若θ′的角度值在[π/2,3/2π]内,则余弦符号修正模块输出值为1,输出余弦值为负;否则余弦符号修正模块输出值为0,输出余弦值为正。SG建立CORDIC算法硬件仿真模型如图5所示。
图5 SG建立改进CORDIC算法硬件仿真模型
据前述的三相逆变器数学公式,在System Generator中搭建硬件仿真模型。将SG建立的仿真模型与Simulink自带电气模型进行仿真对比,设置电机参数磁极对数n=4,定子电阻Rs=2.875 Ω,d-q轴电感Ld=Lq=0.008 5 H,永磁体磁链为0.175 Wb,转动惯量J=0.003 kg·m2,阻尼系数B=0.008,直流侧电压为311 V,负载转矩TL=0。
对2种模型加上同一正弦PWM信号,观测电机定子A相电流isa与电机的转速ωm运行情况,可以得到仿真结果对比如图6所示。
图6 电机定子A相电流和转速对比
由仿真结果可知,System Generator搭建的电机驱动系统模型与Simulink模型对比误差较小,证明该建模方法可以较好地模拟电机运行的特性。
实时仿真平台如图7所示,将上述建好的System Generator模型,转换成Verilog文件,将模型文件添加到工程文件中,与通讯模块等相连接形成完整的文件,并生成Bit文件后,通过LabVIEW上位机将工程文件下载到仿真平台,将仿真平台与实际控制器进行连接,由外部控制器发送载波频率为40 kHz,三相调制波频率为50 Hz的正弦PWM波,观测LabVIEW虚拟示波界面结果如图8所示,示波界面选择观测PMSM机端A相电流,即拓扑图8中I1的电流波形。
图7 实时仿真平台
图8 电机驱动系统实时仿真系统LabVIEW界面
本文介绍了一种PMSM驱动系统建模及其在硬件在环实时仿真平台的实现方法。运用传统d-q轴模型对PMSM进行数学建模,采用理想开关建模方法对驱动逆变器进行数学建模。借助Simulink集成工具箱中的Xilinx系列独有的System Generator模块,实现硬件电路建模,并在以Xilinx公司的ZYNQ AX7020型号FPGA开发板及LabVIEW软件为基础的自研发实时仿真平台进行仿真验证,仿真步长为250 ns,结果表明仿真精度较高,该方法可以满足实时仿真的需求。电机模型及其实时仿真平台在后续研究中还需要继续完善,进一步提高仿真模型的精度,使得仿真结果进一步贴近实际电机的运行工况。