lsm303agr可以测量高达±50gauss的磁场,地球磁场强度一搬在0.6gauss左右
这样lsm303agr理论上可以用来测量磁铁的磁场方面,比如用它做一个游戏操纵杆
因为会受到外界磁场的影响,地球磁场的影响一搬在1%左右
外界影响应该可以通过再增加一颗传感器做补偿来解决
实际测试时我使用csharp写了一个简单的上位机程序来显示X,Y,Z的曲线
我遇到的问题是,在磁铁的磁场大到一定程度时,一搬是输出数据大到32767或者小于-32768时数据的符号位会发生改变
比如由-32760变成+32750,为了排作单片机发送数据和上位机解码数据出错我在程序里把Z轴改成一个不断累加的数据
测试时Z轴的数据一切正常,X轴和Y轴还会出现像下图中的那种问题,数据从顶端一下跳到底端,或者由底端一下跳到顶端
下边是原数据和用EXCEL生成的图表
EXCEL文件
测试数据.xlsx
(74.07 KB, 下载次数: 0)
测试工具使用ST的BlueCoin开发板
代码使用STSW-BCNKT01_V2.1.0下的DataLog,将数据输出到USB的格式做了简单修改
|