久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9226|回復: 1
打印 上一主題 下一主題
收起左側(cè)

湊試法 擴充臨界比例度法 擴充響應曲線法整定PID參數(shù)單片機源程序 帶死區(qū)PID算法

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:275622 發(fā)表于 2018-1-13 17:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
學過的單片機實驗內(nèi)容及程序
計算機控制技術(shù)綜合性實驗指導書-電氣(單片機實驗
編寫:蒙志強
重慶交通大學機電與汽車工程學院
機電與自動化控制實驗室
2017年3月1日
目錄
項目一、湊試法整定PID參數(shù)
項目二、帶死區(qū)PID算法
項目三、擴充臨界比例度法PID參數(shù)
項目四、擴充響應曲線法整定PID參數(shù)

                                          項目1  湊試法整定PID參數(shù)
一、實驗目的
1.了解PID參數(shù)對系統(tǒng)性能的影響。
2.學習湊試法整定PID參數(shù)。
3.掌握積分分離法PID控制規(guī)律
二、實驗設備
PC機一臺,TD-ACC+實驗系統(tǒng)一套,i386EX系統(tǒng)板一塊
三、實驗原理和內(nèi)容

圖3.2-1

圖3.2-1是一個典型的PID閉環(huán)控制系統(tǒng)方框圖,其硬件電路原理及接線圖可設計如下,圖中畫“○”的線需用戶在實驗中自行接好,對象需用戶在運放單元搭接。

上圖中,控制計算機的“OUT1”表示386EX內(nèi)部1#定時器的輸出端,定時器輸出的方波周期=定時器時常,“IRQ7”表示386EX 內(nèi)部主片8259的7號中斷,用作采樣中斷,“DIN0”表示386EX的I/O管腳P1.0,在這里作為輸入管腳用來檢測信號是否同步。

這里,系統(tǒng)誤差信號E通過模數(shù)轉(zhuǎn)換單元“IN7”端輸入,控制機的定時器作為基準時鐘 (初始化為10ms),定時采集“IN7”端的信號,并通過采樣中斷讀入信號E的數(shù)字量,并進行PID計算,得到相應的控制量,再把控制量送到數(shù)模轉(zhuǎn)換單元,由“OUT1”端輸出相應的模擬信號,來控制對象系統(tǒng)。

本實驗中,采用位置式PID算式。在一般的PID控制中,當有較大的擾動或大幅度改變給定值時,會有較大的誤差,以及系統(tǒng)有慣性和滯后,因此在積分項的作用下,往往會使系統(tǒng)超調(diào)變大、過渡時間變長。為此,可采用積分分離法PID控制算法,即:當誤差e ( k ) 較大時,取消積分作用;當誤差e ( k ) 較小時才將積分作用加入。

討論PID參數(shù)對系統(tǒng)性能的影響:

(1) 增大比例系數(shù)KP一般將加快系統(tǒng)的響應,在有靜差的情況下有利于減小靜差。但過大的比例系數(shù)會使系統(tǒng)有較大的超調(diào),并產(chǎn)生振蕩,使系統(tǒng)穩(wěn)定性變壞。

(2) 增大積分時間參數(shù)TI有利于消除靜差、減小超調(diào)、減小振蕩,使系統(tǒng)更加穩(wěn)定,但系統(tǒng)靜差的消除將隨之減慢。

(3) 增大微分時間參數(shù)TD有利于加快系統(tǒng)響應,使超調(diào)量減小,系統(tǒng)穩(wěn)定性增加,但系統(tǒng)對擾動的抑制能力減弱,對擾動有較敏感的響應。

在調(diào)整參數(shù)時,可以使用湊試法。參考以上參數(shù)對控制過程的影響趨勢,對參數(shù)實行“先比例,后積分,再微分”的步驟。

(1) 首先整定比例部分。將比例系數(shù)KP由小變大,并觀察相應的系統(tǒng)響應,直到響應曲線超調(diào)小、反應快。如果系統(tǒng)沒有靜差,或者靜差小到允許的范圍內(nèi),那么只需比例調(diào)節(jié)器即可。

(2) 如果在比例調(diào)節(jié)的基礎上系統(tǒng)的靜差不能滿足要求,則須加入積分作用。整定時首先置積分時間TI為一較大值,并將第一步整定得到的比例系數(shù)KP縮小 (如80%),然后減小積分時間,使靜差得到消除。如果動態(tài)性能 (過渡時間短) 也滿意,則需PI調(diào)節(jié)器即可。

(3) 若動態(tài)性能不好,則需加入微分作用。整定時,使微分時間TD從0變大,并相應的改變比例系數(shù)和積分時間,逐步湊試,直到滿意結(jié)果

由于PID三個參數(shù)有互補作用,減小一個往往可由幾個增大來補償,因此參數(shù)的整定值不唯一,不同的參數(shù)組合完全有可能得到同樣的效果。

四、實驗步驟

1.參考流程圖3.2-3編寫實驗程序,檢查無誤后編譯、鏈接。

2.按照實驗線路圖3.2-2接線,檢查無誤后開啟設備電源。

3.調(diào)節(jié)信號源中的電位器及撥動開關(guān),使信號源輸出幅值為2V,周期6S的方波。確定系統(tǒng)的采樣周期以及積分分離值。

4.裝載程序,將全局變量TK (采樣周期)、EI (積分分離值)、KP (比例系數(shù))、TI (積分系數(shù))和TD (微分系數(shù)) 加入變量監(jiān)視,以便實驗過程中觀察和修改。

5.運行程序,將積分分離值設為最大值7FH (相當于沒有引入積分分離),用示波器分別觀測輸入端R和輸出端C。

6.如果系統(tǒng)性能不滿意,用湊試法修改PID參數(shù),直到響應曲線滿意,并記錄響應曲線的超調(diào)量和過渡時間。

7.修改積分分離值為20H,記錄此時響應曲線的超調(diào)量和過渡時間,并和未引入積分分離值時的響應曲線進行比較。

8.將6和7中的較滿意的響應曲線分別保存,在畫板、PHOTOSHOP中處理后粘貼到WORD中,方便形成實驗報告。

五、實驗代碼:

功能描述:實現(xiàn)數(shù)字PID調(diào)節(jié)器的功能。

  1. *****************************************/
  2. #include <reg51.h>
  3. #include <absacc.h>
  4. #include <math.h>
  5. /*****************************************
  6. 宏定義
  7. *****************************************/
  8. #define uchar unsigned char
  9. #define uint  unsigned int
  10. #define ADC_7 XBYTE[0x0600]                                          //定義模數(shù)轉(zhuǎn)換IO地址
  11. #define DAC_1 XBYTE[0x0640]                                          //定義D/A第一路的IO地址

  12. /*****************************************
  13. 全局變量定義
  14. *****************************************/
  15. sbit  str  = P1^7;                                                                      //定義A/D啟動信號
  16. sbit  DIN0 = P1^0;                                                                      //聲明同步信號
  17. uint  data time;                                                                      //聲明變量,用于定時
  18. uchar data t0_h,t0_l;                                                        //用于存儲定時器0的初值
  19. char TK=5;                                                                                                  //聲明采樣周期變量,//采樣周期=TK*10ms
  20. char TC;                                                                                                  //TK的變量
  21. float kp=0.20;                                                                                    //比例系數(shù)
  22. char ti=30;                                                                                                  //積分系數(shù)
  23. char td=1;                                                                                                  //微分系數(shù)
  24. char IBAND=32;                                                                                    //積分分離值
  25. char EK;                                                                                                  //當前采樣的偏差值
  26. char EK_1;                                                                                                  //上一次采樣的偏差值
  27. char AEK;                                                                                                  //偏差的變化量
  28. char UK;                                                                                                  //當前時刻的D/A輸出
  29. int  ZEK;
  30. /*****************************************
  31. 主函數(shù)
  32. *****************************************/
  33. void main(void)
  34. {              
  35.               TMOD = 0x01;
  36.               time = 10;                                                                                                  //定時10ms
  37.               t0_h  = (65536-500*time)/256;                            //計算定時器0初值
  38.               t0_l  = (65536-500*time)%256;
  39.               t0_l = t0_l+20;                                                                                    //修正因初值重裝而引起的定時誤差
  40.               TH0  = t0_h;
  41.               TL0  = t0_l;
  42.               IT1  = 1;                                                                                                  //邊沿觸發(fā)中斷
  43.               EX1  = 1;                                                                                                  //開外部中斷1
  44.               ET0  = 1;                                                                                                  //開定時中斷0
  45.               TR0  = 1;                                                                                                  //啟動定時器

  46.               TC   = 1;
  47.               DAC_1= 0x80;                                                                                    //D/A清零
  48.               EK=EK_1=0;                                                                                                  //變量清零
  49.               AEK=UK=0;
  50.               ZEK=0;

  51.               EA              = 1;                                                                                                  //開總中斷
  52.               while(1);
  53. }

  54. /**********************************************
  55. 函數(shù)名:INT1
  56. 功能  :1號外部中斷服務程序
  57. 參數(shù)  :無*
  58. 返回值:無 *
  59. ***********************************************/
  60. void int1() interrupt 2 using 2
  61. {              float P,D,I,TEMP;

  62.               DIN0 = 1;                                                                                                  //讀取輸入前,先輸出高電平
  63.   if(DIN0)                                                                                                                //判同步信號到否
  64.               {
  65.                   EK=EK_1=0;                                                                                    //變量清零
  66.                             UK=AEK=0;
  67.                   ZEK=0;
  68.                   DAC_1 =0x80;                                                                      //D/A輸出零
  69.                             TC=1;
  70.               }
  71.   else
  72.     {
  73.                             TC--;                                                                                                  //判采樣周期到否
  74.                   if(TC==0)
  75.                                {
  76.                                           EK  = ADC_7-128;                                          //采樣當前的偏差值,并計算偏差的變化量
  77.                                           AEK =EK-EK_1;
  78.                                           EK_1=EK;
  79.                                          
  80.                                          
  81.                                  if(abs(EK)> IBAND)  I=0;              //判積分分離值
  82.                                  else
  83. …………
  84. …………限于本文篇幅 余下代碼請從51黑下載附件…………

復制代碼

六、實驗結(jié)果及分析


項目2   帶死區(qū)PID控制

一、實驗目的

掌握帶死區(qū)的PID控制規(guī)律

二、實驗設備

PC機一臺,TD-ACC+實驗系統(tǒng)一套,i386EX系統(tǒng)板一塊

三、實驗原理及內(nèi)容

1.在計算機控制系統(tǒng)中,某些系統(tǒng)為了避免過于頻繁的控制動作,為了消除由于頻繁動作所引起的振蕩,通常采用帶死區(qū)的PID控制系統(tǒng),該系統(tǒng)實際上是一個非線性控制系統(tǒng)。其基本思想是:可以按實際需要設置死區(qū)B,當誤差的絕對值B時,P (K)為0,U (K)也為常值,實際應用中,常值是由經(jīng)驗值來確定的;當>B時,P (K)= , U (K)以PID運算的結(jié)果輸出。

圖3.3-1

2.圖3.3-1所示的方框圖,其硬件電路原理及接線圖見圖3.3-3。

圖3.3-3

四、實驗步驟

1.參照圖3.3-2的流程圖編寫實驗程序,檢查無誤后編譯、鏈接。

2.按照實驗線路圖3.3-3接線,檢查無誤后開啟設備電源。調(diào)節(jié)信號源中的電位器和撥動開關(guān),使信號源輸出幅值為4V,周期6S的方波。

3.裝載程序,將全局變量TK (采樣周期)、EI (積分分離值)、KP (比例系數(shù))、TI (積分系數(shù))、TD (微分系數(shù))、PT(死區(qū)變量值) 和 CONST(常值)加入變量監(jiān)視,以便實驗過程中觀察和修改。

4.運行程序,將死區(qū)寬度B (PT) 設為最小值00H (相當于沒有引入死區(qū)控制),用示波器分別觀測控制量輸出端U (即數(shù)模轉(zhuǎn)換單元的“OUT1”端) 和對象輸出端C。

5.如果系統(tǒng)性能不滿意,用湊試法修改PID參數(shù),直到響應曲線滿意。

6.修改死區(qū)寬度B (PT)為02H,用示波器分別觀測控制量輸出端U (即數(shù)模轉(zhuǎn)換單元的“OUT1”端) 和對象輸出端C,記錄并和積分分離時的響應曲線進行比較



五、實驗代碼
功能描述:實現(xiàn)死區(qū)PID數(shù)字調(diào)節(jié)器,死區(qū)寬度和常值可根據(jù)實際情況進行修改

(源碼見附件)

六、實驗結(jié)果分析



項目3  擴充臨界比例度法整定PID參數(shù)

一、實驗目的

1.學習并掌握擴充臨界比例度法整定PID參數(shù)。

二、實驗設備

PC機一臺,TD-ACC+實驗系統(tǒng)一套,i386EX系統(tǒng)板一塊

三、實驗原理及內(nèi)容

1、實驗原理

擴充臨界比例度法是對模擬調(diào)節(jié)器中的臨界比例度法的推廣,在工程實踐中最常用,其參數(shù)整定步驟如下:

(1) 選擇一個足夠小的采樣周期T,一般取系統(tǒng)純滯后時間的1/10以下。

(2) 使系統(tǒng)閉環(huán)工作,只用比例控制,增大比例系數(shù)KP直到系統(tǒng)等幅振蕩,記下此時的臨界比例系數(shù)KPU和臨界振蕩周期TU (見圖3.4-1)。

圖3.4-1

(3) 選擇控制度 (1.05~2.0)?刂贫戎笖(shù)字調(diào)節(jié)器和模擬調(diào)節(jié)器控制效果之比。

(4) 根據(jù)控制度,查表3.4-1計算出采樣周期T和KP、TI、TD。

表3.4-1

控制度

T

KP

TI

TD

1.05

0.014TU

0.63KPU

0.49TU

0.14TU

1.2

0.043TU

0.47KPU

0.47TU

0.16TU

1.5

0.09TU

0.34KPU

0.43TU

0.20TU

2.0

0.16TU

0.27KPU

0.40TU

0.22TU


2) 實驗設計

圖3.4-2是一個PID閉環(huán)控制系統(tǒng)的實驗電路原理及接線圖,圖中畫“○”的線需用戶在實驗中自行接好,對象需用戶在運放單元搭接。其相應的程序流程圖和3.2節(jié)中的圖3.2-3是一樣的,實驗中的參數(shù)取值范圍規(guī)定為:

參數(shù)名稱

T

KP

TI

TD

取值范圍

1~FFH

0~FFFFH

1~7FFFH

0~7FFFH

實際量綱

10~2550ms

0~1倍

10ms~327.67s

0ms~327.67s


圖3.4-2

上圖中,控制計算機的“OUT1”表示386EX內(nèi)部1#定時器的輸出端,定時器輸出的方波周期=定時器時常,“IRQ7”表示386EX 內(nèi)部主片8259的7號中斷,用作采樣中斷,“DIN0”表示386EX的I/O管腳P1.0,在這里作為輸入管腳用來檢測信號是否同步。

本實驗中,將針對該閉環(huán)系統(tǒng)應用臨界比例度法來整定PID參數(shù)。

四、實驗步驟

(1) 編寫程序,檢查無誤后編譯、鏈接并裝載程序。

(2) 按照實驗線路圖3.4-2接線,調(diào)節(jié)信號源使其輸出幅值為3V,周期6S的方波。

(3) 由于模擬對象的慣性時常約為250ms,取采樣周期T=10ms。

(4) 裝載程序,將全局變量TK (采樣周期)、EI (積分分離值)、KP (比例系數(shù))、TI (積分系數(shù))和TD (微分系數(shù))加入變量監(jiān)視,以便實驗過程中觀察和修改。

(5) 運行程序且只用比例控制 (EI = 0,TD = 0),KP由小變大,使系統(tǒng)等幅振蕩,記下此時的臨界比例系數(shù)KPU和臨界振蕩周期TU。

(6) 查表3.4-1,選擇控制度2.0,計算出采樣周期T和KP、TI、TD。

(7) 將參數(shù)重新寫入PID控制程序,運行程序并用示波器觀測輸入和輸出,如果控制效果不太滿意,可適當結(jié)合湊試法調(diào)整參數(shù),直到滿意為止。

五、實驗代碼

功能描述:利用此程序可以實現(xiàn)臨界比例度法整定PID參數(shù)。


(源碼見附件)


六、實驗結(jié)果





項目4  擴充響應曲線法整定PID參數(shù)

一、實驗目的

1.學習并掌握擴充響應曲線法整定PID參數(shù)。

二、實驗設備

PC機一臺,TD-ACC+實驗系統(tǒng)一套,i386EX系統(tǒng)板一塊

三、實驗原理及內(nèi)容

1 實驗原理

擴充響應曲線法是模擬調(diào)節(jié)器的響應曲線法的一種擴充,也是一種常用的工程整定方法。其參數(shù)整定步驟如下:

(1) 使數(shù)字調(diào)節(jié)器不接入系統(tǒng),讓系統(tǒng)處于手動操作狀態(tài),當系統(tǒng)穩(wěn)定在某一值處后,給對象一個階躍輸入。

(2) 用儀表記錄下被調(diào)量在階躍輸入下的整個響應曲線,見圖3.4-3。

圖3.4-3

圖中“”表示對象的時間常數(shù);“”表示對象的純滯后時常

(4) 根據(jù)所得的、,查表3.4-2計算出采樣周期T和KP、TI、TD

表3.4-2

控制度

T

KP

TI

TD

1.05

0.05

1.15

2.00

0.45

1.2

0.16

1.0

1.90

0.55

1.5

0.34

0.85

1.62

0.65

2.0

0.60

0.60

1.50

0.82


2) 實驗設計

同樣,圖3.4-4也是一個PID閉環(huán)控制系統(tǒng)的實驗電路原理及接線圖,圖中畫“○”的線需用戶在實驗中自行接好,對象需用戶在運放單元搭接。其相應的程序流程圖和3.2節(jié)中的圖3.2-3是一樣的。本實驗中,將針對該閉環(huán)系統(tǒng)應用擴充響應曲線法來整定PID參數(shù)。

圖3.4-4中,控制計算機的“OUT1”表示386EX內(nèi)部1#定時器的輸出端,定時器輸出的方波周期=定時器時常,“IRQ7”表示386EX 內(nèi)部主片8259的7號中斷,用作采樣中斷,“DIN0”表示386EX的I/O管腳P1.0,在這里作為輸入管腳用來檢測信號是否同步。

實驗中,參考程序中的參數(shù)取值范圍規(guī)定為:

參數(shù)名稱

T

KP

TI

TD

取值范圍

1~7FH

0~800H

1~1FFH

0~1FFH

實際量綱

10~1270ms

0~8倍

10ms~5110s

0ms~5110ms


圖3.4-4

四、實驗步驟

(1) 參照圖3.4-5接線,調(diào)節(jié)器先不接入系統(tǒng)中。圖中畫“○”的線需用戶在實驗中自行接好,對象需用戶在運放單元搭接。

圖3.4-5

(2) 調(diào)節(jié)信號源使其“OUT”輸出幅值為2V,周期12S的方波。

(3) 用示波器測量系統(tǒng)輸出“C”,并記錄下波形。在響應曲線最大斜率處作切線,用游標測量,作圖求得滯后時間和對象時常。計算出/,查表3.4-2,控制度選擇2.0時可求得數(shù)字調(diào)節(jié)器的KP、TI、TD以及采樣周期T的初始值。

  • 按照圖3.4-4接線,將數(shù)字調(diào)節(jié)器接入系統(tǒng),將以上得到的參數(shù)KP、TI、TD和T重新寫入程序中,然后編譯、鏈接。

(5) 裝載程序,將全局變量TK (采樣周期)、EI (積分分離值)、KP (比例系數(shù))、TI (積分系數(shù))和TD (微分系數(shù))加入變量監(jiān)視,以便實驗過程中觀察和修改。

(6) 運行程序,用示波器測量系統(tǒng)輸出“C”,觀察數(shù)字調(diào)節(jié)器在這組參數(shù)下的控制效果,若不理想,可適當調(diào)整參數(shù),直到控制效果滿意為止。

五、實驗代碼

功能描述:此程序可以作為擴充響應曲線法整定PID參數(shù)的驗證程序,可把整定后的PID參數(shù)寫入程序中。

(源碼見附件)


六、實驗結(jié)果分析




全部資料51hei下載地址:

計算機控制技術(shù)綜合性實驗指導書-電氣(新設備).docx (404.12 KB, 下載次數(shù): 25)
程序:
example51_c.rar (382.72 KB, 下載次數(shù): 29)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:335031 發(fā)表于 2018-11-28 20:08 | 只看該作者
謝謝支持一下
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品小短片 | 国产欧美精品区一区二区三区 | 欧美日韩精品久久久免费观看 | 一区二区三区免费观看 | 91麻豆精品国产91久久久久久久久 | 五月激情婷婷六月 | 国产一区二区三区四区三区四 | 国产性色视频 | 密室大逃脱第六季大神版在线观看 | 精品国产91乱码一区二区三区 | 国产高清在线视频 | 欧美一区二区三区精品 | 日韩免费高清视频 | 国产成人免费在线 | 中文字幕国产日韩 | 一区二区三区四区日韩 | 亚洲精品国产成人 | 亚洲天堂一区 | 高清视频一区二区三区 | 亚洲一区二区三区视频 | 日本三级做a全过程在线观看 | 日韩精品久久久久 | 亚洲精品一区二区三区 | 女人精96xxx免费网站p | 欧美片网站免费 | 天堂一区二区三区四区 | 欧美日韩三级 | 成年人黄色一级毛片 | 伊人网站视频 | 综合久久久久久久 | 成年人网站在线观看视频 | 欧美在线a| 国产精品女人久久久 | 欧美a∨ | 欧美久久久久久久 | 久久一区二区三区四区五区 | 天天射天天干 | 久久不卡 | 成人免费在线观看 | 精品亚洲一区二区三区四区五区 | 精品中文字幕久久 |