基于Matlab的直流电机速度控制.docx
《基于Matlab的直流电机速度控制.docx》由会员分享,可在线阅读,更多相关《基于Matlab的直流电机速度控制.docx(10页珍藏版)》请在冰豆网上搜索。
基于Matlab的直流电机速度控制
基于Matlab的直流电机速度控制
系统仿真
课程设计报告
设计题目:
基于Matlab的直流电机速度控制
专业:
自动化
学生姓名:
班级学号:
指导教师:
开课日期2013年7月1日至2013年7月13日
南京邮电大学自动化学院
一、课程设计题目
控制系统的执行机构常用直流电机来驱动,电路和原理示意图如下所示
其开环传递函数为
,请用时域分析方法设计PID控制器,使系统满足下列性能指标要求:
当仿真输入是单位阶跃信号时,电机输出转速调整时间小于2秒,超调小于5%,稳态误差小于1%。
要求给出详细的设计步骤,matlab源码及仿真曲线。
二、实验原理
本报告首先介绍了直流电动机的物理模型,并测量计算了它的具体参数。
然后根据牛顿第二定律和回路电压法分别列写运动平衡方程式和电机电枢回路方程式,从而通过一些数学变换抽象出了以电压为输入、转速为输出、电流和转速为状态变量的数学模型。
借助MATLAB设计simulink模块调整PID模块的各项系数,使系统的阶跃响应达到了设计指标。
1、建立该系统的时域数学模型
由克希霍夫定律得:
V=R*i+L
+e
直流电机转矩和电枢电流关系为
T=Kt*I
电枢旋转产生反电动势与旋转运动角速度的关系为
e=
由牛顿定律,转子力矩平衡关系为
其中,T:
负载转矩,
:
负载电流
V(s)=R*I(s)+L*sI(s)+E(s)
拉式变换:
E=Ke
(s)
划去中间变量得:
开环传递函数为:
2、PID控制器的功能
比例环节:
Kp增大等价于系统的开环增益增加,会引起系统响应速度加快,稳态误差减少,超调量增加。
当Kp过大时,会使闭环系统不稳定;
积分环节:
相当于增加系统积分环节个数,主要作用是消除系统的稳态误差。
积分环节作用的强弱取决于积分时间常数Ti,Ti增大,系统超调量变小,响应速度变慢;
微分环节:
主要作用是提高系统的响应速度,同时减少系统超调量,抵消系统惯性环节的相位滞后不良作用,使系统稳定性明显改善。
Td偏大或偏小,都会使超调量增大,调整时间加长。
由于该环节所产生的控制量与信号变化速率有关,故对于信号无变化或变化缓慢的系统微分环节不起作用。
三、设计步骤
方法1:
搭建simulink模块,利用经验调节法整定PID参数,使整个系统满足调节时间小于2秒,超调小于5%,稳态误差小于1%。
1、搭建的simulink模块图如下:
PID参数整定结构图
2、设定Kp=1,Ki=0,Kd=0.得到原系统的响应曲线如下:
初始响应曲线
3、设定Kp=80,Ki=0,Kd=0,得到的响应曲线的超调量为7.25%,稳态误差为
11%,没能达到所要求的性能指标,继续进行积分环节的调整。
Kp=80,Ki=0,Kd=0响应曲线
4、设定Kp=80,Ki=60,Kd=0得到的响应曲线的调节时间为0.686s,超调量为14.4%,稳态误差为0.7%,调节时间和稳态误差达到性能指标,最后调节微分环节,使超调量达到要求。
Kp=80,Ki=60,Kd=0响应曲线
5、设定Kp=80,Ki=60,Kd=2得到响应曲线的调节时间为0.21s,超调量为4.4%,稳态误差为0.4%,所有性能指标都达到要求。
Kp=80,Ki=60,Kd=2响应曲线
方法2:
设系统状态X=[
]'并建立以输入电压U为输入,转速
为输出的系统状态空间表达式为
实验代码如下:
编写程序如下:
%ModelngDCmotor
J=0.01;b=0.1;K=0.01;R=1;L=0.5;
A=[-b/JK/J
-K/L-R/L];
B=[0
1/L];
C=[10];
D=0;
sys=ss(A,B,C,D);
sys=tf(sys)
%Stepresponseoftheopensystem
%================================
step(sys)
运行结果:
Transferfunction:
2
------------------
s^2+12s+20.02
由阶跃响应曲线可见,对系统加电压,马达仅达到的最大转速,且达到这个速度需要3秒,这些都不满足期望的性能要求。
设计PID控制器校正系统性能
PID控制器的数学模型
PID控制器传递函数为
PID设计的MATLAB仿真程序
%ModelofDCmotor
J=0.01;b=0.1;K=0.01;R=1;L=0.5;
A=[-b/JK/J;-K/L-R/L];
B=[0;1/L];
C=[10];
D=0;
sys=ss(A,B,C,D);
sys=tf(sys);
%DesignPIDController
Kp=80;Ki=60;Kd=2;
sysc=tf([Kd,Kp,Ki],[10]);
sysopen=sysc*sys;
%Checkstepresponseofclosedloopsystem
sysclose=feedback(sysopen,1);
step(sysclose)
PID整定后响应曲线
根据所得的响应曲线超调量为3.84%调节时间为1.88s,稳态误差接近零。
四、实验小结