当前位置:文档之家› 最小拍系统matlab仿真

最小拍系统matlab仿真

最小拍系统matlab仿真
最小拍系统matlab仿真

X x理工大学

课程设计任务书

2010 ~2011 学年第2学期

学生姓名: xxx 专业班级:

指导教师:工作部门:

一、课程设计题目

《控制系统建模、分析、设计和仿真》

本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。

学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。

二、课程设计内容

(一)《控制系统建模、分析、设计和仿真》课题设计内容

最少拍有波纹控制系统

[2号题] 控制系统建模、分析、设计和仿真

设连续被控对象的实测传递函数为:

用零阶保持器离散化,采样周期取0.1秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。

(二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】

1、求被控对象传递函数G(s)的MATLAB 描述。(2分)

2、求被控对象脉冲传递函数G(z)。(4分)

3、转换G(z)为零极点增益模型并按z-1形式排列。(2分)

4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(6分)

5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。(8分)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分)

7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 (3分)

8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分) 9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。

(8分)

8)

+(s 5)+(s 1)+(s s 6)

+(s 2)+(s 668)(2

s G

10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际

闭环系统稳定的要求。(6分)

11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际

闭环系统稳定的要求。(8分)

12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。

(12分)

13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分)

14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分)

15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。

(8分)

16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分)

三、进度安排

6月13至6月14:下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。

6月14至6月16:编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、

仿真结果,撰写课程设计说明书。

6月16至6月17:完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答

辩总结。

四、基本要求

1.学生应按照课程设计任务书的要求独立分析、解决问题,按计划完成课程设计任务;

2.不得抄袭或找人代做,否则按考试作弊处理;

3. 学生在完成课程设计时须提交不少于3000字课程设计说明书;说明书结构为:

(1)封面,(2)任务书,(3)摘要,(4)关键词,(5)目录,(6)正文,(7)参考文

献;

教研室主任签名:

年月日

摘要

本课程设计报告主要阐述了使用Matlab软件建模、分析、设计和仿真最少拍控制系统的过程。先由给定的连续被控对象传递函数G(s),求出被控对象脉冲传递函数G(z);再根据典型输入信号类型和G(z)的零极点、Gc(z)和Ge(z)阶数相同,定出闭环脉冲传递函数Gc(z)和误差脉冲传递函数Ge(z)。然后分别求出满足闭环系统稳定且稳态误差为零的单位加速度输入最少拍有波纹控制器Dy(z)和单位速度输入最少拍无波纹控制器Dw(z)。再使用程序仿真方法和图形仿真方法(Simulink)仿真设计好的控制系统在给定输入信号下的动态性能和稳态特性,验证设计是否满足要求。

关键词:Matlab 、控制系统、最少拍、波纹、仿真

目录

一、课程设计任务书 (1)

二、摘要 (4)

三、关键词 (4)

四、课程设计内容 (6)

1、Matlab简介 (6)

2、最少拍系统设计 (6)

①单位加速度输入有波纹 (6)

②单位速度输入无波纹 (9)

3、设计的步骤和结果 (12)

五、课程设计的体会和遇到的问题 (17)

六、参考文献 (18)

课程设计内容

1、Matlab简介

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

2、最少拍控制系统设计

①单位加速度输入有波纹

M文件代码:

z=[-2,-6];p=[0,0,-1,-5,-8];k=668;

Gs=zpk(z,p,k) %求被控对象传递函数G(s)的MATLAB描述

T=0.1;

Gz=c2d(Gs,T)

Gz=c2d(Gs,T,'zoh') %用零阶保持器离散化,求被控对象脉冲传递函数G(z) [z,p,k]=zpkdata(Gz); %求出G(z)的极点,零点及增益

Gz=zpk(z,p,k,0.1,'variable','z^-1') %转换Gz为零极点增益模型按z-1形式排列syms z a0 a1 a2 b0 b1 %配置参数

Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^ -1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)

Gcz=z^-1*(1+3.252*z^-1)*(a0+a1*z^-1+a2*z^-2);

%设置闭环脉冲传递函数Gc(z),满足Dy(z)可实现、最少拍和稳定的要求

f1=subs(Gcz,z,1)-1; %.列方程求解a0 a1 a2,定Gcz

f2=subs(diff(Gcz,1),z,1);

f3=subs(diff(Gcz,2),z,1);

[a0j,a1j,a2j]=solve(f1,f2,f3) ;

Gcz=subs(Gcz,[a0 a1 a2],[a0j a1j a2j]);

Gez=(1-z^-1)^3*(b0+b1*z^-1); %设置Ge(z)

f4=1-subs(Gez,z,-3.252); %6.方程求解b0,b1定Gez

f5=1-subs(Gez,z,Inf);

[b0j b1j]=solve(f4,f5) ;

Gez=subs(Gez,[b0 b1],[b0j b1j]);

Guz=Gcz/Gz;

Dyz=Gcz/Gz/Gez; %求单位加速度输入最少拍有波纹控制器Dy(z)

[Nc,Dc]=numden(simplify(Gcz)); %化简Gcz并取系数用于程序仿真numc=sym2poly(Nc);

denc=sym2poly(Dc);

[Nu,Du]=numden(simplify(Guz)); %化简Guz并取系数用于程序仿真numu=sym2poly(Nu);

denu=sym2poly(Du);

t=0:0.1:1;

u=t.*t/2; %单位加速度输入

hold on

dlsim(numc,denc,u);

dlsim(numu,denu,u);

hold off

[N,D]=numden(simplify(Dyz)) %提取Dyz的系数,以此在图形仿真中设置Dyz numdy=sym2poly(N)

dendy=sym2poly(D)

有波纹最少拍程序仿真截图:

有波纹最少拍图形仿真截图:

闭环系统输出Y(z)图形仿真结果

控制器输出U(z)图形仿真图

②单位速度输入无波纹:

M文件代码:

z=[-2,-6];p=[0,0,-1,-5,-8];k=668;

Gs=zpk(z,p,k) %求被控对象传递函数G(s)的MATLAB描述

T=0.1

Gz=c2d(Gs,T)

Gz=c2d(Gs,T,'zoh') %用零阶保持器离散化,求被控对象脉冲传递函数Gz [z,p,k]=zpkdata(Gz) ; %求出其极点,零点及增益

Gz=zpk(z,p,k,0.1,'variable','z^-1') %转换Gz为零极点增益模型按z-1形式排列syms z r0 r1 c0 c1 c2 c3 c4 %配置系数

Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^ -1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)

Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r 1*z^-1) %设置Gc(z)满足控制器Dy(z)可实现、最少拍稳定的要求。

f1=subs(Gcz,z,1)-1; %列方程求解Gc

f2=subs(diff(Gcz,1),z,1) ;

[r0j,r1j]=solve(f1,f2);

Gcz=subs(Gcz,[r0 r1],[r0j r1j])

Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4) %设置Ge(z)

f3=limit(Gez,z,inf)-1; %列方程求解Gez

f4=subs(Gez,z,-3.252)-1 ;

f5=subs(Gez,z,0.8187)-1 ;

f6=subs(Gez,z,0.5488)-1;

f7=subs(Gez,z,-0.2281)-1;

[c0j,c1j,c2j,c3j,c4j]=solve(f3,f4,f5,f6,f7)

Gez=subs(Gez,[c0 c1 c2 c3 c4],[c0j c1j c2j c3j c4j])

Guz=Gcz/Gz

Dwz=Gcz/Gz/Gez

[N,D]=numden(simplify(Gcz));

numc=sym2poly(N)

denc=sym2poly(D)

[N,D]=numden(simplify(Guz));

numu=sym2poly(N)

denu=sym2poly(D)

t=0:0.1:10

u=t %单位速度输入

hold on

dlsim(numc,denc,u) % .程序仿真

dlsim(numu,denu,u)

hold off

[N,D]=numden(simplify(Dwz)); %提取Dyz的系数,图形仿真中设置Dwz. numdy=sym2poly(N)

dendy=sym2poly(D)

无波纹最少拍程序仿真图:

无波纹最少拍图形仿真图:

无波纹最少拍闭环系统输出Y(z)图形仿真结果

无波纹最少拍闭环系统数字控制器输出U(z)图形仿真结果

3、设计的步骤和结果

1.求被控对象传递函数G(s)的MATLAB描述。(2分)

程序:z=[-2,-6];p=[0,0,-1,-5,-8];k=668;

Gs=zpk(z,p,k)

结果:Zero/pole/gain:

668 (s+2) (s+6)

-------------------------

s^2 (s+1) (s+5) (s+8)

2.求被控对象脉冲传递函数G(z)。(4分)

程序:T=0.1;

Gz=c2d(Gs,T)

Gz=c2d(Gs,T,'zoh')

结果:Zero/pole/gain:

0.096757 (z+3.252) (z-0.8187) (z-0.5488) (z+0.2281)

----------------------------------------------------------

(z-1)^2 (z-0.9048) (z-0.6065) (z-0.4493)

3.转换G(z)为零极点增益模型并按z-1形式排列。(2分)

程序:[z,p,k]=zpkdata(Gz) ;

Gz=zpk(z,p,k,0.1,'variable','z^-1')

结果:Zero/pole/gain:

0.096757 z^-1 (1+3.252z^-1) (1-0.8187z^-1) (1-0.5488z^-1) (1+0.2281z^-1)

------------------------------------------------------------------------

(1-z^-1)^2 (1-0.9048z^-1) (1-0.6065z^-1) (1-0.4493z^-1)

4.确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(6分)

Ge(z)形式:Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4)

5.确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳定的要求。(8分)

Gc(z)形式:

Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r 1*z^-1)

6.根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分)

程序:

syms z a0 a1 a2 b0 b1

Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.22 81*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1) Gcz=z^-1*(1+3.252*z^-1)*(a0+a1*z^-1+a2*z^-2);

f1=subs(Gcz,z,1)-1; f2=subs(diff(Gcz,1),z,1);

f3=subs(diff(Gcz,2),z,1);

[a0j,a1j,a2j]=solve(f1,f2,f3) ;

Gcz=subs(Gcz,[a0 a1 a2],[a0j a1j a2j]);

Gez=(1-z^-1)^3*(b0+b1*z^-1);

f4=1-subs(Gez,z,-3.252);

f5=1-subs(Gez,z,Inf);

[b0j b1j]=solve(f4,f5) ;

Gez=subs(Gez,[b0 b1],[b0j b1j]);

结果:a0j =1444828500/1201157047

a1j= -1826125500/1201157047

a2 j=663789250/1201157047

Gcz=1/z*(1+813/250/z)*(1444828500/1201157047-1826125500/1201157047/ z+663789250/1201157047/z^2)

b0j=1

b1j=2158642641/1201157047

Gez =(1-1/z)^3*(1+2158642641/1201157047/z)

7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。(3分)

程序:Guz=Gcz/Gz;

Dyz=Gcz/Gz/Gez

结果:

Dyz=72057594037927936/6972076626327793*(1444828500/1201157047-18261255 00/1201157047/z+663789250/1201157047/z^2)/(1-8187/10000/z)/(1-343/625/z)/(1+2 281/10000/z)/(1-1/z)*(1-1131/1250/z)*(1-1213/2000/z)*(1-4493/10000/z)/(1+215864 2641/1201157047/z),可实现。

8.用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分)程序:[Nc,Dc]=numden(simplify(Gcz));

numc=sym2poly(Nc);

denc=sym2poly(Dc);

[Nu,Du]=numden(simplify(Guz));

numu=sym2poly(Nu);

denu=sym2poly(Du);

t=0:0.1:1;

u=t.*t/2;

hold on

dlsim(numc,denc,u);

dlsim(numu,denu,u);

hold off

结果:见有波纹最少拍程序仿真图

9用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。(8分)

显示参数代码:[N,D]=numden(simplify(Dyz))

numdy=sym2poly(N)

dendy=sym2poly(D)

结构图:

结果:见有波纹最少拍图形仿真图

10确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际闭环系统稳定的要求。(6分)

选定Ge(z)形式:Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4)

11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际闭环系统稳定的要求。(8分)

选定Gc的形式:

Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1)*(r0+r 1*z^-1)

12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。(12分)

程序:syms z r0 r1 c0 c1 c2 c3 c4

Gz=0.096757*z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2 281*z^-1)/(1-z^-1)^2/(1-0.9048*z^-1)/(1-0.6065*z^-1)/(1-0.4493*z^-1)

Gcz=z^-1*(1+3.252*z^-1)*(1-0.8187*z^-1)*(1-0.5488*z^-1)*(1+0.2281*z^-1 )*(r0+r1*z^-1)

f1=subs(Gcz,z,1)-1;

f2=subs(diff(Gcz,1),z,1) ;

[r0j,r1j]=solve(f1,f2)

Gcz=subs(Gcz,[r0 r1],[r0j r1j])

Gez=(1-z^-1)^2*(c0+c1*z^-1+c2*z^-2+c3*z^-3+c4*z^-4) ;

f3=limit(Gez,z,inf)-1;

f4=subs(Gez,z,-3.252)-1 ;

f5=subs(Gez,z,0.8187)-1 ;

f6=subs(Gez,z,0.5488)-1;

f7=subs(Gez,z,-0.2281)-1;

[c0j,c1j,c2j,c3j,c4j]=solve(f3,f4,f5,f6,f7)

Gez=subs(Gez,[c0 c1 c2 c3 c4],[c0j c1j c2j c3j c4j])

结果:

r0j= -72518711364792968750000000/11136989886524329238216001

r1j =98590687083535156250000000/11136989886524329238216001

Gcz=1/z*(1+813/250/z)*(1-8187/10000/z)*(1-343/625/z)*(1+2281/10000/z)*(-72518711364792968750000000/11136989886524329238216001+985906870835351 56250000000/11136989886524329238216001/z)

c0j =1

c1j =94792691137841627226432002/11136989886524329238216001

c2j =233060734934885394745898003/11136989886524329238216001

c3j =-63798173230471508273950039/7424659924349552825477334

c4j = -42576893417789587167415/14430825897666769340092

Gez=(1-1/z)^2*(1+94792691137841627226432002/1113698988652432923821 6001/z+233060734934885394745898003/11136989886524329238216001/z^2-63798 173230471508273950039/7424659924349552825477334/z^3-425768934177895871 67415/14430825897666769340092/z^4)

13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分)

程序:Guz=Gcz/Gz

Dwz=Gcz/Gz/Gez

结果:

Dwz=72057594037927936/6972076626327793*(-72518711364792968750000000/11 136989886524329238216001+98590687083535156250000000/11136989886524329 238216001/z)*(1-1131/1250/z)*(1-1213/2000/z)*(1-4493/10000/z)/(1+94792691137 841627226432002/11136989886524329238216001/z+2330607349348853947458980 03/11136989886524329238216001/z^2-63798173230471508273950039/7424659924 349552825477334/z^3-42576893417789587167415/14430825897666769340092/z^4 ),可实现。

14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分)

程序:[N,D]=numden(simplify(Gcz));

numc=sym2poly(N)

denc=sym2poly(D)

[N,D]=numden(simplify(Guz));

numu=sym2poly(N)

denu=sym2poly(D)

t=0:0.1:10

u=t

hold on

dlsim(numc,denc,u)

dlsim(numu,denu,u)

hold off

结果:见无波纹最少拍程序仿真图

15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。(8分)

显示设置参数代码:[N,D]=numden(simplify(Dwz));

numdy=sym2poly(N)

dendy=sym2poly(D)

结构图:

结果:见无波纹最少拍图形仿真图

16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分)

答:最少拍控制系统的系统结构简单,设计完成后容易在计算机上实现。但它对系统的适应性差,只能保证在采样点上的输出可以跟踪输入,有可能在采样点之间呈现波纹,会引起系统的振荡。产生波纹的原因是U(z)不能在有限个采样周期内变为0,即u(KT)不等于零,使系统的输出y(t)产生波动。实现最少拍无波纹的控制,必须要系统在典型信号的作用下,经有限个采样周期后,系统的稳态误差保持恒值或为0,系统的数字控制器D(z)的输出u(KT)也必须保持恒值或为0。

有波纹和无波纹的差别在于有波纹控制器经过一定的采样周期之后,其输入跟踪输出,但其数字控制器输出的曲线会出现小的波动,该波动为波纹,而无波纹数字控制器D(z)的输出曲线经过一定采样周期之后会为一常数,不会产生波纹。

五、课程设计的体会和遇到的问题:

体会:

设计最小拍数字控制系统是之前的《计算机控制系统》中学习过的知识,我基本能够熟练地掌握,但由于我之前从未学习过matlab软件,一开始连matlab 的基本的功能和函数都根本不清楚,要用matlab设计控制系统并进行仿真,对我是一个非常大的挑战。但我相信,只要认真查阅相关书籍学习,虚心向老师和同学请教,一定能很快地学会使用matlab软件的基本功能。我借来一本《MATLAB 仿真技术》,从最基础的了解菜单界面窗口、建立M文件学起,到学习用它解方程,表达控制系统的传递函数,再到使用一些常用的函数命令,比如离散化、建立零极点增益模型等。一步一步地亲身实践尝试,慢慢就掌握了这些基本的软件操作能力。

在这一基础上,我总于可以用matlab软件设计最小拍控制系统。通过利用matlab待定系数,到实现程序仿真,到最后形象的Simulink图形仿真,我意识到matlab软件的强大,它可以大大方便我们自动化专业的学生在控制系统设计中的计算和设计。

课程设计使我基本掌握了一个很有用的软件Matlab,也使我更加意识到学习知识要有信心,从基础打起,一点一点不断累积和实践尝试。多和同学探讨在学习中遇到的错误和经验,也能很好提高学习效率,少犯错误。这是一次很有意义的实践,我会把收获用在以后的学习中,不断努力学习新的知识!

遇到的问题及解决方法:

1、系统传递函数的表达式不知道用什么命令表达。

解决方法:翻阅资料,掌握了常用的几种表达方法。

2、在待定Gcz和Gez的参数时,列出的方程有错误而导致无解。

解决方法:利用matlab的错误提示功能,能方便地找到错误并改正。

3、程序仿真时,图像曲线只看到整体曲线,局部微小区间部分不够清晰、具体。

解决方法:改变设定中终点步,可改变整体的曲线分辨率。如将t=0:0.1:10改为t=0:0.1:1,输入u=t,则局部部分非常具体清晰。

4、在图形仿真时,D(Y)或D(W)的参数不知道如何设定。

解决方法:翻阅资料,用 simplify()化简,用numden()函数和sym2poly()函数提取系数,可方便地设定D(Y)或D(W)的参数.。

5、图形仿真时,响应曲线出现震荡。

解决方法:经过细心检查,发现是太粗心设置了错误的传递函数参数导致,重新修正后系统响应曲线满足要求。

六、参考文献

控制系统MATLAB仿真基础

系统仿真 § 4.1控制系统的数学模型 1、传递函数模型(tranfer function) 2、零极点增益模型(zero-pole-gain) 3、状态空间模型(state-space) 4、动态结构图(Simulink结构图) 一、传递函数模型(transfer fcn-----tf) 1、传递函数模型的形式 传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。 C(S) b1S m+b2S m-1+…+b m G(S)=----------- =- -------------------------------- R(S) a1S n + a2S n-1 +…+ a n num(S) = ------------ den(S) 2、在MATLAB命令中的输入形式 在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m]; den = [a1, a2, ..., a n]; 注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。 2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。 3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。 4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。 3、函数命令tf( ) 在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。 tf( )函数命令的调用格式为: 圆括号中的逗号不能用空格来代替 sys = tf ( num, den ) [G= tf ( num, den )]

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

信号与系统的MATLAB仿真

信号与系统的MATLAB 仿真 一、信号生成与运算的实现 1.1 实现)3(sin )()(π±== =t t t t S t f a )(sin )sin()sin(sin )()(t c t t t t t t t S t f a '=' '== ==πππ π ππ m11.m t=-3*pi:0.01*pi:3*pi; % 定义时间范围向量t f=sinc(t/pi); % 计算Sa(t)函数 plot(t,f); % 绘制Sa(t)的波形 运行结果: 1.2 实现)10() sin()(sin )(±== =t t t t c t f ππ m12.m t=-10:0.01:10; % 定义时间范围向量t f=sinc(t); % 计算sinc(t)函数 plot(t,f); % 绘制sinc(t)的波形 运行结果: 1.3 信号相加:t t t f ππ20cos 18cos )(+= m13.m syms t; % 定义符号变量t f=cos(18*pi*t)+cos(20*pi*t); % 计算符号函数f(t)=cos(18*pi*t)+cos(20*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果:

1.4 信号的调制:t t t f ππ50cos )4sin 22()(+= m14.m syms t; % 定义符号变量t f=(2+2*sin(4*pi*t))*cos(50*pi*t) % 计算符号函数f(t)=(2+2*sin(4*pi*t))*cos(50*pi*t) ezplot(f,[0 pi]); % 绘制f(t)的波形 运行结果: 1.5 信号相乘:)20cos()(sin )(t t c t f π?= m15.m t=-5:0.01:5; % 定义时间范围向量 f=sinc(t).*cos(20*pi*t); % 计算函数f(t)=sinc(t)*cos(20*pi*t) plot(t,f); % 绘制f(t)的波形 title('sinc(t)*cos(20*pi*t)'); % 加注波形标题 运行结果:

控制系统的MATLAB仿真与设计课后答案

控制系统的MATLAB仿真与设计课后答案

>>z=-4*sqrt(2)*sin(t); >>plot3(x,y,z,'p'); >>title('Line in 3-D Space'); >>text(0,0,0,'origin'); >>xlabel('X'),ylable('Y'),zlable('Z');grid; 4>>theta=0:0.01:2*pi; >>rho=sin(2*theta).*cos(2*theta); >>polar(theta,rho,'k'); 5>>[x,y,z]=sphere(20); >>z1=z; >>z1(:,1:4)=NaN; >>c1=ones(size(z1)); >>surf(3*x,3*y,3*z1,c1); >>hold on >>z2=z; >>c2=2*ones(size(z2)); >>c2(:,1:4)=3*ones(size(c2(:,1:4))); >>surf(1.5*x,1.5*y,1.5*z2,c2); >>colormap([0,1,0;0.5,0,0;1,0,0]); >>grid on >>hold off 第四章 1>>for m=100:999 m1=fix(m/100); m2=rem(fix(m/10),10); m3=rem(m,10); if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2M文件:function[s,p]=fcircle(r) s=pi*r*r; p=2*pi*r; 主程序: [s,p]=fcircle(10) 3>>y=0;n=100; for i=1:n y=y+1/i/i; end >>y

matlab控制系统仿真.

课程设计报告 题目PID控制器应用 课程名称控制系统仿真院部名称龙蟠学院 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 C208 课程设计学时一周 指导教师应明峰 金陵科技学院教务处制成绩

一、课程设计应达到的目的 应用所学的自动控制基本知识与工程设计方法,结合生产实际,确定系统的性能指标与实现方案,进行控制系统的初步设计。 应用计算机仿真技术,通过在MATLAB软件上建立控制系统的数学模型,对控制系统进行性能仿真研究,掌握系统参数对系统性能的影响。 二、课程设计题目及要求 1.单回路控制系统的设计及仿真。 2.串级控制系统的设计及仿真。 3.反馈前馈控制系统的设计及仿真。 4.采用Smith 补偿器克服纯滞后的控制系统的设计及仿真。 三、课程设计的内容与步骤 (1).单回路控制系统的设计及仿真。 (a)已知被控对象传函W(s) = 1 / (s2 +20s + 1)。 (b)画出单回路控制系统的方框图。 (c)用MatLab的Simulink画出该系统。

(d)选PID调节器的参数使系统的控制性能较好,并画出相应的单位阶约响应曲线。注明所用PID调节器公式。PID调节器公式Wc(s)=50(5s+1)/(3s+1) 给定值为单位阶跃响应幅值为3。 有积分作用单回路控制系统PID控制器取参数分别为:50 2 5 有积分作用单回路控制系统PID控制器取参数分别为:50 0 5

大比例作用单回路控制系统PID控制器取参数分别为:50 0 0 (e)修改调节器的参数,观察系统的稳定性或单位阶约响应曲线,理解控制器参数对系统的稳定性及控制性能的影响? 答:由上图分别可以看出无积分作用和大比例积分作用下的系数响应曲线,这两个PID调节的响应曲线均不如前面的理想。增大比例系数将加快系统的响应,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏;

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

自动控制原理MATLAB仿真实验报告

实验一 MATLAB 及仿真实验(控制系统的时域分析) 一、实验目的 学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性; 二、预习要点 1、 系统的典型响应有哪些 2、 如何判断系统稳定性 3、 系统的动态性能指标有哪些 三、实验方法 (一) 四种典型响应 1、 阶跃响应: 阶跃响应常用格式: 1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。 2、),(Tn sys step ;表示时间范围0---Tn 。 3、),(T sys step ;表示时间范围向量T 指定。 4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。 2、 脉冲响应: 脉冲函数在数学上的精确定义:0 ,0)(1)(0 ?==?∞ t x f dx x f 其拉氏变换为: ) ()()()(1 )(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。 脉冲响应函数常用格式: ① )(sys impulse ; ② ); ,(); ,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y = (二) 分析系统稳定性 有以下三种方法: 1、 利用pzmap 绘制连续系统的零极点图; 2、 利用tf2zp 求出系统零极点; 3、 利用roots 求分母多项式的根来确定系统的极点 (三) 系统的动态特性分析 Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

一阶、二阶系统时域和频域仿真

西安交通大学 基于MATLAB/Simulink 的一阶、二阶系统的时域和频 域仿真 ——以单位阶跃信号为输入信号 日期:2013年4月 一阶系统时域和频域仿真 1、建立一阶系统典型数学模型 ()1 1 G s Ts =+ 2、建立simulink 仿真方框图

1T.s+1 Transfer Fcn Step Scope ① 时间常数T=1时,一阶系统时域响应为 12345678 910 00.5 1 一阶系统时域相应(T=1) Matlab 程序: %一阶系统仿真编程 num=[1]; den=[1 1]; bode(num,den); grid on ; gtext('低频段频率-20dB/dec'); 运行程序,有时间常数T=1时,一阶系统的频域响应为

10 -210 -1 10 10 1 10 2 -90-45 一阶系统频域响应 P h a s e (d e g ) Bode Di a gram Frequency (rad/s) -40-30-20-100 低频段斜率-20dB/dec System: sys Frequency (rad/s): 1.01Magni t ude (dB): -3.07 M a g n i t u d e (d B ) ② 时间常数T=3时,一阶系统单位阶跃时域响应 12345678910 00.5 1 一阶系统单位阶跃响应(T=3) Matlab 程序: %一阶系统仿真编程 num=[1]; den=[3 1]; bode(num,den);

grid on ; gtext('低频段频率-20dB/dec'); 运行程序,有时间常数T=3时,一阶系统的频域响应为 10 -210 -1 10 10 1 -90-45 P h a s e (d e g ) Bode Di a gram Frequency (rad/s) -30-20-100 低频段频率-20dB/dec System: sys Frequency (rad/s): 0.334Magni t ude (dB): -3.03 M a g n i t u d e (d B ) 3、分析以上一阶系统在不同时间常数下的单位阶跃响应,可以看出时间常数越小,系统响应越快;而且一阶系统的转角频率为1/T ,在转角频率以上时,幅频特性曲线以-20dB/dec 下降,而相频特性以0°和90°为渐近线。

《控制系统MATLAB仿真》实验讲义88

《自动控制原理实验》 目录 第一部分实验箱的使用 第二部分经典控制实验 第一章基本实验 实验一典型环节及其阶跃响应 实验二二阶系统阶跃响应 实验三控制系统的稳定性分析 实验四控制系统的频率特性 实验五连续控制系统的串联校正 实验六数字PID控制实验 第二章综合实验 第三部现代控制理论实验 第一章基本实验 第二章综合实验

实验一 典型环节及其阶跃响应 预习要求: 1、复习运算放大器的工作原理;了解采用A μ741运算放大器构成各种运算电路的方法; 2、了解比例控制、微分控制、积分控制的物理意义。 一、实验目的 1、学习自动控制系统典型环节的电模拟方法,了解电路参数对环节特性的影响。 2、学习典型环节阶跃响应的测量方法; 3、学会根据阶跃响应曲线计算确定典型环节的传递函数。 二、实验内容 1、比例环节 电路模拟: 图1-1 传递函数: 2211 ()()()U s R G s U s R ==- 2、惯性环节 电路模拟: 图1-2 传递函数: 22112()/()()11 U s R R K G s U s Ts R Cs = =-=- ++ 3、积分环节 电路模拟: A/D1 D/A1 A/D1

图1-3 传递函数: 21()11 ()()U s G s U s Ts RCs = =-=- 4、微分环节 电路模拟: 图1-4 传递函数: 211() ()() U s G s s RC s U s τ= =-=- 5、比例微分 电路模拟: 图1-5 传递函数: 222111 ()()(1)(1)()U s R G s K s R C s U s R τ= =-+=-+ 6、比例积分 电路模拟: 图1-6 A/D1 2 R D/A1 A/D1 A/D1 A/D1 C

自控-二阶系统Matlab仿真

自动控制原理 二阶系统性能分析Matlab 仿真大作业附题目+ 完整报告内容

设二阶控制系统如图1所示,其中开环传递函数 ) 1(10 )2()(2+=+=s s s s s G n n ξωω 图1 图2 图3 要求: 1、分别用如图2和图3所示的测速反馈控制和比例微分控制两种方式改善系统的性能,如果要求改善后系统的阻尼比ξ =0.707,则和 分别取多少? 解: 由)1(10 )2()(2 += +=s s s s s G n n ξωω得10 21,10,102===ξωωn t K d T

对于测速反馈控制,其开环传递函数为:) 2()s (2 2n t n n K s s G ωξωω++=; 闭环传递函数为:2 2 2)2 (2)(n n n t n s K s s ωωωξωφ+++= ; 所以当n t K ωξ2 1+=0.707时,347.02)707.0(t =÷?-=n K ωξ; 对于比例微分控制,其开环传递函数为:)2()1()(2 n n d s s s T s G ξωω++=; 闭环传递函数为:) )2 1(2)1()(2 22 n n n d n d s T s s T s ωωωξωφ++++=; 所以当n d T ωξ2 1 +=0.707时,347.02)707.0(=÷?-=n d T ωξ; 2、请用MATLAB 分别画出第1小题中的3个系统对单位阶跃输入的响应图; 解: ①图一的闭环传递函数为: 2 22 2)(n n n s s s ωξωωφ++=,10 21 ,10n ==ξω Matlab 代码如下: clc clear wn=sqrt(10); zeta=1/(2*sqrt(10)); t=0:0.1:12; Gs=tf(wn^2,[1,2*zeta*wn,wn^2]); step(Gs,t)

实验三二阶系统matlab仿真(dg)

利用simulink进行仿真的步骤 1.双击桌面图标打开Matlab软件; 2.在Command Window命令行>>后输入simulink并回车或点击窗口上 部图标直接进入simulink界面; 3.在simulink界面点击File-New-Model就可以在Model上建立系统 的仿真模型了; 4.在左面的器件模型库中找到所需模型,用鼠标将器件模型拖到建立 的Model上,然后用鼠标将它们用连线连起来,系统的仿真模型就建立起来了; 5.点击界面上部的图标‘’进行仿真,双击示波器就可以看到仿真结 果。 实验要用到的元件模型的图标及解释如下: 阶跃信号:在simulink-source中可以找到,双击可以设定阶跃时间。 sum:在simulink-math operations中可以找到,双击可以改变器属性以实现信号相加还是相减; 比例环节:在simulink-math operations中可以找到,双击可以改变器属 性以改变比例系数; 积分环节:在simulink-continues中可以找到; 传函的一般数学模型表达形式:在simulink-continues中可以找到,双击可以对传递函数进行更改(通过设定系数)。 示波器:在simulink-sinks中可以找到。

传递函数的Matlab 定义 传递函数以多项式和的形式(一般形式、标准形式)给出 10111011()m m m m n n n n b s b s b s b G s a s a s a s a ----+++=+++ 用如下语句可以定义传递函数G(s) >> num=[b 0,b 1,b 2…b m ] ;只写各项的系数 >> den=[a 0,a 1,a 2,…a n ] ;只写各项的系数 >> g=tf(num,den) 或 >>g=tf([b0,b1,b2…bm],[a0,a1,a2,…an]) 例:用Matlab 定义二阶系统 2 223()(0.6,3)2*0.6*33n G s s s ζω===++ 并用Matlab 语句绘制此二阶系统在单位阶跃信号输入下的输出曲线c(t)(即单位阶跃响应)。 (1)定义函数: >> num=3^2 >> den=[1,2*0.6*3, 3^2] >> g=tf(num,den) (2)求系统的单位阶跃响应c(t): >> step(g) 可得到系统的单位阶跃响应 上述语句实现的功能也可以以一条语句实现: Time (sec)A m p l i t u d e

MATLAB控制系统仿真作业1

一、 控制系统的模型与转换 1. 请将下面的传递函数模型输入到matlab 环境。 ]52)1)[(2(24)(322 33++++++=s s s s s s s G ) 99.02.0)(1(568 .0)(22+--+=z z z z z H ,T=0.1s >> s=tf('s'); G=(s^3+4*s+2)/(s^3*(s^2+2)*((s^2+1)^3+2*s+5)); G Transfer function: s^3 + 4 s + 2 ------------------------------------------------------ s^11 + 5 s^9 + 9 s^7 + 2 s^6 + 12 s^5 + 4 s^4 + 12 s^3 >> num=[1 0 0.56]; den=conv([1 -1],[1 -0.2 0.99]); H=tf(num,den,'Ts',0.1) Transfer function: z^2 + 0.56 ----------------------------- z^3 - 1.2 z^2 + 1.19 z - 0.99 2. 请将下面的零极点模型输入到matlab 环境。请求出上述模型的零极点,并绘制其位置。 )1)(6)(5()1)(1(8)(22 +++-+++=s s s s j s j s s G ) 2.8() 6.2)(2.3()(1 511-++=----z z z z z H ,T=0.05s >>z=[-1-j -1+j]; p=[0 0 -5 -6 -j j]; G=zpk(z,p,8) Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1) >>pzmap(G)

一阶系统的PID算法控制的仿真设计 东华大学信息学院软件分散pid Matlab可视化GUI设计

关于一阶系统的PID 算法控制的仿真设计 一、设计内容 对一阶系统实现PID 算法控制并进行仿真,具体功能如下:基本要求:实现PID 算法和一阶系统差分方程仿真,PID 算法中的四个参数和一阶系统的参数都可以通过菜单进行设定,系统对阶越函数的响应以图形方式实时显示在窗口中。 二、涉及算法的基本原理 在模拟系统中,PID 算法的表达式为: ])()(1)([)(?++ =dt t de T dt t e T t e K t P D I P (1) 式中 P(t):调节器的输出信号 e(t):调节器的偏差信号,等于测量值与给定值之差 P K :调节器的比例系数 I T :调节器的积分时间 D T :调节器的微分时间 欲控制系统的微分方程为: )()()(1 t x t y t y dt d T =+ (2) x(t)为系统输入,y(t)为系统输出。对于闭环的单位负反馈,我们有PID 控制器的输入是测试信号r(t)与系统输出y(t)之差,因此有: T 1dy(t)dt +y (t )=K P [(r (t )?y (t ))+1T I ∫(r (τ)?y(τ))dτt 0+T D d(r (t )?y (t ))dt ] (3) 又因为r(t)为阶跃函数,故有: d 2y (t )dt 2+1+K P T 1+K P T D dy (t )dt +K P T I (T 1+K P T D ) y (t )=K P T 1+K P T D [δ(t )+T D dδ(t )dt ]+r(t)T I (T 1+K P T D ) (4) 令: 2ab =?1+K P T 1+K P T D ,b =√K P T I (T 1 +K P T D ) ,c =K P T 1 +K P T D ,d =K P T D T 1 +K P T D e =1 T I (T 1 +K P T D ) (5) 则有: d 2y (t )dt 2?2ab dy (t )dt +b 2y (t )= cδ(t )+d dδ(t )dt +er(t) (6)

基于MATLAB的自动控制系统仿真

摘要 自动控制原理理论性强,现实模型在实验室较难建立,因此利用SIMULINK进行仿真实验,可以加深我们学生对课程的理解,调动我们学习的积极性,同时大大提高了我们深入思考问题的能力和创新能力。本文针对自动控制系统的设计很大程度上还依赖于实际系统的反复实验、调整的普遍现象,结合具体的设计实例,介绍了利用较先进的MATLAB软件中的SIMULINK仿真工具来实现对自动控制系统建模、分析与设计、仿真的方法。它能够直观、快速地分析系统的动态性能、和稳态性能。并且能够灵活的改变系统的结构和参数,通过快速、直观的仿真达到系统的优化设计。关键词:MATLAB;自动控制;系统仿真

Abstract Strong theory of automatic control theory, the reality is more difficult to establish in the laboratory model, thus using the SIMULINK simulation experiment, students can deepen our understanding of the course, to mobilize the enthusiasm of our study, while greatly increasing our ability to think deeply and Innovationcapacity.In this paper, the design of automatic control system is still largely dependent on the actual system of repeated experiments, adjustment of the universal phenomenon, with specific design example, introduced the use of more advanced software in the MATLAB SIMULINK simulation tools to achieve the automatic control systemModeling, Analysis and design, simulation methods.It can intuitively and quickly analyze the dynamic performance, and steady-state performance. Keywords:MATLAB; Automatic control; System simulation

系统仿真的MATLAB实现.

第七章系统仿真的MATLAB实现 由于计算机技术的高速发展,我们可以借助计算机完成系统的数字仿真。综前所述,数字仿真实质上是根据被研究的真实系统的模型,利用计算机进行实验研究的一种方法。仿真的主要过程是:建立模型、仿真运行和分析研究仿真结果。仿真运行就是借助一定的算法,获得系统的有关信息。 MATLAB是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。MATLAB是一个高度集成的系统,MATLAB提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。在过去几年里,Simulink已经成为数学和工业应用中对动态系统进行建模时使用得最为广泛的软件包。 MATLAB仿真有两种途径:(1)MATLAB可以在SIMULINK窗口上进行面向系统结构方框图的系统仿真;(2)用户可以在MATLAB的COMMAND窗口下,用运行m文件,调用指令和各种用于系统仿真的函数,进行系统仿真。这两种方式可解决任意复杂系统的动态仿真问题,前者编辑灵活,而后者直观性强,实现可视化编辑。 下面介绍在MATLAB上实现几类基本仿真。 7.1 计算机仿真的步骤 在学习计算机仿真以前,让我们先总结一下计算机仿真的步骤。 计算机仿真,概括地说是一个“建模—实验—分析”的过程,即仿真不单纯是对模型的实验,还包括从建模到实验再到分析的全过程。因此进行一次完整的计算机仿真应包括以下步骤:

(1)列举并列项目 每一项研究都应从说明问题开始,问题由决策者提供或由熟悉问题的分析者提供。 (2)设置目标及完整的项目计划 目标表示仿真要回答的问题、系统方案的说明。项目计划包括人数、研究费用以及每一阶段工作所需时间。 (3)建立模型和收集数据 模型和实际系统没有必要一一对应,模型只需描述实际系统的本质或者描述系统中所研究部分的本质。因此,最好从简单的模型开始,然后进一步建立更复杂的模型。 (4)编制程序和验证 利用数学公式、逻辑公式和算法等来表示实际系统的内部状态和输入/输出的关系。建模者必须决定是采用通用语言如MATLAB、FORTRAN、C还是专用仿真语言来编制程序。在本教材中,我们选择的是MATLAB和其动态仿真工具Simulink。 (5)确认 确认指确定模型是否精确地代表实际系统。它不是一次完成,而是比较模型和实际系统特性的差异,不断对模型进行校正的迭代过程。 (6)实验设计 确定仿真的方案、初始化周期的长度、仿真运行的长度以及每次运行的重复次数。 (7)生产性运行和分析 通常用于估计被仿真系统设计的性能量度。利用理论定性分析、经验定性分析或系统历史数据定量分析来检验模型的正确性,利用灵敏度分析等手段来检验模型的稳定性。 (8)文件清单和报表结果 (9)实现

matlab 控制系统仿真

摘要 MATLAB语言是一种十分有效的工具,能容易地解决在系统仿真及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问题上。MATLAB GUI 是MATLAB的人机交互界面。由于GUI本身提供了windows基本控件的支持,并且具有良好的事件驱动机制,同时提供了MATLAB数学库的接口,所以GUI 对于控制系统仿真的平台设计显得十分合适。GUI对于每个用户窗口生成.fig和.m 文件。前者负责界面的设计信息,后者负责后台代码的设计。 本文所做的研究主要是基于MATLAB GUI平台,结合控制系统基础理论和MATLAB控制系统工具箱,实现了用于控制系统计算机辅助分析与设计的软件。本软件主要功能:实现传递函数模型输入、状态方程模型输入、模型装换、控制系统稳定性分析、系统可观性可控性判断,绘制系统奈奎斯特图、波特图、根轨迹图以及零极点分布图。在继续完善的基础上能够用于本科自动控制原理教程的教学实验和一般的科学研究。 关键词:控制系统;MATLAB GUI;计算机辅助设计

Abstract MATLAB language is a very effective tool,and can be easily resolved in the system simulation and control system of teaching in the field of computer-aided design and research problems,it could be the bottom of the user from tedious programming liberate the limited spend more valuable time to solve scientific problems.The MATLAB GUI is the interactive interface.As the GUI itself provides the basic control windows support,and has a good mechanism for event-driven,while providing the MATLAB Math Library interface,the GUI for control system simulation platform for the design of it is suitable. GUI window generated for each user. Fig and.M file. The former is responsible for the design of the interface information,which is responsible for the design of the background code. Research done in this article is mainly based on MATLAB GUI platform,the basis of combination of control system theory and MATLAB Control System Toolbox,the realization of control systems for computer-aided analysis and design software. The main functions of the software: the realization of transfer function model input,the state equation model input,the model fitted for the control system stability analysis,system observability controllability judgments、rendering the system Nyquist diagram、Bode plots、root locus and Pole-zero distribution. While continuing to improve based on the principle of automatic control can be used for undergraduate teaching course experiments and scientific research in general. Key words:Control System;MATLAB GUI; Computer-assistant design

matlAB,SIMULINK联合仿真经典例子

数控螺旋面钻头尖刃磨机的机构仿真 一、原理 图1二并联杆数控螺旋面钻头尖刃磨机床示意图 图2 二并联杆数控螺旋面钻头尖刃磨机床刃磨原理图 重要假设条件: 1、二并联杆数控螺旋面钻头尖刃磨机床是通过两组并联杆(2,a和3,b)保证动平台4 只在空间中做水平运动,而没有翻转运动。每一组并联杆是由空间相互平行的4根杆件组成,由于组内各杆件受力相同,所以将其简化成平面机构如图2。构件a,b是保证动平台4只做水平运动的辅助平行杆,所以可以假设将机构中杆件a,b省略,而动平台4只做水平移动,没有翻转运动,也就是4相对于地面的夹角θ4恒等于0。 2、直线电机的次子有两个(1和5)但是在加工过程中并不是两者同时运动,所以假设5 与导轨固联。 3、假设机床在工作过程中动平台4只受到树直向上的恒力作用,且作用在其中心位置。基于以上假设机床平面结构示意图如图3。

图3二并联杆数控螺旋面钻头尖刃磨机床简化机构平面结构示意图 二、建立仿真方程 C2=cos(θ2) S2=sin(θ2) C3=cos(θ3) S3=sin(θ3) 一)力方程(分别对各个杆件进行受力分析) 对动平台4:受力分析如图4 图4动平台4的受力分析 对并联杆2:受力分析如图5 图5并联杆2的受力分析 对直线电机滑块1:受力分析如图6 图6直线电机滑块1的受力分析

对并联杆3:受力分析如图7 图7并联杆3的受力分析 二)闭环矢量运动方程(矢量图如图8) 图8 闭环矢量图 矢量方程为:R1+R2=R3+R4 将上述矢量方程分解为x 和y 方向,并分别对方程两边对时间t 求两次导数得: r1_dot_dot+r2*α2*S2+r2*w2^2*C2=r3*α3*S3+r3*w3^2*C3 (12) r2*α2*C2-r2*w2^2*S2=r3*α3*C3-r3*w3^2*S3 (13) 三)质心加速度的矢量方程

相关主题
文本预览
相关文档 最新文档