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

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

共轴双桨自动驾驶直升机

[复制链接]
621
发表于 2008-12-29 22:50 | 只看该作者
最差的光学鼠标芯片的对外输出的刷新频率是40HZ(这种好像现在不生产了),好一点的是90HZ,还有更高的。。。内部采样频率是1500HZ应该能满足使用了吧?

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

622
 楼主| 发表于 2008-12-30 09:16 | 只看该作者
问题并不是输出的刷新率,而是探测范围。

目前的光电鼠标芯片上的传感器面积都很小,一般都是20X20像素的。即便配合上长焦距的镜头,类似淘宝上手指鼠标,对移动的检测距离也不会很远。估计距离不会超过2米吧。而四轴如果在空旷地方起飞,随随便便四周距离参照物的范围就可以超过2米,这样芯片就无法识别了。

所以如果要用光学检测的话,还是需要专门的传感器芯片。但这样的话就需要快速的DSP,而且即使这样识别速度能达到多快也是一个问题。
623
 楼主| 发表于 2008-12-31 14:43 | 只看该作者
目前看起来,四轴的平衡算法只剩下一种了。
那就是对陀螺仪数据进行积分,然后实现类似锁尾的控制方式。不光阻止四轴的一侧下沉或上浮,还要负责将这个轴恢复到初始位置。

最不喜欢的就是积分,因为非常容易把错误的数据给放大。但看起来目前没有别的方法了。
624
 楼主| 发表于 2009-1-6 21:57 | 只看该作者
最近一直在研究无刷电调。通过研究UAVP的代码,发现老外只用简单的PID对陀螺仪数据进行处理就可以达到稳定的效果。于是想也许是商品无刷电调的处理方法有问题,是不是内置了一个PID控制器造成修正姿态的延迟。

参考老外的电调原理图,自己画了一个电调板。顺便也画了一个电源板,这样可以做到接双电池,可以输出给10路电调供电。同时加了M8,串口和一个气压传感器。还有2组I2C接口,每组都可以接出10多个I2C设备。这样以后就不用把电源线焊出5、6个头了。

电路板已经送去作了,估计要1星期。这几天继续研究算法。现在发现利用卡尔曼滤波后的倾角信息反推出陀螺仪的数据效果很好。卡尔曼滤波的结果可以一直进行积分,都不会出现问题。甚至陀螺仪温飘引起的误差都可以被自动消除掉。可以这么说,加了40块的加速度传感器后,配合上卡尔曼滤波。50块的ENC-03陀螺仪的性能可以达到300块的AD公司的陀螺仪了。:em15:

刚才仔细测量了一下各个部分的处理时间。目前卡尔曼滤波的计算速度是2ms一次,500Hz。平衡算法的处理时间是10ms一次,100Hz。SD卡数据记录比较慢了,因为访问SD卡再加上传输数据比较耗时,17Hz,大约58ms。按理说这个速度对于平衡这个四轴来说应该足够了。电调的更新速度现在提高了3倍,经过测试新西达的电调可以接受4ms或者更短的PPM脉冲而不会出问题。

目前的问题就是对积分后的数据做PID所引起的震荡,按理说这个积分结果已经包含了速度信息,当积分接近0时,表明马达转速应该调整到稳定状态。可实际情况是马达虽然已经基本消除修正动作了,但四轴本身由于惯性还在往修正方向过度地运动。于是造成反向数据开始继续积分。一个震荡由此产生,而且越来越厉害。:em17:

[ 本帖最后由 c_nmusic 于 2009-1-6 22:03 编辑 ]
625
发表于 2009-1-8 14:48 | 只看该作者
LZ太牛啦``进度怎么样啦?
626
 楼主| 发表于 2009-1-8 17:34 | 只看该作者
今天试飞了一下,有些比较厉害的抖动。不过我已经把刷新频率提高到差不多250Hz了,应该快接近成功了吧。

我们的口号是:就算商品电调里有PID,我们也要用极快的频率让他P不出。:em15:

[ 本帖最后由 c_nmusic 于 2009-1-8 17:41 编辑 ]
627
 楼主| 发表于 2009-1-11 19:28 | 只看该作者
终于开始能稳定了,居然是意想不到的问题。

以前的陀螺仪/加速度计的板子我通过橡胶圈固定到底板上,结果不管使用什么算法,都无法飞稳定。老外的直接对陀螺仪做PID的方法更是不行了。前几天调试卡尔曼滤波的问题,顺便调整安装位置,把陀螺仪的板子上移到第二层,通过4个螺丝“悬挂”起来,结果以前不行的算法一下子好用了。再把安装位置还原回去就又不好使了。

我估计可能是2层间的塑料柱和玻纤板的自身震动的引起的,造成陀螺仪的数据无法准确反映出四轴的实际情况。

真是做梦也想不到的问题啊,看起来这个才是真正核心的问题,速度只是其次。

新西达的好赢兼容的电调性能还不错,目前的波形达到187Hz,居然没有任何问题。这个频率辉圣9g舵机都受不了了呢。
628
发表于 2009-1-11 23:29 | 只看该作者
精神上支持lz 等着看最终的成果 lz加油
629
 楼主| 发表于 2009-1-12 16:56 | 只看该作者
今天几次试飞都还是不错的,特别是刚才调整了锁尾PID参数后的那次,飞行非常平稳,直到落地都没有旋转。

但问题最大的漂移还是存在,看老外的代码,都有利用加速度计进行补偿。不过有意思的是老外都没有复杂的诸如卡尔曼滤波之类的东西,都是简单的求和、平均,外加一点点乘除移位等运算。看来老外也认同简单的就是最好的。我利用卡尔曼滤波几次尝试抑制漂移效果都不好,不是开始震荡就是越飘越厉害。:em17:

现在的X轴,Y轴以及锁尾都是只对陀螺仪的数据做了P运算,那个参数刚好是100:em15: 。看了一下刚才的飞行数据,漂移的时候机身的倾斜还是很明显的,加速度计的X轴和Y轴可以看到明显的左飘为正,右飘为负的数值。

目前为了避免温飘,每次起飞前都自动重新校准一遍陀螺仪参数。可惜电池就没办法了,室外0度的情况下我的20C,2200mAh的电池也就飞几分钟就没电了。

目前的姿态调整频率稳定在100Hz左右,在这个速度下,我看只有P就挺不错的了,加上I后反而会引起震动。
630
 楼主| 发表于 2009-1-13 12:11 | 只看该作者
冬天在外面试飞,感觉不是很好。外面0度左右,电池很快就没电了。

刚才接上一个50A的电流表,实际测了一下四轴的电流消耗。11.1V,3S,20C,2200mAh电池,起飞时电流12A左右,90%油门20A左右。电流没有超过电池的安全放电要求。

看来就是温度的影响,刚冲好电的电池飞3分钟就没电了。:em17:

也不能说完全没电,就是飞3分钟后再飞电池电压下降非常快,然后接收机对电压波动比较敏感,造成收到的油门数据不正确,然后就停转了。
再飞的话,有一个电调就要重起了。

[ 本帖最后由 c_nmusic 于 2009-1-13 12:14 编辑 ]
631
发表于 2009-1-13 20:34 | 只看该作者
等待楼主成功视频。。。。:em24:
632
发表于 2009-1-14 02:22 | 只看该作者
:em26: :em26: 楼主这个搞好了后打算研究什么了?
633
 楼主| 发表于 2009-1-14 09:10 | 只看该作者
等到这个四轴遥控飞行稳定了,下面准备加GPS、气压传感器等等,争取往UAV的方向发展。

以四轴作为平台有好几个优势。首先它是自己设计的,所以想加什么都可以,没有限制。另外这个四轴比较结实,禁摔,不像LAMA或者MD500那样,摔几下就要买配件。然后就是这个四轴看起来“不完全像玩具”,那出去试飞感觉能好些。:em15:
634
 楼主| 发表于 2009-1-18 19:39 | 只看该作者
总结一下目前四轴碰到的问题:
1、减震,目前的陀螺仪和加速度计通过4根长螺丝“悬挂”到机架下面,这4根螺丝和机架之间用4个橡胶圈隔离,这样整个陀螺仪模块可以稍微晃动。如果没有这4个胶圈,直接用螺母把螺丝拧住,四轴就无法飞好。震动造成陀螺仪数据变化幅度很大。

2、卡尔曼滤波。目前的结论是,我无法让卡尔曼滤波在四轴上正确地发挥作用,在大震动环境下干脆数据不对。明明该是正的倾角,非要给我负的。结果就是只要用到卡尔曼滤波的算法都是失败。

3、接头接触不良。虽然那些杜邦插头看起来插的挺紧,但如果线和板没有固定结实,四轴的震动加上灰尘会让这些插头逐渐接触不良。我的板的油门接收信号线就是这样,害我还专门买了二次变频接收结果问题依旧。

4、补偿算法。目前的平衡算法是直接用PID对陀螺仪数据进行处理,而且只用了P参数就可以飞的还不错了。以前尝试用加速度计来补偿陀螺仪中立点漂移造成的影响,结果发现加速度计被震动干扰的非常厉害,机身即使倾斜严重也无法从加速度计的数据里看出来。现在不用这些补偿了,连积分也没用。只要四轴重心合适,是可以在空中自动恢复平衡的。前提是空间足够大。

5、ENC-03陀螺仪。便宜的东西就是质量一般。现在是冬天,外界温度很低,陀螺仪拿出去过一段时间就会由于温飘造成中立点变化。这还好说,我现在每次起飞前都重新定一下陀螺仪中立点。关键的问题就是如果机身受到冲击,比如掉下来。陀螺仪的数据一下子会变化很大,而有时候这个数值是不稳定的,好像陀螺仪那里被“卡住”了。如果以这个数据作为中立点,后面的数据变化会非常突然,完全不能表达实际的角度。目前我的Z轴陀螺仪就有这个问题,我的解决方法是——那起来拍几下,然后陀螺仪就老实了。

6、电池。同样的算法,同样的参数,针对刚充满电的电池和电不足的电池表现出来的飞行效果完全不一样。这是今天中午刚刚发现的。两者差异22%。如果不针对充满电的电池降低P参数就无法飞稳。

[ 本帖最后由 c_nmusic 于 2009-1-18 19:53 编辑 ]
635
发表于 2009-1-21 07:50 | 只看该作者
真复杂啊!
636
发表于 2009-1-21 16:05 | 只看该作者
花几个小时看完这个帖,学到不少东西。希望楼主早日成功!
637
发表于 2009-1-22 00:29 | 只看该作者
花了三天看完了
这么好得,补顶对不起我三天得网费啊
楼主加油!~~
638
发表于 2009-1-24 09:48 | 只看该作者
花了三天看完了
学了不少知识,楼主加油!~~
639
 楼主| 发表于 2009-1-27 12:36 | 只看该作者
上一架四轴,刚刚能飞,下午就被老总拿走了。我连录像都没来得及拍呢。:em17:

最近重新做一架新的,这回尝试使用德国人的I2C电调。春节前从网上订购了一些电调板,花了几天时间焊好,调试好。

机架部分改动不大,不过由于测试过电流消耗,所以这次就没用很重的香蕉插,转而使用对空插头和JST插。测试过拉力还不错,就是不知道对于震动会不会造成接触不良。



用3位的插头和插座,线路能比以前简单些,维护起来也方便了,不用担心插反。



春节前做的电路板,可以把电源分出来,还有2组I2C总线。这样就不用焊线焊出5个插头了,整个电路板比那根线可轻多了。


可惜德国人的飞控板一直没调通,加速度计、陀螺仪的数据总是自己变来变去。德文的配置程序也看不大明白。看来只好等春节后问卖家了。
640
 楼主| 发表于 2009-1-30 16:48 | 只看该作者
控制电路基本完工,下面就要修改代码以便使用I2C电调了。

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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