1标签多基站遇到的问题
使用BP50 套件新框架定位代码想实现实时选取最近三个基站实现定位,手头上有6个基站修改最大基站数量为6修改标签地址为0x0011
修改基站地址依次为0x0001、0x0002、0x0003、0x0004、0x0005、0x0006
基站与标签地址保证了没有重叠
5个基站时能与标签能够实现正常功能,基站0也可以与上位机正常传输数据
但是6个基站就不行了,请问是什么原因
是标签不能够和基站6完成测距,还是标签不能通过基站0 将数据送给电脑?
可以在基站6 的串口加一些打印,如果测距成功,在基站上把距离信息打出来
单独只接一个 标签 和一个 基站6 也完成不了测距 蓝点无限 发表于 2023-4-26 23:15
是标签不能够和基站6完成测距,还是标签不能通过基站0 将数据送给电脑?
可以在基站6 的串口加一些打印 ...
单独只接一个 标签 和一个 基站6 也完成不了测距 lzp 发表于 2023-4-27 09:18
单独只接一个 标签 和一个 基站6 也完成不了测距
我们简单测试了一下是可以的。
提供一下代码链接,以及详细的修改。最好可以录制一个操作视频 链接: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=viewthread&tid=295&extra=page%3D1
是不是其中的一些警告引起的这个原因
lzp 发表于 2023-5-4 10:50
链接:https://pan.baidu.com/s/1XgO-knD7MTWbSMSFxXX1hg?pwd=t829
提取码:t829
第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下 蓝点无限 发表于 2023-5-5 09:02
第三个,液晶显示不要修改。
在基站代码rx_main.c,测距完成增加打印试试。
你的代码,我晚点测试下
测试可行吗? lzp 发表于 2023-5-6 08:55
测试可行吗?
问题找到了,因为这套代码中使用了均值滤波器,滤波器全局变量定义最大数目为5,所以超过5会有问题。修改方法,1.去掉均值滤波器,2 均值滤波器的Filter_N 改成与基站个数一样。
Final_Distance[(msg_f_send.destAddr<<8)|msg_f_send.destAddr - 1] = filter(Final_Distance[(msg_f_send.destAddr<<8)|msg_f_send.destAddr - 1],\
(msg_f_send.destAddr<<8)|msg_f_send.destAddr - 1);#define Filter_N 5//max filter use in this system
#define Filter_D 5//each filter contain "Filter_D" data
int Value_Buf= {0};
int filter_index = {0};
蓝点无限 发表于 2023-4-27 22:15
我们简单测试了一下是可以的。
提供一下代码链接,以及详细的修改。最好可以录制一个操作视频
这个测试是基于目前BP30 的代码,滤波器改为kalman 滤波,所以没有遇到问题:)
页:
[1]
2