极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 23325|回复: 13

ADXL345+L3G4200D怎么获取水平平移量?

[复制链接]
发表于 2012-8-7 18:04:29 | 显示全部楼层 |阅读模式
本帖最后由 ssxhf 于 2012-8-8 10:09 编辑

我本业是移动应用软件开发,两周前忽然想起小时候对航模航空的爱好和梦想,突然打算做个四轴飞行器(感觉自己还有一腔热血呵)。花了一周时间淘了一两千的零部件、模块和工具等回来,机架、动力系统、控制等也一并全部DIY组装完毕。小时候爱电子技术所以入门比较快,但要进级就得研究得更细腻了。

好了背景介绍完了,麻烦来了,飞控系统让我纠结了好几天,用arduino + ADXL345 + L3G4200D搭好系统拿到数据,目前能用ADXL345的 x、y两轴水平倾斜数据再复合L3G4200D的 x、y两轴加速度数据来保持机身水平。滤波也没用著名的卡尔曼滤波,因为没看懂怎么用呵,所以干脆自己用统计的思路写了一个,倒也挺有效果(回头再研究卡尔曼滤波),PID也没用。现在好逮能平飞起来,但不平稳,不能悬停,会延着水平面平移,想必做多轴的都遇到过这状况。我现在就卡这了,如果轴向没有转动我不知道该怎么拿水平平移量,或叫水平加速度的值,拿到平移数据就能调整机身反向倾斜回到原点悬停,请求各位高人指点迷津!!

{:soso_e183:} {:soso_e183:} {:soso_e183:}

来张全貌:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2012-8-7 22:02:51 | 显示全部楼层
自己顶一下,求版主,求高人.....
回复 支持 反对

使用道具 举报

发表于 2012-8-8 08:43:29 | 显示全部楼层
虽然没有玩过四轴,但是个人理解,加速度传感器和角速度传感器似乎做不到检测水平平移量。

你的问题似乎是滤波与电机控制问题。
看似水平,其实你的四轴飞行器还是有一定的偏转角,所以才会向某一方向偏移。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-8 10:03:25 | 显示全部楼层
谢谢BlackCat 的回复!
从操作上来说很难做到绝对水平,不管是电路安装,动力系统固定,以及空气本身的不稳定性,更不用说大家DIY手工打造的机架,精准度,重量分布不均等因素的存在。所以照理说应该需要获知水平平移加速度,来反向倾斜补偿这种平移。

也许可以用现成的MWC飞控软件,研究一下如何使用它,以及它怎么进行平移补偿。

继续等答案。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 10:47:38 | 显示全部楼层
不懂得飘过。。。看到了苹果电脑。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 10:59:05 | 显示全部楼层
不懂得飘过。。。看到了苹果电脑(而且居然装的是win7,鄙视呀鄙视)。。。
回复 支持 反对

使用道具 举报

发表于 2012-8-8 17:33:53 | 显示全部楼层
没用卡尔曼和PID,真是大牛了!回头我们讨论下了!
回复 支持 反对

使用道具 举报

发表于 2012-8-8 17:52:25 | 显示全部楼层
http://www.amobbs.com/thread-3579056-1-1.html
这里有编文章,很详细,只是太F杂!!{:soso_e134:}  
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-8 19:26:59 | 显示全部楼层
痛苦反思了一天,觉得真不应该重复去做前人已经创造出来并且做得很好的东西,比如说multiwii MWC飞控!重复无谓的劳动还是低级重复,唉。并且让四轴飞起来并不是我的目标,而只是基础手段,为什么不直接拿来现成的开源产品来用呢?飞起来仅仅是婴儿学会走路,真没必要把时间耗在这里......
回复 支持 反对

使用道具 举报

发表于 2012-8-8 20:17:42 | 显示全部楼层
MWC 已组成的一个团队,很多人(爱好者)去维护及更新的。。。。LZ已经狠不错了..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-9 14:36:50 | 显示全部楼层
昨天看了一天的multi wii MWC飞控的资料,有一个问题挺让人困惑的,所有资料都是用遥控器来控制的,MWC软件界面里也没有任何能发出控制指令(油门、方向等)的按钮。根本没有可以用串口或蓝牙来测试的方法,挺郁闷的。代码里面大概搜了一下也没看到接收串口信号,或RC PPM解码的地方,真是百思不得其解啊。

在淘宝上淘了商品化的MWC飞控板(还没收到),等到手后继续研究...
回复 支持 反对

使用道具 举报

发表于 2012-8-9 15:53:39 | 显示全部楼层
建议你尝试加入一种控制方法,比如PID控制。
当然pid控制方法不一定适合你的,没有研究过mwc,不过既然是遥控器控制的,必定有遥控的无线数据传输方式

陀螺仪和加速度计在各种外在条件影响下,它的零点便宜量也是随之变化的,可以通过遥控器进行微调,使之达到平衡状态。

如果只用陀螺仪和加速度计来控制的话,有可能保持住平衡状态,但是要求高度等我估摸着需要GPS或者还有个什么地球磁场计、大气压力的仪器来帮助你完成方向控制,高度控制。没有这些的话四轴貌似没有固定的参照来确定这些参数。

例如我手上有个直升机玩具,里面只有一个陀螺仪,红外线遥控。尾部螺旋桨控制前进和后退,这个和四轴的原理差不多,但是方向控制没整明白。这个机子不是很好控制。控制的时候参照就是直升机的机头机尾,如果要它滞空不动,它也会朝某一方向作细微的转向和水平漂移。

希望我的理解能对你有些帮助。
回复 支持 反对

使用道具 举报

发表于 2013-3-3 19:00:12 | 显示全部楼层
怎樣,成功了嗎?我才剛開始學啊
回复 支持 反对

使用道具 举报

发表于 2013-3-26 16:38:35 | 显示全部楼层
要想测飞机的平移量用ADXL345读出数据的两次积分应该可以,一次积分是速度,再一次积分是位移,不过这样测应该不会太准。建议你看一看惯性导航的书籍。用GPS测飞机的位置的变化才是王道啊。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 00:02 , Processed in 0.041048 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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