电机控制专题(一)——最大转矩电流比MTPA控制

文章目录

  • 电机控制专题(一)——最大转矩电流比MTPA控制
    • 前言
    • 理论推导
    • 仿真验证
      • 轻载1N·m
      • 重载30N·m
    • 总结

电机控制专题(一)——最大转矩电流比MTPA控制

前言

MTPA全称为Max Torque Per Ampere,从字面意思就可以知道MTPA算法的目的是一个寻优最值问题,可以从以下两个角度理解。

  • 在同一电磁转矩需求下,如何利用最小幅值的定子电流来产生;
  • 在同一额定电流情况下,如何合理利用定子电流产生最大的电磁转矩

本文先从理论推导开始,再到仿真验证MTPA算法,总结MTPA的相关知识。

纯小白,如有不当,轻喷,还请指出。

理论推导

记转矩角(电流矢量与d轴夹角)为 γ \gamma γ,则dq轴电流可以表示如下:
i d = I s c o s γ i_d=I_s cos\gamma id=Iscosγ (1)
i q = I s s i n γ i_q=I_s sin\gamma iq=Issinγ (2)
其中 I s I_s Is为定子电流幅值。

dq轴下PMSM的转矩方程为:
T e = 3 2 p n i q ψ + ( L d − L q ) i d i q T_e = \frac{3}{2}p_ni_q\psi+(L_d-L_q)i_di_q Te=23pniqψ+(LdLq)idiq(3)
其中 p n p_n pn为极对数, ψ \psi ψ为永磁体磁链, L d , L q L_d,L_q Ld,Lq为分别为dq轴的电感。式(4)右边的第一项成为永磁转矩,第二项称为磁阻转矩。

将式(1)(2)代入式(3)并化简可得
T e = 3 2 p n I s ψ s i n γ + 3 4 p n I s 2 ( L d − L q ) s i n 2 γ T_e=\frac{3}{2}p_nI_s\psi sin\gamma + \frac{3}{4}p_nI_s^2(L_d-L_q)sin2\gamma Te=23pnIsψsinγ+43pnIs2(LdLq)sin2γ (4)

MTPA可以从两个角度理解

  1. 最小的电流产生同等大的电磁转矩
  2. 同等大小的定子电流产生最大的电磁转矩

因此从第二个角度理解MTPA,就变成了求(4)式的在 I s I_s Is恒定,以转矩角 γ \gamma γ为变量的极值问题

对(4)式求偏导并另其等于0,化简可得:
∂ T e ∂ γ = 2 I s ( L d − L q ) c o s 2 γ + ψ c o s γ − I s ( L d − L q ) = 0 \frac{\partial T_e}{\partial \gamma}=2I_s(L_d-L_q)cos^2\gamma +\psi cos\gamma -I_s(L_d-L_q)=0 γTe=2Is(LdLq)cos2γ+ψcosγIs(LdLq)=0 (5)

(5)式是一个一元二次方程,利用求根公式可解得
c o s γ 1 = − ψ + ψ 2 + 8 I s 2 ( L d − L q ) 4 I s ( L d − L q ) , c o s γ 2 = − ψ − ψ 2 + 8 I s 2 ( L d − L q ) 4 I s ( L d − L q ) cos \gamma_1 = \frac{-\psi + \sqrt{\psi^2+8I_s^2(L_d-L_q)}}{4I_s(L_d-L_q)} ,cos \gamma_2 = \frac{-\psi -\sqrt{\psi^2+8I_s^2(L_d-L_q)}}{4I_s(L_d-L_q)} cosγ1=4Is(LdLq)ψ+ψ2+8Is2(LdLq) ,cosγ2=4Is(LdLq)ψψ2+8Is2(LdLq) (6)

求解得到的两个转矩角究竟哪一个是我们想要的呢?

容易注意到 ψ < ψ 2 + 8 I s 2 ( L d − L q ) 2 \psi < \sqrt{\psi^2+8I_s^2(L_d-L_q)^2} ψ<ψ2+8Is2(LdLq)2 ,且绝大多数的IPMSM的d轴电感小于q轴电感。因此 c o s γ 1 < 0 , c o s γ 2 > 0 cos\gamma_1<0,cos\gamma_2>0 cosγ1<0,cosγ2>0

MTPA就是要利用电机的凸极效应,合理分配定子电流一部分作为 i d i_d id,另一部分作为 i q i_q iq i d i_d id可以用于产生磁阻转矩(电磁转矩式3等式右边的第二项)。因此d轴电流只能是负的。

那么由式(1)可知 c o s γ < 0 cos \gamma<0 cosγ<0

因此真正能实现MTPA的转矩角为
γ = a r c c o s ( − ψ + ψ 2 + 8 I s 2 ( L d − L q ) 4 I s ( L d − L q ) ) \gamma =arccos( \frac{-\psi +\sqrt{\psi^2+8I_s^2(L_d-L_q)}}{4I_s(L_d-L_q)}) γ=arccos(4Is(LdLq)ψ+ψ2+8Is2(LdLq) ) (7)

此时的d轴电流和q轴电流可计算得
i d = I s c o s γ = I s − ψ + ψ 2 + 8 I s 2 ( L d − L q ) 4 ( L d − L q ) i_d = I_scos\gamma =I_s \frac{-\psi +\sqrt{\psi^2+8I_s^2(L_d-L_q)}}{4(L_d-L_q)} id=Iscosγ=Is4(LdLq)ψ+ψ2+8Is2(LdLq) (8)
i q = I s 2 − i d 2 i_q=\sqrt{I_s^2-i_d^2} iq=Is2id2 (9)

值得一提的是,转速环的输出应当是转矩指令值,而转矩和电流存在一定的线性关系,因此可以直接作为电流指令值。最简单的矢量控制 i 0 ≡ 0 i_0 \equiv0 i00中,转速环的输出直接作为q轴电流的指令值;而在MTPA中,转速环输出的转矩指令值,应当由整个全部的定子电流来提供,即转速环的输出为定子电流幅值指令值,而非q轴电流指令。

仿真验证

为了直观看出使用MTPA的有效性,对一台具有高凸极比IPMSM磁阻转矩成分更大)进行仿真。

仿真参数设置如下:
L d = 3.5 m H , L q = 12 m H , ψ = 0.17 W b , U d c = 311 V L_d= 3.5mH,L_q=12mH,\psi=0.17Wb,U_{dc}=311V Ld=3.5mH,Lq=12mH,ψ=0.17Wb,Udc=311V

转速500rpm,带轻载(1Nm)和带重载(30Nm)工况下运行。0.1s之前施加 i d ≡ 0 i_d\equiv0 id0控制,0.1s后施加MTPA算法,总仿真时间0.2s。

轻载1N·m

dq轴电流和三相电流波形图下
在这里插入图片描述
在这里插入图片描述
可见在施加MTPA控制之后并没有明显的效果。

原因如下:
由于所带负载较小,定子电流的幅值也小。此时的转矩角

γ = a r c c o s ( − ψ + ψ 2 + 8 I s 2 ( L d − L q ) 4 I s ( L d − L q ) ) ≈ a r c c o s ( − ψ + ψ 2 4 I s ( L d − L q ) ) = 90 ° \gamma =arccos( \frac{-\psi +\sqrt{\psi^2+8I_s^2(L_d-L_q)}}{4I_s(L_d-L_q)})\approx arccos(\frac{-\psi+\sqrt{\psi^2}}{4I_s(L_d-L_q)})=90\degree γ=arccos(4Is(LdLq)ψ+ψ2+8Is2(LdLq) )arccos(4Is(LdLq)ψ+ψ2 )=90°
此时的d轴电流指令值 I d ≈ I s c o s γ = 0 I_d\approx I_scos\gamma =0 IdIscosγ=0

所以施加MTPA之后,并没有客观的负的d轴电流来产生磁阻转矩。

重载30N·m

dq轴电流和三相电流波形图如下
在这里插入图片描述
在这里插入图片描述
仿真结果说明,在带重载的情况下,所需的电磁转矩大,施加MTPA控制以后,d轴指令值从0变为-10A,q轴指令值从30降为18A,即利用了电机的凸极效应,合理分配了相电流以产生磁阻转矩

从三相电流波形可以看出,施加MTPA后,定子电流幅值从30A减为20A,即使用更小的定子电流产生同等的电磁转矩,此即MTPA的目的。

总结

MTPA算法的目的在于充分利用电机的凸极效应来合理分配电流,其中一部分用于产生永磁转矩,另一部分用于产生电磁转矩,达到小电流,大转矩的效果。

值得注意以下两点

  1. MTPA的推导基于精确的电机模型,但实际情况下电机模型参数大多是未知,且容易收到温度等因素的干扰。因此在实际应用该算法时需注意模型参数的敏感性,必要时需结合在线参数辨识等技术。
  2. 在实际应用中,为了减小微控制器的运算负担,式(8)(9)并不会在线计算。而是通过提前离线计算并制表,在线查表的方式来得到dq轴电流设定。

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

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

相关文章

SQL Server 2022 安装及使用

SQL Server 2022 前言一、安装SQL Server 2022下载SQL Server 2022安装SQL Server 2022配置SQL Server 2022 二、安装SQL Server Management Studio下载SQL Server Management Studio安装SSMS-Setup-CHS 三、使用SQL Server 2022四、解决连接到服务器报错问题 前言 SQL Serve…

git 快问快答

我在实习的时候&#xff0c;是用本地开发&#xff0c;然后 push 到 GitHub 上&#xff0c;之后再从 Linux 服务器上拉 GitHub 代码&#xff0c;然后就可以了。一般程序是在 Linux 服务器上执行的&#xff0c;我当时使用过用 Linux 提供的命令来进行简单的性能排查。 在面试的时…

应用编程之进程(三-通信篇)

所谓进程间通信指的是系统中两个进程之间的通信&#xff0c;不同的进程都在各自的地址空间中、相互独立、隔离&#xff0c;所以它们是处在于不同的地址空间中&#xff0c;因此相互通信比较难&#xff0c;Linux 内核提供了多种进程间通信的机制。 大部分的程序是不要考虑进程间…

Microchip逆市扩张,接连收购2家公司

尽管年初传来降薪停工的消息&#xff0c;全球领先的半导体解决方案供应商Microchip并未因此停下扩张的脚步。相反&#xff0c;该公司在短短的一个月内&#xff0c;接连宣布收购两家公司&#xff0c;展现了其坚定的市场布局和前瞻的战略眼光。 4月11日&#xff0c;Microchip成功…

二进制OpenStack

二进制搭建OpenStack 1.环境准备 1.1机器的准备 主机名服务器配置操作系统IP地址controller-node4C8Gcentos7.9172.17.1.117computer-node4C8Gcentos7.9172.17.1.118 1.2网络架构 [rootcotroller-node ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noque…

Java JNI调用本地方法1(调用C++方法)

一、基础概念 1、JNI&#xff08;Java Native interface&#xff09;:sun公司提供的JNI是Java平台的一个功能强大的接口&#xff0c;实现java和操作系统本地代码的相互调用功能&#xff0c;系统本地代码通常是由其他语言编写的&#xff0c;如C。 二、JNI使用步骤 1、定义一个J…

选定进行压缩的卷可能已损坏。请使用chkdsk来修复损坏问题,然后尝试再次压缩该卷

Windows Server 2008R2环境下&#xff0c;进行磁盘重新分区时&#xff0c;想要对系统盘进行“压缩卷”&#xff0c;结果报错提示“选定进行压缩的卷可能已损坏。请使用Chkdsk来修复损坏问题&#xff0c;然后尝试再次压缩该卷。”这是硬盘出现了坏道导致的&#xff0c;硬盘出错无…

中仕公考:教师编制和事业单位d类一样吗?

教师编制和事业单位D类在考试内容、专业要求、晋升途径等方面有很大的不同中仕为大家介绍一下&#xff1a; 考试内容&#xff1a;教师编的考试包括教育综合知识和学科专业知识&#xff0c;有的地区会额外考公共基础知识。事业单位D类的考试更侧重于职业能力倾向测验和综合应用…

Linux的学习之路:14、文件(1)

摘要 有一说一文件一天学不完&#xff0c;细节太多了&#xff0c;所以这里也没更新完&#xff0c;这里部分文件知识&#xff0c;然后C语言和os两种的文件操作 目录 摘要 一、文件预备 二、c文件操作 三、OS文件操作 1、系统文件I/O 2、接口介绍 四、思维导图 一、文件…

uniapp全局监听分享朋友圈或朋友

把大象装进冰箱需要几步&#xff1a; 1、创建shart.js文件 export default{data(){return {//设置默认的分享参数//如果页面不设置share&#xff0c;就触发这个默认的分享share:{title:标题,path:/pages/index/index,imageUrl:图片,desc:描述,content:内容}}},onLoad(){let ro…

若依前后端部署到一起

引用&#xff1a;https://blog.csdn.net/qq_42341853/article/details/129127553 前端改造&#xff1a; 配置打包前缀 修改router.js 编程hash模式&#xff1a; 前端打包&#xff1a;npm run build:prod 后端修改&#xff1a; 添加thymeleaf包&#xff0c;和配置文件 spri…

JAVA 项目<果园之窗>_1

这几天有空看能不能把水果店管理系统整出来&#xff0c;目标是整个网页版本的&#xff0c;以我的电脑做服务器&#xff0c;数据存在mysql中 以我目前的理解整个项目大致可分为前端部分、后端部分、数据库部分&#xff0c;也就这三个部分 目前打开并运行了一个别人的项目&#…

leetcode(474.最大连续1的个数)(python)

看数据范围知&#xff0c;复杂度不超过&#xff08;nlogn&#xff09;&#xff0c;不过感觉LeetCode很少卡算法时间。 题目要求数组的*****的个数&#xff0c;想到dp动态规划 dp[i][0]表示前i个数字&#xff0c;以第i个元素结尾&#xff0c;全为1的个数 dp[i][1]表示前i个数…

React间接实现一个动态组件逻辑

在开发一个浏览器插件的时候&#xff0c;用的plasmo框架和react支持的&#xff0c;里面使用react开发一个菜单功能&#xff0c;但是又不想使用react-router&#xff0c;所以就想着能不能使用一个很简单的方式做一个替代方案&#xff1f;那肯定是可以。 我在引入一个组件后&…

vue2响应式 VS vue3响应式

Vue2响应式 存在问题&#xff1a; 新增属性&#xff0c;删除属性&#xff0c;界面不会更新。 直接通过下标修改数组界面不会自动更新。 Vue2使用object.defineProperty来劫持数据是否发生改变&#xff0c;如下&#xff1a; 能监测到获取和修改属性&#xff1a; 新增的属性…

C++笔记:类和对象(一)

类和对象 认识类和对象 先来回忆一下C语言中的类型和变量&#xff0c;类型就像是定义了数据的规则&#xff0c;而变量则是根据这些规则来实际存储数据的容器。类是我们自己定义的一种数据类型&#xff0c;而对象则是这种数据类型的一个具体实例。类就可以理解为类型&#xff0c…

line 1:20 no viable alternative at input ‘point,‘

背景 遇到一个蛋疼的问题&#xff0c;搞得老夫难受的一&#xff0c;解决了索性记录下 Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession61b0005f] was not registered for synchronization because synchronization is not activ…

python爬虫-----深入了解 requests 库(第二十五天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

openAI tts Java文本转语音完整前后端代码 html

Java后端代码 maven 仓库&#xff1a; <!--openAI 请求工具--> <dependency><groupId>com.unfbx</groupId><artifactId>chatgpt-java</artifactId><version>1.1.5</version> </dependency>maven 仓库官方 tts 使用案例…

浅析RED和EN 18031

文章目录 前言欧盟的法律文件什么是REDRED的发展EU 2022/30法规EU 2023/2444RED与EN 18031的关系 前言 提示&#xff1a;本文大致表述了欧盟的一些立法常识&#xff0c;RED的由来与发展&#xff0c;以及它跟EN 18031的关系 因为工作原因&#xff0c;最近稍微研究了一下欧盟即将…