打印

ADXL345,单片机求Y,Z轴角度

[复制链接]
4991|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
波板糖|  楼主 | 2013-7-30 14:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
老鱼探戈| | 2013-8-1 09:32 | 只看该作者
X轴角度值是,X轴和Z轴的反正切值(换算成角度),减去原始夹角90°。
即:
假如X、Y、Z为原始数据,那么X的角度是
Roll=(float)(((atan2(Z,X)*180)/3.1416)-90);
Y轴原理和X轴一样(以水平为参考)。



使用特权

评论回复
板凳
波板糖|  楼主 | 2013-8-1 15:09 | 只看该作者
老鱼探戈 发表于 2013-8-1 09:32
X轴角度值是,X轴和Z轴的反正切值(换算成角度),减去原始夹角90°。
即:
假如X、Y、Z为原始数据,那么X的 ...

11年全国电赛B题,大都采用的查表方式来推算角度。用函数会不会计算太慢,我自己用函数液晶显示角度不连续

使用特权

评论回复
地板
老鱼探戈| | 2013-8-1 15:28 | 只看该作者
波板糖 发表于 2013-8-1 15:09
11年全国电赛B题,大都采用的查表方式来推算角度。用函数会不会计算太慢,我自己用函数液晶显示角度不连 ...

不连续? 你的意思是不是说显示的时候出现数据“跳动”的情况。那就稍微加些软件滤波就可以了。

若按你说的做成表格,那就计算才出一些角度的数据做表就行了。
如果要精确到1°,那就需要计算出90个数据,由于atan函数的非线性,最好不要用所谓的规律。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
波板糖 + 1 很给力!
5
波板糖|  楼主 | 2013-8-1 16:02 | 只看该作者
老鱼探戈 发表于 2013-8-1 15:28
不连续? 你的意思是不是说显示的时候出现数据“跳动”的情况。那就稍微加些软件滤波就可以了。

若按你 ...

现在Z轴从0变化到1.01。取0到60度就行,60度变化幅度大。只测轴加速度(倾斜不同Z变化),即0~60度变化Z值对应变化,这样知道Z就知道角度。可行不?函数怎么写?(这是软肋)

使用特权

评论回复
6
老鱼探戈| | 2013-8-1 16:16 | 只看该作者
本帖最后由 老鱼探戈 于 2013-8-1 16:18 编辑

你的1.01是弧度吧。换算成角度啊
可行,但是准确度有待考证。
其实就是一个夹角,三角函数就行。注意地心的G就行

使用特权

评论回复
7
波板糖|  楼主 | 2013-8-1 16:51 | 只看该作者
老鱼探戈 发表于 2013-8-1 16:16
你的1.01是弧度吧。换算成角度啊
可行,但是准确度有待考证。
其实就是一个夹角,三角函数就行。注意地心的 ...

感谢,1.01直接就是对地加速度,嘿嘿

使用特权

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

本版积分规则

4

主题

206

帖子

3

粉丝