热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

我理解的SVPWM(一)

文章转载自(知乎及微信账号HappytoShare)我理解的SVPWM(一)https:zhuanlan.zhihu.comp412168396https:zhuanlan.zh

文章转载自(知乎及微信账号HappytoShare)

我理解的SVPWM(一)https://zhuanlan.zhihu.com/p/412168396icon-default.png?t=L892https://zhuanlan.zhihu.com/p/412168396我理解的SVPWM(一)https://mp.weixin.qq.com/s?__biz=MzI2MjExNDMzNQ==&mid=2247484318&idx=1&sn=d27dcc27784a8789600a81fed54ae1f8&chksm=ea515eeedd26d7f86c3b0d97e6ee80f7922050e7fdaf7e1b94136bdf22a361c08c83369f0427&token=1328820438&lang=zh_CN#rdicon-default.png?t=L892https://mp.weixin.qq.com/s?__biz=MzI2MjExNDMzNQ==&mid=2247484318&idx=1&sn=d27dcc27784a8789600a81fed54ae1f8&chksm=ea515eeedd26d7f86c3b0d97e6ee80f7922050e7fdaf7e1b94136bdf22a361c08c83369f0427&token=1328820438&lang=zh_CN#rd

本文

目录

一、一般约定

二、基本电压矢量及电压矢量圆

三、最大矢量圆半径

四、为什么空间矢量的边界是六边形

五、各扇区内基本矢量作用时间计算



将介绍到:


  1. 基本电压矢量及电压矢量圆
  2. 为什么最大矢量圆半径是 \sqrt{3}/2*V_{dc}


    二、基本电压矢量及电压矢量圆

    大多数人最初接触电机控制时了解的可能是两两导通三相六状态的方波控制方式。这种控制方式根据电机的位置来选择导通不同桥臂上下各一个MOS管,理解起来比较容易。SVPWM与这种控制方式不同,SVPWM调制方式是将UVW三个桥臂分别定义为0,1两种状态,规定:


    • 0代表下管开通上管关断;
    • 1代表上管开通下管关断;

    至于为什么这样,可能要去翻一番SVPWM的发展历史了,我们就姑且认为有人发现了这么一种控制方式,将桥臂按照如上所述定义。

    三个桥臂的两种状态总共有八个组合,产生的结果如下:

    这里为了便于记忆,我们将3位二进制与十进制的0-7对应起来。如下图,第一个桥臂是W相,它的数值为0,说明它的下MOS是导通的。第二个桥臂是V相,它的数值为1,说明它的上MOS是导通的。第三个桥臂是U相,它的数值是0,说明它的下MOS是导通的。这里与大家平时习惯的UVW(有些文献喜欢用ABC)顺序相反,但是后面所有的推导都是以U轴中心线和X轴正方向一致,V轴中心线在逆时针120度位置,W轴中心线在逆时针240度位置,所以结果是普遍适用的。采用此方法是方便记忆六扇区的矢量合成图分布。

    图2

    八个导通状态如下:

    000 - v0 (zero vector)
    001 - v1 (Phase +U)
    010 - v2(Phase +V)
    011 - v3 (Phase -W)
    100 - v4(Phase +W)
    101 - v5 (Phase -V)
    110 - v6(Phase -U)
    111 - v7 (zero vector)

    下面通过电机控制的简图说明以上8种状态。这里用双向导通开关替代了上桥臂MOS和下桥臂MOS。当开关连接到上端,则上MOS导通。当开关连接到下端,则下MOS导通。 

    图3 000 - v0 (zero vector)

    图4 001 - v1 (Phase +U)

    图5 010 - v2(Phase +V)

    图6 011 - v3 (Phase -W)

    图7 100 - v4(Phase +W)

    图8 101 - v5 (Phase -V)

    图9 110 - v6(Phase -U)

    图10 111 - v7 (zero vector)

    熟悉了以上八种导通状态后,接下来分析各通电状态下,各相电压的大小以及合成电压矢量大小及方向。

    如下图,U相桥臂的上管开通,下管关闭。V相和W相桥臂的上管关闭,下管导通。现规定电流从各相端口流入中性点为电流正方向,从中性点流出端口为负方向。则U相的电流为正,V/W相的电流为负。假设电机各相的阻抗相等,都为Z,则根据基尔霍夫电流定律,流过U相的电流是流过V/W相电流的2倍。计算各端口相对电机中性点的电压可以得到各相相电压如图所示,这里计算的中性点电压是相对于GND的,其他相电压都是端电压相对中性点的压降。根据右手定则,可得各相的磁场方向。同理,可以推广到电压矢量,如图右下角所示,可以计算得到三相电压合成矢量的数值为Udc,方向如图所示。为了便于理解相电压的计算,在本图中将右侧的星形电机内部绕组模型也与左边的MOS电路进行了连接。其实,左边已经有了电机绕组,这里大家清楚是为了表达而加的连接线即可。


    • 图 11 001 - v1 (Phase +U)

    关于其他导通状态与上图类似,这里直接给出结果,省略了文字描述。


    • 图12 010 - v2(Phase +V)


    • 图13 011 - v3 (Phase -W)


    • 图14 100 - v4(Phase +W)


    • 图15 101 - v5 (Phase -V)


    • 图16 110 - v6(Phase -U)

    以上六张图包含着大量的信息,我们来梳理一下。


    1. 线电压和相电压

    这里提到的相电压是各端点相对于Y绕组中心的电压,线电压是两个端点之间的电压。可总结如下图:

    图17

    2. 8种通电状态下的基本矢量位置

    如下图,6个导通状态下的电压矢量,加上000和111两个0矢量。为了快速记忆这张图各矢量的位置,可以将V1矢量与电机三相坐标系的U轴轴线正方向一致,则在120度位置的V轴与V2(010)重合,正好只有中间代表V桥臂的2进制为1(参见图2)。同理,在240度位置的W轴与V4(100)重合,因为100只有代表W相的2进制为1(参见图2)。两个相邻基本相量的间隔是60度,则剩余的空间矢量(相量)很好确定位置。比如,60度位置的相量就是V1和V2两个二进制的和,即:001 + 010 = 011 = V3。同理,可以在不参考任何资料的情况下快速将各基本矢量画出来。基本矢量的长度为Udc,上面图11-16中均有计算。

    图18:

    但是,如果按照这么来控制电机就类似于方波BLDC电机的6步换相控制了,每60电角度度切换一次导通状态,容易引起扭矩波动。尽量减少两个矢量切换之间的角度可以降低扭矩波动。为此,我们把60电角度的区域称之为一个扇区,如下图所示。

    图19

    如下图,在每个扇区内部,我们让矢量尽量均匀旋转,这样电机的扭矩波动就会降低。那好,怎么来实现60度内的矢量分布?

    图20

    如下图,任取第一扇区内的任一矢量,根据平行四边形原则,可以将其分解为沿V1和V2的量。也就是说我们可以根据相邻的两个基本矢量和一个或两个矢量(000或者111)计算它们所围成的扇区内的任意矢量的幅值和方向。这里,T代表的是采样周期,一般是PWM的周期,V1的作用时间是T1,V2的作用时间是T2,则0矢量的作用时间为T-T1-T2。

    图21

    到此,我们也就引出了SVPWM控制的基本思想。



    三、最大矢量圆半径 \frac{\sqrt{3}}{2}V_{dc}

    在第一扇区内任意的矢量 V_{ref}

    当超出该最大矢量圆半径后,在某些角度下,计算得到的T0作用时间为负值,如下图所示。

    图24



    四、为什么空间矢量的边界是六边形

    有关空间矢量分析的论文和网络文章很多,但是极少有深入介绍为什么空间矢量的边界是六边形。大部分都是在推导出基本矢量后就直接默认给出这个六边形,并直接给出结论说合成矢量不能超越这个六边形边界,没有给出理论公式,也没有直观叙述。

    在看文献时,这个问题困惑了我很久。现在就将自己的一点直观理解放在这里,作为抛砖引玉,希望有大神可以出来给大家更好的解释。

    SVPWM是用伏秒平衡的原理来用基本矢量等效平均合成矢量。六边形出现在每60度电角度内不进行PWM调制(six-step mode)或者说出现在当整个扇区内T0都等于0的情况。

    当不进行PWM调制时,每隔60度电角度合成矢量变换一次,类似于方波控制的六步换相。以第一扇区为例,本来合成矢量的大小是V1,并且持续大约60度电角度,不进行任何MOS开关的切换。当转过大约60度电角度时需要切换为合成矢量V2,这时存在一个切换过程,这个过程中V1逐渐减小,V2逐渐增加。它们的合成矢量便沿着六边形在第一扇区的边进行过渡。整个过程始终没有T0的参与。

    图25

    使用MATLAB编写程序,计算这个过程的合成矢量大小,便得到如图所示的六边形。

    图26




    五、各扇区内基本矢量作用时间计算

    接下来,换下脑子,讨论 另外一个问题:当我知道了合成电压矢量,如何计算各基本矢量的作用时间?这涉及到如何来设置PWM寄存器的数值。

    关于各扇区相邻两基本矢量及零矢量的作用时间可以参考如下文章。里面有给出了每一步的计算公式,并配有图片方便理解。

    详细推导SVPWM各扇区矢量作用时间


推荐阅读
  • 数字账号安全与数据资产问题的研究及解决方案
    本文研究了数字账号安全与数据资产问题,并提出了解决方案。近期,大量QQ账号被盗事件引起了广泛关注。欺诈者对数字账号的价值认识超过了账号主人,因此他们不断攻击和盗用账号。然而,平台和账号主人对账号安全问题的态度不正确,只有用户自身意识到问题的严重性并采取行动,才能推动平台优先解决这些问题。本文旨在提醒用户关注账号安全,并呼吁平台承担起更多的责任。令牌云团队对此进行了长期深入的研究,并提出了相应的解决方案。 ... [详细]
  • 手把手教你使用GraphPad Prism和Excel绘制回归分析结果的森林图
    本文介绍了使用GraphPad Prism和Excel绘制回归分析结果的森林图的方法。通过展示森林图,可以更加直观地将回归分析结果可视化。GraphPad Prism是一款专门为医学专业人士设计的绘图软件,同时也兼顾统计分析的功能,操作便捷,可以帮助科研人员轻松绘制出高质量的专业图形。文章以一篇发表在JACC杂志上的研究为例,利用其中的多因素回归分析结果来绘制森林图。通过本文的指导,读者可以学会如何使用GraphPad Prism和Excel绘制回归分析结果的森林图。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • windows便签快捷键_用了windows十几年,没想到竟然这么好用!隐藏的功能你知道吗?
    本文介绍了使用windows操作系统时的一些隐藏功能,包括便签快捷键、截图功能等。同时探讨了windows和macOS操作系统之间的优劣比较,以及人们对于这两个系统的不同看法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 大连微软技术社区举办《.net core始于足下》活动,获得微软赛百味和易迪斯的赞助
    九月十五日,大连微软技术社区举办了《.net core始于足下》活动,共有51人报名参加,实际到场人数为43人,还有一位专程从北京赶来的同学。活动得到了微软赛百味和易迪斯的赞助,场地也由易迪斯提供。活动中大家积极交流,取得了非常成功的效果。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
author-avatar
mis安小米
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有