课程设计 最小拍控制Word文件下载.docx
《课程设计 最小拍控制Word文件下载.docx》由会员分享,可在线阅读,更多相关《课程设计 最小拍控制Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
《计算机控制技术》是一门理论性、实用性和实践性都很强的课程,课程设计环节应占有更加重要的地位。
计算机控制技术的课程设计是一个综合运用知识的过程,它需要控制理论、程序设计、硬件电路设计等方面的知识融合。
通过课程设计,加深对学生控制算法设计的认识,学会控制算法的实际应用,使学生从整体上了解计算机控制系统的实际组成,掌握计算机控制系统的整体设计方法和设计步骤,编程调试,为从事计算机控制系统的理论设计和系统的调试工作打下基础。
三、课程设计内容
设计以89C51单片机和ADC、DAC等电路、由运放电路实现的被控对象构成的计算机单闭环反馈控制系统。
1.硬件电路设计:
89C51最小系统加上模入电路(用ADC0809等)和模出电路(用TLC7528和运放等);
由运放实现的被控对象。
2.控制算法:
最少拍控制。
3.软件设计:
主程序、中断程序、A/D转换程序、滤波程序、最少拍控制程序、D/A输出程序等。
四、课程设计要求
1.模入电路能接受双极性电压输入(-5V~+5V),模出电路能输出双极性电压(-5V~+5V)。
2.模入电路用两个通道分别采集被控对象的输出和给定信号。
3.每个同学选择不同的被控对象:
4.设计无纹波最少拍控制器。
被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号设计控制器。
5.定时中断间隔可在10-50ms中选取,采样周期取采样中断间隔的整数倍,可取1000-2000ms,由实验结果确定。
6.滤波方法可选择平均值法,中值法等。
有关的设计资料可参考《计算机控制实验指导书》的相关内容。
五、课程设计实验结果
1.控制系统能正确运行。
2.正确整定PID参数后,系统阶跃响应的超调<
15%
六、进度安排
序号
内容
天数
1
布置任务,熟悉课题要求
0.5
2
总体方案确定,硬件电路设计
1.5
3
熟悉实验箱及C语言开发环境,研读范例程序,
4
控制算法设计
5
软件编程,调试
6
实验
7
总结,撰写课程设计报告
七、课程设计报告内容:
总结设计过程,写出设计报告,设计报告具体内容要求如下:
1.课程设计的目和设计的任务。
2.课程设计的要求。
3.控制系统总框图及系统工作原理。
4.控制系统的硬件电路连接图(含被控对象),电路的原理。
5.软件设计流程图及其说明。
6.电路设计,软件编程、调试中遇到的问题及分析解决方法。
7.实验结果及其分析。
8.体会。
发出任务书日期:
年月日指导教师签名:
计划完成日期:
年月日教学单位责任人签章:
第二部分
课
程
设
计
报
告
1课题简介
1.1课程设计目的
1.2课程设计内容
1.3课程设计要求
G(s)=5/[(0.8s+1)(0.3s+1)]
被控对象有积分环节的按斜坡输入信号设计控制器,否则按阶跃输入信号
设计控制器。
5.定时中断间隔选取10ms,采样周期取采样中断间隔的整数倍,取1000ms。
6.滤波方法可选择平均值法,中值法和滑动滤波法。
2最少拍控制方案设计
2.1最少拍控制器的介绍
最少拍控制器是基于准确的被控对象而建立的一种控制算法。
随动系统式一种速度跟踪系统,它的主要性能指标是快速性,要求系统的输出值尽快地跟踪给定值地变化。
应用数字控制器设计的随动系统的快速性一般以系统需要多少个采样周期数来表征。
通常称一个采样周期为一拍,无疑在越少的拍数内,系统的输出能跟上给定值,则系统的快速性越好。
最少拍控制就是为满足这一要求的一种离散化设计方法。
所谓最少拍控制,就是要求闭环系统对于某个典型的输入,设计D(z)使闭环系统响应在最少的采样周期内(最少拍)达到采样点上无静差的稳态,且闭环脉冲传递函数具有以下形式:
Φ(z)=Φ1z-1+Φ2z-2+…+ΦNz-N
其中N为可能情况下的最小正数。
这一形式表明闭环系统的脉冲响应在N个采样周期后变为零,即系统在N拍之内达到稳定
最少拍闭环控制系统包括给定值,输出值,D/A转换环节,数字控制器,被控对象,零阶保持器等环节。
2.2控制系统框图及闭环工作原理
最少拍双通道采样的闭环系统框图如上所示,在该系统中,对给定值r(t)进行D/A转换采样,得到离散化的r(z),并且对输出值c(t)也进行D/A转换,得到c(z),然后计算有e(k)=c(k)-r(z)。
D(z)为计算机控制系统的脉冲传递函数,U(z)为输出的控制量,然后经过A/D转换后得到模拟控制量U(t),对包含零阶保持器的被控量进行控值进而达到要求的最小拍控制的目的。
3最少拍控制系统硬件电路设计
3.1总体硬件电路图
3.2输入双极性的实现原理
由图可知,输入通道IN7和IN6加了阻值为10K的电阻。
IN1~IN5的模拟量的允许输入范围:
0~4.98V。
而加了上拉电阻的IN7和IN6端口,当输入IN7的电压为0V时,进入A/D转换的电压为2.5V;
当输入IN7的电压为-5V时,进入转换的电压为0V。
就是说,输入到外端口的电压Uout和进入转换的电压Uin的关系是Uin=(Uout+Vcc)/2,因此能够在IN7端口加上-5V~+4.96V的电压也可以实现转换的功能。
3.3输出双极性的实现原理
上图为双极性的输出电路,该电路通过放大器和电阻的一系列计算关系实现输出的双极性。
具体来说,R2左端的电压为转换输出的单极性电压Vdan,该电压的大小为
,这就是原本单极性输出的正常电压。
但是加上如上的电路之后,我们设输出电压为Vout,因为右边的放大器3号端口接地,所以2号端口也虚地,即电压为0V。
又因为放大器2号端子向右可以认为是断路,无电流。
综上,有:
所以
只要调试W102是W102加上R4为2K,那么输出的电压
,由此可知,实现了D/A转换的双极性输出。
3.4给定的被控对象的实现
课程设计任务书中有8个被控对象,我们取其中一个分析被控对象是如何实现的。
被控对象为
的实现的硬件电路图为
在该图中,左边的积分环节通过选取200K的输入电阻和4UF的并联电容来实现,右边的放大器上并联了R=100K和C=3uF实现时间常数T2=0.3s,然后通过R7/R8=5实现放大系数Kp=5的要求。
4最少拍无纹波系统控制算法设计
4.1最少拍无纹波控制的基本原理
按最少拍有纹波系统设计的控制器,其系统的输出值跟踪输入值后,在非采样点有纹波存在;
原因就在于当偏差为0时,数字控制器的输出序列u(k)不为恒值(常数或零),而是振荡收敛的;
非采样时刻的纹波现象不仅造成非采样时刻的偏差,而且浪费执行机构的功率,增加设备磨损,因此必须消除。
4.1.1设计最少拍无纹波控制器的必要条件
无纹波系统要求系统的输出信号在采样点之间不产生纹波,必须满足:
①对阶跃输入,当t≥NT时,有y(t)=常数;
②对速度输入,当t≥NT时,有y’(t)=常数;
即G(s)中至少要有一个积分环节,
③对加速度输入,当t≥NT时,有y’’(t)=常数;
G(s)中至少要有两个积分环节,
这样,被控对象G(s)必须有能力给出与系统r(t)相同且平滑的输出。
因此,设计最少拍无纹波控制器时,针对输入对象必须有足够的积分环节。
4.1.2最少拍无纹波系统确定Ф(z)的约束条件
要使系统的稳态输出无纹波,就要求稳态时的控制信号u(k)为常值(包括0)。
控制信号u(k)的Z变换:
如果系统经过l个采样周期到达稳态,无纹波要求:
设广义对象
由
要使u(k)为常数,u(k)必须是z-1的有限多项式。
故闭环传递函数必须包含G(z)的全部零点及滞后环节。
令
w为G(z)所有零点数(包括单位圆内、单位圆上以及单位圆外的零点),b1,b2,…,bw为其所有零点。
由此可见,有纹波和无纹波设计唯一区别在于:
有纹波设计时,Ф(z)包含G(z)单位圆上和单位圆外的零点;
无波纹设计时,Ф(z)包含G(z)单位圆内、单位圆上、单位圆外的所有零点。
4.1.3最少拍无纹波控制器确定Ф(z)的步骤
确定Ф(z)必须满足下列条件:
①被控对象中含有足够的积分环节,以满足无纹波系统设计的必要条件;
②按
选择Ф(z)
③按
和
选择Фe(z);
④F1(z)、F2(z)阶数的确定
若G(z)有j个极点在单位圆上,即z=1,当j≤q,有
m=w+dn=v-j+q
若G(z)有j个极点在单位圆上,即z=1,当j>
q,有
m=w+dn=v
4.2最小拍无纹波控制的算法实现
对于具体的被控对象,如G(s)=5/[(0.8s+1)(0.3s+1)],要实现对它的计算机控制算法的设计需要经过一系列的计算。
首先广义对象的脉冲传递函数
,对于该式,输入速度信号,能满足无纹波控制的要求,且D=0,q=2,v=1,w=1,且j<
q,故有m=w+d=1,n=v-j+q=2.对单位速度输入信号
,
,因为
,故可以解得
.由此可知
于是求得
利用MATLAB仿真软件,得到结果:
D(s)=(2.815z+0.6252)/(z^2-0.32222z+0.01),进一步可知
u(k)=0.593u(k-1)+0.4070u(k-2)+0.6294e(k)-0.4087e(k-1)+0.0293e(k-2),这就是计算机控制所要的控制式。
采样周期选择1s,定时中断选择为10ms,就是说100个定时中断后进行采样。
5最小拍无纹波控制软件编程设计
5.1主程序及中断程序的思考图及具体流程图
5.2重要程序的作用与实现
5.2.1任务的分配
主程序主要实现系统初始化和变量初始化的操作,具体来说,如流程图所示,包括设定定时器的工作状态、定时器装初值、设定外中断类型、开外中断和定时中断、启动定时器、D/A清零、变量清零等内容,完成上述操作后就等待进入定时中断。
定时中断程序实现的功能有两个:
一是重新装入定时初值,二是启动D/A转换进而能进入转换外中断。
外中断服务程序实现了采样和计算输出控制量的功能。
首先检查是否到了同步信号,如果到了,就把输出清零、变量初始化并给采样周期值,没到就检查是否到了采样周期。
如果到了采样周期,就进行下一步的采样和计算。
具体就是,依次采样7号通道和6号通道,然后计算出偏差。
根据之前算得的公式计算出控制输出u(k),然后检查控制量是否溢出,溢出了就取相应的最值。
这之后输出控制量。
最后进行控制量和偏差的递推和采样周期恢复,就返回了。
5.2.2重要程序的源码介绍
A/D转换程序
If(TC==0)
{
cont=ADC_7-128;
DEFI=0;
str=0;
str=1;
EX1=0;
k=200;
While(k>
0)k--;
EX1=1;
set=ADC_7-128;
DEFI=1;
EK=cont-set;
........
}
从以上程序中我们可以知道,当采样周期到时,首先采样7号端口的数值然后选中6号端口,启动转换,等待200uS后,采样6号端口的数值,需要注意的一点是在6号端口的数据转换完成后也会产生中断信号影响计算机的控制,因此在等待转换之前要先关掉外部中断,等转换完成后再打开。
于是两通道都完成采样了。
最少拍控制程序
开始我们已经计算出最小拍的控制输出和偏差以及之前的控制输出之间的关系是:
u(k)=0.593u(k-1)+0.4070u(k-2)+0.6294e(k)-0.4087e(k-1)+0.0293e(k-2)。
于是首先定义一些变量YY0、YY1、YY2、YY3、HH1、HH2、HH3,在主函数中赋给他们计算出的相应的数值,然后在中断服务程序里进行计算,对应的程序就是:
floatKK0=-0.1896;
//系数YY0
floatKK1=-0.04109;
//系数YY1
floatKK2=0.02798;
//系数YY2
floatKK3=0;
//系数YY3
floatPP1=1.9572;
//系数HH1
floatPP2=-0.9145;
//系数HH2
floatPP3=-0.04276;
//系数HH3
floatG=1;
//增益调整
...........................
i=YY0*EK+YY1*EK_1+YY2*EK_2+YY3*EK_3;
j=HH1*UK_1+HH2*UK_2+HH3*UK_3;
UK=G*i+j;
滤波程序的介绍
为了实现滑动滤波的功能,要定义四个变量来保存采样值M,M_1,N,N_1。
程序如下:
cont=(ADC_7-128+M+M_1)/3;
M_1=M;
M=ADC_7-128;
........
set=(ADC_7-128+N+N_1)/3;
N_1=N;
N=ADC_7-128;
通过滑动的方法,每次计算偏差EK时取本次和前两次的采样值取平均的方法,实现了滤波的功能,并且通过变量M,M_1,N,N_1的递推实现滑动的效果。
6实验与结果分析
6.1仿真结果
为了验证计算数据是否正确,首先,我们利用已有的最小拍控制的Simulink可仿真模型
6.1.1单位阶跃信号的Simulink仿真模型
系统输出如图所示
数字控制器输出:
6.1.2单位速度信号的Simulink仿真模型
单位速度信号如图所示
数字控制器输出
6.2仿真模型上机结果分析
当输入信号为单位阶跃信号时,按照最小拍控制策略设计的数字控制器,实现输入经过一拍后,在采样时刻系统稳态误差为零,输出跟踪输入但在采样点间,系统输出有纹波存在。
当输入信号为单位速度信号时,按照最小拍控制策略设计的数字控制器,实现输入经过两拍后,在采样时刻系统稳态误差为零,输出跟踪输入,但在采样点间,系统输出有纹波存在。
综上所述,被控对象稳定且不包含纯滞后环节,按最少拍原则设计数字控制器,虽然设计方法直观简单,又便于在计算机上实现,但也存在着缺点。
系统输出在采样点间存在纹波,最少拍设计是保证在采样点上稳态误差为零,而在采样点之间系统输出可能存在波动,其原因在于数字控制器的输出
经过两拍后不为零或为常值,而是出于振荡收敛。
系统适应性差,最少拍原则是根据某种典型输入信号设计的,对其它输入信号不一定是最少拍,甚至可能产生很大的超调和静差。
控制幅值的约束最少拍设计实质上是时间最优调节系统,在此过程中,对数字控制器的输出没有做任何约束,但实际上控制机构所能提供的能量是有限,所以采用最少拍原则设计的计算机控制系统,由于被控对象存在饱和特性,系统响应输出不一定满足最少拍目的。
从图上的效果来看是能够满足控制的要求的,所计算的数据是正确的。
7小结与体会
在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,连接起来也很困难,因为我们要查找模块,选择电阻和电容。
还要将电脑中的程序载入模块,调试运行。
在调试的过程中,遇到的问题更多,调试的过程是一个让人思考的过程,也是熟悉稳态方法和实践动手的好机会,顺着模块的顺序依次排查接线,出现问题,想出各种可能的情况,测试解决。
通过这次的课程设计,锻炼了我的动手实践能力,让我有机会将课本所学的知识与实际相结合。
切身体会到动手能力的重要。
同时电路的设计修改也是我将知识整理融汇的过程,在某些课设涉及的地方我的理解更加深入了。
今后随着学习的深入,还会有更加深入的理论方法,相信到时候我可以学会更多知识,将所学的知识学以致用。
经过此次的课程设计,我对所学过的知识在应用方面有了初步认识,并且学到很多扩展方面的知识,且再对课题的仿真过程当中,能够熟练的使用Simulink软件。
通过查资料了解了课本上没学到的知识,也知道了AT89C52与我们所学的80C51引脚,内部结构以及用途上的差别。
还选择了ADC0809作为A/D转换器,DAC0832作为本系统的D/A转换器。
通过模拟量经过输入通道进入A/D转换器进行转换,传输到单片机内,通过编程,对所录入的模拟信号进行编程,实现外扩电路的显示,以及D/A转换后传输给执行器进行控制。
参考文献
[1]于海生主编,微型计算机控制技术,北京:
清华大学出版社,1999
[2]张艳兵等编著,计算机控制技术,北京:
国防工业出版社,2008
[3]张毅刚主编,单片机原理及应用,北京:
高等教育出版社,2004
[4]陈涛编著,单片机应用及C51程序设计,北京:
机械工业出版社,2008
[5]楼然苗,李光飞编著,单片机课程设计指导,北京:
北京航空航天大学出版社,2007
[7]控制、电子技术类杂志、报刊
心
得
体
会
学生签名:
(亲笔签名)
年月日
教
师
评
语
年月日
成
绩
及
签
名
指导教师签名:
年月日