hmc5883l角度为什么肤色不均匀怎么调理变化

查看: 2076|回复: 5
HMC5883L计算角度是非线性的
通过HMC5883L读出数据后发现,飞控板旋转90°上位机显示的旋转角度却小于90°。看论坛上的资料说磁阻仪读出的数据是椭圆形的,是要先对传感器数值进行校正再乘以一个补偿系数吗?还是有专门针对这种椭圆形数据的解算方法?
果然想问题不能太专注。。。下午躺下刚准备睡觉就想通了,已经解决这个问题了~
一般来说是将数值进行方向余弦运算后得到的
公益广告:本论坛不得使用、宣传Q群。 有讨论请在论坛里进行。 违者将封锁ID.
大概是用数据融合来补偿吧。。。不懂纯瞎说
公益广告:发表招聘帖子需要缴费,有需要可以联系网站工作人员王小姐:.
Bababright 发表于
一般来说是将数值进行方向余弦运算后得到的
哈~那是把磁阻仪数据校正后才考虑的问题,你说的方向余弦运算是做全姿态罗盘是用到的~我已经做到了。
我问的是第一个问题,即如何校正磁阻仪数据。参考这位前辈的帖子《分享一种校准HMC5883的方法,此法也可以校验其他双轴...》
真是太强大了~
公益广告:广告只能发在本论坛的广告区,否则将封锁ID。
ghos 发表于
大概是用数据融合来补偿吧。。。不懂纯瞎说
不是的~磁阻仪不像陀螺仪一样有累积误差,又不像加速度计一样在震动环境下噪声严重。直接解算即可,不需要数据融合,倒是可考虑用磁阻仪解算的姿态融合到捷联惯导里校正捷联惯导的数据~
阿莫电子论坛, 原"中国电子开发网"HMC5883L-Mar 2011_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
80页免费8页免费8页免费8页免费8页免费 32页免费58页免费54页免费6页免费42页1下载券
喜欢此文档的还喜欢19页免费5页4下载券17页1下载券18页1下载券6页免费
HMC5883L-Mar 2011|磁​场​传​感​器83​L​规​格​说​明
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢您好,欢迎回来
您好,欢迎来到中国供应商!
当前位置:
&供应HMC5883L 弱磁传感器 LPCC-16
供应HMC5883L 弱磁传感器 LPCC-16
订货量(个)
发 &货&期:不限
供货总量:0PCS(个)
最小起订量:
10PCS(个)
联系人:陈才明先生
经营模式:
中国 广东 深圳市福田区 深圳市福田区深南路佳和华强大厦A座20楼-E
主营产品:
供应信息分类
联系人:陈才明
职 位 :总经理
电 话 :755-02522
传 真 :755-
地 址 :中国 广东 深圳市福田区 深圳市福田区深南路佳和华强大厦A座20楼-E
价格:¥1200.00
价格:¥1.00
价格:面议
价格:面议
价格:¥1.00
价格:¥1200.00
价格:¥1.00
加工定制:否
品牌:Honeywell/霍尼韦尔
型号:HMC5883L
种类:磁敏
材质:聚合物
材料物理性质:半导体
材料晶体结构:多晶
制作工艺:集成
输出信号:数字型
防护等级:一级
线性度:0.1
迟滞:0.01
重复性:0.01
灵敏度:1&-2&
漂移:0.01
分辨率:12位
供应HMC5883L 弱磁传感器 LPCC-16
霍尼韦尔&HMC5883L&是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,
应用于低成本罗盘和磁场检测领域。HMC5883L&包括最先进的高分辨率HMC118X&系列磁
阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使
罗盘精度控制在1&~2&的12&位模数转换器.简易的I2C&系列总线接口。HMC5883L&是采用
无铅表面封装技术,带有16&引脚,尺寸为3.0X3.0X0.9mm。HMC5883L&的所应用领域有手
机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。
HMC5883L&采用霍尼韦尔各向异性磁阻(AMR)技术,该技术领先于其他磁传感器技术。这些各向异性传感器具有在轴向高灵敏
度和线性高精度的特点.传感器具有的对正交轴的低灵敏度的固相结构能用于测量地球磁场的方向和大小,其测量范围从毫高斯
到&8&高斯(gauss)。&霍尼韦尔的磁传感器在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器。
&&&明彩电子有限公司是一家代理、销售传感器、电源IC、手机IC、音频IC、功放IC、打印机IC、三极管(高频、射频、微波、场效应管、达林顿管和普通三极管)、MOSFET、插件、贴片的二极管(稳压、整流、肖特基、发光、快恢复)等电子元器件的科技企业。
&&产品和服务集中于3C(计算机电子、通讯电子及消费性电子)电子产品范围,更专注于物联网、无线通讯产品的销售服务,产品还广泛使用于各类工控电源、仪器仪表、医疗器械等。现公司保持着良好的发展趋势、各项业务迅猛发展,已逐步成为以服务于高科技企业的现代科技企业。
&&主要经营品牌:
传感器:BOSCH、FREESCALE、HONEYWELL
IC(电源管理IC、手机IC、音频IC、打印机IC等):EUTECH、TI、ST、NS、FAIRCHILD、ON、NXP、MIC等
二、三极管、场效应管:PANJIT、AOS、LRC、先科、科威、长电等
&&公司经营方针:客户满意、质量第一、服务至上、持续改进
&&公司经营目标:为客户提供满意的产品和服务
主营产品或服务:
主营行业:
经营模式:
注册资本:
公司成立日期:
公司所在地:
中国 广东 深圳市福田区 深圳市福田区深南路佳和华强大厦A座20楼-E
企业类型:
中国 广东 深圳市福田区 深圳市福田区深南路佳和华强大厦A座20楼-E
深圳市明彩电子有限公司
价格:面议
价格:¥1.00
价格:¥10000.00
价格:¥8.00
价格:¥1.00
价格:¥1.00
价格:¥9.10
价格:¥460.00
价格:面议
价格:面议
价格:面议
价格:面议
价格:面议
价格:¥1.00
免责声明:
本商铺内所展现的供应HMC5883L 弱磁传感器 LPCC-16信息及其他相关信息均由商铺所属企业自行提供,信息的真实性、准确性和合法性由商铺所属企业完全负责。中国供应商对此不承担任何保证责任。
友情提醒:
建议您在购买相关产品前务必确认供应商资质及产品质量,过低的价格有可能是虚假信息,请谨慎对待,谨防欺诈行为。
地址:中国 广东 深圳市福田区 深圳市福田区深南路佳和华强大厦A座20楼-E&&
电话:755-02522&&
按拼音检索:
技术支持:
价格:¥0.00
价格:¥100.00
价格:¥0.00
价格:¥0.00
价格:¥10000.00
价格:¥0.00
价格:¥0.00
价格:¥0.00
价格:¥0.00
价格:¥0.00
价格:¥0.00
价格:¥10000.00Arduino&Uno&+&HMC5883L三轴电子罗盘传感器演示实验
一、我们看下面这段经典的扫盲对话:
问:电子罗盘是什么?答:电子罗盘(也叫数字罗盘)除了是罗盘(别名指南针、指北针、司南、罗经盘、罗针......等)还能是什么?
问:电子罗盘的作用是什么?答:和传统罗盘作用一样,指示方向。对GPS机子而言,最主要的是在没有卫星信号,或者在低速或者静止的情况下指示方向。
问:电子罗盘的原理是什么?答:传统罗盘用一根被磁化的磁针来感应地球磁场,地球磁场与磁针之间的磁力时磁针转动,直至磁针的两端分别指向地球的磁南极与磁北极。电子罗盘也一样,只不过把磁针换成了磁阻传感器,然后将感受到的地磁信息转换为数字信号输出给用户使用。
问:都说电子罗盘怕干扰,是怎么回事?答:传统罗盘会被怎么干扰,电子罗盘就会被怎么干扰。区别在于如果传统罗盘的磁针受不正确的磁化破坏,基本上要回厂重新充磁或报废;而电子罗盘可由用户来校正。高精度的电子罗盘要经常校正,以取得高精度的读数。例如Garmin
60CSx(专业手持GPS)电子罗盘的校正方法就是顺时针转两圈,60CSx的电子罗盘要经常校正,换电池要校正、遇到强磁场要校正,较长时间没用也要校正。
问:电子罗盘和GPS的关系是什么?答:两个设备,没有关系。电子罗盘不需要接受卫星信号,是对GPS指示方向功能的补充。
问:有了GPS为什么还要有电子罗盘?答:GPS在静止或低速状态下无法取得方向或只能得到错误的方向。
问:我经常迷路,电子罗盘能帮助我不迷路吗?答:不能。电子罗盘只能指示方向。防止迷路还是得靠手持机记录航迹。
对于带有GPS功能的手机而言,熟练运用GPS导航功能是带你回家的最佳选择。
问:电子罗盘对大家有什么用?答:应用很多。Iphone
3GS的宣传片上就是很好的例子:根据电子罗盘的读数,地图自动旋转到用户方便读取的方向。十分适合不太会用地图的人使用。此外,与传统罗盘一样,可以根据地标粗略估计自己所处位置(有经验的人使用起来就如同GPS一样)、可以控制行进方向......等等、等等。
问:买个两块钱的指南针挂在身上能取代电子罗盘吗?答:不能。首先,没有调整磁偏角功能的指南针指示的是磁南极与磁北极,并不是地球真正的南极和北极(请参考中学地理)。而且,指南针要想取得正确的方位,还要按不同测量地点来补偿磁倾角所形成的误差。几块钱的玩具是没有这样的功能的(特别是磁倾角,如果你要旅行于南北半球与赤道地带的话,起码要准备3块经过不同调整的罗盘。除了Recta公司的DP系列罗盘,某些型号有自动校正系统)。而使用电子罗盘,磁偏角与磁倾角基本上都可以得到较容易的解决。其次,电子罗盘可方便的和GPS还有电子地图等系统整合使用,这是传统罗盘绝对做不到的。
问:电子罗盘是不是很不精确?答:这个问题基本没有意义。因为任何罗盘,包括电子的和传统的,只要不带照准系统,其测量精度都无从谈起。只能起到参考作用。尤其是注意要经常校正。
问:那么我到底需不需要买带电子罗盘功能的手持机或手机呢?答:对手持机或手机来说,这个功能还是很有用的,若经济情况允许,应该买带电子罗盘功能的手持机或手机。
二、概述:
霍尼韦尔 HMC5883L
是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。HMC5883L 包括最先进的高分辨率
HMC118X 系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在 1°~2°的
12 位模数转换器.简易的 I C 系列总线接口。HMC5883L 是采用无铅表面封装技术,带有 16 引脚,尺寸为
3.0X3.0X0.9mm。HMC5883L
的所应用领域有手机、笔记本电脑、消费类电子、汽车导航系统和个人导航系统。
采用霍尼韦尔各向异性磁阻(AMR)技术,该技术的优点是其他磁传感器技术所无法企及。这些各向异性传感器具有在轴向高灵敏度和线性高精度的特点.传感器带有的对于正交轴低敏感行的固相结构能用于测量地球磁场的方向和大小,其测量范围从毫高斯到
8 高斯(gauss)。 霍尼韦尔的磁传感器在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器。
三、特点:
1、三 轴 磁 阻 传 感 器 和 ASIC 都 被 封
装在3.0&3.0&0.9mm LCC 表面装配中
2、12-bit ADC 与低干扰 AMR 传感器,能在±8
高斯的磁场中实现 5 毫高斯分辨率
3、内置自检功能
4、I C 数字接口
5、无引线封装结构
6、磁场范围广(+/-8Oe)
7、有相应软件及算法支持
8、最大输出频率可达160Hz
9、HMC5883L电子罗盘是一种可用于机器人导航的数字传感器。
10、此传感器模块是通过串口rx
tx连接到控制器上,输出数字0到360。
11、点亮相应方向上的LED来指示当前传感器和地球磁场之间的偏角。
四、产品规格:
测量芯片:&&HMC5883L
电流: 20mA
精度: 1 degree
五、HMC5883L引脚配置参数
六、本实验所使用到的模块
七、Arduino 与
HMC5883L连接的硬件图
把线连接好,就可以进行代码的编译进行测试了!
八、本实验我们提供的代码是演示所用的代码
&HMC5883L.h&&
HMC5883L&&
void&setup()&
&&Serial.begin(9600);&
&&Wire.begin();&
=&HMC5883L();&
&&compass.SetScale(1.3);&
&&compass.SetMeasurementMode(Measurement_Continuous);&
void&loop()&
&&MagnetometerRaw&raw
= compass.ReadRawAxis();&
&&MagnetometerScaled&scaled
= compass.ReadScaledAxis();&
&&float&xHeading
=&atan2(scaled.YAxis,
scaled.XAxis);&
&&float&yHeading
=&atan2(scaled.ZAxis,
scaled.XAxis);&
&&float&zHeading
=&atan2(scaled.ZAxis,
scaled.YAxis);&
&&if(xHeading & 0)
xHeading += 2*PI;&
&&if(xHeading &
2*PI) xHeading -= 2*PI;&
&&if(yHeading & 0)
yHeading += 2*PI;&
&&if(yHeading &
2*PI) yHeading -= 2*PI;&
&&if(zHeading & 0)
zHeading += 2*PI;&
&&if(zHeading &
2*PI) zHeading -= 2*PI;&
&&float&xDegrees
= xHeading * 180/M_PI;&
&&float&yDegrees
= yHeading * 180/M_PI;&
&&float&zDegrees
= zHeading * 180/M_PI;&
&&Serial.print(xDegrees);&
&&Serial.print(",");&
&&Serial.print(yDegrees);&
&&Serial.print(",");&
&&Serial.print(zDegrees);&
&&Serial.println(";");&
&&delay(100);&
&实验结果是以下的图片:
&如果您想购买实验所需要的模块,请到此淘宝链接查看:谢谢!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。arduino&UNO&+&HMC5883L分析及实验演示
<img src="/blog7style/images/common/sg_trans.gif" real_src ="/uc/myshow/blog/misc/gif/E___7374ZH00SIGG.gif" TYPE="face"
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />
&HMC5883L又称三轴数字罗盘,是一款表面贴装的高集成模块,并带数字接口的弱磁传感器芯片,主要应用于低成本罗盘和磁场检测领域。HMC5883L包括最先进的高分辨率HMC118X系列磁阻传感器,并附带霍尼韦尔专利的集成电路包括放大器、自动消磁转换器、偏差校准、能使罗盘精度控制在1°到
2°的12位模数转换器,简易的I2C总线接口。所应用的领域有手机、笔记本电脑、消费电子、汽车导航系统和个人导航系统。
HMC5883L采用霍尼韦尔各向异性磁阻(AMR)技术,该技术的优点是其他磁传感器技术所无法企及的。这些各向异性传感器具有在轴向高灵敏度和线性高精度的特点。传感器带有的对于正交轴低敏感行的固相结构能用于测量地球磁场的大小和方向,其测量范围从毫高斯到8高斯。霍尼韦尔传感器在低磁场传感器行业中是灵敏度最高和可靠性最好的传感器。
1)三轴磁阻传感器和ASIC都封装在3.0x3.0x0.9mm LCC表面装配中
2)12-bit ADC
与低干扰AMR传感器,能在±8度高斯的磁场中实现5毫高斯的分辨率
3)内置驱动电路
4)低电压工作(2.16-3.6V)和超低功耗(100uA)
5)I2C数字接口
6)磁场范围广(+/-80e)
1)能让罗盘航向精度精确达1°到
2)适合于电池供电的应用场合
3)带置位/复位和偏置驱动器用于消磁、自测和偏移补偿
4)适用于消费类电子设备中通用双线串行数据接口
5)可获得罗盘航向、硬磁、软磁以及自动校准库
6)能应用于个人导航系统和LBS
说了一些了,先来看看模块吧& <img src="/blog7style/images/common/sg_trans.gif" real_src ="/uc/myshow/blog/misc/gif/E___6725EN00SIGG.gif" TYPE="face"
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />
&<img src="/blog7style/images/common/sg_trans.gif" real_src ="/uc/myshow/blog/misc/gif/E___6848EN00SIGG.gif" TYPE="face"
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />& 怎么子的?我们下面就来看看如何在我们的设计中使用它!
开始我们就先来了解下HMC5883L吧,下面是一个示意图
下面是具体的引脚功能介绍
还有模块的引脚输出情况
&&&&&&&&&&&
模块原型&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
我们前面也介绍到过,它是自带I2C接口的,所以我们对它的控制以及数据的读取都是通过I2C接口来实现的。
下面是具体的应用电路
下面就来具体演示一下
首先先把上面的演示电路弄好了! <img src="/blog7style/images/common/sg_trans.gif" real_src ="/uc/myshow/blog/misc/gif/E___6830EN00SIGG.gif" TYPE="face"
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />
最后再加上代码,就能& <img
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />
// Reference the HMC5883L Compass
// Store our compass as a
// Record any errors that may
occur in the compass.
int error = 0;
// Out setup routine, here we will
configure the microcontroller and compass.
void setup()
&// Initialize
the serial port.
&Serial.begin(9600);
&Serial.println("Starting the
I2C interface.");
&Wire.begin(); //
Start the I2C interface.
&Serial.println("Constructing
new HMC5883L");
&compass =
HMC5883L(); // Construct a new HMC5883 compass.
&Serial.println("Setting scale
to +/- 1.3 Ga");
compass.SetScale(1.3); // Set the scale of the compass.
&if(error != 0)
// If there is an error, print it out.
Serial.println(compass.GetErrorText(error));
Serial.println("Setting measurement mode to
continous.");
compass.SetMeasurementMode(Measurement_Continuous); // Set the
measurement& mode to Continuous
&if(error != 0)
// If there is an error, print it out.
Serial.println(compass.GetErrorText(error));
// Our main program
void loop()
&// Retrive the
raw values from the compass (not scaled).
&MagnetometerRaw
raw = compass.ReadRawAxis();
&// Retrived the
scaled values from the compass (scaled to the configured
&MagnetometerScaled scaled =
compass.ReadScaledAxis();
&// Values are
accessed like so:
MilliGauss_OnThe_XAxis = scaled.XA// (or YAxis, or
&// Calculate
heading when the magnetometer is level, then correct for signs of
&float heading =
atan2(scaled.YAxis, scaled.XAxis);
&// Once you have
your heading, you must then add your 'Declination Angle', which
is& the 'Error' of the magnetic field in your
&// Find yours
here: http://www./
&// Mine is:
2& 37' W, which is 2.617 Degrees, or (which we
need) 0.& radians, I will use
&// If you cannot
find your Declination, comment out these two lines, your
compass& will be slightly off.
declinationAngle = 0.0457;
&heading +=
declinationA
&// Correct for
when signs are reversed.
&if(heading
&& heading +=
&& // Check for
wrap due to addition of declination.
&if(heading
&& heading -=
& // Convert
radians to degrees for readability.
headingDegrees = heading * 180/M_PI;
&// Output the
data via the serial port.
&Output(raw,
scaled, heading, headingDegrees);
&// Normally we
would delay the application by 66ms to allow the loop
&// to run at
15Hz (default bandwidth for the HMC5883L).
&// However since
we have a long serial out (104ms at 9600) we will let
&// it run at its
natural speed.
delay(66);
&delay(500);
// Output the data down the serial
void Output(MagnetometerRaw raw,
MagnetometerScaled scaled, float heading, float&
headingDegrees)
Serial.print("Raw:\t");& //采集到的原始数据;
Serial.print(raw.XAxis);
Serial.print("&&
Serial.print(raw.YAxis);
Serial.print("&&
Serial.println(raw.ZAxis);
Serial.print("Scaled:\t");&&
//校准后输出;
Serial.print(scaled.XAxis);
Serial.print("&&
Serial.print(scaled.YAxis);
Serial.print("&&
Serial.println(scaled.ZAxis);
Serial.print("Heading:\t");&
Serial.print(heading);&&&&
//偏离北向的弧度;
& Serial.print("
Radians&& \t");
Serial.print(headingDegrees);&
//偏离北向的角度;
Serial.println(" Degrees&&
好的,效果如下:
讲到这里大家对HMC5883L应该有所了解了吧,还有什么疑问,可以提问。 <img src="/blog7style/images/common/sg_trans.gif" real_src ="/uc/myshow/blog/misc/gif/E___7368ZH00SIGG.gif" TYPE="face"
ALT="arduino&UNO&+&HMC5883L分析及实验演示"
TITLE="arduino&UNO&+&HMC5883L分析及实验演示" />
最后。。。。博文持续更新中,敬请期待!!!
未经博主同意,不得转载,如需转载必须标明出处,谢谢合作!
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 均匀设计 的文章

 

随机推荐