51uwb.cn

标题: 1标签多基站遇到的问题 [打印本页]

作者: lzp    时间: 2023-4-26 16:35
标题: 1标签多基站遇到的问题
使用BP50 套件新框架定位代码想实现实时选取最近三个基站实现定位,手头上有6个基站修改最大基站数量为6 (, 下载次数: 735)
修改标签地址为0x0011

(, 下载次数: 777)


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


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

作者: 蓝点无限    时间: 2023-4-26 23:15
是标签不能够和基站6完成测距,还是标签不能通过基站0 将数据送给电脑?

可以在基站6 的串口加一些打印,如果测距成功,在基站上把距离信息打出来

作者: lzp    时间: 2023-4-27 09:17
单独只接一个 标签 和一个 基站6 也完成不了测距
作者: lzp    时间: 2023-4-27 09:18
蓝点无限 发表于 2023-4-26 23:15
是标签不能够和基站6完成测距,还是标签不能通过基站0 将数据送给电脑?

可以在基站6 的串口加一些打印 ...

单独只接一个 标签 和一个 基站6 也完成不了测距
作者: 蓝点无限    时间: 2023-4-27 22:15
lzp 发表于 2023-4-27 09:18
单独只接一个 标签 和一个 基站6 也完成不了测距

我们简单测试了一下是可以的。
提供一下代码链接,以及详细的修改。最好可以录制一个操作视频
作者: lzp    时间: 2023-5-4 10:50
链接:https://pan.baidu.com/s/1XgO-knD7MTWbSMSFxXX1hg?pwd=t829
提取码:t829

修改的地方如下
1.基站数量,修改为6
(, 下载次数: 748)
2.基站与标签地址,标签地址修改为0x0011,基站地址依次为0x0001到0x0006
(, 下载次数: 718)
3.为了方便观察,将原来显示基站3信息的位置改为显示基站6信息
(, 下载次数: 729)

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

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


作者: 蓝点无限    时间: 2023-5-5 09:02
lzp 发表于 2023-5-4 10:50
链接:https://pan.baidu.com/s/1XgO-knD7MTWbSMSFxXX1hg?pwd=t829
提取码:t829

第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下
作者: lzp    时间: 2023-5-6 08:55
蓝点无限 发表于 2023-5-5 09:02
第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下

测试可行吗?
作者: 蓝点无限    时间: 2023-5-6 21:57
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};
复制代码




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

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

现在买了三套,按照本帖上述的修改,继续增加基站数量到10个,将基站地址加到0x0010 (, 下载次数: 185)
前面的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)的距离打印不出来,单独只连接他一个也不行
请问是什么原因?应该如何修改?

作者: lzp    时间: 2023-6-12 10:07
标题: 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)的距离打印不出来,单独只连接他一个也不行
请问是什么原因?应该如何修改?


作者: 蓝点无限    时间: 2023-6-13 22:33
lzp 发表于 2023-6-12 10:07
现在买了三套,按照本帖上述的修改,继续增加基站数量到10个,将基站地址加到0x0010
前面的9个基站都能 ...

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




欢迎光临 51uwb.cn (http://51uwb.cn/) Powered by Discuz! X3.3