?

基于STM32 的三維空間無線定位

2024-01-23 07:32
物聯網技術 2024年1期
關鍵詞:測距電平串口

孫 婷

(北京信息科技大學 信息與通信工程學院,北京 100083)

0 引 言

隨著科技發展,由中國的北斗、美國的GPS、俄羅斯的GLONASS、歐盟的GALILEO 組成的全球導航衛星系統(Global Navigation Satellite System, GNSS)能夠在地球表面任意地點為任何用戶提供定位服務。然而,由于該系統存在自身的局限性,很難在微弱甚至沒有信號的環境中進行定位。地質勘測、礦產開采等戶外作業對于任何國家及社會的發展都具有重要作用。近年來,隨著煤礦、油氣資源勘探等應用需求的不斷增加,對實現無GPS 信號的儀器定位提出了更高的要求。世界各國對于無線定位的研究主要集中在一般環境下即GPS 信號強的環境。針對微弱信號下的無線定位研究主要依靠軟件接收機的相關算法,算法難度和應用成本較高。文獻[1]設計了弱GNSS 信號軟件接收機,利用全比特補零算法捕獲信號,基于非相干結構的跟蹤環跟蹤信號,通過BDS/GPS 粗時段導航偽距進行定位。文獻[2]使用北斗二代信號,結合頻率估計與定位算法PMF-FFT 實現了弱信號條件下的精確定位。文獻[3]使用GPS 和北斗系統混合定位來應對西藏等弱信號區域的應急無線通信。

目前針對弱信號條件下的定位已取得一定研究成果,但無信號條件下的研究仍處于初步階段,還須不斷完善。此外,有線單片機通信系統布線復雜、人力物力消耗過大、成本較高,不適用于需要大規模布置數據采集儀器的地質勘探和煤礦開采等領域?;谏鲜鲅芯楷F狀,本文從硬件設計出發,基于STM32F407 單片機進行了儀器的三維無線定位研究。

1 系統總體方案

系統主要由STM32F407 單片機、無線通信模塊、GPS接收模塊、測距模塊、液晶顯示模塊組成。系統的總體框圖如圖1 所示。其中,單片機A 為無信號環境下需要定位的儀器,單片機B、C、D 為可接收到信號的儀器。

圖1 系統框圖

以單片機B 為例,首先,利用搭載的GPS 接收模塊接收GPS 信號并計算得到單片機B 的三維位置,即經度、緯度和高度;其次,利用無線通信模塊與單片機A 取得聯絡,獲取測距命令并進行單向測距,并將測得距離顯示在液晶顯示模塊上;最后,通過無線通信模塊將獲得的信息告知單片機A,單片機A 在收到信息后將單片機B 的位置與相對距離顯示在液晶顯示模塊上。單片機C、D 重復上述操作,最終單片機A 處獲得其余三個單片機的位置及三個相對距離,通過數據仿真即可推斷出單片機A 的位置。由于實際場景位于曠野平原,地勢平坦,高度變化較小,求取單片機A 的高度時,可取單片機B、C、D 高度的平均值。

2 系統硬件設計

2.1 開發板

本文所用單片機為STM32F407[4-6],使用ARM Cortex-M4 32 位RISC 內核,工作頻率高達168 MHz,包含高速嵌入式內存,可連接到兩條APB 總線、三條AHB 總線和一個32 位多AHB 總線矩陣的各種增強型I/O 和外圍設備,是一款高性能且實用的開發板,實物如圖2 所示。

圖2 STM32F407 單片機

2.2 液晶模塊

由于TFTLCD 模塊具有自動化程度高、易于集成、低成本等優點,本文選用驅動芯片為ILI9341,支持64K 彩色顯示,使用以RGB565 格式存儲彩色數據并自帶顯存的TFTLCD 作為液晶顯示模塊。

2.3 GPS 定位

本文選用的GPS 定位模塊為BLOX NEO-6M,具有靈敏度高、精度高、功耗低、體積小等優點,能夠在復雜環境下進行定位。BLOX NEO-6M 模塊遵循NMEA-0183 協議,系統設計所需要的定位信息的相關解析函數如下:

(1)可見衛星數函數(GPGSV),提取可以搜到的衛星總數、衛星編號、衛星仰角、衛星方位角及衛星信噪比信息。

(2)GPS 定位信息函數(GPGGA),提取GPS 狀態、正在使用的定位衛星數、高度信息。

(3)當前衛星信息函數(GPGSA),提取定位類型、定位衛星編號、各精度因子的信息。

(4)推薦定位信息函數(GPRMC),提取UTC 時間(協調世界時)、緯度、南北緯、經度、東西經、UTC 日期。

2.4 無線測距

由于本文的設計要求為無線定位距離達到千米級,對比超聲波測距、激光測距、UWB 測距、雷達測距、紅外測距等模塊可知,只有激光模塊可以滿足設計要求。

應用脈沖法進行激光測距的原理為發射的激光在空氣中傳播,一旦有相關物體即目標測量物擋住其傳播后就會反射,直到超聲波重新被接收,由計時器測量激光從發射到接收這一過程所需的時間。激光測距公式為:

式中:s為測量距離;c為傳播速度;t為傳播時間。

實物測試時,由于激光測距的成本過高,實物實現較為困難,因而使用測距原理相近的超聲波測距模塊[7-8]代替,超聲波的傳播速度為340 m/s。比較市面上多種型號的超聲波模塊,如HC-SR04、RCWL-1601、US-015、HY-SRF05、US-100 等,考慮到性能、成本等因素,選用性能較好的US-100 模塊。US-100 模塊的測距范圍大概為0.02 ~4.5 m,具有允許輸入電壓范圍大、功耗低、成本低等優點,內置溫度傳感器可有效校準測量結果,并支持GPIO、串行口等通信方式。US-100 模塊背面有模式選擇跳線,插入跳線帽時,在串行端口觸發模式下工作;拔下跳線帽時,在電平觸發模式下工作。

本設計中選擇電平觸發模式,在打開開發板電源即給設備上電之前,先卸下模式選擇跳線上的跳線帽,以將模塊置于電平觸發模式。使用電平觸發測距的時序原理如圖3 所示。

圖3 電平觸發測距時序原理

首先給超聲波US-100 模塊的Trig 端輸入一個作為觸發信號的10 μs 以上的高電平;然后,發射探頭會自動循環發出8 個40 kHz 的脈沖;同時,Echo 端的電平變高,當遇到目標物體遮擋后反射的超聲波被模塊接收時,Echo 端電平變低,通過Echo 端維持高電平的時間和超聲波在空氣中的傳輸速度進行距離計算。

2.5 無線通信

NRF24L01 無線通信模塊主要是通過電磁波進行數據的傳輸,可以實現一個接收端和一個發射端即點對點通信或一個接收端和六個發送端即一對六無線通信。該模塊采用串行外設接口通信,易與單片機進行連接。由于有126 個調頻通道,可以滿足本設計多點通信的需求[9]。只包含NRF24L01芯片的模塊的傳輸距離為5 m 左右,測量距離較短,加板載天線后的無線通信模塊在無遮擋空曠地的無線通信距離一般可以達到20 m 左右,但仍不滿足千米級的研究場景需求。因此,本次設計選用AS01-ML01DP5 無線通信模塊,在使用NRF24L01P 射頻芯片的基礎上,集成了RFX2401C 功放芯片,具有接收靈敏度高、抗干擾能力強等特點。由于自帶SMA-K 天線接口,傳輸距離可達2 km,滿足設計要求。

NRF24L01 無線通信模塊作為接收端(RX)時,內部最多可以同時存在6 個接收地址,通過配置可以分別啟用/禁用一個或多個接收地址。如果啟用了多個地址,當RX 接收數據信號時,依次進行地址比較;當地址能夠完全匹配時,RX 接收并處理數據[10]。雖然RX 有多個可以接收數據的通道,但NRF24L01 只有一個射頻模塊,同一時刻只能接收一份數據。如果使用多對一通信時,需要注意錯開各自發送時間。

3 系統軟件設計

3.1 CH340 驅動

當代的電腦普遍使用USB 口代替9 針串口,如果將USB 口應用為串口,則需要安裝驅動。CH340 驅動是一種連接計算機和單片機實現USB 到RS 232 驅動程序的黑色連接線。與其他USB 轉串口的芯片相比,CH340 因成本較低且在一般場景性能已經足以滿足使用需求,實際更受歡迎[11]。

3.2 程序燒錄軟件

本文設計中使用FlyMCU 將程序下載到單片機,它是一個免費的、功能強大的STM32 最新的串行口燒錄軟件,可以幫助用戶連接到用于通信的串行端口,輕松地燒寫程序,支持編程、校驗、讀取設備信息,可以使用連續下載程序模式,已成為用戶進行硬件調試的必備軟件。

3.3 串口調試助手

本文使用的串口調試助手為ATK XCOM。與其他的串口調試軟件相比,XCOM 具有使用界面簡單大方、易于使用、能準確地識別串口等優點。在系統前期進行測距校準調試時大量使用此軟件。

4 實物測試及分析

本次設計的實物測試部分只實現單臺設備的定位、兩臺設備之間的測距和通信等功能。由于測距模塊本身的局限性,被測設備的表面需保持平整,否則所得數據與實際結果之間會出現較大偏差。實物測試如圖4 所示。

為保證測量結果的準確性,在程序中設置連續測量5 次距離,對5 次距離求平均值后再通過串口輸出1 次結果。本次設計的觸發方式選擇電平觸發,在連接好硬件后進行測試的過程中,串口調試助手XCOM 的主頁面上會自動顯示每次的測量數據。分別對0.05 m、0.1 m、0.15 m、0.2 m、0.5 m、1 m 進行測量,得到的結果及測量誤差見表1 所列。

表1 測距誤差

通過對表1 數據進行分析,測距在1 m 之內的測量誤差基本在0.262 6%以內,為可控范圍。在傳輸數據的過程中必須保持收發端所設置的地址一致,否則會收不到數據。經過實地測量,若兩臺單片機之間無別的物體遮擋,在1.5 m的范圍內收發端的數據可以保持一致即測量誤差為0,超過1.5 m 后數據丟包現象嚴重??紤]到室內環境和無線信號的影響使其測量無誤差的范圍減小,若在空曠的室外環境下,其傳輸距離將會增大。

5 結 語

本文在STM32 單片機基礎上應用GPS 定位、無線通信、無線測距等模塊實現無信號室外儀器無線定位。實驗結果表明,所設計系統的誤差較小且測量精度較高。實際應用時應將超聲波測距模塊更換為激光模塊,增大測距范圍,更好地滿足應用場景。

猜你喜歡
測距電平串口
淺談AB PLC串口跟RFID傳感器的通訊應用
類星體的精準測距
淺談超聲波測距
NPC五電平Z源逆變器的設計研究
USB接口的多串口數據并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
基于三電平光伏并網逆變器控制系統的研究與實踐
基于NPC三電平變換器的STATCOM研究
基于PSOC超聲測距系統設計
相對差分單項測距△DOR
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合