APM直升机调试记录

Author:Bingo
Time:20190601,V1.0

直升机调试记录

  • 十字盘机械配平
  • 上位机调十字盘水平
  • 调整直升机在Stabilize模式下悬停
  • 调整直升机在AltHold模式下悬停
  • 调整直升机在PosHold模式下悬停

十字盘机械配平

此目的是为了如下图所示臂A、臂B在同一个位置角度是相同。在这里插入图片描述
用螺距尺测此时臂A的角度为-10度。
在这里插入图片描述

然后旋转十字盘,注意不要动三个舵机此时的位置,把臂B移动到如上图所示臂A的位置,测得此时臂B的角度为-9.4度。
在这里插入图片描述

两个臂相差0.6度,那么需要稍微降低臂B,使其达到-10度左右,可根据如下图所示操作。
在这里插入图片描述


最终的效果

上位机调十字盘水平

调整最大螺距,最小螺距位置

打开QGC在设置一栏中的直升机下会有如下图的三个选项。打开遥控器,油门拉到最低,调整Collective Pitch Minimum选项,直到测得的螺距为-3度左右。油门拉到最高,调整Collective Pitch Maximum选项,直到测得的螺距为10度左右。至于Mid-Point直接取最大与最小的平均和即可。
在这里插入图片描述

调整十字盘在最大(10度左右)和最小(-3度左右)螺距时臂A、臂B倾斜角度相同

接下来就是微调十字盘的三个舵机,使十字盘旋转时不论在哪个螺距上都能达到差不多的水平。

尾巴朝向你来看,舵机1为十字盘左边的舵机,舵机2为右边的舵机,舵机3为后边的舵机。
在这里插入图片描述

油门拉到最低,开始调最小螺距(-3度)。先调舵机1和2,如图两臂前后展开,螺距尺零度处在REL相对水平模式。
在这里插入图片描述

然后把螺距尺移动到臂A上,如图测的度数是-3.5度,那么改变舵机1的pwm值使度数达到-3度。
在这里插入图片描述
把螺距尺移动到臂B上,测得的度数是-4.3度,那么改变舵机2的pwm值使其达到-3度。
在这里插入图片描述

接下来调3号舵机,把两臂左右展开,螺距尺零度处在REL相对水平模式。
在这里插入图片描述

把螺距尺放到臂B上,可以看到三号舵机此时控制臂B的角度,得到度数为-2.5度,调整三号舵机pwm使其度数为-3度
在这里插入图片描述

三个舵机的微调pwm值到现在已经确定了,现在把油门调到最大,测臂的角度是否是10度左右,如果度数相差很大,那么,你需要从机械调平那里重新来过。

接下来顺便调下4号尾舵机的,打偏航杆,调整最大,最小pwm保证尾舵机行程在正常范围,并修改微调pwm,保证不打杆时尾桨在中立位置。

调整直升机在Stabilize模式下悬停

  • 设置默认参数

  • 调整YAW尾巴

  • 调整Pitch and Roll 的Rate VFF以及ACCEL_MAX

  • 调整Pitch and Roll 的Rate D与Rate P

  • 调整Pitch and Roll 的Rate I 、Rate IMAX以及Rate ILMI

  • 微调AHRS_TRIM_X,AHTS_TRIM_Y

    image

设置默认参数

param name value
ATC_ACCEL_P_MAX 110000
ATC_ACCEL_R_MAX 110000
ATC_ANG_PIT_P 4.5
ATC_ANG_RLL_P 4.5
ATC_RAT_PIT_D 0
ATC_RAT_PIT_FILT 20
ATC_RAT_PIT_I 0
ATC_RAT_PIT_ILMI 0
ATC_RAT_PIT_IMAX 0.40
ATC_RAT_PIT_P 0
ATC_RAT_PIT_VFF 0.15
ATC_RAT_RLL_D 0
ATC_RAT_RLL_FILT 20
ATC_RAT_RLL_I 0
ATC_RAT_RLL_ILMI 0
ATC_RAT_RLL_IMAX 0.40
ATC_RAT_RLL_P 0
ATC_RAT_RLL_VFF 0.15
RC_FEEL 50

调整尾巴

在stabilize模式下,启动直升机将其悬停在距地面不超过0.25米的地方。如果尾部看起来“松了”而且不想保持,则增加ATC_RAT_YAW_P。如果尾巴快速地左右摇摆,减少ATC_ANG_YAW_P。

param name value
ATC_ACCEL_Y_MAX 27000
ATC_ANG_YAW_P 4.5
ATC_RAT_YAW_D 0.003
ATC_RAT_YAW_FILT 20
ATC_RAT_YAW_I 0.12
ATC_RAT_YAW_ILMI 0
ATC_RAT_YAW_IMAX 0.33
ATC_RAT_YAW_P 0.18
ATC_RAT_YAW_VFF 0.024

调整Pitch and Roll 的VFF以及ACCEL_MAX

在stability模式下悬停,然后在pitch与roll方向来一些大动作.着陆后从sd卡中下载日志并在你的地面站中查看这些信息, (在RATE一栏)如果实际速率大于期望速率,则需要降低VFF,如果是小于则增加VFF

ATC_ACCEL_MAX参数的值取决于直升机的大小。大型800-900级机器通常在36000-52000范围内;较小的450-500级机器通常在90000-110000范围内

调整Pitch and Roll 的D与P

设置ATC_RAT_RLL_D和ATC_RAT_PIT_D增益为0.001。上升到悬停状态,并在roll方向做一些大动作。大多数直升机在看到俯仰振动之前都会先看到横摇振动。这就是为什么建议使用roll输入。如果没有震动,加大增益,然后再试一次。在得到快速抖动的值处,将该值减半,并将其作为ATC_RAT_RLL_D和ATC_RAT_PIT_D的最终调优值输入。

设置ATC_RAT_RLL_P和ATC_RAT_PIT_P增益为0.05。盘旋上升,从一边到另一边猛烈滚动。如果没有抖动,将增益增加0.01,然后重试。在得到快速摇晃的值时,将该值减半,并将其输入为ATC_RAT_RLL_P和ATC_RAT_PIT_P的最终调优值

调整Pitch and Roll 的Rate I 、Rate IMAX以及ILMI

建议将ATC_RAT_PIT_I增益设置为ATC_RAT_PIT_VFF增益,ATC_RAT_RLL_I增益设置为ATC_RAT_RLL_VFF增益,IMAX值限制了积分器误差的累积,积分项可以用来对抗较大的姿态扰动。在飞机的纵轴上,当飞机高速前进时ATC_RAT_PIT_I能够保持飞机的姿态,初始值是0.4。并且确保IMAX = 1,请以最大期望速度飞行飞机。拉出日志,查看PIDP消息中的最大I值是多少。将IMAX设置为高于最大值0.1。您可以对滚动轴做同样的操作,但通常0.4就足够了。ILMI设置为您希望在悬停时保留的最大积分器值,以帮助保持姿态。建议该值不大于0.1。

微调AHRS_TRIM_X,AHTS_TRIM_Y

此步骤是为了在stability模式下,飞手脱杆直升机能够差不多的悬停。

修改AHRS_TRIM_X调整飞机前后,修改AHRS_TRIM_Y调整飞机左右。

调整直升机在AltHold模式下悬停

param name value
PSC_POSZ_P 5
PSC_VELZ_P 1
PSC_ACCZ_P 0.5
PSC_ACCZ_FF 0
PSC_ACCZ_FILT 20
PSC_ACCZ_I 1
PSC_ACCZ_IMAX 800
PSC_ACCZ_D 0

PSC_POSZ_P用于将高度误差(期望高度和实际高度之间的差值)转换成期望的爬升率或下降率。更高的速率会使它更快速地试图保持高度,但如果设置得太高,会导致油门反应不稳。

PSC_VELZ_P(通常不需要调整)将期望的爬升或下降速度转换成期望的上升或下降加速度。

油门加速比例积分微分增益将加速度误差(即期望加速度和实际加速度之间的差值)转换为电机输出。如果修改这些参数,应该保持PSC_ACCZ_P:PSC_ACCZ_I=1:2。这些数值不应该增加,但是对于重量级的直升机来说,你可以通过减少PSC_ACCZ_P与PSC_ACCZ_I来获得更好的控制。

在日志中可以查看CTUN中Dalt(期待高度)与alt(实际高度)来分析高度控制的如何。

image

调整直升机在PosHold模式下悬停

这一步才是真正意义下了悬停,通过此步骤,飞机能够在poshold模式下定点。

此模式下的XY方向的控制率与高度Z方向的控制率有相同的规律。多调试,多看日志,多分析。

param name value
PSC_ACC_XY_FILT 2
PSC_POSXY_P 1
PSC_VELXY_D 0
PSC_VELXY_D_FILT 5
PSC_VELXY_FILT 5
PSC_VELXY_I 0.5
PSC_VELXY_IMAX 1000
PSC_VELXY_P 1

通过日志里的PSC可以看到位置控制,其中T开头的是期望值。

在这里插入图片描述

发布了10 篇原创文章 · 获赞 11 · 访问量 5972

猜你喜欢

转载自blog.csdn.net/qq_33641919/article/details/90733181
APM
今日推荐