基于FPGA的空间矢量脉宽调制算法的设计
2015-07-07刘斌谢云刘燕江
刘斌 谢云 刘燕江
(广东工业大学自动化学院)
基于FPGA的空间矢量脉宽调制算法的设计
刘斌 谢云 刘燕江
(广东工业大学自动化学院)
在一些高性能的运动控制系统中,需采用处理速度快、处理数据量大、高可靠性和高实时性的底层信号算法。通过对空间矢量脉宽调制(SVPWM)原理和算法的分析,提出一种基于现场可编程门阵列(FPGA)的SVPWM信号发生器的设计方案,介绍SVPWM模块的FPGA生成方法,并在FPGA上得到了具体的验证和实现。该设计利用SVPWM算法和FPGA的优点,使SVPWM算法不仅易于实现数字化和实时控制,而且直流电压利用率高、控制性能好,对设计高性能的运动控制系统有重要的应用价值。
FPGA;SVPWM;变频调速
0 引言
随着永磁材料、电力电子技术和微处理控制器的发展以及各种控制策略的不断提高,数字控制器在运动控制领域应用越来越广泛。空间矢量脉宽调制(space vector pulse width modulation,SVPWM)技术是通过对三相坐标进行坐标变换,用两相静止坐标系描述交流电机的电压矢量空间,通过控制不同开关状态构成的8个空间矢量合成运行轨迹逼近圆形磁场[1]。相比于SPWM调制方法,SVPWM技术具有电压谐波少、电机转矩脉动小、开关切换频率降低、直流电压的利用率高等优点[2],因此SVPWM广泛应用于数字变频控制系统。
目前,数字信号处理器(digital signal processor,DSP)广泛应用于矢量控制系统,但由于DSP是串行运算,对于复杂系统,需采用处理速度快、处理数据量大、高可靠性和高实时性的底层信号算法[3],DSP无法满足要求。而现场可编程门阵列(fieldprogrammable gate array,FPGA)具有并行处理、运算速度快、可靠高等特点,能够实现复杂的底层控制算法。FPGA主要用软件方法实现硬件的电路,对芯片进行验证,使硬件电路设计和软件需求很好地结合统一,节省研发费用和流片的损失。
1 SVPWM的基本原理
SVPWM[4]主要思想是把交流电机和逆变器看作一个整体,以三相对称正弦波电压供电时,电动机产生的理想磁链圆作为参考标准,通过切换三相逆变器的不同开关模式,使逆变器输出的空间电压矢量运行轨迹尽量近似于基准的磁链圆,进而控制驱动器工作达到变频调速目的。
三相电压源型逆变电路如图1所示。
图1 三相电压源型逆变电路
在实际运行中,为防止上下桥臂导通发生短路,损毁器件,上下桥臂的开关状态要互补。每相桥臂的开关状态分别对应SA、SB、SC,每相桥臂上桥臂关断下桥臂接通用0表示,反之则为1。逆变器的工作状态可以用上下桥臂的开关状态表示,其工作状态共有8种,如图2所示。8种工作状态分别对应8个电压矢量[5],其中6个基本电压矢量为U1(001)、U2(010)、U3(011)、U4(100)、和2个零电压矢量为6个基本电压矢量在空间上依次相差(1/3)π,每个基本电压矢量的幅值为(2/3)UDC。2个零电压矢量位于中心位置,幅值为零。6个基本电压矢量和2个零电压矢量将电压空间矢量划分为6个扇区,任意电压矢量可以在每个扇区内,用相邻的2个基本电压矢量和零电压矢量合成。因此,Ui如式(1)所示。
由式(1)可知,与逆变器8种导通方式对应有8种输出电压控制矢量。
图2 基本空间矢量
2 SVPWM控制算法的设计
SVPWM控制算法实现:通过锁相环产生不同的时钟频率,控制三相正弦波和三角载波,其中正弦波通过CORDIC[6]算法产生,以确定扇区和基本电压矢量的作用时间;再把三相调制波对应于三相逆变器上桥臂的开关导通时间,用三相调制波与三角载波进行比较,产生六路触发脉冲。然而逆变器在实际工作中,通常要设置死区时间(一般为3 us ~5 us),以防止上下桥臂之间的开关器件同时导通,出现短路故障[7]。SVPWM算法由扇区判断模块和基本电压矢量作用时间模块、电压空间矢量切换点模块、比较值模块、三角载波模块、死区时间设置模块等组成。SVPWM算法的设计框图如图3所示。软件设计在Quartus II环境下,采用Verilog HDL语言编写各个子模块。
图3 SVPWM算法的设计框图
2.1 判断扇区模块
表1 变量N与扇区的关系
本系统利用10 kHz时钟采集信号,同时采用200 kHz 时钟对采集的信号进行处理运算。扇区判断模块封装图如图4所示。
图4 扇区判断模块封装图
2.2 基本电压矢量作用时间模块
工作时间取T = 100 us ,UDC= 220 V。
上述变量都为16位Q14格式。基本电压矢量作用时间模块封装图如图5所示。
图5 基本电压矢量作用时间模块封装图
2.3 电压矢量切换点模块
表2 各扇区与T1、T2的关系
其中,T为开关周期;Ta、Tb、Tc为扇区的切换点。
电压矢量切换点模块封装图如图6所示。
图6 电压矢量切换点模块封装图
2.4 比较值模块
表3 各扇区与矢量切换点的关系
比较值模块封装图如图7所示。
图7 比较值模块封装图
2.5 三角载波模块
产生一个周期100 us的三角波,三角波时钟计数最大值为2500,最小值为0。当比较值模块确定完成后,产生一个done_sig2信号(高脉冲),使三角波模块产生三角波信号。通过和三角波比较,得到三路pwm1、pwm2、pwm3信号。三角载波模块封装图如图8所示。
图8 三角载波模块封装图
2.6 死区时间模块(三路变六路)
本设计设置死区延时时间为3 us,即经过上下桥臂的信号同时是低电平的时间为3 us。死区时间模块封装图如图9所示。
图9 死区时间模块封装图
2.7 SVPWM模块
整合前面的所有模块,组成一个完整SVPWM模块。SVPWM模块封装图如图10所示。
图10 SVPWM模块封装图
3 SVPWM模块仿真及FPGA验证
3.1 SVPWM的仿真结果
SVPWM模块由锁相环产生3个时钟信号clk_10 kHz、clk_200 kHz和clk_50 MHz驱动,分别工作于不同的模块。在一个采样周期内采样直轴和交轴的电压分别为经过扇区判断和工作时间确定,产生比较值。加入三角载波和死区时间,生成所需的PWM信号。通过Qurartus II 10.0和Modelsim 10.1对整个SVPWM模块进行功能仿真。相应的仿真结果如图11所示。
图11 SVPWM模块的功能仿真图
由于系统设计的开关周期为100 us,而三角波的产生主要由clk_50 MHz时钟计数。clk_50 MHz时钟计数从0递加最大值2500,之后再从2500逐减到0,故三角波的周期为2500×2/50=100 us。为了实现系统的同步,在产生三角波的同时,输出一个周期为l00 us的clk_200 kHZ信号作为电流环的采样时钟。同时选取死区时间为3 us。通过图11仿真结果可以看出,输出的6路SVPWM波形和实际理论计算的结果相符合,说明SVPWM的电路设计正确。
3.2 硬件的验证结果
在DE2 115 FPGA板的开发平台上,将QuartusII上编写的Verilog HDL代码下载到FPGA板上进行验证。采用PWM载波频率为50 MHz,死区为3 us,将生成的SVPWM波通过三相逆变器调制,经过RC滤波电路后可得到三相(U、V、W)互差的正弦相电流波形。U、V、W三相的相电流的波形如图12所示。该波形进一步验证了设计的正确性。
图12 U、V、W相电流波形图
4 结语
SVPWM算法采用硬件方式实现,克服了高性能的运动控制系统中软件在速度和资源占用的缺点。为进一步研究高性能运动控制系统的SOC化、全数字化打下了基础。
[1] Hadiouche D,Razik H,Rezzoug A. Study and simulation of space vector PWM control of doubl-star induction motors[J]. IEEECIEP,Acapulco,Mexico,2007,10(4):42-47.
[2] 窦汝振,刘钧,温旭辉,等.SVPWM控制逆变器死区补偿方法的研究[J].电力电子技术,2004,38(6):59-61.
[3] 黄翔.基于FPGA的交流电机调速控制系统研究[D].长沙:中南大学,2012.
[4] 熊健,康勇,张凯,等.电压空间矢量调制与常规SPWM的比较研究[J].电力电子技术,1999,33(1)25-28.
[5] 祁超,王庆章,赵耀,等.基于FPGA 的三相SVPWM调制算法的实现[J].南开大学学报:自然科学版,2011,44(4):28-29.
[6] Zhou Zhu. Implementation and studies on direct digital frequency synthesis based on CORDIC algorithm[M]. National University of Defense Technology, 2005.
[7] 许燕青,贾锋,孙虎.电压空间矢量调制技术的FPGA实现[J].实验室研究与探索,2013,32(9)101-105.
[8] 何杰,王家军.基于SVPWM的永磁同步电动机系统建模与仿真[J].机电工程,2009,26(7):77-82.
Design of Algorithm of SVPWM Based on FPGA
Liu Bin Xie Yun Liu Yanjiang
(Dept. of Automation, Guangdong University of Technology)
A fully digital scheme of SVPWM generator based on FPGA is proposed in the paper. The method of generating SVPWM module of FPGA is introduced,which is verified in FPGA. Taking advantages of the SVPWM and FPGA, the scheme not only achieves simpler algorithm, easier real-time control operation, but also gains higher DC voltage utilization and perfects control performance. The scheme has application value in the high-powered motion control system.
FPGA; SVPWM; Frequency Control of Motor Speed
刘斌,男,1988年生,硕士研究生,主要研究方向:变频与电机控制、IC设计。E-mail: 1678811796@qq.com
谢云,女,1964年生,博士,副院长,教授,硕导,主要研究方向:IC设计、信息与通信技术、智能机器人技术等。
刘燕江,男,1990年生,硕士研究生,主要研究方向:IC设计、变频与电机控制。