張一宇 曲向林 于學(xué)山
(北京創(chuàng)意博物聯(lián)科技有限公司 北京市 100083)
當(dāng)今生產(chǎn)生活中,溫度采集和應(yīng)用無處不在,工業(yè)領(lǐng)域的溫度控制、工作環(huán)境中的溫度控制、家居環(huán)境中的溫度控制等等,它們都需要一個值或一定范圍的值,基于這些需要,在控制領(lǐng)域出現(xiàn)了很多基于溫度采集的集中控制系統(tǒng)、分布式控制系統(tǒng)以及溫度分析系統(tǒng)等綜合應(yīng)用。隨著軟件和通信技術(shù)的發(fā)展,使用低功耗電子技術(shù)進(jìn)行溫度采集成為了下一個應(yīng)用的重點(diǎn),比如在節(jié)能供熱領(lǐng)域,供熱管路溫度應(yīng)該調(diào)節(jié)為多少才能使能源消耗性價比更高?這時就需要采集末端的溫度才能準(zhǔn)確建立分析模型進(jìn)行反饋控制。類似的應(yīng)用很多,它的應(yīng)用創(chuàng)造了價值。文中圍繞一個溫度點(diǎn)的采集,從電路、通信、協(xié)議、控制以及數(shù)據(jù)平臺等幾個方面進(jìn)行了細(xì)致的分析,為了更好的說明系統(tǒng)的基本原理,系統(tǒng)只描述了一個溫度點(diǎn)的采集過程,文中的思想也可以擴(kuò)展到復(fù)雜數(shù)據(jù)采集應(yīng)用中。
整個系統(tǒng)由硬件和軟件組成,硬件包含了CPU 芯片、存儲、供電部分、溫度采集部分和NBIOT 傳輸部分。軟件包含了芯片的控制邏輯軟件和物聯(lián)網(wǎng)平臺的軟件,系統(tǒng)基本組成如圖1 所示,粗線代表供電回路,細(xì)線代表數(shù)據(jù)線路。下面我們按照溫度采集的流程對各部分進(jìn)行闡述。主芯片CPU 實(shí)現(xiàn)了硬件的控制邏輯,首先控制一個MOSFET1,可以打開和關(guān)閉溫度傳感器和存儲器的供電電路,當(dāng)打開MOSFET1 時,溫度傳感器和存儲芯片才能和CPU進(jìn)行數(shù)據(jù)的交互工作。其次控制另一個MOSFET2,它負(fù)責(zé)NBIOT的電源供電,當(dāng)開關(guān)打開時,CPU 可以將采集到的溫度數(shù)據(jù)通過NBIOT 和物聯(lián)網(wǎng)平臺建立連接,將數(shù)據(jù)傳輸?shù)狡脚_上。
圖1
圖2
圖3
主芯片及外圍電路部分是整個硬件的核心,包括CPU、外部存儲器、電池供電和功率管MOSFET 四部分。CPU 采用的是意法半導(dǎo)體推出的STM32L 單片機(jī),STM32L 系列單片機(jī)是基于ARM Cortex-M3 的超低功耗微控制器,除了一般32 位CPU 芯片的基本功能外,它具有優(yōu)秀的節(jié)能性能,有六個超低功耗模式,系統(tǒng)設(shè)計(jì)中采用了1uA 停機(jī)模式。在數(shù)據(jù)采集間歇期保證了系統(tǒng)的最低功耗。外部存儲器采用的是串行flash 存儲芯片W25Q128,芯片尺寸小,具有很好的靈活性和性價比。通過串行SPI 方式與CPU 連接。供電范圍為2.7-3.6V,在激活狀態(tài)下電流功耗很低,W25Q128 將16M 的容量分為 256 個塊(Block),每個塊大小為 64K 字節(jié),每個塊又分為 16 個扇區(qū)(Sector),每個扇區(qū)4K 個字節(jié)。W25Q128的擦寫周期多達(dá)10W 次,掉電后可存儲20年,滿足了數(shù)據(jù)存儲的設(shè)計(jì)要求。在電路設(shè)計(jì)中,有兩個功率管MOSFET,一個是控制溫度傳感器和外部存儲器的供電,另一個是控制NBIOT 芯片及外圍電路的供電。最大程度保證電池的應(yīng)用時間,電池采用了功率型電池,容量可以根據(jù)數(shù)據(jù)采集的周期和連續(xù)工作時間選擇,它的額定電壓為3.6V,終止電壓為2.0V,最大持續(xù)放電電流為1A,同時它具有高能量密度和長貯存壽命的特點(diǎn)。
溫度采集的方式有很多種,市場上溫度傳感器的類型也很多,有PT100 熱電阻類型、NTC 負(fù)溫度系數(shù)類型、熱電偶型、4-20mA信號模塊類型以及數(shù)字芯片型等,這樣在設(shè)計(jì)一個溫度采集系統(tǒng)時要選擇滿足應(yīng)用的傳感器或芯片,要依據(jù)具體的應(yīng)用對溫度的測量范圍,采集精度、安裝形式、功耗、成本等方面來確定。文中描述的是空氣溫度的測量,根據(jù)具體要求采用了瑞士Sensirion 數(shù)字溫度傳感器芯片SНT35,它和CPU 之間是IIC 數(shù)據(jù)接口,傳感器功耗低,封裝較小。供電電壓為2.15V-5.5V,在測量溫度為20℃-60℃時,精度能夠達(dá)到絕對值0.1℃,溫度偏差為圖2 所示。同時具備采集環(huán)境濕度的功能,正常工作時,功耗僅為4.8uW。
傳輸部分采用了NBIOT 芯片SIM7020,NBIOT 構(gòu)建于蜂窩網(wǎng)絡(luò),只消耗200KНz 的帶寬,具有超強(qiáng)覆蓋、超低功耗、超大連接和超低成本四個特點(diǎn)。系統(tǒng)應(yīng)用了SIM7020 中TCP 傳輸模式,將數(shù)據(jù)上傳到指定服務(wù)器,發(fā)送數(shù)據(jù)協(xié)議中包含了模組的IMEI 號,CPU 發(fā)送次數(shù),系統(tǒng)所處位置的信號強(qiáng)度,存儲芯片內(nèi)的5 次歷史數(shù)據(jù)等信息。選用了柔性PCB 天線,相比于棒狀天線,柔性PCB的成本較低,和外殼配合較好,發(fā)送成功能夠得到保障。供電電路使用了MOSFET 器件進(jìn)行了控制,當(dāng)數(shù)據(jù)傳輸時打開,數(shù)據(jù)傳輸結(jié)束后按相應(yīng)的流程關(guān)閉,合理利用電池的電能。
數(shù)據(jù)采集邏輯是編寫芯片程序的基礎(chǔ),描述了CPU 工作的流程,由于CPU的供電是直接電池供應(yīng),所以CPU始終處于工作狀態(tài),除非強(qiáng)制把電池電源開關(guān)關(guān)閉。CPU 啟動后,邏輯程序開始運(yùn)行,首先對電路中使用的IO 及內(nèi)部寄存器等資源進(jìn)行初始化。打開MOSFET1,溫度芯片和存儲芯片供電穩(wěn)定后,讀取溫度數(shù)據(jù)到存儲器,同時RAM 中記錄當(dāng)前采集的溫度值,也可以連續(xù)讀取多個溫度值,采集完成后關(guān)閉MOSFET1,同時打開MOSFET2,適當(dāng)延時后,發(fā)送相應(yīng)的AT 指令給SIM7020,當(dāng)網(wǎng)絡(luò)狀態(tài)正常,并且處于激活聯(lián)網(wǎng)狀態(tài)后,連接指定的服務(wù)器IP 地址,從而采用TCP協(xié)議發(fā)送數(shù)據(jù)到平臺。SIM7020 每次發(fā)送AT 指令集的時間都不超過500 毫秒,聯(lián)網(wǎng)指令時間為1.5-2 秒,數(shù)據(jù)發(fā)送時間大約1-2 秒鐘,發(fā)送成功后,CPU 收到發(fā)送結(jié)束命令。此時先關(guān)閉MOSFET2,使CPU 處于待機(jī)休眠狀態(tài),進(jìn)入低功耗模式。休眠一定時間后,自動進(jìn)行上述的工作流程,直到強(qiáng)制關(guān)閉電源或供電結(jié)束,停止工作。在軟件設(shè)計(jì)上,嚴(yán)格把控各個關(guān)鍵節(jié)點(diǎn)的時間,達(dá)到最小用電的效果。其次,用戶可以通過發(fā)送遠(yuǎn)程指令或者電路板的按鍵來控制休眠時間達(dá)到合理的采集周期,從而根據(jù)具體應(yīng)用達(dá)到節(jié)電或延長更換電池時間。傳輸部分的硬件和軟件設(shè)計(jì)都是以低功耗和高效為目的來進(jìn)行數(shù)據(jù)傳輸?shù)摹?shù)據(jù)采集流程為圖3 所示。
物聯(lián)網(wǎng)平臺采用了兩臺服務(wù)器,一臺是采集指令和數(shù)據(jù)存儲,另一臺用于前端數(shù)據(jù)分析展示,結(jié)合NIO 多線程以及kafka 消費(fèi)機(jī)制靈活接入多種多臺采集器,本文沒有對物聯(lián)網(wǎng)平臺的功能進(jìn)行詳細(xì)描述,簡要展示了數(shù)據(jù)存儲和查看界面如圖4 所示。系統(tǒng)采用了B/S 架構(gòu),操作系統(tǒng)為windows server 2016,數(shù)據(jù)庫采用了MySQL5.7,WEB 部分采用了Spring Boot 架構(gòu),使用了НTML 前端技術(shù)。通過設(shè)計(jì)的協(xié)議和指令格式,平臺和設(shè)備進(jìn)行數(shù)據(jù)的采集,并存儲到數(shù)據(jù)庫,由于數(shù)據(jù)傳輸?shù)膮f(xié)議中使用了斷電續(xù)傳技術(shù),即數(shù)據(jù)協(xié)議中包含了5 次歷史數(shù)據(jù)信息,當(dāng)傳輸數(shù)據(jù)出現(xiàn)1-5 次連續(xù)中斷后,可以通過協(xié)議包信息解析,并根據(jù)中斷的次數(shù)恢復(fù)歷史數(shù)據(jù)達(dá)到續(xù)傳的目的。平臺可以查看和展示數(shù)據(jù)記錄信息,也可以通過微信掃碼方式查看各個采集設(shè)備對應(yīng)的實(shí)時數(shù)據(jù)和前5 次的歷史數(shù)據(jù)。物聯(lián)網(wǎng)平臺使用了多線程技術(shù),滿足了數(shù)據(jù)采集設(shè)備接入平臺的規(guī)模化、實(shí)時性強(qiáng)的特點(diǎn)。平臺也提供了第三方數(shù)據(jù)傳輸接口,可以通過НTTP 協(xié)議與第三方平臺進(jìn)行定制性傳輸,保證數(shù)據(jù)應(yīng)用的靈活性。
我們將文中的采集設(shè)備又稱作采集器,它輕小便捷,因此采用多次抽樣和小規(guī)模、多地點(diǎn)試驗(yàn)。整個測試過程分為一測和二測,一測是在組裝前完成的,檢測采集器的數(shù)據(jù)值,對應(yīng)時間,信號值等。對滿足測試要求的進(jìn)行二測。測試時,首先要完成一測,然后抽取部分成品分別在學(xué)校的操場、居民樓、企業(yè)廠房、開闊的道路以及信號良好的車間等進(jìn)行二測。將采集器分別均勻放置在目標(biāo)地點(diǎn),依次打開各采集器的開關(guān),連續(xù)采集100 次,掃碼查看100 次數(shù)據(jù)接受情況,通過記錄分析驗(yàn)證設(shè)備的數(shù)據(jù)準(zhǔn)確性和整體穩(wěn)定性。在采集器上都有設(shè)備的二維碼,通過微信掃碼快速查看測試結(jié)果,結(jié)果為圖5 所示。
基于物聯(lián)網(wǎng)的溫度采集系統(tǒng)能夠滿足多種應(yīng)用場合,特別是低功耗模式的應(yīng)用,大大提高了系統(tǒng)的可復(fù)制性和系統(tǒng)安裝的靈活性。整個系統(tǒng)采用了目前主流的技術(shù)方式,不過,在系統(tǒng)的研究中也存在著許多要考慮的問題,首先,有些場合需要其他形式的溫度傳感器,不同信號類型的傳感器,它的采集電路不同,如何結(jié)合低功耗要求進(jìn)行設(shè)計(jì),需要針對性考慮。另外,NBIOT 傳輸方式是否可以進(jìn)一步優(yōu)化,結(jié)合采集頻率和存儲數(shù)據(jù)兩個方面進(jìn)行更好的提高采集器的更換時間周期。最后,系統(tǒng)中采集器和平臺是單向傳輸?shù)?,如何解決采集器與平臺建立數(shù)據(jù)傳輸時進(jìn)行雙向傳輸,可以讓平臺控制采集器的運(yùn)行參數(shù),都需要進(jìn)行逐步的完善和優(yōu)化。
圖4
圖5