我在用INAV时遇到的问题

配置

飞控板:AOCODAF4V2+配套电调

GPS:北天-252,带磁力计(磁力计对INAV有用,对BF没用)

电机:D2204 2300kv,对七寸桨能达到1.03马赫(计算方法:kv*电压/2pi×r)

桨叶:APC马刀桨(推荐电机配套,可以花飞)

图传:PandaRC金砖2.5W(很热,建议配几个散热片)

摄像头:1200TVL(模拟图传的线数,可以直接理解为像素)

机架:XL7碳纤维

电池:2800MAH

光流计:MTF-02微空科技(精度挺高的)

遥控器:CRSF遥控器配套接收模块


总价大概在900元左右,踩坑花的也不少。

编译固件

使用INAV固件,必然会遇到英文看不懂的情况,而B站大佬只翻译了6.0版本之后的地面站,对于5.1以前的并没有,有些时候比如GPS或者电子罗盘模块不支持6.0之后的版本,所以需要编译一个早期版本。

首先你需要看你的飞控板在什么版本内有现成的固件,把对应版本的源代码下载下来,6.0之后的飞控板较为齐全,如果不全的话可以去BF偷target文件

目前最新版本的源代码:https://github.com/iNavFlight/inav/archive/refs/tags/6.1.1.zip

下载完成后打开路径src/main/target,找到你飞控的文件夹把他复制下来,然后去下载兼容的INAV版本,比如5.1放在相同的路径里(如果飞控在5.1或者其他对应低版本有的话,可以直接跳过编译过程了)

接下来执行下面的命令,这里需要准备cmake和make这两个工具链,安装方法很简单:

1
minloha@minloha:$ sudo apt-get install cmake make
1
2
3
minloha@minloha:/home/minloha/inav/build$ mkdir build
minloha@minloha:/home/minloha/inav/build$ cd build
minloha@minloha:/home/minloha/inav/build$ cmake ..

然后就是漫长的等待。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
-- found arm-none-eabi-gcc 10.2.1 at /mnt/c/Users/28211/Desktop/inav/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /mnt/c/Users/28211/Desktop/inav/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /mnt/c/Users/28211/Desktop/inav/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: /mnt/c/Users/28211/Desktop/inav/tools/gcc-arm-none-eabi-10-2020-q4-major/bin/arm-none-eabi-gcc
-- toolchain: arm-none-eabi, WARNINGS_AS_ERRORS: OFF
-- Could not find openocd, debugging won't be available
-- DEBUG_HARDFAULTS: OFF, SEMIHOSTING: OFF
-- 160 targets (125 for release) found for toolchain arm-none-eabi
-- Build type: RelWithDebInfo
-- Configuring done
-- Generating done
-- Build files have been written to: /home/minloha/inav/build

然后就开始构建固件,后面跟随的是飞控的名字,和放在src/main/target内文件夹的名字应该一样

1
minloha@minloha:/home/minloha/inav/build$ make AOCODARCF4V2 -j8

这里使用8核编译,要不然太慢了

1
2
3
4
5
6
7
8
9
Memory region         Used Size  Region Size  %age Used
FLASH: 536488 B 896 KB 58.47%
FLASH_CONFIG: 0 GB 128 KB 0.00%
RAM: 81448 B 128 KB 62.14%
CCM: 17936 B 64 KB 27.37%
BACKUP_SRAM: 0 GB 4 KB 0.00%
MEMORY_B1: 0 GB 0 GB
Built target AOCODARCF4V2.elf
Built target AOCODARCF4V2

然后你就能在build里面看到编译出来的hex文件啦!

烧录固件

打开你的INAV地面站软件,可以去github下载对应固件版本。点击Firmware Flasher

1

然后选择Load Firmware,打开.hex文件后,点击Flash Firmware。

2

正常连接即可。

无法解锁的问题

不安全解锁,主要是开了GPS导航后没有星星看着,所以无法解锁,可以使用下面的指令,粘贴到CLI内:

1
2
set nav_extra_arming_safety=OFF
save

6.0版本以上需要将OFF改为另一个选项,可以在提示里面看

油门位置过高,超过了设置的最低值,可以把遥感往下压一压,或者修改一下油门的起点。


我在用INAV时遇到的问题
https://blog.minloha.cn/posts/22241366cc946a2023082427.html
作者
Minloha
发布于
2023年8月24日
更新于
2024年9月15日
许可协议