王英喜,龔筍根,許宜柱,陳海強,常開應
(昆明海威機電技術研究所,云南 昆明 650236)
壓力模擬設備在水下產(chǎn)品壓力調(diào)試中有著廣泛的應用,它可以模擬水下產(chǎn)品工作時水壓的深度變化,提供產(chǎn)品工作時的水壓深度值,同時也可以用于壓力儀器儀表的校驗。 目前,壓力模擬設備大都采用PID 控制算法[1],由于目標壓力與電機轉速之間存在非線性關系,而且加壓范圍較寬,PID 控制算法在比例、積分和微分參數(shù)整定時,整定工作比較繁瑣,工作量大,需要調(diào)試人員有一定的PID 參數(shù)整定調(diào)試經(jīng)驗。 如果僅使用單一的PI/PD 控制參數(shù),容易導致某一段范圍內(nèi)壓力誤差較大,目標壓力不能達到壓力模擬設備的設計需求。 “指數(shù)函數(shù)+PID”的組合型控制算法,不僅可以通過指數(shù)函數(shù)算法將壓力快速加壓到目標壓力,而且通過PID 算法可保證目標壓力的穩(wěn)定控制。
筆者通過對組合式壓力控制方法進行研究及實際驗證,得出此控制方法加壓穩(wěn)定、可靠,單次加壓時間短、精度高,能滿足水下產(chǎn)品的調(diào)試和壓力儀器儀表的壓力校驗使用要求,具有一定的社會價值和經(jīng)濟效益,具有較好的工程應用推廣價值,應用市場前景廣闊。
PID 控制算法就是比例(Proportion)、積分(Integration)和微分(Differential)調(diào)節(jié)器,PID 控制就是根據(jù)連續(xù)前、后兩次系統(tǒng)計算出來的測量誤差,利用比例、積分、微分計算出當前控制量并進行控制的方法。PID 控制器的參數(shù)整定是控制系統(tǒng)設計的核心內(nèi)容,當被控對象的結構和參數(shù)不能完全掌握,或不能得到精確的數(shù)學模型,控制理論的其他技術難以采用時,系統(tǒng)控制器的結構和參數(shù)必須依靠經(jīng)驗和現(xiàn)場反復調(diào)試來整定,公式(1)為PID 控制算法:
式中:e(t)為輸入的誤差信號;Kp為比例系數(shù);Ti為積分時間常數(shù);Td為微分時間常數(shù);u(t)為控制器輸出。
壓力模擬設備主要由機械結構、電控系統(tǒng)和控制軟件三部分組成。 機械結構主要由便攜式機箱、齒輪泵、油箱、液壓管路和加壓接頭等組成。 電控系統(tǒng)主要由工業(yè)控制計算機、壓力傳感器、變頻器、串口通信轉換模塊、交流異步電機、供電電路等組成。 控制軟件主要由操作界面模塊、自動加壓模塊、變頻器控制模塊、壓力傳感器采集模塊等組成。 壓力模擬設備的結構組成如圖1 所示。
圖1 壓力模擬設備組成框圖
工控計算機:低功耗無風扇嵌入式工控機,Intel Atom 雙核1.33 GHz 處理器,1XRS-232,1XRS-232/422/485,用于運行自動加壓控制軟件,通過RS-422通信控制變頻器的頻率,通過RS-485 實時讀取壓力傳感器的壓力數(shù)值。
變頻器:Micro Drive FC51,將工頻電源轉換成任意頻率、任意電壓交流電源的一種電氣設備。 變頻器的作用主要是調(diào)整電機的功率、實現(xiàn)電機的變速運行,并降低電機啟動電流。
壓力傳感器:MPM4730 是一款高精度、高穩(wěn)定性的智能化壓力測量產(chǎn)品,用于實時采集、顯示設備當前的壓力值。
齒輪泵:結構簡單,工作要求低,用于提高液體流量輸出的速度。
壓力模擬設備[2]控制軟件根據(jù)目標壓力與當前實際壓力,按照控制算法計算對應的電機頻率輸出值,通過RS-422 通信改變變頻器的頻率值,控制電機轉速帶動齒輪泵加壓,達到壓力輸出的目的。
壓力模擬設備是由工業(yè)控制計算機、變頻器、壓力傳感器組成的閉環(huán)控制系統(tǒng)。 其工作原理為:工業(yè)控制計算機實時采集壓力傳感器的實際壓力值,計算目標壓力與實際壓力值偏差對應的電機轉速,通過變頻器控制交流異步電機轉速,實現(xiàn)對目標壓力的控制。 壓力模擬設備的硬件接口框圖、通信接口框圖如圖2 所示。
圖2 硬件接口框圖
電控系統(tǒng)主要包括工業(yè)控制計算機外圍通信電路設計,變頻器通信接口設計、壓力傳感器通信接口設計,變頻電機控制電路設計[3]和上位機通信接口設計等。 電控系統(tǒng)結構框圖如圖2 所示,電機控制電路框圖和控制系統(tǒng)通信電路框圖如圖3 所示。
圖3 通信接口框圖
壓力模擬設備控制軟件采用Windows 平臺下著名的快速應用程序開發(fā)工具Delphi 2010 進行設計和開發(fā),主要包括本地自動加壓功能、遠程自動加壓功能、零位標定和退出程序四個模塊。 壓力模擬設備軟件功能框圖如圖4 所示。
壓力模擬設備控制軟件包括遠程自動加壓、本地自動加壓、壓力校零和退出程序四個主要模塊,人機操作界面如圖5 所示。 本地自動加壓,在目標壓力輸入框中輸入目標壓力,壓力模擬設備可以實現(xiàn)自動加壓控制。 遠程自動加壓,控制軟件接收到上位機下傳的加壓指令后,壓力模擬設備可以實現(xiàn)自動加壓控制。 壓力校零,設備長期閑置或異地轉場后,為了減小壓力變送器的測量誤差,可以對壓力變送器進行零位標校。 退出程序,彈出退出確認框,選擇“是”退出程序, 選擇“否”返回程序。
圖5 壓力模擬設備操作界面
壓力模擬設備控制軟件通過RS-485 通信接口協(xié)議,向壓力變送器發(fā)送相應功能的壓力變送器控制字,以達到讀取壓力變送器壓力值和檢查壓力變送器狀態(tài)的目的。 其部分代碼如下:
Procedure ComMPMRecData
begin
Tstr:=’’;
move(buffer^,Pchar(@MPM_buf)^),12);
for i:=1 to 12 do
Tstr:=Tstr+char(MPM_buf[i]);
if ((pos(‘.’,Tstr))>1) then
begin
Tstr:=’’;
for i:=5 to 10 do
begin
ch:=char(MPM_buf[i]);
ifch in [‘0’..’9’,’.’,’-‘,’+’] then
Tstr:=Tstr+char(MPM_buf[i]);
end;
end;
end.
壓力模擬設備控制軟件通過RS-422 通信接口協(xié)議,向變頻器發(fā)送相應功能的變頻器控制字,以達到控制變頻器頻率和檢查變頻器狀態(tài)的目的。 其中包含校驗碼代碼,其部分代碼如下:
freq:=round((freq*(16384/50)));
str2:=inttostr(round(freq),2);
if (length(str2)=2) then str2:='00'+str2 else if(length(str2)=3) then str2:='0'+str2;
m:=1;n:=1;BCC:=0;str:=str1+str2;
while (m<length(str)) do
begin
s2:=midstr(str,m,2);
BCC:=(BCC xor byte(strtoint('$'+s2)));
m:=m+2;n:=n+1;
end;
str3:=inttohex(BCC,2);
str:=str+str3;m:=1;n:=1;
str:=stringreplace(str,' ','',[rfreplaceAll]);
while (m<length(str)) do
begin
s2:=midstr(str,m,2);
sbuf[n]:=byte(strtoint('$'+s2)));
m:=m+2;n:=n+1;
end;
ComDan.WriteCommData(Pchar(@sbuf[1],8).
壓力模擬設備控制軟件采用“指數(shù)函數(shù)+PID”的組合型控制算法進行設計。 由于電機的轉速與輸出壓力之間存在非線性關系,所以在正式進行參數(shù)整定設計之前,應采用開環(huán)系統(tǒng),預先測試電機頻率和壓力輸出之間的對應函數(shù)關系,經(jīng)過曲線擬合得出相應參數(shù)后再進行閉環(huán)參數(shù)整定。 電機頻率和壓力輸出之間的曲線擬合按照步驟(1)和(2)方法即可實現(xiàn)。
(1) 按照表1 所列的頻率/轉速,手動控制電機轉動,記錄對應頻率/轉速與實際壓力值的對應值。
表1 頻率/轉速與壓力對應數(shù)據(jù)
(2) 通過LabVIEW 工具軟件應用最小二乘法——指數(shù)函數(shù)擬合方法對頻率/轉速和實際壓力值進行曲線擬合,擬合曲線如圖6 所示,得出幅值A和冪B的數(shù)值,公式(2)、(3)為最小二乘法擬合算法:
圖6 頻率/轉速和實際壓力值擬合曲線
(3) 控制軟件通過曲線擬合得到指數(shù)函數(shù)幅值A和冪B的數(shù)值,生成快速的壓力到頻率轉換的對應函數(shù)關系式:Power((depth/A/100),1/B),控制軟件以最接近的頻率/轉速控制變頻器,控制電機快速向目標壓力加壓,然后再以PID 控制模式對壓力偏差進行微調(diào)控制和穩(wěn)壓控制,以達到控制壓力的目的。其主要部分函數(shù)模塊代碼如下:
freq:=power((depth/A/100),1/B)/ /目標壓力到頻率轉換模塊
PressToDepth(dest_depth)/ /快速接近加壓模塊
PressToDepth((dest_depth-curr_depth)/2)/ /微調(diào)控制加壓模塊
abs(dest_depth-curr_depth)<=MyPara.BiasErr/ /
加壓完成判斷模塊
在壓力模擬設備加壓實驗中,以0 MPa 為起始壓力點,以0.1 MPa 為間隔逐次增加,并以控制軟件界面上采集顯示的實時壓力為準,用秒表記錄下每次從當前壓力到達目標壓力所需的時間,以完成一次加壓過程作為一個循環(huán),一次循環(huán)記錄的數(shù)據(jù)如表2 所列。 由于壓力模擬設備控制軟件中分段設置了0.005 MPa(0~1 MPa)、0.01 MPa(1~2 MPa)和0.02 MPa(2~3 MPa)的加壓誤差門限,所以實測壓力與目標壓力差的絕對值小于分段誤差時,控制軟件認為壓力模擬設備已加壓到目標壓力,一次加壓動作完成。
表2 試驗驗證數(shù)據(jù)
針對水下產(chǎn)品壓力模擬設備控制系統(tǒng),提出了一種基于“指數(shù)函數(shù)+PID”的組合型控制算法,即通過指數(shù)函數(shù)控制方式實現(xiàn)壓力向目標壓力的指數(shù)型快速逼近,再按經(jīng)典PID 控制模式實現(xiàn)壓力的微調(diào)和穩(wěn)壓控制。 經(jīng)0 ~300 m 加壓試驗表明:該控制方法穩(wěn)定、可靠,單次加壓時間較短,保持在6~12 s 內(nèi),加壓平均誤差-0.35%,加壓精度較高,完全滿足水中產(chǎn)品調(diào)試和壓力儀器儀表的標定和校驗的使用要求。