完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们正在将IMU从LSM9DS0升级到LSM9DS1。但是我们在LSM9DS1上遇到了磁力计的问题。即使在最小/最大校准之后,它似乎也没有给出正确的航向。
我们意识到方向已经改变并考虑到了这一点。 当使用这个简单的公式时,我会期待一些可用的结果(这与LSM9DS0完美配合)......但这不是我们所看到的。 heading = 180 * math.atan2(MAGy,MAGx)/ M_PI 为了排除我们的PCB设计,我们购买了使用Adafruit和Sparkfun的LSM9DS1的产品,这些产品也有同样的问题。 以下是用于启动磁力计的代码 以上来自于谷歌翻译 以下为原文 We are upgrading our IMU from a LSM9DS0 to LSM9DS1. However we are having issues with the magnetometer on the LSM9DS1. Even after min/max calibration it doesn't appear to give correct heading. We are aware that the orientation has changed and have taking this into consideration. When using this simple formula, i would expect some usable results (this works perfectly witht he LSM9DS0)... however this is not what we are seeing. heading = 180 * math.atan2(MAGy,MAGx)/M_PI To rule out our PCB design, we have purchased products which use LSM9DS1 from Adafruit and Sparkfun, and these also have the same issue. Below is the code used to initiate the magnetometer
|
|
相关推荐
1个回答
|
|
航向计算的原理不依赖于使用的磁力计,因此LSM9DS0和LSM9DS1之间不应有任何区别。
只有当传感器处于水平位置时,才能使用您使用的简单公式。任何倾斜都会产生误差。您可以沿Z轴在几圈内记录磁力计X,Y轴数据。如果硬铁补偿正确完成,则应创建圆心,中心位于[0,0]。 可能还会出现软铁错误,因此它将是椭圆形而不是圆形,但如果失真不大,则公式应该仍然有效。 如果你想测量地球磁场的范围是12高斯相当高,我会用4高斯范围代替。 以上来自于谷歌翻译 以下为原文 The principle for heading calculation is not dependent on the used magnetometer, so there should't be any difference between LSM9DS0 and LSM9DS1. The simple formula which you are using can be used only if the sensor is horizontal position. Any tilt will generate error.Can you please log magnetometer X,Y axis data during several turns along Z axis. If the hard-iron compensation is done properly it should created circle with center in [0,0]. There will be probably also soft iron error so it will be ellipse instead of circle, but if the distortion won't be big the formula should work anyway. If you want to measure earth magnetic field the range 12 Gauss is quite high, I would use 4 Gauss range instead. |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2725 浏览 1 评论
3237 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3646 浏览 6 评论
6034 浏览 21 评论
1336浏览 4评论
197浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
442浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
273浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:20 , Processed in 1.470891 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号