如何将无符号的磁力计数据转换为度数
How to convert unsigned magnometer data to Degrees
我知道网络上不同的论坛有很多话题,我了解atan和atan2的区别以及如何用签名数据解决这个问题。
我正在使用使用 Memsic MMC34160PJ 磁力计的 digilent CMPS2 模块。
在芯片 CMPS2 的数据表中有一个公式 actan(x/y)*180/pi
很明显,我只能得到 0 到 90 度之间的值,因为传感器提供 仅无符号 值。
当我使用 atan2 时,我得到的值介于 0 到 180 度之间。
我知道如果我有签名数据会更容易。但不幸的是,传感器仅提供无符号值。
这种无符号的磁力计数据0到360度的转换形式怎么可能?
我自己没有使用过那个特定的磁力计,但是有很多传感器的工作方式相似。
第 2 页的磁力计 datasheet 表明 "Null field output" 值(即没有磁场时的输出)不为零。
假设您使用14位分辨率模式,空字段输出值为8192。这意味着8192是您的零值参考点,高于该值的所有值为正,低于该值的所有值为负。您应该从每次测量中减去这个空字段值,然后您就可以开始了。
我知道网络上不同的论坛有很多话题,我了解atan和atan2的区别以及如何用签名数据解决这个问题。
我正在使用使用 Memsic MMC34160PJ 磁力计的 digilent CMPS2 模块。 在芯片 CMPS2 的数据表中有一个公式 actan(x/y)*180/pi 很明显,我只能得到 0 到 90 度之间的值,因为传感器提供 仅无符号 值。 当我使用 atan2 时,我得到的值介于 0 到 180 度之间。
我知道如果我有签名数据会更容易。但不幸的是,传感器仅提供无符号值。
这种无符号的磁力计数据0到360度的转换形式怎么可能?
我自己没有使用过那个特定的磁力计,但是有很多传感器的工作方式相似。
第 2 页的磁力计 datasheet 表明 "Null field output" 值(即没有磁场时的输出)不为零。
假设您使用14位分辨率模式,空字段输出值为8192。这意味着8192是您的零值参考点,高于该值的所有值为正,低于该值的所有值为负。您应该从每次测量中减去这个空字段值,然后您就可以开始了。