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