打印

加速度传感器问题

[复制链接]
10374|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
工作半年,一个加速度,一个加速度,搞的俺是头昏脑胀!
好容易将陀螺仪(角速度传感器)搞的有个头绪了!加速度传感器又来了!希望各位大哥大姐给俺指点指点,在这俺跪谢了!闲话少扯,话归正传!
问题:
我用的加速度传感器型号是MMA7260(三轴加速度传感器),原理:对采样得到的加速度信号进行二次积分得到位移信息。问题来了,板子因为是在手中拿着的(产品),这样手在运动过程中,板子不可避免的会倾斜(人手拿的板子不可能保证是绝对水平的)这样重力方向的加速度分量就会掺入到水平方向的加速度中!
如何才能去除这个重力方向的加速度分量呢?
希望各位能指点一二!

相关帖子

沙发
xushouxue999|  楼主 | 2009-12-8 18:24 | 只看该作者
或者说不去除重力方向的加速度,但是也能得到运动方向上的位移呢?

使用特权

评论回复
板凳
sz_kd| | 2009-12-9 10:05 | 只看该作者
你要判断相对静止,这样 就可以避免开始倾斜时候的影响,就是说用相对值
呵呵,LZ用这个做距离计算,不过按理论是可以做距离的计算,但是好象很少用,准不准不知道,我做的项目都是做运动方向判断。

使用特权

评论回复
地板
xushouxue999|  楼主 | 2009-12-9 10:25 | 只看该作者
3楼看来是深入了解过这东东!
计算出来的不是不准而是很不准!
我也只是想做个运动方向的判断,然后根据不同的力度给它个不同速度值让它匀速运动算了!

开始的时候是要判断相对静止,但是在运动过程中这个值也一直在变化,也就是说它的姿态一直在变!
我估算了一下,运动方向的加速度值在低速运动时是很小的,倾斜1度都会相当于其运动方向的加速度值,这样重力方向的加速度值就成了影响输出值的主要因素!而这样运动方向也难以判别了!因为我就无法判断这是重力引起的,还是运动引起的加速度,因此方向也无法辨别了!

我的运动是个低速值,不会很大!
还请三楼的大虾再提示提示!谢谢了!

使用特权

评论回复
5
xwj| | 2009-12-9 10:38 | 只看该作者
嗯,我也发现这东西根本就不好算,重力加速度占的比例太大了。


LZ,你先把灵敏度改低再试

使用特权

评论回复
6
xushouxue999|  楼主 | 2009-12-9 10:45 | 只看该作者
其实一样都试过,我就是因为ADXL335的灵敏度太小了,我才换的MMA7260!
想提高灵敏度来试试看,也不行!郁闷了!呵呵,不过还是谢谢了!能有人回,能顶起来就行!
这样就能引高手来了!各位高手们来啊!

使用特权

评论回复
7
sz_kd| | 2009-12-9 11:40 | 只看该作者
不好意思,我也是菜鸟,不要误会啊,大家共同学习,我只是用博世的BMA020,SMB380做过运动方向的检测,也没有太深的研究。

你这个运动肯定会有倾斜的,关键是你要区别3个轴那个方向的相对加速度大,就以哪个方向为主,其它方向的忽略。我们做的人手运动方向检测是用了运动的轨迹然后根据这个轨迹做出算法,基本能检测到运动方向。

使用特权

评论回复
8
xushouxue999|  楼主 | 2009-12-10 11:02 | 只看该作者
sz_kd大哥:人手运动方向检测是用了运动的轨迹,这句是什么意思啊?
                  根据这个轨迹做出算法,此算法能简单提示一下吗?
谢谢了!

使用特权

评论回复
9
sz_kd| | 2009-12-10 11:17 | 只看该作者
回xushouxue999:我们将人手在各轴运动时候的输出波形在PC上用曲线显示出来,然后根据这个曲线的走向催式判断是往哪个方向的运动啊。这个你可以问问你的供货商,看看他们有没有测试各个方向运动时候的图形。

使用特权

评论回复
10
xushouxue999|  楼主 | 2009-12-10 11:28 | 只看该作者
哦,这个意思啊!我已经把三个方向加速度值和三个陀螺仪的输出显示在PC上了!那就是一个六路示波器呵呵!不过就是采样速率,和通信速率提不上去,要不就是个很好用的六路示波器了!

sz_kd大哥:把算法稍微详细的说一下下吧!谢谢了!

使用特权

评论回复
11
xiaotao_82| | 2009-12-10 11:45 | 只看该作者
玩惯性元件就少不了一个比较高精度的基准。对于加速度传感器,一般需要一个水平度很高的基准工作台面。一般都很重,远离门窗,避免人走动或开关门窗带来的干扰。要求更严的话甚至要求远离道路,避免机动车经过带来的震动。只要找准了一个方向让测量误差在允许范围内就好办了,其他两个轴的测量可以借住这个轴的输出进行观察。另外,任何高精度传感器都要有个预热的过程,也就是说传感器刚加电和加电半小时的状态是不同的。特别对于MEMS传感器,零漂稳定性是考量其性能的一个关键指标。

使用特权

评论回复
12
sz_kd| | 2009-12-10 11:59 | 只看该作者
你能看出3个轴运动的区别,自然就知道怎么区别是哪个方向的运动啊,然后怎么写程序就是简单事情了

使用特权

评论回复
13
xushouxue999|  楼主 | 2009-12-10 16:00 | 只看该作者
还想问个问题,我用什么变量来判断方向呢?是用速度吗?还是用位移?加速度应该是判断不了吧?
如果用速度来判断,理论上,从静止--运动--静止,这个过程对加速度一次积分速度的值应该是0,但实际不是的!这就造成一次运动完成静止,再向相反方向运动时,有一段时间还是沿着原来的方向运动!

使用特权

评论回复
14
xiaotao_82| | 2009-12-10 16:39 | 只看该作者
本帖最后由 xiaotao_82 于 2009-12-10 16:42 编辑

手册里面都写出来了,见附图。也就是说,零加速度的时候输出1.65V,设置测量范围为6g时,电压/加速度的换算方法是200mv/g。正向运动时,输出是在零加速度输出电压的基础上增加,反向运动时,输出是在零加速度输出电压的基础上减小。

111111111.JPG (4.91 KB )

零位输出

零位输出

222222222.JPG (9.62 KB )

比例因子

比例因子

使用特权

评论回复
15
awmc_m| | 2009-12-10 17:11 | 只看该作者
在x、y轴装两个水平传感器~~~:lol

使用特权

评论回复
16
宇容创行| | 2009-12-10 17:19 | 只看该作者
对采样得到的加速度信号进行二次积分得到位移信息

别指望用MMA7260和单片机能实现

使用特权

评论回复
17
xushouxue999|  楼主 | 2009-12-11 10:08 | 只看该作者
楼上大哥说的有道理,我也觉得运算量可能会有点大了,现在正准备换一款RAM芯片来处理!
但关键还是算法问题,算法搞不明白,处理能力再强也白搭了!

使用特权

评论回复
18
xushouxue999|  楼主 | 2009-12-11 10:12 | 只看该作者
谢谢14楼大哥!但是问题并没有我们想象的那么简单!运动时我们并不能保证运动方向保持绝对水平,重力分量不除,无法向你所说那样下手!

使用特权

评论回复
19
cool_coder| | 2009-12-11 12:42 | 只看该作者
理论上虽然可行,但是用这种加速度计根本做不到.
安装时使X轴平行于前进方向,Z轴垂直于前进方向.
这样,只要所在的载体是刚性的,Z轴就不会感受到运动方向上的加速度(飞机除外)
而X轴上的加速度为:Ax = V' - g * sin(a)
   Z轴上的加速度为:Az = g * cos(a)
   其中a是运动方向与水平面的夹角(向上为正).V'是运动方向上的加速度
这样就可以从测量到的Ax和Az得到倾角a和运动加速度V', 对时间积分可得速度V,再积分得距离
不过,这对测量的精度要求非常高.因为是积分运算,误差会积累

使用特权

评论回复
20
xushouxue999|  楼主 | 2009-12-11 13:08 | 只看该作者
非常感谢19楼大哥!
我已经做了一个试验台!在试验台上运动,类似于理想运动状态,平行于X、Y轴,垂直于Z轴!
在试验台上,我板子的运动基本是与PC显示的运动相吻合的!
你所说我也想过,关键就是当板子拿在手中之后,完全乱了套!拿在手中时,已不处于“使X轴平行于前进方向,Z轴垂直于前进方向.”的理想状态,在Y轴上也会有加速度分量!所以上述公式已不适用!只有一个公式是可行的,就是在相对静止时:
sqrt(Ax*Ax+Ay*Ay+Az*Az)=g

我对测量的精度要求不很高,累积误差倒也还好说,只要检测到相对静止时全部把它们清掉就好了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

31

主题

291

帖子

0

粉丝