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

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

150元,用模块DIY开源四轴飞控玩四轴(主贴更新完毕!现在是答疑时间)

  [复制链接]
41
发表于 2012-4-20 13:57 | 只看该作者
:em26: 牛,学习的目标:em00:

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

42
发表于 2012-4-20 15:08 | 只看该作者
标记一下,慢慢看
43
 楼主| 发表于 2012-4-20 15:53 | 只看该作者

飞控调试软件参数篇-PID算法

简单说一下PID算法的含义:对四轴而言,PID算法是用来计算马达的动力大小,来抵消误差的。
1. P直接和误差关联,比如四轴倾斜X度,P的调控效果=P*X个单位的力量。PID算法中,P是最主要最基本的参数。
2. I则和误差的积分有关。举个例子,如果写一个P控,控制一个电炉加热到400度,当前温度是室温,那刚开始误差=(设定温度-当前温度)很大,电炉就哗哗的加热上去了,但是到了390度,误差才10度了,加热功率变小了,可是呢,由于这个电炉会散热,结果单纯用P控,温度怎么也上不到400度。这时,I控就可以帮助适当调大一些功率,直到正好400度。那怎么实现的呢,用误差积分乘以I,如果老是温度不到400度,误差的积分就会越来越大,I调控的效果=I*误差的积分,也就越来越大。
3.D和误差纠正的速度有关,D和P相比,就像汽车避震里的油压阻尼和弹簧,汽车弹簧碰到一个减速带,就会受压,反弹,此时如果没有阻尼,车子就会不停的上下振动。而油压阻尼则防止弹簧不停振动。因此D值越大,意味着阻尼越大,四轴不容易因为P而振动,但P的效果就会变差。D调控的效果=D*误差的微分。
4. 把三个数值的调控效果加起来,就是总的调控效果

再谈一下PID调试的要点:
1. P太小,结果是四轴的错误姿态没法纠正,P太大结果是四轴高速抖动,两者间的数据都可以用。
2. 对于一个很标准的四轴,那请把I值设成大于零的最小值。如果不是,I太小结果是四轴的错误姿态没法及时纠正,如果太大,四轴则会进入严重的低速振动。
3.D值能大就大,因为D大一些,P也能大一些,总体更稳定。但传感器会因为抖动产生有害数据,D太大会把有害数据放大,造成四轴莫名的抖动。
44
 楼主| 发表于 2012-4-20 15:54 | 只看该作者

飞控调试软件参数篇-调试顺序

1.首先接上USB线(建议找一根1米以上的USB线),打开MultiWiiConf,把四轴放平,看屏幕上的四轴是不是也是平的,不是的话,按一下reset,等3秒钟再看。
2. 复位所有参数,把所有的option全部去掉。
3. 把四轴拿在手上,粗测ROLL和PITCH的PID
3.1 整个测试都有一定的危险性,请务必使用完好的螺旋桨,检查紧固所有部件,并注意不被螺旋桨打到。
3.2 解锁飞控,油门开到四轴即将飞起的地步
3.3 晃动四轴,应该有较强的晃动抵制能力,不是的话,提高ROLL和PITCH的P,对于对称标准的十字四轴,ROLL和PITCH的各个参数是一样的。
3.4 加大P,直到晃动抵制能力出现过敏,也就是高速抖动,这时减少P一点。
3.5 加大D,直到出现抖动。减小一点D
3.6 再试图加大P

4. 用悬挂法测试精测ROLL、PITCH、LEVEL、YAW的PID(严重注意安全!):
4.1 再次确认四轴在地上平放时,屏幕上的四轴也是平放的。
4.2 把四轴用绳子吊在家里的吊扇下面,同时用一根长的USB线接在电脑上调试。在马达启动和关闭时都要用手拿住四轴,免得乱飞。
4.3 打开OPTION中LEVEL的所有OPTION
4.4 手持四轴,解锁飞控,油门开到四轴即将飞起的地步,再试图放手
4.5 试图把四轴往一个方向按下去,四轴应该有很强的反作用力,没有的话,提高LEVEL的P
4.6 如果四轴出现抖动,减少LEVEL的P或者ROLL、PITCH的P
4.7 LEVEL搞定后,试图扭转四轴,四轴应很快转会原位,没有的话,提高YAW的P
4.8 如果四轴出现YAW方向抖动,减少YAW的P

请时刻注意安全,保护好自己(再次强调,马达启动和关闭时都要用手拿住四轴)。

现在做的四轴上没有磁传感器MAG和气压传感器BARO,有的话:
5. 测MAG之前请先校正MAG,校正方法是在GUI里按下校正按钮,然后在30秒内尽可能的各个角度旋转四轴。校正后,应该是GUI中的四轴方向完全和实际方向一致,即使上下左右倾斜四轴也是如此。不是的话,请重做,或检查传感器方向。
6. 测MAG的P很简单,和YAW没啥区别
7. ALT在家里没法测,去场外测试(至今我还没测完,但据说2.0的默认参数就很好用)。
45
发表于 2012-4-20 16:15 | 只看该作者
非常好的帖子,赞!!
PID的解释通俗易懂,有启发。
顺便说一下,原来我的四轴属于标准四轴,因为我常常把I值设为0,D值很大,相应的P值也大。这样才觉得非常稳,呵呵。以前不知道为什么要这样设置,看了LZ的PID解释才明白,谢谢!!
46
发表于 2012-4-20 23:49 | 只看该作者
:em26: :em26:
47
发表于 2012-4-20 23:59 | 只看该作者
顶 只· ······················
48
发表于 2012-4-22 13:17 | 只看该作者
:em26: :em26:
49
发表于 2012-4-23 10:00 | 只看该作者
期待成品早日出来!
50
 楼主| 发表于 2012-4-23 14:19 | 只看该作者
原帖由 北方孤狼 于 2012-4-23 10:00 发表
期待成品早日出来!

LS是不是灌水啊,都是用模块自己搭了,哪来的成品。
51
发表于 2012-4-23 20:52 | 只看该作者
:em21: :em21: :em21:
52
发表于 2012-4-23 22:06 | 只看该作者
楼主的知识哪学的啊
53
发表于 2012-4-24 01:30 | 只看该作者
好贴!:em26: :em26: :em26:
54
发表于 2012-4-24 11:24 | 只看该作者
云里雾里的看看热闹肤浅的了解一下:em00:
55
发表于 2012-4-24 14:34 | 只看该作者
:em26: :em26:
56
发表于 2012-4-24 15:04 | 只看该作者
楼主,看了你的洞洞板MWC,感觉非常激动,我也对MWC非常有兴趣,
但是论坛里讨论MWC的确实比较少,看到楼主的帖子感觉十分激动。
我也想自己焊接一个,但是还有几个问题想请教楼主
1 板子的大小可否做到5*5的标配?貌似楼主的有点大?
2 楼主的飞控具体能实现什么效果?有视频吗?可以CF,定高吗?
3 我准备买来自己焊,学习楼主,目前最主要的疑问是:
  1 如果我不用你的L3G4,而用你开始推荐的MPU,传感器的方向怎么摆?
  2 如果用你的传感器,是不是需要改代码?那么代码怎么改呢?实际效果跟原来的比怎么样?
  3 可否请楼主把淘宝链接发给我?
  4 那个ARDUINO是直接用FDTI就可以的吗?需要BOOTLOADER吗?
  十分感谢楼主,希望楼主不吝赐教!
57
 楼主| 发表于 2012-4-24 15:57 | 只看该作者
原帖由 yue621 于 2012-4-24 15:04 发表
楼主,看了你的洞洞板MWC,感觉非常激动,我也对MWC非常有兴趣,
但是论坛里讨论MWC的确实比较少,看到楼主的帖子感觉十分激动。
我也想自己焊接一个,但是还有几个问题想请教楼主
1 板子的大小可否做到5*5的标配 ...


只使用MPU-6050的话,5*5肯定没问题。我的是7*7,大小一般不是问题。
MWC的视频你可以去看网上的(翻墙后你能看到许多),MWC的CF叫Head free,MWC的定高是气压定高,你要这两个功能的话,你得买三轴磁传感器和气压传感器。目前而言,气压定高还是会有上下1~2米的漂移,不适合超低空。
传感器的方向不用特别考虑,可以后期修改代码.
用不同的传感器代码肯定要改,但也就是去几个注释符而已。
淘宝链接就不给了,自己按名字去搜吧。
ARDUINO NANO 已经包含了FDTI,bootloader是所有arduino项目都有的,但买来的arduino成品中,早就写好了。
58
发表于 2012-4-24 17:40 | 只看该作者
先支持一下
59
发表于 2012-4-24 19:47 | 只看该作者
支持,顶!
60
发表于 2012-4-25 11:33 | 只看该作者
学习 :em26:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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