【UWB定位】 - DWM1000模块调试简单心得 - 1
記錄下調(diào)試UWB模塊遇到的問題及解決方法以及個人對UWB模塊的一些見解,目前本人調(diào)試的官方demo實現(xiàn)了一標(biāo)簽對三基站的測距通信以及分基站基站的數(shù)據(jù)匯總到總基站,室內(nèi)40米內(nèi)總體平均誤差在30cm左右。旨在拋磚引玉,希望對大家有幫助。
DWM1000模塊,采用納秒至微微秒級的非正弦波窄脈沖傳輸數(shù)據(jù)。想要了解更多可以去百度。本質(zhì)其實就是利用脈沖信號來計算到達時間或者到達時間差,不同的計算方法(TOA 亦或是TDOA)的目的都是測距。
1、準(zhǔn)備材料:
(1)stm32F103C8T6開發(fā)板?? 入門可以直接調(diào)試的官方demo,(附贈下載地址:https://download.csdn.net/download/qq_37967635/10546057)(很不好意思賺1個積分,哈哈。)官方demo采用stm32作為主控MCU,可以自行移植到其他板子(看個人需要)。
(2)DWM1000模塊(淘寶購買大約150左右一塊)模塊內(nèi)有內(nèi)置天線(信號源),模塊與stm32通過spi通信,其實官方demo大部分都已經(jīng)幫我們定義好了。只需要將模塊與stm32引腳正確連接即可。
2、1標(biāo)簽1基站環(huán)境
(1)軟件環(huán)境(標(biāo)簽與基站)代碼搭建
找到下載的壓縮包解壓,官方給的例程都存放 在examples里
?? 主要用到這倆套例子(圖中圈到的第一個紅圈是 TWR --SS 的測距方法、第二個是TWR -DS方法,相同的是都采用TOF雙向飛行測距,即 測量脈沖飛行的時間 * 光速 = 標(biāo)簽與模塊的距離。不同是04a & 04b? 采用的是單邊雙向飛行測距,05a & 05b? 采用的是手雙邊雙向飛行測距,當(dāng)然雙邊更加準(zhǔn)確,這里采用雙邊測距。),如不理解跳轉(zhuǎn)? 地址:https://blog.csdn.net/qq_37967635/article/details/82459656?
繼續(xù)點擊去05a 把main.c 文件復(fù)制到\Keil工程\MDK-ARM中的project 當(dāng)中即可。copy 一份在復(fù)制05b的代碼。 05A即標(biāo)簽的代碼,05即基站的代碼。好了代碼環(huán)境就搭建完了(稍后需要調(diào)試參數(shù))。對于里邊的各種函數(shù)還需要自己去稍加理解,壓縮包里有帶API接口引導(dǎo)手冊,名字為《DW1000_Software_API_Guide_rev2p0》。
(2)硬件模塊搭建
引腳圖如下: ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
其實,這里DWM1000模塊就是一個外接模塊,內(nèi)部通過SPI通信。只需要stm32和模塊連接即可。SPI接口信息定義在port.h中
簡單的來說就是:
SPI_CLK? ? ? —— ?? stm32 A5
SPI_MISO ?? ——? ? stm32 A6
SPI_MISI ?? ? ——? ? stm32 A7 ????????
SPI_Csn ?? ?? ——? ? stm32 A4 ???????????
IRQ??????? ? ? ?? ——? ? stm32 B5
RESET ? ?? ? —— ?? stm32 B15?
VSS(負) ? ?? ? —— ? stm32 GND
VDD3V3(正)? —— ? stm32 3.3V
夠簡單的了吧。。天線模塊盡量不要和stm32重疊(標(biāo)記UWBXX的一側(cè)即天線),不然信號還是會有點影響。
?
先吃飯,下一篇開始調(diào)試。
【UWB定位】 - DWM1000模塊調(diào)試簡單心得 - 2
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的【UWB定位】 - DWM1000模块调试简单心得 - 1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse32位python版下载_
- 下一篇: 更改网页alert弹出框样式