计算机控制系统上机报告Word文档格式.doc
《计算机控制系统上机报告Word文档格式.doc》由会员分享,可在线阅读,更多相关《计算机控制系统上机报告Word文档格式.doc(10页珍藏版)》请在冰豆网上搜索。
![计算机控制系统上机报告Word文档格式.doc](https://file1.bdocx.com/fileroot1/2022-10/9/a0b3a55f-606d-481f-9e02-0ea7b384f45b/a0b3a55f-606d-481f-9e02-0ea7b384f45b1.gif)
依串行法写状态方程:
控制器离散化:
状态方程为
闭环系统方程:
10]
(2)由写出连续状态方程如下:
=
最后求得的状态方程为:
实验程序源代码:
%%
N=20;
r=ones(N,1);
%%selectedstatevariables1
state1=zeros(3,N);
x1=zeros(3,1);
%initialvalueofstatevariable
y1=zeros(N,1);
F1=[1-1.251.25;
0.4-0.251.25;
0-0.3-0.2];
G1=[1.251.250.3]'
;
C1=[010];
fori=1:
N
y1(i)=C1*x1;
state1(:
i)=x1;
x1=F1*x1+G1*r(i);
end
%%selectedstatevariables2
state2=zeros(3,N);
x2=zeros(3,1);
y2=zeros(N,1);
F2=[0.750.050.005;
-500.1;
-15-3-0.2];
G2=[0.0050.10.3]'
C2=[50100];
y2(i)=C2*x2;
state2(:
i)=x2;
x2=F2*x2+G2*r(i);
figure
(1);
plot([1:
N],y1,'
ko-'
);
xlabel('
iterationindexk'
ylabel('
ouputy(k)'
figure
(2);
N],state1,'
-o'
legend('
x_1(k)'
'
x_2(k)'
x_3(k)'
statevariablesx(k)'
figure(3);
N],y2,'
k*-'
figure(4);
N],state2,'
-*'
仿真结果:
用第一种方法绘制闭环系统在单位阶跃信号输入的情况下的响应曲线,以及状态变化曲线。
用第二种方法绘制闭环系统在单位阶跃信号输入的情况下的响应曲线,以及状态变化曲线。
结论:
由仿真得出对于同一个系统,由于状态变量的选择不同,可以得到不同的状态方程和输出方程,但最后的输出响应相同。
所以状态变量的选取不影响系统的输出响应。
上机作业2
5.24
实验题目:
太阳光源跟踪系统利用伺服系统控制太阳电池帆板的移动,使其跟踪并始终垂直于太阳光线,最大程度地接收太阳能。
太阳光源跟踪系统由感光器与检测线路和电机功率放大器(简化为增益放大环节),太阳帆板(电机负载),电机位置传感器和直流力矩电机组成。
太阳光源跟踪系统如下图(a)所示,计算机控制系统方框图如图(b)所示,其中。
设计数字控制器,满足如下指标要求:
(1)超调量,上升时间,调节时间。
(2)稳态速度误差系数,采样周期。
(a)
(b)
1)画出期望极点的允许范围;
2)给出设计的具体推导过程,给出设计出的控制器脉冲传递函数D(z)(提示:
注意系统稳定性);
绘出设计好的闭环系统阶跃响应曲线和误差曲线(建议使用simulink)。
程序代码:
clc;
clear;
closeall;
%绘制根轨迹
%num=[2*615.91];
%den=[129.68690];
%[n,d]=c2dm(num,den,0.1,'
zoh'
%[z,p,k]=tf2zp(n,d)
%rlocus(n,d);
Gs=tf([2*615.91],[1,29.6869,0]);
Gz=c2d(Gs,0.1,'
)
num=[2.823,1.113];
den=[1,-1.051,0.05137];
[z,p,k]=tf2zp(num,den)
DGZ=Gz;
rlocus(DGZ)
%设置参数
pi=3.14159;
Deta=0.15;
tr=0.55;
ts=1;
T=0.1;
Fi=sqrt(log(Deta)^2/(pi*pi+log(Deta)^2));
Im=(pi-acos(Fi))/tr;
Re=3.5/ts;
R=exp(-T*Re);
Sita=T*Im/2/pi*360;
%绘制期望极点范围
w=0:
0.01:
pi*2;
x=R*cos(Fi*w);
y=R*sin(Fi*w);
x1=cos(Sita*pi/180);
y1=sin(Sita*pi/180);
zgrid(Fi,0),holdon
plot(x,y);
plot([0,x1],[0,y1]);
plot([0,0],[0,1],'
:
'
plot([-1,1],[0,0],'
%gtext('
R=0.7047'
Sita=3.8438rad'
实验步骤:
(1)由设计指标可得闭环系统阻尼比ζ>0.517,Z域同心圆半径r≤0.5,z域射线θ≥TIm(s)=22。
.理想极点位置如下图所示:
(2)设计数字控制器D(z)
由
可求得脉冲传递函数
进行离散控制器设计时,为了简化,可先取控制器为纯比例环节,即D(z)=k.为了确定使系统满足要求的k,绘制系统根轨迹:
由图课可见,根轨迹没有进入期望极点范围。
不管K取多大,均不能满足系统要求,因此,需加入具有动态特性的控制器。
设
系统开环脉冲传递函数为
因为Kv﹥5,,所以
=
得到k﹥0.127时满足性能指标。
取k=0.153,根轨迹如下图:
所以,控制器脉冲传递函数为
(3)Simulink仿真设计如下:
闭环系统阶跃响应和误差曲线如下图:
学习心得:
通过对计算机控制的上机仿真,使我更加的熟练地应用了matlab相关的程序。
让我明白了计算机控制如何通过matlab实现仿真。
索然在学习的过程中遇到很多问题,但是通过老师细心地讲解让我彻底地清楚了我并未理解透的知识点。
我想我的收获一方面是老师和同学们的帮助,另一方面就是我自己认真刻苦的态度。
我知道,我还有很多需要学习,希望我能在以后的学习生活中能再深究和门课程。