永磁同步电机无感FOC滑膜观测器(SMO)

写在前面:本人能力、时间、技术有限,没有对一些细节进行深入研究和分析,也难免有不足和错误之处,欢迎交流和指正。本人写博客主要是学习过程的记录。

1、前言

滑模变结构控制是进行非线性系统分析与设计的一类普遍的方法,最早由前苏联学者 Vadim Utkin 提出,该方法能够实现系统降阶,同时具有对系统建模不确定性、外部扰动鲁棒性强,易于工程实现的优点。滑模变结构控制方法 是一种特殊的非线性控制,它能够迫使系统按照人为设定的“滑动模态”运动, 且该滑动模态的运动方程仅取决于所选择的切换函数,与系统无关。然而, 由于惯性原因,滑模变结构控制系统不可避免的出现抖振问题,如何有效削弱抖振现象成为当前的研究热点。

2、滑膜变结构基本原理

在这里插入图片描述
在这里插入图片描述
通常滑膜运动包括两部分:第一部分为趋近运动阶段;第二部分为滑膜态运动阶段。。趋近过程是从系统任意初始状态趋向滑模面,直到有限次地穿越滑模切换面的过程;滑动过程是系统状态在滑模面上趋向平衡点运动的过程。

3、传统二阶滑模观测器原理分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、全阶滑膜观测器原理分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、传统二阶滑膜控制器基于反正切的转子位置估计

在这里插入图片描述

6、 基于正交锁相环位置观测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、全阶滑膜观测器仿真

PMSM全阶滑膜观测器控制框图如下图所示:
在这里插入图片描述
其中含消除旋转因子的锁相环如下图所示:
在这里插入图片描述
在这里插入图片描述

7.1 电机及系统参数

Ts=0.0001;
Pn=4;
Rs=0.055;
Ls=0.21e-3;
flux=0.007797;
J=0.053e-4;
B=0;
fx=0;
Udc=24;
CurrKp=0.34558;
CurrKi=90.5078;
spd_kp=0.018643;
spd_ki=03.0679;

7.2 全阶滑膜观测器核心模块

模型下载地址:永磁同步电机无感FOC滑膜观测器(SMO)simulink仿真模型
在这里插入图片描述
FULL_SMO+PLL内部封装:
在这里插入图片描述
全阶滑膜观测器子模块:
在这里插入图片描述
在这里插入图片描述
其中符号函数切换模块:
在这里插入图片描述
在这里插入图片描述
锁相环模块
在这里插入图片描述

7.3 仿真效果

双曲正切函数tanh函数

在这里插入图片描述
sign和sat函数
在这里插入图片描述
角度波形(观测角度及反馈角度)
在这里插入图片描述
总结:不同的函数有不同的效果,速度太低会出现振荡效果。

参考

参考
【1】张国强. 基于全阶滑模观测器的IPMSM无位置传感器控制策略研究[D].哈尔滨工业大学,2014.
【2】孙元杰. 基于全阶滑模观测器的IPMSM无位置传感器控制策略研究[D].曲阜师范大学,2022.DOI:10.27267/d.cnki.gqfsu.2021.001173.
【3】彻底吃透滑模观测器(PMSM无感算法)(理论精讲+推导+算法+调参+硬件运行):
https://zhuanlan.zhihu.com/p/416224632
【4】整体撸一遍PMSM的滑模观测器(SMO)公式+模型+代码:
https://blog.csdn.net/sy243772901/article/details/131270372
【5】现代永磁同步电机控制原理及MATLAB仿真 袁雷

### 改进饱和函数滑模观测器永磁同步电机中的应用 #### 1. 概述 为了提高永磁同步电机(PMSM)调速系统的响应性能和抗干扰能力,采用改进的饱和函数滑模观测器(SMO)[^1]。该方法不仅能够有效抑制外部扰动的影响,还能改善系统的动态特性。 #### 2. 改进饱和函数的设计原理 传统的滑模控制器通常使用符号函数作为切换项,这可能导致抖振现象的发生。为了避免这一问题,在设计中引入了具有平滑特性的饱和函数来替代原有的符号函数。这种改进后的饱和函数能够在保持良好跟踪效果的同时减少不必要的高频震荡[^3]。 #### 3. SMO结构及其参数设置 SMO的核心在于建立状态估计方程并调整增益矩阵K使得误差趋近于零。对于PMSM而言,需要考虑定子电流iα,iβ以及转子位置θ三个主要变量的状态反馈。通过合理配置这些参数可以确保整个控制系统稳定运行并且具备较强的鲁棒性[^2]. ```matlab % 定义系统参数 Ld = ...; % d轴电感 (H) Lq = ...; % q轴电感 (H) R = ...; % 绕组电阻 (Ω) Ke = ...; % 反电动势常数(V/rad/s) % 设计SMO增益 K=[k1 k2 k3] K = [-0.8, -1.5, -2]; function dxdt = smc_observer(xhat,u,y,t) global Ld Lq R Ke K; i_alpha_hat = xhat(1); i_beta_hat = xhat(2); theta_hat = mod(xhat(3),2*pi); e_alpha = y(1)-i_alpha_hat; e_beta = y(2)-i_beta_hat; s_alpha = dot(K,[e_alpha,e_beta]); s_beta = cross([cos(theta_hat);sin(theta_hat)],s_alpha); u_alpha_tilde = sign(s_alpha)*saturation_function(abs(s_alpha)); u_beta_tilde = sign(s_beta )*saturation_function(abs(s_beta )); omega_estimated = ... -(R/Ld)*(i_alpha_hat*cos(theta_hat)+i_beta_hat*sin(theta_hat))... +(u_alpha_tilde-R*i_alpha_hat+omega_estimated*(-Lq*i_beta_hat*sin(theta_hat))+u_alpha_tilde)/Ld; (-R*i_beta_hat +omega_estimated*( Ld*i_alpha_hat*cos(theta_hat))-u_beta_tilde )/Lq; omega_estimated]; end function sat_val = saturation_function(input_signal) delta = 0.1; % 饱和边界层宽度设定 if abs(input_signal)<delta sat_val=input_signal/delta; else sat_val=sign(input_signal); end end ``` 此代码片段展示了如何利用MATLAB/Simulink平台搭建一个基于改进饱和函数的滑模观测器用于PMSM的速度控制。其中`smc_observer()`实现了核心算法逻辑;而`saturation_function()`则定义了一个带有线性过渡区间的新型饱和函数形式以减缓传统方案中存在的剧烈波动情况。 #### 4. Simulink仿真环境构建 借助MathWorks公司的Simulink工具箱,可以根据上述理论分析快速建立起相应的物理模型来进行数值模拟实验验证。具体操作步骤可参照相关教程指导完成从基础框架搭建到最终调试优化全过程。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hlpinghcg

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

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

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

打赏作者

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

抵扣说明:

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

余额充值