实验报告
名称:电子应用设计实践
学院:信息学院
班级:电信114
小组成员:吴凡 1110230106
陈慧敏 1110230105
刘睿策 1110230108
实践地点:C1--416
实践时间:19--20周
LED矩阵控制
一丶 实验仪器
PNP三极管 3个
74LS00 2个
74LS161 2个
74LS138 2个
NE555 1个
电阻丶电容 各两个
LED灯 24个
导线 若干
二丶实验内容
利用上述实验器材设计一个LED矩阵控制电路,要求LED分为三层,每组为2×4LED矩阵,每次一组8个LED灯亮一圈,依次循环,其中555振荡器输入时钟脉冲,两个74LS138分别控制8个LED灯和三组的电源,74LS161为计数器。
三丶功能
74LS161在电路中的功能
1 .
首先由555定时器产生脉冲信号,接入74LS161的CLK,使得Q0--Q3产生0000--0111的八进制信号,当进位Q3时,接入非门使得其清零,重新循环开始。
2.
同样,先输入脉冲信号,使得Q0--Q3产生0000--0010的三进制信号,当Q1为1的时候,接与非门,使其返回预置设置,重新从0000开始计数,该161控制着三层LED的轮转,顺次循环。
74LS138在电路中的功能
1.
由161产生的八进制信号,进入138的数据分配器,控制Y0--Y7的高低电平,每一个输出控制一个灯,输出为低电平有效,由161的八进制信号进行译码后,使得一组灯交替变换。
2.
由161产生的三进制信号,进入138的数据分配器,控制Y0--Y2的电平,每一个输出控制一个三级管,输出为低电平有效。
四丶设计电路图
五丶电路实物图
六丶 实验结果
实现了LED矩阵控制,24个LED灯一次闪烁,循环不断。
七丶 实验中遇到的问题
1. 实验中已经装好的LED灯,测试的时候出现3个灯不亮,检查原因为LED灯已经烧坏掉,又重新换了LED灯。
2.装好芯片后测试,结果发现只有一层LED灯循环,查找了许久,又换上新的芯片,最后实验成功,大家都非常开心。
八丶实验总结
这次实验总体感觉还是挺好的,一方面让大家熟悉了preteus软件在电子开发和设计中的重要性,另一方面,经过小组的各种努力,成功完成了设计,这也是大家所学习只是得到的成果。还有,不管是在模拟实验中,还是在现实的实物焊接中,我们都会遇到各种的问题等待小组的成员去解决,所以,团队合作以及分工明确都是实验成功的必要。
第二篇:动态矩阵控制算法实验报告
动态矩阵控制算法实验报告
院系:电子信息学院
姓名:黄山
学号:132030051
专业:控制理论与控制工程
MATLAB环境下动态矩阵控制实验
一、实验目的:
通过对动态矩阵控制的MATLAB仿真,发现其对直接处理带有纯滞后、大惯性的对象,有良好的跟踪性和有较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来取得良好的控制效果。
二、实验原理:
动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于对象阶跃响应的预测控制算法,它以对象的阶跃响应离散系数为模型,避免了通常的传递函数或状态空间方程模型参数的辨识,又因为采用多步预估技术,能有效解决时延过程问题,并按预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统的动态特性中具有纯滞后或非最小相位特性都不影响改算法的直接应用,因此是一种最优控制技术。
三、实验环境:
计算机,matlab2010a
四、实验步骤:
动态矩阵控制算法充分利用了反映被控对象动态行为的有用信息,对被控对象时滞和阶次变化的鲁棒性都有所提高,从而得到好的控制性能。但是由于动态矩阵预测控制采用模型预测的方式,其参数的选择对性能有重要的影响。合理的选择控制参数非常重要,它直接影响着系统整体的控制效果。对DMC来说,影响其性能的主要参数有以下几个。
1)采样周期T与模型长度N
在DMC中采样周期T和模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求。为使模型参数尽可能完整的包含被控对象的动态特征,通常要求NT后的阶跃响应输出值已经接近稳定值。因此,T减小就会导致N增大,若T取得过小,N增大,会增加计算量。而适当的选取采样周期,使模型长度控制在一定的范围内,避免因为采样周期减少而使模型长度增加使计算量增加,降低系统控制的实时性。所以,从计算机内存和实时计算的需要出发,应选取合适的采样周期和模型长度。
2)预测时域长度P
预测时域长度P对系统的稳定性和快速性具有重要的影响。为使滚动优化真正有意义,应使预测时域长度包括对象的主要动态部分。若预测时域长度P很小,虽然控制系统的快速性好,但是稳定性和鲁棒性变差;若预测时域长度P很大,虽明显改善系统的动态性能,即控制系统的稳定性和鲁棒性变好,但系统响应过于缓慢,增加计算时间,降低系统的实时性。
3)控制时域长度M
控制时域长度M在优化性能指标中表示所要确定的未来控制量的改变数目,即优化变量的个数。在预测时域长度P已知的情况下,控制时域长度M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统的响应速度比较慢,但容易得到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制的机动性越强,能够改善系统的动态响应,增大了系统的灵活胜和快速性,提高控制的灵敏度,但是系统的稳定性和鲁棒性变差。因此,控制时域长度的选择应兼顾快速性和稳定性。
五、实验控制算法实例仿真:
(一)算法实现
设某工业对象的传递函数为:GP(s)=e-80s/(60s+1),采用DMC后的动态特性如图1所示。在仿真时采样周期T=20s,优化时域P=10,控制时域M=2,建模时域N=20。
MATLAB程序1:
g=poly2tfd(1,[60 1],0,80); %通用传递函数模型转换为MPC传递函数模型
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p=10; %优化时域
m=2; %控制时域
ywt=[];uwt=1; %设置输入约束和参考轨迹等控制器参数
kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算
tend=1000;r=1; %仿真时间
[y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真
t=0:20:1000; %定义自变量t的取值数组
plot(t,y) %平面线图
xlabel('图1 DMC 控制系统的动态阶跃响应曲线(time/s)');%横坐标
ylabel('响应曲线'); %纵坐标
结果如下所示:
Percent error in the last step response coefficient of output yi for input uj is :
2.2e-005%
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.005 seconds.
结论:图中曲线为用DMC控制后系统的阶跃响应曲线。从图中可以看出:采用DMC控制后系统的调整时间小,响应的快速性好,而且系统的响应无超调。该结果是令人满意的。
(二)P和M对系统动态性能的影响
1.P对系统性能的影响
优化时域P表示我们对k时刻起未来多少步的输出逼近期望值感兴趣。当采样周期T=20s,控制时域M=2,建模时域N=20,优化时域P分别为6,10和20时的阶跃响应曲线如图2所示。
MATLAB程序2:
g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p1=6;p2=10;p3=20; %优化时域
m=2; %控制时域
ywt=[];uwt=1; %设置输入约束和参考轨迹等控制器参数
kmpc1=mpccon(plant,ywt,uwt,m,p1);%模型预测控制器增益矩阵计算
kmpc2=mpccon(plant,ywt,uwt,m,p2);
kmpc3=mpccon(plant,ywt,uwt,m,p3);
tend=1000;r=1; %仿真时间
[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);%模型预测控制仿真
[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);
[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);
t=0:20:1000; %定义自变量t的取值数组
plot(t,y1,t,y2,t,y3) %平面线图
legend('1-p=6','2-p=10','3-p=20');%图例注释
xlabel('图2 P不同对系统性能的影响(time/s)');
ylabel('响应曲线');
结果如下所示:
Percent error in the last step response coefficient
of output yi for input uj is :
2.2e-005%
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.005 seconds.
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.004 seconds.
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.005 seconds.
图中曲线1为P=6时的阶跃响应曲线;曲线2为P=10时的阶跃响应曲线;曲线3为P=20时的阶跃响应曲线。
结论:从图中可以看出,增大P,系统的快速性变差,系统的稳定性增强;减小P,系统的快速性变好,稳定性变差。所以P的选择应该兼顾快速性和稳定性。
2.M对系统性能的影响
控制时域M表示所要确定的未来控制量的改变数目。当采样周期T=20s,优化时域P=20,建模时域N=20,控制时域M分别取4,2和1时系统的响应曲线如图3所示。
MATLAB程序3:
g=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model=tfd2step(tfinal,delt,nt,g);%传递函数模型转换为阶跃响应模型
plant=model; %进行模型预测控制器设计
p=20; %优化时域
m1=4;m2=2;m3=1; %控制时域
ywt=[];uwt=1;
kmpc1=mpccon(plant,ywt,uwt,m1,p);
kmpc2=mpccon(plant,ywt,uwt,m2,p);
kmpc3=mpccon(plant,ywt,uwt,m3,p);
tend=1000;r=1; %仿真时间
[y1,u,yrn]=mpcsim(plant,model,kmpc1,tend,r);%模型预测控制仿真
[y2,u,yrn]=mpcsim(plant,model,kmpc2,tend,r);
[y3,u,yrn]=mpcsim(plant,model,kmpc3,tend,r);
t=0:20:1000; %仿真时间
plot(t,y1,t,y2,t,y3) %平面线图
legend('1-m=4','2-m=2','3-m=1'); %图例注释
xlabel('图2 M不同对系统性能的影响(time/s)');
ylabel('响应曲线');
结果如下所示:
Percent error in the last step response coefficient
of output yi for input uj is :
2.2e-005%
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.006 seconds.
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.005 seconds.
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.006 seconds.
图中曲线1为M=4时的响应曲线;曲线2为M=2时的响应曲线;曲线3为M=1时的响应曲线。
结论:从图中可以看出,减小M,系统的快速性变差,系统的稳定性增强;增大M,系统的快速性变好,稳定性变差。增大P和减小M效果类似,所以在选择时,可以先确定M再调整P,并且M小于等于P。
(三 )模型失配时的响应曲线
当预测模型失配时,即当GM(S)≠GP(S),当GM(S)=2e-50s/(40s+1)时的响应曲线如图4所示。
MATLAB程序4:
g1=poly2tfd(1,[60 1],0,80);%通用传递函数模型转换为MPC传递函数模型
g2=poly2tfd(2,[40 1],0,50);
delt=20; %采样周期
nt=1; %输出稳定性向量
tfinal=1000; %截断时间
model1=tfd2step(tfinal,delt,nt,g1);%传递函数模型转换为阶跃响应模型
model2=tfd2step(tfinal,delt,nt,g2);
plant1=model1; %进行模型预测控制器设计
plant2=model2;
p=10; %优化时域
m=2; %控制时域
ywt=[];uwt=1; %设置输入约束和参考轨迹等控制器参数
kmpc1=mpccon(plant1,ywt,uwt,m,p);%模型预测控制器增益矩阵计算
kmpc2=mpccon(plant2,ywt,uwt,m,p);
tend=1000;r=1; %仿真时间
[y1,u,yrn]=mpcsim(plant1,model1,kmpc1,tend,r);%模型未失配时的预测控制仿真
[y2,u,yrn]=mpcsim(plant1,model2,kmpc2,tend,r);%模型失配时的预测控制仿真
t=0:20:1000; %仿真时间
plot(t,y1,t,y2) %平面线图
legend('1-模型未失配','2-模型失配');
xlabel('图4 模型失配时的响应曲线(time/s)');
ylabel('响应曲线');
结果如下所示:
Percent error in the last step response coefficient
of output yi for input uj is :
2.2e-005%
Percent error in the last step response coefficient
of output yi for input uj is :
4.8e-009%
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.006 seconds.
Time remaining 1000/1000
Time remaining 800/1000
Time remaining 600/1000
Time remaining 400/1000
Time remaining 200/1000
Time remaining 0/1000
Simulation time is 0.006 seconds.
图中曲线1为未失配时的阶跃响应曲线;曲线2为模型失配时的阶跃响应曲线。
结论:从图中可以看出,当模型失配时,DMC控制有一定的超调,快速性下降,但能很快进入稳定状态,控制效果令人满意。所以DMC在形成闭环控制时,对模型失配具有很好的鲁棒性。因此,即使在模型失配的情况下,也能得到无静差控制。