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

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

PID、PID设置有效的方法终于能自己调适合自己的PID了

  [复制链接]
跳转到指定楼层
楼主
发表于 2015-12-17 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 毁灭泡沫 于 2015-12-19 23:38 编辑

PID设置有效的方法---cleanflighblackbox中去具体分析方法
从国外大神评论家论坛翻译过来的,自己学习学习,也分享给大家,希望大家共同进步。翻译过程可能有些地方不够准确,希望论坛里大神发现后能指正,希望通过大家的努力能使各自穿越水平有所提升。
有些朋友可能需要原链接http://blog.oscarliang.net/pid-tuning-blackbox-basics/
注意:naze32 rev5 版本是没有内置缓存的,想用blackbox调参数只能上naze32 rev6或者SP Racing F3
在这篇文章中我将分享我是如何运用cleanflight中的blackbox去通过以下基础且简单的步骤去调整我的PID
PID的调节是四轴飞行器和FPV中的重要部分,最原始的PID调节方法是猜测法,猜测一个数字然后飞一会,感觉不对然后修改看看钰上次有什么不同,这样的方法费时费力而且很枯燥,最重要的就是还不一定调节的好。或者还有一种方法就是照抄他人的PID,然后做一定的修改,毕竟每台飞机的配置、电池、重量比等都是不一样,照抄他人配置不一定适合自己。
Cleanfligh中的blackbox的发明就是为了使PID的调节成为一种简单直观的事情,
它使得我们调节PID的效率和准确性更高。在blackbox中你能看到是什么引起了飞机的震荡,而且通过提示可以知道调节哪些PID的值。
如何设置cleanfligh中的blackbox
cleanflight中的blackbox能够帮助我们有效的调节PID,它能够诊断出任何你的飞机飞行中的任何问题。这一段将介绍什么是blackbox,怎样运用blackbox的日志去调节你飞机的PID
Blackbox存储数据的方式有两种,分别取决于你所用的飞控。例如我们常用的naze32,它有2MBflash缓存,能够存储你的飞行日志供blackbox食用,但是naze32是没有flash缓存的,那就需要外接一个minisd卡莱存储数据了。
飞控的flash缓存只有区区的2MB,它相当于设置looptime=2500中存储大概3-4分钟的飞行数据。即使是现在最新的F3也只有8MB,还是相当的有限的。
Blackboxcleanfligh中的设置
1.点勾选图片中黄色方框中 blackbox选项,或者你可以在CLI中输入(featureblackbox)。
2.CLI中输入(setblackbox_device=SPIFLASH )这个是用来设置运用自身的flash存储飞行日志。

配置blackbox
blackbox中目前提供两种速度来控制存储飞行日志(blackbox_rate_numblackbox_rate_denom)。两种速度都是以分数的形式呈现出来,二这是你设定的内部迭代存储的不同将影响日志的结果。(如果你没有用外存,那么这里可以忽略,默认状态下是1/110.25kB/s,如果是外部存储请使用set blackbox_rate_num=1 setblackbox_rate_denom=2,及设置成1/2速率)
建议使用looptime=2400和默认1/1存储速率,由于naze32中的flash内存只有2M,运用以上的设置只能存储3分钟的飞行日志信息,虽然只有3分钟,但是也已经足够了。如果你想存储更长时间的飞行日志,那么请将存储速率设置减小(减小至1/2,如果要有限内存存储最大时间飞行日志,请设置成1/32,这样日志的存储速率大概是10-20HZ650bytes/s)这样2MB的内存将能存储将近50分钟的飞行日志)。
Blackbox从你解锁开始记录飞行日志直到飞机重新上锁为止。当你飞行完之后你可以用cleanflighr去导出你的飞行日志,如图选择“dataflash”后点击“save flash to file….”,存储时间在2-3分钟。
下载完成日志后记住通过点击“erase flash”删除现有日志以腾出空间存储以后的飞行日志。如果你的存储空间满了之后你没有清除,那么blackbox将不会继续存储任何日志。由于飞控自带的存储空间有限,所以你可以在Modes中去设置blackbox在你允许的模式中才记录你的飞行日志,而不是任何时间飞行都存储。
当你下载了你的飞行日志之后你可以运用https://github.com/cleanflight/blackbox-log-viewer
https://github.com/cleanflight/blackbox-tools这个网页是的软件去图形化的查看你的飞行日志,并且还能与你的飞行视频去同步。
在以上网址下载软件解压后点击index.html就能自动打开网页运行了。


Blackbox日志里都记录了哪些内容?
我们的测试非常的简单,只需要几分钟时间的飞行日志就可以了。首先要如下几个步骤:
1.    将你飞行模式设置成Rate mode(Modes里面不做任何设置就默认为Rate模式)
2.    让你的飞机悬停,然后先前飞行几秒钟
3.    左右晃动你的飞机几次(左杆45°,右杆45°)Roll
4.    做几次360°的横滚(左滚右滚各几次)
5.    前后晃动你的飞机几次(前杆45°,后杆45°)Pitch
6.    做几次360°的前滚后滚翻(前滚后滚各几次)
7.    左右方向各几次(左右方向各45°)Yaw
8.    左右方向各360°转向(左右方向各几次)

分析blackbox数据阶段
1.检查一些基础的项目
在设置PID之前首先我们要检查一下每个电机的输出是否正常,必须确保电机输出的正常,否者得到的飞行日志数据将是无效的。
我们先来看看悬停时候的飞行日志数据,每个电机输出的水平应该是相近的,如果不相近有可能是一下两个原因:1.飞机的重心可能不在正中间;2。螺旋桨或者电机有问题。
如上图所示,后面两个电机转速相对于前面两个电机要猛烈(看上面四色旋翼扇形的大小),原因是重心靠后,那么就是你的电池的放置的位置靠后了。如果只有一个电机转速过高那有可能是电机或电调存在潜在的损坏。
如果像上图一样在悬停的时候每个电机转速都几乎一样,那么说明飞机悬停状态就没有任何问题。(注:四个电机转速不需要一模一样,只需要相近就行了)








9.jpg (14.61 KB, 下载次数: 239)

9.jpg

10.jpg (14.2 KB, 下载次数: 233)

10.jpg

11.jpg (13.79 KB, 下载次数: 222)

11.jpg

12.jpg (14.09 KB, 下载次数: 247)

12.jpg

13.jpg (11.47 KB, 下载次数: 226)

13.jpg

14.jpg (10.97 KB, 下载次数: 204)

14.jpg

评分

参与人数 2威望 +4 收起 理由
永丰狼人 + 2 很给力!
枭黠 + 2 很给力!

查看全部评分

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

沙发
 楼主| 发表于 2015-12-17 17:21 | 只看该作者
本帖最后由 毁灭泡沫 于 2015-12-17 17:31 编辑

发帖字数限制所以只好分贴了,请各位见谅
2.PID的诊断
PID的调整到怎样一个程度才是合适的呢?我们要遵循以下几点
(1)   平滑的陀螺仪曲线(gyro traces),调整到尽量可能少的噪声和震荡
(2)   平滑的电机输出,尽可能的静音和不激进。如果电机的输出过于暴躁将会引起电机和电调过高的温度,同样一个电池的续航能力也会缩短。
(3)   遥控对陀螺仪曲线(gyro traces)的影响要小。
我一般用两张曲线图:图表一、rcCommand、gyro;图表二、PID_P, PID_I, PID_D, PID_sum。这些图主要用在Roll,Pitch的调解中,Yaw调节是单独的。
图表一主要展示给我们你输入值的改变在陀螺仪(gyro)中引起的变化,并且也展示了PID的改变如何影响陀螺仪(gyro)。图表二是最重要的图表,它反映了PID值的改变带来的飞机响应的变化。
P----完美的P值能使得gyro的噪音尽可能的低。P值线有一些涟漪是正常的,但是要在一个合理的范围内。较高的P值会会增加噪音以至于影响gyro的曲线,会使增加曲线的涟漪(较慢频率的震荡)。
D----完美的D值是与P值有联系的,更确切的说是在的到完美P值之前得到的,其与P值的重要性相等。然而D值的噪音一般来说都会比P值要大,所以通常都会是D值保持一个较低的值。
I-----I值的调节其实可以忽略,这个值的调节一般在飞行的时候调节。一般将I值保持较低的值,除非在飞行的时候感觉比较飘或者下降的时候感觉到飞机震荡再去增加I值。较低的I值能使的飞行时特别是激烈飞行时,飞机更流畅。

下面举个例子来说明在blackbox中如何运用飞行日志来调节PID的值。

Roll/Pitch-----P
如图换色圈中所示,显然P值过于高了,因为从图中可以看出出现了缓慢的震荡曲线,当我roll打杆的时候P的高值促使gyro开始出现震荡(上圈为P值曲线,下圈为gyro值曲线),因此降低P的值。

如上图所示,在降低P值之后P和gyro的曲线没有像原来那样剧烈的震荡了。

Roll/Pitch------DD值的调节有两种方法,其中第二种是我比较喜欢使用的。下例子中将讲诉如何获得一个较低的D值。

如果在横滚或翻滚后想让飞机迅速回到平衡的状态,那么增加D的值。当我增加D值到与P值接近时你从上图就能看出噪音增加很多。

当继续增加D值时震荡继续增大。如果想让飞机倾斜向平衡姿态转变的速度快些那么请调整到上图类似的曲线。

Yaw的P,D值的调节
增加P的值能给你yaw响应积极,一般I值保持一个较低的值5—10左右。Yaw中有震荡是比较正常的事,无关紧要。同等情况下飞机越大、电机KV值越低、桨越大曲线的震荡会越大。如下图所示
QAV250,1960KV电机,6045的桨

QAV210 ,2300KV电机,5045的桨

虽然都有震荡,但是飞机都能飞的很好。当降低P的值曲线震荡减小了,但是yaw的响应也迟钝了,也就是说Yaw的P,D值的大小对飞行没有任何影响。想要yaw反映迅速就增加它的值。



评分

参与人数 1威望 +2 收起 理由
LiYuKun + 2 很给力!

查看全部评分

3
发表于 2015-12-17 17:28 | 只看该作者

4
发表于 2015-12-17 17:38 | 只看该作者
学习了,好贴帮顶
5
发表于 2015-12-17 17:42 | 只看该作者
果断顶贴,收藏!
6
发表于 2015-12-17 19:23 | 只看该作者

7
发表于 2015-12-17 19:32 | 只看该作者
技术贴  顶了又时间再细看

8
发表于 2015-12-17 19:48 | 只看该作者
太专业了,看晕了
9
发表于 2015-12-17 19:58 | 只看该作者
不错,支持!
不知道cleanflight自动调参的代码是不是根据这个思路写出来的
10
发表于 2015-12-17 20:50 | 只看该作者
好东西,收藏了
来自安卓客户端来自安卓客户端
11
发表于 2015-12-17 21:13 | 只看该作者

为什么我打开了BLACKBOX 却没有数据?

12
发表于 2015-12-17 21:35 | 只看该作者

13
发表于 2015-12-17 21:40 | 只看该作者
前排留名
来自苹果客户端来自苹果客户端
14
发表于 2015-12-17 21:41 | 只看该作者
好贴子,强顶!

15
 楼主| 发表于 2015-12-17 21:44 | 只看该作者
hantnt 发表于 2015-12-17 21:13
为什么我打开了BLACKBOX 却没有数据?

谢谢补充新版的设置,新版的.crx文件不能加载到谷歌浏览器扩展程序里面,显示只能从谷歌商店里加载,不知道你是怎么解决的?麻烦指导一二
来自安卓客户端来自安卓客户端
16
 楼主| 发表于 2015-12-17 21:45 | 只看该作者
hantnt 发表于 2015-12-17 21:13
为什么我打开了BLACKBOX 却没有数据?

你还需要加载naze32的自身flash内存
来自安卓客户端来自安卓客户端
17
发表于 2015-12-18 08:00 | 只看该作者
先收藏,太有用
来自安卓客户端来自安卓客户端
18
发表于 2015-12-18 09:35 | 只看该作者
毁灭泡沫 发表于 2015-12-17 17:21
发帖字数限制所以只好分贴了,请各位见谅
2.PID的诊断
PID的调整到怎样一个程度才是合适的呢?我们要遵循 ...

小学毕业,一次看不懂,得慢慢看!

19
发表于 2015-12-18 09:39 | 只看该作者
翻译的不错
20
发表于 2015-12-18 09:50 | 只看该作者
学习,
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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