學過的單片機實驗內(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é)器的功能。 - *****************************************/
- #include <reg51.h>
- #include <absacc.h>
- #include <math.h>
- /*****************************************
- 宏定義
- *****************************************/
- #define uchar unsigned char
- #define uint unsigned int
- #define ADC_7 XBYTE[0x0600] //定義模數(shù)轉(zhuǎn)換IO地址
- #define DAC_1 XBYTE[0x0640] //定義D/A第一路的IO地址
-
- /*****************************************
- 全局變量定義
- *****************************************/
- sbit str = P1^7; //定義A/D啟動信號
- sbit DIN0 = P1^0; //聲明同步信號
- uint data time; //聲明變量,用于定時
- uchar data t0_h,t0_l; //用于存儲定時器0的初值
- char TK=5; //聲明采樣周期變量,//采樣周期=TK*10ms
- char TC; //TK的變量
- float kp=0.20; //比例系數(shù)
- char ti=30; //積分系數(shù)
- char td=1; //微分系數(shù)
- char IBAND=32; //積分分離值
- char EK; //當前采樣的偏差值
- char EK_1; //上一次采樣的偏差值
- char AEK; //偏差的變化量
- char UK; //當前時刻的D/A輸出
- int ZEK;
- /*****************************************
- 主函數(shù)
- *****************************************/
- void main(void)
- {
- TMOD = 0x01;
- time = 10; //定時10ms
- t0_h = (65536-500*time)/256; //計算定時器0初值
- t0_l = (65536-500*time)%256;
- t0_l = t0_l+20; //修正因初值重裝而引起的定時誤差
- TH0 = t0_h;
- TL0 = t0_l;
- IT1 = 1; //邊沿觸發(fā)中斷
- EX1 = 1; //開外部中斷1
- ET0 = 1; //開定時中斷0
- TR0 = 1; //啟動定時器
-
- TC = 1;
- DAC_1= 0x80; //D/A清零
- EK=EK_1=0; //變量清零
- AEK=UK=0;
- ZEK=0;
-
- EA = 1; //開總中斷
- while(1);
- }
-
- /**********************************************
- 函數(shù)名:INT1
- 功能 :1號外部中斷服務程序
- 參數(shù) :無*
- 返回值:無 *
- ***********************************************/
- void int1() interrupt 2 using 2
- { float P,D,I,TEMP;
-
- DIN0 = 1; //讀取輸入前,先輸出高電平
- if(DIN0) //判同步信號到否
- {
- EK=EK_1=0; //變量清零
- UK=AEK=0;
- ZEK=0;
- DAC_1 =0x80; //D/A輸出零
- TC=1;
- }
- else
- {
- TC--; //判采樣周期到否
- if(TC==0)
- {
- EK = ADC_7-128; //采樣當前的偏差值,并計算偏差的變化量
- AEK =EK-EK_1;
- EK_1=EK;
-
-
- if(abs(EK)> IBAND) I=0; //判積分分離值
- else
- …………
- …………限于本文篇幅 余下代碼請從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
2) 實驗設計 圖3.4-2是一個PID閉環(huán)控制系統(tǒng)的實驗電路原理及接線圖,圖中畫“○”的線需用戶在實驗中自行接好,對象需用戶在運放單元搭接。其相應的程序流程圖和3.2節(jié)中的圖3.2-3是一樣的,實驗中的參數(shù)取值范圍規(guī)定為:

圖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 | | | | | | 0.05 | 1.15 | 2.00 | 0.45 | | 0.16 | 1.0 | 1.90 | 0.55 | | 0.34 | 0.85 | 1.62 | 0.65 | | 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ī)定為:

圖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)
2018-1-13 17:17 上傳
點擊文件名下載附件
一些單片機實驗 下載積分: 黑幣 -5
程序:
example51_c.rar
(382.72 KB, 下載次數(shù): 29)
2018-1-13 17:17 上傳
點擊文件名下載附件
程序 下載積分: 黑幣 -5
|