《數(shù)字信號處理與DSP應用》
課程論文
題目: 基于DSP的PID控制算法的實現(xiàn)
學 號: 2011080911
姓 名: 蔡*威
班 級: 6班
專 業(yè): 電路與系統(tǒng)
課程老師: 黃*生
二零一二年二月二十日 摘 要:按偏差的比例、積分和微分進行控制的調(diào)節(jié)器稱為PID調(diào)節(jié)器,PID調(diào)節(jié)器是連續(xù)系統(tǒng)中技術成熟、應用最為廣泛的一種調(diào)節(jié)器。它構簡單,參數(shù)易于調(diào)整,在長期的應用中已積累了豐富的經(jīng)驗。特別在工業(yè)過程中,由于控制對象的精確數(shù)學模型難以建立,系統(tǒng)的參數(shù)又經(jīng)常發(fā)生變化,運用現(xiàn)代控制理論分析綜合要耗費很大的代價進行模型辨識,但往往不能得到預期的效果,所以人們常采用數(shù)字PID調(diào)節(jié)器,并根據(jù)經(jīng)驗進行在線整定。這次課程設計將綜合用數(shù)字信號處理DSP以及自動控制方面的知識,使用CCS集成開發(fā)環(huán)境進行代碼的編譯,仿真,才能完成了本次設計。
前言在數(shù)字PID算法是目前一般控制領域中經(jīng)常使用的自動控制算法,它依據(jù)給定的設定值,反饋值,以及比例系數(shù),積分和微分時間,計算出一定的控制量,使被控對象能保持在設定的工作范圍,并且可以自動的消除外部擾動。由于軟件系統(tǒng)的靈活性,經(jīng)計算出的PID參數(shù)可以在調(diào)試過程中隨時改變。能更精確的控制系統(tǒng)。得到較好的控制效果。PID 控制原理簡單、實現(xiàn)方便,并且適應面廣、魯棒性強,其控制品質(zhì)對被控對象特性的變化不是很敏感。隨著計算機技術的發(fā)展,在 PID 控制的基礎上,出現(xiàn)了很多改進的數(shù)字 PID 控制方法 ,如微分先行 PID 控制、積分分離 PID 控制、帶死區(qū)的PID 控制等。對于數(shù)字PID 控制方法,又分為增量式 PID 控制算式和位置式 PID 控制算式。在絕大多數(shù)工業(yè)控制中,數(shù)字 PID 控制仍然是一種穩(wěn)定的、可靠的、實現(xiàn)簡單的、使用廣泛的控制方法。
本設計以TI公司的TMS320VC5509和外接 D/ A芯片,實現(xiàn)數(shù)字 PID 控制器,采用的 PID 控制算法是增量式 PID 控制算法。TMS320VC5509 具有較高的運行速度和數(shù)據(jù)處理能力,能保證系統(tǒng)對多路模擬信號的實時采集和處理,提高系統(tǒng)的整體性能和集成度。在 DSP 內(nèi)部設置參考輸入量,通過DSP片上 10 位 A/ D 轉(zhuǎn)換器采樣,把控制對象的實際輸出量采集到 DSP 中,經(jīng)過DSP 的數(shù)字運算處理后,通過外部的 D/ A AD7237 進行數(shù)/ 模轉(zhuǎn)換,得到實際的模擬控制量去控制被控對象,使之按照系統(tǒng)的設置運行工作。 1、模擬PID調(diào)節(jié)器 模擬PID控制系統(tǒng)組成如圖1所示: 圖1 模擬PID控制系統(tǒng)原理框圖 PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與實際輸出值c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構成控制量,對控制對象進行控制。根據(jù)圖1,可以推導出PID調(diào)節(jié)器的微分方程為:
式中
u(t)——控制器(也稱調(diào)節(jié)器)的輸出; e(t)——控制器的輸入(常常是設定值與被控量之差,即e(t)=r(t)-c(t)); Kp——控制器的比例放大系數(shù); Ti ——控制器的積分時間; Td —— 控制器的微分時間。 1.1 PID調(diào)節(jié)器各校正環(huán)節(jié)的作用 比例環(huán)節(jié):即時成比例地反應控制系統(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)的余差而設置的。所謂積分,就是隨時間進行累積的意思,即當有偏差輸入e存在時,積分調(diào)節(jié)器就要將偏差隨時間不斷累積起來,也就是積分累積的快慢與偏差e的大小和積分速度成正比。只要有偏差e存在,積分調(diào)節(jié)器的輸出就要改變,也就是說積分作用總是起作用的,只有偏差不存在時,積分才會停止。 微分環(huán)節(jié):能反應偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統(tǒng)中引入一個有效的早期修正信號,從而加快系統(tǒng)的動作速度,減小調(diào)節(jié)時間。可見,微分分量對偏差的任何變化都會產(chǎn)生控制作用,以調(diào)整系統(tǒng)輸出,阻止偏差變化,預見隨后。偏差變化越快,則產(chǎn)生的阻止作用越大。對于一個固定不變的偏差e(t),不論其數(shù)值多大,根本不會有微分作用輸出。 2、 數(shù)字PID控制器 2.1 模擬PID控制規(guī)律的離散化 根據(jù)上表和模擬PID的數(shù)學表達式,可以退出數(shù)字PID控制器的差分方程為: 式中
稱為比例項
稱為積分項
稱為微分項 常用的控制方式有 P控制
PI控制
PD控制
PID控制
2.2 PID算法的兩種類型 2.2.1 位置型控制 基本PID控制器的理想算式為 式中
u(t)——控制器(也稱調(diào)節(jié)器)的輸出; e(t)——控制器的輸入(常常是設定值與被控量之差,即e(t)=r(t)-c(t)); Kp——控制器的比例放大系數(shù); Ti ——控制器的積分時間; Td——控制器的微分時間。 設u(k)為第k次采樣時刻控制器的輸出值,可得離散的PID算式
式中
,
。 由于計算機的輸出u(k)直接控制執(zhí)行機構(如閥門),u(k)的值與執(zhí)行機構的位置(如閥門開度),所以通常稱上式為位置式PID控制算法。
圖2 位置式PID控制器流程圖 位置式PID控制算法的缺點:當前采樣時刻的輸出與過去的各個狀態(tài)有關,計算時要對e(k)進行累加,運算量大;而且控制器的輸出u(k)對應的是執(zhí)行機構的實際位置,如果計算機出現(xiàn)故障,u(k)的大幅度變化會引起執(zhí)行機構位置的大幅度變化。 2.2.2增量型控制 增量型PID算法的算式為: 或者寫成 增量式PID是指數(shù)字控制器的輸出只是控制量的增量Δu(k)。采用增量式算法時,計算機輸出的控制量Δu(k)對應的是本次執(zhí)行機構位置的增量,而不是對應執(zhí)行機構的實際位置,因此要求執(zhí)行機構必須具有對控制量增量的累積功能,才能完成對被控對象的控制操作。執(zhí)行機構的累積功能可以采用硬件的方法實現(xiàn);也可以采用軟件來實現(xiàn),如利用算式
程序化來完成。 由上式可得增量式PID控制算式
式中
進一步可以改寫成
式中
、
、
一般計算機控制系統(tǒng)的采樣周期T在選定后就不再改變,所以,一旦確定了Kp、Ti、Td,只要使用前后3次測量的偏差值即可求出控制增量。 根據(jù)上述分析,其程序流程圖如下:
圖3 增量型控制算法路程圖 增量式算法優(yōu)點:①算式中不需要累加。控制增量Δu(k)的確定僅與最近3次的采樣值有關,容易通過加權處理獲得比較好的控制效果;②DSP每次只輸出控制增量,即對應執(zhí)行機構位置的變化量,故機器發(fā)生故障時影響范圍小、不會嚴重影響生產(chǎn)過程。 經(jīng)過綜合比較,最終選擇了增量式控制算法。 3.系統(tǒng)軟硬件設計 3.1硬件設計 為了實現(xiàn)上述控制算法,還需要硬件電路才行,設計電路原理圖如圖4所示: 從圖4 中可以看出,模擬量輸入,也即被控電機的實際輸出轉(zhuǎn)速,通過一個限流電阻 R 送到由 AD8041 構成的電壓跟隨器里,經(jīng)過放大后,再經(jīng)二極管D1 和 D2嵌位以及電阻 R 限流,送到TMS320VC5509片上的 A/D 轉(zhuǎn)換其中使得 A/D 的輸入限制在 0~3 300 mV。TMS320VC5509 一共有16 路復用的片上 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 構成D/ A轉(zhuǎn)換器的譯碼電路,D/ A轉(zhuǎn)換器的輸出采用AD7237 的A相輸出。TMS320VC5509 由外部提供復位信號,由無源晶振提供6 MHz時鐘。片上 A/D 轉(zhuǎn)換器的參考電壓高電平 V 接DSP電源+3.3 V 。 圖4 DSP實現(xiàn)數(shù)字PID控制器的電路原理圖 3.2 軟件設計 本設計運用了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)技術,利用該技術可以在不中斷目標系統(tǒng)運行的情況下,實現(xiàn)DSP與其它應用程序(OLE)實現(xiàn)數(shù)據(jù)交換,具有開放式的plug-ins技術,支持其它第三方的ActiveX插件。提供DSP、BIOS工具,利用該工具可增強對代碼的實時分析能力,減少開發(fā)人員對硬件資源熟悉程度的依賴性。
圖5 代碼調(diào)試與編譯 為了驗證算法的可行性,現(xiàn)建立數(shù)字PID直流電機控制模型,然后用Matlab的LTI狀態(tài)分析工具箱進行仿真,并繪制轉(zhuǎn)速及控制電壓變化圖形。 圖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)的作用。 圖7 Matlab中仿真圖A 圖8 Matlab中仿真圖B 4 分析與結論 通過本次課程設計的軟件仿真與調(diào)試,才更加深刻的領悟了數(shù)字PID控制算法的精髓,使得理論得到了很好的驗證,從而是我鞏固了所學知識,得到了專業(yè)技能的鍛煉和提高。 5 參考文獻 [1] 胡壽松 自動控制原理 北京:科學出版社 [2] 童詩白、華成英 模擬電子技術基礎 北京:高等教育出版社 [3] 黃忠霖 控制系統(tǒng)MATLAB設計與仿真 北京:國防工業(yè)出版社 [4] 謝劍英、賈青 微型計算機控制技術 北京:國防工業(yè)出版社 [5]趙洪亮.TMS320C55X DSP 應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,2008. [6]王獻峰,石東.基于DSP的FIR數(shù)字濾波器設計與實現(xiàn)[J].通信電源技術,2006,23(4):38-40. [7]張雄偉.DSP芯片的原理與開發(fā)應用(第三版)[M].北京:電子工業(yè)出版社,2003. [8]丁玉美.數(shù)字信號處理(第二版)[M].西安:西安電子科技大學出版社,2005. [9]楊大柱.基于TMS320C5510的FIR濾波器設計與實現(xiàn)[J].微計算機信息,2008,24(17). [10]陳懷琛.MATLAB及其在理工課程中的應用指南[M].西安:西安電子科技大學出版社,2007.
附錄:源程序代碼 |