收藏 分销(赏)

基于fpga的svpwm算法的实现本科论文.doc

上传人:可**** 文档编号:2986930 上传时间:2024-06-12 格式:DOC 页数:26 大小:1.97MB
下载 相关 举报
基于fpga的svpwm算法的实现本科论文.doc_第1页
第1页 / 共26页
基于fpga的svpwm算法的实现本科论文.doc_第2页
第2页 / 共26页
基于fpga的svpwm算法的实现本科论文.doc_第3页
第3页 / 共26页
基于fpga的svpwm算法的实现本科论文.doc_第4页
第4页 / 共26页
基于fpga的svpwm算法的实现本科论文.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

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

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

3、ic algorithm of SVPWM algorithm based 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 struc

4、ture,increase the utilization of 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

5、 development threatening 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 word

6、s:Space vector pulse 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 开关矢

7、量持续时间计算.(11)2.2.4 扇区判断.(12)2.2.5 合成参考矢量.(12)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)附 录.(错误错

8、误!未定义书签。未定义书签。)28 基于基于 FPGAFPGA 的的 SVPWMSVPWM 算法的实现算法的实现 1 1 绪论绪论 1.1 空间矢量控制技术 直流电机和交流电机在 19 世纪先后诞生,鉴于直流电机具有优越的调速性能,高性能的可调速场合都采用直流电机,而约占所有电机总容量 80%以上的不变速拖动系统则采用了交流电机,交流调速系统多种方案虽然已经早已问世,并已经投入到了实际应用当中,但是其性能却始终无法与直流调速系统相比。在早期的交直交变压变频器所输出的交流波形都是六拍阶梯波或者是矩形波,当时,只能采用半控式的可控硅来控制其导通,但是其不能控制关断,由于它的不可控性和比较低的开关频

9、率导致了逆变器输出的波形不能近似按正弦波变化,只能按照阶梯波变化,从而会产生较大的谐波,使电机输出转矩也存在脉动的分量,影响其实际工作性能,为了提高交流电机变压变频调速系统的性能。在出现全控式电力电子开关器件后,脉宽调制(PWM)技术也相应得到了广泛的应用,对交流电机的变压变频调速系统起到了很大的推动作用。在 20 世纪 80 年代出现了应用 PWM 技术的逆变器,由于它的优良的调速性能,如今,在国内外生产的变压变频器都已经采用了脉宽调制技术,只有在全控器件尚未能够承受的特大容量的场合才没有应用上脉宽调制技术2。脉宽调制(PWM)控制技术的原理是在采样理论中,冲量相等而形状不同的窄脉冲加在具有

10、惯性环节上,其作用效果基本相同。其中,冲量即指窄脉冲的面积。而这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形采用傅里叶变换来分析,那么低频段的时候其输出波形是非常接近的,只在高频段范围有差异。例如图 1.1 所示的三个窄脉冲形状不同,其中 a 为矩形脉冲,b 为三角形脉冲,c 为正弦半波脉冲,但他们的面积都相等,那么,当它们脉冲函数为 d 所示时即(t),环节的响应即为该环节的脉冲过度函数。我们称上述原理为面积等效原理,它就是 PWM 控制技术的重要理论基础1。(t)Ot(t)Ot(t)Ot(t)Ot(t)a)b)c)d)28 图 1.1 形状不同而冲量相同的各种窄脉

11、冲 在众多的 PWM 技术中,其中正弦波脉宽调制(SPWM)技术广泛应用于逆变器,而经典的正弦脉宽调制主要着眼于使变压变频器的输出电压尽量接近正弦波,并未考虑到输出电流的波形。然而交流电机需要输入三相对称正弦电流的最终目的是在电机空间中形成一个圆形的旋转磁场,从而产生恒定的电磁转矩,才能保证电机以良好的状态转动。如果我们对准这一目标,把逆变器和交流电机看成一个整体,那么按照形成圆形磁场的控制要求来控制逆变器的开关工作,那么其效果应该会更好。这种控制方法叫作磁链跟踪控制,磁链的轨迹是交替使用不同的电压空间矢量通过矢量合成所得到的,所以又称“电压空间矢量 PWM(SVPWM)控制”2。SVPWM

12、控制相比于 SPWM 控制主要有以下优点7:(1)直流侧电压利用率相比于 SPWM 高出 15%左右;(2)开关次数减少 1/3 左右;(3)能获得较好的谐波抑制等特点。其中最为主要的是第一和第二点,因为开关次数减少和电压利用率增高就相当于间接节能。但是 SVPWM 在算法的数字实现上较 SPWM 困难,主要原因是 SVPWM在实现过程中,需要进行一些几何变换和运算,所以它的运算量比较大,导致普通单片机已经无法满足运算要求,无法保证实时性要求,所以这里需要一种快速器件才能满足性能要求。1.2 现场可编程门阵列(FPGA)可编程逻辑器件(PLD)是 20 世纪 70 年代发展起来的一种新型的集成

13、器件。PLD 是大规模集成电路技术发展的产物,同时也是一种半定制的集成电路,结合计算机软件技术(EDA 技术)可以快速、方便地构建数字系统3。不论是简单的还是复杂的数字电路系统都是由基本门构成的,如与门、或门、非门、传输门等。其中由基本门可构成两类数字电路:一类是组合电路;另一类是时序电路,含有存储元件,经过实践,人们发现在数字电路当中并不是所有的基本门都是必需的,其中,用单一的基本门与非门也可以构建成其它的基本门;任何的组合逻辑都是可以通过“与或”这种逻辑关系来组合,即任何组合电路都可用门.或门这种二级电路实现;同样,任何时序电路都可以由组合电路加上存储元件(RAM、锁存器、触发器等)构成。

14、由此,人们提出一种可编程电路 28 结构,即乘积项逻辑可编程结构,其原理结构如图 1.23。输入缓冲电路输出缓冲电路或阵列与阵列输入输出 图 1.2 基本 PLD 器件的原理结构图 “与-或”结构组成的 PLD 器件功能比较简单,此后又从 ROM 的工作原理、地址信号与输出数据间的关系以及 ASIC 的们阵列法中获得启发,构造除了另一种可编辑的逻辑结构,即 SRAM 查找表的可编程逻辑构建方式。此类可编程逻辑的逻辑函数发生是采用了 RAM“数据”查找方式,并使用多个查找表构成了一个查找表阵列,成为可编程们阵列(PGA),随着可编程器件的规模不断扩大,随着发展 FPGA 也就应运而生34。现今,

15、实现空间矢量控制主要采用的芯片是 TI 公司生产的 DSP 芯片,其独特的结构为空间矢量控制提供了一个较好的硬件平台。但是,DSP 芯片实现空间矢量控制当中仍然有它的不足之处。FPGA 与 DSP 相比有以下几个特点:(1)DSP 只能产生固定 6 路或者 12 路的 PWM 波,FPGA 只要硬件资源足够则可产生多路 PWM;(2)DSP 需要占用 CPU 资源,而 FPGA 以其独特的结构特点硬件实现功能;(3)纯硬件并行处理,可靠性高,速度快;(4)设计灵活,可任意定制硬件。所以,对于完成一些单一的运算过程或者功能,FPGA 能够在几个时钟周期内完成,实时控制上完全能够满足性能要求,在一

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

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

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

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

20、不变,其幅值是每相电压值的 3/2 倍。其中合成矢量 uref以电源角频率1为电气角速度作恒速旋转2。用公式表示,则有:refabcuUUU (2.1)与定子电压空间矢量相仿,可以定义定子电流和磁链的空间矢量 Iref和 ref。2.1.2 电压与磁链空间矢量的关系 当三相异步电机的三相对称定子绕组由三相平衡正弦电压供电时,对每一相都可以写出电压平衡方程式,三相电压平衡方程式相加,即得用合成空间矢量表示定子电压方程式为:refrefrefrefduRIdt (2.2)式中 uref 定子三相电压合成空间矢量;式中 Iref 定子三相电流合成空间矢量;式中 ref 定子三相磁链合成空间矢量。当电

21、动机转速不是很低时,定子电阻压降很小,可忽略不计,所以定子合成 28 磁链空间矢量的近似关系为:refrefdudt (2.3)当电机由三相平衡正弦电压供电时,电机定子磁链的幅值恒定,其在空间中以恒速旋转,磁链矢量顶端的运动轨迹呈圆形(简称为磁链圆)。这样定子磁链旋转矢量可用下式表示:1jtrefme (2.4)其中,m是磁链 ref的幅值,1为其旋转角速度。由式 2.3 和式 2.4 可得:111jjjt21m1md(e)je=edtrefmut(t+)(2.5)当磁链幅值 m 一定时,uref的大小与1(或电压频率 f1)成正比,其方向则与磁链矢量 ref正交,即磁链圆的切线方向,如图 2

22、.2 所示:1refurefuref 图 2.2 旋转磁场与电压空间矢量的运动轨迹 当磁链矢量ref在空间旋转一周时,电压矢量也连续地按磁链圆的切线方向运动了 2rad,其轨迹与磁链圆重合。这样,我们可以看到电机旋转磁场的问题就转化为电压矢量旋转的问题2。2.1.3 六拍阶梯波逆变器与正六边形空间旋转磁场 在常规的 PWM 变压变频调速系统当中,三相异步电动机由六拍阶梯波逆变器供电时,电压并不是三相正弦电压,那么,电压空间矢量如图 2.3:28 3 34 45 56 61 12 2u u5 5u u6 6u u1 1u u2 2u u3 3u u4 42 21 1O 图 2.3 六拍阶梯波逆变

23、器供电电压矢量 可以从图中看到,六拍的阶梯波逆变器电压矢量在空间坐标轴上所产生的磁链增量将会形成一个封闭的正六边形,所以在电机运行过程当中会在空间中产生脉动的转矩。如果我们分析其开关矢量,如图 2.4,取上桥臂开关 VT1、VT3、VT5导通时取 1,下桥臂 VT4、VT6、VT2 导通时取 0 可得 8 种开关状态,而 8 种开关状态形成图 2.5 中的开关矢量2。ABCVT1VT2VT3VT4VT5VT6NUdc 100010011001101u u1 1u u3 3u u4 4u u5 5u u6 6u u7 7u u8 8u u2 2110000111 图 2.4 三相逆变器示意图 图

24、 2.5 各开关合成矢量 其中 111、000 这两种开关模式所形成的电压矢量为 0,其余开关状态形成的矢量相互间隔隔/3。开关状态的合成矢量原理如图 2.6:ACBu1uaucub 图 2.6 开关合成矢量 我们以 100 这种开关模式为例,如图 2.4 取 N 点为电压参考点,VT1 导通,28 VT4 关断,在空间坐标系中形成 ua矢量,其幅值为 2Udc/3,VT3 关断,VT6 导通,VT5 关断,VT2 导通分别形成 uc,ub矢量,其幅值为 Udc/3,在空间坐标轴当中通过矢量合成矢量 u1,u1的幅值为 Udc。我们设逆变器工作开始时定子磁链空间矢量为1,在第一个/3 期间,电

25、机上施加的电压空间矢量为图 2.7,按照式 2.3 就可以写成 11ut (2.6)也就是说,在/3 所对应的时间t 内,施加 u1的结果是使定子磁链1产生一个磁链增量1,其幅值与|u1|成正比,方向与 u1一致,最后得到图所示的新的磁链2,而以此类推可以写成的通式 iiut i=1,2,3,6 (2.7)而 1iii (2.8)2 22 2i iu u1 1ABCO O1 1 图 2.7 t 与间的关系 2.1.4 电压空间矢量的线性组合 可以设想,如果我们能够使磁链的增量如图 2.8 中的11、121314那样变化,我们就可以得到一个轨迹逼近圆形的磁链,磁链增量越密集,磁链轨迹就越接近圆形

26、。为了能合成这样的多个磁链增量,我们可以采取使用开关电压矢量的线性组合来完成,如图 2.9,采用 u1矢量和 u2矢量的线性组合则能合成新的矢量 Tu,也就相当于采用两个磁链增量在空间中矢量合成一个新的磁链增量,当每个扇区都采取相邻的两个开关电压矢量合成新的磁链,我们可以得到一个逼近圆形的磁链,也就达到了我们电机旋转的要求2。28 2 2u u1 111111212131314141 1O1 1 3 34 45 56 61 12 2u u5 5u u6 6u u1 1u u2 2u u3 3u u4 42 21 1Ot t1 1u u1 1t t2 2u u2 2TuTu 图 2.8 逼近圆形

27、磁链增量轨迹 图 2.9 合成矢量 而为了实现这一目的,如图 2.10 我们引入了一个旋转的人为合成的旋转矢量 uref,作为我们的参考的电压矢量,我们将采用开关电压矢量矢量合成这个参考矢量,例如使用开关电压矢量 u1,u2合成参考矢量510。公式如下:1212refttTuuuTT (2.9)u u1 111tuT22tuTu u2 2TuTurefref 图 2.10 电压矢量线性组合 同样其他不同的参考矢量位置我们采取离参考矢量最近的开关电压矢量来进行线性合成。如图 2.11 把整个空间坐标分成六个扇区,每个扇区都使用相邻的开关矢量合成参考矢量2。100010011001101u u1

28、1u u3 3u u4 4u u5 5u u6 6u u7 7u u8 8u u2 2110000111 图 2.11 扇区分布图 28 2.2 空间矢量控制算法 2.2.1 恒压频比 在异步电机的 VVVF 系统当中,进行电机调速时为了保持电机每极磁通量为额定值不变可以由以下公式得 1m4.44gsNsEf N k (2.10)式中gE为隙磁通在定子每相中感应电动势的有效值(V);1f为定子频率(Hz);sN定子每相绕组串联匝数;Nsk定子基波绕组系数;m每极气隙磁通量(Wb)。在基频以下调速需要满足 1gEf常数 (2.11)当电动势较高时,可以忽略定子绕组的漏磁阻,而认定相电压 UsEg

29、,可得下式:1sUf常数 (2.12)在低频时不能忽略漏磁阻抗,则将 Us抬高,在基频以上调速则 Us恒定不变2。如下图 f f1 1U Us sf f1 1N NU UsNsN 图 2.12 频率与电压关系图 2.2.2 Clark 变换 三相静止坐标系变换到两相静止坐标系在满足总功率不变的条件29其公式 28 如下 A111-222=333-022BCUUUUU (2.13)2.2.3 开关矢量持续时间计算 开关矢量持续时间我们按照公式 2.14 进行矢量的合成 1 122refTut ut u (2.14)u urefref11tuT22tuT 图 2.13 参考矢量投影到两相直角坐标

30、如果直接使用正弦定理来进行几何运算其运算量会较大,而我们这里使用将参考矢量投影到互为 90的两相坐标轴上运算11,我们可以得到以下式子:1212coscos3refttUuuuTT (2.15)22sinsin3reftUuuT (2.16)其他扇区使用同样的方法求解可得所求解出来的时间都只与三个量有关如下,所以我们采取三个中间变量 X、Y、Z 来存放这三个量。3sdcU TXU (2.17)332sUU TYUdc (2.18)28 332sdcUU TZU (2.19)通过整理可得每个扇区的每个矢量的导通持续时间如下表 表 2.1 各扇区开关状态时间说明表 扇区号 T1 Z Y X Z-Y

31、-X T2 X Z Z-X-Z Y 2.2.4 扇区判断 参考矢量所在扇区位置判断有好几种,其中,比较常用的方法是先对每个扇区进行编号,然后用 Clark 变换后的 U和 U通过计算可以算出当前参考矢量所在扇区对应的编号7。由于 FPGA 作运算需要耗费的硬件资源比较多,所以为了减少运算我们这里采取直接对参考矢量旋转一周的时间进行分块的方法来判断参考矢量的位置。如图 2.11 我们可以看到 6 个扇区在空间坐标轴中将坐标轴分成了 6 块,每块所占的角度为 60,而参考电压矢量在坐标轴中按逆时针匀速旋转时,按顺序经过这 6 个扇区,那么我们这里将其一个周期分成了 6 段时间,每个时间段都对应一个

32、扇区。2.2.5 合成参考矢量 为了使矢量对称,这里主要采取七段式的开关模式进行矢量合成方式,每个扇区的开关组合方式6见表 表 2.2 开关顺序表 扇区 开关模式 000 100 110 111 110 100 000 000 010 110 111 110 010 000 000 010 011 111 011 010 000 000 001 011 111 011 001 000 000 001 101 111 101 001 000 000 100 101 111 101 100 000 3 3 基于基于 FPGAFPGA 的的 SVPWMSVPWM 算法的软件设计算法的软件设计 本章主

33、要介绍了使用 Altera 公司的软件 Quartus II 11.0 来对上章所讲述 28 的算法进行编程实现,主要采用了 Verilog HDL 编程语言和图形编辑的方式来进行软件编程,并使用 Altera Modelsim 软件对其编程结果进行仿真验证。文中简单介绍一些编程技巧,例如使用 Mealy 型状态机的程序结构以增加程序的可读性和使用移位代替乘除法运算减少硬件资源的使用。而 SVPWM 算法的实现当中最主要分成如图 3.1 运算模块、PWM 发生模块、死区模块三大模块顺序处理以完成各种所需要的功能,其中运算模块在整个软件设计当中占核心地位。恒压频比Clark变换三相电压矢量合成P

34、WM生成死区生成求解导通时间扇区判别频率PWM控制信号 图 3.1 软件结构图 3.1 运算模块 3.1.1 三相参考电压峰值计算模块 图 3.2 恒压频比模块 其中主要的运算程序如下:if(F50)Um=310;/超过基频 50HZ 输出峰值 310 else if(F10)Um=62;/低于频率 10HZ 输出峰值 62 else Um=(F2)+(F2);/10 至 50HZ 输出 Um=4.4F*21/2 当输入频率大于基频 50HZ 的时候我们就输出电压的峰值 Um 为 310,当频率低于 10HZ 时,电压峰值 Um 为 62,如果输入 10 至 50HZ 则按公式4.42Umf运

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

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

37、*UA-UB-UC)5);/U=61/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模块 28

38、开关时间导通时间计算模块主要由 Solve_X_Y_Z(求解中间变量)、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 来编辑,

39、其中的小数化成了整数运算。过调制处理模块主要程序:if(T_1Tpwm)|(T_2Tpwm)|(T_1+T_2)Tpwm)/当 T1 和 T2 的时间和或者任意一个大于调制周期 Tpwm begin T_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

40、、Y、Z 与输入同频的正弦波并且幅值变小。图 3.10 中间变量 X、Y、Z 仿真图 28 图 3.11 导通时间 T1、T2仿真图 在每个扇区当中,参考矢量由相邻两个开关矢量合成,随着参考矢量的转动,逐渐远离参考矢量的开关矢量的导通时间将越来越短,靠近的开关矢量反之。时间 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

41、=X+1;end/扇区 S1:begin V=2;if(X=341)N_ST1=S2;else X=X+1;end/扇区 S2:begin V=3;if(X=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;endcase 28 ROM_CTR 模块包

42、含了两种功能:一种是通过电源频率值的输入,将频率转化为斜坡信号然后每一个调制周期都将控制下一个模块运作一次,另外一种则是扇区判断,这里使用了计数器从 0 计数到 1023 这个过程所使用的时间来表示一个周期,而将这个周期分为 6 个时间段,即计数值 1023 分为 6 段来一一对应每一个扇区见程序,扇区分布见图 3.14。如图 3.15,参考电压矢量按这样的扇区顺序旋转输出的扇区号同样按这样的顺序呈现周期的阶梯信号。u u3 3u u4 4u u5 5u u6 6u u7 7u u8 8u u2 2u urefref 图 3.14 扇区分布图 图 3.15 扇区判断模块仿真图 3.2 PWM

43、信号发生模块 图 3.16 PWM 信号发生模块 PWM 信号发生模块输入开关导通时间 T1、T2,并通过参考矢量所在的扇区号使用计数器的方法输出相应的 PWM 六路脉冲信号。28 图 3.17 PWM 信号仿真图 仿真六路 PWM 如图 3.17,在每一个调制周期内六个开关电路都要导通一段时间参与矢量合成,并且在每一个调制周期内导通时间对称。3.3 死区模块 图 3.18 死区模块 在 SVPWM 信号投入实际运用当中,逆变器中的开关电路的开关器件并不是理想的器件,所以开通和关断都会有一定的延时,所以必须增加一个死区环节,以防止器件在导通后原本应该关断的器件可靠地关断。图 3.19 死区模块

44、仿真图 如图 3.19,死区模块的作用是当开关导通的时候延时一段时间再发出导通信号,而关断的时候则立即发出关断信号,以确保开关电路的可靠工作。3.4 软件总系统 通过将本章所提的所有模块输入输出口连接,得到软件总图见附录,对整个程序进行仿真得到图 3.20 中的仿真波形,呈现马鞍波,即我们所需要的波形。当电源频率上升到一定的时候,开关矢量就无法通过线性组合的方式来合成参考矢量,在程序中的反映是两个开关矢量的持续时间之和超出了调制周期的时间,那么在这里,当它超出了调制周期的时间,我们则按比例缩减到时间的允许范围内。图 3.21 为过调制时的仿真波形。28 图 3.20 软件总系统仿真图 图 3.

45、21 过调制波形仿真图 4 4 硬件与调试硬件与调试 本文通过 Storm FPGA V1.2开发板进行硬件验证使用的硬件图片见附录 3、4,其中开发板的核心 FPGA 芯片为 Altera 公司的 EP3C10E144C8 这一款芯片,其逻辑宏单元个数 10320,内存容量 42 万位左右,完全满足所编写程序所需要的硬件条件。其中,将输出的 PWM 信号接入 RC 滤波电路后则在不过调制的情况下,用示波器观察可呈现出马鞍波。其中滤波电路要满足以下公式12:12RCf (4.1)其中电阻与电容的乘积略小即可,本文以 R=20,C=1F 来搭建硬件测试电路,其示波器测得波形如图:28 图 4.1

46、 15HZ 波形图 图 4.2 30HZ 波形图 图 4.1 与 4.2 中分别为 15HZ 和 30HZ 时的输出波形图,电源频率由 15HZ 变化到 30HZ,其周期越来越短的同时,幅值也跟着上升,就满足三相异步电机的在基频以下调速需要保持电压的有效值与频率的比值恒定。图 4.3 过调制波形图 见图 4.2、4.3 示波器所测得的波形图,跟仿真结果一致,算法的实现准确。见附录 5,这里使用了单片机给定频率信号,频率输入到 FPGA 开发板,经过SVPWM 算法运算后输出出六路 PWM 信号,并且将这六路信号通过一个驱动电路,来驱动一台小型的三相交流电机。在驱动三相交流电机过程当中,改变单片

47、机发出的给定频率值,可调节电机的转速,说明了算法实现的可靠。28 5 5 总结与展望总结与展望 本文总结了以 FPGA 作为硬件基础,Verilog HDL 作为软件基础,将 SVPWM的理论运算通过软件编程实现,给出了整个运算过程的核心运算公式,并且通过仿真验证,硬件滤波电路搭建的验证,使用硬件驱动一台三相交流电机,说明了整个设计的正确性,将理论上的算法实现到实际当中去。但是仍然有缺点,比如硬件资源利用率的提高,虽然通过一些编程技巧减少了一部分的硬件资源的使用,但是仍然占用了较多的硬件资源,所以应该尽量地避开耗费硬件资源的编程内容,比如判断参考电压矢量所在扇区,可直接在角度周期变化中包含这一

48、功能,避开了运算,用 FPGA 擅长的计数器来完成功能,能有效地减少了硬件资源的使用;在精确度上,由于 Verilog HDL 当中是没有实数数据类型,数据都以整数来处理,导致精度无法做得很高,在一些高性能要求的场合当中,将无法满足要求,在精度方面有待加强;在实际应用当中,文中的算法程序只经过了简单的硬件验证,想要投入到实际应用场合仍然欠缺调试。所以,在文中所提及的算法实现仍然有很大的改进空间,在以后的工作当中逐渐完善。28 参考文献参考文献 1王兆安,刘进军.电力电子技术M.北京:机械工业出版社,2009.163.165.2 陈伯时.电力拖动自动控制系统M.北京:机械工业出版社,2003.1

49、58.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+27 7俞小露,徐抒岩,曹小涛,胡君.基于 FPGA 多轴控制的 SVPWM 信号实现设计J.控制与应用技术,2012(7):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.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服