基于FPGA的双三相永磁同步电机电压源逆变器PWM算法
PWM Algorithm for Voltage Source Inverter of Dual Three-Phase Permanent Magnet Synchronous Motor Based on FPGA
摘要: 随着永磁同步电机的多相化发展,电压源型逆变器的脉冲宽度调制(PWM)算法也需扩展至相应的多相PWM算法体系中。目前,常用的双三相型电压源逆变算法主要包括载波型PWM和空间矢量脉宽调制(SVPWM)等。在传统的电机控制算法中,SVPWM通常在数字信号处理器(DSP)或微控制器(MCU)中实现。然而,这类串行执行的处理器虽然对于一些对成本敏感、控制精度要求并非极高的电机控制应用场景是较为合适的选择,但在一些高性能控制场合或特殊应用领域,却会限制算法性能的提升。鉴于此,本文采用现场可编程门阵列(FPGA)来实现双三相永磁同步电机电压源逆变器PWM算法,以充分发挥FPGA高度的并行性优势和良好的移植性。
Abstract: With the development of multiphase of permanent magnet synchronous motors, the pulse width modulation (PWM) algorithm of voltage source inverter also needs to be extended to the corres- ponding multiphase PWM algorithm system. At present, the commonly used dual-three-phase voltage source inverter algorithms mainly include carrier-based PWM and space vector pulse-width modulation (SVPWM). In traditional motor control algorithms, SVPWM is typically implemented in a digital signal processor (DSP) or microcontroller (MCU). However, although this kind of serial execution processor is a more suitable choice for some motor control application scenarios that are sensitive to cost and do not require extremely high control accuracy, it will limit the improvement of algorithm performance in some high-performance control occasions or special application fields. In view of this, a field-programmable gate array (FPGA) is used to implement the PWM algorithm of the voltage source inverter of the dual three-phase permanent magnet synchronous motor to give full play to the advantages of FPGA’s high parallelism and good portability.
文章引用:黄玉涌. 基于FPGA的双三相永磁同步电机电压源逆变器PWM算法[J]. 建模与仿真, 2025, 14(1): 765-773. https://doi.org/10.12677/mos.2025.141071

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. 双三相永磁同步电机驱动系统

图1SA1SB1SC1SU1SV1SW1分别为双三相逆变器中对应的上桥臂开关管,SA2SB2SC2SU2SV2SW2则为下桥臂开关管。将三相电机的Clarke变换理论推广到多相电中,可以得到多相电机Clarke 变换阵[6],将其表示如(1)所示:

T n = 2 n [ 1 cosδ cos2δ cos( n1 )δ 0 sinδ sin2δ sin( n1 )δ 1 cosmδ cos( 2mδ ) cos( ( n1 )mδ ) 0 sinmδ sin( 2mδ ) sin( ( n1 )mδ ) 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 ] (1)

式中δ = 2Π/n,本文中m = (n − 2)/2;当δ = 30˚时,式中2δ、4δ以及最后两行相对应的变换计算结果为零,再将其按照δ、3δ、5δ (相互正交)的顺序进行重新排列,若采用功率不变约束,由此推导出移相30˚双三相电机的将自然坐标系转换到静止坐标系和将静止坐标系转换到同步旋转坐标系下的矢量空间变换矩阵[5] (Vector Space Decomposition) TαβTdq

T αβ = 1 3 [ 1 1 2 1 2 3 2 3 2 0 0 3 2 3 2 1 2 1 2 1 1 1 2 1 2 3 2 3 2 0 0 3 2 3 2 1 2 1 2 1 1 1 1 0 0 0 0 0 0 1 1 1 ] (2)

T dq =[ cos θ e sin θ e 0 0 sin θ e cos θ e 0 0 0 0 cos θ e sin θ e 0 0 sin θ e cos θ e ] (3)

由此经过VSD坐标变换后得到双三相电机的数学模型,其在α-βx-y子空间的定子电压方程,如(4)所示:

{ u α =( R s +p L s ) i α + e α u β =( R s +p L s ) i β + e β u x =( R s +p L z ) i x u y =( R s +p L z ) i y e α = ψ f ω e sin θ e e β = ψ f ω e cos θ e (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种电压矢量。其中,使逆变器输出电压为零的电压矢量V00V70V07V77被称为零矢量。不同的电压矢量在α-β子空间和x-y子空间中可以表示为:

{ u α-β = 1 3 V dc ( S A e j0˚ + S B e j120˚ + S C e j240˚ + S U e j30˚ + S V e j150˚ + S W e j270˚ ) u x-y = 1 3 V dc ( S A e j0˚ + S B e j240˚ + S C e j120˚ + S U e j150˚ + S V e j30˚ + S W e j270˚ ) (5)

由此,可以得出电压矢量在两个子空间内的分布,如图2所示。

3. 双三相解耦的PWM算法实现

3.1. 实现原理

在多相逆变器系统中[7],尤其是六相逆变器,其电压矢量的控制相对复杂。双三相解耦PWM算法具有独特的优势,它能够有效地实现对双三相电机的解耦控制,提高系统的控制精度和稳定性。具体来说,它把六相逆变器的电压矢量分解为两个相差30˚的三相逆变器电压矢量。这样的分解使得原本复杂的六相系统转化为两个相对独立且较为熟悉的三相系统。其实现原理如图3所示。

3.2. FPGA仿真与分析

本文在Xilinx公司提供的EDA工具vivado2019上进行了行为级仿真。其RTL如图4所示,篇幅有限,图中SVPWM的输入ualphaubetauxuy为经过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控制器后uduquxuy利用VSD逆变换至六相坐标系后,可采用双零序注入PWM算法[8] [9],其核心在与对两个平面的零序分量进行提取,本文采用均值的方式进行提取,其实现方式如式(6)所示:

{ u α-β = f max ( u A , u B , u C )>>>1+ f min ( u A , u B , u C )>>>1 u x-y = f max ( u U , u V , u W )>>>1+ f min ( u U , u V , u W )>>>1 (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的输入ualphaubetauxualpha为经过 T dq 1 变换后的电压,另外将 T αβ 1 分解为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同样的控制性能,并且在节约资源、运算速度、移植性等方面明显优于传统数字信号处理器或微控制器,实现效果上达到较为理想的状态,验证了这两种算法的优越性和可靠性,对实际工程应用具有一定参考价值。

参考文献

[1] 刘自程, 李永东, 郑泽东. 多相电机控制驱动技术研究综述[J]. 电工技术学报, 2017, 32(24): 17-29.
[2] Singh, G.K. (2002) Multi-Phase Induction Machine Drive Research—A Survey. Electric Power Systems Research, 61, 139-147.
https://doi.org/10.1016/s0378-7796(02)00007-x
[3] 孟超. 双三相永磁同步电机驱动系统的研究[D]: [博士学位论文]. 长沙: 湖南大学, 2012.
[4] Bojoi, R., Tenconi, A., Profumo, F., Griva, G. and Martinello, D. (2002) Complete Analysis and Comparative Study of Digital Modulation Techniques for Dual Three-Phase AC Motor Drives. 2002 IEEE 33rd Annual IEEE Power Electronics Specialists Conference. Proceedings, Vol. 2, 851-857.
https://doi.org/10.1109/psec.2002.1022560
[5] 于飞, 张晓锋, 乔鸣忠. 基于零序信号注入的载波型多相PWM控制技术[J]. 电工技术学报, 2009, 24(2): 127-131.
[6] Zhao, Y. and Lipo, T.A. (1994) Space Vector PWM Control of Dual Three Phase Induction Machine Using Vector Space Decomposition. Proceedings of 1994 IEEE Industry Applications Society Annual Meeting, Denver, Vol. 1, 742-749.
[7] 周长攀. 双三相永磁同步电机驱动及容错控制技术研究[D]: [博士学位论文]. 哈尔滨: 哈尔滨工业大学, 2016.
[8] Prieto, J., Levi, E., Barrero, F. and Toral, S. (2011) Output Current Ripple Analysis for Asymmetrical Six-Phase Drives Using Double Zero-Sequence Injection PWM. IECON 2011—37th Annual Conference of the IEEE Industrial Electronics Society, Melbourne, 7-10 November 2011, 3692-3697.
https://doi.org/10.1109/iecon.2011.6119909
[9] Boglietti, A., Bojoi, R., Cavagnino, A. and Tenconi, A. (2008) Efficiency Analysis of PWM Inverter Fed Three-Phase and Dual Three-Phase High Frequency Induction Machines for Low/Medium Power Applications. IEEE Transactions on Industrial Electronics, 55, 2015-2023.
https://doi.org/10.1109/tie.2008.918489