当前位置: 首页 > article >正文

同步SVPWM调制策略的初步学习记录

最近项目需要用到一些同步调制SVPWM相关的内容(现在的我基本都是项目驱动了),因此对该内容进行一定的学习。

1 同步SVPWM调制的背景

我们熟知的一些知识是:SVPWM(空间矢量脉宽调制)是一种用于逆变器的调制技术,通过控制开关状态来生成接近正弦波的输出电压。同步和异步的区别主要在于载波频率与参考信号频率之间的关系。

同步 SVPWM 的载波频率是参考信号频率的整数倍这意味着每个基波周期内的载波比是固定的。这种方法的优点是开关频率固定,谐波分布稳定,便于滤波设计。例如,当参考频率为 50Hz,载波频率为 5kHz 时,每个周期有 100 个载波脉冲。这种同步性使得输出波形在基波周期内重复,减少了谐波的随机性,适合需要稳定谐波特性的应用,适用于需要固定开关频率、稳定谐波特性的场合,如工业电机驱动、电网连接的逆变器等。另外,在高频应用中,优化的开关模式可以减少开关损耗,尤其是开关损耗占比比较大时同步SVPWM是一个较好的选择。

异步 SVPWM 的载波频率与参考信号频率没有整数倍关系,导致载波比在每个基波周期中变化。这可能导致开关频率不固定,谐波分布更分散,有时被称为随机 PWM。这种方法的优点是可以降低特定频率的谐波峰值,减少电磁干扰(EMI),因为谐波能量被分散到更宽的频带中。但缺点是控制算法更复杂,开关频率的变化可能影响系统的稳定性,尤其是在需要精确控制的场合。异步 SVPWM 可能更适合对 EMI 敏感的环境,或者需要降低特定谐波峰值的应用,如某些消费电子设备或对噪音要求高的场合。有关异步SVPWM的调制细节可参考:

永磁同步电机36问(三)--SVPWM代码实现-CSDN博客​blog.csdn.net/sy243772901/article/details/126064616​编辑

SVPWM 同步调制技术在 PWM 脉冲生成过程中展现出独特的设计自由度 。通过精确调控采样点分布与开关切换序列,可构造具有三重对称性特征的调制波形。这种多维对称调制策略通过数学上的正交性设计,在基波频率整数倍位置形成梳状陷波特性,有效提升了逆变器输出波形的正弦度。相较于传统 SPWM 技术,同步 SVPWM 在抑制特定谐波方面具有先天优势,尤其适合对谐波敏感的精密驱动系统。

2、同步SVPWM的基本原理

两电平逆变器示意图如下所示:

其电压空间矢量分布如下所示:

我们知道异步SVPWM在给定一个电压矢量后,如图中Uref所示,通过区分扇区得到不同的有效电压矢量和零矢量,进行合成输出最终的参考电压。传统七段式SVPWM的合成思路如下图所示:

在这种调制方式中,一个采样周期内会运用两种零矢量和有效矢量来合成目标矢量。不同的矢量作用顺序会带来不同的效果。为确保合成电压矢量具备对称性,通常会将每种矢量的作用时间平分为两份,并对称分布在两侧,进而得到诸如 Uo - U1 - U2 - U₇ - U2 - U1 - Uo 这样的几种矢量作用顺序。从图 能够看出,在这种分配方式下,一个采样周期内基本矢量的作用顺序总共可划分成七段,“七段式” 这一名称便由此得来。目前大多数驱动器都采用七段式SVPWM。

SVPWM同步调制时在传统SVPWM异步调制的基础上提出的一种调制策略,通过对采样点位置和零矢量进行对称性分配,能够保证每个基波周期内特定的相位出现特定的开关序列。或者这么说更加直接:无论电机转速怎么变化,随着基波频率的上升,它每个基波周期内开关序列永远是固定的。我们可以相同推导一下异步SVPWM,它不是根据相位去规定开关序列,它是基于平均值分配原理,随着基波频率上升,一个基波周期内的载波数目逐渐变化,从而导致开关序列出现变化。依据磁链与电压矢量之间的关系:

ψs(t)=∫0t(Vs−Rsis)dτ+ψs(0)

可得同步调制的定子磁链在整个基波周期内形状不发生改变;

最基础的同步调制模式成为传统空间矢量调制策略(conventional space vector strategy),如下图所示,该调制策略在每个扇区的中间设置一个采样点,其余的采样点对称的分布在两侧。每个采样点都通过两个有效电压矢量和两个零矢量组成,可以理解为相位为0-30°时,电压矢量顺序为0-1-2-7;相位为30-60°时,电压矢量为7-2-1-0。其他扇区与此同理,根据采样点去发波,而不是根据电压平均原则去生成PWM。

3 仿真验证

以CSVS9为例进行分析;其扇区分布如下所示;

在该调制策略下,一个基波周期共有18个采样点,每个采样点之间相差20°,即每个采样区间为20°;矢量合成示意图如下所示,由电压矢量相位判定扇区范围;

满足如下关系式:

得到相位之后计算各个电压矢量的作用时间;

不考虑零矢量两侧分布的计算各相占空比(012);

考虑零矢量两侧分布的计算各相占空比(0127);

这个是第一扇区的,其他扇区的与此同理;仿真结果基本如下图所示;

将其引用到电机上取得的效果如下图所示,可以看到线电压由9个脉冲组成;这些脉冲整体是半波对称,四分之一对称的。

对其进行FFT分析可得到如下结果,可以看到,该输出电流中不含有奇数谐波,只包含6k+1和6k-1次谐波;

4 一些需要注意的点

下图所示的表为发波的参照,

要想完成这样的发波,需要特别注意PWM的逻辑问题;我们将所需要的波放大进行观察:

比如对于7210的序列,原本基本电压矢量作用时间2和1分别是0.3和0.2个占空比,那么7和0均是0.25个占空比;对于7210的起始电平是高电平,那么就是矢量7对应的开关序列(111)要先持续0.25个占空比,然后是矢量2对应的开关序列(110)要持续0.3个占空比,然后是矢量1对应的开关序列(100)持续0.2个占空比,最后是矢量0对应的开关序列(000)要持续0.25个占空比。从这上面的逻辑来看,其跳变的顺序如下所示:

对于0127序列则与其原理相同,但是这两者开关跳变的逻辑则是不同的;一个载波周期前后给定的电压矢量幅值假设不变,有效电压矢量的时间也是不变的,但是你会发现,对于0127,高电平持续时间最长都是A相,但是A相是最先跳变的,而7210的A相是最后跳变的。

这就出现一个问题:当载波为锯齿波时,跳变的逻辑是不同的,

即7210对应载波大于调制波输出低电平,载波小于调制波输出低电平;

而0127对应载波大于调制波输出高电平,载波小于调制波输出高电平;

可以被确定的是,每个7210和0127都在特定的角度区域,根据角度区域作为判定条件改变跳变逻辑即可;

注:这些都是基于载波是锯齿波的时候;三角波的时候则不需要改变该逻辑;

5 一些有趣的现象

我们大部分的操作都是基于这张表进行的,我在进行仿真的时候发现,假如我们更改一下逻辑;

比如我们把这个表里面的 7210 - 0127 - 7210 改为 1270 - 7210 - 1270;

就可以得到两种不同的结果;我所说的不同是指谐波分布部分,但是都还是9脉冲的同步SVPWM;下图为两种不同序列的对比,他们都实现了只包含6k-1和6k+1次谐波,但是你看他的电流THD就不太一样,并且右边这幅图的低次5次、7次谐波明显小于左边的;但是11次和13次谐波又明显大于左边的;总的来说就是虽然两者实现了相同的目的,但是因此目的带来的不同谐波分布也为后续不同控制目标提供了更多的选择。

相关文章:

同步SVPWM调制策略的初步学习记录

最近项目需要用到一些同步调制SVPWM相关的内容(现在的我基本都是项目驱动了),因此对该内容进行一定的学习。 1 同步SVPWM调制的背景 我们熟知的一些知识是:SVPWM(空间矢量脉宽调制)是一种用于逆变器的调制…...

六十天Linux从0到项目搭建(第十五天)(程序替换、exec流程示意图、核心特性)

1 为什么要有程序替换? 程序替换(Process Replacement)是操作系统中一个关键机制,它的核心目的是:让一个正在运行的进程(通常是子进程)停止执行当前代码,转而加载并执行一个全新的程…...

排序算法3-交换排序

目录 1.常见排序算法 2.排序算法的预定函数 2.1交换函数 2.2测试算法运行时间的函数 2.3已经实现过的排序算法 3.交换排序的实现 3.1冒泡排序 3.2快速排序 3.2.1递归的快速排序 3.2.1.1hoare版本的排序 3.2.1.2挖坑法 3.2.1.3lomuto前后指针法 3.2.2非递归版本的快…...

【Qt】数据库管理

数据库查询工具开发学习笔记 一、项目背景与目标 背景:频繁编写数据库查询语句,希望通过工具简化操作,提升效率。 二、总体设计思路 1. 架构设计 MVC模式:通过Qt控件实现视图(UI),业务逻辑…...

Ant Design Vue 中的table表格高度塌陷,造成行与行不齐的问题

前言: Ant Design Vue: 1.7.2 Vue2 less 问题描述: 在通过下拉框选择之后,在获取接口数据,第一列使用了fixed:left,就碰到了高度塌陷,查看元素的样式结果高度不一致,如&#x…...

面经-项目

项目 项目(重点)问题1:描述在网页中题目点击提交后到题目结果出现的一系列后台反应【1】如何获取到用户提交的代码的?【2】_1. 题目细节都有哪些?【2】_2. 题目信息怎么存储的?【3】负载均衡算法的实现?【4】oj_server怎么连接对应的compile_server(编译主机)的?【5】oj_…...

Win10安装Linux的三种方法

通过 Windows 子系统 for Linux(WSL)安装 启用 “适用于 Linux 的 Windows 子系统” 可选功能: 图形界面方式:在【设置 -> 更新与安全 -> 开发者选项】中开启【开发人员模式】;在【程序和功能 -> 启用或关闭…...

【qt】文件类(QFile)

很高兴你能看到这篇文章,同时我的语雀文档也更新了许多嵌入式系列的学习笔记希望能帮到你 : https://www.yuque.com/alive-m4b9n 目录 QFile 主要功能QFile 操作步骤QFile 其他常用函数案例分析及实现功能一实现:打开文件并显示功能二实现:另…...

力扣hot100——最长连续序列(哈希unordered_set)

题目链接&#xff1a;最长连续序列 1、错解&#xff1a;数组做哈希表&#xff08;内存超出限制&#xff09; int longestConsecutive(vector<int>& nums) {vector<bool> hash(20000000010, false);for(int i0; i<nums.size();i){hash[1000000000nums[i]]t…...

3. 实战(一):Spring AI Trae ,助力开发微信小程序

1、前言 前面介绍了Spring boot快速集成Spring AI实现简单的Chat聊天模式。今天立马来实战一番&#xff0c;通过Trae这个火爆全网的工具&#xff0c;来写一个微信小程序。照理说&#xff0c;我们只是极少量的编码应该就可以完成这项工作。开撸~ 2、需求描述 微信小程序实现一…...

MySQL高级语句深度解析与应用实践

一、窗口函数&#xff1a;数据分析的利器 1. 窗口函数基础概念 窗口函数(Window Function)是MySQL 8.0引入的强大特性&#xff0c;它可以在不减少行数的情况下对数据进行聚合计算和分析 SELECT employee_name,department,salary,RANK() OVER (PARTITION BY department ORDER…...

SSE服务器主动推送至浏览器客户端,让你不再需要websocket

Server-Sent Events&#xff08;SSE&#xff09;是一种服务器向客户端推送实时更新的技术&#xff0c;基于HTTP协议。客户端通过EventSource API来接收事件流&#xff0c;而服务器则保持一个长连接&#xff0c;持续发送数据。这与传统的请求-响应模式不同&#xff0c;允许服务器…...

UE5新材质系统效果Demo展示

1、玉质材质&#xff0c;透明玻璃材质&#xff0c;不同透射和散射。 2、浅水地面&#xff0c;地面层&#xff0c;水层&#xff0c;地面湿度&#xff0c;水面高度&#xff0c;水下扰动&#xff0c;水下浇洒&#xff0c;水下折射 Substrate-Water Substrate-Water-CodeV2...

wps 怎么显示隐藏文字

wps 怎么显示隐藏文字 》文件》选项》视图》勾选“隐藏文字” wps怎么设置隐藏文字 wps怎么设置隐藏文字...

解决 macOS (M1 Pro) 上使用 Vite 进行 Build 打包时 Node 进程内存溢出的问题

解决 macOS (M1 Pro) 上使用 Vite 进行 Build 打包时 Node 进程内存溢出的问题 在搭载 M1 Pro 芯片的 macOS 系统上&#xff0c;使用 Vite 进行项目构建&#xff08;build&#xff09;时&#xff0c;您可能会遇到 Node 进程内存溢出的错误。特别是在使用较新版本的 Node.js&am…...

页面重构过程中如何保证良好的跨浏览器一致性?

在页面重构的过程中&#xff0c;为了确保网页能够在不同的浏览器中呈现一致的效果&#xff0c;我们需要采取一系列措施来提高跨浏览器的一致性。以下是几个关键步骤和技术要点&#xff1a; 使用标准化的HTML和CSS&#xff1a;始终遵循最新的Web标准编写代码&#xff0c;例如采用…...

CXL UIO Direct P2P学习

前言&#xff1a; 在CXL协议中&#xff0c;UIO&#xff08;Unordered Input/Output&#xff09; 是一种支持设备间直接通信&#xff08;Peer-to-Peer, P2P&#xff09;的机制&#xff0c;旨在绕过主机CPU或内存的干预&#xff0c;降低延迟并提升效率。以下是UIO的核心概念及UI…...

leetcode138.随即链表的复制

思路源于 【力扣hot100】【LeetCode 138】随机链表的复制&#xff5c;哈希表 采用一个哈希表&#xff0c;键值对为<原链表的结点&#xff0c;新链表的结点>&#xff0c;第一次遍历原链表结点时只创建新链表的结点&#xff0c;第二次遍历原链表结点时&#xff0c;通过键拿…...

03_MySQL工具介绍

文章目录 一、Navicat for MySQL1.1、安装 二、SQLyog2.1、安装 多数时候使用SQL语句对数据库进行操作不是很方便&#xff0c;特别是在查询操作时&#xff0c;显示的内容不够直观&#xff0c;此时我们需要借助图形化工具对数据库进行操作。 操作MySQL常用的图形工具如下&#x…...

《网络管理》实践环节01:OpenEuler22.03sp4安装zabbix6.2

兰生幽谷&#xff0c;不为莫服而不芳&#xff1b; 君子行义&#xff0c;不为莫知而止休。 1 环境 openEuler 22.03 LTSsp4PHP 8.0Apache 2Mysql 8.0zabbix6.2.4 表1-1 Zabbix网络规划&#xff08;用你们自己的特征网段规划&#xff09; 主机名 IP 功能 备注 zbx6svr 19…...

Qt Creator 中文 “error: C2001: 常量中有换行符“ 问题解决方法

Qt Creator 编译时出现‌中文 error: C2001: 常量中有换行符‌的问题&#xff0c;通常由文件编码与编译器字符集不兼容导致。 一、修改文件编码格式 ‌添加 UTF-8 BOM 签名‌ 在 Qt Creator 中设置&#xff1a;工具 -> 选项 -> 文本编辑器 -> 行为 -> UTF-8 BOM&a…...

Charles 抓包配置保姆教程(PC、IOS、Android)

抓包工具基础配置与使用指南 大家好&#xff0c;我是十一&#xff01;今天给大家分享一篇关于抓包工具的基础配置与使用指南。无论是开发、测试还是安全分析&#xff0c;抓包工具都是不可或缺的利器。本文将详细介绍如何配置和使用抓包工具&#xff0c;并特别推荐一款功能强大…...

洛谷题单1-P1001 A+B Problem-python-流程图重构

题目描述 输入两个整数 a,b&#xff0c;输出它们的和&#xff08;∣a∣,∣b∣≤109&#xff09;。 输入格式 两个以空格分开的整数。 输出格式 一个整数。 输入输出样例 输入 20 30输出 50方式-print class Solution:staticmethoddef oi_input():"""从…...

el-table 动态给每行增加class属性

el-table 动态给每行增加class属性 html代码 row-class-name属性&#xff0c;绑定方法 :row-class-name“tableRowClassName”, <el-table :data"tableData" border :row-class-name"tableRowClassName"> </el-table>js代码 tableRowClassNam…...

Opencv计算机视觉编程攻略-第四节 图直方图统计像素

Opencv计算机视觉编程攻略-第四节 图直方图统计像素 1.计算图像直方图2.基于查找表修改图像3.直方图均衡化4.直方图反向投影进行内容查找5.用均值平移法查找目标6.比较直方图搜索相似图像7.用积分图统计图像 1.计算图像直方图 图像统计直方图的概念 图像统计直方图是一种用于描…...

深度学习处理时间序列(5)

Keras中的循环层 上面的NumPy简单实现对应一个实际的Keras层—SimpleRNN层。不过&#xff0c;二者有一点小区别&#xff1a;SimpleRNN层能够像其他Keras层一样处理序列批量&#xff0c;而不是像NumPy示例中的那样只能处理单个序列。也就是说&#xff0c;它接收形状为(batch_si…...

Mysql 索引性能分析

1.查看CRUD次数 show global status like Com_______&#xff08;7个下划线&#xff09; show global status like Com_______ 2.慢SQL分析 SET GLOBAL slow_query_log ON;-- 设置慢SQL日志记录开启 SET GLOBAL long_query_time 2; -- 设置执行超过 2 秒的查询为慢查询 开…...

win11+ubuntu双系统安装

操作步骤&#xff1a; 官网下载ubuntu 最新镜像文件 准备U盘 准备一个容量不小于 8GB 的 U 盘&#xff0c;用于制作系统安装盘。制作过程会格式化 U 盘&#xff0c;请注意提前备份数据。 制作U盘启动盘 使用rufus工具&#xff0c;或者 balenaEtcher工具&#xff08;官网安…...

linux-5.10.110内核源码分析 - 写磁盘(从VFS系统调用到I/O调度及AHCI写磁盘)

1、VFS写文件到page缓存(vfs_write) 1.1、写裸盘(dd) 使用如下命令写裸盘&#xff1a; dd if/dev/zero of/dev/sda bs4096 count1 seek1 1.2、系统调用(vfs_write) 系统调用栈如下&#xff1a; 对于调用栈的new_sync_write函数&#xff0c;buf为写磁盘的内容的内存地址&…...

arinc818 fpga单色图像传输ip

arinc818协议支持的常用线速率如下图 随着图像分辨率的提高&#xff0c;单lane的速率无法满足特定需求&#xff0c;一种方式是通过多个LANE交叉的去传输图像&#xff0c;另外一种是通过降低图像的带宽&#xff0c;即通过只传单色图像达到对应的效果 程序架构如下图所示&#x…...