华北电力大学保定自控课程设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
执行如下程序,此时校正后系统的伯德图如图所示。
num1=6*[0.431 1];
den1=conv([0.108 1 0],conv([0.05 1],[0.5 1]));
bode(num1,den1)
Grid
校正后系统的根轨迹
输入如下程序
num1=6*[0.431 1];
den1=conv([0.108 1 0],conv([0.05 1],[0.5 1]));
>> step(sysc) Nyquist曲线和零极点图1
阶跃响应曲线1
分析:从图中看出,Nyquist曲线逆时针包围点(-1,j0)一周,并且p=1,由Nyquist稳定判据可知系统闭环稳定,从阶跃响应曲线也可看出系统闭环稳定。
(2)>> k=25;
>> p=[-5,1,2]
>> z=[]; |
>> sys=zpk(z,p,k);
setllingtime = %调节时间
5.3006
3、根轨迹分析题目
例3.1已知单位负反馈系统的开环传递函数为 ,利用MATLAB绘制其根轨迹,并确定系统临界稳定的K值。
解:%绘制根轨迹
>> num=[1 1];
>> den1=conv([1 0],[1 4]);
>> den2=[1 4 20];
rlocus(num1,den1)
grid
得到校正后下图:
通过分析可知满足要求。
5.2根轨迹滞后校正
例题:设某二阶系统的传递函数如下: ,试选用合适的方法设计一个串联校正装置K(s),使系统的阶跃响应曲线超调量σ%<30%,过渡时间 <1.5s。
解:输入如下程序:
>> clear
>> num=[1];
解:(1)
>> k=25;
>> p=[-5,1]
>> z=[]; |
>> sys=zpk(z,p,k);
>> figure(1)
>> subplot(211)
>> nyquist(sys)
>> subplot(212)
>> pzmap(p,z)
>> figure(2)
>> sysc=feedback(sys,1);
s^5 + 3 s^4 + 4 s^3 + 2 s^2 + 7 s + 2
>> pzmap(G)
>> grid
由图可知系统在S右半平面存在零极点,系统不稳定。
法二:直接求根法
>> M=[1 3 4 2 7 2]; %特征方程系数
>> r=roots(M)
r =
-1.7680 + 1.2673i
-1.7680 - 1.2673i
15 s + 45
------------------------
s^3 + 21 s^2 + 95 s + 75
>>%转换成零极点增益模式
>> [z,p,k]=tf2zp(num,den)
z =
-3
p =
-15.0000
-5.0000
-1.0000
k =
15
>>%还原成多项式模式
>> [num,den]=zp2tf(z,p,k)
den=[1 3 4 2 7 2];
[z p k]=tf2zp(num,den)
z = 0.4019 + 1.1965i
0.4019 - 1.1965i
-0.7352 + 0.8455i
-0.7352 - 0.8455i
p =-1.7680 + 1.2673i
-1.7680 - 1.2673i
0.4176 + 1.1130i
2.控制系统模型,主要包括模型建立、模型变换、模型简化,Laplace变换等等。
3.控制系统的时域分析,主要包括系统的各种响应、性能指标的获取、零极点对系统性能的影响、高阶系统的近似研究,控制系统的稳定性分析,控制系统的稳态误差的求取。
4.控制系统的根轨迹分析,主要包括多回路系统的根轨迹、零度根轨迹、纯迟延系统根轨迹和控制系统的根轨迹分析。
>> den=[1 2 0];
>> G=tf(num,den);
>> rltool(G)弹出所示的Rltool根轨迹设计及仿真界面
从图中看出,无论系统的闭环极点在根轨迹上怎样变化,与原点距离都比较接近。这样的系统过渡时间较长,很难满足 <1.5s的要求,选择Analysis中的R而是Respone To Step Command命令,可得到系统闭环阶跃响应,如图
2、%求上升时间
>> n=1;
>> while y(n)<A
n=n+1;
end
>> risetime=t(n)
risetime =%上升时间
1.1043
3、%求调节时间
>> i=length(t);
>> while(y(i)>0.98*A)&(y(i)<1.02*A)
i=i-1;
end
>> setllingtime=t(i)
3
根轨迹分析、系统校正
2014年1月2日
4
整理打印课程设计报告,并答辩
2014年1月3日
四、设计正文
1.系统模型题目
例1.1已知系统的传递函数G(s)= ,用MATLAB将其转换为零极点模式。
解:
>> num=[15 45];
>> den=[1 21 95 75];
>> G=tf(num,den)
Transfer function:
num =
0 0 15 45
den =
1.0000 21.0000 95.0000 75.0000
例1.2单位负反馈开环传递函数为 求其闭环传递函数。
解:>> G=tf([1 10],[1 3 2 0]);
>> H=tf([1],[1]);
>> G_1=feedback(G,H)
Transfer function:
4、频域分析题目
例题4.1已知负反馈系统开环传递函数为 ,绘制出系统的伯德图,并且求系统的增益裕度、相角裕度及剪切频率。
解:>> G=zpk([-10],[0 -5 -1],1);
margin(G)
[Gm,Pm,Wcg,Wcp]=margin(G)
Gm =
7.5001
Pm =
32.2291
Wcg =
0.0118 + 5.5590i(应该为0+5055901i鼠标无法精确到零)
k =
167.6898
例3.2负反馈系Βιβλιοθήκη Baidu的开环传递函数为 ,绘制其根轨迹图,并使用rlocfind函数求解出分离点和会合点。
解:
>> num=[1 -2 2];
>> den=[1 3 2 0];
>> rlocus(num,den)
s + 10
----------------------
s^3 + 3 s^2 + 3 s + 10
2、时域分析题目
例2.1已知连续系统的的传递函数为
(1)求出该系统的零点、极点和增益;
(2)绘制零极点图,判断系统稳定性。
解:(1)利用传递函数转换成零极点模型可以得到零点、极点和增益。
>>num=[3 2 5 4 6];
>> rlocfind(num,den)
Select a point in the graphics window
selected_point =
-0.3276 + 0.0031i(应该为-0.3276+j0,鼠标无法精确到零)
ans =
0.1334
结果表明只有一个会合点-0.3276 + 0.0031i,此时K=0.1234.
>> [y,t]=step(G);
>> plot(t,y);
>> grid
>> [Y,k]=max(y);
>> timetopeak=t(k)
timetopeak =%峰值时间
1.6932
>> percentovershoot=100*(Y-A)/A
percentovershoot =%超调量
28.0596
3.5356
Wcp =
1.2327
由程序结果可知剪切频率为1.23rad/s,相角裕度为32.2°,穿越频率为3.54rad/s,增益裕度为7.5dB。
例4.2已知某系统的开环传递函数为 。
(1)绘制系统的Nyquis曲线,判断闭环系统的稳定性,绘制系统的得到单位阶跃响应曲线;
(2)给系统增加一个开环极点p=2,绘制此时的Nyquist曲线,判断此时闭环系统的稳定性,并绘制系统的单位阶跃响应曲线。
0.4176 + 1.1130i
0.4176 - 1.1130i
-0.2991从特征根可看出,两个根位于S右半平面,系统不稳定。
例2.2计算二阶系统 的性能指标(超调量,上升时间,峰值时间和调节时间)及绘制其阶跃响应曲线。
解:1、求峰值时间和超调量
>> G=tf([4],[1 1.5 4]);
>> A=dcgain(G);
0.4176 - 1.1130i
-0.2991
k =3
(2)法一:
>> num=[3 2 5 4 6];
>> den=[1 3 4 2 7 2];
>> G=tf(num,den)
Transfer function:
3 s^4 + 2 s^3 + 5 s^2 + 4 s + 6
-------------------------------------
截止频率 ,
穿越频率 ,
相角裕度 ,
幅值裕度h=11.3dB,
显然 ,需进行超前校正。
校正前系统的根轨迹
运行如下程序:
num=[6];
den=[conv([0.05 1],[0.5 1]) 0];
rlocus(num,den);
grid
得到校正前系统根轨迹如下图
由上面的分析可超前环节为:
加入校正环节之后的传递函数为:
5.控制系统的频域分析,主要包括系统Bode图、Nyquist图、稳定性判据和系统的频域响应。
6.控制系统的校正,主要包括根轨迹法超前校正、频域法超前校正、频域法滞后校正以及校正前后的性能分析。
三、进度计划
序号
设计内容
完成时间
备注
1
基础知识、数学模型
2013年12月30日
2
时域分析法、频域分析
2013年12月31日
课程设计报告
( 2013-- 2014年度第1学期)
名称:《自动控制理论》课程设计
题目:基于自动控制理论的性能分析与校正
院系:自动化系
班级:自动化1103班
学号:2011 1101 0122
*******
*******
设计周数:1周
成绩:
日期:2014年1月3日
一、课程设计的目的与要求
本课程为《自动控制理论A》的课程设计,是课堂的深化。设置《自动控制理论A》课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。
>> figure(1)
>> subplot(211)
>> nyquist(sys)
>> subplot(212)
>> pzmap(p,z)
>> figure(2)
Nyquist曲线和零极点2
>> sysc=feedback(sys,1);
>> step(sysc)
阶跃响应曲线2
分析:运行结果如图所示,Nyquist曲线逆时针不包围点(-1,j0)并且p=2,由Nyquist稳定判据可知,系统闭环不稳定,从阶跃响应曲线2也可验证此结论。
>> den=conv(den1,den2);
rlocus(num,den)
>> rlocus(num,den)
%确定临界稳定K值,即找出根轨迹与虚轴交点
>> k=rlocfind(tf(num,den))
Select a point in the graphics window
selected_point =
通过此次计算机辅助设计,学生应达到以下的基本要求:
1.能用MATLAB软件分析复杂和实际的控制系统。
2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。
3.能灵活应用MATLAB的CONTROL SYSTEM工具箱和SIMULINK仿真软件,分析系统的性能。
二、主要内容
1.前期基础知识,主要包括MATLAB系统要素,MATLAB语言的变量与语句,MATLAB的矩阵和矩阵元素,数值输入与输出格式,MATLAB系统工作空间信息,以及MATLAB的在线帮助功能等。
5、控制系统的校正题目
5.1根轨迹超前校正
例题:已知一单位反馈系统的开环传递函数是
,K=6,设计一校正装置使得相角裕度 。
解:
运行如下程序:
num=[6];
den=[conv([0.05 1],[0.5 1]) 0];
bode(num,den);
grid
得到系统的Bode图:
频率的相对稳定性即稳定裕度也影响系统时域响应的性能,稳定裕度常用相角裕度γ和幅值裕度h来度量。由上图可得:
num1=6*[0.431 1];
den1=conv([0.108 1 0],conv([0.05 1],[0.5 1]));
bode(num1,den1)
Grid
校正后系统的根轨迹
输入如下程序
num1=6*[0.431 1];
den1=conv([0.108 1 0],conv([0.05 1],[0.5 1]));
>> step(sysc) Nyquist曲线和零极点图1
阶跃响应曲线1
分析:从图中看出,Nyquist曲线逆时针包围点(-1,j0)一周,并且p=1,由Nyquist稳定判据可知系统闭环稳定,从阶跃响应曲线也可看出系统闭环稳定。
(2)>> k=25;
>> p=[-5,1,2]
>> z=[]; |
>> sys=zpk(z,p,k);
setllingtime = %调节时间
5.3006
3、根轨迹分析题目
例3.1已知单位负反馈系统的开环传递函数为 ,利用MATLAB绘制其根轨迹,并确定系统临界稳定的K值。
解:%绘制根轨迹
>> num=[1 1];
>> den1=conv([1 0],[1 4]);
>> den2=[1 4 20];
rlocus(num1,den1)
grid
得到校正后下图:
通过分析可知满足要求。
5.2根轨迹滞后校正
例题:设某二阶系统的传递函数如下: ,试选用合适的方法设计一个串联校正装置K(s),使系统的阶跃响应曲线超调量σ%<30%,过渡时间 <1.5s。
解:输入如下程序:
>> clear
>> num=[1];
解:(1)
>> k=25;
>> p=[-5,1]
>> z=[]; |
>> sys=zpk(z,p,k);
>> figure(1)
>> subplot(211)
>> nyquist(sys)
>> subplot(212)
>> pzmap(p,z)
>> figure(2)
>> sysc=feedback(sys,1);
s^5 + 3 s^4 + 4 s^3 + 2 s^2 + 7 s + 2
>> pzmap(G)
>> grid
由图可知系统在S右半平面存在零极点,系统不稳定。
法二:直接求根法
>> M=[1 3 4 2 7 2]; %特征方程系数
>> r=roots(M)
r =
-1.7680 + 1.2673i
-1.7680 - 1.2673i
15 s + 45
------------------------
s^3 + 21 s^2 + 95 s + 75
>>%转换成零极点增益模式
>> [z,p,k]=tf2zp(num,den)
z =
-3
p =
-15.0000
-5.0000
-1.0000
k =
15
>>%还原成多项式模式
>> [num,den]=zp2tf(z,p,k)
den=[1 3 4 2 7 2];
[z p k]=tf2zp(num,den)
z = 0.4019 + 1.1965i
0.4019 - 1.1965i
-0.7352 + 0.8455i
-0.7352 - 0.8455i
p =-1.7680 + 1.2673i
-1.7680 - 1.2673i
0.4176 + 1.1130i
2.控制系统模型,主要包括模型建立、模型变换、模型简化,Laplace变换等等。
3.控制系统的时域分析,主要包括系统的各种响应、性能指标的获取、零极点对系统性能的影响、高阶系统的近似研究,控制系统的稳定性分析,控制系统的稳态误差的求取。
4.控制系统的根轨迹分析,主要包括多回路系统的根轨迹、零度根轨迹、纯迟延系统根轨迹和控制系统的根轨迹分析。
>> den=[1 2 0];
>> G=tf(num,den);
>> rltool(G)弹出所示的Rltool根轨迹设计及仿真界面
从图中看出,无论系统的闭环极点在根轨迹上怎样变化,与原点距离都比较接近。这样的系统过渡时间较长,很难满足 <1.5s的要求,选择Analysis中的R而是Respone To Step Command命令,可得到系统闭环阶跃响应,如图
2、%求上升时间
>> n=1;
>> while y(n)<A
n=n+1;
end
>> risetime=t(n)
risetime =%上升时间
1.1043
3、%求调节时间
>> i=length(t);
>> while(y(i)>0.98*A)&(y(i)<1.02*A)
i=i-1;
end
>> setllingtime=t(i)
3
根轨迹分析、系统校正
2014年1月2日
4
整理打印课程设计报告,并答辩
2014年1月3日
四、设计正文
1.系统模型题目
例1.1已知系统的传递函数G(s)= ,用MATLAB将其转换为零极点模式。
解:
>> num=[15 45];
>> den=[1 21 95 75];
>> G=tf(num,den)
Transfer function:
num =
0 0 15 45
den =
1.0000 21.0000 95.0000 75.0000
例1.2单位负反馈开环传递函数为 求其闭环传递函数。
解:>> G=tf([1 10],[1 3 2 0]);
>> H=tf([1],[1]);
>> G_1=feedback(G,H)
Transfer function:
4、频域分析题目
例题4.1已知负反馈系统开环传递函数为 ,绘制出系统的伯德图,并且求系统的增益裕度、相角裕度及剪切频率。
解:>> G=zpk([-10],[0 -5 -1],1);
margin(G)
[Gm,Pm,Wcg,Wcp]=margin(G)
Gm =
7.5001
Pm =
32.2291
Wcg =
0.0118 + 5.5590i(应该为0+5055901i鼠标无法精确到零)
k =
167.6898
例3.2负反馈系Βιβλιοθήκη Baidu的开环传递函数为 ,绘制其根轨迹图,并使用rlocfind函数求解出分离点和会合点。
解:
>> num=[1 -2 2];
>> den=[1 3 2 0];
>> rlocus(num,den)
s + 10
----------------------
s^3 + 3 s^2 + 3 s + 10
2、时域分析题目
例2.1已知连续系统的的传递函数为
(1)求出该系统的零点、极点和增益;
(2)绘制零极点图,判断系统稳定性。
解:(1)利用传递函数转换成零极点模型可以得到零点、极点和增益。
>>num=[3 2 5 4 6];
>> rlocfind(num,den)
Select a point in the graphics window
selected_point =
-0.3276 + 0.0031i(应该为-0.3276+j0,鼠标无法精确到零)
ans =
0.1334
结果表明只有一个会合点-0.3276 + 0.0031i,此时K=0.1234.
>> [y,t]=step(G);
>> plot(t,y);
>> grid
>> [Y,k]=max(y);
>> timetopeak=t(k)
timetopeak =%峰值时间
1.6932
>> percentovershoot=100*(Y-A)/A
percentovershoot =%超调量
28.0596
3.5356
Wcp =
1.2327
由程序结果可知剪切频率为1.23rad/s,相角裕度为32.2°,穿越频率为3.54rad/s,增益裕度为7.5dB。
例4.2已知某系统的开环传递函数为 。
(1)绘制系统的Nyquis曲线,判断闭环系统的稳定性,绘制系统的得到单位阶跃响应曲线;
(2)给系统增加一个开环极点p=2,绘制此时的Nyquist曲线,判断此时闭环系统的稳定性,并绘制系统的单位阶跃响应曲线。
0.4176 + 1.1130i
0.4176 - 1.1130i
-0.2991从特征根可看出,两个根位于S右半平面,系统不稳定。
例2.2计算二阶系统 的性能指标(超调量,上升时间,峰值时间和调节时间)及绘制其阶跃响应曲线。
解:1、求峰值时间和超调量
>> G=tf([4],[1 1.5 4]);
>> A=dcgain(G);
0.4176 - 1.1130i
-0.2991
k =3
(2)法一:
>> num=[3 2 5 4 6];
>> den=[1 3 4 2 7 2];
>> G=tf(num,den)
Transfer function:
3 s^4 + 2 s^3 + 5 s^2 + 4 s + 6
-------------------------------------
截止频率 ,
穿越频率 ,
相角裕度 ,
幅值裕度h=11.3dB,
显然 ,需进行超前校正。
校正前系统的根轨迹
运行如下程序:
num=[6];
den=[conv([0.05 1],[0.5 1]) 0];
rlocus(num,den);
grid
得到校正前系统根轨迹如下图
由上面的分析可超前环节为:
加入校正环节之后的传递函数为:
5.控制系统的频域分析,主要包括系统Bode图、Nyquist图、稳定性判据和系统的频域响应。
6.控制系统的校正,主要包括根轨迹法超前校正、频域法超前校正、频域法滞后校正以及校正前后的性能分析。
三、进度计划
序号
设计内容
完成时间
备注
1
基础知识、数学模型
2013年12月30日
2
时域分析法、频域分析
2013年12月31日
课程设计报告
( 2013-- 2014年度第1学期)
名称:《自动控制理论》课程设计
题目:基于自动控制理论的性能分析与校正
院系:自动化系
班级:自动化1103班
学号:2011 1101 0122
*******
*******
设计周数:1周
成绩:
日期:2014年1月3日
一、课程设计的目的与要求
本课程为《自动控制理论A》的课程设计,是课堂的深化。设置《自动控制理论A》课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。
>> figure(1)
>> subplot(211)
>> nyquist(sys)
>> subplot(212)
>> pzmap(p,z)
>> figure(2)
Nyquist曲线和零极点2
>> sysc=feedback(sys,1);
>> step(sysc)
阶跃响应曲线2
分析:运行结果如图所示,Nyquist曲线逆时针不包围点(-1,j0)并且p=2,由Nyquist稳定判据可知,系统闭环不稳定,从阶跃响应曲线2也可验证此结论。
>> den=conv(den1,den2);
rlocus(num,den)
>> rlocus(num,den)
%确定临界稳定K值,即找出根轨迹与虚轴交点
>> k=rlocfind(tf(num,den))
Select a point in the graphics window
selected_point =
通过此次计算机辅助设计,学生应达到以下的基本要求:
1.能用MATLAB软件分析复杂和实际的控制系统。
2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。
3.能灵活应用MATLAB的CONTROL SYSTEM工具箱和SIMULINK仿真软件,分析系统的性能。
二、主要内容
1.前期基础知识,主要包括MATLAB系统要素,MATLAB语言的变量与语句,MATLAB的矩阵和矩阵元素,数值输入与输出格式,MATLAB系统工作空间信息,以及MATLAB的在线帮助功能等。
5、控制系统的校正题目
5.1根轨迹超前校正
例题:已知一单位反馈系统的开环传递函数是
,K=6,设计一校正装置使得相角裕度 。
解:
运行如下程序:
num=[6];
den=[conv([0.05 1],[0.5 1]) 0];
bode(num,den);
grid
得到系统的Bode图:
频率的相对稳定性即稳定裕度也影响系统时域响应的性能,稳定裕度常用相角裕度γ和幅值裕度h来度量。由上图可得: