《《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)容器水位控制系統(tǒng)的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《計(jì)算機(jī)控制技術(shù)》課程設(shè)計(jì)容器水位控制系統(tǒng)的設(shè)計(jì)(9頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、
《計(jì)算機(jī)控制技術(shù)》
課程設(shè)計(jì)
題 目: 容器水位控制系統(tǒng)的設(shè)計(jì)
學(xué)生姓名:
學(xué) 號(hào):
專(zhuān)業(yè)班級(jí):
指導(dǎo)教師:
二○一○年十二月二十二日
目 錄
1. 課程設(shè)計(jì)目的……………………………………………………………2
2. 課程設(shè)計(jì)題目的描述和要求………
2、……………………………………2
3. 課程設(shè)計(jì)報(bào)告內(nèi)容………………………………………………………2
4. 結(jié)論………………………………………………………………………7
5. 心得體會(huì)…………………………………………………………………8
一.設(shè)計(jì)的目的
通過(guò)課程設(shè)計(jì),掌握以下知識(shí)和技能:
1.培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè).圖表及文獻(xiàn)資料的自學(xué)能力。
2.提高綜合及靈活運(yùn)用所學(xué)知識(shí)解決工業(yè)控制的能力單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計(jì)。
3.通過(guò)對(duì)課題設(shè)計(jì)熟悉單片機(jī)用系統(tǒng)開(kāi)發(fā).研制的過(guò)程,軟硬件設(shè)計(jì)的方法。
二.設(shè)計(jì)要求
2.1課程設(shè)計(jì)的要求和內(nèi)容(包括原始數(shù)據(jù).技術(shù)要求.工作要
3、求)
1.要求設(shè)計(jì)水位控制系統(tǒng),要求無(wú)余差,超調(diào)小,水位穩(wěn)定速度快。
2.硬件采用51系列單片機(jī),采用閥門(mén)作為控制元件。
3采用keil c作為編程語(yǔ)言,采用結(jié)構(gòu)化的設(shè)計(jì)方法
2.2課程設(shè)計(jì)圖紙內(nèi)容及張數(shù)
1.畫(huà)出系統(tǒng)控制框圖。
2.要求用protel設(shè)計(jì)出硬件電路圖。
3.畫(huà)出軟件流程圖。
三.課程設(shè)計(jì)報(bào)告內(nèi)容
1.模擬PID控制原理
在模擬控制系統(tǒng)中,控制器最常用的控制規(guī)律是PID控制。為了說(shuō)明控制器的原理,以圖1.1的例子說(shuō)明。給定輸入信號(hào)n0(t)與實(shí)際輸出信號(hào)n(t)進(jìn)行比較,其差值e(t)=n0(t)-n(t),經(jīng)過(guò)PID控制器調(diào)整輸出控制信號(hào)u(t),u(t)
4、對(duì)目標(biāo)進(jìn)行作用,使其按照期望運(yùn)行。
常規(guī)的模擬PID控制系統(tǒng)原理框圖如同1.2所示。該系統(tǒng)有模擬PID和被控對(duì)象組成。圖中r(t)是給定的期望值,y(t)是系統(tǒng)的實(shí)際輸出值,給定值與實(shí)際輸出值,給定值與實(shí)際值構(gòu)成控制偏差e(t)=r(t)-y(t)。e(t)作為PID控制的輸入,u(t)作為PID控制的輸出和被控對(duì)象的輸入。構(gòu)成PID和被控對(duì)象的輸入。構(gòu)成PID控制的規(guī)律為:
其中:Kp為控制器的比例系數(shù)
Ti為控制器的積分時(shí)間,也稱(chēng)積分系數(shù)
Td為控制器的
5、未分時(shí)間,也稱(chēng)微分系數(shù)
2.系統(tǒng)控制框圖程序模塊
3.protel硬件控制框圖
4.軟件設(shè)計(jì)
4.1設(shè)計(jì)流程圖:
主要程序流程說(shuō)明:
主程序首先進(jìn)行初始化,包括PID參數(shù)設(shè)定及賦初值。然后循環(huán)做執(zhí)行以下程序:等待延時(shí)程序時(shí)間到,通過(guò)AD轉(zhuǎn)換對(duì)反饋值采樣,根據(jù)設(shè)定值
6、減反饋值計(jì)算偏差進(jìn)而計(jì)算輸出值,根據(jù)輸出值算出DA的值,以此改變閥門(mén)的開(kāi)度。
4.2程序
#pragma db oe sb
#include
#include
#define DAC0832 XBYTE[0x7fff] /* 定義DAC0
7、832端口地址 */
#define uchar unsigned char
sbit A=0;//模擬通道選擇位
sbit BB=0;
sbit C=0;
sbit ST=P2^2;
sbit EOC=P2^1;
sbit OE=P2^0;
void ad();//模數(shù)轉(zhuǎn)換
void PID();//PID計(jì)算
void delay();//延時(shí)
int a=0,b=0,out=0;
double p=0.4,i=0.1,d=0;//PID參數(shù)設(shè)定
double s=0,e0=0,elast=0,in=200;
main()
{
OE=1;
8、
while(1)
{ delay(10);//設(shè)置采樣時(shí)間
ad();//模數(shù)轉(zhuǎn)換
PID();//進(jìn)行PID運(yùn)算
DAC0832=out;//將運(yùn)算結(jié)果送至數(shù)模轉(zhuǎn)換器
}
}
void delay(long i)//延時(shí)
{
int j=255;
while(i--)
{
for(;j>0;j--);
}
}
void ad() //模數(shù)轉(zhuǎn)換
{
ST=0;
ST=1;
ST=0;//啟動(dòng)轉(zhuǎn)換
while(EOC==0); //等待轉(zhuǎn)換結(jié)束
}
9、
void PID() //PID計(jì)算
{
e0=in-P0;//偏差值
out=p*(e0+i*s+d*(e0-elast));//由公式計(jì)算輸出值
s=s+e0;//累計(jì)偏差
elast=e0;
}
}
4. 結(jié)論
測(cè)試結(jié)果:
用Keil uVision3編寫(xiě)程序,經(jīng)檢查成功后,通過(guò)編譯鏈接產(chǎn)生*.hex文件,并用Proteus 7.5設(shè)計(jì)繪制電路圖,并將生成的*.hex文件導(dǎo)入芯片中,進(jìn)行仿真。滿(mǎn)足無(wú)余差,超調(diào)小,水位穩(wěn)定速度快的要求。
五.心得體會(huì):
經(jīng)過(guò)兩周的忙碌與學(xué)習(xí),自己取得了很大的進(jìn)步,我的心情無(wú)法平靜。但
10、是在學(xué)習(xí)過(guò)程當(dāng)中由于經(jīng)驗(yàn)的匱乏,知識(shí)局限,,遇到不少困難,很多可敬的師長(zhǎng)、同學(xué)、朋友給了我許多幫助,在這里請(qǐng)接受我誠(chéng)摯的謝意?。?!
雖然本次實(shí)訓(xùn)是要求自己獨(dú)立完成,但是,彼此還是脫離不了集體的力量,遇到問(wèn)題和同學(xué)互相討論交流。多和同學(xué)討論。我們?cè)谧稣n程設(shè)計(jì)的過(guò)程中要不停的討論問(wèn)題,這樣,我們可以盡可能的統(tǒng)一思想,這樣就不會(huì)使自己在做的過(guò)程中沒(méi)有方向。討論不僅是一些思想的問(wèn)題,還可以深入的討論一些技術(shù)上的問(wèn)題,這樣可以使自己的處理問(wèn)題要快一些,少走彎路。多改變自己設(shè)計(jì)的方法,在設(shè)計(jì)的過(guò)程中最好要不停的改善自己解決問(wèn)題的方法,這樣可以方便自己解決問(wèn)題。
參考書(shū)目:
[1] 《單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)》 馬忠梅 北京航空航天出版,2006
[2] 《計(jì)算機(jī)控制技術(shù)》 于海生 機(jī)械工業(yè)出版社,2007
[3] 《單片機(jī)原理及接口技術(shù)(第3版)》 李朝青 北京航空航天大學(xué)出版社,2006
[4] 《51單片機(jī)C設(shè)計(jì)快速入門(mén)》 田立,田青,代萬(wàn)震 人民郵電出版社,2007
[5] 《51單片機(jī)設(shè)計(jì)實(shí)例》 樓然苗,李光飛 北京航空航天大學(xué)出版社,2004
[6] 《51單片機(jī)開(kāi)發(fā)入門(mén)與典型實(shí)例》 王守中 人民郵電出版社,2007
- 8 -