matlab课程设计报告 他励直流电机的转速闭环控制.docx
《matlab课程设计报告 他励直流电机的转速闭环控制.docx》由会员分享,可在线阅读,更多相关《matlab课程设计报告 他励直流电机的转速闭环控制.docx(10页珍藏版)》请在冰豆网上搜索。
matlab课程设计报告他励直流电机的转速闭环控制
Matlab课程设计报告
他励直流电机的转速闭环控制
专业:
电气工程及其自动化
班级:
中英1101班
设计者:
朱少波
学号:
U201115536
1.
设计要求
对5马力他励直流电动机进行转速单闭环控制。
转速闭环控制器的输入为转速偏差,输出为施加于电机上的电枢电压。
指令转速设定为200rad/s(1911rpm)。
电动机参数如表1所示
1.建立直流电机以电枢电压为输入、角转速为输出的传递函数,用MATLAB软件编制m程序进行Bode图辅助设计,选择合适的控制器结构及参数,使系统满足以下基本要求:
1)系统对阶跃型转速指令无静差;
2)开环系统增益穿越频率为10~15rad/s(此值影响电机启动电流);
3)相角裕度>45°。
2.用Simulink搭建mdl仿真模型(采用分解模型,否则无法观察电枢电流)对设计结果进行验证、完善,使最终设计结果进一步满足下述要求:
1)空载启动,转速爬升到指令值90%的时间<0.5s;
2)空载启动电流(以过渡过程中的最大值计)不超过额定电压下直接启动时的数值。
3.在电机空载稳定运行中突加阶跃型额定负载转矩,观察转速跌落情况并与无闭环控制的电机做对比,分析、体会闭环控制在抗扰性方面的优势。
表15马力(3.7千瓦)他励直流电动机数据
额定电压:
240V
电枢电感:
0.028H
额定电流:
19.7A
转矩常数:
1.03N·m/A
额定转速:
()
电势常数:
1.03V·s/rad
额定转矩:
20.4N·m
转动惯量:
0.02215Kg·m2
电枢电阻:
2.581Ω
粘性摩擦系数:
0.002953N·m·s
2.
他励直流电机建模
设为电枢电压,i为电枢电流,ω为转子角速度,为负载转矩。
电势平衡方程
转矩平衡方程
转换到s域,有
联立(3)(4)两式,消去I,得
从电枢电压到转速的传递函数为
从负载转矩到转速的传递函数为
将(3)(4)表示为框图形式,有
图1电机系统本身传递函数表达式
其中方框中的表达式分别是以及。
3.控制器设计
将表1中的数据代入方程(6),得
从方程的分子部分可以确定电机系统为0型系统,对阶跃指令响应有静差,所以控制器至少要包含一个积分环节。
设计要求既对增益穿越频率有要求,也对相角裕度有不同的要求,而如果仅仅把控制环节改成一个积分环节,由自动控制原理课程的知识我们知道数值K只能调节增益穿越频率,而改变增益并不会影响开环系统的相频响应,故为满足相角裕度要求,可以考虑将控制器的形式设为比例-积分(PI)控制器
则开环系统的传递函数为
考虑到系统的开环系统增益穿越频率越大,启动时的冲击电流也越大,但是过低的穿越频率会影响系统的动态响应性能,综合考虑设定开环系统增益穿越频率=13rad/s,相角裕度定为=70°.
令
联立(9)(10)两式,可以解出=0.3589,=14.64.
所以最终得到的开环系统的传递函数为
加入PI控制器之后得到的电机系统的bode图如下
图2加入PI控制器后的开环系统的bode图
4.Simulink仿真
搭建的simulink电机系统仿真模型如下图
图3电机系统仿真模型
图中三个不同的scope分别反应了电枢电压阶跃响应,电枢电流阶跃响应以及转速阶跃响应。
它们代表了系统的启动过程。
三个不同的阶跃响应的图示如下。
图4转速阶跃响应(注明:
红色为无闭环系统,黄色为闭环系统.下同)
图5电枢电流阶跃响应
图6电枢电压阶跃响应
从上述三个图可以看出,设计的控制器已经满足以下的两个附加要求:
1)空载启动,转速爬升到指令值90%的时间<0.5s;
2)空载启动电流(以过渡过程中的最大值计)不超过额定电压下直接启动时的数值。
5.负载扰动分析
为了得到负载扰动分析,我们在t=0.5s时加入额定负载转矩,可观察到转速阶跃响应的图形如下:
图7突加阶跃型额定负载转矩的转速阶跃响应
从图7中两个系统的阶跃响应可以看出,有闭环控制的电机系统转速在负载阶跃变化的情况下可以经短暂的小幅跌落后迅速调整回设定值,表现出较强的抗扰动性;而无闭环控制的电机转速则是大幅跌落且不会回复到原值,抗扰动性较弱。
综合上述现象,我们可以得到,有闭环控制的系统在受到负载扰动的时候表现出明显的抗干扰能力,这是由于闭环控制系统具有反馈环节,出现扰动的同时,系统1通过反馈及时的将扰动量传送到输入端,使得系统在原有的信号上附加额外的信息以使系统尽快的从偏离设定值到恢复为设定值,由此可以消除扰动带来的影响;但是无闭环控制的系统则比较吃亏,在没有反馈的情况下,系统无法根据输出量进行自我调节,因此,抗扰动性能比较差。
从中我们也可以看到二者之间的差别。
6.文件代码
以下文件代码先是元件模型的代码,然后是开环系统bode图的M文件代码。
%%findPI
closeall
clear
clc
%电机参数设置
Kt=1.03;
Kv=1.03;
J=0.02215;
L=0.028;
R=2.581;
C=0.002953;
dcmotor=tf(Kt/(J*L),[1,R/L+C/J,(C*R+Kv*Kt)/(J*L)])
(上面是元件建模时的代码)
(以下是设计PI控制器的代码)
%假设初始控制器的参数
K=1;
gh=series(tf(K,[10]),dcmotor);
w0=logspace(-1,4,1000);
%设定PI控制器参数
PM=70;%设相位裕度70度
w_set=13;%设增益穿越频率为13rad/s
%%以下是计算校正函数的代码
%求原系统在设定穿越频率(13rad/s)处的响应
ghresp=freqresp(gh,w_set);
ghresp=ghresp(1,1,1);
phi=-180/pi*angle(ghresp);
%计算在满足相位裕度要求时的补偿点。
delta_PM=PM-(180-phi);
wz=w_set/tan(delta_PM/180*pi);
amp=abs(ghresp);
%计算正确的传递函数之后使穿越频率满足要求。
K=1/amp/sqrt(tan(delta_PM/180*pi)^2+1);
%%
figure
gc=tf(K*[1/wz1],[10])
gh=series(gc,dcmotor);
subplot(1,2,1),bode(gh,w0),grid,title('加入PI控制器的电机系统Bode图')
subplot(1,2,2),bode(gh,w),grid,title('\omega=10rad/s到15rad/s的Bode图细节')
7.
设计小结
本次Matlab课程设计要求我们设计一个直流电机的转速单闭环控制系统的调节校正器,该电机系统的参数基本已经给出,因此我们可以根据已经给出的电机参数实行建模,先建立起电机参数原本自身系统的模型,这样我们再经过进一步的调整和修正对直流电机做出校正。
此次设计过程也帮助我更好的复习了自动控制系统有关的知识,我们必须充分复习和掌握自动控制系统中有关伯德图的画法,PI积分控制器,增益,系统的增益穿越频率,相角裕度和幅值裕度等等知识,才能正确设计出我们需要的校正系统,PI控制器。
根据设计要求,我在设计时所取的增益穿越频率为13rad/s,相角裕度为70度,系统本身的初始传递函数为一个0型系统,而设计要求要使系统无静差,所以我们加入校正器使系统变为1型系统,根据自动控制系统的知识,我们针对系统设计了一个PI控制器,并给出了校正器的表达式。
由此通过一些计算算得了校正器的参数,。
由此确定了校正后的开环系统。
此时我们通过对Matlab软件的学习,在软件中对系统进行建模,做出了整个校正后的闭环控制系统和加入校正器之前的系统的模型图,并进行了仿真,并得到了建模和伯德图设计程序的M代码。
做出前后的对比,得到了伯德图的结果,并根据设计要求对结果进行分析,最终完成了设计。
感觉设计时对系统校正器的参数设计是一大难点,而最终M代码的编写也是整个课程设计中最值得我们好好研究和学习的地方。
不过总的来说在设计中还是初步完成了设计任务,巩固了自己所学的知识,我将会十分珍惜这次课程设计的经历。
8.参考文献
1.MorrisDriels;LinearControlSystemsEngineering.线性控制系统工程北京:
清华大学出版社,2000年12月第1版2006年7月第6次印刷。
2.MATLABR2012a完全自学一本通。
刘浩韩晶著北京:
电子工业出版社