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