欒文平 湯浩 郭亞
摘 要:傾角傳感器在農業、工業、鐵路、航空航天等領域有重要的應用。本文基于STM32微處理器和高精度傾角傳感器SCA103T并結合NB-IoT網絡實現了一種低功耗、高精度和無線傳輸的新型傾角傳感器。系統待機電流僅1.3mA,精度可達0.001°,無線傳輸速率為200Kbps。通過設計相關的外圍電路并結合Keil環境編程實現傾角傳感器信息的讀取、分析和處理,以及實現在Windows上利用C#編程從NB-IoT服務器端獲取數據并進行數據的可視化。設計結果表明該傾角傳感器具有測量方便、傳輸穩定、高精度、成本低等特點,能夠廣泛應用到各個相關領域。
關鍵詞:高精度傾角傳感器;STM32微處理器;NB-IoT網絡;C#編程
1? ?介紹
傾角傳感器在農業、工業、鐵路、航天航空等領域有重要的應用,主要體現在農用機械設備利用其檢測傾角信息,用于農用無人機檢測空中噴灑農藥時的姿態控制,也用于農作物及牲畜的姿態檢測;另外還用于工業上機床控制的精確角度檢測,以及航空航天的設備姿態高精度反饋控制等。傾角傳感器相對于其他傳感器而言,研發的機構與供應廠商不多,市場上價格比較昂貴,除此之外,傳感器的參數也不是最優的。而本文所設計的傾角傳感器成本約為200元人名幣,可以為廣大用戶接受,且在傳感器精度和數據傳輸方面具有一定的優勢。隨著中國科技的發展,研究具有自主知識產權的傳感器非常重要。
對于很多精密儀器與傳感器,不僅在體積上要做到很小,而且還要有可擴展的接口以方便與其它設備連接。無線傳感器連接起來非常方便,但還需考慮到電源的低功耗處理。現如今的4G、WIFI等無線方式對于數據的發送功耗不可忽視[1,2],基于NB-IoT的組網方式對能耗要求低,因此本設計使用該方式設計一款傾角傳感器。表1提供了幾種通信方式的對比[3,4,5]。
2? ?系統方案設計
本系統的結構框圖簡如圖1所示,其中STM32作為主控中心[6],由電源管理電路對其提供電能,供整個系統使用;時鐘電路為MCU提供運行所需的時鐘頻率;SCA103T為本設計的傳感器感知元件,其內部有數字SPI溫度數據輸出和兩軸加速度數據輸出,由于數字SPI加速度數據的精度不高,因此本設計使用AD采集該傳感器輸出的模擬信號,溫度數據直接由SPI通信得到;STM32采集到數據之后將其進行打包,通過485模塊將數據發送到PC機或者轉由NB-IoT模塊發送給云端服務器[7],最后在PC機上開發一款上位機,該上位機既可通過485有線的方式讀取該傾角傳感器的數據,也可通過網絡編程以無線傳輸的方式讀取傳感器的數據。
3? ?STM32主控單元
STM32F4是意法半導體提供一款具有M4內核的ARM處理器[8,9,10],其系統頻率高達168MHz,STM32F4主控單元主要包括電源電路、時鐘電路、復位電路以及程序下載電路。
STM32是當今嵌入式領域發展得相當迅速的微控制器,STM32F4芯片高達64個引腳,加上本身的高傳輸速率,在嵌入式開發領域非常重要。該控制器與51單片機相比,它的外設更加豐富,而且庫函數也很便捷,便于快速開發,從經濟角度上看也完全滿足控制系統的需求。另外此最小系統擁有A/D轉換器24個通道,能夠實現更多外部數據的采集,同時擁有17個定時器和15個通信接口,本文使用了2個AD采集通道和1個SPI通信接口[11]及發送數據的串口,除此之外,芯片還余有很多擴展引腳,方便將來其他功能引入。
3.1? 電源設計
電源管理電路在STM32最小系統中很重要,本設計的該部分電源不僅給芯片供電,還給感知器件供電,處理不好會導致芯片運行不平穩,該部分的電源輸入電壓是12V,但單片機的供電電壓是3.3V,需要利用線性穩壓芯片對其進行降壓到5V或者3.3V,本設計中先利用IB1205S將電源電壓轉換為5V的穩壓源。進一步利用線性穩壓芯片將5V電壓轉換為3.3V為芯片供電,此外,在STM32芯片周圍加上了濾波電容,以避免外部雜波的干擾,給芯片的平穩運行提供保障。圖2為電源管理模塊的原理圖。
3.2? 485接口電路設計
485通信是現如今工業上用得比較多的通信方式,因為它有良好的抗干擾能力,而且也只需要兩條線就可以進行通訊,除此之外還有一大優點就是可以很快地進行總線傳輸,不需要另外電路將所有的485線接到一起。485通信方式是半雙工,其傳輸協議并沒有很嚴格的要求,用戶可以自定義協議,比RS-232通信的方式更好。232通信時,線之間的電壓差很大,容易損壞接口,此外232的傳輸距離和485也不能比擬,485的通信距離可達1.5km,232卻只有幾十米。在進行總線傳輸的時候,最大支持400個節[12],值得注意的是,在電路的設計中,除了在輸入端具有發送和讀取的使能端口外,在發送端也有一個匹配電阻,該阻值一般選取為120Ω,另外為了增加通信的抗干擾性能,會將AB兩線分別進行上拉和下拉。圖3即為通信的電路原理圖。
3.3? ?SCA103T模塊設計
圖4即為本文選取的基于3D MEMS技術的傾角傳感器感知部件,它是由芬蘭VTI公司開發的一款高精度加速度計芯片,經常用于制造基于MEMS的傾角儀的傳感元件。該加速度計芯片在開發的單軸測斜儀上具有兩個可測量的范圍,即±15°和±30°。SCA103T芯片適用于惡劣的外部條件,在溫度和沖擊方面具有耐久性[13,14]。
3.4? SCA103T感知傾角原理
基于MEMS的加速度計對重力敏感,因此,處于靜止狀態的基于MEMS的加速計傳感器測量靜態加速度和由于重力引起的加速度。在這種情況下,由于重力在靜態加速度和加速度之間產生一定角度。該角度對應于傳感器的斜率或所謂的傾角[15]。
圖5中顯示了沿x軸(αx)的加速度和由于重力(g)引起的加速度,這是由傳感器位置的變化產生的。αx和g之間的關系用等式(1)和(2)表示,其中α表示傳感器的斜率:
αx=g · sinα? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
α=arcsin(αx/g)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
3.5? SPI通信協議及溫度讀取的設計
在低速的嵌入式領域隨處可見IIC協議和SPI協議,這兩種協議的通信方式不大相同,一種是全雙工讀取數據,一種是半雙工讀取數據,本設計運用的SPI通信協議就是一種全雙工的通信方式,由于傳感器的數字輸出采取SPI數字接口,因此需要遵循該傳感器的協議模式才能完整讀取數據。
SPI需要一個單獨的節點使能線來選擇連接在總線上的設備。由于選擇線通常由主設備(微控制器)提供,這極大地限制了系統中傳感器節點的數量,從而大大限制了系統中傳感器節點的數量。此外,與IIC不同,SPI總線不允許在沒有任何額外外部接口的情況下將新傳感器輕松添加到系統中。SPI智能傳感器系統無法通過剪切或松開傳感器進出總線而不會影響總線上的任何其他電路來進行修改或升級。同時SPI也沒有用于新傳感器或中斷檢測的控制信號使其不適用于許多應用程序,包括環境監視和事件檢測。根據SCA103的時鐘序列示意圖,可以編寫如下代碼讀取內部溫度數據。
uint8_t? Get_Sca103tT( void )
{
int Tresult = 0;
HAL_GPIO_WritePin(GPIOA,SPI_CS_Pin,GPIO_PIN_SET);
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOA,SPI_CS_Pin,GPIO_PIN_RESET);
HAL_Delay(10);
SCA103TSendByte( RWTR );
HAL_Delay(10);
Tresult=SCA103TSendByte( MEAS );
HAL_Delay(1);
HAL_GPIO_WritePin(GPIOA,SPI_CS_Pin,GPIO_PIN_SET);
return Tresult;
}
4? ?NB-IoT模塊設計
在過去20年中,物聯網(Internet of Things,IoT)技術得到了顯著發展 [16],異構性等方面取得了顯著的進步[17,18]。從傳輸速率的角度來看,物聯網的通信服務可以粗略地分為兩類:高數據速率服務(如視頻服務)和低數據速率服務(如抄表服務)[19]。ATECH在2017年的統計數據顯示,低數據速率服務占物聯網服務總量的67%以上,這表明低數據速率的廣域網技術是可取的。
NB-IoT是一種旨在支持窄帶物聯網應用的新型協議,并已被列為未來第五代(5G)移動通信的重要組成部分[20,21],在NB-IoT終端中,支持的信號帶寬在單邊模式下可以是3.75kHz或15kHz,在多邊模式下可以是15kHz的任何整數倍,并且可以根據應用場景選擇工作頻段(獨立、保護帶或帶內)。但是它缺乏計算能力,因此,設計了該模塊的開發板。
4.1 穩壓電源電路設計
NB-IoT主控有兩個供電接口,其典型輸入電壓值不同于以往的MCU,它的供電電壓是3.6V的直流輸入,電源電路的設計對于該模塊來說至關重要,首先必須具有至少0.5A的電流驅動能力,這意味著在PCB板設計需要對電源的走線加粗以能夠通過如此大的電流,此外該模塊的電壓輸入范圍大致為3.1-4.1V,也就是說不管在何種工作環境下,即使不能提供穩定的3.6V供電電壓,也不能讓輸入電壓低于3.1V以下,否則會引起通訊異常,導致模塊內的參數發生改變。鑒于以上考慮,本設計采取LM2596可調節穩壓芯片作為電壓的控制芯片,其電路原理圖如圖6所示。LM2596可以最高提供3A的飽和電流,滿足本設計的需求,另外只需要調節輸出端兩個電阻的比例即可控制電壓的輸出,其輸出電壓如表達式(3)所示:
Vout=VREF (1+R2/R3)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
其中VREF = 1.23V
4.2? SIM卡模塊電路設計
該NB-IoT模塊包括一個外部的SIM卡接口,支持通過SIM卡訪問網絡,該SIM卡也支持3GPP規范的功能,該模塊僅支持3V供電,供電電壓來源于NB73內部電壓,其中CCLK引腳為外部SIM卡的時鐘線,CCIO為外部SIM卡的數據線,CCRST為外部SIM卡的復位線,在外部SIM卡的設計中,為了確保SIM卡的良好性能,需要增加一個靜電保護電路;此外,為了避免干擾,外部 SIM 卡座的地與模塊的地線布線要適當加粗。為保證相同的電勢,需確保布線寬度不小于0.5mm。供電電源的去耦電容不超過1uF,且電容應靠近外部 USIM 卡座擺放。其具體的電路原理圖如圖7所示。
4.3? RS-232接口電路設計
如圖8所示,RS-232是異步傳輸接口,該模塊的設計包含兩個同樣的接口設計,其電路原理圖幾乎一致,主串口主要用來發送AT指令,它可用于AT命令通信和數據的傳輸,波特率設置為9600bps,另一個則是調試串口,可以進行日志信息的軟件調試。本設計中的串口轉換芯片采取了SP3232芯片,另外,當主機系統電平是3.0V或者3.3V時,為了降低串口功耗,需要在模塊和主機的串口連接上加入1K以上的電阻,用于降低串口電流。對于更高的電壓系統之間的電平匹配,需要在模塊和主機之間增加電平轉換芯片以保證通信正常。
5? 上位機開發設計
上位機軟件系統是針對下位機而言的,下位機一般指實體部分,由于節約下位機開發成本,其數據的呈現性不是很好,往往需要將數據打包發送給對應的上位機,對數據重新進行解析與可視化,本設計將采取.NET技術,用C#語言開發一款具有無線接口的上位機軟件系統。
5.1 .NET技術介紹
由于C#的一些優點,即簡單、易用,功能強大和跨平臺等特點,它已成為最有效的語言之一[22]。.NET框架是由Microsoft提供的基于Windows的軟件框架,它一直被廣泛認為是軟件世界中最重要的技術。未來的其他Microsoft技術可能都會依賴于它。該框架擁有兩個主要組件:公共語言運行庫(CLR)和.NET框架類庫。作為軟件執行環境,CLR是.NET框架的基礎,提供了大量服務,例如內存管理、線程管理、增強的安全性、調試和分析服務、異常處理、代碼檢查和編譯等,以在創建.NET組件期間幫助系統開發人員。類庫是一個全面的,面向對象的代碼集合,可以與開發人員自己的代碼結合使用,以便在各種應用程序中使用。本文就是基于.NET框架,利用C#語言開發一款具有友好而便捷的人機交互界面軟件。
5.2? 軟件模塊設計
PC上位機軟件主要包括有線連接界面、無線連接界面、波形顯示界面、日志顯示界面。為了方便用戶使用,該軟件系統將有線連接和無線連接都寫到了一個界面上,也就是說該軟件既可以進行數據的有線傳輸,也可以進行數據的無線傳輸,具體的布局與功能如圖9所示。
如圖9所示,該界面主要包括設備的初始化,連接與釋放,登錄所需的用戶名和密碼,有數據的訂閱與取消訂閱,可以通過輸入設備的ID號來接收傳感器發送的原始數據,消息的推送中可以通過給不同的設備發送命令來讀取不同設備的數據,即可以實時查看各節點的值。
5.3? 軟件編程邏輯設計
在系統啟動過程中,要確定系統的通信正常和下位機通信正常才能連接上位機系統,正常啟動好應用程序之后,應用程序會啟動自身有所的進程,應用程序完成自身啟動之后開始檢查網絡的連接狀態,然后開始讀取數據,其結構如圖10所示:
數據的獲取過程依然會經過一個連接過程,若是有線連接系統,則需要確定通信端口、通信之間的波特率以及校驗碼等,若是選擇的NB無線連接,則需要核定登錄的用戶名以及密碼,或者提供該設備在有人為聯網之下的設備號,詳細流程如圖11所示所示。
5.4? ?C#網絡編程
C#語言是面向對象的語言,具有邊界檢查和垃圾收集。因此,它有助于通過防止危險指針和內存管理錯誤來編寫安全代碼,例如訪問數組中的數組元素或與創建和刪除對象相關的問題。然后,由C#編譯器生成的元代碼由CLI解釋器執行,可用于Windows系統和Linux系統。C#網絡編程一般有如下幾個步驟。
(1)服務端對端口進行偵聽
(2)客戶端與服務端進行連接
(3)服務端獲取客戶端連接
6? ?結論
本文設計了一種傾角傳感器,可以有線接入PC機,也可以通過NB-IoT無線接入PC機,給用戶提供了極大便捷,另外良好的人機交互界面也是此系統的一大優勢,該人機交互界面分為有線交互和無線交互兩個部分,可以顯示兩軸的傾角數據以及數據的可視化波形圖,在傾角傳感器的波動中可以實時顯示兩軸的動態曲線,此外,本文在對輸出的兩軸加速度進行了硬件RC濾波,能夠過濾掉一些無關的干擾。引入NB-IoT進行組網是本設計的另外一個特色,NB-IoT具有超強覆蓋、強連接、低功耗以及低成本等特點,將其運用到本系統中降低系統成本計能耗。該設計主要實現了以下要求:
(1)基于SCA103T傾角感知元件,設計與該傳感器匹配的外圍采樣電路,實現了系統能夠正常工作和高精度感知傾角信息;
(2)實現了多節點多方位的傾角信息采集子系統和多節點測試組網擴展功能;
(3)實現了485接口電路,使其能夠方便地接入互聯網,使數據傳輸更加穩定,網絡容納量更高;
(4)實現了與其對應的多節點上位機顯示,能夠很方便地查看各個節點的傾角信息;
(5)實現了基于NB-IoT的低功耗無線數據傳輸。
參考文獻:
[1] Weisi Guo,SiyiWang,O'Farrell, T.,Fletcher, S.. Energy Consumption of 4G Cellular Networks: A London Case Study[P]. ,2013.
[2] Li Sun,Sheshadri, R.K.,WeiZheng,Koutsonikolas, D.. Modeling WiFi Active Power/Energy Consumption in Smartphones[P]. Distributed Computing Systems (ICDCS), 2014 IEEE 34th International Conference on,2014.
[3] 徐金茍.低能耗藍牙4.0協議原理與實現方法[J].微型電腦應用,2012,28(10):16-19.
[4] Vaquerizo-HdezDaniel,Mu?ozPablo,R-Moreno María D,F Barrero David. A Low Power Consumption Algorithm for Efficient Energy Consumption in ZigBee Motes.[J]. Sensors (Basel, Switzerland),2017,17(10).
[5] 李娟,胡曉玲,李自剛.窄帶物聯網NB-IOT能耗測試淺析[J].電信網技術,2016(08):65-67.
[6] 沈方華.基于STM32微處理器的可編程序控制器設計[J].教育現代化,2017,4(34):159-160+168.
[7] 李巖博,潘明巖,陳東紅,陳錫愛.基于NBIOT和微信的空氣質量直播系統[J].科技資訊,2018,16(24):12-13.
[8] 顧雯雯.基于Cortex-M4單片機的多功能虛擬示波器的設計與實現[J].現代計算機(專業版),2014(36):71-75.
[9] Dapeng Li. Research of Array CCD Imaging System Based on STM32F4[A]. Information Engineering Research Institute,USA.Proceedings of 2013 the Fourth International Conference on Information,Communication and Education Application(ICEA 2013) Volume 30[C].Information Engineering Research Institute,USA:Information Engineering Research Institute,2013:6.
[10] 意法半導體(ST)推出新一代STM32 Dynamic Efficiency~(TM)微控制器,使其性能強大的STM32F4系列產品更加豐富完整[J].電子設計工程,2014,22(04):22.
[11] 羅洋坤.基于STM32串口通信的車聯網終端設計[J].無線電通信技術,2018,44(05):470-473.
[12] 唐夕晴,李建閩,佘曉爍.RS485總線接口性能測試儀設計與開發[J].電測與儀表,2019,56(07):142-147.
[13] 謝奕釗.數字電路設計中的抗干擾技術研究[J].無線互聯科技,2016(14):106-107.
[14] 劉素貞.電磁超聲檢測系統中消除電磁干擾電路的設計[A].中國電工技術學會、全國無線電干擾標準化技術委員會、全國電磁兼容標準化技術委員會、全國電磁屏蔽材料標準化技術委員會.2015中國電磁兼容大會論文集[C].中國電工技術學會、全國無線電干擾標準化技術委員會、全國電磁兼容標準化技術委員會、全國電磁屏蔽材料標準化技術委員會:中國電工技術學會,2015:4.
[15] 張澤宇.加速度計構造原理、工作特點及應用的研究[J].科技風,2018(04):205.
[16] 孫月,全秋浩,馬云飛,李田.大數據與物聯網的關系及應用[J].吉林農業,2019(07):110.
[17] 沈典.云環境下面向異構負載大數據應用的資源管理機制研究[D].東南大學,2018.
[18] Jianfeng Liao,Jianping You,Qun Zhang. Research on Library Big Data Cleaning System based on Big Data Decision Analysis Needs[P]. Proceedings of the 3rd International Conference on Mechatronics Engineering and Information Technology (ICMEIT 2019),2019.
[19] 韓進,張璽.窄帶物聯網的遠程無線抄表系統設計[J].單片機與嵌入式系統應用,2019,19(04):63-68.
[20] 吳泉.5G通信技術應用場景及關鍵技術分析[J].網絡安全技術與應用,2019(05):61-62.
[21] Nianqin Zhou. Research on Several Key Technologies for 5G[P]. Proceedings of the 3rd International Conference on Mechatronics Engineering and Information Technology (ICMEIT 2019),2019.
[22] 郭瑋.基于.NET Framework的WinForm Control開發框架[D].西安電子科技大學,2008.