电子罗盘HMC5883L和HMC5983哪个好?
以地磁为参考,通过测量传感器与地磁线的夹角,可以得到方位数据,从而实现精确的方向控制。这里要讨论的是地磁传感器(也称数字罗盘或电子罗盘)及其使用方法。
常用的地磁传感器主要有飞思卡尔的MAG系列和霍尼韦尔的HMC系列。这里就讨论一下市面上常见的霍尼韦尔HMC5883的地磁传感器。
HMC5883是一种具有高集成度和IIC数字接口的表面贴装弱磁传感器芯片。它包含最先进的高分辨率HMC118X系列磁阻传感器,以及霍尼韦尔专利的集成电路(包括放大器、自动消磁驱动器和偏差校准等。).它有一个12位模数转换器,可以控制罗盘精度在1 ~ 2之间。霍尼韦尔的磁传感器是低磁场传感器行业中最灵敏、最可靠的传感器。它的测量范围可以从毫高斯到8高斯。
HMC5883的工作电压在2.16V~3.6V之间,典型值为3.3V..虽然工作电压是低压,但是数据口的电压可以通过VDDIO口指定,所以和单片机接口有两种方式,一种是5V模式,一种是3.3V模式。
HMC5883的电气参数和特性请参考其数据手册,这里只讨论如何使用HMC5883获取地磁数据。因为模块的控制一般是通过写相应的寄存器来实现的,所以我们先来了解一下HMC5883的寄存器。HMC5883共有12组寄存器,其中6组用于存储X、Y、Z三轴数据,其余6组为控制寄存器。
像所有IIC总线设备一样,HMC5883也有一个固定的设备地址。根据其数据手册,HMC5883的默认从机地址是0x3C(写方向)或0x3D(读方向)。同时,为了尽量减少与单片机的通信,HMC5883可以在没有主机干预的情况下自动更新其地址指针。指针更新有两个原则。首先,如果被访问的地址是12(即标识寄存器C)或以上,指针会更新到地址00(即自动回到开头)。第二,如果访问的地址达到8(即Y的LSB寄存器),指针会回滚到地址03(即X的MSB寄存器)。这样做的好处是显而易见的,因为地址03~0 8存储了要重复读取的测量数据,所以读取时地址指针自动在这里循环,可以减少大量重置地址的代码,提高访问效率。像其他IIC设备一样,为了将地址指针移动到指定的寄存器地址,首先向寄存器地址发出写指令,然后是地址位。比如让地址指针指向寄存器10,发出的指令是0 x3C(写方向)0 x0A(即地址10)。配置寄存器A(地址00)主要用于设置输出采样平均值、输出速率、测量配置位和其它相关参数。对于常规应用,可以采用其默认值(采样平均值为8,输出速率为15Hz,正常测量配置)而无需更改。如果真的需要更改,请详细参考管理层的数据手册。配置寄存器B(地址01)主要用于设置增益,其默认值也可用于正常应用,无需更改。如果真的需要更改,请详细参考管理层的数据手册。模式寄存器(地址0 2)用于选择HMC5883的工作模式。它有三种工作模式,即连续测量模式(后两位为00)、单次测量模式(后两位为01)和空闲模式(后两位为1 0或11)。默认是单次测量模式,一般需要改成连续测量模式。您只需要将该寄存器的后两位数字更改为00。状态寄存器(地址0-9)主要用于提供器件的当前状态。只有最后两位有效,最后一位是就绪位。只有在就绪位被置位后,器件才能工作。倒数第二位是数据输出寄存器锁存位。该位置位时,在读取测量数据之前,不会更新任何测量数据。一般来说,常规应用可以以适当的延迟读取该寄存器的状态,除非读取频率非常高,否则没有必要读取该寄存器的状态。这里不需要识别寄存器A(地址10)到识别寄存器C(地址12),所以我们不讨论它们。如有必要,请自行阅读数据手册。当时HMC5883还有一些其他的实用功能,比如自检。它配备了自检功能模块,使用励磁传感器偏置带产生一个标称磁场强度进行自检,以证明其质量。此外,还有标度因子的校准功能,可以补偿周围磁场造成的干扰,以获得精确的地磁测量值。我们举个例子来看看HMC5883的具体应用。
例:单片机读取来自HMC5883的地磁数据,转换成正南的角度数据,由LCD16 02显示。微控制器采用ATMega16,与HMC5883的连接采用5V模式。HMC5883的SDA和SCL端子分别连接到ATMega16的TWI端子(PC1和PC0),LCD1602的连接方法与上一种相同。