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