永磁同步电机控制算法--最大转矩电流比控制(虚拟信号注入法)

news2024/10/6 3:03:16

目前,国内外相关学者对 MTPA 控制方法进行了一系列的理论研究与仿真分析。通过研究取得的成果综合来看,该控制方法主要有:直接公式计算法、曲线拟合法、查表法、搜索法、高频信号注入法以及参数辨识法等。

之前的文章中已经介绍了直接公式计算法、曲线拟合法、查表法、参数辨识法(参数辨识方法+直接公式法),接下来将用两篇文章来介绍一下高频信号注入法

一、原理介绍

高频信号注入式MTPA控制方法不受IPMSM参数变化的影响,能够实现MTPA轨迹实时跟踪,但注入的实际高频电流信号将导致存在转矩脉动的问题。虚拟信号注入式MTPA控制方法不需要实际注入信号,避免了转矩脉动。因此,采用虚拟信号注入式MTPA控制方法具有重要的研究意义,当参数变化时具有控制精度高、稳定性能好、动态响应能力强,并且能够避免高频信号注入法引起实际转矩脉动的问题,从而适用于IPMSM高精度控制的场合。

虚拟信号注入式MTPA控制方法在实际控制过程中虚拟的注入信号,使其转矩方程中带有高频信号分量。通过滤波器对转矩判据提取,从而实现虚拟信号注入式MTPA控制。

该算法的实现需要重新构建电磁转矩的方程,并通过注入高频电流信号得到含有高频量的电磁转矩表达式。然后,将得到的电磁转矩表达式按泰勒公式展开,经过BPF以及LPF的过滤后得到含∂Te/∂β项,将其通过 PI 调节器后输出作为MTPA工作点。当电磁转矩的一阶偏导数∂Te/∂β项不为零时,电机运行在MTPA工作点外,PI调节器将持续进行调节,直到一阶偏导数∂Te/∂β项等于零为止,使得电机运行在MTPA工作点上。当电磁转矩的一阶偏导数∂Te/∂β项为零时,电流矢量角将保持稳定不变,电机运行在MTPA工作点上。

(具体原理就不放在这里了,感兴趣的可以私聊我要)

IPMSM 虚拟信号注入式 MTPA原理框图如下图所示。

IPMSM虚拟信号注入式MTPA控制系统框图

二、仿真模型

在MATLAB/simulink里面验证所提算法,搭建虚拟信号注入式MTPA仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为5e-7。仿真模型如下所示:

仿真工况:0速半载启动,0.5s施加额定负载,对比在额定参数条件下虚拟信号注入式MTPA与直接公式法MTPA。

前一个为虚拟信号注入式M

目前,国内外相关学者对 MTPA 控制方法进行了一系列的理论研究与仿真分析。通过研究取得的成果综合来看,该控制方法主要有:直接公式计算法、曲线拟合法、查表法、搜索法、高频信号注入法以及参数辨识法等。

之前的文章中已经介绍了直接公式计算法、曲线拟合法、查表法、参数辨识法(参数辨识方法+直接公式法),接下来将用两篇文章来介绍一下高频信号注入法

一、原理介绍

高频信号注入式MTPA控制方法不受IPMSM参数变化的影响,能够实现MTPA轨迹实时跟踪,但注入的实际高频电流信号将导致存在转矩脉动的问题。虚拟信号注入式MTPA控制方法不需要实际注入信号,避免了转矩脉动。因此,采用虚拟信号注入式MTPA控制方法具有重要的研究意义,当参数变化时具有控制精度高、稳定性能好、动态响应能力强,并且能够避免高频信号注入法引起实际转矩脉动的问题,从而适用于IPMSM高精度控制的场合。

虚拟信号注入式MTPA控制方法在实际控制过程中虚拟的注入信号,使其转矩方程中带有高频信号分量。通过滤波器对转矩判据提取,从而实现虚拟信号注入式MTPA控制。

该算法的实现需要重新构建电磁转矩的方程,并通过注入高频电流信号得到含有高频量的电磁转矩表达式。然后,将得到的电磁转矩表达式按泰勒公式展开,经过BPF以及LPF的过滤后得到含∂Te/∂β项,将其通过 PI 调节器后输出作为MTPA工作点。当电磁转矩的一阶偏导数∂Te/∂β项不为零时,电机运行在MTPA工作点外,PI调节器将持续进行调节,直到一阶偏导数∂Te/∂β项等于零为止,使得电机运行在MTPA工作点上。当电磁转矩的一阶偏导数∂Te/∂β项为零时,电流矢量角将保持稳定不变,电机运行在MTPA工作点上。

(具体原理就不放在这里了,感兴趣的可以私聊我要)

IPMSM 虚拟信号注入式 MTPA原理框图如下图所示。

IPMSM虚拟信号注入式MTPA控制系统框图

二、仿真模型

在MATLAB/simulink里面验证所提算法,搭建虚拟信号注入式MTPA仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为5e-7。仿真模型如下所示:

仿真工况:0速半载启动,0.5s施加额定负载,对比在额定参数条件下虚拟信号注入式MTPA与直接公式法MTPA。

前一个为虚拟信号注入式MTPA,后一个为直接公式法MTPA

2.1 转速

在整个过程中电机转速波动很小,证明该算法稳定性良好。

2.2 dq轴电流

从图中可以看出在最初加速过程中,dq轴电流波动较大,这是由于启动阶段转矩突变,dq轴电流变化较大,而滤波器信号提取收到突变信号影响,导致计算生成的电流角波动,进而导致dq轴电流给定信号波动。但是该波动不会导致电机失控,并且在后续加载动态阶段并不此类振荡状态,证明了算法具有一定的抗扰性。

稳态时,虚拟信号注入式MTPA与直接公式法MTPA分配dq轴电流值相同,证明了虚拟信号注入式有效性。

2.3 电磁转矩

稳态时,相比于高频注入式MTPA,无转矩波动

2.4 电流幅值

从电流幅值波形可以看出,虚拟信号注入式MTPA实现与直接公式法相同的效果。

2.5 电机参数变化下的电流幅值

仿真工况:0速半载启动,0.5s施加额定负载,对比在dq轴电感参数变化条件下虚拟信号注入式MTPA与直接公式法MTPA。

虚拟信号注入式MTPA

原参数的直接公式法MTPA

变参数的直接公式法MTPA

可以看出,在电机参数变化式,用原参数的直接公式法MTPA所需要的电流幅值略大,而虚拟信号注入式MTPA与用变参数的直接公式法MTPA所需电流幅值基本相同,证明该算法具有良好的参数鲁棒性。

综合来说,信号注入法MTPA具有更好的参数鲁棒性,也能很好的跟踪MTPA轨迹,但这两种算法都需要较为复杂的信号提取过程,也需要使用滤波器和PI调节器。可以说是对传统公式法和查表法的性能提升,但个人觉得从算法复杂度来说,信号注入法是要略微复杂一些呢。毕竟公式计算和查表能有多难呢。

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

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

相关文章

ASP.NET Core----基础学习03----开发者异常页面 MVC工作原理及实现

文章目录 1. 开发者异常页面(1)Startup.cs 页面的基础配置(2)自定义显示报错代码的前后XX行 2. MVC 的原理3. MVC 的实现4.默认路由路径5.返回Json字符串 1. 开发者异常页面 (1)Startup.cs 页面的基础配置 namespace ASP.Net_Blank {public class Startup{private readonly IC…

Matlab协方差矩阵分解法生成随机场

Matlab协方差矩阵分解法生成随机场 相关系数矩阵 % function outcohesion(x,y,mu,theta) % end % xyload(F:\Research-OUC\基于机器许学习模型的海底斜坡可靠度研究\基于comsol的斜坡稳定性分析\comsol网格操作\grid_operate-matlab.mphtxt); % xxy(:,1); % yxy(:,2); Xlinspac…

前端JS特效第22集:html5音乐旋律自定义交互特效

html5音乐旋律自定义交互特效&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en" > <head> <meta charset"UTF-8"> <title>ChimeTime™</title…

Spring源码十二:事件发布源码跟踪

上一篇我们在Spring源码十一&#xff1a;事件驱动中&#xff0c;介绍了spring refresh方法的initMessageSource方法与initApplicationEventMulticaster方法&#xff0c;举了一个简单的例子进行简单的使用的Spring为我们提供的事件驱动发布的示例。这一篇我们将继续跟踪源码&…

谷粒商城学习笔记-使用renren-fast-vue框架时安装依赖包遇到的问题及解决策略

文章目录 1&#xff0c;npm error Class extends value undefined is not a constuctor or null2&#xff0c;npm warn cli npm v10.8.1 does not support Node.js v16.20.2.3&#xff0c;npm error code CERT_HAS_EXPIRED学习心得 这篇文章记录下使用renren-fast-vue&#xff…

花所Flower非小号排名20名下载花所Flower

1、Flower花所介绍 Flower花所是一家新兴的数字货币交易平台&#xff0c;致力于为全球用户提供安全、便捷的交易体验。平台以其强大的技术支持和丰富的交易产品闻名&#xff0c;为用户提供多样化的数字资产交易服务&#xff0c;涵盖了主流和新兴数字货币的交易需求。 2. Flowe…

SQL之delete、truncate和drop区别

MySQL删除数据的方式都有哪些&#xff1f; 常用的三种删除方式&#xff1a;通过 delete、truncate、drop 关键字进行删除&#xff1b;这三种都可以用来删除数据&#xff0c;但场景不同。 一、从执行速度上来说 drop > truncate >> DELETE;二、从原理上讲 1、DELET…

Guitar Pro8.2让你的吉他弹奏如虎添翼!

亲爱的音乐爱好者们&#xff0c;今天我要跟大家安利一个让我彻底沉迷其中的神器——Guitar Pro8.2&#xff01;这可不是一般的软件&#xff0c;它简直是吉他手们的福音。不管你是初学者还是老鸟&#xff0c;这个打谱软件都能给你带来前所未有的便利和价值。 让我们来聊聊Guita…

原理图设计工作平台:capture和capture CIS的区别在于有没有CIS模块

1环境:design entry CIS 2.参数设置命令options——preference&#xff08;7个选项卡colors/print&#xff0c;grid display&#xff0c;miscellaneous&#xff0c;pan and zoom&#xff0c;select&#xff0c;text editor和board simulation&#xff09; 1)颜色设置colors/p…

12 电商高并发缓存实战

序章 项目代码缓存的数据一致性 延时双删 淘汰缓存写数据库休眠1s,再次淘汰缓存缺点:如果mysql是主从复制,去从库中拿去数据,此时同步数据还未完成,拿到的数据是旧数据。 先更新 DB,后删除缓存 采用异步延时删除策略. ①利用消息队列进行删除的补偿。②Mysql 数据库更新操…

深入理解并发、线程与等待通知机制

目录 一、基础概念 进程和线程 进程 线程 Java 线程的无处不在 进程间的通信 进程间通信有几种方式&#xff1f; CPU 核心数和线程数的关系 上下文切换&#xff08;Context switch&#xff09; 并行和并发 二、认识 Java 里的线程 Java 程序天生就是多线程的 线程的…

python语句性能分析

1、for语句性能优于while import timeif __name__ __main__:start_time time.time()for i in range(10 ** 8):passend_time time.time()run_time end_time - start_timeprint(run_time)i 0start_time time.time()while i < 10 ** 8:i 1end_time time.time()run_tim…

【Spring Cloud】微服务的简单搭建

文章目录 &#x1f343;前言&#x1f384;开发环境安装&#x1f333;服务拆分的原则&#x1f6a9;单一职责原则&#x1f6a9;服务自治&#x1f6a9;单向依赖 &#x1f340;搭建案例介绍&#x1f334;数据准备&#x1f38b;工程搭建&#x1f6a9;构建父子工程&#x1f388;创建父…

Spring Boot的无缝衔接:深入解析与实践

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ &#x1f680;The begin&#x1f697;点点关注&#xff0c;收藏不迷路&#x1f6a9; 引言 在快速迭代的软件开发环境中&#xff0c;无缝衔接是提升开发效率、降低维护成本、增强系统稳定性的关键。Spring Boo…

嵌入式c语言5——位运算符

<<与>>是c语言中两个移位运算符&#xff0c;分别有乘以2与除以2的意义 位运算符还包括&#xff0c;与&&#xff0c;或|&#xff0c;均进行按位操作 同时&#xff0c;还可以进行取反以及异或操作

【C++】cout.self()函数

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文作为 JohnKi 学习笔记&#xff0c;借鉴了部分大佬案例 &#x1f4e2;未来很长&#…

web前端开发——开发环境和基本知识

今天我来针对web前端开发讲解一些开发环境和基本知识 什么是前端 前端通常指的是网站或者Web应用中用户可以直接与之交互的部分&#xff0c;包括网站的结构、设计、内容和功能。它是软件开发中的一个专业术语&#xff0c;特别是指Web开发领域。前端开发涉及的主要技术包括HTML…

C++语言相关的常见面试题目(一)

1. const关键字的作用 答&#xff1a; 省流&#xff1a;&#xff08;1&#xff09;定义变量&#xff0c;主要为了防止修改 (2) 修饰函数参数&#xff1a;防止在函数内被改变 &#xff08;3&#xff09;修饰函数的返回值 &#xff08;4&#xff09;修饰类中的成员函数 2. Sta…

Windows远程桌面实现之十五:投射浏览器摄像头到xdisp_virt以及再次模拟摄像头(一)

by fanxiushu 2024-07-01 转载或引用请注明原始作者。 本文还是围绕xdisp_virt这个软件展开&#xff0c; 再次模拟成摄像头这个比较好理解&#xff0c;早在很久前&#xff0c;其实xdisp_virt项目中就有摄像头功能&#xff0c; 只是当时是分开的&#xff0c;使用起来…

centos docker 安装mysql:8.0.21 天坑记录

docker pull mysql:8.0.21 安装的mysql 8.0.21 版本&#xff0c;当创建表时只要创建表的字段大于10&#xff0c;就会报错 > 2013 - Lost connection to MySQL server during query 当删除一个字段&#xff0c;刚好9个字段时就可以创建成功&#xff0c;打印等于10个&#…