stm32 FOC从学习开发(四)svpwm算法(1)

2024-01-26 00:30

本文主要是介绍stm32 FOC从学习开发(四)svpwm算法(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录

`
一、stm32 FOC从零学习开发(一)FOC概念
二、stm32 FOC从学习开发(二)Clark变换与MATLAB仿真
三、stm32 FOC从学习开发(三)park变换与MATLAB仿真
四、stm32 FOC从学习开发(四)svpwm算法(1)
五、stm32 FOC从学习开发(五)svpwm算法(2)
六、stm32 FOC从学习开发(六)基于均值零序分量注入的载波SVPWM算法
七、stm32 FOC从学习开发(七)svpwm算法MATLAB仿真
八、stm32 FOC从学习开发(八)PID基础MATLAB仿真
九、stm32 FOC从学习开发(九)FOC MATLAB仿真


文章目录

  • 系列文章目录
  • 一、spwm与svpwm
    • spwm简介
    • svpwm简介
  • 二、SVPWM的空间矢量表示
  • 三、SVPWM算法的合成


一、spwm与svpwm

spwm简介

SPWM的全称是(Sinusoidal Pulse Width Modulation),即正弦波脉冲宽度调制,是一种比较成熟的目前广泛使用的一种PWM方法,其原理就是采用控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值。

svpwm简介

SVPWM的全称是(Space Vector Pulse Width Modulation),即空间矢量脉冲宽度调节,其主要思想是以三相对称正弦波电压供电时三相对称电动机定子理想磁链圆为参考标准,以三相逆变器不同开关模式作适当的切换,从而形成PWM波,以所形成的实际磁链矢量来追踪其准确磁链圆。传统的SPWM方法从电源的角度出发,以生成一个可调频调压的正弦波电源,而SVPWM方法将逆变系统和异步电机看作一个整体来考虑,模型比较简单,也便于微处理器的实时控制。SVPWM技术与SPWM相比较,绕组电流波形的谐波成分小,使得电机转矩脉动降低,旋转磁场更逼近圆形,而且使直流母线电压的利用率有了很大提高,且更易于实现数字化。
SVPWM算法实际上是对应于交流电机中的三相电压源逆变器功率器件的一种特殊的开关触发顺序和脉宽大小的组合,这种开关触发顺序和组合将在定子线圈中产生三相互差 120°电角度、失真较小的正弦波电流波形。实践和理论证明,与直接的SPWM技术相比,SVPWM算法的优点主要有:
1、SVPWM优化谐波程度比较高,消除谐波效果要比SPWM好实现容易并且可以提高电压利用率;
2、SVPWM算法提高了电压源逆变器的直流电压利用率和电机的动态响应速度,同时减小了电机的转矩脉动等缺点;
3、SVPWM比较适合于数字化控制系统。

二、SVPWM的空间矢量表示

可以知道电机可以简化为电压或者电流的三相变量,若是可以将三相变量合成一个合成量,并且保持信息的完整性,那么三相问题就可以变成单相问题。
在这里插入图片描述请添加图片描述
假设三个标量为xa、xb、xc,而且电流矢量和为零,那么可以引入:
在这里插入图片描述
其中:在这里插入图片描述
根据欧拉公式变换表示在复平面上的向量可得:
在这里插入图片描述

三个标量到空间矢量的变换
上图为三个标量到空间矢量的变换
根据电流和为零可得:
在这里插入图片描述
如果复数矢量Xout已知,则可以唯一解出xa、xb、xc,即:
在这里插入图片描述
这样就将三个标量用一个复数矢量Xout表示。
假设三相对称正弦相电压的瞬时值表示为:
在这里插入图片描述
ω为相电压的角频率,那么:
在这里插入图片描述
可以求出电压矢量Uout的实部和虚部:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
因此,三相对称正弦电压对应的空间电压矢量轨迹如上图所示,电压空间矢量Uout顶点的运行轨迹实际为一个圆,并且以角速度ω的速度逆时针旋转,则原三相电压趋近于三相对称正弦波。
在这里插入图片描述
另外,根据电机驱动的电路图,可以简化为上图所示,根据电路图可以知道的一个基本原则就是上下桥臂不能同时打开,因为如果上下同时打开就会造成正极和负极之间直接导通,导致短路。
那么我们假设a相的上桥臂打开为1,那么此时下桥臂必须关闭,假设上桥臂关闭为0,此时下桥臂必然是打开,有人说不能上下都关闭吗,当上下都关闭的时候是没有物理意义的,而且其他桥臂打开的时候需要电流从下桥臂留出,都关闭的情况反而会把问题复杂化。
那么a、b、c每相有两种状态,三路总共就有8种开关状态,对于不同的开光状态组合,可以得到8个基本的电压空间矢量,这样逆变器的8种开关模式就对应8个电压空间矢量,各矢量为:
在这里插入图片描述
相电压与开关函数之间的关系为:

在这里插入图片描述
将8种开关组合方式即0或1带入上式,可以得到开关组合与电压的关系:
在这里插入图片描述在这里插入图片描述
从表中可以看出,总共有6个非零矢量,因为000和111均为零矢量,将8种组合映射到复平面中,既可以得到该图所示的电压空间矢量图,它们将复平面分成了6个扇区:
在这里插入图片描述

三、SVPWM算法的合成

SVPWM算法的理论基础就是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使得其平均值和给定电压矢量相等,如上图所示,在某个时刻,电压空间矢量Uout旋转到某个区域中,可以由组成该区域的两个相邻的非零矢量和零矢量在时间上的不同组合得到。
以扇区一为例,空间矢量合成示意图为:
在这里插入图片描述
根据平衡等效原则可以得到:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由正弦定理:
在这里插入图片描述
将U1、U2和Uout=Um带入可得:
在这里插入图片描述

这篇关于stm32 FOC从学习开发(四)svpwm算法(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/645111

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖