劉亞賓 楊軍 常濤 楊泰
摘 要:低功耗環(huán)境監(jiān)測(cè)模塊可完成對(duì)溫度、濕度、露點(diǎn)等氣象要素以及實(shí)時(shí)時(shí)鐘、粉塵、噪聲、振動(dòng)、磁場(chǎng)強(qiáng)度、鋰電池電量等物理要素的監(jiān)測(cè)。文章從電路設(shè)計(jì)、機(jī)械機(jī)構(gòu)與軟件編程等方面對(duì)設(shè)計(jì)方案進(jìn)行了介紹。該模塊不僅可用于測(cè)試鑄造設(shè)備及廠房環(huán)境參數(shù),也可用于重要鑄件運(yùn)輸過(guò)程中的環(huán)境要素的監(jiān)測(cè)與記錄。
關(guān)鍵詞:環(huán)境監(jiān)測(cè);低功耗;數(shù)據(jù)處理;電源管理
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2015)10-00-03
0 引 言
鑄造設(shè)備與廠房環(huán)境以及運(yùn)輸中的重要鑄件都需要在整個(gè)過(guò)程中能了解并記錄其使用情況、環(huán)境狀況、運(yùn)輸情況等,從而分析設(shè)備、鑄件及廠房所經(jīng)歷的環(huán)境條件及其變化情況。利用嵌入式技術(shù)將眾多要素監(jiān)測(cè)集成在一塊電路板上,可提供一種可剪裁、低功耗、全天候、性價(jià)比高的環(huán)境監(jiān)測(cè)解決方案。
1 功能需求
環(huán)境監(jiān)測(cè)模塊的基本測(cè)量要素包括溫度、濕度、露點(diǎn)[1];擴(kuò)展監(jiān)測(cè)要素有粉塵、噪聲、X/Y/Z三軸方向的振動(dòng)(加速度)及磁場(chǎng)強(qiáng)度、鋰電池電量等。同時(shí)具備上電后24小時(shí)不間斷監(jiān)測(cè)、工業(yè)Modbus標(biāo)準(zhǔn)通信、人機(jī)交互、循環(huán)數(shù)據(jù)存儲(chǔ)、模擬量實(shí)時(shí)輸出與報(bào)警等功能,并易于與PLC系統(tǒng)集成,以滿足海洋運(yùn)輸高溫、高濕、高鹽霧的使用環(huán)境。
2 總體設(shè)計(jì)及其工作原理
2.1 總體設(shè)計(jì)
環(huán)境監(jiān)測(cè)模塊主要由大容量鋰電池與PCB組成,單元對(duì)外接口主要為供電、模擬量輸出、報(bào)警輸出及Modbus通信接口,PCB設(shè)計(jì)相對(duì)獨(dú)立,可與鋰電池并置,也可單獨(dú)存在,利用9~36 V電壓供電。為提高模塊的通用性,功能單元采取模塊化設(shè)計(jì),PCB采用母板加擴(kuò)展板方式[2],根據(jù)使用需求將相應(yīng)功能模塊插入母板上的接插件即可。系統(tǒng)結(jié)構(gòu)如圖1所示。
本設(shè)計(jì)重點(diǎn)對(duì)模塊的供電進(jìn)行了濾波、過(guò)流、過(guò)壓保護(hù)設(shè)計(jì),PCB在外部供電與電池供電之間可進(jìn)行無(wú)擾切換,從而保護(hù)PCB關(guān)鍵功能器件。通過(guò)電源轉(zhuǎn)換器BUCK-BOOST工作原理,在保證電路供電電壓穩(wěn)定的前提下,最大限度地延長(zhǎng)了鋰電池的工作壽命。在功能元器件及結(jié)構(gòu)件的選型上,盡可能地選用寬溫寬壓型的工業(yè)級(jí)型號(hào),在結(jié)構(gòu)設(shè)計(jì)上充分考慮散熱及抗震因素,以提高對(duì)惡劣環(huán)境和長(zhǎng)途運(yùn)輸?shù)倪m應(yīng)能力。同時(shí),依據(jù)工程經(jīng)驗(yàn)及各三防措施性價(jià)比對(duì)比,采用三防漆進(jìn)行涂覆,對(duì)接插件部位以硅膠灌封,實(shí)現(xiàn)防潮濕、防鹽霧、防霉菌的三防設(shè)計(jì)[3]。
圖1 系統(tǒng)結(jié)構(gòu)圖
2.2 工作原理
環(huán)境傳感模塊的功能組成主要可分為以下三部分:電源轉(zhuǎn)換、數(shù)據(jù)采集與存儲(chǔ)、對(duì)外信息交互。
電源轉(zhuǎn)換將DC 5~28 V外部供電轉(zhuǎn)換為系統(tǒng)所需的DC 5 V與DC 3.3 V供電電源。DC 5 V使用于粉塵傳感及模擬電路,DC 3.3 V用于其他功能電路供電。
數(shù)據(jù)采集與存儲(chǔ)分為兩類,模擬式傳感(噪聲與粉塵)與數(shù)字式傳感(溫度、濕度、露點(diǎn)、X/Y/Z三軸方向振動(dòng)(加速度)及磁場(chǎng)強(qiáng)度、鋰電池電量、RTC實(shí)時(shí)時(shí)鐘)。
對(duì)外信息交互主要為工業(yè)Modbus標(biāo)準(zhǔn)通信、液晶顯示、模擬量實(shí)時(shí)輸出與報(bào)警等功能。
3 具體實(shí)現(xiàn)
本文根據(jù)模塊功能組成部分從硬件、軟件角度分別設(shè)計(jì)。
3.1 硬件設(shè)計(jì)
3.1.1 電源轉(zhuǎn)換
電源轉(zhuǎn)換以鋰電池充放電及為系統(tǒng)提供穩(wěn)定的所需電源為設(shè)計(jì)要點(diǎn),同時(shí)滿足鋰電池?zé)o關(guān)性,即無(wú)論鋰電池具備與否,系統(tǒng)均能平穩(wěn)運(yùn)行,以滿足不同的應(yīng)用場(chǎng)合。
除發(fā)光二極管指示外部電源與否外,本設(shè)計(jì)還利用光耦TLP521-1進(jìn)行外部電源與系統(tǒng)電源進(jìn)行電壓匹配,以將外部電源狀態(tài)輸入至MCU的IO管腳加以判斷。
如圖2所示,寬壓輸入范圍的隔離穩(wěn)壓?jiǎn)屋敵鲭娫茨KZY2405WHBBD-3W可為鋰電池提供DC 5 V的安全充電電壓。后級(jí)電源轉(zhuǎn)換芯片TPS63001DRC與TPS63002DRC采用BUCK-BOOST原理,在鋰電池有效充放電壓范圍內(nèi),為系統(tǒng)提供穩(wěn)定的DC 3.3 V與DC 5 V供電電源。
圖2 電源轉(zhuǎn)換
3.1.2 數(shù)據(jù)采集與存儲(chǔ)
環(huán)境數(shù)據(jù)采集以ARM Cortex-M0(LPC11E67JBD100)為核心處理器[4],3.3 V單電源供電(1.8~3.6 V),內(nèi)置20 KB SRAM、4 KB E2PROM、5個(gè)UART、2個(gè)I2C、2個(gè)SSP、4個(gè)Timer、12通道AI(12 b)、80個(gè)GPIO等外設(shè),12 MHz正常工作模式消耗電流3 mA(普通睡眠模式僅2 mA),可滿足功能設(shè)計(jì)及低功耗需求。
所用各傳感模塊的參數(shù)如表1所列。表中露點(diǎn)溫度指空氣在此溫度下能保持最多的水汽,當(dāng)溫度冷卻到露點(diǎn),空氣變得飽和,就會(huì)出現(xiàn)霧、露或霜。露點(diǎn)根據(jù)溫度與濕度計(jì)算而得[5]:
Log EW= (0.660 77+7.5T /(237.3+T)+(log 10(RH)-2)
(1)
Dp= ((0.660 77 –log EW) × 237.3) / (log EW-8.160 77)
(2)
在公式(1)與公式(2)中,T為測(cè)試溫度,RH為測(cè)試濕度,Dp為露點(diǎn)計(jì)算結(jié)果。
數(shù)據(jù)存儲(chǔ)根據(jù)監(jiān)測(cè)需求,在定時(shí)間隔中斷及振動(dòng)越限發(fā)生時(shí),將采集到的環(huán)境數(shù)據(jù)以SPI通信方式存儲(chǔ)至128 Mb的NOR FLASH(MMX25L12845EZNI-10G)中。其中,RTC實(shí)時(shí)時(shí)鐘SD3088AS具備鋰電池電量檢測(cè)功能,其中斷輸出頻率范圍為4 096 Hz~1/16 Hz,可根據(jù)不同應(yīng)用場(chǎng)合靈活設(shè)置對(duì)應(yīng)的數(shù)據(jù)采集頻率。
3.1.3 對(duì)外信息交互
對(duì)外信息交互主要采用以下4種方式:LCD液晶屏顯示、Modbus_RTU/TCP通信、數(shù)字量報(bào)警輸出、模擬量4-20 mA輸出。
(1)LCD液晶屏顯示:LCD12864-ST(3.3 V藍(lán)屏),串行SPI通信方式,分4行兩段實(shí)時(shí)顯示8個(gè)環(huán)境參數(shù)。由外部電源供電情況決定背光功能開啟與否。
(2)Modbus_RTU/TCP通信:分別由SP3485與嵌入式以太網(wǎng)轉(zhuǎn)串口模塊IPORT-1提供RS 485與以太網(wǎng)底層通信,高低字節(jié)交換的CRC16檢驗(yàn)方式,保證通信的高可靠性。
(3)數(shù)字量報(bào)警輸出:在外部電源供電情況下,根據(jù)環(huán)境監(jiān)測(cè)參數(shù)的設(shè)定閾值,采用光繼電器TLP3554提供2.5 A的報(bào)警負(fù)載輸出。
(4)模擬量4~20 mA數(shù)據(jù)輸出:在外部電源供電情況下,以SPI通信方式,采用LTC2620CGN#PBF提供8路0~5 V的電壓輸出,分別對(duì)應(yīng)溫度、濕度、露點(diǎn)、噪聲、粉塵濃度及X/Y/Z三軸振動(dòng)加速度數(shù)據(jù),經(jīng)信號(hào)調(diào)理芯片ZCM436BS將0~5 V的電壓信號(hào)轉(zhuǎn)換為4~20 mA的電流信號(hào)。
3.2 軟件設(shè)計(jì)
模塊的軟件設(shè)計(jì)分為初始化、休眠/循環(huán)與中斷(定時(shí)、振動(dòng)越限、串口通信)三類,圖3所示是模塊的主循環(huán)流程圖,圖4所示為其中斷流程圖。
(1)初始化:核心處理器LPC11E67JBD100上電復(fù)位后,進(jìn)行內(nèi)部12 MHz晶振時(shí)鐘配置。延時(shí)穩(wěn)定后,對(duì)芯片引腳功能分配、GPIO輸入輸出特征、IO上升沿中斷、SPI與I2C通信等內(nèi)置外設(shè)功能進(jìn)行配置,此步所有中斷使能需關(guān)閉,以防程序跑飛。之后讀取內(nèi)置E2PROM中存儲(chǔ)的參數(shù)配置數(shù)據(jù)(報(bào)警閾值、串行通信地址、RTC定時(shí)中斷間隔等),根據(jù)功能模塊子板插入母板情況,決定對(duì)應(yīng)參數(shù)是否讀取,以及對(duì)應(yīng)中斷使能是否開啟。
(2)休眠/循環(huán):初始化后當(dāng)外部電源存在時(shí),進(jìn)入循環(huán)模式,否則進(jìn)入休眠模式,等待中斷喚醒。在循環(huán)模式下,首先檢測(cè)RTC實(shí)時(shí)時(shí)鐘模塊是否在線,在線則讀取實(shí)時(shí)時(shí)鐘數(shù)據(jù)。否則檢測(cè)各傳感模塊是否在線,在線則讀取相應(yīng)數(shù)據(jù),當(dāng)鋰電池電量不足時(shí),便提示充電。否則檢測(cè)模擬量輸出模塊是否在線,在線則輸出溫度、濕度、露點(diǎn)、噪聲、粉塵、X/Y/Z三軸方向加速度值共8路輸出,無(wú)論模擬量輸出模塊在線與否,均按照參數(shù)配置報(bào)警閾值進(jìn)行判斷,決定報(bào)警輸出使能與否,之后檢測(cè)存儲(chǔ)模塊是否在線,在線則將所采集的數(shù)據(jù)存儲(chǔ)至NOR FLASH中。否則,當(dāng)環(huán)境參數(shù)處于正常值范圍時(shí),檢測(cè)LCD液晶屏模塊是否在線,在線則進(jìn)行數(shù)據(jù)更新,不在線則進(jìn)入下一輪循環(huán)。
圖3 主循環(huán)流程圖
(3)中斷:中斷可分為RTC實(shí)時(shí)時(shí)鐘定時(shí)中斷、X/Y/Z三軸加速度振動(dòng)中任一軸向越限中斷及Modbus通信中斷。
①RTC實(shí)時(shí)時(shí)鐘定時(shí)中斷:根據(jù)參數(shù)配置中RTC定時(shí)中斷間隔(決定數(shù)據(jù)采集頻率),利用IO中斷喚醒核心處理器或打斷循環(huán)過(guò)程。類似循環(huán)模式,讀取在線環(huán)境傳感模塊數(shù)據(jù)(除振動(dòng)外)后,根據(jù)存儲(chǔ)模塊在線情況,決定采集數(shù)據(jù)存儲(chǔ)還是直接退出中斷,當(dāng)鋰電池電量不足時(shí),提示充電。具體如圖4(a)所示。
②X/Y/Z三軸加速度振動(dòng)中任一軸向越限中斷:根據(jù)參數(shù)配置中的報(bào)警閾值,利用IO中斷喚醒核心處理器或打斷循環(huán)過(guò)程。讀取振動(dòng)及磁場(chǎng)數(shù)據(jù)后,根據(jù)存儲(chǔ)模塊在線情況,決定采集數(shù)據(jù)存儲(chǔ)還是直接退出中斷。如果在單位時(shí)間內(nèi)頻繁觸發(fā),則置為運(yùn)輸狀態(tài),計(jì)時(shí)5分鐘后再重新記錄,并直接退出中斷。具體如圖4(b)所示。
③Modbus通信中斷:第一次上電時(shí),默認(rèn)9 600 b/s,無(wú)校驗(yàn),8位數(shù)據(jù)位,通信地址為1,用戶可根據(jù)具體需求進(jìn)行配置,配置的數(shù)據(jù)保存至核心處理器內(nèi)置的E2PROM中,斷電重啟或按下手動(dòng)復(fù)位鍵后配置生效。根據(jù)數(shù)據(jù)寫入或讀取命令進(jìn)行數(shù)據(jù)長(zhǎng)度解析,接收到CRC校驗(yàn)后進(jìn)行判斷,校驗(yàn)正確則給予反饋輸出。Modbus RTU與Modbus TCP分用不同的串口中斷,但同時(shí)僅能一個(gè)進(jìn)行響應(yīng)。具體如圖4(c)所示。
(a)RTC實(shí)時(shí)時(shí)鐘定時(shí)中斷 (b)振動(dòng)越限中斷 (c)Modbus通信中斷
圖4 中斷流程圖
3.3 數(shù)據(jù)存儲(chǔ)格式與計(jì)算
存儲(chǔ)至NOR FLASH中的數(shù)據(jù)格式如表2及表3所示。除RTC實(shí)時(shí)時(shí)鐘外,所有環(huán)境參數(shù)擴(kuò)大10倍四舍五入后取整存儲(chǔ),類別值為0x5A5A時(shí),代表該記錄為RTC、溫度、溫度、露點(diǎn)、噪聲、粉塵、鋰電池電量數(shù)據(jù),當(dāng)類別值為0xA5A5時(shí),代表該記錄為X/Y/Z三軸加速度及磁場(chǎng)強(qiáng)度數(shù)據(jù)。
假設(shè)數(shù)據(jù)采集頻率設(shè)置為1 Hz,1天24小時(shí)不間斷采集的數(shù)據(jù)量為:
24(h)×60(m)×60(s)×20(Byte) = 1 728 000 Byte
則128 M NOR FLASH能循環(huán)存儲(chǔ)9天的數(shù)據(jù),現(xiàn)場(chǎng)可根據(jù)使用需求靈活調(diào)整采集頻率。
由于采取循環(huán)與中斷相結(jié)合的方式,既保證了關(guān)鍵數(shù)據(jù)的實(shí)時(shí)性,又保證了參數(shù)采集與輸出的連續(xù)性,并兼顧存儲(chǔ)空間的需求。
當(dāng)需要更大存儲(chǔ)空間時(shí),可采用SD卡方式進(jìn)行數(shù)據(jù)存儲(chǔ),同時(shí)程序與電路板需做對(duì)應(yīng)微調(diào)。SD卡片插入插座后,采用硅膠彈性固定。
4 結(jié) 語(yǔ)
本模塊借鑒自動(dòng)氣象站的監(jiān)測(cè)要素與技術(shù)指標(biāo),結(jié)合鑄造設(shè)備與廠房環(huán)境監(jiān)控以及運(yùn)輸過(guò)程中的重要鑄件需要重點(diǎn)關(guān)注的環(huán)境參數(shù),利用嵌入式技術(shù)將眾多要素的監(jiān)測(cè)集成在一塊電路板上,采用母板加功能插件方式,提供一種可剪裁、低功耗、全天候、性價(jià)比高的環(huán)境監(jiān)測(cè)解決方案,具備實(shí)時(shí)監(jiān)控與關(guān)鍵歷史數(shù)據(jù)追溯功能。
本模塊對(duì)外交互采用4-20 mA輸出、隔離型光繼電器可接中小功率負(fù)載、標(biāo)準(zhǔn)Modbus RTU與Modbus TCP通信,可方便地與工業(yè)PLC、DCS等系統(tǒng)進(jìn)行無(wú)縫集成,具有良好的應(yīng)用推廣價(jià)值。
參考文獻(xiàn)
[1]胡玉峰.自動(dòng)氣象站原理與測(cè)量方法[M].北京:氣象出版社,2004.
[2]桂電-豐寶聯(lián)合實(shí)驗(yàn)室.LPC1100系列處理器原理及應(yīng)用[M].北京:電子工業(yè)出版社,2011.
[3]謝義水.艦載電子設(shè)備的三防設(shè)計(jì)[J].機(jī)械工程學(xué)報(bào), 2007,43 (1):83-86.
[4]李寧.基于MDK的LPC1100處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[5] Principles of Soil Physics. Introduction to Humidity Basic Principles on Physics of Water [J/OL].(2014-2-2).http://www.sensirion.com Introduction to Humidity Basic Principles on Physics of Water Vapor Version 2.0--August 2009.