第10卷第35期2010年12月 科学技术与工程 Vo1.10 No.35 Dec.2010 167l一1815(2010)35—8804—04 Science Technology and Engineering ⑥2010 Sci.Tech.Engng. 机电技术 基于VHDL的SVPWM发生器的实现 王建华付宁宁 刘卫法 (江苏科技大学电信学院,镇江212003) 摘要空间矢量脉宽调制(SVPWM)技术可以提高电压型逆变器的电压利用率和电动机的动态响应性能,还可以减小电动 机的转矩脉动。所以在电机的矢量控制系统中得到了广泛的应用。结合FPGA数据处理速度高的特点,以VHDL硬件语言来 编写SVPWM,通过QUARTUSII自带仿真软件进行仿真。结果表明:该方法可以有效地控制逆变器桥臂开关。 关键词 电机控制 VHDL SVPWM 矢量控制 中图法分类号TM34; 文献标志码A 近年来,由于DSP具有其对于新型及复杂算法 计而不必改动硬件电路。使用FPGA来开发数字电 时更短的开发时间,以及能够运行多种算法的灵活 路,可以大大缩短设计时间,减少PCB面积,提高系 性,在SVPWM(空间矢量脉宽调制)控制领域得到 统的可靠性 。 了广泛应用。但使用DSP单核心的控制方法存在 一些缺陷:它的硬件已完全固化,可开发利用的功 能只是在这个固定的硬件平台上实现其功能的最 优化,以及算法改进与优化等待,硬件实现的灵活 性很差。而且DSP在实现SVPWM触发信号时需要 较长的时钟周期;微处理器中不确定的中断响应会 导致PWM脉冲的相位抖动¨J。 而FPGA的最大优势在于硬件实现以及通过并 行处理实现的效率增益。使用FPGA,并非进行算 法设计与优化,而是逻辑设计与时序约束等等。用 户可对FPGA内部的逻辑模块和I/O模块重新配 置,以实现用户的需要。FPGA还具有静态可重复 编程和动态在系统重构的特性,使得硬件的功能可 以像软件一样通过编程来修改,它既解决了定制电 路的不足,又克服了原有可编程器件门电路数有限 图1 异步电机无速度传感器矢量控制系统硬件结构 的缺点。而且FPGA有在线修改能力,随时修改设 结合FPGA数据处理速度高等的优点,本文提 出了一种在FPGA基础上以纯硬件方式实现交流电 2010年lO月13日收到 机SVPWM调速控制的电路方案,它能有效降低系 第一作者简介:王建华(1954一),男,江苏丹阳人,副教授,研究方 向:电力电子技术。 统对电机速度的要求,并使软件设计大大简化。依 通信作者简介:付宁宁(1985一),女,河南濮阳人,硕士研究生,研 据电压空间矢量脉宽调制(SVPWM)原理,给出了 究方向:电力电子技术。 扇区判断、矢量作用时问计算、开通时间计算、开通 35期 王建华,等:基于VHDL的SVPWM发生器的实现 8805 时问分配及PWM生成等模块的设计方法,实现了 一种基于FPGA的无速度传感器矢量控制系统的 目的。 1无速度传感器矢量控制系统硬件结构 系统硬件电路主要是是由系统的主电路和控 制电路两大部分组成,其中主电路是有整流器,中 间储能环节和逆变器组成,控制电路包括运算电 路、检测电路、控制信号的输入和输出和驱动电路 组成。系统硬件电路的整体框图如1所示。 2 SVPWM基本原理 把逆变器和交流电动机视为一体,按照跟踪圆 形旋转磁场来控制逆变器的工作,这种控制方法称 作“磁链跟踪控制”,磁链的轨迹是交替使用不同的 电压空问矢量得到的,所以又称“电压空间矢量 PwM(SVPWM,Space Vector PWM)控制” 。 SVPWM的主要思想在于利用逆变器空间电压 矢量的切换合成参考电压矢量。具体方法如下:在 桥式电路中,同一桥臂上两个开关的工作状态在任 意时刻都是互补的,所以可以用二值逻辑函数表示 6个开关的工作状态: r1,上桥臂开关导通,下桥臂关断 【0,上桥臂开关关断,下桥臂导通 k=(A,B,C) (1) 由式(1)可见,3组开关的工作状态共有8种,不同 的开关工作状态对应着不同的三相输出电压。这8 种丁作状态分别对应着8条基本空间电压矢量,任 意区域内的空间电压矢量都可以由2条非零矢量和 2条零矢量合成。在进行电压矢量合成时,规定每 一次开关动作只能有一相桥臂的工作状态发生转 换,目的是为了降低电路中的谐波含量,确定基本 电压矢量的切换顺序 J。 SVPWM的合成方法是先确定理想磁链圆运行 到的区域,然后判断哪几个空间矢量来合成所需的 空问电压矢量,它们分别作用的时间是多少,通过 调整使用不同的电压空间矢量合成不同的电压空 问矢量,它们作用时间的比例决定了合成电压空间 矢量的角度,它们作用时间的长短决定了电压空问 矢量旋转速度的快慢 。 3 SVPWM模块设计及其仿真结果 SVPWM模块是整个设计的难点与重点,在这 里主要分为作用时间及输出状态模块、时间过调制 模块、PWM波输出模块、同步脉冲模块,下面将分别 进行详细的说明。 前面介绍了SVPWM的基本原理,采用VHDL 编程时,可以把对扇区的判断和作用时间长短进行 综合考虑。 在考虑每次切换时只有一个开关动作,且每个 扇区一定是从零矢量000开始,到矢量000结束,这 样可以得到每个扇区上桥臂的两个基本开关状态。 这里采用Altera公司FPGA的开发软件Quar— tusII编程,且在QuartuslI自带的仿真软件上仿真, 得到扇区所需的基本作用时问及存各个时问所对 应的开关状态如图2。 当所求作用时间 + > 时,作用后的电压 矢量将会脱离六边形本来的轨迹,跑到它的外面, 这个时候为了保证磁链为近似圆形,需要修正作用 时间 +T2<Ts,T 、T2不变,To= —T 一T2 +rs=T, 、 不变,ro=0 + I一 1+ . > , 1= — ——!, : 拿 , :0。 根据上式条件来编写程序,仿真后结果如图3。 利用有限状态机的方法设计FPGA,只须控制 三相桥臂开关状态的保持时间,就可以实现SVP— WM触发信号。这里利用状态机来实现脉冲输出。 在利用DSP或单片机时,通常采用的是三角波作为 PWM波的载波,然后利用计算 来的矢量作用时间 与j角波载波进行比较得到需要的PWM波的输 出。但利用FPGA实现这一功能时,需要输f};的状 态已经在前面所进行的基本电压矢量作用时间计 算模块时已经确定,所以只需要保持各个状态为计 算作用时间即可。 科学技术与工程 lO卷 N蜘0 3 p; 10 ns i0 61 ^ 20 葡0 ns 一 40. n= 0 elk l l 门厂]r]广]r]厂]r]r1厂1几f ]几几几几几几n厂]厂]n n厂]厂]几r]几n r]厂1广].r]n..厂].几几几.n..n厂 2 21 固m 囤mb :00039 X O003A X O003B ×0003C :00033 X 00034 X 00035 ×00036 赫 40 癌 4l syn ̄ulse -。。。。。。●。●-。。。。。。。。。。。。。。-一 广———]广———-_]广———一 函心 囤ta (00000 Z OOOOl X 00002 X O00O3 镒》6l 图tb (00101 X 00111 X 00121 X O0131 露 80 图vx :000 × lO0 X 000 X o1o X 11o Y 交 84 囝vy : ooo ×100× 110 图2作用时间及输出状态仿真波形 N蜘e 0 elk l 『 l I『 JI If Il lI 『l lI l l JI I l I I『 泌l 2 团n_tO ,oooi10)。(0000000001lOlO0110 面 0o011o[x 00000000011001l100 )血011X 000000000110011010 21 囡n-ta )ooooooolox 0000000000001001 i 1 XOOOO 00000000001010 { 40 圈n_tb 0000000011 X 00口000000口口叭10001 X 000000000000i10011 i 一59 60 团ta 000000000000101001 X 00000000000010101 1 {79 团tb 0000000000001 1001 1 X 00000000000叭i0101 图3 时间过调制仿真波形 H∞e 鲤 0 a tate l I 1 clk I 1『l ll l I『l l l l l l I I l r-] 睁2 reset 3 sF ̄cpulse l1 I 4 图tO—in 000000000001 101 1 1 1 X 000000000001 l 10000 蓼23 圈ta_in 000000000001 lOlOOO X 000000000001 i01001 42 团tbjn 00000000000101 l 100 X 00000000000101 1 101 6l 团 ec—out 000 o JX 111 icX 000 )jo[x 1i0)。1[x 000 0掰111)41[×i00 X 000 65 团 101 X 110 釜 B9 囹vy 111 X 000 图4 PWM脉冲输出仿真波形 HV 蛐e 10 0 sylIlstate 1 elk 2 j泌3 reset 啦4 u bot 5 utop _啦6 v bot -国≯ v_{oD 盼8 w bot 够8 w_top 图5 SVPWM输出波形 35期 王建华,等:基于VHDL的SVPWM发生器的实现 8807 为了使输出电压矢量谐波尽量较小,通常采用 七段式输出,即从状态开通顺序为000一 一 一 效地提升了控制系统的整体性能。由于SVPWM信 号发生器是用VHDL硬件描述语言实现的,因而可 简便地应用于逆变器控制系统中。 参考文献 11l一 一 O0。仿真波形如图4。 以SVPWM输出波形为顶层文件,综合作用时 间及输出状态模块、时间过调制模块、PWM波输出 模块、同步脉冲模块程序模型的输出,可以得到最 1 韩宝江.基于FPGA的SVPWM信号发生器设计.哈尔滨:哈尔 终的SVPWM输出波形如图5,由此验证了设计的正 滨理工大学硕士学位论文.2009 确性。 2冯垛生,曾岳南.无速度传感器矢量控制原理与实践.北京:机 械工业出版社.1996 3 Zhou Zhaoyong,Li Tieeai,Takahashi T,et a1.Design of a universal 4结束语 space vector PWM contorller based on FPGA.IEEE Applied Power Electornies.Cone ̄eneeand Ex Position,2004:1 698—1 702 本文用VHDL硬件描述语言设计了一种由有 4彭逢彪,曾岳南,郑杰然.基于FPGA的SVPWM发生器的实现. 限状态机构成的SVPWM信号发生器,该信号发生 自动化与仪器仪表,2009;3(1):27—31 5 Yang Guijie,Sun Li,Cui Naizheng.Study on method of the space 器不仅成功实现了输入时间信号到SVPWM触发信 vector PWM.Proceeding of the CSEE,China,2001:53—79 号的转换,而且具有良好的抗干扰能力。此外,其 并行处理结构可以保证三相桥臂开关同时动作,有 VHDL・based Implementation of SVPWM Generator WANG Jian—hua,FU Ning—ning,LIU Wei—fa (Jiangsu University of Science and Technology,Zhenjiang 212003,P.R China) [Abstract]Space vector PWM(SVPWM)technology can increase the voltage type inverter efifciency and the dynamic response of the motor performance,and it can reduce the motor torque motor,SO it has been widely used jn the vector control system.Based on FPGA data processing speed high characteristic,and using VHDL language to write SVPWM,through QUARTUSII own simulation software simulation.The result SHOWS that this method can effectively control the inverter bridge arm switch. [Key words] motor control VHDL SVPWM