張守寶 盛進(jìn)路 李小鳳 楊萬沐
(1. 重慶交通大學(xué)航運與船舶工程學(xué)院 重慶 400074; 2. 重慶交通大學(xué)交通運輸學(xué)院 重慶 400074)
液貨船運輸過程中對溫度的實時監(jiān)控需求很高。IGC規(guī)則明確規(guī)定了各類液貨維護系統(tǒng)設(shè)計的溫度要求。油類貨物、各種液化氣和部分化學(xué)品溫度過高容易揮發(fā),無論是哪種貨物揮發(fā)都會造成高額經(jīng)濟損失和巨大的安全隱患,尤其是對于遠(yuǎn)洋類多功能化學(xué)品船(Parcel Chemical Tanker),實現(xiàn)各液貨艙溫度實時監(jiān)測更是顯得極為重要[1-3]。目前部分液貨船貨艙的溫度仍采用傳統(tǒng)的溫度計進(jìn)行測量,這種方式需要人工輪流統(tǒng)計,工作量大且無法實時監(jiān)測溫度變化。還有部分貨船采用由分立元件如熱敏電阻等搭建的測溫電路。這種電路結(jié)構(gòu)較大、測溫精度較低,且環(huán)境溫度越高或越低,測溫誤差也會產(chǎn)生不同程度偏移[4-7],已不能滿足多種貨物安全溫度監(jiān)測需求。本文采用集成化數(shù)字溫度傳感器和數(shù)字信號處理芯片實現(xiàn)液貨船多個貨艙溫度的同時監(jiān)測,所設(shè)計的系統(tǒng)電路結(jié)構(gòu)簡單,安裝極為方便,具有靈敏度高、無需A/D轉(zhuǎn)換電路、測量精度高、穩(wěn)定性好、測溫范圍大、功能設(shè)置方便等特點,能夠?qū)崿F(xiàn)液貨船多貨艙溫度的現(xiàn)場和遠(yuǎn)程數(shù)字化實時監(jiān)測。
系統(tǒng)硬件框圖如圖1所示。測溫陣列電路采用8個數(shù)字溫度傳感器,每個傳感器內(nèi)部都有唯一64位序列號,單片機通過訪問不同序列號實現(xiàn)對指定傳感器的操作[8]。每個傳感器序列號需要8個字節(jié)的存儲空間,共需64 B內(nèi)存用來存儲傳感器的地址,使用單片機內(nèi)部存儲是足夠的。報警模塊用于發(fā)出聲光報警,告知船上值班人員采取相應(yīng)措施進(jìn)行降溫處理。串口通信模塊用于實現(xiàn)單片機與遠(yuǎn)程監(jiān)控設(shè)備之間的通信,便于值班室人員實時掌握各貨艙溫度狀況,由于是近距離通信,故將接口設(shè)計成RS232通信標(biāo)準(zhǔn)已能夠滿足傳輸距離和抗干擾要求。
圖1 系統(tǒng)硬件結(jié)構(gòu)
DS18B20封裝體積小、分辨率高、工作環(huán)境適應(yīng)性強,并且測溫分辨率可通過設(shè)置傳感器內(nèi)部配置寄存器的R1和R0位的不同狀態(tài)改變[9-10]。毫秒級溫度轉(zhuǎn)換速度足夠滿足液貨船貨艙溫度監(jiān)測需求。
為方便對傳感器進(jìn)行訪問,傳感器資料中其提供了一系列的存儲器操作指令,單片機通過讀寫位/字的方式將指令送出。單片機單總線端口訪問DS18B20的過程如下:
(1)初始化。通過執(zhí)行傳感器陣列初始化程序?qū)λ袀鞲衅鬟M(jìn)行初始化操作,該過程以及讀寫位/字的過程嚴(yán)格依據(jù)控制時序編程。
(2)ROM操作指令。首先執(zhí)行搜索ROM指令,獲取各傳感器序列號,然后存儲每個傳感器序列號,最后執(zhí)行ROM匹配指令,實現(xiàn)對每個傳感器的識別控制。
(3)數(shù)據(jù)處理。包括每個傳感器溫度的讀取、CRC校驗、顯示、判斷和信息傳輸操作。
為便于遠(yuǎn)程監(jiān)控各艙室溫度,設(shè)計的單片機與船艙值班房PC機之間的通信接口如圖2所示。該電路主要分兩部分,一部分是通信部分,另一部分是電源部分。MAX232芯片有兩組獨立的TTL-RS232數(shù)據(jù)轉(zhuǎn)換電路,選用其中的一組。該轉(zhuǎn)換電路能夠在5 V電源下正常工作,使得其與單片機可共用一個電源,簡化電路設(shè)計的同時又能夠保障串口通信的穩(wěn)定性。
圖2 串口通信及電源電路
為使系統(tǒng)使用更為便利,利用PC機串口設(shè)計了系統(tǒng)電源電路,由PC機串口直接取電。采用集成穩(wěn)壓芯片78L05,編程時將上位機串口的4引腳和7引腳置為高電平保持不變,分別通過保護二極管接入集成穩(wěn)壓芯片的輸入端,輸出5 V直流電源,經(jīng)檢測輸出電流在98.6 mA左右,輸出電壓為4.9 V,足夠驅(qū)動系統(tǒng)正常工作,由于78L05獨特的穩(wěn)壓特點,使得該電源穩(wěn)壓性能非常好。
單片機對DS18B20陣列的通信基于對某個通道DS18B20的訪問,通過循環(huán)掃描和ROM匹配對指定傳感器的溫度進(jìn)行讀取、計算轉(zhuǎn)換與顯示等操作,溫度測量子函數(shù)部分只考慮處理器與單個傳感器實現(xiàn)通信,測量結(jié)束后,將溫度值按順序存放在Temp_h和Temp_l兩個無符號字符型變量中,按下面公式轉(zhuǎn)換成實際溫度的整數(shù)部分,溫度轉(zhuǎn)換流程如圖3所示。
圖3 溫度轉(zhuǎn)換流程
主程序流程如圖4,系統(tǒng)首先對傳感器陣列以及LCD1602初始化,選用的顯示器最多同時顯示兩行字符[11]。為減少硬件資源消耗的同時又能顯示更多內(nèi)容,設(shè)計通過軟件控制顯示模式標(biāo)志位的值實現(xiàn)界面的切換。單片機發(fā)送搜索ROM指令(0FH)獲取每個傳感器的序列號,并按字節(jié)存儲至單片機,然后通過判斷模式標(biāo)志位moshiflag的值確定顯示器的顯示內(nèi)容。當(dāng)按下設(shè)置按鍵,程序立即退出監(jiān)控模式,進(jìn)入設(shè)置模式(通過if(shezhikey==0)break;程序?qū)崿F(xiàn)),循環(huán)掃描按鍵子程序,再次按下設(shè)置鍵,返回到監(jiān)控模式,執(zhí)行其他程序。
圖4 系統(tǒng)主程序流程
Proteus環(huán)境下的仿真圖如圖5所示。設(shè)定每個艙室安全溫度值為30 ℃,當(dāng)前LCD顯示的是通道2溫度,值為41 ℃,由于超過了安全溫度限定值,聲光報警模塊被啟動。通信串口和系統(tǒng)電源部分也處于正常運行狀態(tài),表明系統(tǒng)能夠?qū)崿F(xiàn)多通道溫度監(jiān)控要求。
圖5 基于Proteus仿真環(huán)境下的系統(tǒng)仿真
為驗證系統(tǒng)實際測溫性能,搭建了測量系統(tǒng)實物電路,通過模擬船舶多貨艙環(huán)境溫度,將8支數(shù)字溫度計所測數(shù)據(jù)與測量系統(tǒng)所測數(shù)據(jù)在同一時刻進(jìn)行對比,并將系統(tǒng)串口連接至上位機,實驗記錄了環(huán)境溫度較為穩(wěn)定時某時刻的8組測量數(shù)據(jù),如表1所示,同時,上位機顯示的各通道溫度隨時間變化曲線如圖6所示。
圖6 各通道溫度隨時間變化曲線
表1 試驗數(shù)據(jù)記錄
通過對比可知,系統(tǒng)各通道溫度所測值與實際溫度值之間誤差不超過1 ℃,滿足大多數(shù)液貨船貨艙溫度監(jiān)測需求。設(shè)計時為了簡化編程,只測量和顯示溫度的整數(shù)部分,設(shè)計算法時將Temp_l寄存器低4位移除了,移除部分為溫度的小數(shù)部分,若保留小數(shù)部分,可進(jìn)一步減小測量溫差。
基于對液貨船貨艙溫度控制的關(guān)鍵技術(shù)研究,設(shè)計了一套具有較高技術(shù)水平的多通道貨艙溫度監(jiān)測系統(tǒng)。利用分時復(fù)用技術(shù)和循環(huán)掃描技術(shù)解決了傳感器陣列控制問題。仿真和試驗表明該系統(tǒng)滿足貨艙溫度現(xiàn)場實時監(jiān)測和遠(yuǎn)程監(jiān)控要求,是一套新型可靠的智能化貨艙溫度監(jiān)測系統(tǒng)。另外,該系統(tǒng)具有較強的擴展性,一方面,除了通過修改程序顯示溫度的小數(shù)部分以提高測量精度,還可根據(jù)實際需要設(shè)置傳感器的配置寄存器使系統(tǒng)具備更高的溫度分辨率。另一方面,該系統(tǒng)只使用了8個溫度傳感器,如果加入外部存儲芯片用于存儲各傳感器的序列號,并通過雙向鎖存器控制多路傳感器陣列工作,可大大增加傳感器的數(shù)量。