51uwb.cn

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

1标签多基站遇到的问题

[复制链接]

8

主题

29

帖子

72

积分

注册会员

Rank: 2

积分
72
跳转到指定楼层
楼主
发表于 2023-4-26 16:35:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
使用BP50 套件新框架定位代码想实现实时选取最近三个基站实现定位,手头上有6个基站修改最大基站数量为6
修改标签地址为0x0011




修改基站地址依次为0x0001、0x0002、0x0003、0x0004、0x0005、0x0006
基站与标签地址保证了没有重叠


5个基站时能与标签能够实现正常功能,基站0也可以与上位机正常传输数据
但是6个基站就不行了,请问是什么原因
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
13#
发表于 2023-6-13 22:33:59 | 只看该作者
lzp 发表于 2023-6-12 10:07
现在买了三套,按照本帖上述的修改,继续增加基站数量到10个,将基站地址加到0x0010
前面的9个基站都能 ...

第十个,地址应该是0x000A
但是为何0x0010 不行,我们看看是否能复现你的问题
回复

使用道具 举报

8

主题

29

帖子

72

积分

注册会员

Rank: 2

积分
72
12#
 楼主| 发表于 2023-6-12 10:07:40 | 只看该作者

BP50多标签多基站

蓝点无限 发表于 2023-5-6 22:04
这个测试是基于目前BP30 的代码,滤波器改为kalman 滤波,所以没有遇到问题

现在买了三套,按照本帖上述的修改,继续增加基站数量到10个,将基站地址加到0x0010
前面的9个基站都能在串口正常打印出距离信息,对应的地址依次为0x0001~0x0009,串口打印出的信息如下:
6D 72 02 11 90 01 4C 00 FA 00 1D 01 ED 00 BA 00 A0 00 A4 00 54 00 75 00 FF FF
第10个基站(0x0010)的距离打印不出来,单独只连接他一个也不行
请问是什么原因?应该如何修改?

回复

使用道具 举报

8

主题

29

帖子

72

积分

注册会员

Rank: 2

积分
72
11#
 楼主| 发表于 2023-6-9 16:24:38 | 只看该作者
蓝点无限 发表于 2023-5-6 22:04
这个测试是基于目前BP30 的代码,滤波器改为kalman 滤波,所以没有遇到问题

现在买了三套,按照本帖上述的修改,继续增加基站数量到10个,将基站地址加到0x0010
前面的9个基站都能在串口正常打印出距离信息,对应的地址依次为0x0001~0x0009,串口打印出的信息如下:
6D 72 02 11 90 01 4C 00 FA 00 1D 01 ED 00 BA 00 A0 00 A4 00 54 00 75 00 FF FF
第10个基站(0x0010)的距离打印不出来,单独只连接他一个也不行
请问是什么原因?应该如何修改?
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
10#
发表于 2023-5-6 22:04:56 | 只看该作者
蓝点无限 发表于 2023-4-27 22:15
我们简单测试了一下是可以的。
提供一下代码链接,以及详细的修改。最好可以录制一个操作视频

这个测试是基于目前BP30 的代码,滤波器改为kalman 滤波,所以没有遇到问题
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
9#
发表于 2023-5-6 21:57:50 | 只看该作者
lzp 发表于 2023-5-6 08:55
测试可行吗?

问题找到了,因为这套代码中使用了均值滤波器,滤波器全局变量定义最大数目为5,所以超过5会有问题。修改方法,1.去掉均值滤波器,2 均值滤波器的Filter_N 改成与基站个数一样。
  1. Final_Distance[(msg_f_send.destAddr[1]<<8)|msg_f_send.destAddr[0] - 1] = filter(Final_Distance[(msg_f_send.destAddr[1]<<8)|msg_f_send.destAddr[0] - 1],\
  2.                             (msg_f_send.destAddr[1]<<8)|msg_f_send.destAddr[0] - 1);
复制代码
  1. #define Filter_N 5  //max filter use in this system
  2. #define Filter_D 5  //each filter contain "Filter_D" data
  3. int Value_Buf[Filter_N][Filter_D]= {0};
  4. int filter_index[Filter_N] = {0};
复制代码



回复

使用道具 举报

8

主题

29

帖子

72

积分

注册会员

Rank: 2

积分
72
8#
 楼主| 发表于 2023-5-6 08:55:36 | 只看该作者
蓝点无限 发表于 2023-5-5 09:02
第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下

测试可行吗?
回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
7#
发表于 2023-5-5 09:02:28 | 只看该作者
lzp 发表于 2023-5-4 10:50
链接:https://pan.baidu.com/s/1XgO-knD7MTWbSMSFxXX1hg?pwd=t829
提取码:t829

第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下
回复

使用道具 举报

8

主题

29

帖子

72

积分

注册会员

Rank: 2

积分
72
6#
 楼主| 发表于 2023-5-4 10:50:18 | 只看该作者
链接:https://pan.baidu.com/s/1XgO-knD7MTWbSMSFxXX1hg?pwd=t829
提取码:t829

修改的地方如下
1.基站数量,修改为6

2.基站与标签地址,标签地址修改为0x0011,基站地址依次为0x0001到0x0006

3.为了方便观察,将原来显示基站3信息的位置改为显示基站6信息


问题:
从开始的3个基站逐个增加到5个基站时,都能正常工作,串口可以接收到距离信息,标签屏幕上也可以打印出来距离,增加到基站6的时候,基站6的距离不显示而且会导致标签显示卡死,基站1和基站2的距离也无法正常接收,串口也接收不到信息,单独只接一个基站6和一个标签时也接收不到信息

下载的代码来自于http://51uwb.cn/forum.php?mod=vi ... &extra=page%3D1
是不是其中的一些警告引起的这个原因

回复

使用道具 举报

35

主题

1053

帖子

4531

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4531
5#
发表于 2023-4-27 22:15:55 | 只看该作者
lzp 发表于 2023-4-27 09:18
单独只接一个 标签 和一个 基站6 也完成不了测距

我们简单测试了一下是可以的。
提供一下代码链接,以及详细的修改。最好可以录制一个操作视频
回复

使用道具 举报

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

本版积分规则

bphero Inc.  

GMT+8, 2024-11-22 21:42 , Processed in 0.018354 second(s), 7 queries , File On.

Powered by Discuz! X3.3

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

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