51uwb.cn

标题: 读取IMU9轴数据并和UWB数据一同通过串口输出 [打印本页]

作者: Reuben、Lee    时间: 2022-11-4 16:28
标题: 读取IMU9轴数据并和UWB数据一同通过串口输出
您好!请问如何读取IMU9轴数据并和UWB数据一同通过串口输出,有这部分的代码吗?需要UWB的距离信息和9轴信息。我看“UWB运动传感器融合定位”里“读取MPU9250 9轴数据”的参考代码中,没有SW_I2C_initial和i2c_port_initial(SW_I2C1)的代码吧


作者: 蓝点无限    时间: 2022-11-5 20:12
贴子里是完整的工程,现在你是编译出现问题了吗?
可以放个截图或者视频
作者: Reuben、Lee    时间: 2022-11-7 16:07
蓝点无限 发表于 2022-11-5 20:12
贴子里是完整的工程,现在你是编译出现问题了吗?
可以放个截图或者视频

您好,我用的代码版本是“BPHero_BP400_UWB_Location_SourceCode_V1.1_16MHz”。原“stm32f4.uvprojx”工程中没有“i2c_sw.c”和“mpu9250.c”(里面包含的代码为帖子运动传感器固件-读取9轴传感器部分的代码),但在“MDK-ARM”文件夹中有这两个.c文件,我手动添加到“stm32f4.uvprojx”中,编译工程出现30个error。其中有像“mpu9250.h(2): error:  #247: function "Sw_I2C_Init"  has already been defined”以及“mpu9250.h(5): error:  #20: identifier "SW_I2C1" is undefined”等之类的错误。所以,是不是缺少部分函数的定义代码和部分变量的声明代码呀?(抱歉,我还在研究怎么贴图)
作者: Reuben、Lee    时间: 2022-11-7 16:56
如图

作者: 蓝点无限    时间: 2022-11-7 18:23
Reuben、Lee 发表于 2022-11-7 16:56
如图

图片挂掉了
作者: 蓝点无限    时间: 2022-11-7 18:24
Reuben、Lee 发表于 2022-11-7 16:07
您好,我用的代码版本是“BPHero_BP400_UWB_Location_SourceCode_V1.1_16MHz”。原“stm32f4.uvprojx”工 ...

工程配置里,把路径配置对,可以搜下mdk 路径配置
作者: Reuben、Lee    时间: 2022-11-8 16:08
蓝点无限 发表于 2022-11-7 18:24
工程配置里,把路径配置对,可以搜下mdk 路径配置

您好,原“stm32f4.uvprojx”工程中没有“i2c_sw.c”和“mpu9250.c”(里面包含的代码为帖子运动传感器固件-读取9轴传感器部分的代码),在“MDK-ARM”文件夹中有这两个.c文件和.h文件,但我手动添加到“stm32f4.uvprojx”中后,发现两个.h文件中的代码和.c文件中的代码基本相同,缺少一些函数和变量的定义。而帖子里也是只给出了.c文件代码,请问方便给一下相应的.h文件吗?还是说其他方面出现了问题呀[img]%5Burl=https://imgse.com/i/xv5Z2n%5D[/url][/img]
作者: Reuben、Lee    时间: 2022-11-8 16:15
蓝点无限 发表于 2022-11-7 18:24
工程配置里,把路径配置对,可以搜下mdk 路径配置

以下是两个.c和.h文件的代码情况:




作者: 蓝点无限    时间: 2022-11-10 08:15
Reuben、Lee 发表于 2022-11-8 16:15
以下是两个.c和.h文件的代码情况:

我们对外正式发布的code 是没有读取9轴传感器的数据
可以参考这个链接http://51uwb.cn/forum.php?mod=vi ... &extra=page%3D1
作者: Reuben、Lee    时间: 2022-11-11 10:24
蓝点无限 发表于 2022-11-10 08:15
我们对外正式发布的code 是没有读取9轴传感器的数据
可以参考这个链接http://51uwb.cn/forum.php?mod=vi ...

哦哦,那意思就是需要读取9轴传感器的的话需要从您发的链接里往里添加IMU相关的代码对吧
作者: Reuben、Lee    时间: 2022-11-11 16:22
蓝点无限 发表于 2022-11-10 08:15
我们对外正式发布的code 是没有读取9轴传感器的数据
可以参考这个链接http://51uwb.cn/forum.php?mod=vi ...

您好,我想把9轴传感器的数据读取出来并接在UWB数据格式的基站距离后面,但加速度、角速度、磁场强度等打印出来全部是00,请问这个需要怎么修改呢?这里mpu9250.acc[0]一类的数据都为小数,若想通过串口输出,是不是得先转成unit8格式的数呀。谢谢!


作者: Reuben、Lee    时间: 2022-11-11 16:42
蓝点无限 发表于 2022-11-10 08:15
我们对外正式发布的code 是没有读取9轴传感器的数据
可以参考这个链接http://51uwb.cn/forum.php?mod=vi ...

您好,我想在原有的UWB数据格式得距离值后接着输出9轴传感器数据,加入i2c_sw.cpp和mpu9250.cpp
部分的代码后,为什么输出的全部是00呢?我看着原代码中mpu9250.acc[0]一类的数据是float类型,打印时是不是要转换成unit8类型的呢?谢谢!





作者: Reuben、Lee    时间: 2022-11-11 16:44
抱歉,回复重复了
作者: 蓝点无限    时间: 2022-11-13 21:59
Reuben、Lee 发表于 2022-11-11 16:22
您好,我想把9轴传感器的数据读取出来并接在UWB数据格式的基站距离后面,但加速度、角速度、磁场强度等打 ...

可能是初始化失败了,检查下mpu9250 传感器初始化代码

实际调试的时候,可以在设备初始化的时候,直接做 mpu9250 初始化,并读取传感器数据
while 循环停住
uwb 部分代码就不要执行了。
等待mpu9250 调试完毕,再和uwb 结合,把9250 数据打包到uwb 数据包里
作者: Reuben、Lee    时间: 2022-11-14 10:48
蓝点无限 发表于 2022-11-13 21:59
可能是初始化失败了,检查下mpu9250 传感器初始化代码

实际调试的时候,可以在设备初始化的时候,直接 ...

产品是TWR-BP400,代码版本是“BPHero_BP400_UWB_Location_SourceCode_V1.1_16MHz”。
在源代码基础上在tx.main.cpp中添加了i2c初始化和mpu9250初始化的代码并在“static void Send_Dis_To_Anthor0(void)”函数中读取9轴数据(代码来自论坛“运动传感器读取9轴数据部分”),然后想用putchar函数通过标签串口输出距离信息。
推测会不会是加入的i2c和mpu9250初始化代码与中的配置与原代码的配置有冲突造成的呢?
作者: 蓝点无限    时间: 2022-11-15 10:11
Reuben、Lee 发表于 2022-11-14 10:48
产品是TWR-BP400,代码版本是“BPHero_BP400_UWB_Location_SourceCode_V1.1_16MHz”。
在源代码基础上在 ...

不要在这里加,调试任务量很大
之前前面发的,论坛有MPU9250 工程,你为何不用啊?
作者: Reuben、Lee    时间: 2022-11-15 11:47
蓝点无限 发表于 2022-11-15 10:11
不要在这里加,调试任务量很大
之前前面发的,论坛有MPU9250 工程,你为何不用啊?

我想在打印出UWB距离的同时也把9轴数据输出出来,论坛里的MPU9250 工程仅仅是输出9轴数据吧?
作者: 蓝点无限    时间: 2022-11-17 21:48
Reuben、Lee 发表于 2022-11-15 11:47
我想在打印出UWB距离的同时也把9轴数据输出出来,论坛里的MPU9250 工程仅仅是输出9轴数据吧?

论坛的工程,整个经历比较漫长
在开始,会读取9轴数据
后面用了运动检测功能,只有1bit 数据,和距离数据一起传递给上位机,上位机判断物体是否发生移动,然后评估是否重新解算坐标




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