版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《計算機控制》課程設(shè)計報告</p><p> 題目: 無波紋最小拍控制設(shè)計 </p><p><b> 2011年7月5日</b></p><p> 《計算機控制》課程設(shè)計任務(wù)書</p><p> 指導教師簽字: 系(教研室)
2、主任簽字:</p><p> 2011年 7 月 5 日</p><p><b> 方案設(shè)計:</b></p><p><b> 一、題目分析</b></p><p> 根據(jù)題目要求,設(shè)計無波紋最小拍控制器。采用零階保持器的單位反饋離散系統(tǒng),被控對象為,要求系統(tǒng)在單位斜坡輸入時,實現(xiàn)無波紋最
3、小拍控制,用離散設(shè)計法設(shè)計數(shù)字控制器。</p><p><b> 二、控制系統(tǒng)設(shè)計</b></p><p> 1、采樣周期T的選擇</p><p> 當取采樣周期T=1s時,經(jīng)過理論驗證,三拍后系統(tǒng)無波紋,達到無波紋輸出時t=3s,滿足控制器要求。</p><p> 當取采樣周期T=0.1s時,滿足控制器要求且三
4、拍系統(tǒng)無波紋,達到無波紋輸出時t=0.3s,但考慮到AD轉(zhuǎn)換器和DA轉(zhuǎn)換器的轉(zhuǎn)換時間和速率有限,故在滿足性能要求的前提下,這里選擇采樣周期T=1s。</p><p> 2、無波紋最小拍控制器的計算</p><p> ?。?)帶零階保持器的廣義被控對象為通過matlab,z變換程序為</p><p> np=[0 0 10];</p><
5、p> dp=[1 1 0];</p><p> hs=tf ( np, dp);</p><p> hz=c2d(hs,1)</p><p><b> 結(jié)果為</b></p><p> Transfer function:</p><p> 3.679 z + 2.642
6、</p><p> ----------------------</p><p> z^2 - 1.368 z + 0.3679</p><p> Sampling time: 1</p><p><b> 即</b></p><p> ?。?)無波紋最小拍控制器D(z)</p>
7、;<p> 根據(jù)G(z),對象有一個純遲后因子v=1,一個零點,兩個極點,單位速度信號,所以q=1,則閉環(huán)脈沖傳遞函數(shù)為</p><p><b> 由</b></p><p> 得系數(shù),,則系統(tǒng)脈沖傳函為</p><p><b> 誤差脈沖傳函為</b></p><p><
8、;b> 由得設(shè)計的控制器為</b></p><p> 3、無波紋最小拍控制系統(tǒng)框圖</p><p><b> 控制系統(tǒng)整體框圖</b></p><p> 4、無波紋最小拍控制系統(tǒng)Matlab仿真</p><p> 通過Matlab觀察階躍輸入響應(yīng)輸出程序如下</p><p&
9、gt; num=[0.382 -0.364 0.0824];</p><p> den=[1 -0.407 -0.593];</p><p> dz=tf ( num, den,-1);</p><p> sys1=dz*hz;</p><p> sys2=feedback(sys1,1);</p><p>
10、; step(sys2,20) </p><p><b> 輸出曲線如下</b></p><p> 由圖可見,3拍后輸出跟上輸入,可實現(xiàn)最小拍控制,T=1s滿足要求。</p><p> 5、無波紋最小拍控制系統(tǒng)simulink仿真</p><p><b> 仿真結(jié)果為:</b></p
11、><p> ?。ǎ保┫到y(tǒng)輸入及系統(tǒng)輸出曲線c(t)圖形如下:</p><p> ?。?)系統(tǒng)誤差e(t)曲線如下:</p><p> ?。?)控制器輸出u(k)曲線如下:</p><p> 通過仿真曲線看出: 控制器D(z)滿足設(shè)計要求,系統(tǒng)在第三拍之后系統(tǒng)達到無差,最后控制器輸出恒定(),因此系統(tǒng)輸出不會產(chǎn)生波紋,調(diào)節(jié)時間為。</p&g
12、t;<p> 將得系統(tǒng)的差分方程為:</p><p> 三、硬件電路設(shè)計及元件選型</p><p> 控制器部分由AD轉(zhuǎn)換器,DA轉(zhuǎn)換器和AT89C51單片機組成。模數(shù)轉(zhuǎn)換芯片采用ADC0809,數(shù)模轉(zhuǎn)換芯片采用DAC0832。</p><p><b> 系統(tǒng)結(jié)構(gòu)總圖</b></p><p><
13、;b> 1、AD轉(zhuǎn)換器</b></p><p> AD轉(zhuǎn)換器選ADC0809, ADC0809是一種逐次比較式的8路模擬輸入,內(nèi)部具有鎖存功能,故不需要加地址鎖存器。ALE腳為地址鎖存信號,高電平有效,三根地址線固定接地,由于地址信號已經(jīng)固定,故將ALE接高電平。</p><p> 系統(tǒng)只需要一路信號,選擇IN-0通道作為輸入。</p><p&g
14、t; START腳為AD轉(zhuǎn)換啟動信號,高電平有效,程序控制。AD采樣值為系統(tǒng)的偏差信號,故選擇ADC0809的為5V。</p><p> 由于ADC0809的時鐘所限,AD轉(zhuǎn)換器的時鐘信號,由單片機P2.1腳產(chǎn)生,將CLOCK腳接單片機的P2.1。由單片機產(chǎn)生500khz的時鐘信號。單片機晶振可選擇為12MHz。</p><p> EOC 為轉(zhuǎn)換結(jié)束信號。當EOC 為高電平時,表明轉(zhuǎn)
15、換結(jié)束;否則,表明正在進行A/D 轉(zhuǎn)換。設(shè)計將其接單片機P2.2腳由程序讀入,判斷AD是否轉(zhuǎn)換完成。AD轉(zhuǎn)換結(jié)果由P0口讀入,故將AD轉(zhuǎn)換器的輸出與單片機P0口相連,高低位依次相連。</p><p> 設(shè)計AD轉(zhuǎn)換器的接口電路如圖所示:</p><p> AD轉(zhuǎn)換器的接口電路</p><p><b> 2、DA轉(zhuǎn)換器</b></p&
16、gt;<p> DA轉(zhuǎn)換器選擇DAC0832,DAC0832是具有兩個輸入數(shù)據(jù)寄存器的8位DAC,可以直接與51單片機相連。參考電壓 ,直接與供電電源相連。</p><p> 因為輸出的C(t)可能有負的情況,故選擇DAC為雙極性電壓輸出。DA輸出值為:</p><p> DAC0832的引腳接法下:</p><p> CS:片選端,直接接低電
17、平</p><p> ILE:數(shù)據(jù)鎖存允許控制端,直接接高電平。</p><p> WR2:DAC寄存器寫選通控制端,故直接接低。</p><p> XFER:數(shù)據(jù)傳送控制,低電平有效,故直接接地。</p><p> WR1;第一級輸入寄存器寫選通控制,低電平有效。其輸入為上升沿時,將輸入數(shù)據(jù)鎖存到DAC寄存器,故將該腳與單片機P2.
18、3口相連,由程序控制DA轉(zhuǎn)換的時間。</p><p> D10~D11:與單片機P0~P7相連。</p><p><b> 電路圖如下:</b></p><p> DA轉(zhuǎn)換器的接口電路</p><p><b> 3、控制器</b></p><p> 控制器選擇AT8
19、9C51單片機,根據(jù)ADC0809和DAC0832的特性,及上述分析,設(shè)計單片機與AD、DA的接口電路如下圖所示:</p><p> 單片機選擇12MHZ晶振,按鍵復位模式。</p><p> 四、 程序流程圖及源程序</p><p><b> 1、流程圖如下:</b></p><p> 2、定時器T0的初值計算
20、</p><p> 設(shè):需要裝入T0的初值為X,則有:</p><p> X化為十六進制,即X=0x3cb0</p><p> T0的初值為 TH0=0x3c; TL0=0xb0;</p><p> 3、源程序及注釋如下:</p><p> #include<reg51.h></p>
21、<p> sbit start=P2^0; // AD啟動信號</p><p> sbit CLK=P2^1; // AD時鐘信號輸出口</p><p> sbit EOC=P2^2; // AD轉(zhuǎn)換完成信號</p><p> sbit DA_W=P2^3; // DA轉(zhuǎn)換信號</p>
22、<p> unsigned char ad_data ; // AD采樣值</p><p> unsigned char count=0; //定時標記量</p><p> char e; //定義當前采樣值</p><p> char u; //定義DA輸出量</p><p>
23、 char u0=0; //</p><p> char u1=0; //</p><p> char e0=0; // </p><p> char e1=0; //前二次采樣值和前二次控制值</p><p> float temp; //設(shè)置指針&l
24、t;/p><p> void AD() // AD采樣函數(shù)</p><p> { start=0; //</p><p> start=1; // 啟動AD轉(zhuǎn)換器,開始轉(zhuǎn)換</p><p> start=0; //</p><p> w
25、hile(EOC==0); // 轉(zhuǎn)換未結(jié)束,空循環(huán)</p><p> ad_data=P0; // 轉(zhuǎn)換結(jié)束后,讀取AD輸出值</p><p><b> }</b></p><p> void TimeInitial() // 定時器中斷初始化函數(shù)</p><p>&
26、lt;b> {</b></p><p> IP=0x08; //設(shè)置中斷優(yōu)先級,定時器1為高優(yōu)先級</p><p> TMOD=0x11; //定時器1和定時器0均采用方式一</p><p> TH0=0x3c; //設(shè)置定時器0的初值</p><p> TL0=0xb0;
27、 //</p><p> TH1=0xff; //設(shè)置定時器1的初值</p><p> TL1=0xfb; //</p><p> EA=1; //開放所有中斷</p><p> ET0=1; //允許T0溢出中斷</p><p> TR0
28、=1; //啟動定時器0</p><p> ET1=1; //允許T1溢出中斷</p><p> TR1=1; //啟動定時器1</p><p><b> }</b></p><p> void main() //主函數(shù)</p><p>
29、;<b> {</b></p><p> TimeInitial(); //</p><p> start=0; //啟動信號為0</p><p><b> DA_W=0;</b></p><p> P1=0x80; </p>
30、<p> DA_W=1; //控制器初始輸出為零</p><p> while(1); //空循環(huán),等待中斷</p><p><b> } </b></p><p> void t1(void )interrupt 1 using 1 //定時器0中斷函數(shù)</p
31、><p><b> { </b></p><p> TH0=0x3c;//</p><p> TL0=0xb0; //重裝初值</p><p> if (count==20) //</p><p><b> { </b><
32、;/p><p> count=0; //</p><p> AD(); //一秒后,讀取AD采樣值</p><p> e=ad_data-128; //采樣實際偏差值 </p><p> temp=0.407*u1+0.595*u0+0.382*e-0.364*e1
33、+0.0824*e0; //差分方程 </p><p> if(temp>0) //當前輸出值大于零</p><p><b> {</b></p><p> if(temp>=127) // </p><p> u=127; //判斷是否溢出,溢出取極值&
34、lt;/p><p> else u=(char)temp; //控制器輸出值</p><p> } //</p><p> else //當前輸出值小于零</p><p><b> {</b></p><p> if(temp<=-127)
35、 //</p><p> u=-127; //判斷是否溢出,溢出取極值</p><p> else u=(char)temp; //控制器輸出值</p><p><b> }</b></p><p><b> //</b></p>
36、<p> P1=u+128; //DA輸出值</p><p> u0=u1; //控制量遞推賦值</p><p> u1=u; //</p><p> e0=e1; //偏差量遞推賦值</p><p> e1=e;
37、 //</p><p> DA_W=0; //</p><p> DA_W=1; //上升沿DA輸出</p><p><b> }</b></p><p> else count++; //定時不到20次,即不到一秒,繼
38、續(xù)定時</p><p><b> }</b></p><p> void clk(void) interrupt 3 using 0 // 定時器1中斷函數(shù)</p><p><b> {</b></p><p> TH1=0xff; //
39、</p><p> TL1=0xfb; //重裝初值</p><p> CLK=~CLK; //產(chǎn)生時鐘信號</p><p><b> }</b></p><p> 五、 設(shè)計工作總結(jié)及心得體會:</p><p> 經(jīng)
40、過多天的努力,這次計算機控制課程設(shè)計已基本結(jié)束,在這一段時間中,我們收獲良多。由于考試時間與課程設(shè)計時間安排有沖突,我們的時間很緊,前期準備不足。這導致我們剛開始的上機設(shè)計難以進行,浪費了很多時間,整個小組都沒有一個明確方向。后來,在老師的指導下,經(jīng)過我們多方查找資料,終于明確了工作方向,分工合作,相互幫助,最終完成了這次課程設(shè)計。</p><p> 在這次課程設(shè)計中,我們學到了很多設(shè)計數(shù)字控制系統(tǒng)的思想與方法
41、,如matlab仿真并利用simlink仿真。應(yīng)用了計算機控制課程上學到的知識,還用到了自動控制原理、單片機原理及應(yīng)用、模擬電子技術(shù)中的相關(guān)知識,給我們提供了一個將所學的課程聯(lián)系在一起,并應(yīng)用于實踐的機會。</p><p><b> 六、參考文獻</b></p><p> 1、張毅剛 主編. 單片機原理及應(yīng)用 高等教育出版社,2003.12</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機控制系統(tǒng)課程設(shè)計--最小拍控制設(shè)計
- 《計算機控制》課程設(shè)計報告---無波紋最小拍控制設(shè)計
- 計算機控制課程設(shè)計---達林算法計算機控制系統(tǒng)設(shè)計
- 計算機控制課程設(shè)計---水位控制系統(tǒng)
- 計算機控制系統(tǒng)課程設(shè)計報告
- 計算機控制系統(tǒng)課程設(shè)計報告
- 計算機控制系統(tǒng)課程設(shè)計--- 最少拍控制系統(tǒng)設(shè)計
- 計算機控制課程設(shè)計--啤酒發(fā)酵計算機溫度控制系統(tǒng)設(shè)計
- 溫度控制系統(tǒng)計算機控制課程設(shè)計
- 計算機控制系統(tǒng)、過程控制系統(tǒng)課程設(shè)計
- 溫度控制系統(tǒng)設(shè)計-計算機控制技術(shù)課程設(shè)計
- 計算機控制課程設(shè)計--智能路燈控制系統(tǒng)的設(shè)計
- 溫度控制系統(tǒng)設(shè)計——計算機控制技術(shù)課程設(shè)計
- 計算機控制課程設(shè)計
- 計算機控制系統(tǒng)課程設(shè)計--直流伺服電機控制系統(tǒng)
- 計算機控制課程設(shè)計報告---數(shù)字pid控制系統(tǒng)設(shè)計
- 計算機控制技術(shù)課程設(shè)計-溫度控制系統(tǒng)設(shè)計
- 計算機控制_課程設(shè)計-
- 計算機控制系統(tǒng)課程設(shè)計---多點溫控采暖控制系統(tǒng)
- 計算機控制系統(tǒng)課程設(shè)計--液位控制監(jiān)控系統(tǒng)
評論
0/150
提交評論