国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

室內定位UWB模組 兩點測距+出廠固件功耗測試,效果如何?

AIoT行業洞察 ? 來源:AIoT行業洞察 ? 作者:AIoT行業洞察 ? 2025-08-19 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

以下作品由安信可社區用戶

putin制作

目錄

一、UWB模組之BU03

1.1簡介

1.2技術亮點

1.3安信可官方資料及工具

二、功耗測試

2.1基站

2.2標簽

2.3測距配置

2.4校準

三、UWB模組使用SDK按鍵喚醒

3.1SDK下載

3.2激活例程

3.3修改例程

3.4實驗現象

UWB模組之BU03

1.1簡介

BU03模組是一款基于Decawave DW3000系列芯片設計的超寬帶(UWB)定位模組。作為一款高性能無線通信模塊,BU03憑借其10厘米級定位精度和6.8Mbps高速數據傳輸能力,成為物聯網IoT)、智能家居、工業自動化等領域的理想選擇。其核心優勢在于低功耗設計、抗干擾性強,以及支持多種定位算法,可靈活適配復雜環境下的精準定位需求。

1.2技術亮點

●板載陶瓷天線射頻電路:BU03采用全向陶瓷天線設計,無需額外RF設計即可實現信號穩定收發,且天線布局經過優化,確保定位精度不受環境干擾。
●DW3000芯片方案:基于Decawave DW3000的射頻前端芯片,支持雙向測距(TWR)、TDOA和到達相位差(PDOA)算法。
●低功耗與寬電壓支持:供電范圍2.5V-3.6V,睡眠模式下功耗低于1μA,適用于紐扣電池供電的便攜設備。

定位精度與算法實現

●厘米級定位:通過TDOA或PDOA算法,BU03可在室內復雜環境中實現10厘米級定位精度。例如,在倉儲物流中,標簽與基站間的實時距離測算誤差可控制在±10cm以內。

●動態校準功能:用戶可通過線性擬合校準參數(如指令AT+SETDEV),進一步提升實際場景中的測距準確性。測試數據顯示,校準后誤差可降低至毫米級。

1.3安信可官方資料及工具

●規格書與原理圖下載:安信可UWB專題文檔
●測試教程與SDK:飛書知識庫

●開箱即用的開發套件:BU03-Kit開發板集成STM32F103主控,提供LCD屏幕實時顯示測距數據,并支持通過USB/TTL接口進行AT指令配置。用戶可通過指令(如AT+SETCFG)快速切換基站與標簽模式,搭建多節點定位系統。

上位機支持與資源開放:配套上位機軟件支持基站坐標編輯與標簽軌跡可視化,開發資料包涵蓋原理圖、PCB封裝、SDK及校準模板,大幅縮短開發周期。

功耗測試


在進行測試之前,先配置兩個開發板進入出廠的模式,一個進入標簽,一個進入基站。教程參考:教程

由于需要測量功耗,所以要使用外部供電,條件有限,這邊只有一個四位半的萬用表,因此供電選擇使用串口。

供電電源選擇的是串口,選擇電壓輸入的為5V,因為LDO也是有一點功耗的,這里測量的是開發板的整體功耗。(單獨買來模組也不會單獨的部署,所以測量整個開發板的功耗還是具有代表性)

基站

wKgZO2ikGs-AK3JlAACDTBY8M3E62.webpwKgZPGikGs-AbhDSAAECIJO-zAI20.webp

電壓為5.01V,開機后工作電流為81.55mA,整體功耗為:408.5655 mW,差不多就是0.4W(整個開發板的功耗,包括LED)。

標簽

wKgZO2ikGtCAEPECAAB-LlSeZ6o83.webpwKgZPGikGtCABZwdAACdZOQ2jBo89.webp

電壓為5.019V,開機后工作電流為54.03mA,整體功耗為:271.17657 mW,差不多就是0.27W(整個開發板的功耗,包括LED)。

由上可知BU03-Kit開發板的功耗其實是很低。

如果沒有LED功耗,應該可以控制在0.2瓦以下,同時標簽的功耗可以達到基站的一半。

測距配置

一個為基站,先發送AT+SETCFG=0,1,1,1 然后再發送AT+SAVE

一個為標簽,先發送AT+SETCFG=0,0,1,1 然后再發送AT+SAVE

成功后基站將會顯示其到標簽的距離:

wKgZO2ikGtGAHTa3AAAaXlPl95E12.webp

校準

wKgZPGikGtKAIZ-rAAAXZm_8x7M51.webp

校準方式采用的是線性擬合,相應的文件可以前往安信可文檔下載中心進行下載鏈接如下:

UWB系列模組專題 | 安信可科技

wKgZO2ikGtKAIZAQAAAQup_zsKo70.webp

方法也很簡單,先準備一把尺子,將顯示屏上顯示的距離和尺子上面的距離填到表格中對應的位置即可。數據多測量幾次,測量數據越多,屏幕上面顯示的實際距離將會越精確。

wKgZPGikGtOAKewRAAAjlNUx3io11.webp

類似于下圖,由于這里沒有米尺,這里就用直尺了,后面測試是利用瓷磚的距離,每測一次加一塊瓷磚測量。

wKgZO2ikGtOAfVHlAAAPgvdcojA55.webp

wKgZPGikGtSACcGoAAAe3FkohJQ41.webp


上面就是實際測得的數據a=0.9138,b=-244.61
通過下面的指令可以填入校正參數:

AT+SETDEV=X1,X2,X3,X4,X5,X6,X7,X8,X9

其中各個參數指代的含義如下:

X1: 標簽容量 (標簽刷新速率)
X2: 天線延遲參數
X3: 是否卡爾曼濾波使能位
X4: 卡爾曼濾波參數 Q
X5: 卡爾曼濾波參數 R
X6: 校正參數 a
X7: 校正參數 b
X8: 是否定位使能位
X9: 定位維度設置

這里只需發送

AT+SETDEV=5,16336,1, 0.018,0.642,0.9198,-244.61,0,0

wKgZO2ikGtSAFOurAAAX0n8ny_040.webp

復測20厘米實際測量值為256毫米,相較于沒有標定之前的數據來說,精度得到了大大的提高。

使用SDK按鍵喚醒模組

通知公告SDK下載


下載方法可以看下面的鏈接:鏈接

由于之前有Ai-M61系列模組和Ai-WB2系列模組搭建環境的經驗,想必已經有很多人在電腦上面裝了git了吧,只需要在一個空的文件夾里面點擊右鍵后點擊下圖位置:

wKgZPGikGtWAFYy0AAAM8OkO9Mg26.webp

輸入這個:git clone

https://gitee.com/Ai-Thinker-Open/STM32F103-BU0x_SDK.git 回車即可。

wKgZO2ikGtWAd5rXAAAdXPdYj8U14.webp

等待大概10秒鐘左右即可。
建議下載完之后復制一個,因為這次測試中一個要接收,一個要發送。

激活例程


建議觀看這個教程:教程,教程建議直接觀看tx_simple_sleep和simple_rx。

修改例程

對tx_simple_sleep程序修改。

wKgZO2ikGteADJH6AAA9uMzn_Qo87.webp

函數路徑如上圖,在這里直接翻到最下面上面的全是初始化函數,無需修改。

  /* Loop forever sending frames periodically. */
    while(1)
    {
        /* 寫入待發送數據到DW3000準備發送. (Write frame data to DW IC and prepare transmission. See NOTE 3 below.) */
        dwt_writetxdata(FRAME_LENGTH-FCS_LEN, tx_msg, 0); /* Zero offset in TX buffer. */
        /* 設置發送數據長度 (In this example since the length of the transmitted frame does not change,
         * nor the other parameters of the dwt_writetxfctrl function, the
         * dwt_writetxfctrl call could be outside the main while(1) loop.)
         */
        dwt_writetxfctrl(FRAME_LENGTH, 0, 0); /* Zero offset in TX buffer, no ranging. */
        /* 立即發送. (Start transmission.) */
        dwt_starttx(DWT_START_TX_IMMEDIATE);
        /* 查詢DW3000是否發送成功. (Poll DW IC until TX frame sent event set. See NOTE 4 below.
         * STATUS register is 4 bytes long but, as the event we are looking at is in the first byte of the register, we can use this simplest API
         * function to access it.) */
        while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS_BIT_MASK))
        { };
        /* 清除發送事件. (Clear TX frame sent event.) */
        dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS_BIT_MASK);
        _dbg_printf((unsigned char *)"發送成功n");
        /* 休眠TX_DELAY_MS. (Execute a delay between transmissions.) */
        Sleep(TX_DELAY_MS);
        /* 標志位Seq++處理. (Increment the blink frame sequence number (modulo 256).) */
        tx_msg[BLINK_FRAME_SN_IDX]++;
    }

在這里,可以直接看到進入休眠模式使用這個函數。

dwt_entersleep(DWT_DW_IDLE)。需要使用按鍵來進行控制的話只需在這里初始化一個I/O口。

void tx_timed_sleep_GPIO_INIT()
{
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
        GPIO_InitTypeDef GPIO_Init_structure;
        GPIO_Init_structure.GPIO_Mode=GPIO_Mode_IPU;
        GPIO_Init_structure.GPIO_Pin=GPIO_Pin_8;
        GPIO_Init_structure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_Init_structure);
}
/**
* Application entry point.
*/
int tx_timed_sleep(void)
{
    uint16_t lp_osc_freq, sleep_cnt;
                tx_timed_sleep_GPIO_INIT();
    /* 串口輸出應用名稱. Display application name on LCD. */
    _dbg_printf((unsigned char *)APP_NAME);
    /* 配置SPI快速率. Configure SPI rate, DW3000 supports up to 38 MHz */
    port_set_dw_ic_spi_fastrate();
    /* 硬復位DW3000模塊. Reset DW IC */
    reset_DWIC(); /* Target specific drive of RSTn line into DW IC low for a period. */
    Sleep(2); // Time needed for DW3000 to start up (transition from INIT_RC to IDLE_RC)
    /* 檢查DW3000模塊是否處于IDLE_RC */
    while (!dwt_checkidlerc()) /* Need to make sure DW IC is in IDLE_RC before proceeding */
    { };
    /* 初始化DW3000模塊 */
    if (dwt_initialise(DWT_DW_INIT) == DWT_ERROR)
    {
        _dbg_printf((unsigned char *)"INIT FAILED     ");
        while (1)
        { };
    }
    /* 清除SPI就緒中斷. Clearing the SPI ready interrupt*/
    dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_RCINIT_BIT_MASK | SYS_STATUS_SPIRDY_BIT_MASK);
    /* 配置DW3000中斷函數. Install DW IC IRQ handler. NOTE: the IRQ line must have a PULLDOWN or else it may trigger incorrectly when the device is sleeping*/
//    port_set_dwic_isr(dwt_isr);
    /* 校準和配置UWB計數. Calibrate and configure sleep count. */
    lp_osc_freq = XTAL_FREQ_HZ / dwt_calibratesleepcnt();
    sleep_cnt = ((SLEEP_TIME_MS * ((uint32_t) lp_osc_freq)) / 1000) >> 12;
    //sleep_cnt = 0x06; // 1 step is ~ 175ms, 6 ~= 1s
    dwt_configuresleepcnt(sleep_cnt);
    /* 配置DW3000信道參數. Configure DW IC. See NOTE 6 below. */
    if(dwt_configure(&config)) /* if the dwt_configure returns DWT_ERROR either the PLL or RX calibration has failed the host should reset the device */
    {
        _dbg_printf((unsigned char *)"CONFIG FAILED     ");
        while (1)
        { };
    }
    /* 配置DW3000發送頻譜參數. Configure the TX spectrum parameters (power, PG delay and PG count) */
    dwt_configuretxrf(&txconfig_options);
    /* 配置DW3000發送頻譜參數. Configure sleep and wake-up parameters. */
    dwt_configuresleep(DWT_CONFIG, DWT_PRES_SLEEP | DWT_WAKE_CSN | DWT_SLEEP | DWT_SLP_EN);
    /* 注冊中斷回調函數. Register the call-backs (only SPI ready callback is used). */
    dwt_setcallbacks(NULL, NULL, NULL, NULL, NULL, &spi_ready_cb);
    port_EnableEXT_IRQ();
    _dbg_printf("配置成功n");
    /* Loop forever sending frames periodically. */
    while (1)
    {
        /* DW3000進入休眠模式,喚醒后進入IDLE. Put DW IC to sleep. Go to IDLE state after wakeup*/
        dwt_entersleep(DWT_DW_IDLE);
        sleeping = 1;
        /* In this example, there is nothing to do to wake the DW IC up as it is handled by the sleep timer. */
        while (sleeping)
        {Sleep(1);}; /* Wait for device to wake up */
        /* 增加延時.必要*/
        Sleep(5);
                                if(KEY==0)
                                {
        _dbg_printf((unsigned char *)"喚醒成功:%04xn", dwt_readdevid());
        /* 喚醒時恢復所有配置. Restore the required configurations on wake */
        dwt_restoreconfig();
        /* Increment the blink frame sequence number (modulo 256). */
        tx_msg[BLINK_FRAME_SN_IDX]++;
                                        /* 寫入待發送數據到DW3000準備發送,并設置發送長度. Write frame data to DW IC and prepare transmission. See NOTE 4 below. */
        dwt_writetxdata(sizeof(tx_msg), tx_msg, 0); /* Zero offset in TX buffer. */
        dwt_writetxfctrl(sizeof(tx_msg), 0, 0); /* Zero offset in TX buffer, no ranging. */
        /* 立即發送. Start transmission. */
        dwt_starttx(DWT_START_TX_IMMEDIATE);
        /* 查詢DW3000是否發送成功. It is not possible to access DW IC registers once it has sent the frame and gone to sleep, and therefore we do not try to poll for TX
         * frame sent, but instead simply wait sufficient time for the DW IC to wake up again before we loop back to send another frame.
         * If interrupts are enabled, (e.g. if MTXFRS bit is set in the SYS_MASK register) then the TXFRS event will cause an active interrupt and
         * prevent the DW IC from sleeping. */
        /* Poll DW IC until TX frame sent event set. See NOTE 7 below.
         * STATUS register is 4 bytes long but, as the event we are looking at is in the first byte of the register, we can use this simplest API
         * function to access it.*/
        while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS_BIT_MASK))
        {};
        /* 清除發送完成事件. Clear TX frame sent event. */
        dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_TXFRS_BIT_MASK);
                                }
    }
}

實驗現象

將pb9直接接地時:

wKgZPGikGteAGxMrAABKpmIwSW054.webp

將pb9不接地時(接收端和發送端無輸出):

wKgZO2ikGtiAcfHvAABEAO-KZdM26.webp

最后,歡迎大家來安信可論壇,筆者發布的原貼下一起交流討論:

原貼地址

【BU03-Kit 測評】UWB 測距初體驗--兩點測距+校準

【BU03-Kit 測評】UWB KIT出廠固件功耗測試

【BU03-Kit 測評】UWB 使用SDK按鍵喚醒


審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UWB
    UWB
    +關注

    關注

    33

    文章

    1274

    瀏覽量

    65157
  • 功耗測試
    +關注

    關注

    0

    文章

    20

    瀏覽量

    9790
  • 室內定位
    +關注

    關注

    30

    文章

    320

    瀏覽量

    37725
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    DW3000方案如何構建UWB高精度室內定位系統

    本文系統介紹了基于 Qorvo DW3000 的 UWB 室內高精度定位方案,從需求分析、TWR 測距方法選擇、硬件與工具鏈準備,到錨部署
    的頭像 發表于 12-23 11:42 ?554次閱讀
    DW3000方案如何構建<b class='flag-5'>UWB</b>高精度<b class='flag-5'>室內定位</b>系統

    室內定位】倉庫管理可以有多智能?UWB模組高精度定位

    UWB 模組(BU 系列),倉庫可以真正實現—— 托盤可視化、AGV 精準調度、人員安全協同、貨位全流程監控 。 倉庫為什么必須要 UWB?(痛很真實) 倉儲現場變量太多:托盤堆高
    的頭像 發表于 12-03 09:56 ?405次閱讀
    【<b class='flag-5'>室內定位</b>】倉庫管理可以有多智能?<b class='flag-5'>UWB</b><b class='flag-5'>模組</b>高精度<b class='flag-5'>定位</b>

    功耗BLE+iBeacon:打造室內定位與近場通信應用!

    基于BLE的iBeacon技術,以低功耗、易部署的優勢,成為室內定位與近場通信的首選方案之一。本文將介紹iBeacon的基礎架構與工作流程,重點圍繞室內定位與近場信息推送大典型應用,
    的頭像 發表于 11-28 14:30 ?423次閱讀
    低<b class='flag-5'>功耗</b>BLE+iBeacon:打造<b class='flag-5'>室內定位</b>與近場通信應用!

    新一代UWB通信模塊UWB650Pro對比UWB650的區別

    UWB650Pro 是思為無線推出的新一代高性能 UWB 無線通信模塊,相比 UWB650,具備更低功耗、更小體積和優化引腳設計,支持 Mesh 自組網、高精度
    的頭像 發表于 11-25 17:52 ?2869次閱讀
    新一代<b class='flag-5'>UWB</b>通信模塊<b class='flag-5'>UWB</b>650Pro對比<b class='flag-5'>UWB</b>650的區別

    藍牙室內定位核心技術解析:RSSI 與 AOA 的測距原理對比與精度升級邏輯

    本文解析藍牙室內定位核心技術,對比RSSI與AOA的測距原理,深入探討從RSSI到AOA在精度、誤差控制和硬件適配方面的升級邏輯,揭示者如何互補滿足不同場景需求。
    的頭像 發表于 11-24 17:47 ?1460次閱讀

    常見的室內定位技術有哪些?深度剖析UWB、藍牙定位等技術的優劣與應用場景

    本文解析UWB、藍牙BLE、Wi-Fi三大室內定位技術的原理、優缺點及應用場景,涵蓋高精度定位、低功耗部署與成本考量,助力選擇最優方案。
    的頭像 發表于 11-17 16:45 ?2006次閱讀
    常見的<b class='flag-5'>室內定位</b>技術有哪些?深度剖析<b class='flag-5'>UWB</b>、藍牙<b class='flag-5'>定位</b>等技術的優劣與應用場景

    面對UWB室內定位可靠性需求,網絡協同能力是關鍵

    UWB室內定位區別于消費電子應用,面向工業、醫療、消防等高精度場景,強調厘米級定位、毫秒級延遲與強抗干擾性能。通過結合Mesh自組網技術,UWB實現多節點協作、穩定通信與大范圍覆蓋,滿
    的頭像 發表于 11-11 10:26 ?710次閱讀
    面對<b class='flag-5'>UWB</b><b class='flag-5'>室內定位</b>可靠性需求,網絡協同能力是關鍵

    室內定位UWB模組】工廠人員和設備“秒定位”,高精度、高安全!

    到達時間差(Time of Flight, ToF)實現精準測距。 相比藍牙、Wi-Fi等定位方式,UWB不依賴RSSI信號強度估算,而是直接基于時間測量,因而抗干擾能力強、精度更高、穩定性更好。 安信可
    的頭像 發表于 09-30 15:22 ?676次閱讀
    【<b class='flag-5'>室內定位</b><b class='flag-5'>UWB</b><b class='flag-5'>模組</b>】工廠人員和設備“秒<b class='flag-5'>定位</b>”,高精度、高安全!

    UWB3000F00-X1室內定位測距模塊規格書

    UWB3000F00-X1室內定位測距模塊規格書
    發表于 07-25 16:30 ?1次下載

    UWB - TDOA方案定位技術

    。 5、司法監獄:在監獄中,通過UWB定位系統,將定位標簽集成至犯人定位腕帶中,能夠對服刑犯人進行實時監控,有效防止越獄、襲警等事件發生。 6、
    發表于 07-14 17:32

    UWB 定位測距

    指示、可通過撥碼開關設置參數,包括標簽還是基站的判別,地址的確定等。 應用場景 :室內定位、資產追蹤、智能倉儲等。 2、實物照 實物圖片UWB測距定位,
    發表于 05-12 09:36

    精準到厘米!安信可UWB定位模組,讓室內管理更“聰明”

    模組 ,憑借其高精度、低功耗、易集成的優勢,已經成功應用于智慧倉儲、醫療管理、工業生產、智能辦公等多個領域。 厘米級定位精度 :可支持雙向測距(TWR)和到達時間差(TDoA)
    的頭像 發表于 04-18 16:36 ?1102次閱讀
    精準到厘米!安信可<b class='flag-5'>UWB</b><b class='flag-5'>定位</b><b class='flag-5'>模組</b>,讓<b class='flag-5'>室內</b>管理更“聰明”

    室內定位UWB系列模組,精度達到厘米級

    手機導航、無人駕駛汽車、智能家居,還是工業自動化等領域,定位技術變得不可或缺。然而,傳統的定位技術往往受到環境、信號干擾等因素的影響,導致定位精度不高。 “UWB” 模塊的出現,為解決
    的頭像 發表于 03-26 15:07 ?1056次閱讀
    <b class='flag-5'>室內定位</b><b class='flag-5'>UWB</b>系列<b class='flag-5'>模組</b>,精度達到厘米級

    低成本、高精度:巍泰技術UWB信標定位系統,為室內定位降本增效

    目前,市場上主流的室內定位技術包括藍牙信標、Wi-Fi定位、RFID、超聲波定位以及UWB(超寬帶)定位等。這些技術在精度、覆蓋范圍、部署成
    的頭像 發表于 03-07 15:58 ?1359次閱讀
    低成本、高精度:巍泰技術<b class='flag-5'>UWB</b>信標<b class='flag-5'>定位</b>系統,為<b class='flag-5'>室內定位</b>降本增效