課程設計--微分先行pid控制系統(tǒng)設計_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計報告</b></p><p>  題 目: 微分先行PID控制系統(tǒng)設計 </p><p>  課 程: 計算機控制技術課程設計 </p><p>  專 業(yè): 電氣工程及其自動化 </p><p>

2、  班 級:   </p><p>  姓 名: </p><p>  學 號: </p><p><b>  第 一 部 分</b></p><p><

3、b>  任</b></p><p><b>  務</b></p><p><b>  書</b></p><p>  《計算機控制技術》課程設計任務書</p><p><b>  一、課題名稱</b></p><p>  數(shù)字PID控

4、制系統(tǒng)設計</p><p><b>  二、課程設計目的</b></p><p>  課程設計是課程教學中的一項重要內容,是達到教學目標的重要環(huán)節(jié),是綜合性較強的實踐教學環(huán)節(jié),它對幫助學生全面牢固地掌握課堂教學內容、培養(yǎng)學生的實踐和實際動手能力、提高學生全面素質具有很重要的意義。</p><p>  《計算機控制技術》是一門實用性和實踐性都很強

5、的課程,課程設計環(huán)節(jié)應占有更加重要的地位。計算機控制技術的課程設計是一個綜合運用知識的過程,它需要控制理論、程序設計、硬件電路設計等方面的知識融合。通過課程設計,加深對學生控制算法設計的認識,學會控制算法的實際應用,使學生從整體上了解計算機控制系統(tǒng)的實際組成,掌握計算機控制系統(tǒng)的整體設計方法和設計步驟,編程調試,為從事計算機控制系統(tǒng)的理論設計和系統(tǒng)的整定工作打下基礎。</p><p><b>  三、課

6、程設計內容</b></p><p>  設計以89C51單片機、ADC、DAC等電路和運放電路組成的被控對象構成的單閉環(huán)反饋控制系統(tǒng)。</p><p>  1. 硬件電路設計:89C51最小系統(tǒng)加上模入電路ADC0809和模出電路TLC7528;由運放構成的被控對象。</p><p>  2. 控制算法:微分先行的PID控制算法。</p>

7、<p>  3. 軟件設計:主程序、定時中斷程序、A/D轉換程序、濾波程序、D/A輸出程序、PID控制程序等。</p><p><b>  四、課程設計要求</b></p><p>  1. 模入電路能接受雙極性電壓輸入(-5V~+5V),模出電路能輸出雙極性電壓(-5V~+5V)。</p><p>  2. 被控對象每個同學選擇不同

8、:</p><p>  3. PID參數(shù)整定,根據(jù)情況可用擴充臨界比例度法,擴充響應曲線法。</p><p>  4. 定時中斷可在10-50ms中選取,采樣周期取采樣中斷的整數(shù)倍,可取30-150ms,由實驗結果確定。</p><p>  5. 濾波方法可選擇平均值法,中值法等。</p><p>  有關的設計要求可參考《計算機控制實驗指導

9、書》的相關內容。</p><p>  五、課程設計實驗結果</p><p><b>  1. 系統(tǒng)正確運行</b></p><p>  2. 正確整定PID參數(shù)后,系統(tǒng)階躍響應超調<10%,調節(jié)時間盡量短。</p><p><b>  六、進度安排</b></p><p&g

10、t;  七、課程設計報告內容:</p><p>  總結設計過程,寫出設計報告,設計報告具體內容要求如下:</p><p>  1.課程設計的目和設計的任務。</p><p>  2.課程設計的要求。</p><p>  3.控制系統(tǒng)總框圖及系統(tǒng)工作原理。</p><p>  4.控制系統(tǒng)的硬件電路連接圖(含被控對象)

11、,電路的原理。 </p><p>  5.軟件設計流程圖及其說明。</p><p>  6.電路設計,軟件編程、調試中遇到的問題及分析解決方法。</p><p>  7.實驗結果及其分析。</p><p><b>  8.體會。</b></p><p><b>  第 二 部 分<

12、/b></p><p><b>  課</b></p><p><b>  程</b></p><p><b>  設</b></p><p><b>  計</b></p><p><b>  報</b>

13、;</p><p><b>  告</b></p><p><b>  目 錄</b></p><p><b>  1 課題簡介</b></p><p>  1.1課程名稱..................................................

14、.......................................................................... 6</p><p>  1.2課程設計目的.............................................................................................................

15、....... 6</p><p>  1.3課程設計內容.................................................................................................................... 6</p><p>  1.4課程設計要求.......................

16、............................................................................................. 6</p><p><b>  2 方案設計</b></p><p>  2.1 設計步驟...........................................

17、.................................................................................. 7</p><p>  2.1 系統(tǒng)流程圖及工作原理................................................................................................

18、..... 7</p><p><b>  3 硬件電路設計</b></p><p>  3.1被控對象設計....................................................................................................................... 8<

19、/p><p>  3.2硬件電路圖............................................................................................................................ 8</p><p>  4 控制算法設計.................................

20、.............................................................................................. 9</p><p><b>  5 軟件編程設計</b></p><p>  5.1設計流程圖........................................

21、..................................................................................... 10</p><p>  5.2程序.....................................................................................................

22、.................................... 11</p><p>  6 實驗結果與分析.......................................................................................................................... 15</p><p&

23、gt;  7 小結與體會..................................................................................................................................... 17</p><p>  參考文獻..........................................

24、...................................................................................................... 18</p><p><b>  1 課題簡介 </b></p><p><b>  1.1 課題名稱</b></p>&

25、lt;p>  微分先行PID控制系統(tǒng)設計</p><p>  1.2 課程設計目的</p><p>  課程設計是課程教學中的一項重要內容,是達到教學目標的重要環(huán)節(jié),是綜合性較強的實踐教學環(huán)節(jié),它對幫助學生全面牢固地掌握課堂教學內容、培養(yǎng)學生的實踐和實際動手能力、提高學生全面素質具有很重要的意義。</p><p>  《計算機控制技術》是一門實用性和實踐性都很

26、強的課程,課程設計環(huán)節(jié)應占有更加重要的地位。計算機控制技術的課程設計是一個綜合運用知識的過程,它需要控制理論、程序設計、硬件電路設計等方面的知識融合。通過課程設計,加深對學生控制算法設計的認識,學會控制算法的實際應用,使學生從整體上了解計算機控制系統(tǒng)的實際組成,掌握計算機控制系統(tǒng)的整體設計方法和設計步驟,編程調試,為從事計算機控制系統(tǒng)的理論設計和系統(tǒng)的整定工作打下基礎。</p><p>  1.3 課程設計內容

27、</p><p>  設計以89C51單片機、ADC、DAC等電路和運放電路組成的被控對象構成單閉環(huán)反饋控制系統(tǒng)。</p><p>  1. 硬件電路設計:89C51最小系統(tǒng)加上模入電路ADC0809和模出電路TLC7528;由運放構成的被控對象。</p><p>  2. 控制算法:PID控制加史密斯預估控制。</p><p>  3. 軟

28、件設計:主程序、定時中斷程序、A/D轉換程序、濾波程序、D/A輸出程序、PID控制加史密斯預估控制程序。</p><p>  1.4 課程設計要求</p><p>  1. 模入電路能接受雙極性電壓輸入(-5V~+5V),模出電路能輸出雙極性電壓(-5V~+5V)。</p><p><b>  2. 被控對象 </b></p>&

29、lt;p>  3. 定時中斷間隔可在10-20ms中選取,采樣周期T取采樣中斷間隔的整數(shù)倍,可取30-50ms。</p><p> ?。? PID控制器用湊試法整定。</p><p> ?。? 濾波方法可選擇平均值法,中值法等。</p><p>  2 微分先行PID控制方案設計</p><p><b>  2.1 設計步驟

30、</b></p><p>  1、進行硬件設計,根據(jù)G(Z)改造被控對象</p><p>  2、進行微分先行控制算法計算</p><p>  3、讀范例程序,畫出流程圖,進行修改</p><p>  4、連線,調試實驗結果</p><p>  2.2控制系統(tǒng)總框圖及系統(tǒng)工作原理</p>&l

31、t;p><b>  圖1 系統(tǒng)框圖</b></p><p><b>  采樣y(t)</b></p><p><b>  計算</b></p><p><b>  計算</b></p><p>  進行PI計算u(k)</p><

32、p><b>  輸出u(k)</b></p><p>  微分先行PID原理:</p><p>  它和標準PID控制的不同之處在于,只對被控量y(t)微分,不對偏差e(t)微分,也就是說對給定r(t)無微分作用。這樣就可避免給定值的升降給控制系統(tǒng)帶來沖擊。</p><p>  3 微分先行PID控制硬件電路設計</p>&

33、lt;p>  3.1 被控對象設計</p><p>  被控對象由運放和電阻電容組成,如圖2所示。</p><p><b>  其中,</b></p><p>  R1=100K , C1=2Uf , R2=20K</p><p>  R3=100K , C2=4Uf , R4=200K</p>

34、<p>  圖2 被控對象電路圖</p><p>  3.2 硬件電路連接圖</p><p>  圖3 硬件電路連線圖</p><p>  4 微分先行PID控制控制算法設計</p><p><b>  其中</b></p><p>  而yd(k)可通過雙線性變換法得到,過程如下&

35、lt;/p><p><b>  ………………①</b></p><p><b>  由①式變型、整理得</b></p><p><b>  ………②</b></p><p><b>  將上式k變換得到</b></p><p><

36、b>  ………③</b></p><p>  5 微分先行PID控制軟件編程設計</p><p><b>  5.1 設計流程圖</b></p><p><b>  圖4 設計流程圖</b></p><p><b>  5.2 程序</b></p>

37、<p>  /*****************************************</p><p><b>  文件名:PID.C</b></p><p>  功能描述:實現(xiàn)數(shù)字PID調節(jié)器的功能。</p><p>  *****************************************/</p&

38、gt;<p>  #include <reg51.h></p><p>  #include <absacc.h></p><p>  #include <math.h></p><p>  /*****************************************</p><p>

39、<b>  宏定義</b></p><p>  *****************************************/</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define A

40、DC XBYTE[0x0600]//定義模數(shù)轉換IO地址</p><p>  #define DAC_1 XBYTE[0x0640]//定義D/A第一路的IO地址</p><p>  #define DAC_2 XBYTE[0x0641]//定義D/A第二路的IO地址</p><p>  /***************************

41、**************</p><p><b>  全局變量定義</b></p><p>  *****************************************/</p><p>  sbit str = P1^7;//定義A/D啟動信號</p><p>  sbit DIN0 =

42、P1^0;//聲明同步信號</p><p>  sbit str0 = P1^4;//聲明ADC信號</p><p>  uint data time;//聲明變量,用于定時</p><p>  uchar data t0_h,t0_l;//用于存儲定時器0的初值</p><p>  char TK

43、 = 5;//聲明采樣周期變量,//采樣周期=TK*10ms</p><p>  char TC;//TK的變量</p><p>  float T=0.05;</p><p>  float kp = 0.9;//比例系數(shù)</p><p>  uint ti = 500;//積分系數(shù)&

44、lt;/p><p>  float td =8;//微分系數(shù)</p><p>  char IBAND = 126;//積分分離值</p><p>  float V=1.1;</p><p>  char EK;//當前采樣的偏差值</p><p><b>  cha

45、r YK;</b></p><p>  char YK_1;</p><p>  char YDK;</p><p>  char YDK_1;</p><p><b>  char RK;</b></p><p>  char EK_1;//上一次采樣的偏差

46、值</p><p>  char AEK;//偏差的變化量</p><p>  char UK;//當前時刻的D/A輸出</p><p>  float ZEK;</p><p>  /*****************************************</p><p>&

47、lt;b>  主函數(shù)</b></p><p>  *****************************************/</p><p>  void main(void)</p><p><b>  { </b></p><p>  TMOD = 0x01;</p>&l

48、t;p>  time = 10;//定時10ms</p><p>  t0_h = (65536 - 1000 * time) / 256;//計算定時器0初值</p><p>  t0_l = (65536 - 1000 * time) % 256;</p><p>  t0_l = t0_l + 70;//修正因初值重裝而引起的定

49、時誤差</p><p>  TH0 = t0_h;</p><p>  TL0 = t0_l;</p><p>  IT1 = 1;//邊沿觸發(fā)中斷</p><p>  EX1 = 1;//開外部中斷1</p><p>  ET0 = 1;//開定時中斷0</p

50、><p>  TR0 = 1;//啟動定時器</p><p><b>  TC = 1;</b></p><p>  DAC_1= 0x80;//D/A清零</p><p>  EK = EK_1 = 0;//變量清零</p><p>  AEK = UK

51、= 0;</p><p><b>  ZEK = 0;</b></p><p><b>  str = 1;</b></p><p><b>  str0=1;</b></p><p>  EA= 1;//開總中斷</p><p><

52、;b>  while(1);</b></p><p><b>  }</b></p><p>  /**********************************************</p><p><b>  函數(shù)名:INT1</b></p><p>  功能 :1號

53、外部中斷服務程序 </p><p><b>  參數(shù) :無* </b></p><p><b>  返回值:無 * </b></p><p>  ***********************************************/</p><p>  void int1() inte

54、rrupt 2 using 2</p><p><b>  {</b></p><p>  float P,A,B,C,I,TEMP;</p><p><b>  int i;</b></p><p>  DIN0 = 1;//讀取輸入前,先輸出高電平</p><

55、p>  if(DIN0)//判同步信號到否</p><p><b>  {</b></p><p>  YK=YK_1=0;</p><p>  YDK=YDK_1=0;</p><p>  EK = EK_1 = 0;//變量清零</p><p>  UK = AE

56、K =0;</p><p><b>  ZEK = 0;</b></p><p>  DAC_1 = 0x80;//D/A輸出零</p><p>  DAC_2 = 0x80;//D/A輸出零</p><p><b>  TC=1;</b></p><p>

57、;<b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  TC--;//判采樣周期到否</p><p>  if(TC == 0)</p><p><b>

58、  {</b></p><p>  RK = ADC - 128;//采樣當前的偏差值,并計算偏差的變化量</p><p><b>  str0=0;</b></p><p><b>  str=0;</b></p><p><b>  str=1;</b>

59、;</p><p>  for(i=0;i<15;i++);</p><p>  YK=ADC-128;</p><p><b>  str0=1;</b></p><p>  A=(2*V*td-T)/(T+2*V*td);</p><p>  B=(T+2*td)/(T+2*V*td);

60、</p><p>  C=(T-2*td)/(T+2*V*td);</p><p>  YDK=A*YDK_1+B*YK+C*YK_1;</p><p>  EK=RK-YDK; </p><p>  if(abs(EK)> IBAND) I = 0;//判積分分離值</p><p><b>  

61、else</b></p><p><b>  {</b></p><p>  ZEK = EK + ZEK; //計算積分項</p><p>  I= ZEK * TK;</p><p>  I= I / ti;</p><p><b>  }</b>&

62、lt;/p><p><b>  P = EK;</b></p><p>  TEMP = (P + I ) * kp;//計算比例項</p><p>  if(TEMP > 0)//判控制量是否溢出,溢出賦極值</p><p><b>  {</b></p><p&g

63、t;  if(TEMP >= 127)</p><p><b>  UK = 127;</b></p><p><b>  else</b></p><p>  UK = (char)TEMP;</p><p><b>  }</b></p><p&g

64、t;<b>  else</b></p><p><b>  {</b></p><p>  if(TEMP <- 128)</p><p>  UK = -128;</p><p><b>  else</b></p><p>  UK = (c

65、har)TEMP;</p><p><b>  }</b></p><p>  DAC_1 = UK + 128;//D/A輸出控制量</p><p>  TC = TK;//采樣周期變量恢復</p><p><b>  }</b></p><p><

66、;b>  }</b></p><p><b>  }</b></p><p>  /**********************************************</p><p>  函數(shù)名:Timer0</p><p>  功能 :定時器0中斷服務程序</p><p

67、><b>  參數(shù) :無 </b></p><p><b>  返回值:無 </b></p><p>  ***********************************************/</p><p>  void Timer0() interrupt 1 using 1</p>

68、;<p><b>  {</b></p><p>  TH0 = t0_h;//重新裝入初值</p><p>  TL0 = t0_l;</p><p><b>  str = 0;</b></p><p>  str = 1;//產生A/D啟動信號<

69、/p><p><b>  }</b></p><p><b>  6 實驗結果與分析</b></p><p><b> ?、?lt;/b></p><p>  kp = 0.8;ti = 500;td =8</p><p>  此時,系統(tǒng)響應較慢

70、,可以通過增大微分時間常數(shù)調節(jié)</p><p><b> ?、?lt;/b></p><p>  kp = 0.8; ti = 500; td=9</p><p>  此時,系統(tǒng)的響應性能得到改善,但是存在一定靜差,可以通過調節(jié)比例增益kp來減小</p><p><b> 

71、?、?lt;/b></p><p>  kp = 0.9; ti = 500; td=9</p><p>  通過調節(jié)三個參數(shù),系統(tǒng)性能基本達到要求</p><p><b>  7 小結與體會</b></p><p>  通過這次的課程設計,我對《計算機控制技術》

72、這門課和課程設計有了一個全新的認識,也有了很多的體會和心得。</p><p>  《計算機控制技術》是一門實用性和實踐性都很強的課程,課程設計環(huán)節(jié)應占有更加重要的地位。計算機控制技術的課程設計是一個綜合運用知識的過程,它需要控制理論、程序設計、硬件電路設計等方面的知識融合。通過課程設計,我對控制算法設計有了一個更深的認識,也學會了控制算法的實際應用,從整體上了解了計算機控制系統(tǒng)的實際組成,掌握了計算機控制系統(tǒng)的整

73、體設計方法和設計步驟,編程調試,為從事計算機控制系統(tǒng)的理論設計和系統(tǒng)的整定工作打下基礎。</p><p>  按照老師給出的計劃,先進行最少拍控制算法計算,接電路,讀范例程序,畫出流程圖,進行修改,調試實驗結果。思路很清晰,目標很明確。在設計的過程中雖然遇到問題,難免會遇到過各種各樣的問題,同時在設計的過程中發(fā)現(xiàn)了自己的不足之處,計算容易出錯,軟件使用不熟練,但我們幾個小組同心協(xié)力、分工協(xié)作、互相探討,保證了結果

74、的正確性。</p><p>  作為工科專業(yè)的一名學生,對于動手能力有很大的要求。因此我們需要珍惜每次做實驗的機會,盡可能的提高自己的實踐操作技能。也要利用各種機會,以及創(chuàng)造實踐的機會,不斷充實自己,為自己的將來增加更多砝碼,短短一周的課程設計,使我明白了合作的重要性和力量,我還要加強自己的動手能力,我為將來走入社會做準備。同時我也發(fā)現(xiàn)了自己所掌握的知識是真正如此的缺乏,自己綜合應用所學的專業(yè)知識能力是如此的不足

75、,我深深體會到干任何事情都必須耐心、細致,充滿信心。我懂得了不管做什么一定要養(yǎng)成一種高度負責、認真對待的態(tài)度。</p><p>  這次的課程設計也使我認識到任何課程的學習都需要理論結合實際,這樣才能更好地掌握所學的知識并將它很好地應用于實踐中。同時,在實踐過程中,可以通過查找資料、分析資料和請教老師和同學,使一些不清楚的問題得以解決,這樣的話,可以起到事半功倍的效果。當然,最關鍵的還是靠自己親自去思考問題、解決

76、問題,掌握獨自面對各類的問題的方法。不少人抱怨在大學學不到東西,我不這樣認為。我覺得無論是學習還是生活中,只有自己真正用心去學習和參與才可能有收獲,這也算是本次課程設計給我的知識之外的一點小小的感悟吧??傊?,本次課程設計收獲確實良多,和珍惜這種能夠鍛煉自己、提升自己的機會。</p><p>  通過這次課程設計,我得到了一次難得的磨練,讓我學到了很多,提高了自己的實驗素養(yǎng),也增強了自己的信心。最后,我要感謝老師和

77、我的同學對我的無私幫助,對我個人而言這次課程設計將會成為永遠的回憶。</p><p><b>  參 考 文 獻</b></p><p>  [1] 于海生主編,微型計算機控制技術,北京:清華大學出版社,1999</p><p>  [2] 張艷兵等編著,計算機控制技術,北京:國防工業(yè)出版社,2008</p><p> 

78、 [3] 張毅剛主編,單片機原理及應用,北京:高等教育出版社,2004</p><p>  [4] 陳濤編著,單片機應用及C51程序設計,北京:機械工業(yè)出版社,2008</p><p>  [5] 樓然苗, 李光飛編著, 單片機課程設計指導, 北京: 北京航空航天大學出版社, 2007 </p><p>  [7] 控制、電子技術類雜志、報刊</p>

溫馨提示

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

評論

0/150

提交評論