課程設計大林算法控制系統設計_第1頁
課程設計大林算法控制系統設計_第2頁
課程設計大林算法控制系統設計_第3頁
課程設計大林算法控制系統設計_第4頁
課程設計大林算法控制系統設計_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、揚州大學能源與動力工程學院課程設計報告題 目: 大林算法控制系統設計 課 程: 計算機控制技術課程設計 專 業: 電氣工程及其自動化 班 級: 姓 名: 學 號: 第 一 部 分任務書計算機控制技術課程設計任務書一、課題名稱大林算法控制系統設計二、課程設計目的課程設計是課程教學中的一項重要內容,是達到教學目標的重要環節,是綜合性較強的實踐教學環節,它對幫助學生全面牢固地掌握課堂教學內容、培養學生的實踐和實際動手能力、提高學生全面素質具有很重要的意義。計算機控制技術是一門理論性、實用性和實踐性都很強的課程,課程設計環節應占有更加重要的地位。計算機控制技術的課程設計是一個綜合運用知識的過程,它需要

2、控制理論、程序設計、硬件電路設計等方面的知識融合。通過課程設計,加深對學生控制算法設計的認識,學會控制算法的實際應用,使學生從整體上了解計算機控制系統的實際組成,掌握計算機控制系統的整體設計方法和設計步驟,編程調試,為從事計算機控制系統的理論設計和系統的調試工作打下基礎。三、課程設計內容設計以89C51單片機和ADC、DAC等電路、由運放電路實現的被控對象構成的計算機單閉環反饋控制系統。1. 硬件電路設計:89C51最小系統加上模入電路(用ADC0809等)和模出電路(用TLC7528和運放等);由運放實現的被控對象。2. 控制算法:大林控制算法。3. 軟件設計:主程序、中斷程序、A/D轉換程

3、序、濾波程序、大林算法控制程序、D/A輸出程序等。四、課程設計要求1. 模入電路能接受雙極性電壓輸入(-5V+5V),模出電路能輸出雙極性電壓(-5V+5V)。2. 模入電路用兩個通道分別采集被控對象的輸出和給定信號。3. 每個同學選擇不同的被控對象:4. 對象的純延遲環節用軟件通過數組單元移位實現。5. 定時中斷間隔選取50ms,采樣周期T要求既是采樣中斷間隔的整數倍,又滿足。6. 閉環系統時間常數按的被控對象最大時間常數選擇。有關的設計資料可參考計算機控制實驗指導書的相關內容。五、課程設計實驗結果1. 控制系統能正確運行。2. 有振鈴和消除振鈴的系統階躍輸出和控制器。六、進度安排序號內容天

4、數1布置任務,熟悉課題要求0.52總體方案確定,硬件電路設計1.53熟悉實驗箱及C語言開發環境,研讀范例程序,14控制算法設計15軟件編程,調試16實驗17總結,撰寫課程設計報告1七、課程設計報告內容:總結設計過程,寫出設計報告,設計報告具體內容要求如下:1課程設計的目和設計的任務。2課程設計的要求。3控制系統總框圖及系統工作原理。4控制系統的硬件電路連接圖(含被控對象),電路的原理。 5軟件設計流程圖及其說明。6電路設計,軟件編程、調試中遇到的問題及分析解決方法。7實驗結果及其分析。8體會。第 二 部 分課程設計報告 目 錄1 課程簡介.71.1程設計目的. 71. 2程設計內容. 71.3

5、程設計要求.72 方案設計. .8 2.1控制系統整體方案.82.2控制系統閉環工作原理.8 3 大林算法硬件電路設計. .83.1 A/D采樣電路.8 3.2 D/A輸出電路. . . . . . .103.3 給定對象硬件電路設計.10 3.4譯碼電路. . .11 3.5總硬件圖. . .124 控制算法設計.124.1控制算法的原理.12 4.2采樣周期.125 軟件編程設計.12 5.1 主程序與中斷流程圖.125.2 部分控制程序代碼.133. 全局變量定義的源代碼:.166 實驗結果與分析.177 小結與體會. .17參考文獻.18附錄 . .191、 課題簡介1.1 課題目的課

6、程設計是課程教學中的一項重要內容,是達到教學目標的重要環節,是綜合性較強的實踐教學環節,它對幫助學生全面牢固地掌握課堂教學內容、培養學生的實踐和實際動手能力、提高學生全面素質具有很重要的意義。計算機控制技術是一門理論性、實用性和實踐性都很強的課程,課程設計環節應占有更加重要的地位。計算機控制技術的課程設計是一個綜合運用知識的過程,它需要控制理論、程序設計、硬件電路設計等方面的知識融合。通過課程設計,加深對學生控制算法設計的認識,學會控制算法的實際應用,使學生從整體上了解計算機控制系統的實際組成,掌握計算機控制系統的整體設計方法和設計步驟,編程調試,為從事計算機控制系統的理論設計和系統的調試工作

7、打下基礎。1.2 課題內容設計以89C51單片機和ADC、DAC等電路、由運放電路實現的被控對象構成的計算機單閉環反饋控制系統。1. 硬件電路設計:89C51最小系統加上模入電路(用ADC0809等)和模出電路(用TLC7528和運放等);由運放實現的被控對象。2. 控制算法:大林控制算法。3. 軟件設計:主程序、中斷程序、A/D轉換程序、大林算法控制程序、D/A輸出程序等。1.3 課題要求1. 模入電路能接受雙極性電壓輸入(-5V+5V),模出電路能輸出雙極性電壓(-5V+5V)。2. 模入電路用兩個通道分別采集被控對象的輸出和給定信號。3. 選擇被控對象: 4. 對象的純延遲環節用軟件通過

8、數組單元移位實現。5. 定時中斷間隔選取50ms,采樣周期T要求既是采樣中斷間隔的整數倍,又滿足。6. 閉環系統時間常數按的被控對象最大時間常數選擇。2.大林算法控制系統方案設計 2.1控制系統總體介紹圖2.1-1大林算法設計的閉環控制系統方框圖大多數工業對象具有較大的純滯后時間,可以近似用一階或二階慣性環節加純滯后環節來表示,其傳遞函數為一階對象:,二階對象:,大林算法的設計目標是使整個閉環系統所期望的傳遞函數 (s)相當于一個純滯后環節和一個慣性環節相串聯,即,并希望整個閉環系統的純滯后時間和被控對象的純滯后時間相同。其中為閉環系統的時間常數,純滯后時間與采樣周期T有整數倍關系,(N=1,

9、2)。2.2控制系統閉環工作原理在本次大林算法控制系統中,系統先進行A/D采樣,將給定值采樣值取到單片機內,之后單片機會選擇另外一路通道,進行輸出值即反饋值的采樣。將輸出值采樣到單片機內后,在單片機中進行差值E(k)計算,再通過單片機中的算法程序得到輸出量U(k),再經過D/A變換器,將輸出結果作用于被控對象。經被控對象的輸出值又將作為反饋值被采樣到單片機內。3.大林算法控制系統硬件電路設計3.1 A/D采樣電路 該實驗的A/D采樣硬件電路如圖3-1所示 圖3-1 A/D采樣硬件電路圖 上圖所示的是ADC0809與8051連接的硬件電路圖,其中在ADC0809中,IN-6、IN-7分別采樣給定

10、信號和反饋信號,AD轉換器的引腳A接單片機的P16,用于選擇采樣通道。控制計算機的定時器作為基準時鐘(初始化為50ms),在第一次啟動A/D轉換時,此時P16=0,選擇的IN-6,采樣的是給定信號,當采樣周期到時,此時P16=1,同時在定時器中啟動A/D轉換,此時采樣的是反饋信號,給定信號和反饋信號的采樣值分別存儲在程序的RK和UK1中。 模數單元采用ADC0809芯片,主要包括多路模擬開關和A/D轉換器兩部分。其主要特點為:單電源供電、工作始終CLOCK最高可達1200KHz、8位分辨率、8個單端模擬輸入端(IN0IN7)、TTL電平兼容等,可以很方便地和微處理器接口。 通過三端地址譯碼A、

11、B、C多路開關可選通8路模擬輸入的任何一路進行A/D變換。其中IN1IN5的模擬量輸入允許范圍:0V4.98V,對應數字量為00HFFH,2.5V對應80H;IN6和IN7兩路由于接了上拉電阻,所以模擬量輸入允許范圍:-5V+4.98V,對應數字量00HFFH,0V對應80H。在設計過程中使用的TD-ACC+教學系統中的ADC0809芯片,其輸出八位數據線以及CLOCK線已連到控制計算機的數據線及系統應用時鐘1MCLK(1MHz)上。其它控制線根據實驗要求可另外連接(A、B、C、STR、/OE、EOC、IN0IN7)。 其中IN6和IN7可以測量-5V+5V的量,主要是因為加了外部電路。如圖所

12、示,在IN6和IN7的實際輸入端其輸入范圍為05V,在外圍電路中,采用兩個相同電阻分壓的方式,因為給了一個5V的電壓,當輸入端為-5V時,0809的實際輸入端為兩者相加之和的一半,為0V,在0809采樣電壓的范圍以內。但將該采樣值取進單片機內后,其表示范圍為-128127,對應為05V的電壓,所以我們需要在程序里將采樣值減去128以使采樣值與設定值相對應。因此加了外部電路,0809就可以采集-5+5V的電壓了。3.2 D/A輸出電路 數模轉換單元采用TLC7528芯片,它是8位、并行、兩路、電壓型輸出模數轉換器。其主要參數如下:轉換時間100ns,滿量程誤差1/2LBS,參考電壓-10V+10

13、V,供電電壓+5V+15V,輸入邏輯電平與TTL兼容。輸入數字范圍為00HFFH,80H對應于0V,輸出電壓為-5V+4、96V。在課程設計過程中采用的TD-ACC+教學系統中的TLC7528,其輸入數字量得八位數據線、寫線和通道選擇控制線已經接至控制計算機的總線上。片選線預留出待實驗中連接到相應的I/O片選上,如圖3-2。圖3-2 D/A輸出電路 該芯片TLC7528可以雙極性輸出,但須在單片機中將D/A的輸出值加128后再交給TLC7528芯片進行D/A輸出。3.3給定對象硬件電路設計 圖3-3 給定對象硬件電路圖如圖3-3所示,為被控對象的硬件電路的設計圖,在本次的課程設計中的被控對象傳

14、遞函數: ,其中比例部分由兩個運算放大器組合實現,即,第一個運算放大器的積分部分為42001000=0.8,實現被控對象的第一部分,第二個運算放大器的積分部分為42501000=1,實現被控對象的第二部分。 延遲通過數組來實現,滯后環節使信號延遲,為此,在內存中專門設定N個單元作為存放信號m(k)的歷史數據,每采樣一次,把m(k)記入0單元,同時0單元原來存放的數據移到1單元,單元N輸出的信號,就是滯后N個采樣周期的m(k-N)信號。 3.4 譯碼電路 圖3-4 譯碼電路3.5總硬件圖見附錄圖 總硬件圖4.大林算法控制系統算法設計4.1 控制算法的原理 實驗算法中,用脈沖傳遞函數近似法求得對應

15、的閉環脈沖傳遞函數: ,將代入,并進行Z變換:式中 , 經計算 ,無振鈴時,有,于是對應的遞推公式為 u(k)=-0.4981u(k-1)+0.9409u(k-2)+0.5573u(k-3)+1.4967e(k)-1.7089e(k-1)+0.4859e(k-2)則程序中 KK0=1.4967,KK1=-1.7089,KK2=0.4859,PP1=-0.4981,PP2=0.9409,PP3=0.55734.2 采樣周期的選擇在本實驗中,定時中斷間隔選取50ms,采樣周期T要求既是采樣中斷間隔的整數倍,又要滿足,而由被控對象的表達式可知,所以取N=1,。 因為,因為采樣周期T=500ms=0.

16、5s,定時中斷為0.5s,就是說1個定時中斷后進行采樣。5.大林算法控制系統軟件編程設計5.1 主程序與中斷流程圖主程序流程圖: 設定時器工作狀態 定時器裝入初值 設定外中斷類型 開外中斷和定時器中斷 啟動定時器 D/A清零 變量清零 圖5.1-1采樣中斷服務程序流程圖: 圖5.1-25.2 部分控制程序代碼1.主程序部分源碼:void main(void) TMOD = 0x01;t0_h = (65536-15536)/256;/計算定時器0初值t0_l = (65536-15536)%256;t0_l = t0_l+20;/修正因初值重裝而引起的定時誤差TH0 = t0_h;TL0 =

17、t0_l;IT1 = 1;/邊沿觸發中斷EX1 = 1;/開外部中斷1ET0 = 1;/開定時中斷0TR0 = 1;/啟動定時器TC = 1;DAC_1= 0x80;/D/A清零UK = UK_1 = UK_2 = UK_3 = 0;/變量清零EK = EK_1 = EK_2 = EK_3 = 0; RK = RK_1 = RK_2 = RK_3 = 0;bb = 0;EA = 1;/開總中斷FLG = 0;DOUT0 = 0;while(1);主程序的功能主要是:對定時器的賦值、開外中斷、初始各變量,其中while(1)是使主程序進入死循環,等待中斷到來。 2. 采樣中斷程序的部分源碼: (

18、1)判斷同步信號程序:DIN0 = 1;/讀取輸入前,先輸出高電平 if(DIN0)/判同步信號到否 UK = UK_1 = UK_2 = UK_3 = 0; EK = EK_1 = EK_2 = EK_3 = 0;RK = RK_1 = RK_2 = RK_3 = 0; DAC_1 = 0x80;/D/A輸出零TC = 1; (2)雙通道采樣: TC-;/判采樣周期到否 if(TC=0) if(FLG=0) RK=ADC_7-128;/采樣當前的給定值DOUT0 = 1; FLG = 1; TC = TK; else FLG = 0;UK = ADC_7-128;/采樣當前的輸出值,并計算偏

19、差的變化量 DOUT0 = 0;EK = RK-UK;EK_1 = RK_1-UK_1;EK_2 = RK_2-UK_2;EK_3 = RK_3-UK_3; i=KK*0EK*+KK1*EK_1+EK_2*KK2j = PP1*UK_1 + PP2*UK_2 + PP3*UK_3;UK = G*i + j; if(UK0)/判控制量是否溢出,溢出賦極值 if(UK127) aa = 127; else aa = (char)UK; else if(UK-128) aa = -128; else aa = (char)UK; DAC_1 = bb+128;/D/A輸出控制量 bb =aa ;UK

20、_3 = UK_2;/控制量遞推 UK_2 = UK_1; UK_1 = UK; EK_3 = EK_2;/偏差遞推 EK_2 = EK_1; EK_1 = EK;TC = TK;/采樣周期變量恢復 雙通道采樣原理說明:由于在主程序中,將DOUT2置“0”,已經選擇了采樣通道IN6,第一次進行A/D轉換時,對給定信號進行采樣,并將采樣值存儲在RK中,同時將DOUT2置“1”,這時將A/D通道IN7選中,等待采樣周期到時,則采樣反饋信號,并將采樣值存儲在UK1中,在變量定義中,已經將P1.6定義為DOUT2,故改變DOUT2值就改變了P1.6。 中斷程序實現的功能:對給定信號進行采樣,并將采樣值

21、存儲在RK中,同時將DOUT2置“1”,將A/D通道IN7選中,待采樣周期到時,則采樣反饋信號,并將采樣值存儲在UK1中,接下來便是計算偏差E(k),計算U(k),將值通過端口DAC_1在下一周期到來時輸出;再次在該中斷程序中,增加一個變量bb1,用于存儲前一周期的輸出值,這樣使得輸出量能夠延遲1秒輸出;最后就是通過遞推公式,計算實現輸出信號的不斷優化。該程序實現的功能是對定時器的重新裝值,同時,當采樣周期到時,啟動A/D,用于對轉換反饋信號進行A/D轉換。 3. 全局變量定義的源代碼:sbit str = P17; /定義A/D啟動信號sbit DIN0 = P10;/聲明同步信號sbit

22、DOUT0= P14; /用于控制采保產生純滯后一拍sbit DOUT1= P15;uint data time; /聲明變量,用于定時uchar data t0_h,t0_l; /用于存儲定時器0的初值int TK=100;/聲明采樣周期變量,/采樣周期TK*10msint TC;/TK的變量float KK0=1.4967 ; /系數kk0Float KK1 = -1.7089;/系數kk1float KK2=0.4859;/系數kk2Float PP1= -0.4981 ;/系數pp1float PP2=0.9409;/系數pp2float PP3 = 0.5573 ; /系數pp3 f

23、loat G = 1; /增益調整float UK;RK;/當前時刻的D/A輸出int j,i,a2;/當前時刻的偏差int EK,EK_1,EK_2,EK_3;/前3次采樣時刻的控制量和偏差float UK_1,UK_2,UK_3;RK_1,RK_2,RK_3;6.實驗結果7. 小結與體會 為期一周半的機控課程設計已然結束,在我們小組的團結合作下,我們圓滿完成了課程設計的任務。實驗的前兩天,我們在實驗室中每個對課程設計的任務和要求做了詳細的閱讀和分析,并且到網上和圖書館查閱了相關的資料和文獻,對此次課程設計有了一個大概的了解和掌握。緊接著,我們開始利用軟件進行一些初步的摸索和試驗,部分同學開始進行程序的編寫,此時,我們便遇到了第一個困難,在老師的指點和同學的幫助下,我們靜下心來仔細分析冗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論