基于Matlab无刷直流电机系统仿真建模的新方法

摘 要:在分析无刷直流电机(BLDC)数学模型的基础上,提出了无刷直流电机系统仿真建模的
新方法。在Matlab/Simulink 中,建立独立的功能模块,如BLDC 本体模块、电流滞环控制模块、
速度控制模块等,再进行功能模块的有机整合,搭建无刷直流电机系统的仿真模型。为保证仿真
快速性和有效性,模型采用分段线性法生成梯形波反电动势,系统采用双闭环控制:速度环采用
PI 控制,电流环采用滞环电流控制。仿真结果证明了该方法的有效性,同时也适用于验证其他控
制算法的合理性,为实际电机控制系统的设计和调试提供了新的思路。
关键词:无刷直流电机(BLDC);仿真建模;MATLAB;分段线性法

引 言1

随着电力电子技术、微电子技术、新型电机控制理论和稀土永磁材料的快速发展,永磁无刷直流电动机得以迅速推广。因其体积小、性能好、结构简单、可靠性高、输出转矩大等特点,永磁无刷直流电动机受到了广泛关注。随着永磁无刷直流电机应用领域的不断拓宽,对电机控制系统设计要求越来越高,既要考虑成本低廉、控制算法合理,又需兼顾控制性能好、开发周期短。因此,如何建立有效的永磁无刷直流电机控制系统的仿真模型成为电机控制算法设计人员迫切需要解决的关键问题,从而,对于建立电机控制系统仿真模型方法的研究具有十分重要的意义。永磁直流电动机根据永磁体在气隙中产生的磁场波形不同,可分为正弦波永磁无刷直流电机(PMSM)和方波永
磁无刷直流电机(BLDC)。PMSM 的气隙磁密为正弦波分布,反电动势和相电流波形皆为正弦波;而BLDC 的气隙磁密为方波分布,反电动势波形为梯形波,相电流波形为方波。Matlab针对电气传动控制领域所设计的工具箱SimPowerSystem Toolbox2.3已提供了PMSM的电机模型,但没有给出 BLDC 的电机模型。因此,本文在分析无刷直流电机数学模型的基础上,借助于Matlab 强大的仿真建模能力,在Matlab/Simulink 中建立了BLDC 控制系统的仿真模型。对于在 Matlab 中进行BLDC 建模仿真方法的研究已受到广泛关注,例如:已有提出采用节点电流法对电机控制系统进行分析,通过列写m 文件,建立BLDC 仿真模型,这种方法实质上是一种整体分析法,因而这一模型基础上修改控制算法或添加、删除闭环就显得很不方便;为了克服这一不足,在Matlab/Simulink 中构造独立的功能模块,通过模块组合进行BLDC 建模,这一方法可观性好,在原有的建模基础上添加、删除闭环或改变控制策略都十分便捷,但该方法采用快速傅立叶变换(FFT)方法求取反电动势,使得仿真速度很受限制。本文提出了一种新型的BLDC 建模方法,将控制单元模块化,在Matlab/Simulink 建立独立的功能模块:BLDC 本体模块、电流滞环控制模块、速度控制模块、参考电流模块、转矩计算模块和电压逆变模块,对这些功能模块进行有机整合,即可搭建出无刷直流电机系统的仿真模型。在建模过程中,梯形波反电动势的求取方法一直是较难解决的问题,本文采用分段线性法成功地化解了这一难点,克服了建模方法存在的不足。仿真结果证明了该种新型建模方法的快速性和有效性,采用该方法不仅可以节省控制方案的设计周期,快速验证所设计的控制算法;更可以充分利用计算机仿真的优越性,通过修改系统参变量或人为加入不同扰动因素来考察不同实验条件下电机系统的动、静态性能,也可以模拟相同的实验条件,比较不同控制策略的优劣,为分析和设计BLDC 控制系统提供了有效的手段和工具。

1 永磁无刷直流电动机(BLDC)的数学模型

以二相导通星形三相六状态为例,分析 BLDC 的数学模型及电磁转矩等特性。为了便于分析,假定:
(1) 三相绕组完全对称,气隙磁场为方波,定子电流、转子磁场分布皆对称;
(2) 忽略齿槽、换相过程和电枢反应等的影响;
(3) 电枢绕组在定子内表面均匀连续分布;
(4) 磁路不饱和,不计涡流和磁滞损耗。
则三相绕组的电压平衡方程[5]可表示为:

式中: —定子相绕组电压(V);—定子相绕组电流(A);
—定子相绕组电动势(V);L—每相绕组的自感(H);M—每两相绕组间的互感
(H);p—微分算子。一相方波电流和梯形波反电动势如图1 所示。

三相绕组为星形连接,且没有中线,则有

并且

将式(2)和式(3)代入式(1),得到电压方程为

永磁无刷直流电动机的电磁转矩是由定子绕组中的电流与转子磁钢产生的磁场相互作用而产生的。定子绕组产生的电磁转矩表达式为

由(5)式可看出,无刷直流电动机的电磁转矩方程与普通直流电动机相似,其电磁转矩大小与磁通和电流幅值成正比,所以控制逆变器输出方波电流的幅值即可控制无刷直流电动机的转矩。为产生恒定的电磁转矩,要求定子电流为方波,反电动势为梯形波,且在每半个周期内,方波电流的持续时间为120°电角度,梯形波反电动势的平顶部分也为120°电角度,两者应严格同步。

2 基于 MATLAB的BLDC系统模型的建立

在 Matlab6.5 的Simulink 环境下,利用SimPowerSystemToolbox2.3 丰富的模块库,在分析BLDC 数学模型的基础上,提出了建立BLDC 控制系统仿真模型的方法,系统设计框图如图3 所示。

如图 3 所示,BLDC 建模仿真系统采用双闭环控制方案:转速环由PI 调节器构成,电流环由电流滞环调节器构成。根据模块化建模的思想,将图3 所示的控制系统分割为各个功能独立的子模块,图4 即为BLDC 建模的整体控制框图,其中主要包括:BLDC 本体模块、电流滞环控制模块、速度控制模块、参考电流模块、转矩计算模块和电压逆变模块。通过这些功能模块的有机整合,就可在Matlab/Simulink 中搭建出BLDC 控制系统的仿真模型,并实现双闭环的控制算法,如图4 所示,图中各功能模块的作用与结构简述如下。

图 4 Matlab/Simulink 中BLDC 仿真建模整体控制框图

3 仿真结果

本文基于 Matlab/Simulink 建立了BLDC 控制系统的仿真模型,并对该模型进行了BLDC 双闭环控制系统的仿真。仿真中,BLDC 电机参数设置为:定子相绕组电阻R=1Ω,定子相绕组自感L=0.02L,互感M=-0.0067H,转动惯量J=0.005kg.m2,额定转速ne=2500r/min ,极对数np=1,200V 直流电源供电。为了验证所设计的 BLDC 控制系统仿真模型的静、动态性能,系统空载起动,待进入稳态后,在t=0.5s 时突加负载TL=5Nm,可得到系统转速、转矩、A 相电流和A 相反电动势仿真曲线如图10-13 所示。

由仿真波形可以看出,在 ne=2500r/min 的参考转速下,系统响应快速且平稳,相电流和反电动势波形较为理想。仿真波形图10、11 表明:起动阶段系统保持转矩恒定,因而没有造成较大的转矩和相电流冲击,参考电流的限幅作用十分有效;空载稳速运行时,忽略系统的摩擦转矩,因而此时的电磁转矩均值为零;在t=0.5s 时突加负载,转速发生突降,但又能迅速恢复到平衡状态,稳态运行时无静差。仿真波形图11 中,突加负载后,负载转矩有较大的脉动,这主要是由电流换向和电流滞环控制器的频繁切换造成的。仿真结果证明了本文所提出的这种新型BLDC 仿真建模方法的有效性。

4 结论

本文在分析 BLDC 数学模型的基础上,提出了一种新型的基于 Matlab 的BLDC 控制系统仿真建模的方法,将该方法应用于Simulink 环境下BLDC 模型的设计,采用经典的速度、电流双闭环控制方法对该建模方法进行了测试,仿真结果表明:波形符合理论分析,系统能平稳运行,具有较好的静、动态特性。采用该BLDC 仿真模型,可以十分便捷地实现、验证控制算法,改换或改进控制策略也十分简单,只需对部分功能模块进行替换或修改,因此,它为分析和设计BLDC 控制系统提供了有效地手段和工具,也为实际电机控制系统的设计和调试提供了新的思路。

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

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

相关文章

compose部署tomcat

1.部署tomcat 1.1.下载相关镜像tomcat8.5.20 $ docker pull tomcat:8.5.20 1.2 在/data目录下创建tomcat/webapps目录 mkdir -p /data/tomcat/webapps 注意:这里是准备将宿主机的/data/tomcat/webapps映射到容器的 /usr/…

如何在有或没有备份的 iPhone 上检索已删除的短信

iPhone 清理垃圾短信时不小心删除了一些重要短信?想知道如何找回 iPhone 上已删除的短信吗?如果您已将设备备份到 iCloud 或 iTunes,则可以从备份恢复 iPhone 上的短信。如果没有备份,您可以尝试第三方iPhone短信恢复程序来恢复它…

qt5-入门

参考: qt学习指南 Qt5和Qt6的区别-CSDN博客 Qt 学习之路_w3cschool Qt教程,Qt5编程入门教程(非常详细) 本地环境: win10专业版,64位 技术选择 Qt5力推QML界面编程。QML类似HTML,可以借助CSS进…

消息中间件RabbitMQ介绍

一、基础知识 1. 什么是RabbitMQ RabbitMQ是2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,简称MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法,由Erlang(专门针对于大…

贪吃蛇游戏的实现

一.技术要点: 贪吃蛇需要掌握: c语言函数,枚举,结构体,动态内存管理,预处理指令,链表,Win32 API等 二.Win32 API 1.Win32 API简介 windows可以帮应用程序卡其视窗,描绘图案,使用周边设备,,Win32 API就是windows32位平台上的应用程序编程接口 2.控制台程序 (1).使用cmd命令…

ubuntu20-github不通问题

github不通 一直在github下载失败 Git报错fatal unable to connect to github.com: github.com[0: 20.205.243.166] >>> alsa-ucm-conf v1.2.6.3 Downloading(卡在这里,很烦啊) 然后搜了很多文档,然后以下操作: 1.GitHub.com - GitHub: Lets build from here Git…

GPT-4 Vision根据应用程序截图生成博客和Readme 升级Streamlit八

GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三翻译: GPT-4 Vision从图像转换为完全可编辑的表格 升级St…

stm32中的SPI

SPI的简介 文章目录 SPI的简介物理层协议层基本通讯过程起始和终止信号数据有效性CPOL/CPHA及通讯模式 STM3的SPI特性及架构通讯引脚时钟控制逻辑数据控制逻辑整体控制逻辑通讯过程 代码配置实现指令集结构体的定义SPI时钟信号的定义SPI端口定义SPI命令 flash驱动代码初始化代码…

纯html+js+css个人博客

首页 <!DOCTYPE HTML> <html> <head> <title>博客</title> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <meta name"viewport" content"widthdevice-width, initial-sca…

LLM之RAG实战(二十一)| 使用LlamaIndex的Text2SQL和RAG的功能分析产品评论

亚马逊和沃尔玛等电子商务平台上每天都有大量的产品评论&#xff0c;这些评论是反映消费者对产品情绪的关键接触点。但是&#xff0c;企业如何从庞大的数据库获得有意义的见解&#xff1f; 我们可以使用LlamaIndex将SQL与RAG&#xff08;Retrieval Augmented Generation&#x…

基于链表实现贪吃蛇游戏

本文中&#xff0c;我们将使用链表和一些Win32 API的知识来实现贪吃蛇小游戏 一、功能 &#xff08;1&#xff09;游戏载入界面 &#xff08;2&#xff09;地图的绘制 &#xff08;3&#xff09;蛇身的移动和变长 &#xff08;4&#xff09;食物的生成 &#xff08;5&…

2024-01-25 力扣高频SQL50题目1193每月交易

1.1193每月交易 1 count可以这样用。。 COUNT(IF(state approved, 1, NULL)) AS approved_count 如果 COUNT(if(state approved,1,0))&#xff0c;这里变成0&#xff0c;就不对了。因为count计数时候&#xff0c;只要里面不是null&#xff0c;就会算进去。 sum(if(state …

CMake 完整入门教程(一)

1 前言 每一次学习新东西都是很有乐趣的&#xff0c;虽然刚开始会花费时间用来学习&#xff0c;但是实践证明&#xff0c;虽然学习新东西可能会花费一些时间&#xff0c;但是它们带来的好处会远远超过这些花费的时间。学习新东西是值得的&#xff0c;也是很有乐趣的。 网络上…

【数据库】聊聊explain如何优化sql以及索引最佳实践

在实际的开发中&#xff0c;我们难免会遇到一些SQL优化的场景&#xff0c;虽然之前也看过周阳的课程&#xff0c;但是一直没有进行细心的整理&#xff0c;所以本篇会进行详细列举explain的相关使用&#xff0c;以及常见的索引最佳实践&#xff0c;并通过案例进行讲解。 数据准…

数学公式OCR识别php 对接mathpix api 使用公式编译器

数学公式OCR识别php 对接mathpix api 一、注册账号官网网址&#xff1a;https://mathpix.com 二、该产品支持多端使用注意说明&#xff08;每月10次&#xff09; 三、api 对接第一步创建create keyphp对接api这里先封装两个请求函数&#xff0c;get 和post &#xff0c;通过官方…

短视频与小程序:如何实现完美结合?

在短视频日益成为人们娱乐、社交和信息获取的重要渠道的今天&#xff0c;如何在短视频平台进行小程序推广成为了许多企业和品牌关注的焦点。本文将介绍如何利用短视频平台进行小程序推广&#xff0c;提升品牌曝光和用户互动。 首先&#xff0c;打开乔拓云-门店系统的后台&#…

ArcGIS Pro如何新建字段

无论是地图制作还是数据分析&#xff0c;字段的操作是必不可少的&#xff0c;在某些时候现有的字段不能满足需求还需要新建字段&#xff0c;这里为大家讲解一下在ArcGIS Pro中怎么新建字段&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的水…

Dragons

题目链接&#xff1a; Problem - 230A - Codeforces 解题思路&#xff1a; 用结构体排序就好&#xff0c;从最小的开始比较&#xff0c;大于就加上奖励&#xff0c;小于输出NO 下面是c代码&#xff1a; #include<iostream> #include<algorithm> using namespac…

JDBC学习笔记

一.什么是JDBC 我们操作数据库是用sql语句&#xff0c;那么怎么编写程序来操作数据库呢&#xff1f;这就要学习JDBC。 JDBC就是使用Java中操作关系型数据库的一套API。全称&#xff1a;( Java DataBase Connectivity ) Java 数据库连接。 JDBC更准确的来说是一套接口/API&…

05 Redis之Benchmark+简单动态字符串SDS+集合的底层实现

3.8 Benchmark Redis安装完毕后会自动安装一个redis-benchmark测试工具&#xff0c;其是一个压力测试工具&#xff0c;用于测试 Redis 的性能。 src目录下可找到该工具 通过 redis-benchmark –help 命令可以查看到其用法 3.8.1 测试1 3.9 简单动态字符串SDS 无论是 Redis …