智能车制作

标题: MMA8452读出来的补码应该怎样换算成角度? [打印本页]

作者: homehehe123    时间: 2012-12-5 10:41
标题: MMA8452读出来的补码应该怎样换算成角度?
可不可以像模拟的那样直接乘一个比例,还是要用反三角函数,求做过的大神指教
作者: fmadot    时间: 2012-12-5 10:50
自己做一张表 直接查表
作者: homehehe123    时间: 2012-12-5 10:59
你的意思是找出每个数值对应的角度?

作者: turf456    时间: 2012-12-5 11:56
本帖最后由 turf456 于 2012-12-5 12:16 编辑

更进一步说,角度很小的情况下,x/g≈x
作者: yukunlinykl    时间: 2012-12-5 12:18
凤姐是正解
作者: homehehe123    时间: 2012-12-5 12:23
额,凤姐,你的意思是用系数找出加速度对应的角度。。不用管G,也就是不用管反角函数了?
作者: 吢冇紷蒠    时间: 2012-12-5 15:01

作者: fmadot    时间: 2012-12-5 17:35
yukunlinykl 发表于 2012-12-5 12:18
凤姐是正解

其实我也是这么干的 不过我开机时候车要平躺 所以大角度还是做了表的


作者: homehehe123    时间: 2012-12-5 17:40
fmadot 发表于 2012-12-5 17:35
其实我也是这么干的 不过我开机时候车要平躺 所以大角度还是做了表的

请问,你说做表是为了什么?列出各个加速度值对应的角度?然后找出可以直接使用的系数?望解答啊
作者: fmadot    时间: 2012-12-5 17:44
是啊 做表查的快呀 不比直接乘系数慢 而且角度偏大后乘系数就不准了
作者: fmadot    时间: 2012-12-5 17:45
不过坐表消耗FLASH空间 看你自己想法
作者: homehehe123    时间: 2012-12-5 18:28
fmadot 发表于 2012-12-5 17:44
是啊 做表查的快呀 不比直接乘系数慢 而且角度偏大后乘系数就不准了

额,好像我理解错了,我以为做表就是找出一个可以乘的系数,那你所指的可以查表是什么意思了。查出来的人知道,单片机不知道啊
作者: homehehe123    时间: 2012-12-5 18:30
fmadot 发表于 2012-12-5 17:44
是啊 做表查的快呀 不比直接乘系数慢 而且角度偏大后乘系数就不准了

做表的程序是怎样的。。。主要目的就是让单片机自己对着查,然后选择正确的角度??是这样,大神?
作者: homehehe123    时间: 2012-12-5 18:32
做表,程序实现好像有点困哪
作者: homehehe123    时间: 2012-12-5 18:33
fmadot 发表于 2012-12-5 17:44
是啊 做表查的快呀 不比直接乘系数慢 而且角度偏大后乘系数就不准了

求解啊

作者: fmadot    时间: 2012-12-5 19:22
homehehe123 发表于 2012-12-5 18:33
求解啊

开个常量数组当表查啊。。。哥

作者: homehehe123    时间: 2012-12-5 21:58
fmadot 发表于 2012-12-5 19:22
开个常量数组当表查啊。。。哥

汗,想复杂了,想到堆栈,矩阵上去了。但是大神,这个数组包含的应该是一个大角度范围内加速度输出的各个数值对吧。问题是最好列上去几个数值了?比如说0到30度,是不是列上去0度,1度,2度直到30度对应的加速度输出?如果分的太细的话也找不准数值啊。。大神,望回复啊!!!

作者: fmadot    时间: 2012-12-5 23:27
你自己拿单片机输出一下所有可能的加速度值 然后放在电脑上用C语言或者其他数学工具 MATLAB之类的算一下角度 横向加速度就能和角度值求出个关系啦




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2