5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: c_nmusic
打印 上一主题 下一主题

共轴双桨自动驾驶直升机

[复制链接]
101
发表于 2008-5-24 10:28 | 只看该作者
加油哦~

欢迎继续阅读楼主其他信息

102
发表于 2008-5-24 11:48 | 只看该作者
很好~很强大!继续发扬!
103
发表于 2008-5-24 12:59 | 只看该作者
这种贴要死顶。lz牛人一个。
104
 楼主| 发表于 2008-5-24 15:10 | 只看该作者
用便宜元件搭的电路效果就是比较一般啊。目前的几种传感器模块精度都不是很高。

上午修改了一下二维磁阻传感器的电路,稍微好了一点,转动45度的范围能大概区分开了。估计是放大电路的布线问题造成干扰很厉害的。这个磁阻芯片的输出电压非常小,要放大将近1000倍才能使用。布线时输出距离放大电路远了点,中间被别的信号给干扰了。

目前的超声波模块精度也不高,我先没有让它计算实际的距离,就用一个简单的循环累加计数来看回波和发射的时间间隔。目前的输出数据也就百位还比较准一点,大概能知道一个距离范围。
不过检测不到回波的返回数据还是很准确地。:em15:

至于陀螺仪和加速度计,也都马马虎虎了。反正都是便宜货,要求也不能太高了。
105
 楼主| 发表于 2008-5-24 18:23 | 只看该作者
简直是没天理。

刚才把螺旋桨都拆了,比较了一下带原装4合1的LAMA和我改造的LAMA,在马达转速中等的情况下,对于偏转的相应情况。
原装的LAMA反映非常迅速,一有偏转立马可以听到马达改变转速的声音变化。而我的LAMA简直是反映迟钝,转动都停止了才想起来改变马达转速纠正。

代码查了半天也没结果,最后看到原理图上的高频和低频滤波电容,试探性的把这几个电容拆了。结果,我的LAMA现在也变得反映迅速了。

比较没有天理....:em17:
106
 楼主| 发表于 2008-5-24 20:22 | 只看该作者




目前的安装方法,陀螺仪放到了电池旁边。
回头去买些长一点的排线,应该能放到干扰更少一点的地方。
107
 楼主| 发表于 2008-5-24 21:24 | 只看该作者




云台和舵机。

图里只有一维的控制,另一维在摄像头的控制板上,这个板子还没做好。
随便找了以前的一块小板装上看看样子。

外框架的设计有些问题,这一维球头应该安装到上面比较好,但预留的距离不够,当时没有想好,现在先这样将就吧。
拍摄角度不是很大。
108
 楼主| 发表于 2008-5-25 20:43 | 只看该作者
今天比较郁闷。

根据昨天的发现,今天把玩具双桨的电路也做了相同的调整,把2个电容去掉了。现在MCU对陀螺仪的反应更加迅速了。

不过问题也出来了。根据以前的算法,发现偏差后就一直纠正,直到没有偏差位置。现在反馈速度快了以后,这个纠正表现为一下子一个桨转速降低到底,另一个桨正常。稍微偏一下2个浆的状态就反过来。造成起飞的时候都只有1个螺旋桨在转了。另一个螺旋桨的转速被纠偏的调整降低到都不转的地步了。

还需要想一个更好一些的算法啊。
109
 楼主| 发表于 2008-5-25 20:54 | 只看该作者
根据我的观察,LAMA的算法应该是一种比较固定的算法。

比如发现陀螺仪的数据离中立点偏差-40,那么上螺旋桨减慢10,下螺旋桨增加10。诸如此类,一步到位。

我现在的算法是逐渐逼近,有偏转就一直不停地修正。直到不偏了或达到最大修正幅度为止。
110
 楼主| 发表于 2008-5-26 20:05 | 只看该作者
经过一天的仔细观察,终于了解了LAMA的算法并成功用到我的玩具飞机上。

这个算法也真够简单的,最最核心的部分只要3行就完成了。如果加上限幅及微调的代码,也才11行就足够了。

大概说一下吧。

一切的数据,都要从陀螺仪的输出数据开始。因为在飞机刚加电初始化时,可以得到一个陀螺仪静止状态下的中立点。所以当飞机开始飞行后,如果出现偏转,都可以通过将陀螺仪的实时数据和中立点比较,得出一个或正或负的差异。这个正负就说明了飞机的旋转方向,而这个数据的绝对值大小就是旋转的角度。

利用正负,可以知道应该给哪个马达加速,给那个马达减速。比如我的飞机上,如果为正,说明飞机顺时针转。纠正的方法就是要提高顺时针转的马达的转速,同时减少逆时针马达的转速。我在模拟LAMA的算法里,直接把这个角度信息作为增加或减少的具体数值。于是飞机就可以非常快速地修正旋转。这里有一点要注意的,就是这个偏差值是需要累加的,这样才会不断地修正偏转。

LAMA的算法里,在没有检测到旋转的时候,是逐渐降低修正参数,直到为0。这部分我以前没有写,所以造成起飞的时候由于上次修正的关系,可能一个马达转,一个马达不转。这个逐渐递减的代码也非常简单,就是一个比较和减法就搞定了。

明天继续试飞,看看新加的中立点调整的算法是不是真的很管用。
111
发表于 2008-5-26 22:05 | 只看该作者
有意思:em26:
112
 楼主| 发表于 2008-5-27 11:28 | 只看该作者
还是比较让人郁闷。

虽然微调也确实可以发挥作用,但经过反复尝试,发现效果并没有好过以前的算法。最后的非常缓慢的旋转依旧存在无法克服。

不知道各位LAMA调整到可以只管一个油门的时候,机身不自旋的时间能维持多久。
113
 楼主| 发表于 2008-5-27 15:28 | 只看该作者
给LAMA的控制板看来是布线的问题,干扰总是非常大,马达一转起来基本收不到什么数据了。而换成以前给玩具飞机的电路板就没问题。

现在不敢装螺旋桨了,飞起来停不下来就麻烦了。

电路板要重新布线,重新送去做板。又要一段时间了。
114
发表于 2008-5-27 15:33 | 只看该作者
才看到此贴,LZ很强啊,要顶,LAMA是很稳定的,调好的机脱手5秒是不难的,
115
发表于 2008-5-27 16:39 | 只看该作者
一口气看完了8楼高的大厦...结果强啊...
116
 楼主| 发表于 2008-5-27 20:03 | 只看该作者

回复 #114 59hang 的帖子

1分钟可以吗?我自己的LAMA坚持不了5秒就开始或左或右平移,这时就必须动控了,否则就撞墙了。

目前我的玩具机机最好的纪录是10秒内没有任何偏转,但是再长就不行了。不是左旋就是右旋,虽然速度很慢。

比较郁闷。
117
 楼主| 发表于 2008-5-27 21:38 | 只看该作者
目前的重点转移到板子的重新设计和软件模块编写上。

目前已经有好几种板子了,最近要把输入/输出接口都统一一下。凡是采用了MCU的板子,都包括一个ISP和2个I2C的端口。2个I2C的目的是因为用的这种高密度插座,2头的引线顺序刚好相反,所以只好没种板放2个顺序相反的I2C插座。虽然麻烦些,但冲着这个插座和线的重量上,也值了。线加插座才1克多一点,而一般的2.54间距的一个3P插头就比这种重了。

还要设计一个核心的MCU处理器板,用来将3轴陀螺仪,3轴加速度计,2维磁阻传感器和超声波以及将来可能的红外平衡仪的数据综合起来处理。这个用51是肯定没戏的。目前想采用AT的ARM7芯片。然后通过I2C总线指挥各个51的马达/舵机驱动板去执行各种动作。

现在的板子一块上都拼了好多个小板子,为了不让制版厂家有借口多收我钱,板和板之间什么过孔,开槽都没有。拿回来我自己锯,顺便练习一下木工活。所以这次我想多拼几种MCU处理器板,把LPC的MCU也放上去,然后实际比较一下到底哪种效果好。上一块带8通道舵机处理板,遥控汽车的控制板,调试板,摄像头子板,摄像头数据处理板等一共8种板的电路板,商家也才要我300块。还是很合算的。如果单块做,每种板最低收费要200呢。
118
发表于 2008-5-27 23:29 | 只看该作者
看到这里!期待
119
发表于 2008-5-28 09:56 | 只看该作者
我的观点不知对不对,LAMA的稳定性和装了MFA平衡仪的单翼直机差不多了,它的上翼起了很好的重心平衡作用,但水平漂移是受气流影响,要保证自动悬停在小范围内,用helicommand3D 平衡仪中使用光电鼠标原理克服水平漂移,应该很有成效.其实光电鼠标的芯片就有四个方向位移的判断和输出.
电直虽小,技术含量很高,期待看到LZ的成果.
120
发表于 2008-5-28 12:28 | 只看该作者
太强了,武装到牙齿,我看就差惯性导航了,呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /1 下一条

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