SVPWM总结
空间矢量算法 是以逆变器和电机作为一个整体来研究的。目标是产生电机定子的圆形磁场

模态选择, 上管导通 状态为1
下管导通 状态为0
那么状态为000 001 010 011 100 101 110 111
分别计算合成矢量的幅值
状态001
以
为基准点进行计算
状态001 AO=
BO=
CO=

蓝色的箭头是黄色和绿色的箭头合成的,合成以后,状态001对应的矢量为
与水平夹角为-120度 模值为Ud

状态010
AO=
BO=
CO=



合成以后。对应010的矢量如下图
状态011
AO=
,BO=
,CO=

合成以后,状态011 的矢量


状态100
AO=
BO=
CO=

合成以后 状态 100 对应的矢量 如下 模值为Ud ,与水平的夹角为Ud


状态101
AO=
BO=
CO=

合成的向量为 与水平线的夹角为-60度,

状态110
AO=
BO=
CO=

状态110合成的空间矢量是 模值为 Ud


状态111 状态000 合成的矢量的模值都是0
将上面的6种状态列写成表格
|
状态001 |
与水平线夹角120度 模值为 |
|
|
状态010 |
|
|
|
状态011 |
与水平线的夹角为0度 模值为
|
|
|
状态100 |
与水平线的夹角为0度 模值为Ud
|
|
|
状态101 |
与水平线的夹角为-60度, 模值为Ud
|
|
|
状态110 |
与水平线的夹角为60度 模值为Ud
|
综上这些电压适量 构成一个六边形







先记住一个结论:电压空间矢量所形成的正六边形的轨迹可以看作是异步电动机定子磁链
矢量端点的运动轨迹。
于是产生下面的图














从上面的图可以知道


再有一个结论:在任何时刻所产生磁链增量
的方向取决于所施加的电压矢量
,(
共有8个,如上表所示,),磁链增量的幅值
正比于施加电压矢量的时间
。
写到这里总结如下:
- 电压矢量的幅值为Ud
- 磁链增量
的方向由施加电压矢量的
决定。不同的
对用不同的角度,例如
与水平线的夹角为0度
例如
与水平线的夹角为60度
例如
与水平线的夹角为120度
例如
与水平线的夹角为180度
例如
与水平线的夹角为240度
例如
与水平线的夹角为300度
- 理论上,通过三相板桥的拓扑,通过选择不同的电压矢量,以及控制矢量的作用时间,就可以使电机的电子产生圆形的旋转磁场。
7段法计算
现在我先要做出扇形图
先绘制出来合成的电压空间矢量的图












U2(状态010电压矢量 红色箭头) U6(状态110电压矢量 绿色箭头)
U3(状态011电压矢量 紫色箭头) U4(状态100电压矢量 黄色箭头)
U1(状态为001电压矢量 粉红色箭头) U5(状态为101的电压矢量 蓝色箭头)

现在推导在各扇区的的作用时间,在
,
坐标系列下进行变换。
首先要明确一点: 在 xyz 坐标系下 6个基本矢量的幅值是
从三相坐标系到两相静止坐标系进行等幅值变换 6个基本矢量的幅度为

扇区1: 由两个基本矢量U4和U6线性组合












(1)式
(2)式
在
坐标系下 等幅度变换
等于
等于
(3)式
(4)式
令
m称为SVPWM调制系数
由(3)式和(4)式 知道
(5)式
(6)式
由(5)(6)可以看出来:如果知道了空间矢量
与
轴的角度值
,便可以求出基础向量
和基础向量
的作用时间。缺点:在进行程序 运算的时候求
不是很直接。
现在我想用U1和U2和U3的来表示某个扇区内,基本矢量的作用时间
于是:
令

由(1)(2)式得到

整理:
(7)式
(8)式
由(8)式 得到
(9)式
将(9) 式带入(7)式

综上
最后:









扇区2 U2
U6
Uref







(1)式
(2)式
(1)式

(3)式
(2)式-(3)式 
(2)式+(3)式 

扇区3 U2 beta轴















Uref
U3 alpha轴

化简:
(1)式
(2)式
因为:在第三扇区
所以 
所以 
- 式和(2)式可化简为:
(3)式
(4)式
将(4)式带入(3)式子


扇区4 
























U3向量 
U1向量
(1)式
(2)式
因为第四扇区
所以 
所以 
- 式和(2)式可以化简为:

进一步化简:

综上 

扇区5 






















Uref向量
U1向量 U5向量
(1)式
(2)式
因为
所以
因为
所以 
化简:
(3)式
(4) 式
(3)式乘以
(5)式
(4)式与(5)式相加

(5)式减(4)式

扇区六 





U4向量
















Uref向量
U5向量
(1)式
(2)式
因为在第6扇区
所以
,因为
,所以
- 式与(2)式化简为
(3)式
(4)式
(3)式乘以
有
(5)式
(5)式减去(4)式 

把上面的六个扇区计算得到的作用时间列写成表格,注意当旋转磁场旋转到定子圆周的某一任意位置,此时的
,
是确定的,因为
,
,
是
,
的线性组合,
所以作用时间就可以精确的计算出来。
|
扇区位置 |
作用时间 |
|
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
三相电压给定所合成的电压向量旋转的角速度为
,
是三相输入电源的角频率
假设开关频率为
,那么频率比为
, 可以认为我程序把电压旋转平面分割成了
个
小增量。
那么电压向量每次增量的角度为:

以第一扇区为例。假设在某一个开关周期
时间间隔内,注意是一个开关周期时间间隔
内, 图中电压向量所出现的时间次序为
,
,
,
,
,
,
,
,
则PWM 的开关状态如下图所示:

在下一个Ts时间段内,合成的电压矢量
增加一个角度
,但是
依然在第一扇区内,
可以利用公式
重新计算
,
,
,
的值, 然后继续得到如下图的开关波形,只不过此时的
,
,
在水平的位置都与上一次有所不同

这样每一次载波周期都会合成一个新的电压矢量
,随着
的逐渐增大,电压矢量
将依次进入第一扇区,第二扇区,第三扇区,第四扇区,第五扇区,第六扇区。
综上 假设开关频率是6kHz,输出的频率是50Hz
,那么可以认为每个扇区有20个合成的电压矢量,也就是说 在第一扇区 有20个不同的
,
,
组合。
所在的位置与开关切换顺序对照表
扇区一:

扇区2

扇区三:

扇区4

扇区5

扇区六

扇区 所在位置的判断方法:



























|
扇区 |
落在此扇区的必要条件 |
进一步推导 |
|
1 |
|
|
|
2 |
|
两边同乘 所以 |
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
若进一步分析上面的条件
令

制定以下规则,若
,则A=1 否则 A=0
若
,则B=1 否则B=0
若
,则C=1 否则C=0
|
扇区1 |
|
A=1 B=1 C=0 |
N=3 |
|
扇区2 |
|
则A=1 B=0 C=0 则A=1 B=0 C=0 |
N=1 |
|
扇区3 |
|
则A=1 B=0 C=1 |
N=5 |
|
扇区4 |
|
则A=0 B=0 C=1 |
N=4 |
|
扇区5 |
|
A=0 B=1 C=1 |
N=6 |
|
扇区六 |
|
A=0 B=1 C=0 |
N=2 |
综上 N值与扇区的对应关系
|
N |
3 |
1 |
5 |
4 |
6 |
2 |
|
扇区号 |
第一扇区 |
第二扇区 |
第三扇区 |
第四扇区 |
第五扇区 |
第六扇区 |
通过上面的方法只是通过简单的加减法则即可确定所在扇区的位置,这对于提高系统的响应速度很有意义。
SVPWM总结的更多相关文章
- Matlab 仿真实现TI Instaspin 的Foc 逆Clarke变换和SVPWM
一直没搞明白TI 的Instaspin的SVPWM实现原理,最后只能在Matlab里仿真看看输出波形是不是和普通的SVPWM实现输出的波形一样,用M文件实现,下面是代码: clear all; the ...
- 基于stm32f427实现SVPWM控制永磁同步开环转动
1.SVPWM原理简介 PWM(Pulse Width Modulation)脉宽调整,这是一种利用面积等效原理实现的控制技术.SVPWM(Space Vector PWM)空间矢量PWM控制,因为控 ...
- STM32 使用IQmath实现SVPWM
IQMATH TI的片子很香,做的也很好,但是成本相对ST会更高,电机控制方面,TI无疑是做的最好的方案之一,另外TI针对没有浮点运算器的定点DSP推出了IQMATH库,在使用Q格式对数据进行分析和处 ...
- SVPWM实现概述
SVPWM是FOC的基础,其实现流程大致如下所示: 1. 判断合成矢量所在扇区 2. 计算相邻矢量作用时间 3. 计算各桥臂导通时间 4. 得到各相PWM占空比 5. 更新相应寄存器值 SVPWM目 ...
- stm32定时器时钟以及中间对齐模式
在永磁同步电机的控制中,需要对电机的三相定子施加一定的电压,才能控制电机转动.现在用的较多的是SVPWM(SVPWM的具体原理会在后面另写一篇博客说明),要想产生SVPWM波形,需要控制的三相电压呈如 ...
- 【STM32系列汇总】小白博主的STM32实战快速进阶之路(持续更新)
我把之前在学习和工作中使用STM32进行嵌入式开发的经验和教程等相关整理到这里,方便查阅学习,如果能帮助到您,请帮忙点个赞: 本文的宗旨 STM32 只是一个硬件平台,同样地他可以换成MSP430,N ...
- FOC 算法基础之欧拉公式
文章目录 欧拉公式 几何意义 复数平面 动态过程 加法 FOC电压矢量的推导 总结 参考 FOC中电压矢量合成的推导,对于欧拉公式的几何意义做了一个全面的回顾. 欧拉公式 欧拉是一个天才,欧拉公式甚至 ...
- FOC 转子初始位置检测(图文详解)
本文介绍了PMSM的转子初始位置的各种情况: 文章目录 1 什么是转子的初始位置? 2 如何让转子运行到初始位置? 3 iq=IDC;id=0;θ=0i_{q}=I_{DC} ;i_{d}=0;\th ...
- FOC 电流采样方案对比(单电阻/双电阻/三电阻)
如果本文帮到了你,帮忙点个赞: 如果本文帮到了你,帮忙点个赞: 如果本文帮到了你,帮忙点个赞: 创作不易 谢谢支持 文章目录 1 电流采样的作用 2 硬件架构 3 采样关键 4 采样方案 5 三电阻采 ...
随机推荐
- 【PAT甲级】1030 Travel Plan (30 分)(SPFA,DFS)
题意: 输入N,M,S,D(N,M<=500,0<S,D<N),接下来M行输入一条边的起点,终点,通过时间和通过花费.求花费最小的最短路,输入这条路径包含起点终点,通过时间和通过花费 ...
- 【PAT甲级】1006 Sign In and Sign Out (25 分)
题意: 给出学生人数M,输入M组学生ID,到机房的时间,离开机房的时间.输出最早到机房的学生的ID,空格,最后离开机房的学生的ID.(M大小未给出,就用了1e5) AAAAAccepted code: ...
- Eth合约攻击续
合同代表一个非常简单的游戏:谁给它发送了比当前奖金还大的数量的以太,就成为新的国王.在这样的事件中,被推翻的国王获得了新的奖金,但是如果你提交的话那么合约就会回退,让level重新成为国王,而我们的目 ...
- js实现超范围的数相加
在js中能表示的最大安全整数是 9007199254740991,可以用API Number.MAX_SAFE_INTEGER 看一下 超出范围就会发生精度丢失,像这样 解决方法: 相当于一个字符串 ...
- Python 基础之模块之os os.path 及os与shutil对比
一: os 对系统进行操作 #注:以下操作都在linux环境下操作,且很多运行之前需要做好相关条件import os#(1)system() 在python总执行系统命令#os.system(&quo ...
- 使用C语言实现文件的操作
#include <stdio.h> int main(int argc, char* argv[]) { // 创建文件类型 FILE* file; char buf[1024] = { ...
- CyclicBarrier 解读
简介 字面上的意思: 可循环利用的屏障. 作用: 让所有线程都等待完成后再继续下一步行动. 举例模拟: 吃饭人没到齐不准动筷. 使用Demo package com.ronnie; import ja ...
- MySQL操作之DDL
目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...
- 以及Hibernate和Mybatis区别
ORM框架? Object Relational Mapping,对象-关系映射. 项目中的业务实体有两种表现形式:对象和关系数据,即在内存中表现为对象,在数据库中表现为关系数据. 为什么需要ORM框 ...
- JS 函数创建、封装、调用
一.简单函数创建.封装 第三种就是构造函数 function fun(a,b){ this.firstName=a this.lastName=b } var x=new myFun(Jhon,Dav ...



与水平线的夹角为120度 模值为
















,
,且


,且
或者
,因为

,
且 

,
,且

,且
或者
,
且



或者





或者


