王振帥 陳明 李超超
摘要:針對實驗室化學類儀器儀表需對參與反應的混合溶液進行恒溫控制的需求,設計了實驗室水溫控制系統。該水溫控制系統以DS18b20傳感器為溫度測量工具,51單片機為處理器,LabVIEW語言為上位機設計語言。實驗結果表明該系統達到了預期的溫度控制效果,可快速確定當前環境下的P、I、D參數,實現了參數的整定。系統充分發揮了上位機和下位機的優勢,可觀測實時采集數據結果,便于對結果進行分析,相比傳統的單片機控制更加簡便高效。
關鍵詞:恒溫控制;LabVIEW語言;參數整定;實時采集
DOIDOI:10.11907/rjdk.172447
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2018)003013903
英文摘要Abstract:Aiming at the chemical instrumetation which need thermostatical control for reactions in the lab,designed Laboratory water temperature control system.This control system take DS18b20 sensor as temperature measurement tool,51 singlechip as processor,LabVIEW as the upper monitor designed language.Multiple experiment results showed the designed temperature control system achieved expected temperature control effect,at the same time, it is able to confirm P、I、D parameters suitable for current environment,realized parameters setting.This designed system makes full use of advantages of the upper monitor and the lower monitor, it is able to collect real data results, it is convenient for results analysis ,more simple and efficient than traditional singlechip.
英文關鍵詞Key Words:thermostatical control; LabVIEW language; parameters setting; realtime collect
0引言
溫度控制在日常生活中應用廣泛,分類較多,控制方法不盡相同,其中以PID控制法最為常見。PID控制具有原理簡單、易于實現、適應性強等諸多優點。傳統的設計一般是將PID算法寫入MCU中,通過按鍵調節PID參數來改變控制效果,步驟繁瑣、耗時耗力,需要經驗豐富的工程技術人員完成。本系統將PID算法集成在LabVIEW上位機中,簡單高效;實時溫度數據以曲線的形式顯示在前端界面,直觀形象;通過設置不同參數得到相互間的溫度對比曲線,初步實現PID參數的整定。MCU(下位機)經溫度傳感器采集溫度數據,通過USB串口傳輸至上位機。系統將上位機的“指揮”作用和下位機的“執行”作用結合起來,充分發揮了上、下位機的優勢。系統工作原理如圖1所示。
1溫度數據采集
1.1MCU溫度數據獲取
采用DS18b20數字溫度傳感器測量水溫。該傳感器具有體積小、硬件開銷低、抗干擾能力強、精度高等特點[1]。DS18B20采用一根I/O總線讀寫數據[2],抗干擾能力強,適合于惡劣環境的現場溫度測量,使用方便。外部供電模式下單只DS18b20電路連接如圖2所示。
DS18b20對讀寫數據位有嚴格的時序要求[3],完成溫度轉換必須經過3個步驟,每一次讀寫之前都要對DS18B20進行復位操作,復位成功后發送一條ROM指令,最后發送RAM指令,這樣才能對DS18B20進行預定操作。MCU代碼實現如下:
void ReadTemperature()
{
Initial_DS18B20();
writechar(0xcc);
writechar(0x44);
delay(125);
Initial_DS18B20();
writechar(0xcc);
writechar(0xbe);
tempL=ReadOneChar();
tempH=ReadOneChar();
zheng=tempL/16+tempH*16;
xiaoshu1=(tempL&0x0f)*10/16;
xiaoshu2=(tempH&0x0f)*100/16%10;
xiaoshu=xiaoshu1*10+xiaoshu2;
}
1.2上位機數據獲取
MCU啟動后,程序初始化,然后“被動”地等待來自上位機的數據采集命令。當上位機向MCU發送指令時,程序產生中斷,進入中斷服務函數,在中斷函數中判斷所接收的指令是否為數據采集指令。若是,MCU啟動溫度采集程序,從溫度傳感器讀取當前溫度數據,數據采集完成后通過USB串口將結果傳送至上位機;若中斷指令不是采集指令,則跳出中斷或執行其它操作,數據采集周期完成,其過程如圖3所示。
2PID算法設計
PID控制即比例、積分、微分控制,具有結構簡單、穩定性好、工作可靠、易于調節等優點[4]。PID控制核心是PID算法設計,實際應用中先將PID模擬控制規律離散化轉變為數字控制規律,然后通過編程完成。
如圖4所示,模擬PID控制器的數學表達式[5]為
u(t)=Kp[e(t)+1Ti∫t0e(τ)dτ+Tdde(t)dt](1)
式(1)中,e(t)為系統偏差量,e(t)= r(t)- c(t),Kp為比例系數,Ti為積分時間常數,Td為微分時間常數。將式(1)進行離散化,可作如下近似處理:
u(t)=u(k)
e(t)=e(k)
∫t0e(t)dt≈∑kj=0Te(j)
de(t)dt≈e(k)-e(k-1)T
其中:T為采樣時間,K為序號。替換后得到數字型PID算法:
u(k)=Kp[e(k)+TTi∑kj=0e(j)+Tde(k)-e(k-1)T](2)
式(2)整理變形得:
u(k)=Kpe(k)+Ki∑kj=0e(j)+Kd[e(k)-e(k-1)](3)
式(3)中,Ki=Kp/Ti,Kd=KpTd/T
式(3)所示的數字型PID算法軟件實現流程[6]如圖5所示。
基于LabVIEW的PID算法程序如圖6所示。
3上位機程序設計
LabVIEW是一種程序開發環境,由美國國家儀器(NI)公司研制開發,使用圖形化編輯語言G編寫程序,程序是框圖形式[7]。
本系統采用LabVIEW設計上位機,前面板溫度顯示采用XY圖和溫度顯示控件,可直觀顯示溫度當前值和溫度變化曲線[8]。前面板如圖7所示,功能分別為串口選擇、溫度和采集點數設置、PID參數設置、溫度數據采集數據、圖形保存等。后面板主要實現對下位機控制,包括溫度采集命令、帕爾貼加熱和停止加熱命令、PID算法等。后面板程序實現[9]如圖8所示。
4實驗結果
4.1溫度控制
當設定溫度為35℃時,得到如圖9所示的溫度曲線,可見最終溫度穩定在34.5℃~35.5℃之間,誤差在±0.5℃以內,在精度要求不高的情況下可基本滿足控制要求。
4.2參數整定
PID參數整定,就是在特定環境下選擇最適合被控對象的P、I、D參數,使控制效果達到最佳[10],本系統通過溫度曲線效果對比的方式達到整定參數的目的。
溫度設置為35℃,采集點數設置為500次。首先將Kp、Ki、Kd分別設為2、0.002、0.05。運行程序,點擊“采集數據”按鈕,程序開始自動采集數據,得到如圖10(a)所示的溫度曲線,采集完成后保存為曲線1。然后修改Ki為0.02,其余參數不變,重新采集數據,得到如圖10(b)所示的溫度曲線,采集完成后保存為曲線2。通過圖10(c)中兩條溫度曲線對比可知,曲線1采集溫度在設置溫度附近波動,誤差較小,說明P、I、D參數選擇合理; 曲線2采集溫度超調量過大,效果不如曲線1好。
從對比曲線可以清晰看到相同條件下不同參數溫度曲線之間的差異,由此可研究P、I、D參數對溫度的影響,達到整定參數的目的。
5結語
大量實驗證明本文設計的控制系統實現了水溫的恒定控制,達到了初步整定PID參數的效果,適用于對溫度精度要求不太嚴格(誤差為±0.5℃)的控制場合。本設計結合了上位機LabVIEW和下位機MCU的優點,實現簡單、過程清晰、操作方便,可實時觀測采集的溫度數據,直觀形象,有助于系統的調試和分析。
參考文獻參考文獻:
[1]沙占友.集成化智能溫度傳感器原理與應用[M].北京:電子工業出版社,2004.
[2]金偉正.單線數宇溫度傳感器的原理與應用[J].電子技術應用,2000(6):6668.
[3]陳明,陳明,邱超凡.基于DS18B20數字溫度傳感器的設計與實現[J].現代電子技術,2008,31(8):188189.
[4]陶永華.新型PID控制及其應用[J].工業儀表與自動化裝置,1998(1):7275.
[5]金奇,鄧志杰.PID控制原理及參數整定方法[J].重慶理工大學學報,2008,22(5):9194.
[6]李尹.PID控制算法及其在風速控制中的應用[D].武漢:華中科技大學,2007.
[7]林靜,林振宇,鄭仁福.LabVIEW虛擬儀器程序設計從入門到精通[M].北京:人民郵電出版社,2010.
[8]聶樂樂,李麗娟,王勁松,等.基于LabVIEW的模糊PID溫度控制系統[J].長春理工大學學報:自然科學版,2011(4):5860.
[9]LIU D X.PID control and program realizing method [J].Chinese Journal of Neijiang Teachers College,2005,20(6):2023.
[10]李國文,趙永建.基于LabVIEW的低速風洞風速量化PID控制系統設計[J].自動化儀表,2006,27(8):2123.
責任編輯(責任編輯:杜能鋼)