搜索
bottom↓
回复: 16

正在测试MMA7455L加速度传感器,遇到了一个让人费解的问题,有兴趣的大家来讨论!!!

[复制链接]

出0入0汤圆

发表于 2009-10-18 15:24:18 | 显示全部楼层 |阅读模式
我是采用SPI接口来测试MMA7455的,我能保证我的SPI的读和写没有问题,现在遇到一个特别奇怪的问题:
   首先不管我把加速度的两层设置到哪个(2g,4G或者8G),在静止在桌子上的时候,X轴和Y轴的输出比较正常,数值在03左右(根据PDF,当返回的数值为0时候,说明没有加速度,这个误差范围是允许的。)因为Z轴和水平面是垂直的,方向是垂直向下的,也就是和重力加速度G的方向是一样的,所以Z轴输出的数值应该和重力加速度G所对应的数是一致的,我所设置的量程是8G,对应的重力加速度1G的值应该为0f,而我在静止的时候所测量的数值为1B。那么就说明静止的时候的加速度要大于1G,这个是不可能的,地球上任何一个点的加速度都不可能大于1G(静止)。
   跟奇怪的发生了,当加速度传感器做自由落体运动的时候,通过记录数值,发现自由落体的时候,加速度非常正常,保持在1G。
   
    所以现在我很纳闷,到底问题是硬件的问题还是我的问题。我都是根据PDF来设置的。如果是硬件的问题,那就怪了,根据PDF,已经说明了 芯片在出场时候做了标定的,是在0g的情况下标定的。
    小弟很菜。希望大家来指导!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-10-18 15:46:49 | 显示全部楼层
没遇到这种情况。你把它翻过来,看Z轴的值如何。
我用过的比例正常,就是中位偏离太严重,校正了没事。

出0入0汤圆

 楼主| 发表于 2009-10-18 15:56:34 | 显示全部楼层
楼上的哥们,翻转过来 返回的数值是FC,PDF中给的标准是F1.相差很大啊。差了11了啊

出0入0汤圆

 楼主| 发表于 2009-10-18 15:56:51 | 显示全部楼层
楼上的哥们,翻转过来 返回的数值是FC,PDF中给的标准是F1.相差很大啊。差了11了啊

出0入0汤圆

发表于 2009-10-18 18:22:44 | 显示全部楼层
也就是中位偏移了,写个校正值进去

出0入0汤圆

 楼主| 发表于 2009-10-18 20:32:29 | 显示全部楼层
楼上的,又找了飞思卡尔的资料,是需要数据校正的,但是我写了不对。数据都不对。

出0入0汤圆

 楼主| 发表于 2009-10-18 20:46:33 | 显示全部楼层
楼上大哥,能不能分享一下您的程序。参考一下!

出0入0汤圆

发表于 2010-1-3 01:16:07 | 显示全部楼层
;下面是我程序的片断,测试可用




;这个函数,只做一次用,,不用的时候可隐.两个值是测试出来的
IAP_WRITE_ZCHECK:
        MOV DPTR, #EEPROM_1                ;放入任一个地址, 擦除所在整个扇区
        ACALL IAP_ERASE

        MOV DPTR, #EEPROM_1                ;放入第一个数地址
        MOV IAP_DATA, #8EH                ;放入一个数
        ACALL IAP_PROGRAM

        MOV DPTR, #EEPROM_2
        MOV IAP_DATA, #07H
        ACALL IAP_PROGRAM
        RET


IAP_READ_ZCHECK:
        MOV DPTR, #EEPROM_1
        ACALL IAP_READ
        MOV ZCHECK_LSB, IAP_DATA

        MOV DPTR, #EEPROM_2
        ACALL IAP_READ
        MOV ZCHECK_MSB, IAP_DATA
        RET






INIT_7455:
        MOV ACC_CNT, #00H
        MOV ACC_ARR, #00H
        MOV ACC_RES, #00H
        MOV ZCHECK_LSB, #00H
        MOV ZCHECK_MSB, #00H

        ACALL IAP_READ_ZCHECK                        ;先读出Z校的值

        MOV MMA_DATA1, #16H                                ;7455模式设置寄存器
        MOV MMA_DATA2, #41H                                ;01000001 不中断,关自检,8g测量模式
        ACALL I2C_SEND_7455
        JB 00H, INIT_7455_ERROR

        MOV MMA_DATA1, #18H
        MOV MMA_DATA2, #98H                                ;10011000        只测试Z  125Hz使能
        ACALL I2C_SEND_7455
        JB 00H, INIT_7455_ERROR

        MOV MMA_DATA1, #14H
        MOV MMA_DATA2, ZCHECK_LSB                ;经验值..Z校
        ACALL I2C_SEND_7455

        MOV MMA_DATA1, #15H
        MOV MMA_DATA2, ZCHECK_MSB
        ACALL I2C_SEND_7455
INIT_7455_ERROR:
        RET


INIT_7455_STANDBY:                                        ;掉电模式
        MOV MMA_DATA1, #16H                                ;7455模式设置寄存器
        MOV MMA_DATA2, #00H                                ;掉电
        ACALL I2C_SEND_7455
        JB 00H, INIT_7455_STANDBY_ERROR
INIT_7455_STANDBY_ERROR:
        RET


;约4100        370u
;结果在30H(次数) 31H(进位),32H(高八位)
MMA_READ_Z:
        PUSH PSW
        PUSH ACC
        MOV MMA_DATA1, #08H
        ACALL I2C_RECV_7455
        INC ACC_CNT                                        ;次数加1
        MOV A, MMA_DATA2                        ;取出刚才的结果
        JNB ACC.7, MMA_READ_Z_NEG
        CPL A
        INC A                                                ;求补,参数7455数据手册
MMA_READ_Z_NEG:                                        ;
        ANL A, #0FCH
        ADD A, ACC_RES                                ;加原来高八位       
        JNC MMA_READ_Z_CCC
        INC ACC_ARR
MMA_READ_Z_CCC:
        MOV ACC_RES, A
        POP ACC
        POP PSW                       
        RET

出0入0汤圆

发表于 2010-3-19 16:43:35 | 显示全部楼层
我也在用spi做mma7455,希望能qq交流,673491356

出0入0汤圆

发表于 2010-3-23 13:40:01 | 显示全部楼层
我正在用的是MMA7361L,三轴模拟的。用于水平360度内检测倾角。就是计算Z轴相对于水平面的夹角,夹角范围:0度~90度。

请问楼上几位是用在哪方面的?希望讨论一下数据处理的算法。

出0入0汤圆

发表于 2011-2-25 08:41:35 | 显示全部楼层
mma7455l与stm32通讯 用spi接口好还是iic接口更好!

出0入0汤圆

发表于 2011-8-11 16:38:43 | 显示全部楼层
我也遇到同样的问题  关注中  希望高手不吝赐教

出0入0汤圆

发表于 2011-8-12 09:38:25 | 显示全部楼层
高手都不要潜水了  出来救救我们吧

出0入0汤圆

发表于 2011-8-12 20:44:45 | 显示全部楼层
我现在正在研究同样的问题,对倾角传感器还没弄明白,希望大家可以交流一下,qq:1031382517

出0入0汤圆

发表于 2011-8-31 12:03:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-11-25 16:10:06 | 显示全部楼层
可否加个Q615213015,我在写SPI接口,但是读不出来啊,麻烦了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 04:10

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表