基于FPGA的SVPWM算法的实现毕业论文.doc

上传人:来看看 文档编号:3920187 上传时间:2019-10-10 格式:DOC 页数:27 大小:1.97MB
返回 下载 相关 举报
基于FPGA的SVPWM算法的实现毕业论文.doc_第1页
第1页 / 共27页
基于FPGA的SVPWM算法的实现毕业论文.doc_第2页
第2页 / 共27页
基于FPGA的SVPWM算法的实现毕业论文.doc_第3页
第3页 / 共27页
基于FPGA的SVPWM算法的实现毕业论文.doc_第4页
第4页 / 共27页
基于FPGA的SVPWM算法的实现毕业论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《基于FPGA的SVPWM算法的实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于FPGA的SVPWM算法的实现毕业论文.doc(27页珍藏版)》请在三一文库上搜索。

1、基于FPGA的SVPWM算法的实现摘 要:为了数字实现SVPWM的算法,文中采用了以FPGA作为硬件基础,给出了基于FPGA的SVPWM算法的具体算法以及软件设计。文中使用Verilog HDL编写FPGA程序,采用语句和图形编辑相结合的方式进行编程以达到程序结构清晰的目的。程序采用Mealy型状态机的程序结构,以达到增加硬件资源的利用率,结构清晰,便于数字设计的目的。其中,软件通过了Modelsim Altera进行仿真,给出了其相关的仿真波形图以说明其无误。文中使用Storm FPGA开发板对软件进行验证,其中开发板的核心芯片为Altera 公司生产的EP3C10E144C8这款FPGA芯

2、片,使用了RC滤波电路对PWM信号进行滤波处理并且给出了输出信号的示波器波形图和借助硬件电路驱动一台三相交流电机以说明其算法实现的准确性。关键词:SVPWM;FPGA;空间矢量脉宽调制;Verilog HDLThe Realization of SVPWM Algorithm Based on FPGAAbstract: To realize digital SVPWM algorithm, this paper adopted in hardware based on FPGA, and gives the specific algorithm of SVPWM algorithm base

3、d on FPGA and the software design. FPGA program written in this paper, we use Verilog HDL, adopt the way of combining statements and graphics editing program in order to achieve the purpose of the program structure is clear. Program type with Mealy state machine structure, increase the utilization o

4、f hardware resources, in order to achieve the structure is clear, for the purpose of digital design. Among them, the software through the Modelsim Altera simulation, its related simulation waveform graph is given to illustrate its correct. In this paper, we use the Storm FPGA development threatening

5、 the software validation, in which development board of the core chip of Altera company EP3C10E144C8 the FPGA chip, using the RC filter circuit to filter the PWM signal and output signal oscilloscope waveform diagram is given to illustrate the accuracy of the algorithm.Key words: Space vector pulse

6、width modulation; SVPWM; FPGA; Verilog HDL目 录1 绪论(1)1.1 空间矢量控制技术(1)1.2 现场可编程门阵列(2)1.3 本文研究内容(3)2 空间矢量控制(4)2.1 空间矢量控制基本原理(4)2.1.1空间矢量的定义(4)2.1.2电压与磁链空间矢量的关系(5)2.1.3六拍阶梯波逆变器与正六边形空间旋转磁场(6)2.1.4 电压空间矢量的线性组合(8)2.2 空间矢量控制算法(10)2.2.1恒压频比(10)2.2.2 Clark变换(10)2.2.3 开关矢量持续时间计算(11)2.2.4 扇区判断(12)2.2.5 合成参考矢量(12

7、)3 基于FPGA的SVPWM算法的软件设计(12)3.1 运算模块(13)3.1.1 三相参考电压峰值计算模块(13)3.1.2 三相电压矢量发生模块(14)3.1.3 坐标变换模块(15)3.1.4 开关导通时间计算模块(15)3.1.5 参考矢量位置判断模块(17)3.2 PWM信号发生模块(18)3.3 死区模块(19)3.4 软件总系统(19)4 硬件与调试(20)5 总结与展望(22)致 谢(23)参考文献(24)附 录(25)基于FPGA的SVPWM算法的实现1 绪论1.1 空间矢量控制技术直流电机和交流电机在19世纪先后诞生,鉴于直流电机具有优越的调速性能,高性能的可调速场合都

8、采用直流电机,而约占所有电机总容量80%以上的不变速拖动系统则采用了交流电机,交流调速系统多种方案虽然已经早已问世,并已经投入到了实际应用当中,但是其性能却始终无法与直流调速系统相比。在早期的交直交变压变频器所输出的交流波形都是六拍阶梯波或者是矩形波,当时,只能采用半控式的可控硅来控制其导通,但是其不能控制关断,由于它的不可控性和比较低的开关频率导致了逆变器输出的波形不能近似按正弦波变化,只能按照阶梯波变化,从而会产生较大的谐波,使电机输出转矩也存在脉动的分量,影响其实际工作性能,为了提高交流电机变压变频调速系统的性能。在出现全控式电力电子开关器件后,脉宽调制(PWM)技术也相应得到了广泛的应

9、用,对交流电机的变压变频调速系统起到了很大的推动作用。在20世纪80年代出现了应用PWM技术的逆变器,由于它的优良的调速性能,如今,在国内外生产的变压变频器都已经采用了脉宽调制技术,只有在全控器件尚未能够承受的特大容量的场合才没有应用上脉宽调制技术2。脉宽调制(PWM)控制技术的原理是在采样理论中,冲量相等而形状不同的窄脉冲加在具有惯性环节上,其作用效果基本相同。其中,冲量即指窄脉冲的面积。而这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形采用傅里叶变换来分析,那么低频段的时候其输出波形是非常接近的,只在高频段范围有差异。例如图1.1所示的三个窄脉冲形状不同,其中a为矩

10、形脉冲,b为三角形脉冲,c为正弦半波脉冲,但他们的面积都相等,那么,当它们脉冲函数为d所示时即(t),环节的响应即为该环节的脉冲过度函数。我们称上述原理为面积等效原理,它就是PWM控制技术的重要理论基础1。图1.1 形状不同而冲量相同的各种窄脉冲在众多的PWM技术中,其中正弦波脉宽调制(SPWM)技术广泛应用于逆变器,而经典的正弦脉宽调制主要着眼于使变压变频器的输出电压尽量接近正弦波,并未考虑到输出电流的波形。然而交流电机需要输入三相对称正弦电流的最终目的是在电机空间中形成一个圆形的旋转磁场,从而产生恒定的电磁转矩,才能保证电机以良好的状态转动。如果我们对准这一目标,把逆变器和交流电机看成一个

11、整体,那么按照形成圆形磁场的控制要求来控制逆变器的开关工作,那么其效果应该会更好。这种控制方法叫作磁链跟踪控制,磁链的轨迹是交替使用不同的电压空间矢量通过矢量合成所得到的,所以又称“电压空间矢量PWM(SVPWM)控制”2。SVPWM控制相比于SPWM控制主要有以下优点7:(1)直流侧电压利用率相比于SPWM高出15%左右;(2)开关次数减少1/3左右;(3)能获得较好的谐波抑制等特点。其中最为主要的是第一和第二点,因为开关次数减少和电压利用率增高就相当于间接节能。但是SVPWM在算法的数字实现上较SPWM困难,主要原因是SVPWM在实现过程中,需要进行一些几何变换和运算,所以它的运算量比较大

12、,导致普通单片机已经无法满足运算要求,无法保证实时性要求,所以这里需要一种快速器件才能满足性能要求。1.2 现场可编程门阵列(FPGA)可编程逻辑器件(PLD)是20世纪70年代发展起来的一种新型的集成器件。PLD是大规模集成电路技术发展的产物,同时也是一种半定制的集成电路,结合计算机软件技术(EDA技术)可以快速、方便地构建数字系统3。不论是简单的还是复杂的数字电路系统都是由基本门构成的,如与门、或门、非门、传输门等。其中由基本门可构成两类数字电路:一类是组合电路;另一类是时序电路,含有存储元件,经过实践,人们发现在数字电路当中并不是所有的基本门都是必需的,其中,用单一的基本门与非门也可以构

13、建成其它的基本门;任何的组合逻辑都是可以通过“与或”这种逻辑关系来组合,即任何组合电路都可用门.或门这种二级电路实现;同样,任何时序电路都可以由组合电路加上存储元件(RAM、锁存器、触发器等)构成。由此,人们提出一种可编程电路结构,即乘积项逻辑可编程结构,其原理结构如图1.23。图1.2 基本PLD器件的原理结构图“与-或”结构组成的PLD器件功能比较简单,此后又从ROM的工作原理、地址信号与输出数据间的关系以及ASIC的们阵列法中获得启发,构造除了另一种可编辑的逻辑结构,即SRAM查找表的可编程逻辑构建方式。此类可编程逻辑的逻辑函数发生是采用了RAM“数据”查找方式,并使用多个查找表构成了一

14、个查找表阵列,成为可编程们阵列(PGA),随着可编程器件的规模不断扩大,随着发展FPGA也就应运而生34。现今,实现空间矢量控制主要采用的芯片是TI公司生产的DSP芯片,其独特的结构为空间矢量控制提供了一个较好的硬件平台。但是,DSP芯片实现空间矢量控制当中仍然有它的不足之处。FPGA与DSP相比有以下几个特点:(1)DSP只能产生固定6路或者12路的PWM波,FPGA只要硬件资源足够则可产生多路PWM;(2)DSP需要占用CPU资源,而FPGA以其独特的结构特点硬件实现功能;(3)纯硬件并行处理,可靠性高,速度快;(4)设计灵活,可任意定制硬件。所以,对于完成一些单一的运算过程或者功能,FP

15、GA能够在几个时钟周期内完成,实时控制上完全能够满足性能要求,在一些大型系统的应用当中,完全能担任各种固定不变的功能,在一些多微机相互配合使用的大型系统应用中,使用FPGA来完成功能还能够为其他微机节省CPU资源,所以基于FPGA的SVPWM的算法的实现具有一定的前景。1.3 本文研究内容对于现今已有的多种SVPWM的实现算法中,在保证完全能正常工作的前提下选取一种运算量较小,便于数字实现,便于FPGA实现的算法。本文所采取的算法主要是通过了前人的验证和大量资料的搜集以确保算法可行,其中所需要的算法主要有恒压频比、坐标变换、导通持续时间计算、扇区计算,PWM信号发生等,其中PWM信号发生则主要

16、采用七段式的开关模式进行矢量合成以达到减少谐波的目的。在FPGA的软件编程实现过程中,在保证性能的前提下,尽可能地提高硬件资源的利用率。由于FPGA主要是消耗硬件资源来完成各项功能,所以提高硬件资源的利用率是必要的一个环节。在各模块的设计当中,文中主要采用Mealy型状态机的结构,在运算编写当中,使用移位求和的方法代替乘法、除法运算。在软件编程过程中,充分利用现有的软件资源,通过软件仿真验证等方法减少软件开发周期。文中主要采用Altera公司的Modelsim Altera 这款仿真软件对所编写的软件进行功能仿真,先在软件上进行软件仿真确保无误后才进行硬件调试,提高设计效率。完成软件设计后进行

17、有效可靠的硬件验证,文中将输出的PWM信号接入一个低通RC滤波电路,通过滤波电路滤波后的波形观察间接地检验软件编写的正确性。2 空间矢量控制本章内容主要是叙述了SVPWM(空间矢量)控制的基本原理和相对应的算法其中逆变器的开关电压矢量合成参考电压空间矢量的过程将会在本章节的内容有详细的讲解和推导。本章中还给出了具体的几何数学关系、公式等都将会详细给出,有了这些公式作为我们下一章节所讲述的软件实现提供一个理论基础。2.1 空间矢量控制基本原理2.1.1空间矢量的定义交流电机绕组的电压、电流、磁链等物理量都是随时间变化,但如果考虑到它们所在绕组的空间位置,我们建立一个空间坐标轴则可以将电压、电流磁

18、链等定义为空间矢量2。如图2.1:图2.1 电压空间矢量合成图A,B,C分别表示在空间静止的电机定子三相绕组的轴线,它们在空间中互差2/3,三相定子正弦波相电压UA,UB,UC分别加在三相绕组上。可以定义三个定子电压空间矢量Ua,Ub,Uc使它们的方向始终位于各相绕组的轴线上,而其幅值则随时间按正弦规律脉动,时间相位相互错开的角度也是2/3。与电机原理中三相脉动磁动势相加后产生旋转磁动势相仿,就可以证明,三相定子电压空间矢量相加的合成得空间矢量uref是一个旋转的空间矢量,它的幅值不变,其幅值是每相电压值的3/2倍。其中合成矢量uref以电源角频率1为电气角速度作恒速旋转2。用公式表示,则有:

19、 (2.1)与定子电压空间矢量相仿,可以定义定子电流和磁链的空间矢量Iref和ref。2.1.2电压与磁链空间矢量的关系当三相异步电机的三相对称定子绕组由三相平衡正弦电压供电时,对每一相都可以写出电压平衡方程式,三相电压平衡方程式相加,即得用合成空间矢量表示定子电压方程式为: (2.2)式中 uref 定子三相电压合成空间矢量;式中Iref 定子三相电流合成空间矢量;式中ref 定子三相磁链合成空间矢量。当电动机转速不是很低时,定子电阻压降很小,可忽略不计,所以定子合成磁链空间矢量的近似关系为: (2.3)当电机由三相平衡正弦电压供电时,电机定子磁链的幅值恒定,其在空间中以恒速旋转,磁链矢量顶

20、端的运动轨迹呈圆形(简称为磁链圆)。这样定子磁链旋转矢量可用下式表示: (2.4)其中,m是磁链ref的幅值,1为其旋转角速度。由式2.3和式2.4可得: (2.5)当磁链幅值m一定时,uref的大小与1(或电压频率f1)成正比,其方向则与磁链矢量ref正交,即磁链圆的切线方向,如图2.2所示:图2.2 旋转磁场与电压空间矢量的运动轨迹当磁链矢量ref在空间旋转一周时,电压矢量也连续地按磁链圆的切线方向运动了2rad,其轨迹与磁链圆重合。这样,我们可以看到电机旋转磁场的问题就转化为电压矢量旋转的问题2。2.1.3六拍阶梯波逆变器与正六边形空间旋转磁场在常规的PWM变压变频调速系统当中,三相异步

21、电动机由六拍阶梯波逆变器供电时,电压并不是三相正弦电压,那么,电压空间矢量如图2.3:图2.3 六拍阶梯波逆变器供电电压矢量可以从图中看到,六拍的阶梯波逆变器电压矢量在空间坐标轴上所产生的磁链增量将会形成一个封闭的正六边形,所以在电机运行过程当中会在空间中产生脉动的转矩。如果我们分析其开关矢量,如图2.4,取上桥臂开关VT1、VT3、VT5导通时取1,下桥臂VT4、VT6、VT2导通时取0可得8种开关状态,而8种开关状态形成图2.5中的开关矢量2。 图2.4 三相逆变器示意图 图2.5 各开关合成矢量其中111、000这两种开关模式所形成的电压矢量为0,其余开关状态形成的矢量相互间隔隔/3。开

22、关状态的合成矢量原理如图2.6:图2.6 开关合成矢量我们以100这种开关模式为例,如图2.4取N点为电压参考点,VT1导通,VT4关断,在空间坐标系中形成ua矢量,其幅值为2Udc/3,VT3关断,VT6导通,VT5关断,VT2导通分别形成uc,ub矢量,其幅值为Udc/3,在空间坐标轴当中通过矢量合成矢量u1,u1的幅值为Udc。我们设逆变器工作开始时定子磁链空间矢量为,在第一个/3期间,电机上施加的电压空间矢量为图2.7,按照式2.3就可以写成 (2.6)也就是说,在/3所对应的时间t内,施加u1的结果是使定子磁链1产生一个磁链增量1,其幅值与|u1|成正比,方向与u1一致,最后得到图所

23、示的新的磁链2,而以此类推可以写成的通式 i=1,2,3,6 (2.7)而 (2.8)图2.7 t与间的关系2.1.4 电压空间矢量的线性组合可以设想,如果我们能够使磁链的增量如图2.8中的11、121314那样变化,我们就可以得到一个轨迹逼近圆形的磁链,磁链增量越密集,磁链轨迹就越接近圆形。为了能合成这样的多个磁链增量,我们可以采取使用开关电压矢量的线性组合来完成,如图2.9,采用u1矢量和u2矢量的线性组合则能合成新的矢量Tu,也就相当于采用两个磁链增量在空间中矢量合成一个新的磁链增量,当每个扇区都采取相邻的两个开关电压矢量合成新的磁链,我们可以得到一个逼近圆形的磁链,也就达到了我们电机旋

24、转的要求2。 图2.8 逼近圆形磁链增量轨迹 图2.9 合成矢量而为了实现这一目的,如图2.10我们引入了一个旋转的人为合成的旋转矢量uref,作为我们的参考的电压矢量,我们将采用开关电压矢量矢量合成这个参考矢量,例如使用开关电压矢量u1,u2合成参考矢量510。公式如下: (2.9)图2.10 电压矢量线性组合同样其他不同的参考矢量位置我们采取离参考矢量最近的开关电压矢量来进行线性合成。如图2.11把整个空间坐标分成六个扇区,每个扇区都使用相邻的开关矢量合成参考矢量2。图2.11 扇区分布图2.2 空间矢量控制算法2.2.1恒压频比在异步电机的VVVF系统当中,进行电机调速时为了保持电机每极

25、磁通量为额定值不变可以由以下公式得 (2.10)式中为隙磁通在定子每相中感应电动势的有效值(V);为定子频率(Hz);定子每相绕组串联匝数;定子基波绕组系数;每极气隙磁通量(Wb)。在基频以下调速需要满足 (2.11)当电动势较高时,可以忽略定子绕组的漏磁阻,而认定相电压UsEg,可得下式: (2.12)在低频时不能忽略漏磁阻抗,则将Us抬高,在基频以上调速则Us恒定不变2。如下图图2.12 频率与电压关系图2.2.2 Clark变换三相静止坐标系变换到两相静止坐标系在满足总功率不变的条件29其公式如下 (2.13)2.2.3 开关矢量持续时间计算开关矢量持续时间我们按照公式2.14进行矢量的

26、合成 (2.14)图2.13 参考矢量投影到两相直角坐标如果直接使用正弦定理来进行几何运算其运算量会较大,而我们这里使用将参考矢量投影到互为90的两相坐标轴上运算11,我们可以得到以下式子: (2.15) (2.16)其他扇区使用同样的方法求解可得所求解出来的时间都只与三个量有关如下,所以我们采取三个中间变量X、Y、Z来存放这三个量。 (2.17) (2.18) (2.19)通过整理可得每个扇区的每个矢量的导通持续时间如下表表2.1 各扇区开关状态时间说明表扇区号T1ZYXZ-Y-XT2XZZ-X-ZY2.2.4 扇区判断参考矢量所在扇区位置判断有好几种,其中,比较常用的方法是先对每个扇区进行

27、编号,然后用Clark变换后的U和U通过计算可以算出当前参考矢量所在扇区对应的编号7。由于FPGA作运算需要耗费的硬件资源比较多,所以为了减少运算我们这里采取直接对参考矢量旋转一周的时间进行分块的方法来判断参考矢量的位置。如图2.11我们可以看到6个扇区在空间坐标轴中将坐标轴分成了6块,每块所占的角度为60,而参考电压矢量在坐标轴中按逆时针匀速旋转时,按顺序经过这6个扇区,那么我们这里将其一个周期分成了6段时间,每个时间段都对应一个扇区。2.2.5 合成参考矢量为了使矢量对称,这里主要采取七段式的开关模式进行矢量合成方式,每个扇区的开关组合方式6见表表2.2 开关顺序表扇区开关模式000100

28、1101111101000000000101101111100100000000100111110110100000000010111110110010000000011011111010010000001001011111011000003 基于FPGA的SVPWM算法的软件设计本章主要介绍了使用Altera公司的软件Quartus II 11.0来对上章所讲述的算法进行编程实现,主要采用了Verilog HDL编程语言和图形编辑的方式来进行软件编程,并使用Altera Modelsim 软件对其编程结果进行仿真验证。文中简单介绍一些编程技巧,例如使用Mealy型状态机的程序结构以增加程序的

29、可读性和使用移位代替乘除法运算减少硬件资源的使用。而SVPWM算法的实现当中最主要分成如图3.1运算模块、PWM发生模块、死区模块三大模块顺序处理以完成各种所需要的功能,其中运算模块在整个软件设计当中占核心地位。图3.1 软件结构图3.1 运算模块3.1.1 三相参考电压峰值计算模块图3.2 恒压频比模块其中主要的运算程序如下:if(F50) Um=310;/超过基频50HZ输出峰值310else if(F10) Um=62; /低于频率10HZ输出峰值62else Um=(F2)+(F2);/10至50HZ输出Um=4.4F*21/2 当输入频率大于基频50HZ的时候我们就输出电压的峰值Um

30、为310,当频率低于10HZ时,电压峰值Um为62,如果输入10至50HZ则按公式运算,程序当中主要采取了移位逼近的方式来完成。仿真图如下:图3.3 10HZ以下电压峰值图图3.4 50HZ以上电压峰值图如图所示输入频率满足的公式运算结果,10HZ及以下恒定电压值恒定,50HZ以上电压值恒定。3.1.2 三相电压矢量发生模块图3.5 三相电压矢量发生模块这一模块的功能块主要由三个模块组成,ROM_CTR、COS_ROM、Serial_Paralell三个模块组成,三相电压矢量发生模块输入电压频率F和时钟信号CLK,ROM_CTR模块将输入的频率通过运算转化为计数时钟脉冲的次数进行计数,以此达到

31、改变参考三相电压矢量的旋转角度的周期变化,并且输出端口ADD周期输出角度。COS_ROM模块主要是存储余弦表,其中存储的余弦值是以平移放大的值的方式存储,当接收到上一个模块输出的角度和数值输出控制信号EN,q端口输出对应角度的正弦值。Serial_Paralell模块将所接收到的余弦值通过运算将ROM中的数值转化为放大10000倍的余弦真实值并且通过COS_OUT端口并行输出余弦值如图。图3.6 三相余弦值仿真图3.1.3 坐标变换模块图3.7 坐标变换模块坐标变换模块主要程序如下:U_alfa=(2*UA-UB-UC)2)+(2*UA-UB-UC)3)+(2*UA-UB-UC)5);/U=6

32、1/2/3 (UA-UB/2-UC/2) U_beta=(UB-UC)1+(UB-UC)3+(UB-UC)4+(UB-UC)6;/ U=21/2/2(UB-UC)坐标变换模块输入三相电压矢量的余弦值,通过Clark变换公式见2.13,变换出Ualfa,Ubeta值输出。其中小数的乘除法运算通过移位相加的方式来逼近结果。仿真结果如图:图3.8 Ualfa、Ubeta仿真图从仿真结果可以看到Clark变换后的三相余弦值合成两相仍然为按正弦波变化,其中幅值是原来的1.22倍。3.1.4 开关导通时间计算模块图3.9 计算T1、T2模块开关时间导通时间计算模块主要由Solve_X_Y_Z(求解中间变量

33、)、Solve_T1_T2(求解导通时间T1、T2)、Manage_T1_T2(过调制处理) 三个功能模块组成。求解中间变量模块主要运算程序如下:X=Ubeta*Um*28/10000;/X=31/2* U*Um*Tpwm/Udc;Y=(3*Ualfa+1732*Ubeta/1000)*Um*8/10000;/(3U+31/2*U)Tpwm/2/Udc;Z=(3*Ualfa-1732*Ubeta/1000)*Um*8/10000;/(3 U-31/2 U*T)/2/Udc;程序中则主要是按照公式2.17至2.19来编辑,其中的小数化成了整数运算。过调制处理模块主要程序:if(T_1Tpwm)|

34、(T_2Tpwm)|(T_1+T_2)Tpwm)/当T1和T2的时间和或者任意一个大于调制周期TpwmbeginT_1=T_1*9/10;/T1按0.9倍减少T_2=T_1*9/10;/ T2按0.9倍减少end当导通的时间超过了范围则进行按比例缩减,直到满足要求,其中Tpwm为调制周期100us,使用的时钟频率是50MHZ所以计数5000次就是100us。如下图,输入坐标变换后的Ualfa、Ubeta的值,求解出中间变量X、Y、Z三个与导通时间相关的中间变量,同样X、Y、Z与输入同频的正弦波并且幅值变小。 图3.10中间变量X、Y、Z仿真图图3.11导通时间T1、T2仿真图在每个扇区当中,参

35、考矢量由相邻两个开关矢量合成,随着参考矢量的转动,逐渐远离参考矢量的开关矢量的导通时间将越来越短,靠近的开关矢量反之。时间T0则随着扇区周期变化。图3.12导通时间T1、T2按比例缩减仿真图当计算出来的时间超出了限定范围,则循环进行按比例减少直至满足要求。3.1.5 参考矢量位置判断模块图3.13扇区判断模块扇区判断模块主要程序:case (N_ST1) S0:begin V=1; if(X=170) N_ST1=S1; else X=X+1; end/扇区S1:begin V=2;if(X=341) N_ST1=S2; else X=X+1; end/扇区S2:begin V=3;if(X=

36、511) N_ST1=S3; else X=X+1; end/扇区S3:begin V=4;if(X=682) N_ST1=S4; else X=X+1; end/扇区S4:begin V=5;if(X=853) N_ST1=S5; else X=X+1; end/扇区S5:begin V=6;if(X=1023)N_ST1=S0; else X=X+1; end/扇区default:N_ST1=N_ST1;endcaseROM_CTR模块包含了两种功能:一种是通过电源频率值的输入,将频率转化为斜坡信号然后每一个调制周期都将控制下一个模块运作一次,另外一种则是扇区判断,这里使用了计数器从0计数

37、到1023这个过程所使用的时间来表示一个周期,而将这个周期分为6个时间段,即计数值1023分为6段来一一对应每一个扇区见程序,扇区分布见图3.14。如图3.15,参考电压矢量按这样的扇区顺序旋转输出的扇区号同样按这样的顺序呈现周期的阶梯信号。图3.14扇区分布图图3.15扇区判断模块仿真图3.2 PWM信号发生模块图3.16 PWM信号发生模块PWM信号发生模块输入开关导通时间T1、T2,并通过参考矢量所在的扇区号使用计数器的方法输出相应的PWM六路脉冲信号。图3.17 PWM信号仿真图仿真六路PWM如图3.17,在每一个调制周期内六个开关电路都要导通一段时间参与矢量合成,并且在每一个调制周期

38、内导通时间对称。3.3 死区模块图3.18 死区模块在SVPWM信号投入实际运用当中,逆变器中的开关电路的开关器件并不是理想的器件,所以开通和关断都会有一定的延时,所以必须增加一个死区环节,以防止器件在导通后原本应该关断的器件可靠地关断。图3.19 死区模块仿真图如图3.19,死区模块的作用是当开关导通的时候延时一段时间再发出导通信号,而关断的时候则立即发出关断信号,以确保开关电路的可靠工作。3.4 软件总系统通过将本章所提的所有模块输入输出口连接,得到软件总图见附录,对整个程序进行仿真得到图3.20中的仿真波形,呈现马鞍波,即我们所需要的波形。当电源频率上升到一定的时候,开关矢量就无法通过线

39、性组合的方式来合成参考矢量,在程序中的反映是两个开关矢量的持续时间之和超出了调制周期的时间,那么在这里,当它超出了调制周期的时间,我们则按比例缩减到时间的允许范围内。图3.21为过调制时的仿真波形。图3.20 软件总系统仿真图 图3.21 过调制波形仿真图4 硬件与调试本文通过Storm FPGA V1.2开发板进行硬件验证使用的硬件图片见附录3、4,其中开发板的核心FPGA芯片为Altera 公司的EP3C10E144C8这一款芯片,其逻辑宏单元个数10320,内存容量42万位左右,完全满足所编写程序所需要的硬件条件。其中,将输出的PWM信号接入RC滤波电路后则在不过调制的情况下,用示波器观

40、察可呈现出马鞍波。其中滤波电路要满足以下公式12: (4.1)其中电阻与电容的乘积略小即可,本文以R=20,C=1F来搭建硬件测试电路,其示波器测得波形如图:图4.1 15HZ波形图图4.2 30HZ波形图图4.1与4.2中分别为15HZ和30HZ时的输出波形图,电源频率由15HZ变化到30HZ,其周期越来越短的同时,幅值也跟着上升,就满足三相异步电机的在基频以下调速需要保持电压的有效值与频率的比值恒定。 图4.3 过调制波形图见图4.2、4.3示波器所测得的波形图,跟仿真结果一致,算法的实现准确。见附录5,这里使用了单片机给定频率信号,频率输入到FPGA开发板,经过SVPWM算法运算后输出出

41、六路PWM信号,并且将这六路信号通过一个驱动电路,来驱动一台小型的三相交流电机。在驱动三相交流电机过程当中,改变单片机发出的给定频率值,可调节电机的转速,说明了算法实现的可靠。5 总结与展望本文总结了以FPGA作为硬件基础,Verilog HDL 作为软件基础,将SVPWM的理论运算通过软件编程实现,给出了整个运算过程的核心运算公式,并且通过仿真验证,硬件滤波电路搭建的验证,使用硬件驱动一台三相交流电机,说明了整个设计的正确性,将理论上的算法实现到实际当中去。但是仍然有缺点,比如硬件资源利用率的提高,虽然通过一些编程技巧减少了一部分的硬件资源的使用,但是仍然占用了较多的硬件资源,所以应该尽量地

42、避开耗费硬件资源的编程内容,比如判断参考电压矢量所在扇区,可直接在角度周期变化中包含这一功能,避开了运算,用FPGA擅长的计数器来完成功能,能有效地减少了硬件资源的使用;在精确度上,由于Verilog HDL当中是没有实数数据类型,数据都以整数来处理,导致精度无法做得很高,在一些高性能要求的场合当中,将无法满足要求,在精度方面有待加强;在实际应用当中,文中的算法程序只经过了简单的硬件验证,想要投入到实际应用场合仍然欠缺调试。所以,在文中所提及的算法实现仍然有很大的改进空间,在以后的工作当中逐渐完善。参考文献1王兆安,刘进军.电力电子技术M.北京:机械工业出版社,2009.163.165.2 陈

43、伯时.电力拖动自动控制系统M.北京:机械工业出版社,2003.158.183.3 潘松,黄继业,陈龙.EDA技术与Verilog HDLM.北京:清华大学出版社,2010.1.358.4 康华光,邹寿彬,秦臻.电子技术基础 数字部分M.北京:高等教育出版社,2006.1.383.5易龙强,戴瑜兴.SVPWM技术在单相逆变电源中的应用J.电工技术学报,2007,(9):112.117+123.6叶文,李膺.基于FPGA的优化SVPWM IP核J.微待电机,2008(1):21.24+277俞小露,徐抒岩,曹小涛,胡君.基于FPGA多轴控制的SVPWM信号实现设计J.控制与应用技术,2012(7)

44、:45.49.8姜学岭,常柯阳.一种简化SVPWM算法仿真及其FPGA实现J.通信电源技术,2013(1):13.16.9叶立,张自强.FPGA平台实现最小开关损耗的SVPWM算法J.单片机与嵌入式系统应用,2011(6):5.8.10方斯琛,李丹,周波,黄佳佳.新型无扇区空间矢量脉宽调制J.中国电机工程学报,2008(30):35.40.11唐酿,肖湘宁,陈征,徐永海.矩阵变流器虚拟逆变侧无扇区调制算法J.中国电机工程学报,2012(9):79.85+13.12System Document C2000 Foundation SoftwareZ.Texas Instruments ACI3_1,2005.28

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1