MMA7455调试总结.pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MMA7455调试总结

MMA7455 MMA7455 关于加速度传感器MMMMA准 By: 机长 jitao_yang@163.com 由于器件老化等问题,MMA7455使用时需要校准。 本文档测试时,MMA7455 采样输出设置为8位模式。数据转换后,以signed int 型输 出,也就是将MMA7455的寄存器0x18的“THOPT”位,设为1。 个人感觉,按照MMA7455官方文档校准,步骤繁琐。在实际操作中,实现了一种新的 校准方法。 首先说一下官方校准 按照MMA7455官方文档AN3745。校准MMA7455需要按照以下方式去做。 首先将MMA7455 放置为XY轴水平,Y 轴(标记MMA7455的一面)向上。也就是 下图所标记出的那一种。 然后读取MMA7455的模式控制寄存器的值,也就是读取0x16地址的值。将其保存为 temp。 紧接着将MMA7455的工作模式设置为2g测量模式。也就是想0x16写入0x05。 向MMA7455的0g偏置寄存器(也就是数据校准寄存器)中写入如上图 MMA7455放 置时的XYZ值。由于使用的是8位数据模式,所以依次往MMA7455的寄存器0x10,0x12, 0x14中写入 等待XYZ轴数据转换完成后,读取XYZ轴的值。也就是读取MMA7455的寄存器0x06, 0x07,0x08。 1 官方网站:www.zhanying.tk QQ群:166578859 官方网站:www.zhanying.tk QQ群:166578859 官官方方网网站站::wwwwww..zzhhaannyyiinngg..ttkk QQQQ群群::116666557788885599 假设读出的数据依次是X=-30,Y=-20,Z=+20。那么校准值应为 X_OFF=2*(0-(-30))=+60 Y_OFF=2*(0-(-20))=+40 Z_OFF=2*(64-20)=+88 官方文档额外补充了一句: Note that there will still be a bit of offset shift, and you may need to multiply by a bit more than two toexactlysubtractthe offset. 也就是说,计算出来的X_OFF,Y_OFF,Z_OFF 并不准确,还需根据实际测量进行修 正。然后依次将修正后的X_OFF Y_OFF Z_OFF 依次写入寄存器0x10,0x12,0x14。 修正完毕。 这是官方文档修正的全过程。但是实际上,在修正过程中,可能出现例外。比如说:读 取的Z=-32,那么Z_OFF=2*(64-(-32)=+192。但由于数据是signedint 型,最大正数为0x3f, 也就是63,这就造成了数据溢出。计算出来的192,按照signed int型,实际为一个负数。 由此就造成了修正错误。 根据实际调试经验,现找到一种新的校准方法,该方法在实际校准中,切实可行。 非官方校准方案 校准时,MMA7455的摆放方式与官方校准一致。 以下是程序源码 void Calibration_XYZ(void) { int8i,temp,temp_x,temp_y,temp_z; temp_x=temp_y=temp_z=0; temp=I2C_Read(Device,MCTL); //读取模式设置 I2C_Write(Device,MCTL,0x05); //TOP面向上,写入标准值 I2C_Write(Device,XOFFL,0x00); //X方向水平放置 I2C_Write(Device,YOFFL,0x00); //Y方向水平放置

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档