51uwb.cn

 找回密码
 立即注册
查看: 8393|回复: 10
打印 上一主题 下一主题

UWB标签基站识别上,数据出现错误

[复制链接]

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
跳转到指定楼层
楼主
发表于 2019-8-26 16:41:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发UWB多基站对多标签项目上,发现一个bug,现在有俩个不同ID的标签连接一个基站,基站串口把测量数据打印出来,结果显示出俩个距离 ,但是我移动一个标签,基站发出的数据,却显示俩个标签距离都变化,是什么原因导致的呢?希望大师可以指点一下,谢谢!
回复

使用道具 举报

73

主题

249

帖子

7050

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7050
沙发
发表于 2019-8-26 21:49:11 | 只看该作者
你是基于什么开发的?蓝点的源码吗?方便的话贴出代码吧,这样说没人懂什么意思
回复

使用道具 举报

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
板凳
 楼主| 发表于 2019-8-27 15:00:16 | 只看该作者
tuzhuke 发表于 2019-8-26 21:49
你是基于什么开发的?蓝点的源码吗?方便的话贴出代码吧,这样说没人懂什么意思

您好!我基于stm32f103单片机开发,代码是移植的DW1000官方例程,对于上面出现的bug,我在标签与基站通信数据包,是这样定义的,目的将两标签的距离数据区别开,基站方面识别标签发来的数据包,进行相应距离的测算,但是上面的问题还是没有解决,其他代码与官方例程相似,只是main.c部分参数进行了修改,数据输出改为串口输出,还希望您看一下,对于多标签与多基站的通信,您是否遇到过类似问题呢?是如何解决的?非常感谢

  1. /* Frames used in the ranging process. See NOTE 2 below.2a¾à1y3ìÖDê1óÃμÄÖ¡ */
  2.         /*标签0*/
  3. //static uint8 tx_poll_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
  4. //static uint8 rx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0};
  5. //static ui        `nt8 tx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  6.         /*标签1*/
  7. static uint8 tx_poll_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'T', 'I', 'O', 'N', 0x22, 0, 0};
  8. static uint8 rx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'O', 'N', 'T', 'I', 0x10, 0x02, 0, 0, 0, 0};
  9. static uint8 tx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE,'T', 'I', 'O', 'N', 0x24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  10. /*基站数据包*/
  11. static uint8 rx_poll_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
  12. static uint8 tx_resp_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0};
  13. static uint8 rx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

  14. static uint8 rx_poll_msg2[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'T', 'I', 'O', 'N', 0x22, 0, 0};
  15. static uint8 tx_resp_msg2[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'O', 'N', 'T', 'I', 0x10, 0x02, 0, 0, 0, 0};
  16. static uint8 rx_final_msg2[] = {0x41, 0x88, 0, 0xCA, 0xDE,'T', 'I', 'O', 'N', 0x24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
复制代码

回复

使用道具 举报

73

主题

249

帖子

7050

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7050
地板
发表于 2019-8-27 17:55:52 | 只看该作者
qingtengshu 发表于 2019-8-27 15:00
您好!我基于stm32f103单片机开发,代码是移植的DW1000官方例程,对于上面出现的bug,我在标签与基站通信 ...

你两个标签一个基站,保持不动,测距正常吗?

我觉得内部乱掉了,基站 标签之间的数据相互干扰。

比如标签1给基站发送的数据,标签2也收到了,标签2 就会退出接收模式。

多基站多标签需要考虑相互干扰问题
回复

使用道具 举报

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
5#
 楼主| 发表于 2019-8-28 17:30:53 | 只看该作者
首先非常感谢您的回帖,我测试了一下,当二标签对一基站时,保持不动,测距也不正常,只有一对一的时候,测距才会正常,估计确实是数据相互干扰了,您那边的程序考虑到相互干扰的情况了吗?是如何解决的呢,能给我一个方向性的指点吗?谢谢!
回复

使用道具 举报

73

主题

249

帖子

7050

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7050
6#
发表于 2019-8-28 20:30:20 | 只看该作者
qingtengshu 发表于 2019-8-28 17:30
首先非常感谢您的回帖,我测试了一下,当二标签对一基站时,保持不动,测距也不正常,只有一对一的时候,测 ...

分时复用,可以参考我们的代码,我们完整资料论坛有,你可以找下
回复

使用道具 举报

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
7#
 楼主| 发表于 2019-8-29 17:31:48 | 只看该作者
tuzhuke 发表于 2019-8-28 20:30
分时复用,可以参考我们的代码,我们完整资料论坛有,你可以找下

BPhero-UWB 资料免费公开了,欢迎交流讨论
http://bphero.com.cn/forum.php?m ... 104&fromuid=261
(出处: bphero)
您好!请问你们的代码,是这个main.c文件吗?(下面是main.c的部分代码)

  1. /* Frames used in the ranging process. See NOTE 2 below. */
  2. static uint8 rx_poll_msg[] =  {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
  3. static uint8 tx_resp_msg[] =  {0x41, 0x88, 0, 0x0, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0};
  4. static uint8 rx_final_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

  5. static uint8 distance_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xAA, 0, 0,0, 0, 0};

  6. static uint8 tx_poll_msg[] =  {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
  7. static uint8 rx_resp_msg[] =  {0x41, 0x88, 0, 0x0, 0xDE, 'V', 'E', 'W', 'A', 0x10, 0x02, 0, 0, 0, 0};
  8. static uint8 tx_final_msg[] = {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

  9. static uint8 angle_msg[] =    {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xFE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
  10. static uint8 Semaphore_Release[] =    {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xE0, 0, 0, 0};
  11. static uint8 Tag_Statistics[] =                      {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xE1, 0, 0, 0};
  12. static uint8 Master_Release_Semaphore[] =            {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xE2, 0, 0, 0};
  13. static uint8 Tag_Statistics_response[] =             {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xE3, 0, 0, 0};
  14. static uint8 Master_Release_Semaphore_comfirm[] =    {0x41, 0x88, 0, 0x0, 0xDE, 'W', 'A', 'V', 'E', 0xE4, 0, 0, 0};
复制代码
回复

使用道具 举报

73

主题

249

帖子

7050

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7050
8#
发表于 2019-8-29 21:42:16 | 只看该作者
qingtengshu 发表于 2019-8-29 17:31
BPhero-UWB 资料免费公开了,欢迎交流讨论
http://bphero.com.cn/forum.php?mod=viewthread&tid=104&fro ...

是的,并不是所有上述信息在测距定位过程中都用到了
回复

使用道具 举报

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
9#
 楼主| 发表于 2019-8-30 09:05:58 | 只看该作者
tuzhuke 发表于 2019-8-29 21:42
是的,并不是所有上述信息在测距定位过程中都用到了

非常感谢!!!
回复

使用道具 举报

5

主题

10

帖子

342

积分

中级会员

Rank: 3Rank: 3

积分
342
10#
 楼主| 发表于 2019-9-4 16:05:24 | 只看该作者
tuzhuke 发表于 2019-8-29 21:42
是的,并不是所有上述信息在测距定位过程中都用到了

您好!我现在想要实现3基站对3标签的功能,(每个基站都获取三个标签的距离,然后总单片机接收三个基站的数据,再进行下一步处理),我用stm32f103单片机,一开始移植官方1对1的代码,结果有bug,听取您的意见,是多基站和多标签相互影响造成的,现在我有你们的俩个代码,一是BPhero-UWB免费资料里的测距定位源码,还有基础知识里的多标签代码,我想参考或者修改一下,看能不能实现我需要的功能,您看我可以去参考哪个代码呢?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

bphero Inc.  

GMT+8, 2024-11-1 10:22 , Processed in 0.015699 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表