一种基于fpga的简化svpwm算法的实现方法

文档序号:1689333 发布日期:2020-01-03 浏览:23次 >En<

阅读说明:本技术 一种基于fpga的简化svpwm算法的实现方法 (FPGA-based simplified SVPWM algorithm realization method ) 是由 勾金雷 田晓华 *** 于 2019-10-22 设计创作,主要内容包括:一种基于FPGA的简化SVPWM算法的实现方法,涉及逆变器控制技术领域。本发明为了解决采用传统SVPWM算法利用FPGA实现时存在运算过程计算量较大、占用大量逻辑单元、运算速度较低的问题。定义两电平三相电压源逆变器电路逆变电路,简化SVPWM算法扇区判断条件,简化SVPWM算法相邻矢量作用时间。本发明方法运算过程计算量较小,不会占用大量逻辑单元,运算速度较高。使用简化SVPWM算法,直接用三相电压进行扇区判断,并计算相邻矢量作用时间。本发明通过modelsim仿真验证了其可行性。(A simplified SVPWM algorithm realization method based on FPGA relates to the technical field of inverter control. The invention aims to solve the problems of large calculation amount, large occupation of a large number of logic units and low operation speed in the operation process when the traditional SVPWM algorithm is realized by utilizing the FPGA. And an inverter circuit of the two-level three-phase voltage source inverter circuit is defined, the sector judgment condition of the SVPWM algorithm is simplified, and the action time of adjacent vectors of the SVPWM algorithm is simplified. The method has the advantages of small calculation amount in the operation process, no occupation of a large number of logic units and high operation speed. And (3) directly judging the sector by using the three-phase voltage by using a simplified SVPWM algorithm, and calculating the action time of adjacent vectors. The feasibility of the invention is verified through modelsim simulation.)

一种基于FPGA的简化SVPWM算法的实现方法

技术领域

本发明涉及一种简化SVPWM算法的实现方法,涉及逆变器控制技术领域。

背景技术

随着电力电子技术不断革新,永磁同步电机(PMSM)因其体积小、性能好、结构简单、可靠性高、输出转矩大等特点,在电动汽车、船舶、机器人、航空航天等对电机性能、控制精度要求较高的产业受到广泛关注。

在PMSM调速系统当中,逆变器技术是系统稳定运行的重要因素,逆变器效率会直接影响调速系统的稳定。PMSM逆变器有两种主要的调制方法:正弦脉宽调制(SPWM)、空间矢量脉宽调制(SVPWM)。SVPWM的控制思想,主要是采用了逆变器空间电压矢量切换技术,从而得到圆形旋转磁场,在不高的开关频率条件之下,使电机得到的控制性能要比传统的SPWM算法更好。

如今PMSM控制方案改进的核心是控制态片处理数据的快速性、准确性、系统的可扩展性等方面。由于FPGA(现场可编辑门阵列)强大的数据并行处理能力,大量的输入/输出端口,开发的便利性,以及程序的更高的可移植性,因此,以FPGA为控制芯片的电机控制技术开始成为研究热点。如果要用FPGA实现上述传统SVPWM算法,算法中需要进行大量的三角函数运算来求出合成电压矢量角度θ,运算过程计算量较大,会占用大量逻辑单元,降低运算速度。

发明内容

本发明要解决的技术问题:

本发明为了解决采用传统SVPWM算法利用FPGA实现时存在运算过程计算量较大、占用大量逻辑单元、运算速度较低的问题,进而提供了一种基于FPGA的简化SVPWM算法的实现方法。

本发明解决上述技术问题所采用的技术方案为:

一种基于FPGA的简化SVPWM算法的实现方法,所述方法的具体过程为:

步骤一、定义两电平三相电压源逆变器电路逆变电路

定义6个开关量Sa、Sb、Sc、Sa′、Sb′、Sc′,表示逆变器中六个功率开关器件的开断;前三个参数是上桥臂开关量,代表0或1,0代表关断,1代表开启;后三个参数是下桥臂开关量,代表0或1,0代表关断,1代表开启;

当上桥臂的开关器件导通时,Sa、Sb、Sc为1,其下桥臂的开关器件关断,即Sa′、Sb′、Sc′为0;反之,当Sa、Sb、Sc为0时,下桥臂的开关器件开通,即Sa′、Sb′、Sc′为1;逆变器同一桥臂中的开关器件不会发生同时开通或关断的情况,逆变器一共就拥有8种开关状态组合;

交流侧相电压与开关函数之间关系为:

Figure BDA0002242825550000021

式中:Udc表示直流母线电压;sa、sb、sc表示三个上桥臂开关量;VAN、VBN、VCN表示交流侧相电压(三个参数都表示交流侧相电压,物理含义是一样的,只不过需要三个量区分开来);

对于不同的开关状态组合可得到8个基本电压空间矢量,逆变器的8种开关模式就对应8个电压空间矢量,各矢量为:

将(2)式进行简化,如(3)式:

Figure BDA0002242825550000023

将逆变器每个开关状态所对应的输出相电压代人(3)式,则电压源型逆变器能够输出的电压空间矢量共有8个,分别命名为V0(000),V1(001),V2(010),V3(011),V4(100),V5(101),V6(110),V7(111);其中V0(000)、V7(111)所对应的输出电压为零,称其为零矢量;其余6个所对应的输出电压不为零,称其为有效矢量;有效矢量的幅值均为2Udc/3;j代表虚部;

6个有效矢量相互之间的夹角为60°,将整个平面分成6个扇区;SVPWM通过这八个空间矢量去等效参考电压空间矢量Uout,进而在电动机空间形成圆形旋转磁场;

步骤二、简化SVPWM算法扇区判断条件

为方便计算简化(3)式得:

Figure BDA0002242825550000031

由欧拉公式对(6)式进行变换为:

Figure BDA0002242825550000032

由式(7)可知

Figure BDA0002242825550000033

步骤三、简化SVPWM算法相邻矢量作用时间。

在步骤一中,

当扇区Ⅰ为(0-60度)时,为了使相邻两矢量V4、V6合成电压矢量等效于Uout,根据平均值等原则,可得到下式:

V4T4+V6T6=VoutTs (4)

其中,Ts为采样周期,T4为空间电压矢量V4的作用时间,T6为空间电压矢量V6的作用时间,SVPWM的关键在于扇区的判断和相邻矢量作用时间的求取。

在步骤二中,

设Uout处于第一扇区,有Uα、Uβ数学关系式为:

Figure BDA0002242825550000034

整理可得:

UA-UB>0;UB-UC>0

同理可得其他五个扇区的三相电压差大小关系,并且定义三个变量A、B、C,通过上述分析得出如下结果:

若UA-UB>0,则有A=1,否则A=0;

若UB-UC>0,则有B=1,否则B=0;

若UC-UA>0,则有C=1,否则C=0;

定义N=A+2B+4C,利用上述判断方法得到扇区判断条件,如表1所示,通过表1中扇区判断条件,可得到Uout所在扇区。

表1扇区判断条件

在步骤三中,简化SVPWM算法相邻矢量作用时间的具体过程为:

设Uout处于第一扇区,此时N为3,可得出:

Figure BDA0002242825550000042

式中|U4|与|U6|代表相邻矢量基本电压的大小。

通过简单计算,式(10)可变为

Figure BDA0002242825550000043

将式(8)代入式(11)中,得如下公式

Figure BDA0002242825550000051

由上式可知,每一扇区相邻矢量作用时间只与三相电压差、开关周期和直流母线电压有关,用此种方法可以同理求得其他五个扇区的相邻矢量作用时间表达式,作用时间如表2所示,

表2相邻矢量作用时间

本发明具有以下有益技术效果:本发明采用了一种较为简单的过程,直接用三相电压差值的大小来进行扇区判断和相邻矢量的作用时间计算,从而实现了基于FPGA的简化SVPWM算法。如果要用FPGA实现上述传统SVPWM算法,算法中需要进行大量的三角函数运算来求出合成电压矢量角度θ,运算过程计算量较大,会占用大量逻辑单元,降低运算速度。而本发明方法运算过程计算量较小,不会占用大量逻辑单元,运算速度较高。针对PMSM的空间矢量脉宽调制(SVPWM)模块利用上述所说简化算法进行modelsim软件仿真,证明了该算法(简化SVPWM算法)在FPGA上实现的可行性。PMSM(永磁同步电机)的传统SVPWM(空间矢量脉宽调制)算法中因为其中存在大量三角函数变换,所以用FPGA实现起来比较困难,因此使用简化SVPWM算法,直接用三相电压进行扇区判断,并计算相邻矢量作用时间。本发明通过modelsim仿真验证了其可行性。

附图说明

图1为两电平三相电压源逆变器的原理图,图2为SVPWM基本电压空间矢量及扇区图(图2展示了这八个电压空间矢量在电动机定子三相绕组的轴线所组成的三相静止坐标系中的分布情况),图3为SVPWM结构框图,图4为简化SVPWM算法各个模块框图(图的逻辑结构是本发明提出的,而代码是依据逻辑结构进行编写的),图5为扇区判断状态转换图,图6为X、Y、Z作用时间状态转换图,图7为作用时间选择状态转换图,图8为过调制状态转换图,图9为PWM波形S_A、S_a状态转换图,图10为PWM波形S_B、S_b状态转换图,图11为PWM波形S_C、S_c状态转换图,图12为modelsim仿真波形图,图13为modelsim仿真波形导出图。

图5到图11表示的都是状态转换图,代码根据对应的状态转换图进行编写,说明了各个模块从一个状态到下一个状态所需要条件和转换后结果,图上的代码为伪代码。

附图中的代码用于状态转换,是实现本发明的一种方式而已。

具体实施方式

下面结合附图1至13,阐述本发明的实现过程:

1、SVPWM算法基本原理SVPWM的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通圆,并由两者的比较结果来决定逆变器的开关状态,从而形成PWM波形。典型的两电平三相电压源逆变器电路逆变电路如图1所示。

其定义6个开关量Sa、Sb、Sc、Sa′、Sb′、Sc′,表示为逆变器中6个功率开关器件的开断。当上桥臂的开关器件导通时,Sa、Sb、Sc为1,其下桥臂的开关器件关断,即Sa′、Sb′、Sc′为0;反之,当Sa、Sb、Sc为0时,下桥臂的开关器件开通,即Sa′、Sb′、Sc′为1。因为逆变器同一桥臂中的开关器件不会发生同时开通或关断的情况,所以逆变器一共就拥有8种开关状态组合。

交流侧相电压与开关函数之间关系为:

Figure BDA0002242825550000061

式中:

Udc——直流母线电压;

sa、sb、sc——上桥臂开关量;

VAN、VBN、VCN——交流侧相电压。

对于不同的开关状态组合可以得到8个基本电压空间矢量,这样逆变器的8种开关模式就对应8个电压空间矢量,各矢量为:

Figure BDA0002242825550000071

为了方便与分析对(2)式进行简化为(3)式:

Figure BDA0002242825550000072

将逆变器每个开关状态所对应的输出相电压代人(3)式,则电压源型逆变器能够输出的电压空间矢量共有8个,分别命名为V0(000),V1(001),V2(010),V3(011),V4(100),V5(101),V6(110),V7(111)。其中V0(000),V7(111)所对应的输出电压为零,称其为零矢量。其余6个所对应的输出电压不为零,称其为有效矢量。可以证明,有效矢量的幅值均为2Udc/3。图2展示了这八个电压空间矢量在电动机定子三相绕组的轴线所组成的三相静止坐标系中的分布情况。

6个有效矢量相互之间的夹角为60°,将整个平面分成6个扇区。SVPWM就是通过这八个空间矢量去等效参考电压空间矢量Uout,进而在电动机空间形成圆形旋转磁场。以扇区Ⅰ(0-60度)为例,为了使相邻两矢量V4、V6合成电压矢量等效于Uout,根据平均值等原则,可以得到下式:

V4T4+V6T6=VoutTs (4)

其中,Ts为采样周期,T4为空间电压矢量V4的作用时间,T6为空间电压矢量V6的作用时间。由此可见,SVPWM的关键在于扇区的判断和相邻矢量作用时间的求取。传统的方法是将三相相电压进行3/2变换或利用正余弦三角函数获得参考空间电压矢量的α,β轴分量Vα、Vβ,然后通过反正切函数进行扇区判断,通过(5)式计算相邻矢量的作用时间。

Figure BDA0002242825550000081

可以看到,传统的SVPWM算法计算过程会经过较多的三角函数运算,算法复杂,如果选用FPGA实现其算法,会占用大量资源,降低运算速度,运算精度也会受到影响。

2、简化SVPWM算法扇区判断条件

为了方便计算简化(3)式得:

Figure BDA0002242825550000082

由欧拉公式对(6)式进行变换为:

由式(7)可知

Figure BDA0002242825550000084

以Uout处于第一扇区为例,有Uα、Uβ数学关系式为:

Figure BDA0002242825550000085

整理可得:

UA-UB>0;UB-UC>0

同理可得其他五个扇区的三相电压差大小关系,并且定义三个变量A、B、C,通过上述分析得出如下结果:

若UA-UB>0,则有A=1,否则A=0;

若UB-UC>0,则有B=1,否则B=0;

若UC-UA>0,则有C=1,否则C=0;

定义N=A+2B+4C,利用上述判断方法得到扇区判断条件,如表1所示,通过表1中扇区判断条件,可得到Uout所在扇区。

表1扇区判断条件

3、简化SVPWM算法相邻矢量作用时间

以Uout处于第一扇区为例,此时N为3,由图2可得出:

Figure BDA0002242825550000092

式中|U4|与|U6|代表相邻矢量基本电压的大小。

通过简单计算,式(10)可变为

Figure BDA0002242825550000093

将式(8)代入式(11)中,得如下公式

Figure BDA0002242825550000101

由上式可知,每一扇区相邻矢量作用时间只与三相电压差、开关周期和直流母线电压有关,用此种方法可以同理求得其他五个扇区的相邻矢量作用时间表达式,作用时间如表2所示。

表2相邻矢量作用时间

Figure BDA0002242825550000102

4、简化SVPWM算法的modelsim仿真

SVPWM模块通过三个电压矢量,计算出所处扇区,和作用时间,利用所得结果依次计算出相邻矢量持续时间计算,过调制计算,死区***和PWM发生器的FSM。SVPWM的结构如图3所示。图4为modelsim仿真bdf图所示,通过三个模块ROM_CTR、COS_ROM、Serial_Paralell产生三相电压,三项电压作用于后面模块,最后产生PWM波形。图5为计算扇区的状态转换图。空间电压矢量所处的扇区与三相电压UA、UB、UC相关,通过此状态转换图清晰直观地得到空间电压矢量与三相电压关系。图6为作用时间计算的状态转换图。由上述推导可知,扇区的相邻矢量作用时间与UA、UB、UC相关,通过下面状态装换图转换条件可得到结果。图7为作用时间选择的状态转换图。由于真正的的作用时间还取决于空间矢量所处扇区,利用所处扇区的条件即可判断出具体的作用时间。图8为过调制状态转换图。为了避免一个扇区的一个矢量作用时间或一个扇区的相邻矢量作用时间小于Tpwm,要对作用时间进行过调制处理。图9为PWM波形S_A、S_a状态转换图;图10为PWM波形S_B、S_b状态转换图;图11为PWM波形S_C、S_c状态转换图。PWM发生器FSM由所处扇区和所处扇区时相邻矢量所用时间控制,图12和图13为modelsim仿真波形图截图和导出图片,由于SA1和Sa0;SB1和Sb0;SC1和Sc0互为逆变器上下桥,其导通和关闭应该是正好相反,由于考虑了电机的死区效应,上下桥臂的开启和关闭应该是有一个时间延迟的,而不是同时的。

本发明先对简化SVPWM算法进行推导,然后采用Verilog HDL对简化的SVPWM算法进行编程,各个模块均采用Verilog HDL硬件描述语言全数字实现,采用自顶向下的模块化分区设计,每个模块的状态转换图全部给出,同时使用modelsim对其进行仿真,为使用FPGA硬件的实现提供依据。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多能互补的海上能源集成发电系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!