从零开始之了解电机及其控制(11)实现空间矢量调制

广泛地说,空间矢量调制只是将电压矢量以及磁场矢量在空间中调制到任意角度,通常同时最大限度地利用整个电压范围。

其他空间矢量调制模式确实存在,并且根据您最关心的内容,它们可能值得研究。

如何实际执行这种所谓的交替反向序列 PWM,以及更普遍的真正空间矢量调制模式。

我们首先要回顾一下在六块换向期间如何执行电压调制。回想一下,PWM 周期可以分为两个阶段。强制阶段,其中电流由所施加的电压主动驱动,

而非强制阶段,则不是。                                             

强制阶段所花费的 PWM 周期的百分比称为占空比。在强制阶段,当执行块换向时,当我们将电机旋转一圈时,我们总是有 H 桥的一个桥臂 PWM 到高电压,而另一个桥臂正好 PWM 到地。

因此,在 PWM 周期的强制阶段,我们根据转子角度使用这六种可能的 H 桥配置之一。为了简化我对 H 桥的描述,并使其在视觉上更加令人愉悦,

其中每个圆圈描绘一个 MOSFET,并用黄色表示正在连接。此外,我将显示每个产生的电压矢量。

我们在非强制阶段使用的配置因我们的切换方案而异。例如,如果我们进行硬开关,这六个活动配置中的每一个都对应于相同的、完全断开的 H 桥。如果我们使用软切换,这六个活动配置分别对应于三个非强制配置之一。

而且,如果我们使用免费切换,这六种主动配置对应于三种不同的非强制配置之一。就像我们之前的换相方案一样,通过空间矢量调制,我们的 PWM 周期将分为强制阶段和非强制阶段。

然而,与块换向不同的是,我们的电机相位之一始终保持浮动,既不连接到高电平也不连接到地。

在空间矢量调制期间,我们始终希望所有三个相位都连接到高压或接地。

因此,我们将使用六种配置,而不是在块换向的强制阶段使用的配置,其中涉及连接所有三相以驱动电流。我将把这些电压配置描述为电压配置 1、2、3、4、5 和 6。

显然,就像块换向、电压配置一样,这六种配置中的每一种都指向一个独特且谨慎的角度。

因此,为了产生随转子连续转动的电压矢量,我们将进一步将 Pw-impyret 的受迫相位细分为 T1 和 T2。

在 T1 期间,我们将应用产生场矢量的电压配置,该矢量在顺时针方向上最接近我们所需的矢量。

在 T2 期间,我们将应用电压配置,该电压配置会产生一个最接近逆时针方向所需矢量的矢量。

T1 相对于 T2 的持续时间将由所需的向量确定或相对于由两个选定的电压配置生成的矢量的方向。

 

在执行空间矢量调制时 Pw-impyret 的非强制阶段,我们将使用两种“零”电压配置中的至少一种,其中涉及所有三相都连接到高电平,或者所有三相都连接到高电平连接到低电压。我们将这两种配置称为电压配置零和电压配置七。

如之前说的,任何相连接的电压的绝对大小并不重要。驱动电流的是电压差。在配置零和配置七中,电机两端的电压差为零,因此电流不受强制,这意味着它就像电机引线全部焊接在一起一样自由流动。本质上,我们获得了与互补切换的非强制阶段相同的结果,只是使用所有三个阶段而不是仅两个阶段。

但是我们什么时候使用配置 0,什么时候使用配置 7?那么,这个问题的答案取决于您选择的空间矢量调制模式。例如,如果您试图最小化开关损耗,“null_v0”模式通常被认为是最佳选择,它在整个非强制阶段始终使用配置零。

我们在上一集介绍的交替反向序列具有较少的谐波失真,它使用两者均匀地分割其非受迫相位。但在我们结束这个话题并为您提供发送到 MOSFET 的 PWM 方程之前,我们还需要讨论一件事。脉宽调制对齐。

PWM 信号可以通过三种不同的方式进行配置:前沿调制或左对齐调制,其中周期的前沿被保留为高相位的开始,信号的后沿被调制以在 0 到 100 之间调整 % 占空比。

后沿或右对齐 PWM,其中周期结束被保留为周期结束高相位,改变左上升沿的位置以在 0 和 100% 占空比之间调整,

最后,脉冲中心或中心对齐 PWM,其中保留 PWM 周期的中心作为高相位的中心。上升沿和下降沿的位置都是变化的,并且一致地在 0 和 100% 占空比之间进行调整。

一般来说,在广泛讨论 PWM 信号时,除非另有说明,否则左对齐 PWM 是默认假设。

然而,对于空间矢量调制模式,我们的 PWM 信号通常需要中心对齐。现在,我们终于了解了所有背景信息,以便我们可以描述如何将空间矢量调制信号发送到 H 桥。

因此,我们需要做的第一件事是将 PWM 设置配置为中心对齐。

接下来,我们需要计算所需的矢量方向和占空比。方向通常由您的转子位置决定,但也可能受到任何想要说场信标的影响。您的占空比命令将是当前控制器的输出。您可以计算您想要在每个力配置以及零向量中花费的时间。

T1 将等于 PWM 周期(以秒为单位)乘以占空比乘以 60 的符号减去角度 alpha。该 alpha 值是您想要的向量超出您将花费 T1 的向量的距离。可以通过找到所需矢量角除以 60 的余数来轻松计算。

然后,T2 将再次等于 PWM 周期(以秒为单位)乘以占空比乘以 alpha 符号。最后,T0(您将在零向量中花费的时间)等于总周期 T(以秒为单位)减去 T1 和 T2。

现在,虽然我们一直在谈论的这些电压配置至少在我看来对我们了解正在发生的事情很有帮助。微处理器要求您根据每个相位写入高电平或接地的时间长度来指定 PWM 周期。因此,为了将这些配置周期转换为发送到 H 桥的实际 PWM 信号,我们将使用以下分段函数。

这里有两件事值得注意。如果您希望矢量严格指向转子 Q 轴方向,您可以根据霍尔扇区来考虑这些方程,其中每组方程对应于不同的扇区。其次,非常重要的是,其他资源可能会以与我不同的方式定义他们称为零的角度,或者他们将哪个hall扇区称为零。这将导致他们的方程相对于我的方程发生相移。我的角度约定并不比其他人的更正确或更不正确,但重要的是,无论您选择哪种约定,都必须与其保持一致。

但是如果您的转子中有多个极对,则您将需要更高分辨率的角度测量,因为我们讨论的所有角度都是磁角,而不是机械角。

这是如何优化控制无刷 PMDC 电机的基础知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过http发送post请求的三种Content-Type分析

通过okhttp向服务端发起post网络请求,可以通过Content-Type设置发送请求数据的格式。 常用到的三种: 1)application/x-www-form-urlencoded; charsetutf-8 2)application/json; charsetutf-8 3)multipart/form-dat…

HTML5中使用video标签

参考链接 <videocontrolscontrolslist"nodownload noplaybackrate"disablePictureInPicture"true"disableRemotePlayback"true"src"https://www.runoob.com/try/demo_source/movie.mp4"></video>隐藏下载&#xff1a;nod…

ios证书类型及其作用说明

ios证书类型及其作用说明 很多刚开始接触iOS证书的开发者可能不是很了解iOS证书的类型功能和概念。下面对iOS证书的几个方面进行介绍。 apple开发账号分类&#xff1a; 免费账号&#xff1a; 无需支付费用给apple&#xff0c;使用个人信息注册的账号 可以开发测试安装&…

No133.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

AUTOSAR RTE介绍(更新版230925)

RTE是什么 AUTOSAR RTE(Run Time Environment)实现了AUTOSAR系统中的虚拟功能总线(VFB),提供了SWC(Software Component)之间的访问接口和SWC对于BSW资源的访问接口。RTE为SWC中的Runnable提供与其他SWC或者BSW模块通信的接口,RTE将Runnable映射到OS Task中,并且管理Runna…

关于vcruntime140.dll丢失如何修复,电脑多种修复vcruntime140.dll丢失方法

在使用某些软件或执行某些代码时&#xff0c;可能会遇到“找不到 vcruntime140.dll&#xff0c;无法继续执行代码”的错误提示。这通常意味着你的计算机上缺少 Visual C Redistributable for Visual Studio 2015 的运行时库&#xff0c;或者该库的版本不正确。 三种解决方法解决…

Polygon Miden zkRollup中的UTXO+账户混合状态模型

1. 引言 本文重点讨论Polygon Miden所设计的UTXO账户混合状态模型&#xff0c;以实现某些有趣的属性。 Miden的目标是&#xff1a;【即越具有隐私性&#xff0c;其可扩展性越好】 构建可扩展去中心化的rollup采用支持隐私的架构 Miden支持灵活的交易模式&#xff1a; 公开…

一致性 Hash 算法

是什么&#xff1a; 一致性 hash&#xff0c;是一种比较特殊的 hash 算法&#xff0c;它的核心思想是解决在分布式环境下&#xff0c; hash 表中可能存在的动态扩容和缩容的问题。 为什么会出现一致性Hash 一般情况下&#xff0c;我们会使用 hash 表的方式以 key-value 的方式来…

新手程序员怎么接单?

程序员如何在自己年富力强的时候&#xff0c;最大化发挥自己的能力&#xff1f;将超能力转化为“钞能力”&#xff1f; 有人还在苦哈哈当老黄牛&#xff0c;一身使不完的牛劲&#xff0c;有人已经另辟蹊径&#xff0c;开创了自己的一片致富小天地。 接单找兼职&#xff0c;就…

JS三大运行时全面对比:Node.js vs Bun vs Deno

全文约 5100 字&#xff0c;预计阅读需要 15 分钟。 JavaScript 运行时是指执行 JavaScript 代码的环境。目前&#xff0c;JavaScript 生态中有三大运行时&#xff1a;Node.js、Bun、Deno。老牌运行时 Node.js 的霸主地位正受到 Deno 和 Bun 的挑战&#xff0c;下面就来看看这…

Flink容错机制

容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 检查点的保存 1&#xff09;周期性的触发保存 “随时存档”确实恢复起来方便&#xff0c;可是需要我们不停地做存档操作。如果每处理一条数据就进行检查点的保存…

React(react18)中组件通信06——redux-toolkit + react-redux

React&#xff08;react18&#xff09;中组件通信06——redux-toolkit react-redux 1 前言1.1 redux 和 react-redux1.2 关于redux-toolkit1.2.1 官网1.2.2 为什么要用Redux Toolkit&#xff1f; 1.3 安装 Redux Toolkit1.4 Redux Toolkit相关API 2. 开始例子——官网例子2.1 …

巨人互动|Facebook海外户Facebook内容的类型

随着人们日益依赖的社交媒体来进行信息获取与交流&#xff0c;Facebook作为全球最大的社交媒体平台之一&#xff0c;那么Facebook的内容都有哪些类型呢&#xff1f;下面小编来讲讲吧&#xff01; 1、实时发生的事 我们需要实时了解时事动态&#xff0c;这样可以使用户对品牌发…

纯css html 真实水滴效果

惯例,不多说直接上图 秉承着开源精神,我们将这段代码无私地分享给大家&#xff0c;因为我们深信&#xff0c;信息的共享和互相学习是推动科技进步的关键。我们鼓励大家在使用这段代码的同时&#xff0c;也能够将其中的原理、思想和经验分享给更多的人。 这份代码是我们团队用心…

VR庆中秋丨奇幻月景邀您共赏!

中秋佳节&#xff0c; 如何来一场别开生面的云游月景体验&#xff1f; 3DVR技术开启中秋过节新姿势&#xff0c; 嫦娥奔月伴玉兔、 太白花间饮美酒、 吴刚月下伐桂树…… 立体化还原璀璨的传统中秋文化&#xff0c; 还有趣味猜灯谜活动&#xff0c; 丰富豪礼等你来拿&a…

如何使用ChatGPT构建一个Web应用程序?

围绕ChatGPT的最大卖点之一是它可以成为一种有效的编程工具。其想法是这样的&#xff1a;你用自然语言描述需求&#xff0c;该聊天机器人生成满足该需求的代码。但是ChatGPT在这方面到底有多好呢&#xff1f; 还有什么比亲自测试一下更好的方法呢&#xff1f;我们让ChatGPT从头…

FPGA千兆网 UDP 网络视频传输,基于88E1518 PHY实现,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、我这里已有的以太网方案3、设计思路框架视频源选择OV5640摄像头配置及采集动态彩条UDP协议栈UDP视频数据组包UDP协议栈数据发送UDP协议栈数据缓冲IP地址、端口号的修改Tri Mode Ethernet MAC介绍以及移植注意事项88E1518 PHYQT上位机和源码…

【软件测试】开发/测试模型

开发/测试模型 瀑布模型 设计&#xff1a;技术文档(设计那些接口&#xff0c;库表&#xff0c;mq&#xff0c;定时任务)&#xff0c;UI视觉稿 特点&#xff1a;线性的结构。 优点&#xff1a;每个阶段做什么&#xff0c;产出什么非常清晰 缺点&#xff1a;测试人员介入太晚…

解释器风格架构C# 代码

/*解释器风格架构是一种基于组件的设计架构&#xff0c;它将应用程序分解为一系列组件&#xff0c;每个组件负责处理特定的任务。这种架构有助于提高代码的可维护性和可扩展性。以下是如何使用C#实现解释器风格架构的步骤&#xff1a;定义组件&#xff1a;首先&#xff0c;定义…

Makefile快速上手

Makefile学习 https://maxwell-lx.vip/basic-usage-make/ https://zhuanlan.zhihu.com/p/92010728 https://zhuanlan.zhihu.com/p/350297509 一、是什么 可以理解为一个自动化的编译脚本&#xff0c;避免繁琐的手动编译过程。有点类似shell脚本。 1.1 从小例子入手 &…