无波纹控制系统.docx
- 文档编号:13515979
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:13
- 大小:462.06KB
无波纹控制系统.docx
《无波纹控制系统.docx》由会员分享,可在线阅读,更多相关《无波纹控制系统.docx(13页珍藏版)》请在冰点文库上搜索。
无波纹控制系统
天津理工大学
自动化学院课程设计报告
题目:
最小拍无波纹控制系统设计
学生姓名刘楠楠学号20110729
届2011班级电气一班
指导教师专业电气工程及其自动化
1课题简介
2总体方案及硬件设计
2.1---系统描述
2.2---硬件设计
2.2.1---A/D
2.2.2---D/A
2.2.3---单片机及定时器设计
2.2.4---电源部分设计
2.3---总体方案设计原理图
3控制算法设计
3.1---控制算法描述
4软件编程设计
4.1---软件编程调试平台
4.2---软件流程图
4.3---软件程序代码
5小结
6参考文献
1.课程简介
利用STC89C52单片机设计最小拍无波纹控制系统,被控对象的数学模型为G(s)=5/s(0.8s+1),设计最少拍无波纹控制算法,并编程实现;根据要求,实现在单位速度信号的作用下,达到控制要求。
2.总体方案及硬件设计
2.1---系统描述
本系统设计使用STC89C52单片机和ADC、DAC等基本元件构成闭环控制系统,整体结构如图:
2.1---硬件设计
2.2.1---A/D
ADC芯片选用常用芯片ADC0809,它是一个8位ADC芯片,可以多路切换的CMOS组件,转换方法采用主次逼近法。
性能相对较为可靠,价格低廉,使用简单。
其中输入信号端加有LM358构成的放大器,可以增加信号的灵敏度和分辨率。
电路结构图如下:
2.2.2---D/A
选用DAC8032芯片,它是一个8位DAC芯片,本本电路单元采用,单电源供电,它是一款常用的DAC芯片,再输入信号端加上LM358构成的放大电路,不仅提高了系统的可靠程度,而且增加了控制信号的分辨率。
2.2.3---单片机及定时器设计
STC89C52单片机也是51系列单片机,相对于传统法51单片机,在性能和可靠性上都有较大的提高,电路图设计如下:
2.2.4---电源部分设计
电源部分选用LM7805和LM7905构成,外加电压范围为8——12V,能够输出+5和-5V电压,能够满足体统设计的点电平要求,电路图如下:
2.3---总体方案设计原理图
3控制算法设计
3.1---控制算法描述
1、定时器T0的初值计算
本设计单片机采用12M晶振,由于51单片机12分频,所以系统周期为1微秒。
ADC0809的转换频率最大为500KHZ,而单片机的系统时钟为1M,所以本系统采用ADC0809全速工作,而对单片机IO口进行采样的周期为1S.定时器定时时间为50MS,利用单片机小精灵软件可以方便的计算出当定时器0工作在方式1时,TH0=3C,TL0=B0。
2、对输入信号的滤波
本设计利用中值滤波的方法对P2口采集的ADC输入信号数据进行处理,中值滤波是一种较为简单有效的滤波方法,对椒盐信号干扰有较好的抑制作用,不仅可以有效的减少信号干扰带来的影响,而且相对别的滤波方法,能够降低程序的执行时间。
3、最少拍无波系统的差分方程计算
首先使用MATLAB对G(S)进行Z变换,则变换过程如下:
>>np=[005]
np=
005
>>dp=[0.810]
dp=
0.80001.00000
>>hs=tf(np,dp)
Transferfunction:
5
--------------------------
0.8s^2+s
>>hz=c2d(hs,1)
Transferfunction:
2.146z+1.421
-------------------------
Z^2–1.287z+0.2865
:
G(z)=
2.146z+1.421
-------------------------
Z^2–1.287z+0.2865
无波纹最小拍控制器D(z)
根据G(z),对象有一个纯迟后因子v=1,一个零点b1=-0.662,两个极点,单位速度信号
所以q=1,则闭环脉冲传递函数为
由
得系数
,
,则系统脉冲传函为
误差脉冲传函为
由
得设计的控制器为
将
得系统的差分方程为:
u(k)=0.357u(k-1)+0.593u(k-2)+0.294e(k)-0.236e(k-1)+0.645e(k-2)
4软件编程设计
4.1---软件编程调试平台
本程序的开发环境为Keiluvisin4,是一款较为常用的开发环境,支持硬件仿真。
4.2---软件流程图
4.3---软件程序代码
#include
unsignedcharcount=0;//定时器计数量
unsignedcharcount1=0;//中值滤波计数量
unsignedcharad_data;//装入AD值
chare;//当前采样的实际值
floutout_data;//当前经过运算后的实际值
charu;//定义DA输出量
charu0=0,u1=0,e0=0,e1=0;//采样值
charmid_data[5]=0;//中值滤波的保存值
chari,j;//冒泡排序的参数
voidtimeInit();//定时器初始化函数
voidmain(void)//主函数
{
timeInit();
while
(1);
}
voidtimeInit()
{
TMOD|=0X01;//选择定时器0,工作方式1
TH0=3C;//设置定时器0初值
TL0=B0;
EA=1;//打开全局中断
ET0=1;//打开定时器中断
TR0=1;//定时器中断打开
}
voidTime0_isr(void)interrupt1using1
{
TH0=3C;//重新装入初值
TL0=B0;
if(count>=20)//定时器定满一秒
{
count=0;
ad_data=P2;
e=ad_data-128;//因为是双极性输入的这样得到的实际值有正负电压
//最少拍无波纹差分方程算法
If(out_data>0)//用于限定当前值在-127——+127之间
{
if(out_data>=127)
u=127;
else
u=(char)out_data;
}
else
{
if(out_data<=-127)
u=-127;
else
u=(char)out_data;
}
mid_data[count1]=u+128;
count1++;
u0=u1;
u1=u;
e0=e1;
e1=e;
}
count++;
if(count1>=4)
{
count1=0;
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(mid_data[j]>mid_data[j+1])
{
temp=mid_data[j];
mid_data[j]=mid_data[j+1];
mid_data[j+1]=temp;
}
}
}
P2=mid_data[2];//滤波后输出值
}
}
5小结
通过本系统的设计,我较为详细清晰地了解了最少波无波纹控制算法。
它对输入信号的快速响应让我感觉很是神奇,但是,在完成课程设计的过程中也遇到了大量的困难,特别是复杂的差分方程的运算,由于对MATLB不是很熟悉,所以很多参数要自己动手去算,但是,大量的数学运算让我感觉很是困难,不过经过一番努力,最后还是被完美的解决了。
在此过程中,让我清醒的认识到数学的重要性。
本设计系统,硬件部分相对来说比较简单,用的基本上是常用的芯片,再结合数据手册,能够很好的完成,信号也基本让人满意。
通过对资料的查询,让我更进一步提高了自己的知识获取能力。
6参考文献
[1]赖寿宏主编微型计算机控制技术华中科技大学出版社1994
[2]李毅刚主编单片机原理及应用高等教育出版社2003
[3]李铁桥主编计算机控制理论与应用2005
[4]谢龙汉主编AutiumDesigner原理图与PCB设计及仿真电子工业出版社2012
[5]Pro–Log.TechnicalManualandDataBook
[6]J.A.Moore,S.MHerb.UnderstandingDistributedProcessSystems.InstrumentSocietyofAmerica,2005
[7]J.V.Levy.Amultiplecomputersystemforreliabletransactionprocessing,ACMSIGSMALLNewsletter,4,NO.5,2006\
[8]LATTICSemiconductorCrop.,GALDataBook,2009
[9]周培德主编计算几何清华大学出版社2004
[10]Anany主编算法设计与分析基础清华大学出版社2002
[11]钟艳华主编计算机工程与设计2004
[12]谭浩强主编C程序设计(四)清华大学出版社2010
[13]王松武主编常用电路模分析与指导清华大学出版社2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 波纹 控制系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)