你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F4-Discovery连接MPU9250【MD6.12 keil移植】 精华  

[复制链接]
watershade 发布时间:2015-8-8 14:46
阅读主题, 点击返回1楼
1 收藏 12 评论117 发布时间:2015-8-8 14:46
117个回答
watershade 回答时间:2017-10-12 18:52:11
本帖最后由 watershade 于 2017-10-12 18:53 编辑
maiweiqi 发表于 2017-10-11 14:27
一直搞不懂它的九轴磁力计校准是什么回事,是不是打开了校准的功能,然后关闭并保存参数就可以了? ...

首先声明,我不是专业研究IMU的。我的观点只是根据自己的了解作答,如果有问题,请朋友们指正。
关于你说的校准,我举个例子。你拿到手机之后如果觉得不准,是不是曾经用过校准程序?它怎么做的呐?是不是让你画八字形。对这是一种校准。我使用过一种复杂的校准是转动IMU尽可能的缓慢但是把球面尽可能的布满。这样你会发现也许你得到的不是一个正球面,有些变形的球面。这是为什么?
个人的解释是因为传感器MEMES本身的特性,导致读到的数据并不能让每个轴都达到同样的精度。或多或少有些误差,甚至每个轴获得的读数是否因为轴之间并非真的解耦而出现依赖。导致的。
我上面的说法实际有一些错误,但是你基本可以理解为因为种种原因,它读出的数据就是不准。画不了一个正球形,这就需要根据校准模型去拟合和修正成一个正球。这就是校准。既然我知道自己的不够专业,那就人云亦云给你带来点理论知识。
Hard Iron VS Soft Iron
你搜索一下Soft Iron Calibration和Hard Iron Calibration,你也能搜索到Hard Iron 和Soft Iron Distortions
不要见了洋文就心惊胆战,做逃兵。
不知道中文怎么翻译这两种校准和干扰。不妨直译成“软铁校准”和“硬铁校准”,不好意思铁没有软的(别说液态铁),但是先勉为其难,这样叫吧。
为什么校准呐,是因为有干扰有漂移有误差。误差是校准的主要原因,所以要说明为什么校准或者何种校准先要了解误差是怎样产生的。
噢,对了这里一旦涉及到Iron,就是指Magnetic Sense来说的,不是对加速度和陀螺仪来说的。所以你最好还要了解一下Fusion的原则是什么。这里简单说一下:陀螺仪数据为基础,加速度做一级修正和fusion。在它们的基础上加上指向,同时做第二层的fusion。
【kao,码字太不舒服】
先上一篇洋文,压压惊。magnetometer
这篇文章讲的比较多,文章里面讲的清清楚楚。让我码的字毫无意义。怎么办呐?
那我做个简单的复述吧。首先,看这篇文章,你要明白磁场是什么?传感器所处的磁场是怎样的。
OK,传感器的磁场由地磁场和周围物体磁场产生的。(当然如果是磁性体,自身也有磁场)
那地磁场的特性如何,周围磁场怎样变化。什么特性?
怎么建立物体的磁场模型?

OK,言归正传。
Hard Iron Distortions是周围物体产生的磁场。比如麦克风,磁铁。反正周围能够产生的磁性物质产生的磁场。这种磁性物质将在周围产生一个永久的偏差。但是比如,我之前在测试的时候物体的外壳上有个霍尔传感器,霍尔传感器旁边有一个小磁铁,因而产生了一个永恒切基本不变的磁场。(这个偏差差点让我奔溃,我找了好久才找到)

Soft iron distortions 被认为是所处的磁场本身的偏差和改变。这种磁场会随着传感器的朝向变化而有所变化。这种磁场一般是铁钴镍等磁性金属产生的。通常Hard的比soft的强一些。但是凡事无绝对。
文章的后面讲了偏差和干扰的可视化和修正技术。
看看吧,肚子饿了。做点饭


有的讲的很清楚。这里给个链接,希望不违反社区的规则:Soft & Hard Iron

对了看完给留个言,确保我写的这段文字有点意义
默默的超儿 回答时间:2018-1-11 16:17:52
大神,我爬完楼,下载了你的程序。简单粗暴了看下,没能看懂。
我用iic读取了9轴的数据,想用dmp求出3个姿态角,但没能看懂,dmp核心程序和初始化寄存器是哪些,能说下吗?
watershade 回答时间:2018-1-15 11:20:59
默默的超儿 发表于 2018-1-11 16:17
大神,我爬完楼,下载了你的程序。简单粗暴了看下,没能看懂。
我用iic读取了9轴的数据,想用dmp求出3个姿 ...

是这样的,这里共享的代码实际上是基于MD库文件的。而MD库是invensense的,这里共享的实际就是个应用。
而对DMP的处理部分都是在闭源的库里面实现的。

另外我现在还是比较推荐你使用一下st的汽车级的传感器,它们现在的传感器似乎做的也不错,而且也有免费使用的库。
因为最近在忙别的项目,这个项目目前已经长期没有更新了。
很不好意思
cyliu5156 回答时间:2018-2-4 16:30:12
多谢大师分享,学习了。
qq1786897183 回答时间:2018-4-4 12:50:18
收藏了
tectim 回答时间:2018-4-8 14:49:01
多谢大师分享,学习了。
qszxluyu 回答时间:2018-4-10 01:25:52
正好需要参考,非常感谢分享
nana96 回答时间:2018-4-10 08:18:30
谢谢分享      
洋洋杨 回答时间:2018-5-22 10:15:33
好东西。支持
Radiance0 回答时间:2018-9-30 17:13:44
好难学啊
hardrock 回答时间:2018-10-1 19:31:05
好东西啊,谢谢
can-39743 回答时间:2018-10-28 15:02:50
mark
qq969682685 回答时间:2019-1-5 10:30:39
谢谢分享!
浅笑无痕 回答时间:2019-2-11 18:25:14
现在才看到这篇帖子,欣赏楼主。另外,我现在也踏上了Motion Driver6.12的坑。出现了一个棘手的问题。
之前用Motion Driver5.13版本自检校准,读取数据都没问题。现在使用Motion Driver6.12,连自检都通不过,强行进入校准程序里面,然后DMP读取的数据就是混乱的。不执行自检校准程序读取出来的数据会有一点零偏。已经使用同一块芯片验证的,Motion Driver5.13完全没问题,Motion Driver6.12无法自检。如果还有大佬看到的话,麻烦指导一下,万分感激。我是使用stm32F301移植的。
12345678

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版