劉 揚,劉志江,莊偉彬
(集美大學誠毅學院,福建廈門361021)
溫度是最常見、最重要的物理量之一,溫度控制也在各個領(lǐng)域得到廣泛應用。隨著計算機控制技術(shù)的發(fā)展,溫度控制系統(tǒng)也發(fā)展迅速。組態(tài)軟件是近年來在工業(yè)自動化領(lǐng)域興起的一種新型的軟件開發(fā)技術(shù),開發(fā)人員通常不需要編制具體的指令和代碼,只要利用組態(tài)軟件包中的工具,通過硬件組態(tài)、數(shù)據(jù)組態(tài)、圖形圖像組態(tài)等工作即可完成所需應用軟件的開發(fā)工作,它具有二次開發(fā)簡便、開發(fā)周期短、通用性強、可靠性高等優(yōu)點。同時單片機也具有體積小,重量輕,價格低廉,功耗低,可靠性高,靈活性好,開發(fā)較為容易等優(yōu)點。該系統(tǒng)將以單片機作為下位機,裝有組態(tài)軟件的PC機位作為上位機,實現(xiàn)對溫度的實時顯示與控制。
系統(tǒng)結(jié)構(gòu)框圖如圖1所示,DS18B20將所測溫度送入單片機,單片機經(jīng)RS232與PC機通信,將采集到的溫度送上位機,通過組態(tài)軟件實現(xiàn)溫度的實時顯示,并對所獲數(shù)據(jù)進行處理,進而按系統(tǒng)要求控制下位機動作,以達到精確控溫的目的。同時該系統(tǒng)還具有查詢歷史數(shù)據(jù)及溫度報警等功能。
圖1 系統(tǒng)結(jié)構(gòu)框圖
上位機可以對溫度進行自由設(shè)定,并顯示所設(shè)定的溫度值,將室溫的檢測值與設(shè)定值進行比較,比較結(jié)果經(jīng)處理后控制下位機動作,并由指示燈顯示電爐的工作狀態(tài)。系統(tǒng)對溫度的升降過程沒有很高的要求,采用組態(tài)軟件中的PID控制,當設(shè)定溫度與室溫實際溫度相差很大時,三臺電爐會同時開啟,迅速加熱到設(shè)定溫度;設(shè)定溫度與室溫相差不大時,根據(jù)相差的大小開啟一臺或兩臺電爐。上位機可提供高速歷史數(shù)據(jù)的存儲和查詢功能,繪制實時和歷史數(shù)據(jù)趨勢圖表,還可實現(xiàn)參數(shù)的實時狀態(tài)跟蹤等.
2.1 溫度采集模塊美國DALLS公司的單總線數(shù)字式溫度傳感器DS18B20可實現(xiàn)室內(nèi)溫度的采集,精度高,此芯片直接輸出數(shù)字信號,可省去采集信號的放大及模數(shù)轉(zhuǎn)換;每一個都有唯一的序列號,故可在一根信號線上掛接多個DS18B20,方便多點測量。
圖2中DS18B20第2腳接至單片機P1_2,可實現(xiàn)溫度數(shù)據(jù)傳輸。
圖2 DS18B20接線圖
2.2 加熱/制冷器控制模塊單片機控制對象是強電設(shè)備,負載功率較大,單片機輸出的信號是低電壓、小信號,無法直接驅(qū)動負載,需轉(zhuǎn)換成大電壓、大電流信號。
系統(tǒng)采用繼電器可直接驅(qū)動負載,而且可起到隔離和抗干擾作用。圖3是繼電器與單片機的接口電路,輸出經(jīng)光電耦合,經(jīng)三極管放大后,驅(qū)動繼電器動作。
圖3 單片機與繼電器接口電路
圖4 RS232接口電路
2.3 RS232接口電路上位機與下位機的通信采用串行通信接口RS232,其接口電路如圖4所示。
系統(tǒng)軟件設(shè)計主要包括上位機與下位機的通信程序和單片機控制程序兩個部分。系統(tǒng)主程序流程如圖5所示。主程序在進行系統(tǒng)初化以后,進入DS18B20溫度采集部分,在溫度采集程序中先關(guān)串口中斷,此時單片機不響應組態(tài)王發(fā)來的任何詢問,待溫度采集完成后再開串口中斷,此時單片機可以響應組態(tài)王發(fā)送的請求并按照協(xié)議傳送數(shù)據(jù),進而使上位機可以實時地顯示DS18B20采集到的溫度值。
3.1 單片機控制程序單片機作為溫控系統(tǒng)的下位機,主要承擔數(shù)據(jù)采集,將數(shù)據(jù)傳遞至上位機,接受上位機控制信號以及控制加熱和制冷設(shè)備等任務。
開機后單片機檢查傳感器和伺服設(shè)備是否正常,并提示警報(亮燈或蜂鳴),然后向上位機發(fā)送命令提示字符串并檢查通信是否正常。等待上位機發(fā)送運行命令。得到命令后檢測溫度并發(fā)送至上位機,等待命令。上位機將檢測溫度值與預設(shè)溫度值進行比較和處理后給出控制指令,送單片機執(zhí)行加熱或冷卻命令,如果外界溫度達到要求,單片機得到待機命令。其控制流程圖如圖6所示。
3.1.1 DS18B20溫度采集程序數(shù)字溫度傳感器DS18B20采用單總線數(shù)據(jù)傳輸方式,實現(xiàn)溫度采集的編程關(guān)鍵是嚴格執(zhí)行單總線協(xié)議。根據(jù)DS18B20的通信協(xié)議,單片機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過以下幾個步驟[6]:(1)每一次讀寫之前都要對DS18B20進行復位。(2)復位成功后發(fā)送一條寫ROM指令。(3)發(fā)存儲器操作指令。
對DS18B20的讀寫操作包括讀ROM命令和存儲器操作命令。如圖7所示為溫度采集流程圖。
3.2 上位機與下位機通信設(shè)置通信協(xié)議是組態(tài)王與單片機通信的關(guān)鍵所在,通信參數(shù)包括數(shù)據(jù)位、停止位、波特率、校驗方式,通信參數(shù)的設(shè)置由單片機決定,組態(tài)王中的設(shè)定和單片機一致即可。本文選擇效率較高的通用HEX協(xié)議,單片機內(nèi)通信協(xié)議按照亞控提供的協(xié)議編寫。
單片機與組態(tài)王的通信協(xié)議處理程序包括組態(tài)王從單片機讀取溫度值的處理和單片機對組態(tài)王查詢命令進行應答處理兩個部分。需要注意的是,通信數(shù)據(jù)格式為9位,組態(tài)王發(fā)送地址請求格式中bit8為1,其它傳輸格式中bit8為0。當單片機工作在多機通信位方式下時,單片機的 SM2為1,接收組態(tài)王發(fā)送來的地址請求,當檢測到組態(tài)王對自己的地址請求后,置SM2為0,此時可進行溫度值處理和通信,通信結(jié)束后置SM2為1,等待下一次組態(tài)王的地址請求[7]。
圖8 溫度測控主界面
3.3 上位機界面設(shè)置系統(tǒng)包括溫度測控主界面,歷史曲線,歷史數(shù)據(jù)報表,PID控制等監(jiān)控界面。圖8為主界面。通過讀下位機采集到的溫度值,可在主界面上顯示實時溫度曲線和數(shù)值;還可通過主界面設(shè)定溫度上、下限和報警溫度值,當溫度超過報警溫度值,主界面將提示溫度超警戒線。
PID控制采用組態(tài)王自定義函數(shù)命令語言,定義PID控制程序函數(shù),并在應用程序命令語言中當系統(tǒng)啟動時調(diào)用該函數(shù),實現(xiàn)PID控制。PID界面如圖9所示,P,I,D參數(shù)可根據(jù)現(xiàn)場調(diào)試過程更改。
圖9 PID控制界面
文章基于單片機和組態(tài)王設(shè)計了一個溫度控制系統(tǒng),采用數(shù)字溫度傳感器DS18B20實現(xiàn)溫度的采集與轉(zhuǎn)換,簡化了分布式溫度傳感器的應用;通過上位機與下位機的通信,實現(xiàn)了溫度的實時顯示及報警,同時將反饋信號送回單片機用以控制現(xiàn)場設(shè)備,并能查詢歷史曲線及歷史數(shù)據(jù)報表,為用戶提供了良好的人機交互界面。該系統(tǒng)操作簡單,可靠性強,是一種比較理想的智能控制系統(tǒng),在很多領(lǐng)域得到應用,具有一定的應用價值。
[1]李士勇.模糊控制.神經(jīng)控制和智能控制論[M].哈爾濱工業(yè)大學出版社,2006.
[2]莉福良,張輝.簡易高精度溫度測控系統(tǒng)[J].電子技術(shù),2003(9):58-59.
[3]王成江,王安敏,張玉華.單總線數(shù)字溫度傳感器原理及應用.[J].半導體技術(shù),2003(2):68-70.
[4]鄭敏.遠程高精度數(shù)字溫度測控系統(tǒng)的設(shè)計[J].石河子大學學報(自然科學版),2005(4):516-517.
[5]楊云飛.基于組態(tài)王的模糊PID溫度控制系統(tǒng)[J].自動化與儀表,2009(12):26-29.
[6]汪玉鳳,馬曉峰.基于組態(tài)王KingView與DS18B20的溫度采集系統(tǒng)的設(shè)計[J].工礦自動化,2009(11):117-119.
[7]尉俊蘭,丁振榮.組態(tài)王6.5與單片機的通信方法[J].工業(yè)控制計算機,2004(10):58-59.