永磁同步电机无感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仿真 袁雷

### Spring Framework ApplicationEventPublisher Example and Usage In the context of the Spring framework, `ApplicationEventPublisher` is an interface that allows beans to publish events to the application context. This mechanism facilitates a loosely coupled architecture where components can notify each other about significant occurrences without being directly dependent on one another. The core classes involved in this event-driven model include: - **ApplicationEvent**: A class extending from which all custom events should derive. - **ApplicationListener<E extends ApplicationEvent>**: An interface implemented by any bean wishing to listen for specific types of events. - **ApplicationEventMulticaster**: The component responsible for broadcasting events to registered listeners within the ApplicationContext[^1]. To demonstrate how these pieces work together using `ApplicationEventPublisher`, consider the following code snippets illustrating both publishing and listening capabilities. #### Publishing Events with ApplicationEventPublisher A service or repository layer might want to inform others when certain actions occur. For instance, after saving data into storage, it could broadcast such activity as shown below: ```java @Service public class MyService { private final ApplicationEventPublisher publisher; @Autowired public MyService(ApplicationEventPublisher publisher) { this.publisher = publisher; } void performAction() { // Action logic here... CustomEvent event = new CustomEvent(this); publisher.publishEvent(event); // Publishes the event through the context } } ``` Here, upon executing some action inside `performAction()`, a new `CustomEvent` gets created and published via injection of `ApplicationEventPublisher`. #### Listening for Specific Events Using ApplicationListener On the receiving end, interested parties implement `ApplicationListener<SpecificEventType>` to react accordingly whenever their targeted type occurs: ```java @Component public class EventConsumer implements ApplicationListener<MyCustomEvent> { @Override public void onApplicationEvent(MyCustomEvent event) { System.out.println("Received my custom event : " + event.getMessage()); } } ``` This listener will automatically receive notifications every time a matching event (`MyCustomEvent`) happens anywhere across different parts of your application[^2]. Additionally, annotations like `@EventListener` provide even more concise syntax while offering flexibility regarding method signatures and parameters used during handling processes. By leveraging these constructs effectively, developers gain powerful tools enabling robust communication patterns throughout complex systems built atop Spring's foundation.
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hlpinghcg

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

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

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

打赏作者

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

抵扣说明:

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

余额充值