程 可,郭悅立,王 寧
(黑龍江地震局,黑龍江 哈爾濱150090)
黑龍江省處于我國(guó)東北地區(qū)的最北端,在一年當(dāng)中冬季占五~八個(gè)月之久,在這五~八個(gè)月中平均氣溫在零下20℃左右,因此造成我省的許多無(wú)人值守站點(diǎn)(全省無(wú)人值守站點(diǎn)21個(gè),占全省臺(tái)站比例(2/3)。由于氣溫過(guò)低地震現(xiàn)場(chǎng)設(shè)備無(wú)法運(yùn)行或者采集數(shù)據(jù)不可靠,供電電瓶不能供電等問(wèn)題,如果要解決這個(gè)問(wèn)題在現(xiàn)有的條件下只能對(duì)現(xiàn)場(chǎng)溫度進(jìn)行調(diào)節(jié)使其達(dá)到各種設(shè)備正常運(yùn)行的狀態(tài)。有些站點(diǎn)在冬天為了解決無(wú)人臺(tái)站的供熱問(wèn)題,采用帶溫度設(shè)定電暖氣對(duì)室內(nèi)進(jìn)行加熱的辦法。但是由于現(xiàn)場(chǎng)電源功率限制以及室內(nèi)空間過(guò)大,所以這種辦法在冬季最寒冷的兩個(gè)月根本起不到什么作用;另外,由于電暖氣不能實(shí)時(shí)的調(diào)節(jié)溫度,還容易產(chǎn)生火災(zāi)。
鑒于以上原因我們考慮采用對(duì)室內(nèi)設(shè)備單獨(dú)加熱的方式來(lái)保持設(shè)備正常運(yùn)行,一般臺(tái)站室內(nèi)主要由放置儀器的電控柜、拾震記以及安裝電瓶的電池箱組成,這些東西也是主要保護(hù)的對(duì)象。我們?cè)谡军c(diǎn)內(nèi)用一種供電加熱的熱輻射散熱板來(lái)實(shí)現(xiàn)對(duì)站點(diǎn)供熱,散熱板的加熱采用我們開發(fā)的自動(dòng)溫控系統(tǒng)和遠(yuǎn)程網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)。
為實(shí)現(xiàn)以上功能黑龍江省地震局監(jiān)測(cè)中心研制了一臺(tái)針對(duì)我省高寒地區(qū)的無(wú)人值守站點(diǎn)在冬季設(shè)備保溫加熱的專用自動(dòng)控制儀器以及開發(fā)遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控系統(tǒng)。
主要解決的關(guān)鍵問(wèn)題:
根據(jù)熱輻射原理采用溫度傳感器LM35 測(cè)量室內(nèi)溫度,利用ALIENTEK STM32F103 戰(zhàn)艦開發(fā)板采集、計(jì)算處理,然后通過(guò)自行設(shè)計(jì)的接口板繼電器的通斷輸出來(lái)控制散熱板的加熱。
在溫度低于0°C 時(shí),自動(dòng)進(jìn)行加溫,高于上限設(shè)定值時(shí),停止加熱,讓設(shè)備始終處于0℃~設(shè)定值的外部環(huán)境中,提高設(shè)備的壽命和采集數(shù)據(jù)的準(zhǔn)確率。解決由于氣溫過(guò)低,地震現(xiàn)場(chǎng)設(shè)備無(wú)法運(yùn)行的問(wèn)題和地震現(xiàn)場(chǎng)設(shè)備采集數(shù)據(jù)不可靠的問(wèn)題。
臺(tái)站智能控制儀由主板(ALIENTEK 戰(zhàn)艦STM32開發(fā)板)、電源部分、輸入輸出板、顯示板(前面板)、后面板等部分組成。
本設(shè)計(jì)利用STM32F103MCU 的幾個(gè)卓越的特性和強(qiáng)大的功能,主要體現(xiàn)為:
STM32 具有便宜的價(jià)格優(yōu)勢(shì)。以普通單片機(jī)機(jī)的價(jià)格,得到擁有ARM 內(nèi)核的,可移植多任務(wù)32 位機(jī)器。
開發(fā)板具有豐富的外設(shè)功能。STM32F103 極高的集成了包括:FSMC 總線、TIMER 定時(shí)器、SPI 總線、IIC 總線、CAN 總線、IIS 總線、SDIO 可配置端口、ADC 轉(zhuǎn)換、DAC 轉(zhuǎn)換、內(nèi)置RTC、DMA 等眾多外設(shè)。
處理器提供了優(yōu)異的實(shí)時(shí)中斷性能。共有84個(gè)可編程中斷,16 級(jí)的可編程優(yōu)先級(jí),并且所有的引腳都可以作為外部中斷輸入。
內(nèi)核設(shè)計(jì)杰出的低功耗的控制功能。STM32F103 的總線結(jié)構(gòu)采用的是哈佛體制,各個(gè)總線的外設(shè)都有自己的獨(dú)立時(shí)鐘開關(guān),可以通過(guò)關(guān)閉相應(yīng)外設(shè)的時(shí)鐘來(lái)降低功耗。
開發(fā)下載程序簡(jiǎn)單方便。程序開發(fā)完成后通過(guò)MDK編譯器編譯仿真,只需要通過(guò)廠家提供的ST-LINK 或者一個(gè)串口即可下載編譯通過(guò)的代碼,同時(shí)支持SWD 和JTAG 兩種調(diào)試口和ST-LINK 連接,只需要占用2個(gè)IO口,即可實(shí)現(xiàn)仿真調(diào)試。
設(shè)備的核心主開發(fā)板外形尺寸為121mm*160mm 大小,本項(xiàng)目利用了戰(zhàn)艦型開發(fā)板主要資源如下:
(1)中央處理器(CPU):STM32F103ZET6,外形封裝:LQFP144,閃存(FLASH)為:512K,內(nèi)部SRAM 為:64K。
(2)外部擴(kuò)展SRAM 的型號(hào)為:IS62WV51216,容量1M 字節(jié)。
(3)外圍擴(kuò)展ROM 為閃存(FLASH)采用SPI 總線,型號(hào)為:W25Q128,容量為16M 字節(jié)。
(4)開發(fā)板板載具有1個(gè)電源指示燈(藍(lán)色),用來(lái)指示電源狀態(tài),2個(gè)狀態(tài)指示燈(DS0:紅色,DS1:綠色)供調(diào)試時(shí)使用。
(5)板上含有一個(gè)EEPROM 芯片,24C02,容量256字節(jié)。
(6) 對(duì)外引出一路CAN 總線接口,采用的是TJA1050 芯片。
(7)一個(gè)485 總線接口,采用SP3485 芯片。
(8)兩路RS232 串口(一公一母)接口,采用SP3232芯片。
(9)一路數(shù)字量接口,可以支持DS18B20/DHT11 溫度濕度傳感器等。
(10)一個(gè)ATK 模塊接口,支持ALIENTEK 藍(lán)牙/GPS模塊/MPU6050 模塊等。
(11)包含一個(gè)標(biāo)準(zhǔn)的2.4/2.8/3.5 寸LCD 接口(IDC封裝),支持觸摸屏連接。
(12)一個(gè)USB 串口,這個(gè)竄口可用于程序下載和代碼調(diào)試(USMART 調(diào)試)。
(13)一個(gè)USBSLAVE 通訊接口,用于USB 通信。
(14)一個(gè)有源蜂鳴器,調(diào)試時(shí)使用。
(15)1個(gè)RS232/RS485 選擇接口,1個(gè)RS232/模塊選擇接口,1個(gè)CAN/USB 選擇接口和1個(gè)串口選擇接口。當(dāng)根據(jù)實(shí)際情況對(duì)不同的應(yīng)用作出選擇調(diào)整。
(16)一個(gè)SD 卡接口(在板子背面,SDIO 接口),用來(lái)存儲(chǔ)網(wǎng)頁(yè)和文件。
(17)一個(gè)10M/100M 以太網(wǎng)接口(RJ45),接入內(nèi)網(wǎng)實(shí)時(shí)通過(guò)網(wǎng)頁(yè)對(duì)設(shè)備訪問(wèn)。
(18)板子上帶用1個(gè)標(biāo)準(zhǔn)的JTAG/SWD 調(diào)試下載口,用來(lái)下載程序。
(19)具有多功能端口(DAC、ADC、PWMDAC、AUDIO IN)本設(shè)計(jì)中的溫度傳感器LM35 應(yīng)用到其中的AD 轉(zhuǎn)換。
(20)一組5V 和3.3V 電源供應(yīng)/接入口,通過(guò)IO 端口和設(shè)備的輸入輸出板相連接。
對(duì)于使用開發(fā)板的資源如下:引出IO 端口中的MCU 中STM32F103ZET6 引腳PA0、PA5、PA6 設(shè)置為模擬輸入,用來(lái)作為室內(nèi)采溫的三個(gè)通道。引腳PC0、PC1、PC2 設(shè)置為推挽輸出,用來(lái)驅(qū)動(dòng)輸入輸出板的三個(gè)繼電器。其中一個(gè)繼電器控制散熱板交流接觸器的供電通斷,另外兩個(gè)繼電器一個(gè)控制保溫機(jī)柜的加熱膜供電的通斷,另一個(gè)備用。加熱板和加熱膜供電互鎖,當(dāng)加熱板出現(xiàn)故障時(shí)使用保溫機(jī)柜的加熱膜供電。三路溫度傳感器使用溫度傳感器LM35,用來(lái)對(duì)室內(nèi)采溫,當(dāng)采到的溫度小于等于0℃時(shí)PC0 置0 觸發(fā)控制加熱板的繼電器帶動(dòng)交流接觸器使加熱板供電加熱,又當(dāng)室內(nèi)溫度達(dá)到設(shè)定值左右PC0 置1 使加熱板斷電停止加熱。
溫度采集以及控制加熱的外圍電路中信號(hào)利用公共端口與開發(fā)板相連其中主要有四路模擬量輸入,三路開關(guān)量輸出,一個(gè)共地信號(hào)和一個(gè)+3.3V。三端穩(wěn)壓電源7805,7809 作為L(zhǎng)M35 的電源,輸出信號(hào)采用光藕隔離驅(qū)動(dòng)三極管9013 控制三路繼電器,在通過(guò)繼電器觸點(diǎn)來(lái)觸發(fā)交流接觸器為加熱板供電。
設(shè)備本地設(shè)采用APP 方式進(jìn)行觸摸屏設(shè)定以及動(dòng)態(tài)顯示現(xiàn)場(chǎng)溫度和傳感器的通斷狀態(tài)并且具有利用遠(yuǎn)程網(wǎng)頁(yè)操作功能和本地操作具有同樣作用。系統(tǒng)利用UCOS 多任務(wù)操作系統(tǒng)進(jìn)行人機(jī)交互,交互界面采用APP方式需要偏寫交互程序。
動(dòng)態(tài)網(wǎng)頁(yè)與開發(fā)板通訊利用CGI,和SSI 技術(shù)與網(wǎng)頁(yè)提交的表單握手對(duì)接?,F(xiàn)場(chǎng)顯示、設(shè)置簡(jiǎn)單、直觀:顯示屏硬件用彩色4.3 吋屏幕,現(xiàn)場(chǎng)用戶交互界面分別采用三個(gè)界面交互顯示,它包括APP 顯示主界面、溫度顯示界面、溫度最大值設(shè)定界面。其中顯示主界面分別其余兩個(gè)界面的圖標(biāo),只要在觸摸屏上觸摸圖標(biāo)就能進(jìn)入相應(yīng)的子界面。
采用網(wǎng)頁(yè)與現(xiàn)場(chǎng)下位機(jī)通過(guò)LWIP 協(xié)議進(jìn)行直接通訊,由于意法公司的ARM STM32 系列芯片是32 位機(jī),與控制中心的服務(wù)器通訊流暢,及時(shí),比以往8 位單片機(jī)效率高出至少1個(gè)數(shù)量級(jí),網(wǎng)頁(yè)開發(fā)使用DW 開發(fā)環(huán)境制作了個(gè)HTML 網(wǎng)頁(yè),這些網(wǎng)頁(yè)的作用分別為:(1)設(shè)備簡(jiǎn)介網(wǎng)頁(yè):在這里主要對(duì)主機(jī)設(shè)備的功能和內(nèi)部組成進(jìn)行介紹。(2)溫度顯示網(wǎng)頁(yè):在這個(gè)頁(yè)面里通過(guò)表格的內(nèi)容分別顯示內(nèi)部溫度傳感器和三個(gè)輸入通道的實(shí)時(shí)溫度值(每秒刷新一次),還有一個(gè)表格顯示加熱板的實(shí)際加熱狀態(tài)。(3)遠(yuǎn)程控制界面:界面中有個(gè)遠(yuǎn)程控制選擇按鈕,當(dāng)點(diǎn)擊此按鈕后可以通過(guò)網(wǎng)頁(yè)進(jìn)行遠(yuǎn)程強(qiáng)制控制設(shè)備中輸出繼電器的通斷,從而使加熱設(shè)備啟停。在通訊方面硬件方面我們采用網(wǎng)絡(luò)接口芯片DM9000,此芯片是搭建STM32F103 與外界網(wǎng)絡(luò)的橋梁,同時(shí)此芯片也是一款輕型以太網(wǎng)控制器,利用RJ45 端口建立通訊聯(lián)系。同時(shí)它是出于高性能低功耗設(shè)計(jì)的,并且使用輕型的TCP/IP 協(xié)議棧LwIP。LWIP 完全符合現(xiàn)有的通訊規(guī)范。
用來(lái)現(xiàn)場(chǎng)APP 展示的界面有兩個(gè):它們分別為顯示界面和設(shè)定界面,顯示界面用來(lái)顯示各個(gè)傳感器的實(shí)時(shí)溫度值和繼電器的加熱狀態(tài),設(shè)定界面用來(lái)設(shè)定采溫三通道的上限溫度值,當(dāng)實(shí)際溫度達(dá)到設(shè)定的溫度就停止加熱。
顯示界面的第一路通道顯示芯片內(nèi)部溫度值,第二、三、四路用來(lái)顯示三個(gè)溫度傳感器LM35 實(shí)時(shí)溫度值。界面的下半部分分別對(duì)應(yīng)三個(gè)輸出繼電器的加熱狀態(tài),也使用戶直觀了解輸出的實(shí)際狀態(tài),當(dāng)目前是加熱時(shí)使用綠色標(biāo)志并有文字提示和蜂鳴器的聲音,同時(shí)加熱停止時(shí)自動(dòng)轉(zhuǎn)換為紅色標(biāo)志蜂鳴器停止。
設(shè)定界面的上半部分用來(lái)本地設(shè)定三個(gè)通道的上限溫度值,當(dāng)實(shí)際溫度大于等于設(shè)定值時(shí)輸出繼電器斷開,加熱板停止加熱,每個(gè)通道的設(shè)定值通過(guò)屏幕的兩個(gè)按鍵的觸摸用來(lái)增減大小,設(shè)定值實(shí)時(shí)顯示,界面的下半部分分別顯示采到的溫度值的溫度曲線。
本地的兩個(gè)界面可以通過(guò)觸動(dòng)每個(gè)界面的返回按鈕,返回主界面。主界面只是用來(lái)顯示設(shè)定和顯示界面兩個(gè)圖標(biāo)。
在本產(chǎn)品的開發(fā)板和自行制作的網(wǎng)頁(yè)之間通過(guò)CGI(公共網(wǎng)關(guān)接口)和SSI(服務(wù)器端嵌入)技術(shù)進(jìn)行人機(jī)交互。其中網(wǎng)頁(yè)通過(guò)向控制器發(fā)送的表單中CGI 的URL 的數(shù)量為10個(gè)它們分別對(duì)應(yīng)10個(gè)中斷函數(shù),這些函數(shù)主要用來(lái)實(shí)現(xiàn)定義遠(yuǎn)程強(qiáng)制加熱的開、關(guān)以及通過(guò)觸發(fā)網(wǎng)頁(yè)上的按鈕控件對(duì)設(shè)備繼電器進(jìn)行遠(yuǎn)程控制。SSI 的TAG 數(shù)量為17個(gè),同網(wǎng)頁(yè)程序HTML 中注釋的關(guān)鍵字一一對(duì)應(yīng),用來(lái)遠(yuǎn)程顯示各個(gè)通道溫度值以及加熱狀態(tài)等。
網(wǎng)頁(yè)可以遠(yuǎn)程對(duì)設(shè)備進(jìn)行強(qiáng)制控制加熱板停止加熱,以免當(dāng)發(fā)生緊急情況時(shí)及時(shí)斷電,遠(yuǎn)程網(wǎng)頁(yè)真實(shí)的顯示現(xiàn)場(chǎng)設(shè)備的工作狀態(tài)。
小結(jié):為了實(shí)現(xiàn)臺(tái)站冬季控溫目的所采用的STM32單片機(jī)的多任務(wù)管理系統(tǒng)實(shí)現(xiàn)了本地與遠(yuǎn)程監(jiān)控和操作控制,并且程序在以太網(wǎng)通訊內(nèi)網(wǎng)運(yùn)行應(yīng)用中實(shí)時(shí)可靠運(yùn)行。經(jīng)過(guò)測(cè)試溫度在0°C 以下設(shè)備能及時(shí)啟動(dòng)加熱,達(dá)到設(shè)定值時(shí)能馬上停止加熱能夠使空間溫度達(dá)到一個(gè)合理的區(qū)間。
問(wèn)題:(1)由于加熱設(shè)備采用散熱板熱輻射方式加熱,傳感器采到的溫度與室內(nèi)實(shí)際達(dá)到溫度有延遲,所以溫度的顯示值有一定偏差。雖然偏差值可以通過(guò)程序算法認(rèn)為調(diào)整,但是稍微還是有誤差。
(2)現(xiàn)場(chǎng)觸摸屏人機(jī)交互界面操作是在使用開發(fā)板出廠的程序架構(gòu)基礎(chǔ)上修改的,因此操作系統(tǒng)在任務(wù)切換時(shí)有延時(shí)現(xiàn)象,應(yīng)用過(guò)程中難免有遲緩現(xiàn)象,但不影響工作。