我在用INAV时遇到的问题

配置

飞控板:AocodaRC F4V2+配套电调

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

电机:D2204 2300kv,配七寸桨桨尖速度能到1.03马赫(计算方法:kv×电压×2πr/60,r是桨半径)

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

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

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

机架:XL7碳纤维

电池:2800mAh

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

遥控器:支持CRSF的遥控器+配套接收模块


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

编译固件

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

首先看你的飞控板在哪些版本里有现成固件,把对应版本的源代码下载下来。6.0之后的target比较全,如果没有,可以去BF那边把target文件偷过来

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

下载完成后打开src/main/target,找到你飞控对应的文件夹复制出来,然后下载兼容的INAV版本(比如5.1),把文件夹放到同样的路径下。如果那个版本里本来就有你这个飞控的target,直接跳过编译用现成固件就行。

接下来执行下面的命令。这里需要cmake和make这两个构建工具,安装很简单:

1
minloha@minloha:$ sudo apt-get install cmake make
1
2
3
minloha@minloha:/home/minloha/inav$ mkdir build
minloha@minloha:/home/minloha/inav$ 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不被接受,需要换成别的取值,具体看CLI的提示

油门杆位置太高,没压到arming检查的门槛以下。把摇杆往下压到底,或者调低油门起点(min_check)就行。


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