社区导航

 

搜索
查看: 18494|回复: 44

[加速度/倾角传感器] MSP430 MMA7455 加速度传感器的SPI通信(附程序和资料)

[复制链接]

37

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2011-8-28 22:16 | 显示全部楼层 |阅读模式

        今天上午花了个把小时看了一下MMA7455的数据手册,写了一个MMA7455 加速度传感器的底层程序,采用SPI通信方式   ,网上关于此芯片SPI方式的资料好像比较少,但我个人觉得SPI比IIC好用很多,简单实用,而且速度比IIC要快  。

       现简单说明一下!!!此程序原创,写的程序应该是比较容易看懂的,采用软件模拟SPI实现,(数据时8位模式的,好像10位模式很简单,只需要换个地址就OK了,只测试了8位数据模式)模块化的程序,几乎不用修改可以直接移植到51、AVR等其他单片机上(只需要改个对应的IO口即可!!),实验室人在51上测试没有问题。还算比较稳定。测试了一下X、Z轴数据偏差不大,但是Y轴偏差比较大,应该需要矫正补偿!!!

       对于矫正的问题,我也看了一下,好像内部有个矫正寄存器,X、Y、Z轴对应的OFF7-OFF0,不知道具体如何矫正,还有其对应的64LSB-0.5LSB是什么意思,LSB不是低位的意思吗????

        还有一个任务就是把X、Y、Z轴的加速度转化为对应的角度值,这个怎么执行呢??个人想了一下,应该是通过X、Y、Z轴的加速度算出传感器平面和重力加速度方向的夹角,计算出这个值之后,采用arcsin来算出传感器平面与重力方向的夹角。不知道正不正确,具体实现呢???直接采用math.h头文件中的数学函数实现吗????那如果要计算与对应基准平面的夹角呢???不是与重力方向夹角。这个还是有点问题。请大虾指点。

       特别,把我今天上午研究的程序和所用到得资料全部上传,供大家参考!!!!!

       注意哦!!全部免费哦!!大家不需要芯币可以直接下载!!!!谢谢!!!

[ 本帖最后由 li460135301 于 2011-8-28 22:35 编辑 ]
来源:EEWorld 传感器板块,转载请附上链接

MMA7455L.pdf

664.19 KB, 下载次数: 1313

数据手册

MMA7455中文.doc

296.5 KB, 下载次数: 1792

中文手册

AN3468.pdf

556.01 KB, 下载次数: 1228

应用手册1

AN3745.pdf

44.36 KB, 下载次数: 638

应用手册2

MMA7455 430 测试程序.zip

27.72 KB, 下载次数: 1722

测试程序

点评

不错,有用 :)  详情 回复 发表于 2012-7-17 15:34

评分

1

查看全部评分



回复

使用道具 举报

22

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-28 22:27 | 显示全部楼层
下了


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-28 23:23 | 显示全部楼层
都看过了。。。


回复

使用道具 举报

866

TA的帖子

3

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

荣誉会员勋章

发表于 2011-8-29 09:16 | 显示全部楼层
LSB是有效位的意思,其实不用深究这个;
对于加速度转倾角坛上的朋友有贡献的。
参考:

http://bbs.eeworld.com.cn/thread-158139-1-1.html


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-8-29 13:51 | 显示全部楼层
LZ好人啊                           


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-8-29 16:28 | 显示全部楼层

关于校正

$10-$15是三个轴的校正寄存器,个人认为是在这三组寄存器里写值可以校准0点,也就是在基准平面让三个轴的测量值是零,可能各人买的器件和地理位置不一样要校准的值不一样,大部分人都固定的添了一个经验值。我的做法是写了个自动校准函数,在初始化之后每次写入校准值测量,直到测量值为0则校准完成,个人见解,有错误请指正。其他功能还没怎么看懂,尤其是门限电压和z轴自检那块,请高手指教。想进一步交流的请给我发邮件ybcelephant@163.com


回复

使用道具 举报

18

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-8-29 20:00 | 显示全部楼层

看看好用不好用,我有网上买的模块给的程序都用不了。



回复

使用道具 举报

18

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-8-29 20:06 | 显示全部楼层
悲剧,这样的程序模块是模块了,问题不是每个人都看得懂了,你还是放一个51程序上来吧。


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-29 20:09 | 显示全部楼层
还是很感谢楼主的。。。。。。


回复

使用道具 举报

37

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2011-8-29 20:26 | 显示全部楼层

回复 8楼 a105 的帖子

应该很容易看懂啊!!需要移植只需要把MMA7455.h的头文件里面的IO口修改一下就可以了!!!

把这几句换成对应的IO口就可以了!!假如你如果用的也是P10-P13的话只需要把
#define MMA_COM                P1OUT
#define MMA_COMD        P1DIR
#define MMA_COMI        P1IN
#define MMA_COM_INIT        MMA_COMD |= 0x0d


#define MMA_SDO_INPUT                MMA_COMD &=         ~(1< #define MMA_SDO_OUTPUT          MMA_COMD |=         (1<
改成
#define MMA_COM                P1
#define MMA_COMD        P1
#define MMA_COMI        P1
#define MMA_COM_INIT       


#define MMA_SDO_INPUT                MMA_COMD |=         (1< #define MMA_SDO_OUTPUT     


如果用的IO不一样就只需要把那0,1,2,3换成对应的IO了!!!就可以直接在51上运行了!!!


回复

使用道具 举报

1万

TA的帖子

15

TA的资源

版主

Rank: 6Rank: 6

发表于 2011-8-30 06:11 | 显示全部楼层

谢谢分享,

关于效正就是就在应是0点的位置,但显示不是零时,往效正寄存器写个数就行。难道每次都要效正吗?
http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr


回复

使用道具 举报

37

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

 楼主| 发表于 2011-8-30 09:39 | 显示全部楼层

回复 6楼 ybcelephant 的帖子

那我测出的Z轴加速度>g是真么回事!!重力加速度怎么可能大于g呢??


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-31 10:01 | 显示全部楼层

very good

就是杂不能用啊?啥单片机啊?


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-31 15:19 | 显示全部楼层
楼主能方便留一下联系方式吗?


回复

使用道具 举报

9

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-8-31 15:53 | 显示全部楼层
能给您的头文件加一下备注吗,看看每行是设置什么的,我们好做相应修改。


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-31 19:00 | 显示全部楼层
不是很清楚,如果有SPI芯片  你那个程序如果加上注释就清晰多了


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-8-31 19:01 | 显示全部楼层
你那个头文件 我怎么没看到啊


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-9-1 08:43 | 显示全部楼层

楼组好人啊。。



回复

使用道具 举报

33

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2011-9-1 22:52 | 显示全部楼层
下了,谢谢


回复

使用道具 举报

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2011-9-21 13:35 | 显示全部楼层
谢谢


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-9-18 21:31 , Processed in 0.552344 second(s), 19 queries , Gzip On, MemCache On.

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