电机参数辨识算法(3)——基于三角波电流注入的SPMSM全参数辨识策略

1.引言

电机参数辨识对提高电机控制性能具有重要意义。在之前的参数辨识专题中,介绍了基于无差拍预测电流控制的高频正弦电流注入参数辨识。高频正弦电流注入的话需要你控制器的带宽比较高,因此这种方法不适用于传统PI控制的电流环,还是得用无差拍这种高带宽得控制器。

https://zhuanlan.zhihu.com/p/685863710icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/685863710

https://zhuanlan.zhihu.com/p/687206417icon-default.png?t=O83Ahttps://zhuanlan.zhihu.com/p/687206417

在高性能控制算法16中,里面的算法利用多个动态工况下的数据来接近电机的缺秩问题,进而实现了全参数辨识。

针对上述这些方法的不足,本篇文章分享一种基于三角波注入的SPMSM全参数辨识,主要针对于稳态工况,即使采用PI控制的电流环,也可以实现全参数辨识。

参考文献:

2.三角波注入参数辨识方法简介

文章所提参数辨识方法的控制框图如下所示:

这篇文章是做稳态工况下的参数辨识,需要注入三角波电流。如果三角波电流注入到q轴的话,肯定会造成转矩脉动,所以这篇文章是往d轴注入三角波电流。

电流注入的目的就是为了解决电机方程的缺秩问题。如式子(1)所示,电机的方程只有两个,所有无法同时辨识电阻、电感、磁链三个参数。

注入三角波电流可以构建多个电压方程,进而解决缺秩问题,实现全参数辨识。如式子(2)所示,注入三角波之后,由于d轴电流有所变化,所以可以构建出更多的电压方程。

3.复现注意事项

3.1电压方程的电压来源问题

这一点我在之前的知乎中有说过,我当时说用SVPWM的占空比以及直流母线电压进行dq电压的反算。我反算的目的其实是为了避免过调制产生电压误差。

https://www.zhihu.com/question/652484924/answer/3481605691icon-default.png?t=O83Ahttps://www.zhihu.com/question/652484924/answer/3481605691

但是我们正常跑一个电机,在稳态的时候是没有过调制的,这时候直接用dq电流环输出的参考电压就行了,根本没有必要去做电压反算。在仔细看看文章的参数辨识框图,用的就是dq回路的参考电压。

3.2三角波的过顶点问题

注意看式子(2),里面涉及一个电流微分项di/dt。如果把注入的三角波电流的顶点采集下来做微分,就会导致计算的微分数值不等于三角波的斜率。这一问题在论文中也有说明。

所以搭建仿真的时候就要规划好在什么时候才能开启辨识。

3.3最小二乘法公式

文章中给了最小二乘法的矩阵,但是没有给最小二乘法的计算公式。。。

 

 

关于最小二乘法计算公式,知网找一篇靠谱点的学校的硕士论文即可。我仿真中采用的最小二乘法计算公式如下:

4.仿真验证

4.1三角载波注入的验证

dq电流波形总览

dq电流波形放大图

我仿真里直接用的PI控制的电流环。可以看到,即使采用PI调节器,也可以实现较好的三角波电流注入。

4.2仿真参数

4.3低速大电流情况下的参数辨识效果展示

辨识效果图

电流、转矩、转速波形

可以看到,这个辨识效果还是不错的。电感误差很小(低于3%),电阻和磁链误差都在5%左右。

4.4低速小电流情况下的参数辨识效果展示

辨识效果图

电流、转矩、转速波形

可以看到,在低速小电流情况下,参数辨识的效果依旧很好。电感和磁链误差很小(低于3%),电阻误差在5%左右。

4.5高速大电流情况下的参数辨识效果展示

辨识效果图

电流、转矩、转速波形

可以看到,在高速大电流情况下,参数辨识的效果不错。磁链误差在1%左右,电感误差在2%左右;电阻误差在5%左右。

4.6高速小电流情况下的参数辨识效果展示

辨识效果图

电流、转矩、转速波形

可以看到,在高速小电流情况下,参数辨识的效果不错。磁链误差非常小(低于1%),电感误差在3%;电阻误差在5%左右。

4.7高速大电流且加入1us死区情况下的参数辨识效果展示

辨识效果图

电流、转矩、转速波形

可以看到,在高速大电流且加入1us死区情况下,参数辨识的效果不错,电感和磁链的辨识精度没有受太大影响,主要是电阻的辨识效果出现了明显误差。但是还好,感觉这个效果已经很好了。

5.总结

采用三角波电流注入的方法可以实现SPMSM的全参数辨识,且在各个工况下都具有较好的辨识效果。

不过,辨识效果其实很容易受注入的三角波信号的影响。之前复现的高频正弦电流注入的话,也是会有这个问题——辨识效果容易受注入信号的影响。

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

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

相关文章

Vulnhub靶场 Matrix-Breakout: 2 Morpheus 练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 文件上传2. 提权 0x04 总结 0x00 准备 下载连接:https://download.vulnhub.com/matrix-breakout/matrix-breakout-2-morpheus.ova 介绍: This is the second in the Matrix-Br…

HTML5动漫主题网站——天空之城 10页 html+css+设计报告成品项目模版

📂文章目录 一、📔网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站演示 五、⚙️网站代码 🧱HTML结构代码 💒CSS样式代码 六、🔧完整源码下载 七、📣更多 一、&#…

SpringMVC:入门案例

从此开始,我们步入SpringMVC的学习。 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架 先来看一下web程序是如何工作的: 因为是异步调用,所以后端不需要返回view视图,将其去除前端如果通过异步调用的方式进行交互&#xff0…

【Windows 11专业版】使用问题集合

博文将不断学习补充 I、设置WIN R打开应用默认使用管理员启动 1、WIN R输入 secpol.msc 进入“本地安全策略”。 2、按照如下路径,找到条目: “安全设置”—“本地策略”—“安全选项”—“用户账户控制:以管理员批准模式运行所有管理员” …

Python学习38天

class Person:def __init__(self, name, age, job):self.name nameself.age ageself.job job# 重写函数返回属性def __str__(self):return f"{self.name}--{self.age}--{self.job}"# 冒泡排序法 def bubble_sort(my_list: list[Person]):"""冒泡排…

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本。 原因是:当前操作系统版本为Windows Server 2016 Standard版本,其自带的Microsoft .NET Framework 版本为4.6太低,不满足要求。 根据报错的提示,点击链接…

鸿蒙开发:自定义一个任意位置弹出的Dialog

前言 鸿蒙开发中,一直有个问题困扰着自己,想必也困扰着大多数开发者,那就是,系统提供的dialog自定义弹窗,无法实现在任意位置进行弹出,仅限于CustomDialog和Component struct的成员变量,这就导致…

DTC控制,直接转矩控制详解

关于磁链矢量所在扇区及最优开关表的选择的思路分析和matlab/simulink实现 仿真参考袁雷老师的《现代永磁同步电机控制原理及MATLAB仿真》,但是由于书中所附代码和书中第四章中讲的实现不同,因此根据自己看的资料和理解重新整理并实现了一下。 这里采用…

css选择当前元素前面的一个元素

选择text-danger前面的ant-divider: .ant-divider:has( .text-danger) {display: none; }

Qt,如何从零开始入门!

Qt 是一个功能全面的跨平台开发框架,不仅可以用于开发桌面应用,还在嵌入式系统中扮演重要角色。即使没有图形化 IDE(如 Qt Creator),你依然可以使用命令行工具和文本编辑器来快速构建功能强大的应用程序。本文将从手动…

oracle数据库的启动与关闭

一.oracle数据库的启动过程 启动实例(Start the Instance) 启动实例:一个Oracle数据库实例由内存结构和后台进程组成,启动实例时会加载这些内存结构和启动进程。实例是数据库的一个运行时环境,它包含了数据库的控制文…

最新版Chrome浏览器调用ActiveX控件之allWebOffice控件

allWebOffice控件概述 allWebOffice控件能够实现在浏览器窗口中在线操作微软Office及WPS办公文档的应用(阅读、编辑、保存等),支持编辑文档时保留修改痕迹,支持书签位置内容动态填充,支持公文套红,支持文档…

AD软件如何快速切换三维视图,由2D切换至3D,以及如何恢复

在Altium Designer软件中,切换三维视图以及恢复二维视图的操作相对简单。以下是具体的步骤: 切换三维视图 在PCB设计界面中,2D切换3D,快捷键按住数字键盘中的“3”即可切换; 快捷键ctrlf(或者vb快捷键也…

el-table 最简单的方法配置图片预览功能

el-table 最简单的方法配置图片预览功能 效果预览 1、安装插件 npm install v-viewernext viewerjs2、全局引入,配置main.js // main.js import VueViewer from v-viewer; import viewerjs/dist/viewer.css; app.use(VueViewer, {url: data-src, // 指定 data-* …

深度学习框架PyTorch中的Tensor详解

目录 ​编辑 引言 PyTorch Tensor基础 什么是Tensor? Tensor与NumPy ndarray Tensor的特性 多维数组 数据类型 设备兼容性 自动求导 广播机制 视图和副本 使用Tensor 创建Tensor 操作Tensor 移动Tensor 自动求导 结论 引言 在深度学习的浪潮中&a…

【实战】Oracle基础之控制文件内容的5种查询方法

关于Jady: ★工作经验:近20年IT技术服务经验,熟悉业务又深耕技术,为业务加持左能进行IT技术规划,右能处理综合性故障与疑难杂症; ★成长历程:网络运维、主机/存储运维、程序/数据库开发、大数…

【Docker】Docker配置远程访问

配置Docker的远程访问,你需要按照以下步骤进行操作: 1. 在Docker宿主机上配置Docker守护进程监听TCP端口 Docker守护进程默认只监听UNIX套接字,要实现远程访问,需要修改配置以监听TCP端口。 ‌方法一:修改Docker服务…

利用Ubuntu批量下载modis图像(New)

由于最近modis原来批量下载的代码不再直接给出,因此,再次梳理如何利用Ubuntu下载modis数据。 之前的下载代码为十分长,现在只给出一部分,需要自己再补充另一部分。之前的为: 感谢郭师兄的指导(https://blo…

视频流媒体服务解决方案之Liveweb视频汇聚平台

一,Liveweb视频汇聚平台简介: LiveWeb是深圳市好游科技有限公司开发的一套综合视频汇聚管理平台,可提供多协议(RTSP/RTMP/GB28181/海康Ehome/大华,海康SDK等)的视频设备接入,支持GB/T28181上下级联&#xf…

飞凌嵌入式受邀亮相OpenHarmony人才生态大会2024

2024年11月27日,OpenHarmony人才生态大会2024在武汉洲际酒店举行。在这场汇聚了行业精英、技术大咖及生态伙伴的年度盛会上,飞凌嵌入式作为OpenHarmony社区的重要成员受邀出席,并展示了其在OpenHarmony 4.1系统适配方面的最新成果。 在大会的…