【chap2 三相PWM技术(SVPWM,SPWM,SFPWM)】

文章详细介绍了SVPWM(空间电压矢量脉宽调制)的扇区计算、XYZ计算、矢量作用时间和PWM生成过程,同时探讨了SPWM的基本原理和载波比、调制深度的概念。此外,还讨论了两种SPWM的改进算法,包括基于三次谐波注入和基于零序分量注入的方法,以提高直流母线电压利用率。最后,提到了SFPWM(分数调制PWM)在电流控制中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在这里插入图片描述
在这里插入图片描述
A 桥臂上面开关器件打开,B、C 桥臂下面开关器件打开时,三相逆变电路可简化为下面电路,相电压之比为[2:-1:-1],其他情况类似。
在这里插入图片描述


一、SVPWM

1.扇区计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

当参考电压矢量Uout角度确定时可采用下列方式计算扇区。
在这里插入图片描述

2.XYZ计算

在这里插入图片描述

3.矢量作用时间计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.扇区切换时间点计算

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.生成PWM

与三角波作比较,参数设置如下
在这里插入图片描述

在这里插入图片描述

5.整体框图

Udc和Tpwm为外部变量(可自己设置)
在这里插入图片描述
创建MASK,打包进subsystem,右键create mask,在Parameter&Dialog中新建edit控件(删除旧的),添加描述和变量,可右侧设置默认值。
在这里插入图片描述

二、SPWM

常规的SPWM算法是将三角载波与对称的三相正弦调制波作比较,生成PWM波形,这实际上是一种相电压控制方式

定义三相正弦相电压
在这里插入图片描述
载波Vs的幅值为Vsm,频率为fc。
则:载波频率除以调制波频率为载波比,调制波幅值除以载波幅值为调制深度。
在这里插入图片描述
在这里插入图片描述

一般载波的频率远大于调制波频率,载波幅值大于等于调制波幅值。调制波幅值如下:
在这里插入图片描述
由三桥臂的开关信息计算得到三相电压的幅值
在这里插入图片描述
spwm实现,调制波乘以调制深度与三角载波比较,载波频率远高于调制波频率(一般为整数倍),得到三桥上下开关器件的开关信息。(Mm取0.7)
在这里插入图片描述

三、SPWM的改进算法

1.基于三次谐波注入的SPWM算法实现

直流母线电压利用率是用线电压基波的幅值除以直流电电源。线电压是相电压的sqrt(3)倍。为了提高利用率,可以在调制信号处注入三次谐波分量。(Mm=0.7*1.1548)

在这里插入图片描述
三次谐波参数:
在这里插入图片描述

在这里插入图片描述

2.基于零序分量注入的SPWM算法实现

在这里插入图片描述
零序分量的取值有多种,Vmax和Vmin是三相幅值的最大最小。

1.均值零序分量

在这里插入图片描述
在这里插入图片描述

2.极值零序分量

在这里插入图片描述
在这里插入图片描述

3.交替零序分量

在这里插入图片描述在这里插入图片描述
PWM Generator (2-Level)的使用
在这里插入图片描述
不同步模式下载波频率由内部设置的载波频率决定,同步时由调制比决定,phase决定载波的相位,90°在上下两三角的分离处。
调制信号可选择内部生成或者外部输入。

四、SFPWM

1、生成PWM

当电流目标值高出电流实际值H时,relay输出1,表示上桥臂导通,增大电流,低出电流实际值H时,relay输出0,表示下桥臂导通,减小电流。
在这里插入图片描述
relay参数设置:
在这里插入图片描述

2、生成相电压

仿真参数设置:
在这里插入图片描述
受控电压源接收三相线电压,组合生成va,vb,vc。

在这里插入图片描述
在这里插入图片描述

实际电流经过低通滤波器滤去高频电流信号,与电流目标值作比较,大于0,则上桥臂导通,电压为正值,电流上升。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令显示图像曲线

figure(1)
plot(Nr.time,Nr.signals.values,'k');
grid on
xlabel('Times(s)');
ylabel('电机转速Nr(r/min)');

figure(2)
plot(Te.time,Te.signals.values,'k');
grid on
xlabel('Times(s)');
ylabel('电磁转矩Te(N.m)');

figure(3)
plot(Iabc.time,Iabc.signals.values);
grid on
xlabel('Times(s)');
ylabel('三相电流Iabc(A)');

结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


总结

记录SPWM和SVPWM的生成方法和过程,以及一些SPWM的改进算法。

### SVPWM 中三角波生成原理及应用 在空间矢量脉宽调制(SVPWM)中,为了实现高效且精确的电压调节,通常会采用特定的方法来生成用于比较的载波信号——即三角波。然而,在传统理解下,SVPWM并不像正弦PWM那样依赖于简单的三角波与参考信号之间的直接比较。 相反,SVPWM的核心在于利用两个相邻的空间电压矢量及其零矢量组合成期望的有效矢量,从而逼近圆形旋转磁场[^1]。具体来说: - **有效矢量的选择**:根据当前扇区确定最接近目标角度的有效矢量。 - **作用时间计算**:对于选定的一对非零基本电压矢量\(V_1\)\(V_2\),以及可能存在的零矢量\(V_0\)或\(V_7\),依据所需合成矢量的位置角θ幅值Uref,按照一定规则分配各矢量的作用时间段T1,T2,T0(当使用零矢量时)[^1]。 尽管如此,在某些简化模型或者教学场景里,可能会引入类似于SPWM中的三角形载波概念以便更好地解释如何决定开关状态的变化时刻。此时,“虚拟”的三角波被用来作为参照物帮助判断何时切换不同的电压矢量以形成近似的圆轨迹运动[^3]。 实际上,在实际工程实践中,特别是在软件实现方面,更多时候是通过查找表法或是实时运算的方式来确定各个功率器件的具体导通关闭时机,而不是真正意义上地去产生并比较物理上的三角波[^2]。 ```c // C语言伪代码示例展示了一个简单版本的时间比例分配逻辑, // 这种方式间接实现了类似三角波的功能而无需显式创建三角波本身。 void calculateSwitchingTimes(float U_ref, float theta){ // 假设已知最大允许周期 T_max 最小步长 t_step int sector = determineSector(theta); // 判断所属区域 float ratio = computeDutyCycle(U_ref,theta); switch(sector){ case 1: T_on_V1 = ratio * T_max; T_off_V1= (1-ratio)*T_max; break; ... } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值