日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【UWB定位】 - DWM1000模块调试简单心得 - 2

發(fā)布時間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【UWB定位】 - DWM1000模块调试简单心得 - 2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

UWB定位 - DWM1000模塊調(diào)試簡單心得 - 1 上一篇搭建了下軟硬件的基礎(chǔ)環(huán)境,這篇開始記錄調(diào)試需要注意的地方或者”坑”。先以一基站一標(biāo)簽來進(jìn)行。

1、將我們的模塊連接后上電。注意這里DWM1000模塊(也就是stm32開發(fā)板)一定要使用獨(dú)立電源(5v / 1.5A ↑↑↑)單獨(dú)供電,如果你用USB to TTL或者電腦的USB接口給stm32開發(fā)板供電(dwm10003.3V與stm32引腳3.3連接)后續(xù)多半會出現(xiàn)數(shù)據(jù)大幅度波動(波動單位為米級別!!!),亦或是基站與標(biāo)簽通信時直接斷開。博主調(diào)試的時候遇到過查了不少資料,據(jù)說dwm1000模塊峰值電流可以達(dá)到1A,建議基站采用電源5v/1.5A以上單獨(dú)供電給stm32開發(fā)板。標(biāo)簽可以采用移動電源供電,當(dāng)然這不代表這標(biāo)簽會省電,功耗關(guān)鍵還是在于程序控制(包括算法的不同耗電量也根不同,目前最省電最理想的測距算法還是TDOA 。對于定位來說我們的TWR 也就是TOA 也可以實(shí)現(xiàn)功能,但當(dāng)我們的項(xiàng)目工程需要多標(biāo)簽多基站時,還是需要TDOA的方式來進(jìn)行。TWR 定位方式當(dāng)多個標(biāo)簽的時候會遇到事件輪詢排隊的情況,當(dāng)然這都是后續(xù)的,可以自己根據(jù)需要選擇,目前咱們先調(diào)試官方的模塊代碼

2、基站部分代碼調(diào)試

??????? 打開我們的標(biāo)簽項(xiàng)目project,其實(shí)現(xiàn)在直接分別編譯-燒錄-運(yùn)行 到我們的開發(fā)板 ,然后基站的stm32開發(fā)板外接一個usb to TTL (程序內(nèi)串口已經(jīng)初始化,具體初始化在port.c 文件中,主程序部分點(diǎn)進(jìn)入peripherals_init()即可看見,波特率默認(rèn)115200)。

????? 為了方便我們串口調(diào)試,打開port.c文件加入我們自己的串口打印函數(shù)

void USART_putc(char c)//向串口輸出字符 {//while(!(USART2->SR & 0x00000040));//USART_SendData(USART2,c);/* e.g. write a character to the USART */USART_SendData(USART1, c);/* Loop until the end of transmission */while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) ; }void USART_putstr(const char *s)//向串口輸出字符串 {int i;for(i=0; s[i]!=0; i++){USART_putc(s[i]);} }

?

記得在port.h里聲明

void USART_putc(char c); void USART_putstr(const char *s);

?

?

可以將代碼中顯示屏部分的代碼直接去掉,在輸出顯示數(shù)據(jù)部分加入我們的串口打印字符串函數(shù)

?

?

sprintf(dist_str, "DIST: %3.2f m", distance); USART_putstr(dist_str); USART_putc('\n');

基站、標(biāo)簽上電,或許你就可以看到串口輸出的DIST: xx m 。

?

如果沒有,不要著急。先檢查代碼和硬件接線部分,確保沒有問題后,那就是我們程序的發(fā)送和接收延時需要修改(依據(jù)個人模塊合理修改,如果沒有通信成功 可將延時倍數(shù)增大,調(diào)整部分如下截圖)這里的延時是標(biāo)簽與基站發(fā)送接收對方數(shù)據(jù)的延時。

以下是我的個人調(diào)整(如還是不行繼續(xù)加大,基站與標(biāo)簽延時部分代碼 都需要加大,并不是只改基站部分的,注意!!):

下一篇傳送門:UWB定位 - DWM1000模塊調(diào)試簡單心得 - 3

總結(jié)

以上是生活随笔為你收集整理的【UWB定位】 - DWM1000模块调试简单心得 - 2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。