《數(shù)字信號處理與DSP應(yīng)用》
課程論文
題目: 基于DSP的PID控制算法的實現(xiàn)
學(xué) 號: 2011080911
姓 名: 蔡*威
班 級: 6班
專 業(yè): 電路與系統(tǒng)
課程老師: 黃*生
二零一二年二月二十日 摘 要:按偏差的比例、積分和微分進行控制的調(diào)節(jié)器稱為PID調(diào)節(jié)器,PID調(diào)節(jié)器是連續(xù)系統(tǒng)中技術(shù)成熟、應(yīng)用最為廣泛的一種調(diào)節(jié)器。它構(gòu)簡單,參數(shù)易于調(diào)整,在長期的應(yīng)用中已積累了豐富的經(jīng)驗。特別在工業(yè)過程中,由于控制對象的精確數(shù)學(xué)模型難以建立,系統(tǒng)的參數(shù)又經(jīng)常發(fā)生變化,運用現(xiàn)代控制理論分析綜合要耗費很大的代價進行模型辨識,但往往不能得到預(yù)期的效果,所以人們常采用數(shù)字PID調(diào)節(jié)器,并根據(jù)經(jīng)驗進行在線整定。這次課程設(shè)計將綜合用數(shù)字信號處理DSP以及自動控制方面的知識,使用CCS集成開發(fā)環(huán)境進行代碼的編譯,仿真,才能完成了本次設(shè)計。
前言在數(shù)字PID算法是目前一般控制領(lǐng)域中經(jīng)常使用的自動控制算法,它依據(jù)給定的設(shè)定值,反饋值,以及比例系數(shù),積分和微分時間,計算出一定的控制量,使被控對象能保持在設(shè)定的工作范圍,并且可以自動的消除外部擾動。由于軟件系統(tǒng)的靈活性,經(jīng)計算出的PID參數(shù)可以在調(diào)試過程中隨時改變。能更精確的控制系統(tǒng)。得到較好的控制效果。PID 控制原理簡單、實現(xiàn)方便,并且適應(yīng)面廣、魯棒性強,其控制品質(zhì)對被控對象特性的變化不是很敏感。隨著計算機技術(shù)的發(fā)展,在 PID 控制的基礎(chǔ)上,出現(xiàn)了很多改進的數(shù)字 PID 控制方法 ,如微分先行 PID 控制、積分分離 PID 控制、帶死區(qū)的PID 控制等。對于數(shù)字PID 控制方法,又分為增量式 PID 控制算式和位置式 PID 控制算式。在絕大多數(shù)工業(yè)控制中,數(shù)字 PID 控制仍然是一種穩(wěn)定的、可靠的、實現(xiàn)簡單的、使用廣泛的控制方法。
本設(shè)計以TI公司的TMS320VC5509和外接 D/ A芯片,實現(xiàn)數(shù)字 PID 控制器,采用的 PID 控制算法是增量式 PID 控制算法。TMS320VC5509 具有較高的運行速度和數(shù)據(jù)處理能力,能保證系統(tǒng)對多路模擬信號的實時采集和處理,提高系統(tǒng)的整體性能和集成度。在 DSP 內(nèi)部設(shè)置參考輸入量,通過DSP片上 10 位 A/ D 轉(zhuǎn)換器采樣,把控制對象的實際輸出量采集到 DSP 中,經(jīng)過DSP 的數(shù)字運算處理后,通過外部的 D/ A AD7237 進行數(shù)/ 模轉(zhuǎn)換,得到實際的模擬控制量去控制被控對象,使之按照系統(tǒng)的設(shè)置運行工作。 1、模擬PID調(diào)節(jié)器 模擬PID控制系統(tǒng)組成如圖1所示:
1.003.jpg (10.01 KB, 下載次數(shù): 135)
下載附件
2017-6-5 17:21 上傳
圖1 模擬PID控制系統(tǒng)原理框圖 PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與實際輸出值c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構(gòu)成控制量,對控制對象進行控制。根據(jù)圖1,可以推導(dǎo)出PID調(diào)節(jié)器的微分方程為:
1.004.jpg (4.76 KB, 下載次數(shù): 142)
下載附件
2017-6-5 17:21 上傳
式中
1.005.jpg (1.98 KB, 下載次數(shù): 145)
下載附件
2017-6-5 17:21 上傳
u(t)——控制器(也稱調(diào)節(jié)器)的輸出; e(t)——控制器的輸入(常常是設(shè)定值與被控量之差,即e(t)=r(t)-c(t)); Kp——控制器的比例放大系數(shù); Ti ——控制器的積分時間; Td —— 控制器的微分時間。 1.1 PID調(diào)節(jié)器各校正環(huán)節(jié)的作用 比例環(huán)節(jié):即時成比例地反應(yīng)控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減小偏差。對于大多數(shù)調(diào)節(jié)器而言,都不采用比例增益kc作為刻度,而是用比例度來刻度,即δ=1/kc*100%. 也就是說比例度與調(diào)節(jié)器的放大倍數(shù)的倒數(shù)成比例。調(diào)節(jié)器的比例度越小,它的放大倍數(shù)越大,它把偏差放大的能力越大,反之亦然。 積分環(huán)節(jié):主要用于消除靜差,提高系統(tǒng)的無差度。積分作用的強弱取決于積分時間常數(shù)TI,TI越大,積分作用越弱,反之則越強。調(diào)節(jié)器的積分作用就是為了消除自控系統(tǒng)的余差而設(shè)置的。所謂積分,就是隨時間進行累積的意思,即當有偏差輸入e存在時,積分調(diào)節(jié)器就要將偏差隨時間不斷累積起來,也就是積分累積的快慢與偏差e的大小和積分速度成正比。只要有偏差e存在,積分調(diào)節(jié)器的輸出就要改變,也就是說積分作用總是起作用的,只有偏差不存在時,積分才會停止。 微分環(huán)節(jié):能反應(yīng)偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。可見,微分分量對偏差的任何變化都會產(chǎn)生控制作用,以調(diào)整系統(tǒng)輸出,阻止偏差變化,預(yù)見隨后。偏差變化越快,則產(chǎn)生的阻止作用越大。對于一個固定不變的偏差e(t),不論其數(shù)值多大,根本不會有微分作用輸出。 2、 數(shù)字PID控制器 2.1 模擬PID控制規(guī)律的離散化 | |
1.006.jpg (1.98 KB, 下載次數(shù): 138)
下載附件
2017-6-5 17:21 上傳
|
1.007.jpg (2.11 KB, 下載次數(shù): 144)
下載附件
2017-6-5 17:21 上傳
|
1.008.jpg (1.48 KB, 下載次數(shù): 134)
下載附件
2017-6-5 17:21 上傳
|
1.009.jpg (2.05 KB, 下載次數(shù): 142)
下載附件
2017-6-5 17:21 上傳
|
1.010.jpg (1.5 KB, 下載次數(shù): 147)
下載附件
2017-6-5 17:21 上傳
|
1.011.jpg (2.86 KB, 下載次數(shù): 135)
下載附件
2017-6-5 17:21 上傳
|
根據(jù)上表和模擬PID的數(shù)學(xué)表達式,可以退出數(shù)字PID控制器的差分方程為:
1.012.jpg (7.84 KB, 下載次數(shù): 131)
下載附件
2017-6-5 17:21 上傳
式中
1.013.jpg (1.92 KB, 下載次數(shù): 121)
下載附件
2017-6-5 17:21 上傳
稱為比例項
1.014.jpg (2.96 KB, 下載次數(shù): 137)
下載附件
2017-6-5 17:21 上傳
稱為積分項
1.015.jpg (3.14 KB, 下載次數(shù): 137)
下載附件
2017-6-5 17:21 上傳
稱為微分項 常用的控制方式有 P控制
1.016.jpg (1.98 KB, 下載次數(shù): 129)
下載附件
2017-6-5 17:21 上傳
PI控制
1.017.jpg (2.57 KB, 下載次數(shù): 146)
下載附件
2017-6-5 17:21 上傳
PD控制
1.018.jpg (2.61 KB, 下載次數(shù): 120)
下載附件
2017-6-5 17:21 上傳
PID控制
1.019.jpg (3.18 KB, 下載次數(shù): 131)
下載附件
2017-6-5 17:21 上傳
2.2 PID算法的兩種類型 2.2.1 位置型控制
1.020.jpg (5.56 KB, 下載次數(shù): 144)
下載附件
2017-6-5 17:21 上傳
基本PID控制器的理想算式為
1.021.jpg (4.76 KB, 下載次數(shù): 118)
下載附件
2017-6-5 17:21 上傳
式中
1.022.jpg (2.05 KB, 下載次數(shù): 144)
下載附件
2017-6-5 17:21 上傳
u(t)——控制器(也稱調(diào)節(jié)器)的輸出; e(t)——控制器的輸入(常常是設(shè)定值與被控量之差,即e(t)=r(t)-c(t)); Kp——控制器的比例放大系數(shù); Ti ——控制器的積分時間; Td——控制器的微分時間。 設(shè)u(k)為第k次采樣時刻控制器的輸出值,可得離散的PID算式
1.023.jpg (4.34 KB, 下載次數(shù): 131)
下載附件
2017-6-5 17:21 上傳
式中
1.024.jpg (3.03 KB, 下載次數(shù): 138)
下載附件
2017-6-5 17:21 上傳
,
1.025.jpg (3.12 KB, 下載次數(shù): 121)
下載附件
2017-6-5 17:21 上傳
。 由于計算機的輸出u(k)直接控制執(zhí)行機構(gòu)(如閥門),u(k)的值與執(zhí)行機構(gòu)的位置(如閥門開度),所以通常稱上式為位置式PID控制算法。
1.026.jpg (17.41 KB, 下載次數(shù): 136)
下載附件
2017-6-5 17:21 上傳
圖2 位置式PID控制器流程圖 位置式PID控制算法的缺點:當前采樣時刻的輸出與過去的各個狀態(tài)有關(guān),計算時要對e(k)進行累加,運算量大;而且控制器的輸出u(k)對應(yīng)的是執(zhí)行機構(gòu)的實際位置,如果計算機出現(xiàn)故障,u(k)的大幅度變化會引起執(zhí)行機構(gòu)位置的大幅度變化。 2.2.2增量型控制 增量型PID算法的算式為:
1.027.jpg (8.98 KB, 下載次數(shù): 122)
下載附件
2017-6-5 17:21 上傳
或者寫成
1.028.jpg (4.25 KB, 下載次數(shù): 136)
下載附件
2017-6-5 17:21 上傳
式中
1.029.jpg (2.75 KB, 下載次數(shù): 139)
下載附件
2017-6-5 17:21 上傳
,
1.030.jpg (2.3 KB, 下載次數(shù): 106)
下載附件
2017-6-5 17:21 上傳
,
1.031.jpg (1.82 KB, 下載次數(shù): 122)
下載附件
2017-6-5 17:21 上傳
增量式PID是指數(shù)字控制器的輸出只是控制量的增量Δu(k)。采用增量式算法時,計算機輸出的控制量Δu(k)對應(yīng)的是本次執(zhí)行機構(gòu)位置的增量,而不是對應(yīng)執(zhí)行機構(gòu)的實際位置,因此要求執(zhí)行機構(gòu)必須具有對控制量增量的累積功能,才能完成對被控對象的控制操作。執(zhí)行機構(gòu)的累積功能可以采用硬件的方法實現(xiàn);也可以采用軟件來實現(xiàn),如利用算式
1.032.jpg (2.38 KB, 下載次數(shù): 130)
下載附件
2017-6-5 17:21 上傳
程序化來完成。 由上式可得增量式PID控制算式
1.033.jpg (5.44 KB, 下載次數(shù): 130)
下載附件
2017-6-5 17:21 上傳
式中
1.034.jpg (2.22 KB, 下載次數(shù): 137)
下載附件
2017-6-5 17:21 上傳
進一步可以改寫成
1.035.jpg (3.28 KB, 下載次數(shù): 124)
下載附件
2017-6-5 17:21 上傳
式中
1.036.jpg (2.61 KB, 下載次數(shù): 141)
下載附件
2017-6-5 17:21 上傳
、
1.037.jpg (2.25 KB, 下載次數(shù): 147)
下載附件
2017-6-5 17:21 上傳
、
1.038.jpg (1.71 KB, 下載次數(shù): 145)
下載附件
2017-6-5 17:21 上傳
一般計算機控制系統(tǒng)的采樣周期T在選定后就不再改變,所以,一旦確定了Kp、Ti、Td,只要使用前后3次測量的偏差值即可求出控制增量。 根據(jù)上述分析,其程序流程圖如下:
1.039.jpg (12.92 KB, 下載次數(shù): 124)
下載附件
2017-6-5 17:21 上傳
圖3 增量型控制算法路程圖 增量式算法優(yōu)點:①算式中不需要累加。控制增量Δu(k)的確定僅與最近3次的采樣值有關(guān),容易通過加權(quán)處理獲得比較好的控制效果;②DSP每次只輸出控制增量,即對應(yīng)執(zhí)行機構(gòu)位置的變化量,故機器發(fā)生故障時影響范圍小、不會嚴重影響生產(chǎn)過程。 經(jīng)過綜合比較,最終選擇了增量式控制算法。 3.系統(tǒng)軟硬件設(shè)計 3.1硬件設(shè)計 為了實現(xiàn)上述控制算法,還需要硬件電路才行,設(shè)計電路原理圖如圖4所示: 從圖4 中可以看出,模擬量輸入,也即被控電機的實際輸出轉(zhuǎn)速,通過一個限流電阻 R 送到由 AD8041 構(gòu)成的電壓跟隨器里,經(jīng)過放大后,再經(jīng)二極管D1 和 D2嵌位以及電阻 R 限流,送到TMS320VC5509片上的 A/D 轉(zhuǎn)換其中使得 A/D 的輸入限制在 0~3 300 mV。TMS320VC5509 一共有16 路復(fù)用的片上 A/D 轉(zhuǎn)換器,本實例只采用第 0 通道的A/D轉(zhuǎn)換。由DSP計算出控制量,通過外部數(shù)據(jù)總線送給D/ A 轉(zhuǎn)換器,采用 AD 公司的 AD7237 芯片,他是 8 位 D/ A 轉(zhuǎn)換器,由DSP的外部地址總線A2 ,A1 ,A0 構(gòu)成D/ A轉(zhuǎn)換器的譯碼電路,D/ A轉(zhuǎn)換器的輸出采用AD7237 的A相輸出。TMS320VC5509 由外部提供復(fù)位信號,由無源晶振提供6 MHz時鐘。片上 A/D 轉(zhuǎn)換器的參考電壓高電平 V 接DSP電源+3.3 V 。
1.040.jpg (33.36 KB, 下載次數(shù): 123)
下載附件
2017-6-5 17:21 上傳
圖4 DSP實現(xiàn)數(shù)字PID控制器的電路原理圖 3.2 軟件設(shè)計 本設(shè)計運用了CCSV3.3軟件,它是一個完整的DSP集成開發(fā)環(huán)境,CCS支持軟仿真器、各種型號的硬仿真器、各種DSK和EVM板。 [11]CCS主要特點有:集成可視化代碼編輯界面,可以方便地直接編寫C、匯編、.h文件、.cmd文件等;集成代碼生成工具,包括匯編器、優(yōu)化的C編譯器和連接器等;具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲器窗口和變量窗口、反匯編窗口等,支持在C源代碼級進行調(diào)試;支持多片DSP聯(lián)合調(diào)試; 斷點工具,支持硬件斷點、數(shù)據(jù)空間讀/寫斷點、條件斷點等;探針工具(probe points),用于進行算法仿真,數(shù)據(jù)監(jiān)視等;剖析工具(profile pionts),用于評估代碼執(zhí)行的時間;數(shù)據(jù)圖形顯示工具,可繪制時域/頻域波形、眼圖、星座圖等,并可以自動刷新;提供GEI二工具,用戶可以根據(jù)需要編寫自己的控制面板/菜單,從而方便直觀地修改變量,配置參數(shù)。支持RTDX(Real time date exchange)技術(shù),利用該技術(shù)可以在不中斷目標系統(tǒng)運行的情況下,實現(xiàn)DSP與其它應(yīng)用程序(OLE)實現(xiàn)數(shù)據(jù)交換,具有開放式的plug-ins技術(shù),支持其它第三方的ActiveX插件。提供DSP、BIOS工具,利用該工具可增強對代碼的實時分析能力,減少開發(fā)人員對硬件資源熟悉程度的依賴性。
1.041.jpg (31.42 KB, 下載次數(shù): 125)
下載附件
2017-6-5 17:21 上傳
圖5 代碼調(diào)試與編譯 為了驗證算法的可行性,現(xiàn)建立數(shù)字PID直流電機控制模型,然后用Matlab的LTI狀態(tài)分析工具箱進行仿真,并繪制轉(zhuǎn)速及控制電壓變化圖形。
1.042.jpg (6.44 KB, 下載次數(shù): 142)
下載附件
2017-6-5 17:21 上傳
圖6 數(shù)字PID仿真模型 利用Matlab軟件和 LTI工具箱函數(shù),仿真源程序代碼如下: clear all; close all; ts=0.01; %采樣時間=0.001s sys=tf(2652,[1,25,490]); %建立被控對象傳遞函數(shù) dsys=c2d(sys,ts,'z'); %把傳遞函數(shù)離散化 [num,den]=tfdata(dsys,'v'); %離散化后提取分子、分母 e_1=0 %上一偏差 Ee=0; %偏差累計 u_1=0.0; %上一狀態(tài)電壓 u_2=0.0; y_1=0; %上一狀態(tài)輸出 y_2=0; kp=2.5; %PID參數(shù) ki=0.04; kd=0.28; for k=1:100 time(k)=k*ts; %時間參數(shù) r(k)=500; %給定值 y(k)=-1*den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2; e(k)=r(k)-y(k); %偏差 u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1); if u(k)>220 u(k)=220; end if u(k)<=0 u(k)=0; end Ee=Ee+e(k); u_2=u_1; u_1=u(k); y_2=y_1; y_1=y(k); e_2=e_1; e_1=e(k); end hold on; plot(time,r,'r',time,y,'b',time,u,'r'); [kp,ki,kd]; 程序調(diào)試好后,分別改變kp、ki和kd的參數(shù)值,看輸出圖形有何變化,理解PID控制中比例、積分和微分對控制系統(tǒng)的作用。
1.043.jpg (15.98 KB, 下載次數(shù): 118)
下載附件
2017-6-5 17:21 上傳
圖7 Matlab中仿真圖A
1.044.jpg (11.92 KB, 下載次數(shù): 120)
下載附件
2017-6-5 17:21 上傳
圖8 Matlab中仿真圖B 4 分析與結(jié)論 通過本次課程設(shè)計的軟件仿真與調(diào)試,才更加深刻的領(lǐng)悟了數(shù)字PID控制算法的精髓,使得理論得到了很好的驗證,從而是我鞏固了所學(xué)知識,得到了專業(yè)技能的鍛煉和提高。 5 參考文獻 [1] 胡壽松 自動控制原理 北京:科學(xué)出版社 [2] 童詩白、華成英 模擬電子技術(shù)基礎(chǔ) 北京:高等教育出版社 [3] 黃忠霖 控制系統(tǒng)MATLAB設(shè)計與仿真 北京:國防工業(yè)出版社 [4] 謝劍英、賈青 微型計算機控制技術(shù) 北京:國防工業(yè)出版社 [5]趙洪亮.TMS320C55X DSP 應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2008. [6]王獻峰,石東.基于DSP的FIR數(shù)字濾波器設(shè)計與實現(xiàn)[J].通信電源技術(shù),2006,23(4):38-40. [7]張雄偉.DSP芯片的原理與開發(fā)應(yīng)用(第三版)[M].北京:電子工業(yè)出版社,2003. [8]丁玉美.數(shù)字信號處理(第二版)[M].西安:西安電子科技大學(xué)出版社,2005. [9]楊大柱.基于TMS320C5510的FIR濾波器設(shè)計與實現(xiàn)[J].微計算機信息,2008,24(17). [10]陳懷琛.MATLAB及其在理工課程中的應(yīng)用指南[M].西安:西安電子科技大學(xué)出版社,2007.
附錄:源程序代碼
完整論文下載(word格式 可編輯):
基于DSP的PID控制算法的實現(xiàn).doc
(477 KB, 下載次數(shù): 375)
2017-6-5 15:10 上傳
點擊文件名下載附件
PID算法的DSP實現(xiàn)資料 下載積分: 黑幣 -5
|