1. 引言
随着电机传动以及信息处理技术的发展,PMSM的控制技术取得显著进步,在电动车、航天航空、船舶推动等领域得到广泛应用[1]。近年来,随着对电机驱动系统可靠性和功率密度的要求不断提高,多相电机因具有大功率和可容错运行等特点成为研究热点。相较于传统的三相电机,多相电机的优势体现在以下几点[2]:利用小功率开关器件即可实现大功率输出,从而降低成本;多相电机运行时转矩脉动小,转矩输出更加稳定;系统容错能力加强,提高整体的可靠性。
双三相电机的电流矢量控制是四维的,意味着要同时在两个相互独立又存在关联的子平面(比如常见的α-β和x-y子平面)去构建和调节电流矢量[3]。每个子平面都有对应的参考矢量需要合成,这不像普通三相电机只聚焦一个平面即可。比如在α-β平面合成参考矢量时,需要考虑该平面内不同电压矢量的大小、方向以及作用时间等因素来准确合成期望矢量;而与此同时,在x-y平面同样要进行这样一系列操作,并且两个平面的矢量合成还相互影响、相互制约。为了实现四矢量SVPWM算法在双三相电机四维电流控制中的应用,需要配备性能更强的控制器来满足复杂计算的需求,这会增加硬件成本。目前已有多篇文献进行了分析,例如,文献[4]对双三相感应电机驱动器的不同数字脉宽调制(PWM)技术进行完整分析和比较研究。考虑了六种不同的数字PWM策略,确保电流谐波最小化;文献[5]提出了一种基于零序信号注入的载波型多相逆变器PWM控制方法,该方法通过在正弦参考波中叠加一定的零序分量来改善PWM波的特性,实现了在五相电机中与高性能SVPWM同样的控制性能。
基于此本文主要开展以下研究,首先分析双三相永磁同步电机的数学模型和矢量空间变换理论,构建双三相电压源逆变器的空间电压矢量和开关状态,然后分别基于双三相解耦PWM和双零序注入算法,完成在FPGA中算法的部署,最后根据实验结果确保两种算法的优越性和可靠性。
2. 双三相永磁同步电机的数学模型
2.1. 数学模型和矢量空间变换
由六相电压源逆变器供电的系统如图1所示,双三相永磁同步电机驱动器具有两组空间偏移为30˚电度的三相定子绕组,可以实现六次谐波转矩脉动的消除:
Figure 1. Dual-three phase PMSM drive system
图1. 双三相永磁同步电机驱动系统
图1中SA1、SB1、SC1、SU1、SV1、SW1分别为双三相逆变器中对应的上桥臂开关管,SA2、SB2、SC2、SU2、SV2、SW2则为下桥臂开关管。将三相电机的Clarke变换理论推广到多相电中,可以得到多相电机Clarke 变换阵[6],将其表示如(1)所示:
(1)
式中δ = 2Π/n,本文中m = (n − 2)/2;当δ = 30˚时,式中2δ、4δ以及最后两行相对应的变换计算结果为零,再将其按照δ、3δ、5δ (相互正交)的顺序进行重新排列,若采用功率不变约束,由此推导出移相30˚双三相电机的将自然坐标系转换到静止坐标系和将静止坐标系转换到同步旋转坐标系下的矢量空间变换矩阵[5] (Vector Space Decomposition) Tαβ和Tdq。
(2)
(3)
由此经过VSD坐标变换后得到双三相电机的数学模型,其在α-β和x-y子空间的定子电压方程,如(4)所示:
(4)
其中ωe表示电机的电角速度,Rs为相电阻,Ld = Lq = Ls为相电感,Lz为漏感,ψf表示永磁体磁链,θe表示电角度,p为微分算子。
2.2. 空间电压矢量
本节将从双三相逆变器拓扑结构及调制算法两方面来分析双三相PMSM的SVPWM调制技术。图1中假设N1与N2分别为两套绕组ABC与UVW的中性点。定义一个开关函数Sx代表同一桥臂上下两管的开关状态。例如,当SA = 1时,代表A相上管导通,当SA = 0时,A相下管导通。将六相绕组的开关状态按顺序组合,可以得到一个六位二进制数,再将其转换为十进制数,用以表示逆变器的开关状态。例如,ABCDEF = 111,000表示为V70。由于每相只存在两种开关状态,因此共有26 = 64种开关模式,也就是64种电压矢量。其中,使逆变器输出电压为零的电压矢量V00、V70、V07、V77被称为零矢量。不同的电压矢量在α-β子空间和x-y子空间中可以表示为:
(5)
由此,可以得出电压矢量在两个子空间内的分布,如图2所示。
3. 双三相解耦的PWM算法实现
3.1. 实现原理
在多相逆变器系统中[7],尤其是六相逆变器,其电压矢量的控制相对复杂。双三相解耦PWM算法具有独特的优势,它能够有效地实现对双三相电机的解耦控制,提高系统的控制精度和稳定性。具体来说,它把六相逆变器的电压矢量分解为两个相差30˚的三相逆变器电压矢量。这样的分解使得原本复杂的六相系统转化为两个相对独立且较为熟悉的三相系统。其实现原理如图3所示。
3.2. FPGA仿真与分析
本文在Xilinx公司提供的EDA工具vivado2019上进行了行为级仿真。其RTL如图4所示,篇幅有限,图中SVPWM的输入ualpha、ubeta、ux、uy为经过VSD变换后的电压,模块的输出为作用在六相逆变器上的开关信号。
Figure 2. Space voltage vector diagram of a dual three-phase voltage source inverter
图2. 双三相电压源逆变器的空间电压矢量图
Figure 3. Dual-Three-Phase decoupled PWM algorithm
图3. 双三相解耦的PWM算法
Figure 4. RTL view of the algorithm
图4. 算法RTL视图
各模块具体实现方式如图5所示,主要分为扇区判断、相邻矢量作用时间计算、占空比计算、载波生成和PWM信号生成等部分组成,其中扇区判断:能够明确当前参考电压矢量所在的位置,帮助确定使用哪几个基本电压矢量以及它们的作用顺序,从而有效地合成所需的输出电压,以驱动电机按照期望的方式运行,同时,有助于减少输出电压的谐波含量;相邻矢量作用时间计算:通过计算相邻矢量的作用时间,可以按照一定的比例组合基本电压矢量,从而合成与给定的参考电压矢量等效的电压矢量,能够有效控制电机的磁通和转矩;占空比计算和载波生成模块:通过占空比的计算,可以将数字控制信号转换为模拟等效信号,它与调制信号(占空比计算的结果)相互作用生成PWM信号。
Figure 5. RTL partial diagram
图5. RTL算法局部图
其计算结果如图6所示,在图中测量5个周期的时钟大约是8,190,180纳秒,即单个周期为1,638,036纳秒,而A相和U相电压相位差为136,500纳秒,符合理论分析中的相差30˚电角度,从而验证了双三相永磁同步电机解耦的PWM算法的正确性。
Figure 6. Simulation results
图6. 仿真结果
4. 基于双零序信号注入的PWM算法
4.1. 实现原理
经过PI控制器后ud、uq、ux、uy利用VSD逆变换至六相坐标系后,可采用双零序注入PWM算法[8] [9],其核心在与对两个平面的零序分量进行提取,本文采用均值的方式进行提取,其实现方式如式(6)所示:
(6)
其中符号>>>1,在FPGA中表示除以2,函数fmax( )和fmin( )主要作用为提取参考电压中的最大和最小值,由此,其实现原理如图7所示:
Figure 7. Implementation principle of dual Zero-Sequence injection
图7. 双零序注入算法实现原理
4.2. FPGA仿真与分析
根据图7和式(6)可将其在FPGA 中实现,其RTL如图8所示,图8中SVPWM的输入ualpha、ubeta、ux、ualpha为经过
变换后的电压,另外将
分解为VSD1和VSD2,同时将式(6)一并写入该模块,即可完成零序电压的提取,最后,Dual_Injection_SVPWM模块主要负责加减运算和输出结果,整体而言,比较双三相解耦的PWM算法显然方便很多。
Figure 8. RTL view of the algorithm
图8. 算法RTL视图
其计算结果如图9所示,Zero_ABC和Zero_UVW分别为两个子平面的零序分量,在图中测量出5个周期的时钟大约是8,190,730纳秒,即单个周期为1,638,146纳秒,而A相和U相电压相位差为136,510纳秒,符合理论分析中的相差30˚电角度,从而验证了双三相系统中基于双零序注入的SVPWM的正确性。
Figure 9. Simulation results
图9. 仿真结果
5. 结论
本文根据标贴式相移30˚双三相永磁同步电机分析多相电机的数学模型和相应矢量空间变换理论,在此基础上,构建了电机分别在α-β、x-y子空间的电压矢量图和对应的开关状态,它们分别代表了电机不同的运行特性和控制维度。通过构建电压矢量图,我们能够直观地了解电机在不同子空间中的电压分布和变化规律,为控制策略的设计提供重要的参考依据。接着,分析关于四矢量的SVPWM控制的缺点,最后,基于双三相解耦的PWM和双零序注入PWM的理论分析,完成在中算法的部署。最终,通过本文分析和实验结果表明,基于FPGA的双三相解耦的PWM和双零序注入PWM算法,实现了与高性能SVPWM同样的控制性能,并且在节约资源、运算速度、移植性等方面明显优于传统数字信号处理器或微控制器,实现效果上达到较为理想的状态,验证了这两种算法的优越性和可靠性,对实际工程应用具有一定参考价值。