APP下载

基于FPGA的SVPWM算法的实现

2016-08-05王杏进

韶关学院学报 2016年2期

王杏进,宁 宇,郑 广

(韶关学院 物理与机电工程学院, 广东 韶关 512005)



基于FPGA的SVPWM算法的实现

王杏进,宁 宇,郑 广

(韶关学院 物理与机电工程学院, 广东 韶关 512005)

摘要:现代电力电子技术的发展推动了交流传动系统的发展,交流调速也将更广泛地取代直流调速.基于FPGA实现交流调速系统的数字化控制,采用的SVPWM算法与直接正弦波脉宽调制算法比较,具有抑制谐波,降低脉动转矩,提高逆变器电源利用率等优点.基于FPGA的SVPWM算法实现采用模块化的设计方法,通过Modelsim仿真,获得了期望的脉宽调制波形,并能驱动交流电机实现调速控制,具有一定的实用价值.

关键词:SVPWM;FPGA;空间矢量脉宽调制

随着电力电子技术以及计算机控制和自动控制技术的发展,交流传动系统发展迅猛,交流调速取代直流调速技术已经成为发展趋势[1].脉宽调制技术(PWM)是采用电力电子变换装置,获得交流电的变压和变频,从而实现对交流电机的节能调速控制.

交流电机工作条件是输入三相对称正弦电流,在电机空间形成一个圆形旋转磁场,产生恒定电磁转矩,保证电机稳定运行.电压空间矢量脉宽调制技术(SVPWM)[2]的提出,就是将电机和逆变器作为一个整体,通过控制逆变器的输出获该三相对称电压,使电机获得理想圆形磁链轨迹.与直接正弦波脉宽调制(SPWM)对比,SVPWM在输出电压或者电机输出的电流时能更好抑制谐波,电机转矩脉动降低,电压源逆变器直流供电电源的利用率提高约15%,开关次数减少约30%,且更易于实现数字化,所以具有广泛应用前景.

实现电压空间矢量控制可以采用单片机,但是速度有限;也可以采用TI公司生产的DSP芯片,但它只能产生固定6路或者12路的PWM波,无法产生多路PWM.FPGA纯硬件并行处理,速度快;能够在几个时钟周期内完成设定的运算或功能,实时性能高;在大型系统中需要多个微处理器协同工作时,还能够为其他微处理器节省CPU资源,可靠性高.所以基于FPGA实现SVPWM的算法是经济有效的选择.

1 空间矢量控制SVPWM理论

图1 参考电压矢量旋转图

交流电机转动的原理是在定子互差120°的三相绕组中,通入三相对称交流电压矢量Ua(t)、Ub(t)、Uc(t),如图1所示,则任何时刻三相电压合成空间矢量Uref(t)是一个旋转的空间矢量,电压合成矢量建立旋转磁场,旋转磁场磁链矢量Ψ在空间坐标系当中幅值恒定,以角频率ω=2πf匀速旋转,切割转子线圈得到恒定的转矩,带动转子旋转[3-4].

SVPWM的原理就是基于电压矢量合成的原则,获得一个幅值恒定匀速旋转的电压矢量,从而形成一个旋转磁场控制电机的旋转,通过改变电压大小和频率而改变合成矢量的幅值和旋转的速度.

2 基于FPGA的SVPWM算法的设计

图2为基于FPGA的SVPWM的模块结构图.根据三相电机变频变压调节的特点计算恒压频比,经三相电压矢量合成模块合成电压矢量,并在总功率不变的前提下,通过Clark变换,三相静止坐标系变换到两相静止坐标系;计算导通时间,判别扇区,生成脉冲信号.

图2 基于FPGA的SVPWM模块结构

2.1 恒压频比模块

交流电机变频调节时,为保证磁通量恒定,必须在调节频率的同时调节电压[5],其三相参考电压峰值根据输入频率的大小而调节.输入频率大于基频50 Hz时输出电压的峰值Um为310 V,当频率低于10 Hz时,电压峰值Um为62 V,如果输入10~50 Hz则按公式,单位V计算.

2.2 三相电压矢量发生模块

图3 三相电压矢量发生模块

图3为三相电压矢量发生模块,由三个部分组成:ROM_CTR、COS_ROM、Serial_Paralell.三相电压矢量发生模块输入电压频率F和时钟信号CLK,ROM_CTR模块将输入的频率通过运算转化为计数时钟脉冲的次数进行计数,以此达到改变参考三相电压矢量的旋转角度的周期变化,并且输出端口ADD周期输出角度.COS_ROM模块存储余弦表,其中存储的余弦值是以平移放大的值的方式存储,当接收到上一个模块输出的角度和数值输出控制信号EN,q端口输出对应角度的正弦值.Serial_Paralell模块将所接收到的余弦值通过运算将ROM中的数值转化为放大10 000倍的余弦真实值并且通过COS_OUT端口并行输出余弦值.

2.3 坐标变换模块

在满足总功率不变的条件[6-7]下,将三相静止坐标系变换到两相静止坐标系,其公式如(1).图4为坐标变换后的输出波形,三相余弦值合成为两相Ualfa、Ubeta,仍然是正弦波,幅值扩大了1.22倍.

图4 坐标变换输出Ualfa、Ubeta

2.4 开关导通时间计算模块

将参考矢量投影到互为90°的两相坐标轴上运算[8-9],可以得到公式(2)(3):

每个扇区中各个矢量的导通持续时间,也用同样的方法求解,其持续导通时间都只与X、Y、Z有关,公式如(4)(5)(6).

2.5 参考矢量位置判断模块

参考电压矢量的合成是根据设想的三相电压矢量来合成,所以参考电压矢量的旋转方向也是由设想的三相电压矢量决定,而设想的三相电压矢量的旋转使用了计数器计数来控制,故人为地将一个周期的计数值分成六等分即将矢量旋转一周的时间分成了六等分,在空间坐标轴中分成了六个扇,根据这个原理来判断参考电压矢量所在扇区的位置.

扇区判断模块采用状态机[10]的设计方法,主要程序:

2.6 PWM信号发生模块

该模块将每一个调制周期内计算出来的开关导通时间转化为脉冲,SVPWM每一路脉冲通过搭建一个滤波电路进行滤波后,将会呈现出马鞍波,通过对脉冲宽度即导通时间长短进行仿真,得到了PWM输出的马鞍波形如图5.

图5 PWM输出波形

3 硬件与调试

图6 开关主回路图

主回路如图6,核心的元器件是6个IGBT作为主回路的开关[11],IGBT具有高输入阻抗,低导通压降等特点.

将程序下载到FPGA中,通过RC滤波电路,当输入频率分别为30 Hz和40 Hz时使用示波器观察到的输出波形,如图7、图8所示,波形与期望的波形相符,满足旋转电压矢量的要求.

图7 输入频率为30 Hz时输出波形   图8 输入频率为40 Hz时输出波形

实验中FPGA开发板驱动硬件电路,并使其驱动一台三相交流电机,电机能够旋转;并且通过改变其频率输入,能够控制其转速的快慢.

4 结论

将SVPWM的理论运算基于FPGA设计实现,用模块化的理念设计,采用状态机的设计方法简明可靠并且通过Modelsim仿真验证,搭建硬件滤波电路驱动一台三相交流电机,能够驱动交流电机运行,并能通过改变频率的大小改变电机运行速度.说明整个设计的正确性,具有一定的工程实际应用价值.

参考文献:

[1]陈伯时.电力拖动自动控制系统[M].北京:机械工业出版社,2003.

[2]易龙强,戴瑜兴.SVPWM技术在单相逆变电源中的应用[J].电工技术学报,2007,22(9):112-117,123.

[3]叶文,李膺.基于FPGA的优化SVPWM IP核[J].微待电机,2008(1):21-24,27.

[4]俞小露,徐抒岩,曹小涛,等.基于FPGA多轴控制的SVPWM信号实现设计[J].控制与应用技术,2012,39(7):45-49.

[5]王兆安,刘进军.电力电子技术[M].北京:机械工业出版社,2009.

[6]姜学岭,常柯阳.一种简化SVPWM算法仿真及其FPGA实现[J].通信电源技术,2013(1):13-16.

[7]方斯琛,李丹,周波,等.新型无扇区空间矢量脉宽调制算法[J].中国电机工程学报,2008,28(30):35-40.

[8]唐酿,肖湘宁,陈征,等.矩阵变流器虚拟逆变侧无扇区调制算法[J].中国电机工程学报,2012,32(9):79-85.

[9]叶立,张自强.FPGA平台实现最小开关损耗的SVPWM算法[J].单片机与嵌入式系统应用,2011(6):5-8.

[10]潘松,黄继业,陈龙.EDA技术与Verilog HDL[M].北京:清华大学出版社,2010.

[11]康华光,邹寿彬,秦臻.电子技术基础 数字部分[M].北京:高等教育出版社,2006.

(责任编辑:李 婉)

中图分类号:TP13

文献标识码:A

文章编号:1007-5348(2016)02-0018-05

[收稿日期]2016-01-26

[基金项目]2012年度韶关学院科研项目(韶关学院[2012]202号).

[作者简介]王杏进(1972-),女,湖南湘潭人,韶关学院物理与机电工程学院讲师,硕士;研究方向:电气控制方面研究.

The Realization of SVPWM Algorithm based on FPGA

WANG Xing-Jin, NING Yu,ZHENG Guang
(Institute of Physics and Mechanical & Electrical Engineering,Shaoguan University,Shaoguan 512005,Guangdong, China)

Abstract:The development of the modern power electronics promotes the development of the AC drives, and the DC speed control system will more widely be replaced by the AC speed control system. This paper introduces a digital control method in AC drives based on FPGA. The method for speed control is SVPWM algorithm; comparing with the SVPWM algorithm, it can lower harmonics, reduce torque ripple, and increase the utilization of the invert power,so it has far-ranging prospect. The modular design method is used in this paper. An expected SVPWM waveform can be seen with the simulation by Modelsim software, and it also can drive a three-phase AC motor .The result is valuable.

Key words:SVPWM; FPGA; Space vector pulse width modulation