完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我已经使用仅在设备水平时才有效的简化航向计算实现了倾斜和航向计算,并且直到现在都忽略了 Z 轴上的磁场值。现在我正在尝试实现倾斜补偿航向,以便能够在设备不水平时计算航向,并且我开始尝试获取 Z 轴最大和最小磁场值以补偿其偏移,就像我之前所做的那样X 和 Y 轴,注意到最小值是电路板水平放在桌子上,元件朝上,最大值是电路板水平放在桌子上,元件朝下,我从来没有接近过这些最大值/min 值以任何其他方向旋转板。我垂直旋转木板,Z 值发生变化,但它在垂直位置时的最大/最小值小于水平放置在桌子上时的值的一半。这有意义吗?对于 Z ax 似乎更强的磁场在桌子下面,但这与我在其他轴上得到的测量结果不一致,X 和 Y 轴需要一些偏移补偿但它们的值随着它们的相对方向而变化北方所以他们的最大值指向北方而不是“向下”。任何帮助/澄清将不胜感激,我想我可能在这里遗漏了一些东西。与我在其他轴上获得的测量结果不一致,X 和 Y 轴需要一些偏移补偿,但它们的值随着它们与北方的相对方向而变化,因此它们的最大值指向北方而不是“向下”。任何帮助/澄清将不胜感激,我想我可能在这里遗漏了一些东西。与我在其他轴上获得的测量结果不一致,X 和 Y 轴需要一些偏移补偿,但它们的值随着它们与北方的相对方向而变化,因此它们的最大值指向北方而不是“向下”。任何帮助/澄清将不胜感激,我想我可能在这里遗漏了一些东西。
对于倾斜补偿航向,是否有可以使用的参考代码?我已经实现了,但是有一个参考代码来比较会很棒,代码在 STM32L4xx 上运行。 |
|
相关推荐
1个回答
|
|
非常感谢您的回答!对于倾斜,我只使用加速度计数据,它运行良好,对于航向,我只使用 X 和 Y 磁场的简化算法,当设备处于水平面时(如预期),它运行良好,但当有明显倾斜时它不起作用,这就是为什么我需要添加 Z 磁组件。我会看看你指给我看的 MotionC,谢谢。同时,对于标题,我实现了一种类似于 Pololu 库中用于 LSM303D 的算法 - https://github.com/pololu/lsm303-arduino它似乎工作得很好,即使在校准 Z 轴之前,我也只有 X 轴和 Y 轴的最大值和最小值,即使在这种情况下,结果对应用程序来说也是好的,从 0º 倾斜到 80º 倾斜航向变化不大,我观察到航向有大约 5º 的变化,但这可能是因为我的设置很难在不影响实际航向的情况下改变倾斜度。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2648 浏览 1 评论
3213 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1787 浏览 1 评论
3616 浏览 6 评论
5996 浏览 21 评论
944浏览 4评论
1318浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
588浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1307浏览 3评论
1367浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 06:00 , Processed in 1.218789 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号