永磁同步电机无感FOC(扩展卡尔曼滤波EKF位置观测控制)

文章目录

  • 1、前言
  • 2、扩展卡尔曼滤波器原理
    • 2.1 预测阶段(时间更新阶段)
    • 2.2 校正阶段(状态更新阶段)
  • 3、永磁同步电机EKF的模型
  • 4、永磁同步电机EKF的无位置状态观测仿真
    • 4.1 核心模块(在滑膜、龙伯格、磁链等观测器基础上修改)
    • 4.2 观测效果
  • 参考

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

1、前言

在这里插入图片描述

2、扩展卡尔曼滤波器原理

在这里插入图片描述

2.1 预测阶段(时间更新阶段)

在这里插入图片描述

2.2 校正阶段(状态更新阶段)

在这里插入图片描述

3、永磁同步电机EKF的模型

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

4、永磁同步电机EKF的无位置状态观测仿真

模型下载地址: 永磁同步电机无感FOC(扩展卡尔曼滤波EKF位置观测控制)simulink仿真模型
PMSM控制框图如下如所示:
在这里插入图片描述

4.1 核心模块(在滑膜、龙伯格、磁链等观测器基础上修改)

在这里插入图片描述
其中EKF模块如下:
在这里插入图片描述
其中使用matlab function实现具体算法:

function [theta, we] = EKF(ialpha, ibeta, ualpha, ubeta, Ts, Ls, Rs, flux)% 声明持久变量
persistent x_k_1 P_K_1% 如果持久变量为空,则进行初始化
if isempty(x_k_1)x_k_1 = single([0, 0, 0, 0]');
end   
if isempty(P_K_1)P_K_1 = single(diag([0.1, 0.1, 0, 0]));
end % 输入向量
Is = single([ialpha ibeta]');
Us = single([ualpha ubeta]');% 系统噪声和测量噪声协方差矩阵
Q = single(diag([0.1 0.1 1 0.01]));
R = single(diag([0.2 0.2]));% 系统矩阵和控制矩阵
C = single([1 0 0 0;0 1 0 0]);
B = single([1/Ls 0;0 1/Ls;0 0;0 0]);% 状态方程和状态转移矩阵
f = single([-Rs*x_k_1(1,1)/Ls + x_k_1(3,1)*flux*sin(x_k_1(4,1))/Ls;-Rs*x_k_1(2,1)/Ls - x_k_1(3,1)*flux*cos(x_k_1(4,1))/Ls;0;x_k_1(3,1)]);
F = single([-Rs/Ls 0 flux*sin(x_k_1(4,1))/Ls flux*x_k_1(3,1)*cos(x_k_1(4,1))/Ls;0 -Rs/Ls -flux*cos(x_k_1(4,1))/Ls flux*x_k_1(3,1)*sin(x_k_1(4,1))/Ls;0 0 0 0;0 0 1 0]);%v=diag([1,1,1,1])+Ts*F;
% 计算预测值
X_pred = x_k_1 + Ts * (f + B * Us);
Y_Pred = C * X_pred;
Y = Is;% 计算预测误差协方差
P_Pred = P_K_1 + Ts * (F * P_K_1 + P_K_1 * F') + Q;
%P_Pred=v*P_K_1*v'+Q;% 计算卡尔曼增益
K = P_Pred * C' * inv(C * P_Pred * C' + R);% 修正预测值
x_hat = X_pred + K * (Y - Y_Pred);% 更新误差协方差
P_hat = P_Pred - K * C * P_Pred;% 输出更新后的状态值
we = single(x_hat(3,1));
theta = single(x_hat(4,1));% 更新持久变量
x_k_1=x_hat;
P_K_1 = P_hat;end

4.2 观测效果

  • 速度(给定速度、反馈速度及观测速度)
    在这里插入图片描述
    可以看到EKF可以实现正反转的切换。
  • 位置(反馈位置及观测位置)
    在这里插入图片描述
    位置重合度较高。
    个人觉得扩展卡尔曼是目前几个无感方案中最简单的一种方案,需调节的参数少,控制效果好。不过,如果在MCU中实现,需要计算矩阵。

参考

【1】KF、EKF、ESKF的区别与联系:
https://blog.csdn.net/liu3612162/article/details/114634670
【2】彭程. 无位置传感器的永磁同步电机模型预测控制研究[D].武汉理工大学,2022.DOI:10.27381/d.cnki.gwlgu.2022.000761.
【3】姜畅畅. 基于强跟踪EKF的永磁同步电机无位置传感器控制[D].江苏大学,2023.DOI:10.27170/d.cnki.gjsuu.2023.000998.
【4】李杰. 基于EKF的永磁同步电机无位置传感器控制的研究[D].湖南大学,2014.
【5】现代永磁同步电机控制原理及MATLAB仿真 袁雷
【6】小猫爪:PMSM之FOC控制13-搭建EKF观测器:
https://blog.csdn.net/Oushuwen/article/details/122112664
【7】电控5:扩展卡尔曼的实际应用:
https://zhuanlan.zhihu.com/p/662050208

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

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

相关文章

三角洲期刊投稿发表论文

《三角洲》杂志是由国家新闻出版总署批准,南通市委宣传部主管,南通日报社、南通市文学艺术界联合会主办的正规文学类期刊。适用于发表高品质文学学术作品,科研机构的专家学者以及高等院校的师生等具有原创性的学术理论、工作实践、科研成果和…

openEuler-23.03下载

下载地址:openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 下载版本:openEuler-23.03-x86_64-dvd.iso

H264标准协议基础3

参考博文 上一篇H264标准协议基础2 1.解码视频帧的poc计算 2.残差4x4 矩阵中的trailingones & numcoeff 2.1查表 trailingones 表达出尾部one(1,-1)系数的个数,按照zigzag扫描出(1,-1)个数,trailingones的最大为3; numcoeff 表达非零值系数的个数,最多为16个…

Linux shell 脚本基础与部署SpringCloud实战

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

供应链投毒预警 | 开源供应链投毒202403月报发布啦!(含投毒案例分析)

悬镜供应链安全情报中心通过持续监测全网主流开源软件仓库,结合程序动静态分析方式对潜在风险的开源组件包进行动态跟踪和捕获,能够第一时间捕获开源组件仓库中的恶意投毒攻击。在2024年3月份,悬镜供应链安全情报中心在NPM官方仓库&#xff0…

Flattened Butterfly 扁平蝶形拓扑

Flattened Butterfly 扁平蝶形拓扑 1. 传统蝶形网络 Butterfly Topology2. 扁平蝶形拓扑 Flattened Butterfly3.On-Chip Flattened Butterfly 扁平蝶形拓扑应用于片上网络 Flattened Butterfly 扁平蝶形拓扑 扁平蝶形拓扑是一种经济高效的拓扑,适用于高基数路由器…

OpenHarmony南向开发案例:【智能照相机】

样例简介 本Demo是基于Hi3516开发板,使用OpenHarmony3.0-LTS开发的应用。通过获取摄像头数据,实现预览拍照以及路视频等功能。并且通过后台AI服务识别唤醒词来进行语音控制拍照及录制视频。 应用运行效果图: 此为相机的预览界面。 样例原理…

OpenHarmony多媒体-ohos_videocompressor

介绍 videoCompressor是一款ohos高性能视频压缩器。 目前实现的能力: 支持视频压缩 使用本工程 有两种方式可以下载本工程: 开发者如果想要使用本工程,可以使用git命令 git clone https://gitee.com/openharmony-sig/ohos_videocompressor.git --…

推荐一款免费虚拟主机,小编亲测好用!

虚拟主机是一种将物理服务器分割成多个虚拟服务器的技术,每个虚拟服务器都具有独立的操作系统和资源。相较于独立服务器,虚拟主机具有较低的成本和维护难度,因此受到了许多个人和小型企业的青睐。本文将为大家推荐一款免费且性能优秀的虚拟主…

鸿蒙入门05-真机运行“遥遥领先”

如果你有一台真的 "遥遥领先"那么是可以直接在手机上真机运行你的项目的我们也来尝试一下运行 一、手机设置开发者模式 打开手机设置 打开手机设置界面 向下滑动到关于手机位置 快速连续点击版本号位置 下图所示位置快速连续点击 打开 3 - 5 次即可 会提示您已经进…

跨境电商MercadoLibre(美客多)平台预约号操作流程自动化系统

目录 一、前置配置准备 1. 安装Chrome插件 2. 添加预约配置 二、开始使用 MercadoLibre(美客多)于2021年10月18号上线了新预约入仓系统,在MercadoLibre美客多平台上,新入仓预约系统是一项非常重要的功能,它可以帮助…

每日两题 / 53. 最大子数组和 56. 合并区间(LeetCode热题100)

53. 最大子数组和 - 力扣(LeetCode) 经典dp题,dp[i]表示以nums[i]为结尾的所有子数组中,最大的和 将i从左到右遍历,考虑dp[i]如何维护? 以nums[i]结尾的子数组只有两种情况,子数组只有nums[i]…

【Lattice FPGA 开发】Diamond的使用

文章目录 Diamond的使用教程界面器件查看与更改管脚分配RTL分析图查看 第三方工具关联Notepad 问题与解决管脚被分类到unconnected,导致无法分配管脚 Diamond的使用教程 【Lattice FPGA 开发】Diamond的工程建立、文件输入、ip核配置、管脚配置、综合及布线以及下载…

2024年五一杯数学建模B题思路分析

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间:2024…

Unity类银河恶魔城学习记录12-17 p139 In game UI源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI.cs using UnityEngine;public class UI : MonoBehaviour {[SerializeFie…

移远通信:立足5G RedCap新质生产力,全力推动智能电网创新发展

随着全球能源结构的转型和电力需求的持续增长,智能电网产业迎来了新的发展机遇。而物联网、大数据等前沿技术的创新和应用,正在为电力行业的发展注入强劲的新质生产力。 4月9日,第四十八届中国电工仪器仪表产业发展技术研讨及展会在杭州拉开帷…

第二部分 Python提高—GUI图形用户界面编程(三)

简单组件学习 Radiobutton 单选按钮、Checkbutton 复选按钮和canvas 画布 文章目录 Radiobutton 单选按钮Checkbutton 复选按钮canvas 画布 Radiobutton 单选按钮 Radiobutton 控件用于选择同一组单选按钮中的一个。Radiobutton 可以显示文本,也可以显示图像。 f…

当下AI驱动下的广告营销,是一个“领先的落后行业” | 第八届社交媒体风向大会

内容创作者调研显示:AI渗透率竟不足两成? 人类是智能化发展的缔造者,也是前行的绊脚石? 为什么说广告营销行业是“领先的落后行业”? 针对AI浪潮下社交媒体领域的发展,4月15日的风向大会上,微播易创始人…

基于SSM+Jsp+Mysql的准速达物流管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

MAC M1版IDEA热部署JRebel

1、在idea里面安装jrebel插件 2、下载激活工具:ReverseProxy_darwin_amd64 下载地址(Mac早期用户使用Safari下载,不要用Chrome,否则下载之后会把.dms后缀名去掉) 特别注意:M1用户请使用下面的下载&#xff…