NB-IoT物聯網燃氣表研究設計探討

時間:2022-07-22 02:42:44

導語:NB-IoT物聯網燃氣表研究設計探討一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

NB-IoT物聯網燃氣表研究設計探討

摘針:針對物聯網技術的發展現狀和智能燃氣表對低功耗與強連接的需求,提出了一種基于nb-iot技術的物聯網智能燃氣表的設計方案。該方案采用瑞薩R7F0C004芯片作為MCU采集燃氣計量數據,以N700-58為通信模組實現網絡連接,業務數據經由CoAP協議封裝后發送到電信AEP平臺,再由AEP平臺推送到燃氣表業務管理平臺系統實現數據通信。測試結果表明,所設計的燃氣表終端無論是在連網收發數據,還是在低能耗方面都達到了預期的設計目標,能夠很好地滿足應用需求。

關鍵詞:NB-IoT;物聯網;燃氣表;數據傳輸;低功耗

近幾年,隨著物聯網技術的快速發展和我國智慧城市建設的推動,5G、NB-IoT(NarrowBandInternetofThings)、GPRS、LoRa、WiFi和藍牙等技術得到了廣泛應用。其中,NB-IoT作為一種窄帶物聯網的新興技術,具有高覆蓋、強連接、低速率、低成本、低功耗等優勢,并且使用授權頻道,由電信運營商負責組網運營,網絡信號穩定、抗干擾能力強、數據傳輸安全可靠,逐漸成為了物聯網通信技術的首選[1-4]。特別是在燃氣表和水表行業,終端主要是采用電池供電,更換一次干電池需要能工作12個月以上,如果采用鋰電池供電,則要求一顆容量為8.5Ah的鋰電池能工作10年(與燃氣表的使用年限相同),并且,一般都還要求每天至少連網通信一次。正是如此苛刻的能耗限制,使得NB-IoT技術在水、氣表行業應用中脫穎而出。本文介紹了一種基于NB-IoT通信技術的物聯網智能燃氣表系統設計。

1系統方案

本文設計的物聯網燃氣表的整個應用系統方案主要由燃氣表終端、NB-IoT網絡、中國電信AEP平臺和燃氣表業務管理平臺4部分組成[5]。系統架構如圖1所示。中國電信AEP平臺是中國電信傾力打造的智能終端匯聚、應用開發運行服務和輕量級應用服務的物聯網平臺。平臺具有終端接入、終端管理、消息推送、規則引擎和數據存儲等多種能力,同時提供了端到端的安全認證和安全傳輸雙重保障機制,方便客戶對接智能終端,快速集成應用。燃氣表終端利用NB通信模組與NB-IoT網絡建立連接,使用CoAP協議經NB-IoT網絡將數據發送到AEP平臺,再由AEP平臺使用HTTPS協議將數據發送到燃氣表業務管理平臺。方案中的NB-IoT網絡和AEP平臺為公共資源,由運營商提供,燃氣表終端和業務管理平臺需要自主開發,本文主要研究燃氣表終端。

2硬件系統設計

2.1系統硬件結構

物聯網燃氣表終端的主要功能是采集計量燃氣的使用量,上傳氣量數據及表具內狀態數據到業務管理平臺系統,同時接受平臺系統下發的查詢、校時、閥門控制等指令,并執行相應的操作,完成燃氣計量收費及管控的功能需求。本系統以高性價比和超低能耗完美兼得的單片機瑞薩R7F0C004作為主控MCU,其內部高速振蕩器系統時鐘可高達24MHz,片內具有128KB代碼Flash、2KB數據Flash和8KBRAM,數據Flash可用于存儲燃氣表的運行數據,代替外部EEPROM存儲器。系統的主要功能模塊包括NB通信模塊、紅外近程通信模塊、蜂鳴器模塊、實時時鐘模塊、LCD顯示模塊、電源及電壓檢測模塊、閥門驅動模塊、膜式燃氣表、脈沖計量采集模塊等[6-7]。系統硬件結構如圖2所示。

2.2NB通信模組電路設計

物聯網燃氣表通過NB通信模組連接上NB-IoT網絡,再與業務管理平臺系統交換數據,完成燃氣計費及表具管控等業務。本設計選用深圳廣和通公司的N700-58通信模組,N700-58是一款高性能、低功耗的窄帶物聯網無線通信模組,符合3GPPR13和R14標準,支持Band5和Band8頻段,內嵌TCP、UDP、CoAP、MQTT等多種協議棧,方便終端應用開發。MCU使用串口與NB通信模組進行連接通信,由于NB通信模組的端口電壓是1.8V,而MCU的端口電壓是3.3V,故需要使用三極管做一個電平轉換電路才能正常通信。NB通信模組電路如圖3所示。

2.3閥門驅動電路設計

兩線直流電機閥是目前智能燃氣表中使用最為廣泛的一種閥門,價格便宜且實用可靠。開(關)閥門的始動電流一般在150~300mA之間,正常行程的電流在20mA左右,而開(關)到位后的堵轉電流卻與始動電流一樣大,如果閥門進入堵轉階段后不及時停止轉動,持續的大電流消耗對整個系統的供電是一個挑戰,很容易造成系統復位。本設計采用AT9110A芯片驅動閥門,芯片的工作電壓范圍為2.5V~18V,連續電流輸出能力為800mA,完全滿足驅動閥門的需求。在電路中再加上一路AD檢測,可檢測到正常行程階段與堵轉階段的電壓值變化,從而判斷出閥門開(關)是否已到位,及時控制閥門停止轉動。閥門驅動電路如圖4所示。MCU輸出高電平到ValveC1端口,同時輸出低電平到ValveC2端口,或輸出電平相反,實現電機馬達M1的正反轉,從而實現閥門的打開或關閉。在閥門執行動作的過程中,每間隔10ms通過ValveCHK端口檢測一次電壓,以判斷閥門是否已執行到位,進入了堵轉階段。

2.4紅外通信電路設計

在物聯網燃氣表的生產和測試階段,需要有一種簡單方便的方法對燃氣表的運行參數進行配置,另外,對于已經安裝使用的燃氣表,如果發生故障不能連網了,上門維修的人員也需要有一種方法在不拆表的情況下,就能讀取表具內的信息,分析出故障原因并修復。居于這兩方面的需求,成本低廉的紅外近程通信技術成為了首選。圖5是紅外通信NetworkandCommunication誗網絡與通信的電路,圖中IR_TX和IR_RX連接MCU的串口引腳,當需要進行紅外通信時,連接IR_VCTR的引腳置低電平,給紅外通信電路供電并工作。

2.5計量采集電路設計

把兩個可配置為中斷模式的I/O引腳作為計量數據采集端口,端口電平外部上拉到VDD(3.3V)。計量干簧管S1和S2安裝在膜式燃氣表計數器末位數輪(裝有一個磁鋼)的上下兩端,當使用燃氣時,末位數輪轉過一圈,磁鋼把S1和S2先后各吸合一次,拉低采集端口的電平,從而產生中斷,MCU收到兩路中斷,表明燃氣又消費了0.01m3。計量采集電路如圖6所示。

3軟件設計

3.1軟件結構

物聯網燃氣表終端的控制系統軟件,按層次結構可劃分為主程序、中斷服務程序和功能模塊子程序三種組成部分[6-7]。中斷操作包括按鍵中斷、干簧管計量中斷和定時器中斷等,中斷服務程序僅做一些簡單的條件判斷和標志中斷事件的發生。功能模塊子程序主要有定時器操作模塊、燃氣計量模塊、蜂鳴器提醒模塊、數據存儲模塊、LCD顯示模塊、電機閥控模塊、紅外近程通信模塊、NB網絡通信模塊、電壓檢測和掉電處理模塊等。軟件采用C語言進行開發,開發平臺使用RenesasCS+forCC集成開發環境。

3.2數據報文定義

數據傳輸的可靠性和準確性需要合理的通信協議。其中,協議的數據報文部分,本文根據應用業務需要,采用自定義方式對數據報文進行定義。報文幀由幀起始符、數據長度、指令ID、信道標志、指令數據域、檢驗碼和幀結束符組成,具體的報文定義如表1所示。通信傳輸時,還需要將報文幀包經由CoAP協議打包后再傳輸[8]。報文幀中的指令ID字段,作為一次指令傳輸的唯一標識,由指令發起方生成,應答方則是直接返回相同值,表明該數據包是對某一指令的應答幀。指令數據域則是按不同的業務指令定義其數據格式,指令數據結構定義如表2所示。

3.3網絡通信及低功耗設計

NB網絡通信的低功耗特性依賴于其工作機制的兩種低功耗模式:PSM省電模式和eDRX擴展非連續接收模式[9-11]。NB通信模組的耗電流,在PSM模式下最低可低至5μA。不過,燃氣表在正常使用的情況下,每天僅主動連網一次與業務管理平臺服務器交換數據,不需要實時在線。因此,燃氣表的NB通信模組不需要進入低功耗模式,每次需要通信時給NB通信模組供電,通信結束后斷電,這種方法比采用低功耗模式更加省電。要進行通信,首先初始化MCU與NB模組連接的串口,給NB模組供電,再拉低模組的POWER_ON引腳至少800ms使模組開機。之后,MCU通過AT命令集與NB模組進行交互與控制[12],先后完成SIM卡身份認證、網絡附著、申請IP地址、連接電信AEP平臺、發送接收數據等操作。表3是通信過程中使用的主要AT命令集。

4測試

4.1NB通信測試

本文使用10臺NB物聯網燃氣表樣機,結合電信AEP平臺和燃氣表業務管理平臺系統,對燃氣表連接NB-IoT網絡、上行發送數據到服務器和接收服務器下發數據進行測試[13-14]。把燃氣表配置為定時連接模式,每10min主動連網一次,如果連網失敗,則在3min后再重連一次,前5臺樣機使用全新的電池,后5臺樣機使用舊電池,4節舊電池的電壓在5.4~5.7V之間,測試結果如表4所示。由表4可以看出,只要連網成功(包括重連成功),接下來的發送和接收數據都很順利。而連網失敗的,則集中在使用舊電池供電的5臺樣機,可能是電池的電壓已接近限制使用電壓值,無法保障短時間內多次連網的電能需求。

4.2能耗測試與分析

燃氣表終端采用4節5號堿性電池供電,且更換一次電池需要可用12個月以上,產品才能被市場接受。所以,低功耗設計是產品的一大重點。以下是各主要耗電部分的實測數據和分析:(1)靜態電流。燃氣表的絕大部分時間都處于休眠狀態,實測得其靜態電流為10μA。(2)通信電流。每天連網通信一次,每次通信在30s以內完成,使用一臺安捷倫66319D程控電源測試通信過程,測得其平均工作電流為85mA,把該工作電流再均攤到24h,得出平均通信電流為29.51μA。(3)脈沖計數電流。假設每天使用燃氣5m3,計數輪轉500圈,共產生1000個脈沖。MCU處理每一脈沖大約需要10ms,工作電流為3.8mA。由此可計算得出平均計數電流為0.44μA。(4)閥控電流。假設每月閥門開或關共6次(正常運行的情況下為0次),每次工作3s,工作電流為50mA。由此可計算得出平均閥控電流為0.34μA。(5)其他耗電流。主要有大電容的漏電流、蜂鳴器和LCD等的耗電,平均耗電在3μA左右。由此可得燃氣表終端的平均耗電流為43.29μA。為取得干電池的容量值,針對市面上常見的3種5號堿性電池做了放電測試,電壓從1.5V降至1.275V,其放出電量基本都在1000mAh左右。另外,考慮到電池自放電及其他因素,一般以可用電量的80%作為實際可用電量。因此,以800mAh電量來計算,得出電池的使用年限為2.1年[15]:

5結論

本文從系統軟件、硬件和低功耗等方面,詳細介紹了一種NB-IoT物聯網燃氣表的設計方案。隨著NB-IoT技術的快速發展,以及我國三大電信運營商的大力推廣,采用NB物聯網技術已成為水、電和氣表發展的主流方向。本文研究設計的物聯網燃氣表正是順應發展趨勢,其市場前景廣闊,相信將會有非常好的商業價值。

作者:高柱榮 單位:桂林市利通電子科技有限責任公司