朱超,刘伟
(江苏科技大学 电子信息学院,江苏 镇江 212003)
基于FPGA改进型正弦波逆变器的设计
朱超,刘伟
(江苏科技大学 电子信息学院,江苏 镇江 212003)
基于FPGA实时生成正弦波的目的,采用了以Xilinx公司的Zynq-7系列FPGA芯片ZedBorad作为控制器,并且结合DDS技术的方法。通过使用Xilinx公司提供的Xilinx Design Tools中的System Generator工具,调用Simulink库中Xilinx开发的模块,下载到FPGA中,产生双极性SPWM波的试验。实验结果表明,此方法设计简单,控制灵活,波形稳定,不失真,具有很强的实用价值。
FPGA;正弦波;DDS;SPWM
逆变器的功能是把直流电转变成交流电,它由逆变桥,SPWM波模块,驱动模块和滤波电路组成。其中SPWM逆变电路是产生纯正正弦波的关键[1],SPWM波模块产生一直是研究的热点。PWM(Pulase Width Modulation)就是脉冲宽度调制技术,也就是占空比可变的脉冲波形。PWM控制技术就是以该结论为理论基础,对半导体开关器件的导通和关断进行控制,使输出端得到一系列幅值相等而宽度不相等的脉冲,来等效地获取所需要的波形。在进行脉宽调制的时候,如果使脉冲系列的占空比按照正弦规律来安排,则输出电压经过滤波可以得到正弦波形,同时使得负载电流中的谐波成分大为减小,称之为正弦波脉宽调制(SPWM)[2]。
在生成SPWM波过程中,DDS(俗称直接数字频率合成)技术被广泛使用。通过DDS技术,辅以相应的软硬件平台,可以生成多种波形。比如三角波,锯齿波,正弦波和矩形波等等。采用DDS技术作为信号源,使其超越了以传统模拟方式的信号源,实现了数字技术的飞速发展。函数信号发生器的实现方法通常是采用分立元件或单片专用集成芯片,但其频率不高,稳定性较差,且不易调试,开发和使用上都受到较大限制[3]。随着可编程逻辑器件(FPGA)的不断发展,直接频率合成(DDS)技术应用的愈加成熟[4],基于FPGA(Field-Progra mmable Gate Array简称FPGA[5])的信号发生器,采用DDS原理产生的信号发生器与基于专用的DDS芯片信号发生器相比,实现更简单灵活,成本更低,并且辅以FPGA的可编程能力,自定义模块,大大丰富了DDS技术应用与发展。
本设计将采用调用Simulink库中Xilinx开发的模块,调用Simulink库中Xilinx开发模块,搭建Matlab模型,进行在线仿真,并可生成FPGA的IP核(intellectual property core全称知识产权核),在SDK中生成SPWM模块的接口函数,使得许多复杂自定义的模块都有了新的实现方法。本文研究了基于FPGA正弦波逆变器设计,以改进的DDS技术以及新的实现方法,调制SPWM波,完成正弦波的输出。实验验证,该方案可以实现预定指标的正弦波的输出。
本设计中逆变器系统,主要包括了FPGA主控制电路,逆变驱动电路,单相全桥逆变电路,输出滤波电路以及采样电路等。FPGA作为主控制芯片,输出SPWM信号,逆变电路完成直流到交流的转换,滤波后得到光滑的正弦波信号,同时通过采样电路,实时对正弦波信号进行修正,完成输出符合要求的正弦波。
1.1 SPWM技术的原理
面积等效原理,即使面积相等但形状不同的窄脉冲输入经过具有惯性的环节,即可输出基本相同的相应波形。正弦脉宽调制法(简称SPWM)即是根据面积等效原理,将正弦波用脉冲的宽度按正弦规律变化的一系列矩形脉冲等效实现,当正弦波和三角波自然相交点生成的即是脉冲序列的宽度。SPWM控制的方法有计算法和调制法两种,由于计算法过程复杂繁琐,所以通常我们采用调制法。在调制法中,如果需输出SPWM波信号,通常采用用等腰三角波作为载波,调制信号选择正弦波信号,在电路中以载波和正弦波的交点时刻对开关管的进行开通与关断,通过改变调制波的幅值、相位和频率即可方便的改变输出波的幅值、相位和频率[6]。
文中主要针对单相逆变电路进行设计,采用H桥拓扑结构,以四路互补带死区的SPWM波驱动逆变器。SPWM调制技术分为单极性SPWM控制和双极性SPWM控制。单极性SPWM控制的主要优点是两只功率管在一个开关周期之内以较高的频率按照正弦变化的占空比切换互补开关,从而得到理想的正弦输出电压。但单极性调制波形在驱动开关管时,切换工作方式,会造成过零点失真现象[7]。而双极性SPWM由于4个功率管都同时工作在较高频率,其完全对称的工作方式,从而很好的解决了过零点失真现象,故本设计采用双极性SPWM控制。
1.2DDS技术原理
最初的DDS从相位概念出发直接合成所需波形,是一种全数字化的频率合成技术。典型的DDS系统由相位控制寄存器、频率控制寄存器、地址发生器、波形查找表(ROM/RAM)、D/A转换器和低通滤波器(LPF)组成[8]。其原理是在把在存储单元中的数据点,以控制电路为辅,可变的速率协调下,将波形传递给后级的硬件电路。而本文基于FPGA全部数字化的设计,省去D/A转换器和低通滤波器,也可达到输出正弦波的效果。如图1所示,DDS产生SPWM波原理框图。
图1 DDS产生SPWM波原理框图
根据SPWM的产生原理,SPWM电路主要包括正弦波产生模块、载波发生器模块、调制波与载波比较模块和死区模块等 4部分组成[19]。在正弦波产生模块中通过 CLK时钟信号作用下,从波形查找表ROM中读取正弦信号值,再与输入的幅度字相乘,得出正弦波模块的输出值。同理载波发生器模块在CLK时钟信号作用下,通过计数器发出三角载波幅值。将二者的输出值在比较模块中进行比较,经过死区模块处理后,即可得到SPWM波信号。只需要将FPGA产生的SPWM波送入硬件驱动模块,驱动逆变器的功率开关管,即可完成逆变过程。在此过程中,改变正弦波产生模块的频率字和振幅字,就可以灵活的控制逆变电压的频率和幅值。
2.1正弦波产生模块
本设计使用 Xilinx公司提供的 Xilinx Design Tools中的System Generator工具,调用启动Matlab,从而调用Simulink库中Xilinx开发的模块,在Matlab中完成设计与仿真。在MATLAB中搭建正弦波产生模块,如图2所示,pword_sin为相位字,fword_sin为频率字,aword_sin_zhenfu为振幅字。相当于在n位的寻址ROM/RAM中把0~2π的正弦信号离散成具有2^n个样值的序列,以二进制数值形式存储在2^n个地址单元[10]。DDS系统的核心是地址发生器,当正弦波产生模块在CLK系统时钟下,它由加法器和地址存储器组成,用来产生存储在片内ROM中的正弦数据的地址。经pword_sin字和fword_sin字的累加器相加后,送入16位的ROM地址发生器,后与振幅字aword_sin_zhenfu字相乘后得到正弦信号幅值。在这里,ROM地址发生器Depth设置65536,步长选择2*pi/2^16,Initial value vector设置sin(0:2*pi/2^16:2*pi。波形查找表通过IP核生成器调用block RAM,ROM中存放着正弦函数y=sin一个完整周期 (0~2π)的65536个等间隔取值,用来表示取值为16位的数据位宽。
图2 正弦波产生模块
2.2三角波产生模块
传统的DDS技术,用正弦波做基波,使用三角波作为载波,三角波通常不需要改变,通过基波与三角波的相交点,确定SPWM波的宽窄。而本设计中,为了满足多种需求,在设计三角波产生模块时,也设计成和正弦波产生模块一样,具有频率字和振幅字,改变频率字和振幅字即可得出需要的三角波。在这里ROM地址发生器Depth设置65536,y=sawtooth(pi*(0:65535)/32768,0.5),波形查找表在(0~2π)的65536个等间隔取值,用来表示取值为16位的数据位宽。这样产生的三角波,灵活性高,调制也更简单。
2.3调制波与载波的比较模块
正弦调制波的输出信号与载波的输出信号,送入调制波与载波的比较模块进行比较,得出比较信号PWM波。在此比较模块中,如图3所示,加入了死区控制功能,给定死区siqu_in的输入值,即可改变死区的大小。该方法省去了专用的死区模块。同时加入了PWM输出控制功能,通过二输入与门控制PWM波的输出。只有pwm_switch_in端口输入为1(高电平)时,才会有PWM波输出。
图3 调制波与载波的比较模块
3.1逆变电路
文中设计的单相全桥逆变电路,主回路选择H桥拓扑结构,如图4所示,主电路拓扑结构图。Q1~Q4为MOSFET开关管,型号为IRF3710,其最大电压为100 V,最大电流57 A。IRF3710开关管为电压驱动型,驱动设计简单,导通关断快,导通电阻比较小,并且可以降低开关损耗,提高逆变效率。
3.2驱动电路
在逆变电路设计中,驱动电路尤为重要,是整个逆变电路的核心。在此设计中,驱动电路包含光耦隔离和驱动电路。当四路SPWM波输出经两片光耦隔离后,输入到两片专用驱动芯片,输出带驱动能力强的SPWM波,送入逆变桥功率开关器件。隔离电路采用双通道HCPL-2630芯片,实现电压隔离。驱动芯片采用高性能的专用芯片IR2410,并且IR2410具有双通道,驱动能力强,高压高速的电压驱动型开关管。如图5所示,为驱动电路。
图4 主电路拓扑结构图
图5 驱动电路图
FPGA是Xilinx的公司Zyqn 7000系列,Xilinx Design Tools带有开发工具,主要包含Vivado,SDk,System Generator以及HLS(高级综合)等工具。其中Vivado主要生成底层硬件BitStream,导入到SDk中并编写应用测试代码。而System Generator和HLS通过调用Simulink库中Xilinx开发的模块,生成FPGA的所需的IP核,添加到工程中,使用灵活,资源丰富。
根据上述原理,利用 System Generator工具,调用Simulink库中Xilinx开发的模块,搭建产生SPWM的DDS模型,并搭建逆变器仿真模型,进行产生正弦波的验证,仿真证明该方案简便,可行。将验证可行的Xilinx开发模块,利用SDK生成FPGA的IP核,从而导入到工程中。模块会自动生成输入输出的接口函数,只需按照设计要求填充函数参数,即可达到设计要求。如图6所示,为SPWM仿真模型。
通过建立Matlab模型后,输出四路互补带有死区的SPWM波。仿真中,输入相应的参数,输出四路互补的SPWM波,改变相应的频率字,相位字等,即可输出所要求的正弦波,如图7所示,四路带死区SPWM波。
图6 SPWM仿真模型
图7 四路带死区SPWM波
当仿真验证后,通过System Generator工具生成IP核,导入SDK中工程中即可得到相应的函数接口,在程序中填充函数参数,即可得到实际输出的正弦波。
实验得出,根据以上各模块设计方案,以System Generator工具生成IP核进行电路设计,以Xilinx公司的设计软件Xilinx Design Tools作为设计平台,在SDk中进行编程,实现改进型改进型正弦波逆变器的设计。实验波形如图8所示,为设定频率为50 Hz,输出的电流有效值约1 A,带阻性负载的输出波形。此种设计,波形畸变小、曲线平滑,谐波分量低,对称性好,失真度小于2%。经过系统的验证以及硬件调试,验证了基于FPGA改进型正弦波逆变器的设计可行性,该方法具有一定的应用价值。
图8 输出的实验波形
文中主要介绍了以DDS技术的工作原理和设计过程,并结合FPGA强大的可编程能力,在实验平台上。实现了正弦波信号发生器。系统软件可在SDK下编写代码,实现数据处理和控制等功能,然后通过Xilinx Tools中Program FPGA在线调试,或者可以直接通过Program Flash,下载到FPGA中。随着FPGA可编程能力不断提高,基于FPGA平台开发信号发生器将逐步走向标准化、规模化和产品化[11]。FPGA强大的数据处理能力以及可编程能力、并且具有编程灵活,运行速率快等优点,在合理整合IP核资源和SOPC技术,简化设计结构,一定可以设计出功能多样、性能更加出色的信号发生器[12]。
[1]张贤涛,于生宝,姜卓娇,等.基于CPLD的全桥SPWM逆变控制波形生成[J].电力电子技术,2006(40):118-119.
[2]丁卫东,郭前岗,周西峰.一种基于FPGA的SPWM波的实时生成方法[J].计算机技术与发展,2011(12):213-214.
[3]高士友,胡学深,杜兴莉,等.基于FPGA的DDS信号发生器设计[J].现代电子技术,2009(16):35-36.
[4]徐金龙,刘宇红,刘桥.基于DDS原理的任意波形信号发生器的设计[J].现代机械,2006(4):74-76.
[5]赵基建.基于DSP的智能化光伏并网逆变器设计[D].广东工业大学,2014.
[6]邢晶.光伏并网发电系统中最大功率点跟踪算法的研究[D].浙江:浙江理工大学,2013:10-11.
[7]易龙强,戴瑜兴.正弦逆变电源的数字脉宽调制技术[J].湖南大学学报(自然科学版),2007(34).
[8]姚文刚,余国强,孟小锁.基于多DSP架构的电机控制系统[J].计算机技术与发展,2006,16(6):48-50.
[9]诸江,董金明.基于直接数字频率合成的三角载波移相PWM控制FPGA的设计实现[J].微计算机信息,2006,10(2):74-76.
[10]李志鹏,郭勇,沈军.基于DDS技术实现信号发生器[J].微计算机信息,2007(3):175-176.
[11]许强,贾正春.基于FPGA的三相PWM发生器[J].集成电路应用,2001.1(3):73-74.
[14]邓立新,李青雪,李 宏,邬杨波.基于FPGA的正弦波逆变器设计[J].工业控制计算机,2010(9):110-111.
Design of modified sine wave inverter based on FPGA
ZHU Chao,LIU Wei
(School of Electronics and Information,Jiangsu University of Science and Technology,Zhenjiang 212003,China)
The purpose of real-time generate sine wave based on FPGA,Using Xilinx company Zynq ZedBorad-7 series FPGA chip as a controller method,and combined the technology of DDS.By using Xilinx company Xilinx Design Tools in the System the Generator tool,called Simulink library in Xilinx development module.The test is downloaded to the FPGA,creating a bipolar SPWM wave.The experimental results show that this method is simple in design,flexible control,and waveform is
stable,no distortion,has a strong practical value.
FPGA;sine wave;DDS;SPWM
TN914
A
1674-6236(2016)21-0162-05
2015-10-20稿件编号:201510135
朱 超(1990—),男,江苏淮安人,硕士研究生。研究方向:控制工程。