空间电压矢量脉宽调制技术_SVPWM_在DSP中的实现步骤

合集下载

电压空间矢量的原理及其在DSP上的实现

电压空间矢量的原理及其在DSP上的实现
图6实际测得电流波形图
的SVPWM硬件模块需要相应的软件产生E乙,并确定%
所处扇区,再通过解码矩阵计算每个PWM周期中的瓦、
‰和兀,此处E和‰均以定时器计数值的形式表示。
在每一个PWM周期中,将完成动作:周期一开始,就根 据ACTR【14—12】 中定义的矢量设置PWM输出;在向上 计数过程中,在瓦/2时刻发生第一次比较匹配(计数器中 值与CMPRl中值相等),根据ACTRA【15] (即ACTRA 寄存器第15位的状态,0表示逆时针旋转,l表示顺时针 旋转)定义的旋转方向,将PWM输出转换成辅矢量,在
相似文献(10条)
1.期刊论文 潘庭龙.陈尔奎.纪志成.谢林柏.PAN Ting-long.CHEN Er-kui.JI Zhi-cheng.XIE Lin-bo 基于人工神
和240。采用软件生成SVPWM的过程是,当定时器的计
数器累加到等于CMPRx(这里选用EVA,石=1,2,3)的值
时,就会改变空间矢量对应的控制信号输出。例如在CM.
万方数据
PRl中写入7y4,CMPR2中写入%/4+L/2,CMPR3中写 入巧/4+五/2+丁.2/2。当定时器的计数器值一一与CMPRx 相匹配时,就会输出图4a所示的PWM波形。因此,生成 SVPWM的程序——定时器中断子程序要完成的任务已经 非常明确了。在主程序中根据控制策略计算出需要的频 率,等待中断的产生。在定时器中断子程序中,根据此时
机控制的DSP芯片,该芯片除了DSP固有的高速计算特
性和硬件乘法器以外,还集成了三相PWM波形发生器
(EVA和EVB两个模块)。有了这些功能,我们完全能通过
实时计算来产生任意频率的SVPWM波。在每个PWM周
期中,必须解决以、以。、0。。。和D。的开关次序问题。

基于DSP的空间电压矢量PWM技术研究与实现

基于DSP的空间电压矢量PWM技术研究与实现

基于DSP的空间电压矢量PWM技术研究与实现1引言近年来,在高性能全数字控制的电气传动系统中,作为电力电子逆变技术的关键,PWM 技术从最初追求电压波形正弦,到电流波形正弦,再到磁通的正弦,取得了突飞猛进的发展[1]。

在众多正弦脉宽调制技术中,空间电压矢量PWM(或称SVPWM)是一种优化的PWM 技术,能明显减小逆变器输出电流的谐波成分及电机的谐波损耗,降低脉动转矩,且其控制简单,数字化实现方便,电压利用率高,已有取代传统SPWM 的趋势。

本文对空间电压矢量PWM 的原理进行了深入分析,重点推导了每一扇区开关矢量的导通时间,并在TI 公司生产的DSP 上实现三相逆变器的控制,证明了分析的正确和可行性。

2空间电压矢量PWM 原理图1 为三相电压源逆变器示意图,Sa、Sb、Sc 为逆变器桥臂的开关,其中任一桥臂的上下开关组件在任一时刻不能同时导通。

不考虑死区时,上下桥臂开关互逆。

将桥臂输入点a、b、c 的开关状态用下面的开关函数表示:Sk=1(桥臂k,上桥臂导通,下桥臂关断);Sk=0(桥臂k,上桥臂关断,下桥臂导通)。

由a、b、c 的不同的开关组合,可以有23=8 个开关矢量(Sa Sb Sc),即V0(000)~V7(111),其中有六个有效开关矢量V1~V6 和两个零开关矢量V0 和V7。

利用V0~V78 个矢量的线性组合可以近似模拟等幅旋转向量,由磁链和电压间简单的积分关系,可知此时实际的电机气隙磁通轨迹接近圆形。

图2 为SVPWM 矢量、扇区及每个扇区开关方向图。

按图2,有表1 所示扇区号与k 的关系。

其中k 为以a 轴为起点,以π/3为单位,逆时针方向排列的序号,若θ为矢量与α轴夹角,则有SVPWM 技术的目的是通过合成与基本矢量相应的开关状态,得到参考电压Uout。

对于任意小的时间周期T,逆变器输出平均值与Uout 平均值相等,如式。

电压空间矢量脉宽调制原理及其在DSP上的实现

电压空间矢量脉宽调制原理及其在DSP上的实现
维普资讯
第 2 卷第 1 3 期
2 0 年 2月 08
光 电技 术 应 用
7 D 一 P = 0 J , F \ 厂
V 12 , . o . 3 No 1
Fe r a y 2 0 b r.0 8 u
文 章 编 号 :6 3 2 5 20 ) 1 0 6 —0 17 —15 (0 8 0 — 0 5 4
Ab t a t Th a i rn i l f u s d h mo ua in b s d o o t g p c e t r n r u e ,t e e p e 一 sr c : e b sc p i cpe o l wit d lt a e n v la es a e v co si i to c d h x r s p e o s d s n i a r h o r lt e p r m e e ie ,a d a h R l i ,EV d u e o i swh c c n wo k t e c r ea i a a t r i g v n n t t e S l e t o h v s T me mo l fTM S 2 F 8 2 3 0 2 1 DS sp e e t d P i r s n e .Th v fS W M a eg n r t d e sl y EV o u e e wa eo VP c n b e e a e a i b y m d l .By u i g EV d u et e e — sn mo l g n r o a eS W M v a e u e t e wo k o P i P.Th lw h r f h w o g n r t VPW M v s t VP wa e c n r d c h r f C U n DS ef o c a to o t e e a e S wa e i gv n h d a t g n ia v n a e o h sm e h h o t e r s lsfo t s r n lz d i h n ie ,t e a v n a ea d d s d a t g ft i t o t r w h e u t r m e ta ea ay e t e e d. d n

空间矢量脉宽调制技术(SVPWM)

空间矢量脉宽调制技术(SVPWM)

空间矢量脉宽调制技术(SVPWM)空间矢量脉宽调制技术(SVPWM)在交流变频控制系统中的应用越来越广泛,提高SVPWM模块的可复用性、可靠性、并缩短其开发周期成为重要研究课题。

现场可编程门阵列(Field Programmable Gate Arrays)具有简洁、经济、高速度、低功耗等优势,又具有全集成化、适用性强、开发周期短等优点,利用FPGA 实现SVPWM可以提高SVPWM的可复用性,有重要的现实意义。

本文给出了基于DSP和FPGA的交流变频控制系统的硬件设计方案,搭建了由DSP最小系统、FPGA最小系统、电流检测电路、转速和位置测量电路等组成的硬件平台,完成了印刷电路板的绘制,并对该系统进行了硬件调试。

文中介绍了电压空间矢量脉宽调制(SVPWM)原理,并重点研究了基于FPGA 的SVPWM的实现方法。

根据其算法将SVPWM按功能划分为扇区计算模块、基本电压矢量作用时间计算模块、过调制控制模块、SVPWM时间生成模块、调制波生成模块和脉冲生成模块等六个子功能模块。

先对各个子模块进行设计、仿真、验证,再将整个系统组合起来进行仿真、验证,最后在设计的硬件平台上测试了PWM波形。

最后以电机为控制对象进行了开环变频试验,电机能够正常运行,且电机定子电流为正弦波,表明基于FPGA的SVPWM模块功能正确,达到了预期的目标。

本文利用FPGA实现SVPWM,开发周期短,可移植性好,能够以IP核的形式嵌入到其它系统中去,具有很强的应用价值..……基于FPGA 的SVPWM实现方法研究SVPWM 从交流电机角度出发,控制开关,形成PWM 波,使电机中产生的实际磁链矢量逼近跟踪定子磁链给定的理想圆型磁链。

这样它能明显减小逆变器输出电流的谐波成分及电动机的谐波损耗、降低脉动转矩。

并且其控制简单,数字化方便,电压利用率高,已经成为现在电流调速中的主流发展方向。

目前实现SVPWM 的算法是使用电机控制专用DSP,例如TI 公司的TMS320F2812 或AD 公司的ADMC 系列,但这些控制器只能产生6 路或12 路得PWM 信号,不能满足多轴控制的需要,如果控制多轴系统需要增加DSP 的数量,是结构复杂,成本提高。

电压空间矢量脉宽调制_SVPWM_算法仿真实现及分析

电压空间矢量脉宽调制_SVPWM_算法仿真实现及分析


・70・ 1) 当 ‖V sref ‖ = 1 OM ) 时, 调制信号
T cm 1 =
电 力 系 统 及 其 自 动 化 学 报 2004 年第 4 期
3V
dc
(图 3 内切圆
(T - T co s ( Η- Π 6) ) 4 0 < Η< Π 3 (T - T ) 4 Π 3 < Η< 2Π 3 3 co s Η (T - T co s ( Η+ Π 6) ) 4 2Π 3 < Η< Π (T - T co s ( Η- Π 6) ) 4 Π< Η< 4Π 3 (T - T ) 4 4Π 3 < Η< 5Π 3 3 co s Η (T - T co s ( Η+ Π 6) ) 4 5Π 3 < Η< 2Π
比较器切换点
T cm 1 T cm 2 T cm 3
则扇区号 N = A + 2B + 4C。 2) 相邻两矢量作用时间的确定 ( 图 2, X Y Z 模 块)
X =
1
Tb Ta Tc
2
Ta Tc Tb
3
Ta Tb Tc
4
Tc Tb Ta
5
Tc Ta Tb
6
Tb Tc Ta
3V
sΒ ref
T V DC
调制度M = 1, 输出线电压的利用率大于 1, 输出线 电压见图 4 ( h ) , 具有梯形波调制的优点 ( 梯形波调 制 的优点见文献 [ 5 ] ) 。 在输入饱和的情况下, 虽然 直流电压利用率提高, 但由于调制信号 T cm 不是 由三角波截取而得到梯形载波信号, 而是由于饱和 抑制的作用对原本是马鞍形的载波进行限幅切顶 得到的, 所以较调制信号为梯形波的情况含有较高 的谐波分量。 此缺点将引起电动机的力矩脉振增 大, 可通过补偿法来抑制谐波干扰[ 7 ]。

SVPWM的DSP实现原理推导

SVPWM的DSP实现原理推导
SVPWM 的 DSP 实现原理推导
Written by Shinegogo(Joe Goo), mail to shinegogo@,20150709
1. PWM 矢量的基本概念 1.1 基本概念及推导
Sa+ Udc 2
Sb+
Sc+ Za Zb
三相负载
0 Zc Udc 2
Sa-
Sb-
β
u2(010)
u6(110) us
u3(011)
u0(000) u7(111)
α
u4(100)
u1(001)
图 1-3
u5(101)
电压空间矢量分解图
������������ 可分解为������������ 、������������ ,则: 举例,当 ������������ 的角度在( 3 ,
Zc 0 Za Zb -Udc 2
2 1
Udc 2
图 1-2
开关状态为 001 时 PWM 逆变等效电路
由三相的矢量和为:
2������ −2������ −2������ 1 1 2 2 ������������ = ������������������ + ������������������ + ������������������ = − ������������������ ∙ ������ ������������0 − ������������������ ∙ ������ ������������ 3 + ������������������ ∙ ������ ������������ 3 = ������������������ ∙ ������ ������������ 3 3 3 3 3 依此类推,可得出八个状态的开关状态对应空间矢量和的表,如表 1-1。

电压空间矢量脉宽调制技术的研究及其实现

电压空间矢量脉宽调制技术的研究及其实现

电压空间矢量脉宽调制技术的研究及其实现一、本文概述随着电力电子技术的快速发展,电压空间矢量脉宽调制技术(Space Vector Pulse Width Modulation,SVPWM)已成为电机控制领域中的一项重要技术。

该技术以其高效、稳定、易于实现等优点,在电力转换、电机驱动、新能源发电等领域得到了广泛应用。

本文旨在对电压空间矢量脉宽调制技术进行深入研究,分析其原理、特点以及实现方法,并探讨其在现代电力电子系统中的应用前景。

本文首先介绍了电压空间矢量脉宽调制技术的基本原理,包括其理论基础、空间矢量的定义与分类、以及SVPWM的实现过程。

接着,文章详细分析了SVPWM技术的特点,包括其调制范围宽、电压利用率高、谐波含量低等优势,并与其他脉宽调制技术进行了比较。

随后,本文着重探讨了电压空间矢量脉宽调制技术的实现方法,包括硬件电路设计和软件编程实现。

在硬件电路设计方面,文章介绍了基于SVPWM技术的电机驱动电路的设计原则和方法;在软件编程实现方面,文章给出了SVPWM算法的具体实现步骤和程序代码示例。

本文还探讨了电压空间矢量脉宽调制技术在现代电力电子系统中的应用前景,包括其在新能源发电、电动汽车、工业自动化等领域的应用,以及未来的发展趋势和挑战。

通过本文的研究,希望能够为电力电子领域的研究人员和工程师提供有益的参考和借鉴。

二、电压空间矢量脉宽调制技术基础电压空间矢量脉宽调制技术(Space Vector Pulse Width Modulation,简称SVPWM)是一种先进的PWM控制技术,它主要应用在三相电压源型逆变器的控制中。

SVPWM技术的核心思想是将三相逆变器的输出电压看作是一个在三维空间中旋转的电压矢量,通过控制这个电压矢量的幅值和旋转速度,来实现对输出电压和电流的精确控制。

SVPWM技术具有许多优点。

SVPWM可以提高电压利用率,使得在相同的直流电压下,输出的线电压峰值可以达到直流电压的根号三倍,提高了逆变器的输出电压能力。

电压空间矢量脉宽调制技术(SVPWM)的研究及其实现

电压空间矢量脉宽调制技术(SVPWM)的研究及其实现

电压空间矢量脉宽调制技术(SVPWM )的研究及其实现-------By maxthonzwq 2011年2月20日星期日 (1) 获得U α,U β:给定U d ,U q 经过PARK 变换得到U α,U β:cos sin sin cos d q U U U U αβϕϕϕϕ⎡⎤⎡⎤⎡⎤=⎢⎥⎢⎥⎢⎥−⎣⎦⎣⎦⎣⎦(2) 扇区确定:.① 先计算三个中间变量B 0,B 1,B 2:012sin 60sin 30sin 60sin 30B U B U U B U Uβαβαβ⎧=⎪=−⎨⎪=−−⎩o oo o 在使用符号函数1()0x sign x x >⎧=⎨<⎩计算扇区中间变量P 值: 2104si ()2()()P gn B sign B sign B =++P 值与扇区号之间的对应关系为:P 1 2 3 4 5 6 扇区号 2 6 1 4 3 5(3) 计算电压矢量作用时间t1,t2: 扇区1:120PWMU t T U t αβ⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦ 扇区:2:12PWMU t T U t αβ⎡⎢⎡⎤⎡⎤⎢=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦ 扇区3:120PWMU t T U t αβ⎡⎤⎡⎤⎡⎤⎢=⎢⎥⎢⎥⎢⎣⎦⎣⎦⎢⎣ 扇区4:120PWMU t T U t αβ⎡⎤⎡⎤⎡⎤⎢=⎢⎥⎢⎥⎢⎣⎦⎣⎦⎢⎣ 扇区5:12PWMU t T U t αβ⎡⎢⎡⎤⎡⎤⎢=⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦ 扇区6:120PWMU t T U t αβ⎡⎤⎡⎤=⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎣⎦同时满足120PWM T t t t =++,t 0为零矢量作用的时间,t 1,t 2分别是两个相邻电压矢量的导通时间。

如果t1+t2>T PWM,则11122212PWMPWMt Ttt tt Ttt t⎧=⎪+⎪⎨⎪=⎪+⎩;如果t1+t2<T PWM,则t1,t2保持不变。

(4) 利用t1,t2计算切换点T cm1,T cm2,Tcm3: 先计算中间变量Ta ,Tb ,Tc :1212()/4/2/2a PWM b a c b T T t t T T t T T t =−−⎧⎪=+⎨⎪=+⎩,则不同扇区内切换点T cm1,T cm2,T cm3可有下表得到: 扇区号 1 2 3 4 5 6 T cm1 T b T a T a TbT c Tc T cm2 T a T b T c T c T b T a T cm3T cT cT bT aT aT bT cm1,T cm2,T cm3是DSP 控制器中比较寄存器的值,通过与定时器计数寄存器的值进行比较来产生PWM 波, 这里采用的7段式电压空间矢量PWM 波形输出,还有5段式电压空间矢量PWM 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

空间电压矢量脉宽调制技术(SVPWM)在DSP中的实现步骤总体空间电压矢量脉宽调制技术(SVPWM)在DSP中的实现步骤:(1)获得SVPWM的输入信号UALFA,UBETA, UD,UQ经过IPARK变换得到输入信号UALFA,UBETA;(2)利用输入信号UALFA,UBETA确定扇区变量P,再通过扇区变量P确定扇区Sector;(3)利用输入信号UALFA,UBETA计算中间变量X,Y,Z,再根据不同扇区利用中间变量X,Y,Z计算t1,t2;(4)利用t1,t2计算中间变量Taon,Tbon,Tcon,再根据不同扇区利用中间变量Taon,Tbon,Tcon,计算Ta,Tb,Tc;(5)利用Ta,Tb,Tc计算占空比MfuncC1,MfuncC2,MfuncC3,之后再计算全比较器参数赋值CMPR1,CMPR2,CMPR3.详细空间电压矢量脉宽调制技术(SVPWM)在DSP中的实现步骤:(1)获得SVPWM的输入信号UALFA,UBETA;图1 PMSM矢量控制总体框图各位初学者应该首先明白空间电压矢量脉宽调制技术(SVPWM)的输入是电压量Ualfa,Ubeta。

Ualfa,Ubeta是通过IPARK变换得到的。

记住原理是原理,实践是实践,两者不同!多看看TI的例程和PDF说明文档,很有帮助!图2 SVPWM 模块框图(2)利用输入信号UALFA,UBETA 确定扇区变量P,再通过扇区变量P 确定扇区Sector ; 计算三个中间变量B 0,B 1,B 2:0011221sin 60sin 3022sin 60sin 30122B U B U B U U B U U B U U B U U ββαβαβαβαβ⎧⎪=⎧=⎪⎪⎪=−⇒=−⎨⎨⎪⎪=−−⎩⎪=−−⎪⎩o oo o o 在使用符号函数1()0x sign x x >⎧=⎨<⎩计算扇区中间变量P 值: 2104si ()2()()P gn B sign B sign B =++P 值与扇区号之间的对应关系为:P 1 2 3 4 5 6 扇区号 2 6 1 4 3 5图3 扇区变量P 与扇区SECTOR 之间关系(3)利用输入信号UALFA,UBETA计算中间变量X,Y,Z,再根据不同扇区利用中间变量X,Y,Z 计算t1,t2;计算三个中间变量X,Y,Z:122122X UY U UZ U Uβαβαβ⎧⎪=⎪⎪=+⎨⎪⎪=−+⎪⎩o根据电压矢量所在扇区确定切换时间t1,t2:扇区号 1 2 3 4 5 6 t1 -Z Z X -X -Y Y t2 X Y -Y Z -Z -X图4 T1,T2的波形(4)利用t1,t2计算中间变量Taon,Tbon,Tcon,再根据不同扇区利用中间变量Taon,Tbon,Tcon,计算Ta,Tb,Tc;1212(1)/2(0~1)aonbon acon bT t tT T tT T t=−−⎧⎪=+⎨⎪=+⎩,图5 Taon ,Tbon 的波形(5)利用Ta,Tb,Tc 计算占空比MfuncC1,MfuncC2,MfuncC3,之后再计算全比较器参数赋值CMPR1,CMPR2,CMPR3.则不同扇区内切换点T a ,T b ,T c 可有下表得到:(0.5)*2(0.5)*2(1~1)(0.5)*2a ab b cc T T T T T T =−⎧⎪=−−⎨⎪=−⎩ 范围改变EvaRegs.CMPR1 = (Uint16)(MfuncC1*Modulation*T1Period/2+T1Period/2);//A 相占空比计算,调制比Modulation =0.95EvaRegs.CMPR2 = (Uint16)(MfuncC2*Modulation*T1Period/2+T1Period/2);//B 相占空比计算 EvaRegs.CMPR3 = (Uint16)(MfuncC2*Modulation*T1Period/2+T1Period/2);//B 相占空比计算图6 Ta,Tb的波形本文主要基于TI公司C2000系列F2812例程中的说明文件svgen_dq.pdf编写而成,主要是帮助SVPWM初学者。

如有错误或者修改的地方,或者疑问,请联系QQ:546847771主要讲解技术,非诚勿扰!具体程序如下://=============================================================================== //计算Sine,Cosine,用于IPARK变换//=============================================================================== i++;i=0;if(i>256)Sine = sin(6.2831853*i/256);Cosine = cos(6.2831853*i/256);//=============================================================================== //IPARK变换:UD,UQ==>UALFA,UBETA//=============================================================================== UALFA=Cosine*UD-Sine*UQ;UBETA=Sine*UD+Cosine*UQ;//=============================================================================== //SVPWM算法实现,首先通过UALFA,UBETA确定扇区变量P//=============================================================================== B0=UBETA;B1=0.8660254*UALFA-0.5*UBETA;B2=-0.8660254*UALFA-0.5*UBETA;if(B0>0)P0=1;P0=0;elseP1=1;if(B1>0)elseP1=0;P2=1;if(B2>0)P2=0;elseP=P0+2*P1+4*P2;//==============================================================================//通过扇区变量P确定扇区Sector//============================================================================== Sector=2;if(P==1)else if(P==2) Sector=6;else if(P==3) Sector=1;else if(P==4) Sector=4;else if(P==5) Sector=3;else if(P==6) Sector=5;//=============================================================================== //根据扇区Sector计算Ta,Tb,Tc//===============================================================================X=UBETA;Y=0.8660254*UALFA+0.5*UBETA;Z=-0.8660254*UALFA+0.5*UBETA;if(Sector==1){t1=-Z;t2=X;Taon=(1-t1-t2)/2;Tbon=Taon+t1;Tcon=Tbon+t2;Ta=Taon;Tb=Tbon;Tc=Tcon;}if(Sector==2)else{t1=Z;t2=Y;Taon=(1-t1-t2)/2;Tbon=Taon+t1;Tcon=Tbon+t2;Ta=Tbon;Tb=Taon;Tc=Tcon;}elseif(Sector==3){t1=X;t2=-Y;Taon=(1-t1-t2)/2;Tbon=Taon+t1;Tcon=Tbon+t2;Ta=Tcon;Tb=Taon;Tc=Tbon;}if(Sector==4)else{t1=-X;t2=Z;Taon=(1-t1-t2)/2;Tbon=Taon+t1;Tcon=Tbon+t2;Ta=Tcon;Tb=Tbon;Tc=Taon;}else if(Sector==5){t1=-Y;t2=-Z;Taon=(1-t1-t2)/2;Tbon=Taon+t1; Tcon=Tbon+t2; Ta=Tbon;Tb=Tcon;Tc=Taon;}else if(Sector==6){t1=Y;t2=-X;Taon=(1-t1-t2)/2;Tbon=Taon+t1;Tcon=Tbon+t2;Ta=Taon;Tb=Tcon;Tc=Tbon;}MfuncC1=(Ta-0.5)*2;MfuncC2=(Tb-0.5)*2;MfuncC3=(Tc-0.5)*2;//===========================================================================//全比较器参数赋值,调制比M=0.95//=========================================================================== EvaRegs.CMPR1 = (Uint16)(MfuncC1*Modulation*T1Period/2+T1Period/2);//A相占空比计算EvaRegs.CMPR2 = (Uint16)(MfuncC2*Modulation*T1Period/2+T1Period/2);//B相占空比计算EvaRegs.CMPR3 = (Uint16)(MfuncC2*Modulation*T1Period/2+T1Period/2);//B相占空比计算。

相关文档
最新文档