最近装了一台抽象纸飞机,使用了国产99块钱开源飞控。但是在调参的过程中,我发现飞机经常无法切换到手动模式以外的其他任何模式。
在飞控CLI界面使用代码进行检查,最终解决了这个问题。
问题的成因是飞控启动过程中,由于纸飞机不平,无法通过即时校准。
卡“即时校准”问题
即时校准在英文版客户端为:Sensors calibrating,直译过来就是“传感器校准”。通过即时校准的要求为启动时机身平放,不要有抖动,维持5秒钟。通常来讲,这个要求在一些较为常规的飞机、以及多旋翼无人机上不会有问题。但是纸飞机本身就放不平,再加上手持比较容易出现抖动晃动,因此纸飞机、手抛机之类的飞机容易卡在这一步骤。
在下文中,即时校准和传感器校准为同一含义。不是很喜欢中文版inav地面站的这个译名,存在一定的误导性。
解决方案
首先检查是否是飞控硬件的问题。如果不是,那么尝试利用INAV在5.0版本引入的一个特性,使飞控可以在移动的车辆、船等不稳定的平台上完成传感器校准。
这个设置可能会导致出现不安全的情况,但是总比解锁或者切换模式都无法完成好:
还是使用CLI命令行模式
set init_gyro_cal = off
save
理论上这一步完成,就可以通过校准了。
此外还可以通过修改传感器校准的时间来尽可能的降低晃动带来的影响:
set baro_cal_tolerance = 500
save
无法解锁问题排查方法
打开地面站CLI,在CLI输入status。即可查看飞控无法解锁的状态。
对应状态码查询问题所在,按照方法解决:
# 省略其余部分
## 这一行为关键
Arming disabled flags: CAL NAV CLI
故障码对应表
禁止解锁原因 | 中文介绍 | 备注 |
|---|
FS | 失控:没有识别到接收机,或接收机失控无信号 | |
ANGLE | 飞控不水平,INAV 默认倾斜角>30 度无法解锁,请将飞控水平放置再解锁 | 可通过高级设置界面调整允许解锁的角度 |
CAL | 传感器校准未通过,飞控上电需要静止5 秒以上,让陀螺仪完成自动校准 | set baro_cal_tolerance = 500
set init_gyro_cal = off
save
|
OVRLD | CPU 负载过高,检查是不是设置了过高的控制刷新率 | |
NAV | 导航系统不安全,检查GPS 是否正常工作,否搜到足够多的星(6颗3D定位),是否开启了返航但没设置GPS。 | 可通过设置允许不安全的解锁set nav_extra_arming_safety = ON。但是这样做存在一定的风险性。 |
COMPASS | 指南针没有校准 | |
ACC | 加速度计未校准 | |
ARMSW | 飞控通电时解锁开关处于解锁状态,手动上锁再解锁,报警即可消除 | |
HWFAIL | 传感器故障,如气压计,GPS,罗盘 | |
BOXFS | 急停保护被激活 | |
KILLSW | Kill被激活 | |
RX | 没检测到接收机 | |
THR | 解锁时油门没有打到最低,inav 默认解锁油门值1000,请检查自己的油门是不是打到了最低,油门微调是不是打到了最低 | |
CLI | 当前处于CLI 模式,禁止解锁 | |
CMS | 当前处于CMS 调参模式,禁止解锁 | |
OSD | 当前处于OSD 调参模式,禁止解锁 | |
ROLL/PITCH | 横滚或俯仰摇杆没回中 | |
AUTOTRIM | 舵面自动配平模式处于打开状态 | |
OOM | 飞控内存不足 | |
SETTINGFAIL | CLI 设置出错 | 如果你找不出哪里设置错误,可以点一下全芯片擦除,从头开始重新设置(危险操作,不建议)。 |
PWMOUT | PWM 输出错误。电机或舵机输出初始化失败 | |
NOPREARM | 传感器启动超时 | |
DSHOTBEEPER | 打开了电机蜂鸣,并且蜂鸣处于打开状态 | blheli 电调支持音标功能,可以用一个通道让电机发出蜂鸣声,用于寻找炸鸡的飞机。 |
LANDED | 飞机处于自动降落模式 | |