陳 佩,魯錦鋒,高 文
(1.特變電工西安電氣科技有限公司,西安 710000;2.西安航空學(xué)院 電子工程學(xué)院,西安 710077)
隨著電子、傳感器等相關(guān)技術(shù)的發(fā)展,新的姿態(tài)檢測技術(shù)不斷涌現(xiàn),推動了現(xiàn)代社會的快速發(fā)展。伴隨著自動駕駛和無人機等技術(shù)的日益發(fā)展和迅速普及,姿態(tài)檢測技術(shù)在定位、定向、導(dǎo)航等方面得到了廣泛使用。姿態(tài)檢測系統(tǒng)是提供物體X軸、Y軸和Z軸的角速率、俯仰角和橫滾角信息的裝置[1]。微電子機械系統(tǒng)(MEMS)具有尺寸小、重量輕、成本低、功耗小和動態(tài)范圍寬等優(yōu)點,被廣泛應(yīng)用于測量領(lǐng)域[2-4]。應(yīng)用MEMS技術(shù),本文設(shè)計了以STM32F103為核心控制器,使用MPU6050檢測、NRF24L01+傳輸數(shù)據(jù)的無線姿態(tài)檢測儀,實時獲取并可在OLED顯示所測物體的姿態(tài)信息,同時通過WiFi通信也可在終端設(shè)備上獲得所測物體的姿態(tài)信息,為深層次分析物體的運動轉(zhuǎn)臺提供準(zhǔn)確信息保障。
系統(tǒng)總體結(jié)構(gòu)如圖1所示。發(fā)送部分選用六軸姿態(tài)傳感器MPU6050對所測物體的姿態(tài)進(jìn)行檢測,完成姿態(tài)信息的采集,并通過串口通信與核心控制器STM32F103進(jìn)行數(shù)據(jù)的交互??刂破鲗⒉杉淖藨B(tài)信息以無線通信方式向外傳輸。接收部分無線通信模塊將接收檢測的姿態(tài)信息傳送到控制器,然后通過WiFi通信方式傳給終端設(shè)備(上位機或手機終端)。同時系統(tǒng)設(shè)置有OLED顯示電路,可方便被測物體姿態(tài)信息的直接讀取和顯示。
圖1系統(tǒng)結(jié)構(gòu)框圖
無線姿態(tài)檢測儀設(shè)計選用STM32F103C8T6作為核心控制器,STM32F103是意法半導(dǎo)體公司生產(chǎn)的32位ARM微控制器,內(nèi)核為CortexTM-M3,工作頻率最高可達(dá)72MHz,具有高速性、低成本、高性價比等優(yōu)點[5]。為保證核心微控制器的工作,供電及時鐘必不可少,具體電路如圖 2 所示。
圖2 STM32F103C8T6控制器
作為整個系統(tǒng)中重要的姿態(tài)檢測部分設(shè)計采用MPU6050模塊電路完成,具體包含穩(wěn)壓芯片SC662K、STM8S003F3P6、MPU6050芯片,測量精準(zhǔn)且性價比較高。SC662K穩(wěn)壓芯片保證模塊具有穩(wěn)定的工作電壓。MPU6050芯片是全球首例整合性六軸運動處理傳感器,內(nèi)含數(shù)字運動處理單元 (Digital Motion Processing, DMP) ,可對傳感器數(shù)據(jù)進(jìn)行濾波、融合處理[6],直接運算出四元數(shù)和姿態(tài),不需要另外進(jìn)行數(shù)學(xué)運算。在設(shè)計中使用DMP實現(xiàn)傳感器融合算法優(yōu)勢明顯,可將控制器從算法處理的壓力中解放出來[7],同時DMP解算完成后可產(chǎn)生外部中斷,STM8S003F3P6在外部中斷里讀取姿態(tài)結(jié)算的結(jié)果,并同時將數(shù)據(jù)采用串口通訊輸出,大大提高了系統(tǒng)的實時性。具體電路如圖3所示。
圖3 MPU6050模塊電路
設(shè)計選用的NRF24L01+無線收發(fā)器模塊完成無線通信功能。NRF24L01+是由NORDIC公司生產(chǎn),是NRF24L01芯片的低功耗增強版本。正常工作頻段是在2.4GHz~2.5GHz之間。主要由頻率發(fā)生器、增強型模式控制器、功率放大器、晶體振蕩器、調(diào)制器以及調(diào)節(jié)器組成[8]。與核心控制器STM32F103C8T6通過SPI接口進(jìn)行通信,完成數(shù)據(jù)傳送工作。接收以及發(fā)送端引腳相同,如圖4所示。
圖4 NRF24L01通信模塊
設(shè)計選用ATK-ESP8266 WiFi模塊實現(xiàn)無線通信。該模塊頻率范圍為2.412GHz~2.484GHz,內(nèi)置TCP/IP協(xié)議棧,支持串口轉(zhuǎn)WiFi STA、串口轉(zhuǎn)AP和WiFiSTA+WiFi AP的模式,同時帶有板載PCB天線,支持LVTTL串口,兼容3.3V和5V系統(tǒng),可以快速構(gòu)建串口-WiFi數(shù)據(jù)傳輸方案[9]。使用控制器PA2和PA3管腳的串口通信功能,具體硬件電路如圖5所示。
圖5WiFi通信模塊
軟件程序成功運行是系統(tǒng)實現(xiàn)功能的關(guān)鍵。整個系統(tǒng)需要完成姿態(tài)信息的采集、無線數(shù)據(jù)的傳送與接收、OLED的數(shù)據(jù)顯示、上位機數(shù)據(jù)的傳輸與顯示。整個軟件程序采用模塊化編寫,易于維護(hù)和移植,如圖6所示,圖中給出軟件功能劃分框圖,發(fā)送端和接收端選取各自的功能模塊。
圖6無線姿態(tài)檢測儀軟件結(jié)構(gòu)
主程序是整個程序的主干部分,編寫主程序時需注意對子程序的調(diào)用順序。主程序流程如圖7所示。首先系統(tǒng)初始化,包含時鐘、IO口和相關(guān)通信設(shè)置等,確保后續(xù)功能可正常運行使用。之后確定物體的初始信息,如初始位置、初始速度等,以及計算姿態(tài)參數(shù)時的必要數(shù)據(jù),將最終姿態(tài)參數(shù)傳輸給核心控制器;然后核心控制器將數(shù)據(jù)發(fā)送給無線模塊,若沒有接收到數(shù)據(jù),六軸姿態(tài)傳感器將重新采集信息向核心控制器發(fā)送;無線通訊模塊將接收到的數(shù)據(jù)進(jìn)行無線發(fā)送;接收端接收數(shù)據(jù)解析傳送到控制器,然后控制器向OLED顯示屏發(fā)送顯示數(shù)據(jù),同時可通過WiFi在終端設(shè)備查看檢測到的姿態(tài)數(shù)據(jù)。
圖7無線姿態(tài)檢測儀程序流程
原理設(shè)計完成后搭建具體實物系統(tǒng)進(jìn)行調(diào)試,系統(tǒng)實物如圖8所示。
圖8 無線姿態(tài)檢測儀實物
在確保硬件電路完整后下載.hex文件,之后測量多種狀態(tài)下的姿態(tài)檢測數(shù)據(jù),可通過上位機軟件進(jìn)行查看,也可通過OLED顯示屏直接查看,如圖9所示。
圖9實測OLED顯示
設(shè)計以STM32F103為核心,基于MPU6050慣性傳感器模塊檢測,通過NRF24L01+進(jìn)行無線傳輸,使用WiFi模塊與終端設(shè)備通信,同時可在OLED上顯示姿態(tài)信息。具有功耗低、性價比高、穩(wěn)定性好的優(yōu)點。實驗結(jié)果顯示,該系統(tǒng)姿態(tài)檢測準(zhǔn)確,系統(tǒng)穩(wěn)定性高,可應(yīng)用在運動物體的姿態(tài)檢測以及人體穿戴設(shè)備的姿態(tài)檢測,具有較好的應(yīng)用價值。