当前位置: 首页 > news >正文

永磁同步电机控制算法--基于 SVM 的无磁链环 DTC

永磁同步电机无磁链环 DTC 通过控制定子磁链交轴分量来直接控制转矩,不再要求控制磁链幅值恒定,省去了传统 DTC 中的磁链环,不仅转矩响应更快,有效抑制了转矩脉动,而且提高了电机功率因数。但无磁链环 DTC 方案仍采用传统 DTC方案中的 Bang-Bang 控制策略,保留了 Bang-Bang 控制精度不高的缺点,此外,其定子磁链限幅策略要求在两套电压矢量选择表之间频繁切换,而两套电压矢量选择表的扇区分别依据转子和定子磁链位置划分,在运行过程中要同时对两个磁链的位置进行检测,系统复杂性相比传统 DTC 更高,存在改善的空间。

一、原理介绍

永磁同步电机相量图

dq轴定子磁链电流模型公式为

定子磁链幅值为

转矩表达式

由转矩表达式可求得转矩角

由上个文章可知,隐极式正弦波永磁同步电动机的转矩只与定子磁链的交轴分量有关,转矩变化则由定子电压直轴分量控制。在无磁链环DTC中,在负载转矩不变时,电机定子磁链的交轴分量也不变。而由dq轴定子磁链电流模型公式可知,定子磁链的交轴分量只与定子电流交轴分量有关,所以在相同转矩要求下,定子电流交轴分量也是不变的。这样一来定子磁链幅值就只与定子电流直轴分量有关了,在 DTC 系统正常运行时,定子磁链幅值与定子电流直轴分量成正比。

基础部分铺垫完成,接下来介绍如何推导出合适的参考电压矢量。

在直接转矩控制与空间矢量调制的结合过程中,求出一个合适的参考电压矢量是最关键的一环,在无磁链环永磁同步电机 DTC 中,这个参考矢量需要满足几个要求:

1) 能精确地补偿转矩误差,使转能准确跟踪给定值。因为无磁链环 DTC 相比传统 DTC 的优点就在于能更准确地控制转矩,因此转矩控制精度是设计参考矢量时首

先要考虑的问题。

2) 确保电机安全运行,定子磁链的幅值要限制在额定值之内。

3)应尽量减小定子磁链幅值与无功励磁电流,提高电机的功率因数。

传统的 SVM-DTC 中定子磁链幅值是恒定的,只需计算出满足转矩要求需要的转矩角变化量即可求出参考电压矢量,无磁链环 DTC 并不要求保持磁链幅值恒定,之前的方法并不适用。在无磁链环 DTC 理论中,转矩的变化由所施加电压矢量的交轴分量决定,从优先满足转矩要求的角度来说,参考电压矢量的交轴分量可以直接确定。

电压矢量直轴分量的作用则是控制磁链幅值,当交轴分量作用导致磁链幅值超出额定值时,直轴分量要作用在相反方向上,把定子磁链控制在额定值内。

综上所述,参考电压矢量为

结合空间矢量调制的 PMSM 无磁链环 DTC 系统框图如图所示, 转速误差经过 PI 控制器得到给定转矩,转矩误差经过限幅之后得到单周期内期望转矩变化量,根据参考电压矢量公式即可求出参考电压矢量,最终由空间矢量调制模块合成目标电压矢量作用于逆变器实现对电机的控制。

基于空间矢量调制的 PMSM 无磁链环 DTC 结构框图

二、仿真模型

在MATLAB/simulink(软件版本为2024A)里面验证所提算法。采用和实验中一致的控制周期1e-4,电机部分计算周期为5e-7。仿真模型如下所示:

2.1给定转速与实际转速

转速稳定,并准确跟踪给定转速值

2.2实际电磁转矩

转矩明显平滑度更好,并且响应速度较快

2.3给定定子磁链与实际定子磁链

磁链基本控制在了限制值附近。

总结:与传统无磁链环 DTC 方法相比,基于空间矢量调制的无磁链环直接转矩控制方法定子磁链幅值自适应变化效果更好,磁链幅值进一步降低,提高了电机的功率因数,并且在保持 DTC 动态响应快有点的同时,有效降低了转矩脉动。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 远程帮客户解决“应用程序无法正常启动0xc000007b,请单击确定关闭应用程序”的问题
  • C# Winform 自定义事件实战
  • 前后端项目部署方案汇总
  • 链接追踪系列-00.es设置日志保存7天-番外篇
  • 对Mapper.xml文件进行深入的学习
  • @SpringBootApplication 注解
  • linux:命令执行过程【图表】
  • linux 安装redis 遇到问题解决方案
  • 面试真题 | ARM体系架构基础知识
  • (四)stm32之通信协议
  • 补码是什么意思_补码的性质_补码反码原码的转换
  • c++【入门】计算(a+b)*c的值
  • LLM大模型应用中的安全对齐的简单理解
  • 什么是数据同步服务RSYNC?
  • 快速排序算法Python实现
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • CentOS7 安装JDK
  • JavaScript服务器推送技术之 WebSocket
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • mysql innodb 索引使用指南
  • nodejs调试方法
  • spring boot 整合mybatis 无法输出sql的问题
  • Vue.js-Day01
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 三分钟教你同步 Visual Studio Code 设置
  • 算法之不定期更新(一)(2018-04-12)
  • 找一份好的前端工作,起点很重要
  • NLPIR智能语义技术让大数据挖掘更简单
  • raise 与 raise ... from 的区别
  • scrapy中间件源码分析及常用中间件大全
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​io --- 处理流的核心工具​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #162 (Div. 2)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (floyd+补集) poj 3275
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (Oracle)SQL优化技巧(一):分页查询
  • (ZT)一个美国文科博士的YardLife
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • .Net Core 笔试1
  • .net SqlSugarHelper
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • // an array of int
  • @KafkaListener注解详解(一)| 常用参数详解
  • @ModelAttribute使用详解
  • [10] CUDA程序性能的提升 与 流
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [acm算法学习] 后缀数组SA