又一次悲剧的试飞
由 动力老男孩 发表于 2012/05/05 16:18:35在闲置了一个多月之后,今天又进行了一次试飞。首先说说最近的修改:
1. 把电机控制的频率改到了400Hz,之前是50Hz;
2. 把螺丝固定的Arduino板子改成4个弹簧支撑,用来减少电机高频振动对传感器的影响;
3. 顺便把45度安装的X型改成了垂直安装的十型,作用不大,节省一点代码和减少可能出错的环节;
4. 尝试增加一个自动调节平衡位置的代码;(好几个参数需要调节,都调准了才能飞稳)
5. 加了一个安全的控制,如果飞行器倾角超过45度,则所有电机同时停止;
用手握的方式测试看来,目前四轴飞行器的姿态判断还算可以。基本上晃动它的时候,能感觉到电机速度的变化以及带来的反向阻力。
所以目前的调试主要在PID参数的调节和XY方向的偏移量调节。这个偏移量,是因为电机和飞行器不对称带来的误差。简单的说,假如飞行器已经处于平稳飞行的状态,这时候计算得到的左右两侧的螺旋桨转速应该相同,但是由于飞机本身的不对称,这时候反而会发生倾斜,所以需要给它设置一个平衡的偏移量。
这几天跟wnq同学请教了一下,据他介绍kk飞控仅用陀螺仪就可以上天,至于陀螺仪长期积分带来的漂移误差,可以由“飞行员”通过遥控器手动调节。我之前一直调试的目标是让飞行器实现平衡自稳,这样说来可能有点儿冒进了。wnq提醒我适当的斜飞是可以通过手动调节修正的,这样可以不用太纠结在完美的水平悬停上。
另外最近的新朋友darkorigin也提醒了“近地效应”,因为贴近地面的时候,各种气流互相干扰,反而不如飞上天以后稳定。
下一阶段的一些想法和目标:
1. 暂时放弃手机控制,改用遥控器和接收器进行控制,主要优势在于控制距离、手感和便利性;
2. 增加运动的控制,就是在倾斜状态下手动调节平衡;
3. 进行电子指南针的一组小实验,因为我的遥控经验不足,争取先实现“无头模式”避免炸鸡;
4. 组装一台wnq同学的飞控练练手;
5. 自动寻常平衡点的算法需要再多测试和验证。
最后附上今天悲催的试飞视频。今天有点小风,犹豫了一下还是去阳台试飞了。前40秒使用的PID参数看上去还不算太离谱,之后试着调了下参数,结果振动失控了,摔碎若干小配件……
又赶上更新了…是不是飞行器的重量太过集中于重心了?电机毕竟控制精度有一定长度的误差,重心集中,静不安定就更突出,电机稍微的误差就会放大影响…
你说的重心还是有点道理,如果重量都分布在四个螺旋桨下面,应该会稳定很多。不过这个被结构限制了,不太容易实现
据说玩微型四轴的,不用专门调平衡,自然就挺稳的,因为电池把重心拉的很低(相对于螺旋桨)
还有 加弹簧 可以削减突发加速度 但是不会减少震动,你需要在弹簧上加阻尼…将弹簧震动势能及时转化为热能
电机震动是高频的机械波(可以认为是大量的突发加速度吧?),如果弹簧很软的话,可能会过滤掉一部分。但是过于软的话又起不到固定的作用。这几个小弹簧到底有多少作用,其实我还不能量化它
在弹簧的使用上 你可以参考一下汽车减震
好,我去了解一下
四軸飛行器是如何平衡的阿? 請問可否教教我? PID參數我一直搞不定
我现在就是想用PID来调节四轴飞行器的平衡,理论上是可行的。但是PID调参数真是个体力活,目前我也还没有调试成功
猛男啊,单轴的pid就已经很让人不爽了,你还要一次四轴一起联调么?不容乐观啊。你把结构改改吧,重心分布真的不是太好,还有那一坨坨的线哪……看着就影响平衡。上泡沫吧,我见过成品都是泡沫壳子包装好的,很轻,只要不是直摔下来的就好说。再说摔泡沫根本不费钱也不会砸到里头的部件。导线,如果电流不是很大的话,用一些细漆包线来连接好了,接头只要少数焊点,这样四个电机的重量可以控制得误差很小。尽量在静态上做好这些平衡的工作嘛,下回去给你弄个尸体参考参考。
说的好,呵呵,我下次会改进。
最近工作忙啊,大干100天……
你大干虾米100天?会不会出人命啊同学
电机控制400多?这么高,好像不行吧。不管arduino能搞出多高的频率,还是要通过电调的。目前常见的电调速度都很慢的,才20多吧。
减震的话,目前没有用了会变好效果了例子,一般用尼龙柱固定,我之前试过用橡皮筋固定的,没有让飞控更好,但也没更坏,觉得意义不大。我觉得橡皮筋会比弹簧更柔和。
视频最后好帅啊,哈哈哈,不要怕炸。换木头架子呗,吸能型的,炸的时候坏架子不坏设备。另木架子吸收震动的效果会更好
电调应该可以支持到400Hz,我倒是担心电机的惯性比较大,即使调高调低,最终是需要延时一会儿才有反应
这个视频最后是参数调坏了,不然的话虽然晃来晃去,但是总体看还是平的
。。好心疼啊
一个实用的小建议,建议做个训练支架。
很多卖飞机模型的都有,一般是软结构的2跟塑料交叉摆放,固定到直升机脚上,末端有小球起到脚的作用,由于塑料管有弹力,一般的摔机(只要不是太高或者是旋翼部分着地)都能有效保护。制作成本很低。
可以参考了之后做一个适应4轴的。
在淘宝搜索 航模 练习架 能看到的。
航模的好东西还真不少啊,我想弄几个圆形的东西,把这几个螺旋桨围起来。我倒是不担心四轴摔坏,因为我家在十几层的楼顶,特别担心它失控以后掉下楼,太危险了……
很多成品都有保护环的。旋翼外侧是被保护住的。之前看人家俄国佬做的可以负载机枪的那东东好像就是有防护的,除了防摔之外,可以有效的防止卷入东西,比如在复杂环境下卷入的树枝,晾晒的衣服等。
并且个人感觉是不是对集中风力也有关系(毕竟四周扩散的空气少了,更多空气下压会不会好很多)
整流罩应该是推力有帮助
调整参数一定要停下来,然后还是在手上感受下,最后在使用,
严谨点似乎好些!
就好像药品研制,一般是先理论推理,推理完了才动物试验,N多轮动物试验之后才可以临床试验。
期待你的平稳测试尽快通过鸟~~
唉,我在手里试过,摇摆的时候能感觉到螺旋桨的纠正力,但是没有加大到很高的油门试过,听声音太吓人了,没敢用手抓着
调试的时候自身安全确实。
毕竟安全是第一位的。
前些时学航模的时候教材也都是这么说的,毕竟旋翼,特别是大号旋翼飞出去的话杀伤力是非常大的。
记得接触的第一个玩具级(3.5通的)的直升机 遥控器上面就有2个模式,新手和高手级的。区别我分析了下就是信号的幅度,新手级的飞行速度,上升速度都是比高手级的低很多。这样安全。高手级的则更快,玩的变化更多。
调试的时候,代码是不是除了安全代码外,对于4个电机的转速也做限制,先慢速调试。
受教受教,哈哈,原来这种伸缩绳是这样用的,的确是个安全试飞的利器。另外,最近几天看了您的源码,有个疑问:就是我觉得十字模式的四轴飞行器,X轴、Y轴应该是独立平衡的吧,难道不需要用两套PI参数分别进行pid运算吗。
你说的对,我是觉得对于相同的电调和电机,差不多对称的四轴,它们的PID参数应该是差不多相同的,这个假设可能不一定合理。
但是参数再多,真不知道该怎么调了
看样子。很可能存在这个问题。
因为即使机器本身可以做到重心能平稳的在中间并且4个旋翼负载完全相等
但是户外的话,风是必须考虑的。XY轴双稳似乎。。。。。
听你们一说,看来真的是悲剧了,想把xy统一调节的想法看来不靠谱,但是调PID真是头痛啊~~
http://bbs.5imx.com/bbs/viewthread.php?tid=613933&extra=page%3D2
已经有人DIY手机控制小四轴,WIFI实时H.264视频,可惜这人不愿公开硬件配置和程序,悲哀!
哇,去年还没有见到这种240轴距的小四轴,看上去还挺不错。刚才在淘宝上翻了翻,貌似已经很多卖这种240轴距的配件了,据说机身全重350克左右。
can you give a phone# to call and discuss.
Thanks
其实如果测试的话,可以尝试搭建一个测试平台。
对于参数设定没有帮助,主要目的是便于测试,防止摔起机。节约成本(毕竟摔机基本上都会要换或者修配件)和调试时间。
底座。关节结构(类似动物的关节囊和关节头)伸缩结构
关节结构中关节囊焊接在底座上。关节头部分焊接伸缩结构,连接到4轴上
这样飞行器能运动的区域也仅限于关节囊活动的区域,高度仅限于伸缩结构的长度。
即使失控,也可有效的控制在安全的范畴内,不会摔下。
关节结构可以参照万向轮,或者机械鼠标反过来的样子,伸缩结构可以参照天线(不过如果要负载一个四轴,天线的长度和粗细可能不足以承担。)
再说下,我想到我说的原型了。 小时候玩的街头游戏机的摇杆,,对 就是那样的结构,摇杆是被牢牢的控制在一个幅度内,前后左右都有幅度。
只是上面做个伸缩结构。伸缩叉衣的杆子(或者类似轻质鱼竿)差不多的东西。。上头固定飞行器。
这样就不怕失控了。 还有个好处,就是你的电源可以把电池换下了。毕竟电池充电时间不短吧。 用大号的电源带着。 测试一下午想必很多参数都有了解了吧
而且可以用电脑不断的记录参数,状态。
我理解你说的这个设备了,就是又能旋转,又能伸缩的天线。不过这个做起来可能有点儿困难,今天买了一大堆高弹性橡皮筋,明天试试看好不好用
找到一个带源码的成品飞控了。里面PID部分代码能看到。
可以参考下
http://code.google.com/p/multiwii/downloads/list
早上看4轴商品飞控找到个方案
介绍:
以上搭配为主流MWC硬件平台常用的组合,相当于把Arduino Pro Mini与FFIMU 0.35 9DOF IMU传感器组合起来,一体化的设计会让飞控工作更稳定。
CRIUS MWC MultiWii SE 标准版4轴/四轴飞控板 2~6轴
也就是说,有好几种模式,对应不同的机架,2轴到6轴都支持。
这个飞控仔细的看了下法国作者的官网,发现居然是个开源项目
从电路图(额,当然我们不是盗版商,我只需要知道它对应的接口,免费翻程序找了),到源码,还有就是调试工具都开源了(Oh mygod!)
其实代码本身可以举一反三,其实个人觉得核心PID算法对于很多飞行器都很有用处。不仅仅是4轴。
当然,我不是为了制作成品,我是为了学习。
开源才是科技发展的动力,互相学习才有进步。不然各自摸索自己的东西,浪费太多资源
这些开源的我下载过,看得我晕头转向,再加上有点轻敌,想自己先琢磨琢磨看看。现在看来,是得静下心好好看看别人的代码先
站在巨人肩膀上的动力老男孩,我看好你哦
呵呵。
http://bbs.5imx.com/bbs/viewthread.php?tid=562214
这里是他们配置好的PID参数,对应程序可以用的。
只是传感器和你的不同。没细究他的传感器的接口。如果不是IIC好像还要改代码的。
mwc的代码确实看的很晕。不知道是我编程水平已经清零了,还是他写的太乱
昨天为了找他IMU通讯的几个传感器地址,翻遍了IMU那个文件,最后愣是没找到。CONFIG 也没有,乱点个文件反而看到了。。
是啊,这些代码看得头晕脑胀的
动力兄,这两天仔细看了你关于PWM的代码,有个疑问,调速区间实在0.9–2.1MS,但你在计算不同频率的值取得是0.9-1.9MS,是否有问题?
这个电机功率比较大,PWM到1.4ms左右就升空了,到1.5ms的时候就已经无法控制(飞到10多米高)所以我几乎没有把它调到2.1过
想請問一下,前40秒所使用的PID参数有確切的數值可以參考嗎? 我們的四軸飛行機連穩定的停在空中飛行都無法實現 該怎麼辦呢?? 謝謝
稳定悬停是非常困难的,能飞起来就很不错啦,然后要用遥控器来细调姿态。
可以从滤波上减少震动。
动力哥,您那个四轴上的Arduino板子是哪个型号的?
是arduino mini,比较小的还有arduino nano