永磁同步电机无速度算法--滑模观测器(反正切、反余弦)

news2024/10/6 8:35:09

一、原理介绍

在永磁同步电机滑模观测器控制中,转子的位置和转速信息与反动电势密切相关。滑模观测器控制基本设计思路是:利用永磁同步电机的电压、电流信息,通过永磁同步电机数学模型,估算出电机在两相静止坐标系中的反电动势信息,估算出转子位置与转速,分别将其反馈给矢量控制的电流环和转速环,实现永磁同步电机无速度传感器控制;滑模观测器模型如图所示。

由永磁同步电机数学模型(SPMSM)可知,永磁同步电机在α-β两相静止坐标的状态方程为:

其中反电动势方程为:

设计滑模观测器控制模型为:

其中K 为滑模观测器开关增益;sgn( ) 为符号函数。

将滑模观测器控制模型与电机数学模型相减,可得滑模观测器状态误差方程为:

当系统运行到稳定状态时,系统误差及其变化率均将为零

因此可得,滑模观测器的等效反电动势为:

设计观测器滑模面为:

根据 Lyapunov 稳定性定律,使滑模观测器可以有效收敛到滑模面,必须满足下式:

由上式计算得:

为满足系统稳定条件,增益 K 的取值必须足够大;但如果 K 的取值过大时,会使系统的控制变量在滑模面附近反复大幅度切换,极易引起系统强烈“振动”,运动点不能快速收敛,增加系统动态响应时间

由滑模观测器模型求得反电动势表达式为:

其中,wc为低通滤波器截止频率,截止频率越小时,所得的等效反电动势信号谐波越小波形越光滑,反电动势相位滞后越严重。当截止频率接近电机的运行角频率时,将无法检测出正确的反电动势信息,对转速和相位角的估计将会得出错误信息。因此低通滤波器截止频率应选择恰当。

通过sign函数和低通滤波器可近似得到永磁同步电机α-β 轴反电动势,由于反电动势中包含转角信息。在传统滑模观测器中,可采用反正切法求电机相位角和转速:

以上转速求解方法仅适用于SPMSM,如果电机类型为IPMSM可以采用对估计转角微分进而求得估计转速。

除了反正切求取估计转角,同理也可以采用反余弦函数求取估计转角。

二、仿真模型

在MATLAB/simulink里面验证所提算法,搭建采用反三角函数的传统SMO仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为5e-7。仿真模型如下所示:

反正切与反余弦效果基本相同,这里仅展示反余弦仿真波形

仿真工况:电机空载零速启动,0s阶跃给定转速1000rpm,0.5s施加额定负载

2.1给定转速、实际转速和估计转速

电机从0速启动阶段,存在较大波动,这是由于低速时反电动势幅值较小,信噪比低,估计反电动势不准确,而反三角函数估计方法对反电动势符号变化非常敏感,导致低速时估计性能较差。不过从波形中可以看出,电机仍能启动。并且在大多数应用中,低速通常采用IF或者低速无速度辨识算法,不会依靠SMO来启动,所以启动部分性能可以暂不考虑。

在到达额定转速后,可以看出,估计转速较为准确的跟踪实际转速,电机运行比较平稳。

2.2估计转速与实际转速误差

2.3估计转角与实际转角

2.4估计转角与实际转角误差

2.5电磁转矩

2.6三相电流

综合来看,传统依靠反三角函数求解的SMO可以实现PMSM的无速度传感器控制,但是由于滑模本身的抖振以及转角转速求解过程的除法微分环节,导致估计转速和转角存在高频脉动,进而导致转矩、电流的波动。

因此需要采用其他改进措施来进一步改善SMO的性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1905158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙NEXT不再支持安卓这条路真的走的通吗?

前言 看到高赞又是一片嘲讽,“apk换种打包方式”等等轻松拿几百赞,我也是无语。 国内多家互联网大厂都已经启动HarmonyOS Next应用开发,预计明年正式上线,如今业内很多人都已经知道了。 网络上相关报道也有很多,新浪…

[数据结构] 归并排序快速排序 及非递归实现

()标题:[数据结构] 归并排序&&快速排序 及非递归实现 水墨不写bug (图片来源于网络) 目录 (一)快速排序 类比递归谋划非递归 快速排序的非递归实现: (二)归并排序 归…

antdesignvue对话框用户可移动并缩放

原贴 轻松搞定Ant Design Modal对话框拖拽缩放 - ByteZoneX社区https://www.bytezonex.com/archives/IFRuoJhd.html Ant Design 模态对话框:实现拖拽缩放功能 **子 Ant Design 是一个流行的前端 UI 框架,提供了一系列实用的组件,包括模态对…

数据结构——二叉树相关题目

1.寻找二叉树中数值为x的节点 //寻找二叉树中数值为x的节点 BTNode* TreeFind(BTNode* root, BTDataType x)//传过来二叉树的地址和根的地址,以及需要查找的数据 {if (root Null){return Null;}//首先需要先判断这个树是否为空,如果为空直接返回空if (…

Linux下fcitx框架输入法输入中文标点时为半角(英文)标点符号的解决

目录 引入解决1.打开fcitx设置2.打开全局配置3. 随便找个可以输入地方敲下快捷键 总结 本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。 因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修…

RNN 交叉熵

RNN善于处理时序 序列数据 简单RNN 展开就是 LSTM 遗忘门f_t决定上期记忆保留多少 隐藏层 在神经网络中,隐藏层指的是除了输入层和输出层之外的层,它们的输出不会直接用于网络的最终输出,而是作为中间步骤用于提取和转换数据。因此&#x…

构件软件开发-系统架构师(二十五)

1、一路和二路公交车都将在10分钟随机到达同一车站,他们相隔四分钟的概率是()。 A0.36 B0.48 C0.64 D0.76 解析: 如果把x为1路,y为2路,则x-y4,y-x4 所以可以得到坐标 (4,0)(10,6)(0,4)(6,1…

(ECCV,2022)Mask-CLIP:从CLIP中提取自由密集标签

文章目录 Extract Free Dense Labels from CLIP相关资料摘要引言方法Mask-CLIPMask-CLIP 实验 Extract Free Dense Labels from CLIP 相关资料 代码:https://github.com/chongzhou96/MaskCLIP 论文:https://arxiv.org/abs/2112.01071 摘要 对比语言-…

PyVideoTrans:一款功能全面的视频翻译配音工具!【送源码】

PyVideoTrans是一款功能全面的视频翻译配音工具,专为视频内容创作者设计。它能够将视频中的语言翻译成另一种语言,并自动生成与之匹配的字幕和配音。支持多种语言,包括但不限于中文(简繁体)、英语、韩语、日语、俄语、…

算法010:无重复字符的最长子串

无重复字符的最长子串. - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/longest-substring-without-repeating-characters/ 使用的算法:滑动窗口 在这个…

apk反编译修改教程系列-----修改apk 解除软件限制功能 实例操作步骤解析_3【二十二】

在前面的几期博文中有过解析去除apk中功能权限的反编译步骤。另外在以往博文中也列举了修改apk中选项功能权限的操作方法。今天以另外一款apk作为演示修改反编译去除软件功能限制的步骤。兴趣的友友可以参考其中的修改过程。 课程的目的是了解apk中各个文件的具体作用以及简单…

C-11 三角剖分的调研

C-11 三角剖分算法 三角剖分就是将输入的多边形,分割成一系列互不重叠的三角形,其重要性就在这不多赘述。这个是一个别人总结的链接:http://vterrain.org/Implementation/Libs/triangulate.html 图片链接:http://www-cgrl.cs.m…

STM32点灯闪烁

stm32c8t6引脚图 开发板引脚图 GPIO端口的每个位可以由软件分别配置成 多种模式。 ─ 输入浮空 ─ 输入上拉 ─ 输入下拉 ─ 模拟输入 ─ 开漏输出 ─ 推挽式输出 ─ 推挽式复用功能 ─ 开漏复用功能 配置GPIO端口步骤:开启时钟->使用结构体设置输出模式…

Android项目中,查看项目依赖树的多种方式

1.使用预设的Task来进行查看 1.1 命令行 查看某个模块的所有依赖树: gradlew [模块名称]:dependencies 例如:gradlew app:dependencies查看某个模块的某功能的依赖树: gradlew [模块名称]:dependencies --configuration [功能名称] 例如&…

国内采用docker部署open-metadata

背景 最近看看开源的元数据管理项目,比较出名点的有open-metadata、datahub、OpenLineage、atlas。 open-metadata有1千多的贡献者,4.8K的stars,社区现在也比较活跃,支持的数据库类型还蛮多,基本市面上常见的都有支持…

C++ 函数高级——函数的占位参数

C中函数的形参列表里可以有占位参数,用来做占位,调用函数时必须填补改位置 语法: 返回值类型 函数名(数据类型){ } 在现阶段函数的占位参数存在意义不大,但是后面的课程中会用到该技术 示例:…

离线开发(VSCode、Chrome、Element)

一、VSCode 扩展 使用能联网的电脑 A,在VSCode官网下载安装包 使用能联网的电脑 A,从扩展下载vsix扩展文件 将VSCode安装包和vsix扩展文件通过手段(u盘,刻盘 等)导入到不能联网的离线电脑 B 中 在离线电脑 B 中安装…

Gitlab Fork Workflow(协作工作流)

Gitlab Fork WorkFlow(协作工作流) Fork WorkFlow用于团队间的协作开发。在开发过程中,我们都需要将最新修改的代码合并到代码库上,在代码合并之前,为了保证代码符合上传要求(符合需求、代码规范等&#xf…

PageHelper分页查询遇到的小问题

如果我们是这样子直接查询 pagehelper会拼接导我们的sql语句之后 这样子我们搜索出来的list&#xff0c;就是里面参杂了PageHelper的东西 所以我们可以直接转成我们的Page类型 但是如果我们搜索出来的是List<Blog>&#xff0c;我有些信息不想返回给前端&#xff0c;所以…

运维系列.Nginx中使用HTTP压缩功能

运维专题 Nginx中使用HTTP压缩功能 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550…