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简介

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带入可得:
在这里插入图片描述

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32 FOC(基于STM32的场感应无刷直流电机控制)是一种利用STMicroelectronics公司的STM32系列微控制器实现的电机控制算法。场感应无刷直流电机是一种高效、高性能的电机控制技术,它通过传感器测量转子位置和速度,并通过控制电流来实现电机转矩和转速的精确控制。 STM32 FOC代码通常包括以下几个方面的内容: 1. 传感器接口:STM32 FOC代码需要与电机的位置和速度测量传感器进行通信,以便获得准确的转子位置和速度信息。常见的传感器接口包括编码器、霍尔传感器等。 2. 控制算法STM32 FOC代码实现了一种称为矢量控制(或称为磁场定向控制)的电机控制算法。该算法通过测量电机电流、转子位置和速度,并使用闭环控制技术来实现对电机转矩和速度的精确控制。 3. 硬件驱动:STM32 FOC代码还包括了与电机电源和驱动器接口的相关代码。这些代码负责控制电机的电流输出和控制信号的生成,以实现电机的精确控制。 4. 保护机制:STM32 FOC代码还包含了一些保护机制,以防止电机过流、过温和过压等异常情况的发生。这些保护机制能够有效地保护电机和电机控制器不受损坏。 通过使用STM32 FOC代码,开发者可以快速实现对场感应无刷直流电机的控制。这种控制方式具有高效、高性能的特点,适用于许多应用领域,包括工业自动化、机器人技术、电动汽车等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

k-kun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值