51uwb.cn

标题: BPhero-UWB 跟踪原理代码实现分析 [打印本页]

作者: wangyiguochao    时间: 2019-8-25 16:42
标题: BPhero-UWB 跟踪原理代码实现分析
您好,这边看了您关于跟踪原理的分析,有一些问题,还请麻烦您解答一下.我这边的思路就是将基站0的TX与主控芯片STM32F103C8T6的RX连接通信,
目的是将两个基站到标签的距离反馈给主控芯片,主控芯片获取到数据之后,
然后再处理数据,将处理的结果进行判断,然后给某些引脚高低电平就好了.
目前存在的问题是:
1.基站0如何与主控芯片STM32F103C8T6通信,即将数据传给主控芯片
2.在判断的时候,我是设置某些引脚的高低电平,但是不知道当前哪些引脚已经被占用了,会不会有冲突.

作者: tuzhuke    时间: 2019-8-26 21:46
1 通过串口,uwb模块串口tx 和你小车主控的rx
2 串口发送四个字符,你小车主控接收这4个字符,根据字符定义控制小车即可。
作者: tuzhuke    时间: 2019-8-26 21:48
tuzhuke 发表于 2019-8-26 21:46
1 通过串口,uwb模块串口tx 和你小车主控的rx
2 串口发送四个字符,你小车主控接收这4个字符,根据字符定 ...

这个链接附件为小车原理说明,请参考
作者: wangyiguochao    时间: 2019-8-27 22:04
你好,你那个跟踪小车用的是什么主控芯片呀?或者说你写的那个BPHero_UWB_Location_SourceCode_V1.1_16MHz代码是用的什么芯片呀?
作者: wangyiguochao    时间: 2019-8-27 22:08
if(dis1 > 0.3)
    {
        if(angle > 110)
        {
            printf("turn right\r\n");
            GPIO_SetBits(GPIOA,GPIO_Pin_5);
        }
        else if(angle < 75)
        {
            printf("turn left\r\n");
            GPIO_SetBits(GPIOA,GPIO_Pin_7);
        }
        else
        {
            printf("forward\r\n");
            GPIO_SetBits(GPIOB,GPIO_Pin_6);
        }
    }
    else
    {
                                        printf("stay here\r\n");
                                        GPIO_SetBits(GPIOB,GPIO_Pin_7);
我就把判断这里改了,设置某个引脚高低电平
但是用万用表检测不到信号
作者: tuzhuke    时间: 2019-8-28 08:55
wangyiguochao 发表于 2019-8-27 22:08
if(dis1 > 0.3)
    {
        if(angle > 110)

1 串口目前能够正确打印出信息吗? 比如turn right之类
2 使用GPIO前需要对gpio 初始化
3 最重要一点,GPIO 5.6.7 这个板子上已经使用,用来连接dwm1000模组,你量测的是那个io?
4 跟踪小车是使用uwb 串口与小车主控通信,而不是通过检测uwb模块上io电平
作者: wangyiguochao    时间: 2019-8-28 12:35
目前主控制芯片和电脑连接后,串口显示乱码,如下:

[12:33:26.016]收←◆mr0刓0橽0\0\0刓0

[12:33:26.688]收←◆mr3刓0橽0\0\0刓0

[12:33:27.358]收←◆mr6刓0橽0\0\0刓0

[12:33:28.029]收←◆mr9俓0沑0\0\0俓0

[12:33:28.695]收←◆mr<俓0沑0\0\0俓0

[12:33:29.372]收←◆mr?俓0歕0\0\0俓0

[12:33:30.031]收←◆mrB僜0歕0\0\0僜0

[12:33:30.717]收←◆mrE刓0歕0\0\0刓0

[12:33:31.369]收←◆mrH刓0沑0\0\0刓0

[12:33:32.044]收←◆mrK哱0瀄0\0\0哱0

[12:33:32.709]收←◆mrN哱0燶0\0\0哱0

[12:33:33.386]收←◆mrQ匼0燶0\0\0匼0

[12:33:34.048]收←◆mrT哱0漒0\0\0哱0

[12:33:34.711]收←◆mrW圽0榎0\0\0圽0

[12:33:35.385]收←◆mrZ嘰0沑0\0\0嘰0

[12:33:36.051]收←◆mr]哱0淺0\0\0哱0

[12:33:36.726]收←◆mr`匼0漒0\0\0匼0

[12:33:37.390]收←◆mrc匼0漒0\0\0匼0

[12:33:38.069]收←◆mrf匼0淺0\0\0匼0

[12:33:38.733]收←◆mri匼0淺0\0\0匼0

[12:33:39.402]收←◆mrl刓0淺0\0\0刓0

作者: wangyiguochao    时间: 2019-8-28 12:39
使用GPIO前需要对gpio 初始化
步骤是先使能时钟,设置GPIO参数,调用初始化函数.还是直接调用初始化函数就行了啊?
作者: wangyiguochao    时间: 2019-8-28 12:40
我测试的是主控芯片的IO端口,不是基站,也不是标签上的.
作者: wangyiguochao    时间: 2019-8-28 13:32
管理你好,我这边的思路是用单片机接受数据处理数据,然后获得一个结果,在判断里面,通过不同的结果,比如右转,左转等,然后给引脚设置高低电平.后期是将这种高低电平信号通过一定的转换,转换成PLC识别的信号,然后通过PLC控制电机,因为我这边用的是伺服电机,比较复杂点,这个是我后期的工作,目前要做的就是在处理数据后有一个结果,想通过引脚的高低电平来体现出来,就是这样.目前我用的主控制芯片是正点原子的STM32F103RCT6开发板,这边有硬件图的,我截了一下,不知道您当时写代码的时候用的是什么单片机,我用STM32F103RCT6开发板会不会有冲突,要不要改配置文件什么的.所以呢,就是希望您在判断的后面加上一句设置引脚的高电平,你看STM32F103RCT6开发板的原理图,设置一下.就是这样.谢谢您了!

作者: wangyiguochao    时间: 2019-8-28 13:37
这边基站0与主控芯片的通信就是将基站0的GND与主控芯片的GND相连接,基站0的TX与主控芯片的RX连接,没有其他的连线.
作者: tuzhuke    时间: 2019-8-28 20:31
wangyiguochao 发表于 2019-8-28 12:35
目前主控制芯片和电脑连接后,串口显示乱码,如下:

[12:33:26.016]收←◆mr 0 刓0橽0\0\0刓0

这个是测距定位模式串口输出, 跟踪小车需要修改代码,里面有个if判断,串口一次只输出一个单独字符。

我们的资料 用户手册一定要看!!
作者: tuzhuke    时间: 2019-8-28 20:32
wangyiguochao 发表于 2019-8-28 12:40
我测试的是主控芯片的IO端口,不是基站,也不是标签上的.

那你里面判断的距离信息是哪里的? 我看判断条件,像是uwb 主控跑的代码
作者: tuzhuke    时间: 2019-8-28 20:38
wangyiguochao 发表于 2019-8-28 13:37
这边基站0与主控芯片的通信就是将基站0的GND与主控芯片的GND相连接,基站0的TX与主控芯片的RX连接,没有其他 ...

这个帖子是跟踪原理,干活前把原理搞懂,不要蒙头干活http://bphero.com.cn/forum.php?m ... &extra=page%3D2

再强调下,你控制电机的主控,通过串口连基站0 的串口,基站0 标签需要配置跟踪模式(参考用户手册),基站0,根据距离和角度拟合一个字符,将这个字符通过串口发出来,你控制电机的主控通过串口收到这个字符,对电机进行控制。

基站0每次发送一个字符,一共有4个,对应4种控制指令,F ,向前,控制电机的主控收到这个就控制小车前进,S,对应停止,L 对应左转,R对应右转。

做跟踪小车,上面内容必须理解再进行工作!!
作者: wangyiguochao    时间: 2019-8-28 22:15
tuzhuke 发表于 2019-8-28 20:32
那你里面判断的距离信息是哪里的? 我看判断条件,像是uwb 主控跑的代码

就是主控程序里面的,现在串口一直显示的是定位数据
作者: wangyiguochao    时间: 2019-8-29 12:20
管理,我将基站0和主控芯片通信的时候,基站0的ledtx灯不亮,但是ledrx灯在闪烁.
作者: wangyiguochao    时间: 2019-8-29 17:18
BPhero-UWB 基站 0 和上位机通过串口通信,但是我将基站0的串口跟电脑连接后电脑上没有串口显示
作者: wangyiguochao    时间: 2019-8-29 19:22
管理,为什么那个基站0跟主控芯片连接通信后,主控芯片串口现实的数据一直是这样的啊?
[12:48:02.185] mrd***d
[12:48:02.860] mrd***d
[12:48:03.524] mrf***f
[12:48:04.199] mrc***c
[12:48:04.864] mra***a
[12:48:05.539] mra***a
[12:48:06.203] mra***a
[12:48:06.872] mrb***b
[12:48:07.542] mra***a
[12:48:08.212] mrb***b
[12:48:08.881] mrb***b
作者: tuzhuke    时间: 2019-8-29 21:39
wangyiguochao 发表于 2019-8-29 19:22
管理,为什么那个基站0跟主控芯片连接通信后,主控芯片串口现实的数据一直是这样的啊?
[12:48:02.185] mrd ...

(, 下载次数: 1103)
问了这么多你们不看用户手册吗??????

作者: wangyiguochao    时间: 2019-8-30 21:01
我按照用户手册将基站0与电脑通过串口连接,但是串口显示的是乱码,我怎么弄?而且那个定位软件也安装不了
作者: tuzhuke    时间: 2019-9-14 15:32
wangyiguochao 发表于 2019-8-30 21:01
我按照用户手册将基站0与电脑通过串口连接,但是串口显示的是乱码,我怎么弄?而且那个定位软件也安装不了

显示结果为hex,不是乱码

为何安装不了,什么提示




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