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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

UWB定位 - DWM1000模塊調試簡單心得 - 1 上一篇搭建了下軟硬件的基礎環境,這篇開始記錄調試需要注意的地方或者”坑”。先以一基站一標簽來進行。

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

2、基站部分代碼調試

??????? 打開我們的標簽項目project,其實現在直接分別編譯-燒錄-運行 到我們的開發板 ,然后基站的stm32開發板外接一個usb to TTL (程序內串口已經初始化,具體初始化在port.c 文件中,主程序部分點進入peripherals_init()即可看見,波特率默認115200)。

????? 為了方便我們串口調試,打開port.c文件加入我們自己的串口打印函數

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);

?

?

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

?

?

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

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

?

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

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。