程亮亮,張忠祥,陳家寶,劉 揚
(1.合肥師范學院 電子信息工程學院,安徽 合肥 230601;2.中國科學院 合肥物質科學研究院,安徽 合肥 230031)
基于STM32的多通道無線同步槳力采集系統的設計
程亮亮1,張忠祥1,陳家寶1,劉 揚2
(1.合肥師范學院 電子信息工程學院,安徽 合肥 230601;2.中國科學院 合肥物質科學研究院,安徽 合肥 230031)
本文設計了一種基于STM32的多通道無線槳力采集系統。系統由4槳端節點和一數據采集盒組成,可同步采集8通道槳力。槳端節點基于STM32F103C8T6設計,以200Hz采樣率采集槳拉力和扭力,并通過nRF24L01+無線發送;數據采集盒基于STM32F103ZET6設計,將收到的槳力數據發送到上位機,上位機繪制槳力數據曲線。測試結果表明,系統功耗低、同步性好、誤碼率低,這一方法可用于無線多通道工業數據采集系統,具有非常好的實用性。
STM32;槳力;多通道無線通信;同步;誤碼率
數字體育是數字技術與傳統體育相結合的產物,是IT、通信、互聯網技術手段與體育鍛煉、競技健身、互動娛樂的完美結合。發達國家普遍利用數字體育提升運動員的各項素質,通過傳感器采集運動員的生理信號并傳輸到計算機進行自動分析,進而給運動員提出訓練建議,使其達到最佳運動水平。在多人賽艇項目中,目前國內使用的是有線方式,即槳端的傳感器與采集盒之間通過有線連接,給運動員造成很大干擾,針對這一問題,項目組與中科院合肥智能所合作開發了多通道槳力無線同步傳輸系統。
系統由四槳端電路和一數據采集盒組成。每槳端含槳拉力和扭力傳感器,可無線采集8通道傳感器數據。為了使各槳端采集的數據具有同步性,采集盒以40 ms為周期廣播同步信號,各槳端在收到廣播后以200 Hz的采樣頻率同步采集數據,發送到采集盒,最后通過PC的上位機軟件顯示[1-2]。
槳端基于STM32F103C8T6設計,結構如圖1所示。
圖1 槳端結構圖
STM32F103系列是意法半導體出廠的Cortex-M3內核的ARM控制器[3],其最高主頻為72 MHz,具有睡眠、停機和待機三種模式。系統固定在皮劃艇的槳柄上,傳感器采集的信號經信號調理電路處理后由STM32F103C8T6片內AD轉換器轉換,并無線發送到數據采集盒。電路偏置電壓可由采集盒端PC軟件調整,從而將傳感器信號放大到AD轉換器所需的0~3.3 V電壓區間內,為減小體積,電源由3.6 V紐扣電池供電,采用超低功耗LDO電源管理芯片穩定為3.3 V電壓,無線模塊收發數據瞬間電流較大,易對模擬電路產生干擾,并使AD采樣精確度降低,故將模擬電源和數字電源隔離,模擬地和數字地通過0歐姆磁珠連接,降低了它們之間的干擾。
數據采集盒結構圖如圖2所示,基于高性能STM32F103ZET6設計,以40 ms周期性廣播同步信號,并依次接收各槳端發來的數據,由USB連接線上傳到PC,由PC上的軟件繪制8通道波形。采集盒對體積和功耗要求不高,使用USB接口供電,由LDO芯片AMS1117穩定為3.3 V,因目前PC機大多無RS232接口,故采用CP2102芯片將LVTTL電平的UART信號轉為USB信號[4],與上位機通信。
圖2 數據采集盒結構圖
系統硬件主要由槳端電路和數據采集盒端構成。槳端電路放置在皮劃艇槳柄上,要求體積小,功耗低,采用紐扣電池供電;采集盒位于教練船上,對體積大小等無特殊要求。
槳端電路主要由電源部分、信號調理電路、數控電位器電路、STM32F103C8T6最小系統和NRF24L01+模塊接口組成。
如圖3所示,信號調理電路由兩級運放電路構成。第1級是AD623構成的差動放大器電路,將位于槳柄傳感器采集的差分信號轉為單端信號;第2級是低功耗運放OP496構成的2階低通濾波電路,完成偏置、放大、濾波功能。兩運放均采用3.3 V單電源供電,IN+、IN-是槳力傳感器輸出的差分信號,通過AD623轉為單端信號。為降低誤差,保持最佳線性度,根據傳感器輸出信號幅值,將第1級運放放大10倍,此時AD623輸出范圍0~150 mV;第2級放大20倍,截止頻率為200 Hz,OP496輸出范圍為0~3 V,符合AD采集范圍。槳拉力和扭力傳感器安裝在槳上后需要調零,電路增加數控電位器進行調零,電位器輸出值可通過上位機軟件調整。
采集盒電路相對比較簡單,包含無線模塊接口電路和CP2102構成的UART轉USB電路。
軟件設計部分包含槳端軟件、采集盒軟件和上位機軟件等3個部分,其中槳端節點和采集盒軟件基于ARM開發環境Realview MDK[6]開發;上位機軟件基于Visual Basic 6.0軟件開發,用于顯示波形。
3.1 槳端軟件設計
槳端程序主要由主程序、外部中斷構成。
主程序軟件流程圖如圖4所示。系統首先需要完成初始化,主要包含RCC時鐘、GPIO、SPI、EXTI、NVIC、AD和定時器初始化,將無線模塊設為接收模式,4槳端收到采集盒的同步廣播信號后打開定時器,在定時器完成數據采集,隨后發送上一周期32字節數據包(槳拉力和扭力分別采樣8次,共32字節)。考慮到4發送端同時發送會導致數據包空中沖撞丟包,故4槳端錯開發送,nRF24L01+從接收模式切換到發送模式需要時間,數據發送成功后再將無線模塊置為接收模式[7](在收到的廣播信號中若有設置偏置電壓標志位,則設置偏置)。
外部中斷軟件流程如圖5所示。當無線模塊收到數據后,IRQ管腳由高變低,觸發B0中斷,確認是槳端發來的數據后保存到緩沖并設置接收標志等待主程序接收,最后清除接收FIFO和寄存器狀態STATUS,等待下一周期數據[8]。
圖4 槳端主程序 圖5 槳端外部中斷 圖6 采集盒串口中斷流程圖
3.2 采集盒軟件設計
采集盒端軟件主要包含定時器、無線接收和串口中斷服務程序。定時器中斷程序以40 ms為周期廣播同步信號;無線接收中斷程序用來接收各槳端發來的信號;串口中斷程序與上位機軟件雙向通信,接收上位機命令、調偏置電壓、發送槳力數據到上位機等,如圖6所示。
3.3 上位機軟件設計
上位機與采集盒通信,用于控制系統的啟動與停止。設置各無線槳端的偏移,接收下位機發來的數據并繪制波形等。串口通信程序基于MSComm控件開發,它提供了事件驅動和查詢兩種方式。事件方式響應速度快,適合對數據實時性有較高要求的場合;而查詢方式相對前者響應慢。本系統選擇事件驅動方式。由于系統需要顯示8通道波形,數據量大,設置串口參數為“921600,N,8,1”。槳力曲線使用PictureBox控件的Line方法繪制[9]。
示波器波形顯示系統同步誤差為100 ns,表明系統同步效果非常好,另外多點有線采集系統存在AD轉換先后順序導致的誤差,而無線無此誤差。圖7是示波器采集的各槳端節點無線模塊IRQ中斷管腳的信號(從上至下依次為1,2,3,4節點),由圖可知各節點收到廣播信號后錯開時間發送數據,大大降低了誤碼率。
槳端實物圖如圖8所示,含傳感器和電路板,由紐扣電池供電。圖9是信息采集端上位機軟件界面。為了測試8通道槳力信號的精度、同步性、誤碼率,使用多通道信號發生器同步生產三角波和正弦波信號(最后兩波形是位于節點4的槳拉力和扭力傳感器值),以便對比效果。從實驗結果可以看出,系統具有很好的同步性,毛刺小,穩定性非常好。
基于STM32微控制器設計的槳力信號的測量與顯示系統,采用軟硬件結合的方式,實現了8通道槳力信號無線同步采集,系統同步性好,誤碼率低。槳端體積小、功耗低,采用可充電紐扣電池供電。系統運行穩定,具有很大的實用價值,稍作更改可用于其他任何多通道無線數據采集場所。
[1] Z.Sahinoglu,S.Gezici.Ranging in the IEEE 802.15.4a standard[C]. Wireless and Microwave Technology Conference, 2006: 1-5.
[2] 張朝龍,江巨浪.基于MSP430的無線采集系統設計[J].安慶師范學院學報(自然科學版),2009,15(2):29-31.
[3] 王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理及實踐[M]. 北京:北京航空航天大學出版社,2008:318-338.
[4] 曹圓圓.基于STM32的溫度測量系統[J]. 自動化與儀器儀表,2010(3):16-18.
[5] 馬忠梅,李奇,徐琰,等.ARM Cortex-M3微控制器教程[M]. 北京:北京航空航天出版社, 2010:155-157.
[6] 季力. 基于STM32芯片的電參數測量與數據傳輸[J]. 自動化與儀器儀表,2010(3):137-139.
[7] 邱巖,趙沖沖.戴桂蘭. 無線傳感器網絡節點定位技術研究[J]. 計算機科學, 2008, 35(5): 47-50.
[8] 意法半導體.STM32中文參考手冊[S].10版.意法半導體(中國)投資公司,2010:1-6.
[9] 閔聯營,董華松.Visual Basic程序設計[M]. 北京:北京大學出版社,2006:50-56.
Multi-Channel Oar Force Wireless Synchronous Data Acquisition System Based on STM32
CHENG Liang-liang1,ZHANG Zhong-xiang1,CHEN Jia-bao1,LIU Yang2
(1.School of Electronics and Information Engineering, Hefei Normal University, Hefei 230601, China; 2.Hefei Institutes of Physical Science Chinese Academy of Sciences, Hefei 230031, China)
This paper introduced a low-power-consumption and high-performance multi-channel wireless oar force acquisition system, and explained it′s operational principle and design of hardware and software. This system consists of 4 node on oar and 1 data collector and acquires 8-channel oar forces synchronously. Based on low-power controller STM32L151, node on oar acquires pulling and torque force with sample rate of 200Hz,then send it using nRF24L01+ module wirelessly; the collector receives data and send it to PC software to draw curves of oar force.The final test results show that the system has low power consumption and good synchronization and low code error ratio.The method can be used for multi-channel industrial data acquisition system , and has very good availability.
stm32, oar force, multi-channel wireless communication, synchronization, code error ratio, low power
2015-04-20
國家體育總局國家隊科技服務項目(2015HT058)和合肥師范學院校級科研項目(科研基地一般項目)(2013jd04)。
程亮亮,男,安徽池州人,碩士,合肥師范學院電子信息工程學院教師,研究方向為物聯網。
時間:2016-1-5 13:01 網絡出版地址:http://www.cnki.net/kcms/detail/34.1150.N.20160105.1301.017.html
TP273
A
1007-4260(2015)04-0069-04
10.13757/j.cnki.cn34-1150/n.2015.04.017