无刷直流电机控制系统仿真毕业设计.docx
- 文档编号:27844128
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:74
- 大小:862.53KB
无刷直流电机控制系统仿真毕业设计.docx
《无刷直流电机控制系统仿真毕业设计.docx》由会员分享,可在线阅读,更多相关《无刷直流电机控制系统仿真毕业设计.docx(74页珍藏版)》请在冰豆网上搜索。
无刷直流电机控制系统仿真毕业设计
毕业设计(论文)
毕业论文
课题名称
无刷直流电机双闭环PI控制系统仿真
系部
专业
班级
学号
姓名
指导教师
摘要
本设计基于MATLAB/SIMULINK环境,利用其自带模块,编写S-函数程序,建立无刷直流电机的闭环控制系统模型。
此系统采用转速-电流PI双闭环控制策略。
其中,转速环为控制外环,使用PI控制算法;电流环为控制内环,采用滞环比较PWM控制方式,使得实际电流能跟踪参考电流。
在分析了无刷直流电机的物理特性之后,可以建立其数学模型,将它与控制系统数学模型结合,就可以实现电机控制。
将仿真结果与理论分析对比之后,可以看到本控制系统具有良好的控制效果。
关键词:
无刷直流电机;双闭环控制系统;MATLAB/Simulink;PI控制
Abstract
basedonMATLAB/SIMULINKenvironment,usingtheautomaticmoduleandwritingS-functionprogramestablishamodeloftheclosedloopcontrolsystemofbrushlessdcmotor.ThissystemUSESPIspeed-currentdoubleclosed-loopcontrolstrategy.Amongthem,thespeedloopastheouterringtousePIcontrolalgorithm;Currentlooptocontroltheinnerring,usingthehysteresisPWMcontrolmode,makestheactualcurrentcantrackreferencecurrent.Physicalpropertiesaftertheanalysisofthebrushlessdcmotor,canestablishitsmathematicalmodel,combinedwithcontrolsystemmathematicalmodel,itcanachievemotorcontrol.Aftercomparethesimulationresultsandtheoreticalanalysis,youcanseethiscontrolsystemhasgoodcontroleffect.
Keywords:
BrushlessDCMotor;double-loopcontrolsystem;MATLAB/Simulink;PIcontrol
第一章绪论
1.1研究背景
传统直流电机以机械形式进行换向,存在火花、无线电干预、噪声和寿命短等严重弊端。
对于传统直流电动机存在的诸多缺点,在20世纪30年代,出现了对永磁无刷直流电机研制,机械换相的方式也已跟新换代,机械换相被替换,取而代之的是电子换相,这对无刷直流电机发展有很大的推进作用。
但是由于对于大功率电子器件方面,相关资料非常缺乏,其研究进度也非常缓慢,发展的邹形才刚露出头角,理想的电子换相元件还没有找到,这种情况对永磁无刷直流电机的发展有很大的限制,只能停留在实验室阶段,而不能形成产品大批量的生产,广泛的应用。
1917年,Bolgior通过实验分析,经过多次对比,发现用整流管能更好地替代传统直流电机的机械换向的电刷,让无刷直流电动机的基本构思得以萌生。
直到1955,美国人Harrison等研究人员申请了专利,这是第一个与电动机机械换相相关的专利,即应用晶体管换向代替电动机械换向,这显示了现代无刷直流电动机的诞生。
但是,当时这种电动机并没有得到产品化,其原因是由于没有启动转矩。
尔后,为了改变这种状况,研究人员花费多年的时间去研究,这些努力使得借助于霍尔元件来实现换相的直流无刷电动机在1962年成功实现了,这种新型无刷直流电动机的出现改变了其自身发展行径,产品化的道路正式开启。
20世纪60年代初期,霍尔元件等位置传感器和电子换向线路的相继问世,使真正的直流无刷电动机得以出现。
20世纪70年代以来,世界的工业产业发展蓬勃,电力电子工业的发展也毫不例外,电力电子器件多样化的趋势更加明显,有时代性意义的是许多新型的高性能半导体功率器件的相继出现,如电力晶体管(GTO)、电力场效应管(MOSFET)、绝缘栅型双极性晶体管(IGBT)等,还有的是一些性能更好的永磁材料,如衫钻、钦铁硼等的出现,这些都为永磁无刷直流电机的广泛应用铺下了基石。
1978年,前联邦德国的MANNESMANN公司取得了许多突破性的进展,特别是在汉诺威贸易博览会上博足了眼球,展示了了MAC经典永磁无刷直流电动机和其相关的驱动系统,这使得无刷直流电机在国际上引起了广泛关注,世界各国对无刷直流系统的研发和生产进入了狂热阶段,这种现象也说明了无刷直流电机的实用性已经得到充分证实,通往实验性转为实用性的束缚也已打破。
1986年H.R.Bolton通过一系列实验和分析,对方波型无刷直流电动机做了一个全面系统的剖析,并做出了大量的总结工作,这使得人们对方波无刷直流电动机的理论方面的了解也更加具体。
对于无刷直流电机的研究工作,我国由于国力和当时处境对其有所限制,相比之下,开始较晚,直到二十世纪八十年代,国家对无刷直流电机的研究才开始重视起来,但只有高等院校和科研院所在哪方面花费大量财力,少有一些公司去着手研究。
经过多年的努力,我虽然在无刷直流电机的控制系统的研究方面取得的成果也颇为丰富,即使如此,与是跟国际水平相比,还是落后很多,差距仍然比较明显。
这种形式,很有必要耗费大量的财力、精力与人力去研究、去探索,还有许多地方值得我们去学习、还有很多空间等着我们去发展。
因此,对于无刷直流电动机进行研究,获得更多相关技术,让差距与发达国家水平缩到最小,这对满足国民生产和人们的生活需要都具有非常重要的意义。
这些年来,电子控制技术和永磁材料的发展迅速,特别是控制理论技术方面,出现了单片机、FPGA、CPLD、DSP等微处理器,这使得电机技术的发展进一步提升,让永磁无刷电动机制造特别是使用电子整流技术的成本有了较大的改变,大为减小。
无刷直流电动机作为发展最快的新型电机之一,目前已被公认为是最具备工业应用前景的。
众所周知,永磁无刷直流电动机在工作原理和基本结构上具有相当多的优点,特别是高可靠、高效率的性能让人为之难忘。
因此,在以后更多的领域中我们会发现永磁无刷直流电动机将会逐步得以应用,已成为小电机发展的趋势,特别在我们的日常家电中,我们会发现更多它的身影,相信随着时代的变迁,对于传统结构的交流电机难以掌控的特征和普通直流电机有机械电刷换向的一一取代是指日可待的。
综上所述,随着电力电子技术的进一步发展和永磁材料的更新换代,已经经验的积累,永磁无刷直流电动机技术将会不断得到提升和变得更加完善,如果研究人员积累了更多关于永磁无刷电动机开发经验,并进行深入探索、分析和加以应用、开发,这将使永磁无刷电动机的进入一个新纪元[1]。
1.2研究现状及分析
目前无刷直流电动机发展研究现状是:
在国内,无刷直流电机的生产规模和市场份额不断扩大,但是,相关技术落后、管理调控缺失、产品使用滞后、生产成本偏高等一系列重大问题;而且,外资企业对真正技术含量较高的产品,保留了其中关键的零部件和技术。
在这种双重缺陷的条件下使得我国自主开发能力异常薄弱,制约我我国无刷电动机的发展,与国际先进水平相比差距越来越大。
现在,无刷直流电机的技术越来越成熟,在我国的发展也突飞猛进。
我们在各个领域都能发现他的身影,如在航模、医疗器械、家用电器、电动车等方面,在一些地方已经开始批量生产,出现了一定的规模。
在国外,通过对无刷直流电机的研究情况在各个国家的分布情况,可以发现发达国家与中国差不多,除了美国和日本这两个国家以外,他们在无刷直流电动机的生产和应用上游很大突破,无刷直流电机制造与控制技术已经非常的先进。
如日本仓毛电器公司研究出了很多相关产品,如KRK系列的无刷直流电机。
特别是在美国,无刷直流电机技术已被用于不同领域,一些公司这方面的技术也比较成熟。
例如RJNK、USA的产品核心主打工厂自动化领域,器设备领域会有许多PAPST的身影,而KOLLNNORG公司的产品主要在国防和航天领域取用。
从二十世纪末,世界各国对直流无刷电机的研究异常火热,进过种种努力,其存在的问题也一一克服,新的研究成果也纷纷呈现在人们眼前特别是美国的AhmRubaaj博士,和同事一起克服层层险阻,研发出了一种新型的永磁无刷直流电机,其独特之处就是转子与一般的电机相同,但定子却和有刷直流电机的转子相似,通过开关电子电路和位置传感器达到绕组的顺序换向。
这一新型电机实现了大范围的自然换向,运行过程中所引起的转矩波动明显减少,空间占有率也大为减小。
几年之前,位置传感器相关技术也越发成熟,这种让固定于定子上的霍尔元件获取信号以监测转子位置的混合观测装置也出现在市场上,且其价格便宜,电机成本大为减小,不仅如此,监测的精确度也更高。
随着技术的积累,各国对无刷直流电机的研制开发、技术探索工作也越来越成熟,相信无刷直流电机对我们身边的各个领域中将会实现更多的经济与实用价值。
无刷直流电机控制系统包括电机本体、电子开关电路、位置传感器,它涉及电机技术、电力电子技术、磁感技术、检测与传感器技术以及自动、现代控制理论技术等等,这些技术的发展与进步将推进无刷直流电机控制技术的延伸[。
1.3研究目的及意义
电机的发展已经经过了一个世纪的进程,由于电机作为机电能量转换的装置,在人们的日常生活经常能见到它的身影,并且国民经济的各个领域也非常广泛。
无刷直流电机不仅具有传统有刷直流电动机良好的机械特性和转速控制性能,调节方便,良好的动态特性等优点,而且还具备了像交流电动机那样的一些长处,比如说构造单一、容易维护、运转可靠等等,正因为它拥有了这类优点,所以在当今社会很多的高新科技和精密的范畴发挥了极度普遍的作用。
在军事装备方面,如果使用无刷直流电机,精度和响应速度将更容易达到要求。
在民用领域,随着现在电子技术、电机技术、自动控制技术、传感器技术以及人工智能技术等高新技术的发展,无刷直流电机在各种医疗器械、化工轻纺、仪器仪表、信息通讯以及家用电器等方面都有很大的作用,普及范围逐步发散。
现在的社会发展速度快,很多新科技新技能新产品都改革创新,无刷电机在人们的生活中和各种用得到电机的地方受到了普遍的欢迎。
无刷直流电机凭借其性能优势,在很多场合其它类别的电动机已被取而代之,其应用和研究的重视重视程度颇高。
通过对无刷直流电机的研究,国家可以在各个领域中受益。
因此,对无刷直流电动机本体、电子开关电路、位置传感器以及在其控制过程中出现的问题进行进一步的开发研究,意义重大。
1.4本文的主要内容
本论文针对无刷直流电机(BLDCM)的研究,采用PI控制方法,实现转速、电流的双闭环控制。
主要内容如下:
(1)本文对无刷直流电动机的研究背景、发展历史、研究目的及意义以及国内外无刷直流电动机的发展状况都作了简单的介绍,并详细的介绍了无刷直流电动机控制技术的发展。
(2)分析了无刷直流电动机的基本结构及工作原理,同时建立无刷直流电动机的数学模型。
(3)分析和研究了电流环、速度环的双闭环系统,设计出了双闭环控制的实现电路,并进行分析
(4)对MATLAB/Simulink仿真软件进行详细分析,并阐述MATLAB/Simulink仿真工具在无刷直流电机的转速-电流闭环控制系统中的使用详情。
(5)对无刷直流电机双闭环控制系统进行剖析,详细介绍各个子模块。
为验证控制算法和控制策略的合理性,在分析无刷直流电机数学模型的基础上,建立基于MATLAB/Simulink的无刷直流电机的转速-电流闭环控制系统整体仿真模型,进行仿真研究,验证电流环、转速环双闭环的控制策略的可行性、有效性。
第二章MATLAB中S-函数的介绍
2.1S-函数的介绍与使用方法
s函数是system Function的简称,它是simulink用户自定义模块。
用户可以用MATLAB语言、C、C++、Fortran、Ada等语言来编写控制程序,实现所需功能。
S-函数作为与其他语言相结合的接口,可以使用这个语言所提供的强大能力。
例如,Matlab语言编写的S-函数可以充分利用MATLAB所提供的丰富资源,方便地调用各种工具箱函数和图形函数;使用C语言编写的S-函数可以实现对操作系统的访问,如可以操作windows API等,实现对硬件端口的操作,以及与其他进程的通信和同步等。
所以往往S-函数模块是整个Simulink动态系统的核心。
因此,在此次单独成章来讲解S-函数。
因为本设计只用到MATLAB,故本篇幅只介绍用MATLAB语言来编写程序。
在了解S-函数的结构以及用法前我们必须清楚一下这一点。
一般simulink的仿真有两个阶段:
第一是初始化,这个阶段主要是设置一些参数,像系统的输入输出个数、状态初值、采样时间等;第二是运行阶段,这个阶段里要进行计算输出、更新离散状态、计算连续状态等等[1],这个阶段
需要反复运行,直至结束。
用MATLAB编写的S-函数一般有两种,一种是m文件,另一种是文本文件。
m文件实现运算功能,而文本文件一般是一些解释性的代码。
这里我们只介绍m文件。
m文件中s-function包含了许多可用的子函数,其说明如下:
mdlInitializeSizes(flag=0),定义s-function模块的基本特性,包括采样时间、连续或者离散状态的初始条件和sizes数组;
mdlDerivatives(flag=1),计算连续状态变量的微分方程;
mdlUpdate(flag=2),更新离散状态、采样时间和主时间步的要求;
mdlOutputs(flag=3):
计算s-function的输出;
mdlGetTimeOfNextVarHit(flag=4):
计算下一个采样点的绝对时间[2].
下面我们在matlab的workspace里打开edit sfuntmpl(这是matlab
自己提供的s函数模板),具体看看这些函数和变量。
它的第一行是这样的:
function [sys,x0,str,ts]=sfuntmpl(t,x,u,flag)
其中,t是采样时间,x是状态变量,u是输入(是做成simulink模块的输入),flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等),它们是系统已经设定的输入量;sys输出根据flag的不同而不同(下面将结合flag来讲sys的含义),x0是状态变量的初始值,str是保留参数,一般在初始化中将它置空就可以了,str=[]),ts是一个1×2的向量,ts
(1)是采样周期,ts
(2)是偏移量,它们是系统已经设定的输出量,给定量的位置不能变动。
当然,除了这几个量,我们可以添加函数变量[2]。
接着我们看一下sfuntmpl.m中的代码:
switch flag, %判断flag,看当前处于哪个状态
case 0,
[sys,x0,str,ts]=mdlInitializeSizes;
说明:
flag=0表示处于初始化状态,此时用函数mdlInitializeSizes进行初始化,此函数在 sfuntmpl.m的149行。
在初始化状态下,sys是一个结构体,用它来设置模块的一些参数,各个参数详[4]
细说明如下
size = simsizes;%用于设置模块参数的结构体用simsizes来生成
sizes.NumContStates = 0;%模块连续状态变量的个数
sizes.NumDiscStates = 0;%模块离散状态变量的个数
sizes.NumOutputs=0;%模块输出变量的个数
sizes.NumInputs = 0;%模块输入变量的个数
sizes.DirFeedthrough = 1;%模块是否存在直接贯
sizes.NumSampleTimes = 1;%模块的采样时间个数,至少是一个
sys = simsizes(sizes); %设置完后赋给sys输出 [5]
举个例子,考虑如下模型:
dx/dt=fc(t,x,u)
用连续状态方程描述:
dx/dt=A*x+B*u
x(k+1)=fd(t,x,u)
也可以用离散状态方程描述:
x(k+1)=H*x(k)+G*u(k)
y=fo(t,x,u)
也可以用输出状态方程描述:
y=C*x+D*u
设上述模型连续状态变量、离散状态变量、输入变量、输出变量均为1个,我们就只需改上面那一段代码为:
sizes.NumContStates=1;
sizes.NumDiscStates=1;
sizes.NumOutputs=1;
sizes.NumInpu
ts=1;
其他的可以不变。
继续在mdlInitializeSizes函数中往下看:
x0 = []; %状态变量设置为空,表示没有状态变量
依上例,可改为x0=[0,0](离散和连续的状态变量我们都设它初值为0)
str = []; %保留参数
ts = [0 0]; %采样周期设为0表示是连续系统,离散系统在下面的mdlGet %TimeOfNextVarHit函数中具体介绍
case 1,
sys=mdlDerivatives(t,x,u);
flag=1表示此时要计算连续状态的微分,即上面提到的dx/dt=fc(t,x,u)中的dx/dt,找到mdlDerivatives函数(在193行)如果设置连续状态变量个数为0,此处只需sys=[]; 就可以了(如sfuntmpl中一样),按我们上述讨论的那个模型,此处改成 sys=fc(t,x
(1),u)或sys=A*x
(1)+B*u %x
(1)是连续状态变量,而x
(2)是离散的,此处只用到连续的,此时的输出sys就是微分
在sfuntmpl的112行:
case 2,
sys=mdlUpdate(t,x,u);
flag=2表示此时要计算下一个离散状态,即上面提到的x(k+1)=fd(t,x,u),找到mdlUpd ate函数(在206行)它这儿sys=[];表示没有离散状态,我们这儿可以改成 sys=fd(t,x
(2),u)或sys=H*x
(2)+G*u;%sys即为x(k+1)。
在sfuntmpl的118行
case 3,
sys=mdlOutputs(t,x,u);
flag=3表示此时要计算输出,即y=fo(t,x,u),找到mdlOutputs函数(在218行),如上,如果sys=[]表示没有输出,我们改成sys=fo(t,x,u)或ys=C*x+D*u
,ys此时为输出y。
funtmpl的124行
case 4,
sys=mdlGetTimeOfNextVarHit(t,x,u);
flag=4表示此时要计算下一次采样的时间,只在离散采样系统中有用(即上文的Init ializeSizes中提到的ts设置ts
(1)不为0)。
连续系统中只需在dlGetTimeOfNextVarHit函数中写上sys=[];这个函数主要用于变步长的设置。
在sfuntmpl的130行
case 9,
sys=mudTerminate(t,x,u);
flag=9表示此时系统要结束,一般来说写上在mdlTerminate函数中写上
第三章无刷直流电机的组成结构与工作原理
3.1无刷直流电机的基本结构
无刷直流电机主要由电机本体、转子位置传感器和开关电路组成,原理图如下图1所示。
图3.1无刷直流电机控制原理图
3.1.1无刷直流电机的基本结构原理
无刷直流电机的定子是由定子冲片和放置在各个槽中的绕组组成。
一般无刷直流电动机的定子结构和同功率的异步电
动机是相同的,不同的只是绕组的分布方式。
大部分无刷直流电机的三相绕组是绕成星型的(本设计的模型即是这种电机)。
根据定子绕组的反电动势波形,有梯形波和正弦波两种。
其中,反电动势波形为梯形波的即无刷直流电机。
无刷直流电机的转子是由永磁体组成的,磁钢的磁极N和S是交替放置的。
与有刷直流电机不同,无刷直流电机的换向是电子控制的。
无刷电机在圆形时,必须按一定顺序给定子绕组通电,我们如果知道转子的位置就可以在定子绕组上加相应的信号。
目前无刷直流电机的转子位置是通过安装在定子上的传感器检测的。
当转子永磁体磁极经过传感器是,传感器就会给出一个高或低电平,表明N或S极经过,根据传感器得到的信号我们可以确定电动机的位置。
3.1.2电子开关电路
电子开关电路也就是逆变器,主要是将直流电转换成交流电,并向电机供电。
电子开关电路实现定子绕组的传导和传导时间序列,它主要是由一个逻辑开关和位置信号处理组成。
位置传感器信号确定定子绕组的导通顺序和传导时间。
虽然如此,但是位置传感器的信号需要经过相关的适当的处理转换成电信号后才能用来控制功率逻辑开关单元。
控制电路的核心部件是权利的逻辑开关单元,其主要功能是最终让电机不断地产生连续转矩实现正常工作。
目前,在无刷直流电动机的逆变装置中,功率元器件大都采用IGBT或功率MOSFET等全控型器件,有些主电路已有集成的功率模块(PIC)和智能功率模块(IPM),选用这些模块可以提高系统的可靠性。
逆变器主电路有桥式和半桥式两种,它们具有容易控制、开关频率高、可靠性高等诸多优点。
3.2无刷直流电机的工作原理
无刷直流电机的电磁转矩有定子的合成磁动势和转子永磁磁场相互作用产生的。
理论上来说,当定子的合成磁动势与与转子永磁磁场在空间上相位相差90°时电磁转矩就达到其峰值。
而在两磁场平行时最弱。
为了保证电动机转动,由定子绕组产生的磁场应不断变换位置,因为转子会想着与定子磁场平行的方向旋转。
我们可以看一个简单的现象,如图3.2(a)所示,当两头的线圈通上电流时,根据右手螺旋定则,会产生方向指向右的外加感应强度B,而中间的转子会尽量使自己内部的磁力线方向与外磁力线方向一致,这样转子就会按顺时针方向旋转了[6]。
图3.2转子转动原理
当转子转到水平位置是,虽然不在受到转动力矩的作用,但由于惯性原因,还会继续转动,此时若改变两头螺线管的电流方向,如图3.2(b)所示,转子会继续向前转动[7]。
以上虽然是最简单的两相两级无刷电机的工作原理,而本设计的仿真对象却为三相无刷直流电机,但是我们可以以此分析仿真对象的工作原理。
三相无刷直流电机的控制框图如3-1所示。
它主要由霍尔位置传感器和功率开关单元的信号检测与控制单元两部分组成。
功率开关单元是电路的核心,其功能是将电源的功率以一定的逻辑关系分配给无刷直流电机定子各相绕组,以便使电机产生持续不断的转矩,而各相绕组导通的顺序和时间的控制主要取决于来自霍尔传感器的信号。
无刷直流电机常采用两两导通模式,每只开关管导通电角度120°,每时刻只有两相绕组导通,每隔60°电角度就有一只开关管关断,另一只开关管开通。
并且三相逆变电路上桥臂和下桥臂都只有一个功率开关器件导通,也就是运行过程中必有一相的上下两个功率开关器件始终处于关断状态。
图3.2所示为一个电周期里电动机导通绕组级电动机反向电动势、电流的关系。
表3.1所示为开关管开通关断对于电角度的关系
图3.2无刷直流电机A相反电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流电机 控制系统 仿真 毕业设计