欢迎光临散文网 会员登陆 & 注册

关于2.5寸圈圈机调PID和滤波

2023-04-01 10:26 作者:玩航模的小李同学  | 我要投稿

首先,调整PID和滤波是为了让飞机更好飞,避免抖动和过热等问题,如果买的是组装好的套机的话,PID一般都被调整好了,这也是其优势之一。但一旦需要更换不同的配件或结构,原有的PID就不适用了,所以需要调整PID。

辅助分析的软件有很多,我用的是PID Toolbox和Blackbox,前者主要看横滚和俯仰的阶跃响应曲线,后者看滤波。下面我简单说一下步骤:

准备工作

1.把电调固件刷成支持双向Dshot的固件,推荐Bluejay(这一步一定要小心,电调变砖就很麻烦了),刷完之后请确认电机转向(注意安全)。

2.打开地面站Betaflight Configurator,开启双向Dshot,然后输入电机的磁极数量。再把黑盒子里面的存储文件清空。

3.开启专家模式,拖动PID滑块到全部中位(1.0),然后把FF增益、Dmax和 I 增益都改为0,至此,准备工作结束。

调整

  1. 先调整D增益。具体做法是,将D增益按照0.6、0.8、1.0、1.2、1.4、1.6这样的顺序依次修改,每次修改之后就飞十几秒即可。(ps:这一步个人觉得并不需要大角度飞行,就悬停和前后左右晃一下就行)

    然后读取黑匣子数据,通过PID toolbox分析,你会看到这样的曲线:


调整D增益

我们需要做的就是观察roll和pitch轴的曲线,然后找出来没有超调(超过1)的最快到达1的曲线。这一步可能会存在两个轴不在同一个D值下达到最佳,这可能是由于飞机在两个轴上不对称导致的,就需要在调整pitch阻尼,使两个轴的d值都达到最佳曲线对应的d值。

2.然后,以同样的方法依次调整其他参数(主乘数、I增益、FF值),最终会得到一个阶跃响应曲线比较好看的结果。

需要十分注意的是,在后面的调整中,很可能会出现两个轴不在同一个滑块下达到最佳的相应曲线,这就需要我们关闭滑块模式,直接调整PID参数值。

一些心得

  • 其实我们这样依次调整不同的滑块并不一定能达到最优,因为我们的D值并不是基于最终的P、I、FF等参数来确定的,这是一个多参数找最优的过程,其实可以在全部调整完之后,再次调整D值,主乘数,I值,等等,不断迭代循环,最终的才是比较好的结果,但这样确实也有些复杂。所以我在研究怎么通过建模的方法来简化这个过程。

  • 为什么我没有写滤波呢?因为我的数据噪声在低频和高频都有一些,全部消除之后飞行的效果反而并不理想,所以我觉得对于小圈圈机来说,噪声可以忽略(要保证机架和其他结构没有晃动,飞控安装固定好)

  • 调试的间隔可以小一些,FF值得滑块0.1对应的应该是10左右,在直接调整数值的时候,就可以以20左右的间隔去调整。roll和pitch也可以分别调整。

  • 不论飞起来感觉怎么样,这个实际的阶跃响应曲线都要调整好,一般来说调整好了曲线才最符合控制逻辑。像我用默认的PID和抄别人的PID,飞起来抖,而且响应曲线很差。

  • 之前我也摸索了其他的调参方法,比如根据图形调整P控制超调量和I控制偏移量,但这种都不太靠谱,调整了30多次都没有好结果。

    最后放一个调整之前和最终的响应曲线:

在各个视频平台上都有关于穿越机PID调参的教程,但我确实也看了很多资料,做了很多尝试。希望我的经验可以帮助到你,如果有需要的话,后续我会专门录一个视频来详细说明每一个步骤。

关于2.5寸圈圈机调PID和滤波的评论 (共 条)

分享到微博请遵守国家法律