ArduPilot固件使用指南
本章将描述7-Nano v2运行ArduPilot固件时需要注意的要点,除本章外您可能还需要阅读以下内容:
加载固件
7-Nano v2®控制器支持ArduPilot,下面主要讲解如何加载ArduPilot固件。
[!TIP] 7‑Nano V2 为 7‑Nano 迭代升级版本,二者均采用 CUAV‑7‑Nano 固件。ArduPilot 4.6.3 及以上固件可同时兼容 7‑Nano V2 与 7‑Nano;其中 7‑Nano 所需最低固件版本为 4.5.6。
在线烧录固件:
将7-Nano v2连接到电脑,打开地面站,点击初始设置界面》安装固件(CUAV-7-Nano)》等待烧录完成.
本地烧录固件:
请先下载固件到本地:
| 机型分类 | 固件下载链接 | 适用场景说明 |
|---|---|---|
| 多旋翼 | arducopter.apj | 四轴、六轴、八轴等常规多旋翼飞行器,支持悬停、定点、航线、返航等功能 |
| 传统直升机 | arducopter-heli.apj | 单旋翼带尾桨式传统直升机,适配变距桨结构与直升机专属控制逻辑 |
| 固定翼 & 垂起 | arduplane.apj | 常规固定翼、飞翼、VTOL 垂直起降飞行器,主打长航程、远距离航线飞行 |
| 无人车 / 无人船 | ardurover.apj | 轮式/履带无人车、水面无人船、地面移动机器人,支持路径跟踪、自动行驶 |
选择加载自定义固件》选择下载的固件》等待烧录完成

UART映射
| 串口编号 | 硬件接口 | 功能定义 |
|---|---|---|
| SERIAL0 | USB | 上位机连接、固件烧录 |
| SERIAL1 | UART7 (TELEM1) | 数传/遥控链路 |
| SERIAL2 | UART5 (TELEM2) | 拓展数传、外设通信 |
| SERIAL3 | USART1 | 主GPS + 安全开关 |
| SERIAL4 | UART8 (GPS2) | 备用GPS |
| SERIAL5 | USART3 (DEBUG) | 调试接口 |
[!NOTE] TELEM1 和TELEM2接口带流量控制(RTS/CTS), 其它UARTs没有RTS/CTS引脚.
RC输入
RCIN接口支持所有单向RC协议(SBUS/PPM/DSM);
DSM/PPM/SBUS接收机
使用杜邦线连接至RCIN接口;无需任何额外的参数设置。
对于CRSF/ELRS等带有遥测的双向协议的接收机,需要连接到UART接口, 以下为设置教程:例如SERIAL2 (UART5/TELEM2) 用于双向 RC。
ELRS接收机
将接收机连接至TELME2接口并设置以下参数:
将接收机连接至TELME2接口并设置以下参数:
- SERIAL2_PROTOCOL=23;
- SERIAL2_OPTIONS=0;
- RSSI_TYPE=3;
- RC_OPTIONS=8192(Use 420kbaud for ELRS protool);
写入重启
CRSF接收机
- SERIAL2_PROTOCOL=23;
- SERIAL2_OPTIONS=0;
- RSSI_TYPE=3;
FPort接收机
- SERIAL2_PROTOCOL=23;
- SERIAL2_OPTIONS=7;
- RSSI_TYPE=3;
[!TIP] 任何UART都可以用于连接ArduPilot中的RC接收机,并且兼容除PPM之外的所有协议。有关详细信息,请参阅无线电控制系统。
PWM输出
7-Nano v2支持14路PWM输出
PWM输出分组:
| 分组 | 电机通道 | 定时器 |
|---|---|---|
| 第一组 | M1 ~ M4 | TIM5 |
| 第二组 | M5 ~ M6 | TIM4 |
| 第三组 | M7 ~ M8 | TIM1 |
| 第四组 | M9 ~ M11 | TIM8 |
| 第五组 | M12 | TIM15 |
| 第六组 | M13 ~ M14 | TIM12 |
[!NOTE] 同一组中的PWM输出需要使用相同的输出速率和协议,如果组中的任何输出使用DShot,则该组中的所有通道都需要使用DShot。M1-M8支持3.3V电压和5V电压输出之间的切换。可以通过
BRD_PWM_VOLT_SEL参数配置进行切换。
GPIO
所有的Servo输出都可以作为GPIOs (relays(继电器), 相机快门, RPM等). 作为GPIO需要设置SERVOx_FUNCTION=-1(X为引脚序号).
| 编号 | 接口标识 | GPIO引脚号 |
|---|---|---|
| 1 | M1 | 50 |
| 2 | M2 | 51 |
| 3 | M3 | 52 |
| 4 | M4 | 53 |
| 5 | M5 | 54 |
| 6 | M6 | 55 |
| 7 | M7 | 56 |
| 8 | M8 | 57 |
| 9 | M9 | 58 |
| 10 | M10 | 59 |
| 11 | M11 | 60 |
| 12 | M12 | 61 |
| 13 | M13 | 62 |
| 14 | M14 | 63 |
示例:将 M14 配置为继电器输出,参数设置:
Relay_pin = 63
模拟输入
7-Nano有6个模拟输入接口.
| ADC引脚 | 功能说明 |
|---|---|
| Pin9 | 电池电压传感器 |
| Pin8 | 电池电流传感器 |
| Pin5 | 5V电源检测 |
| Pin13 | 3.3V电压检测 |
| Pin12 | 6.6V电压检测 |
| Pin10 | RSSI电压监控 |
电池监测器(电流计设置)
[!NOTE] 标准套餐含7-VDM电源检测模块,支持10-100V电池输入,但只检测电压不检测电流并且您还需自行配备一个BEC模块为控制器供电。PDB套餐含7-Nano PDB电源监测模块,内含BEC、电源检测、分电板功能;
7-Nano PDB
对于ArduPilot 4.6及以上版本固件
BATT1_MONITOR=4BATT1_VOLT_MULT=31BATT1_VOLT_PIN=9BATT1_CURR_PIN=8BATT1_AMP_PERVLT=24
对于ArduPilot 4.6以下版本固件
BATT_MONITOR=4BATT_VOLT_MULT=31BATT_VOLT_PIN=9BATT_CURR_PIN=8BATT_AMP_PERVLT=24

VDM
对于ArduPilot 4.6及以上版本固件
BATT1_MONITOR=3/4BATT1_VOLT_MULT=31BATT1_VOLT_PIN=9
对于ArduPilot 4.6以下版本固件
BATT_MONITOR=3/4BATT_VOLT_MULT=31BATT_VOLT_PIN=9

罗盘
7-Nano具有 IST8310内置指南针,但由于干扰,该板通常与外部I2C指南针一起使用,作为 GPS/指南针组合的一部分。理应优先使用外部指南针(例如GPS上的指南针)作为主要指南;始终确保为外部指南顺序高于内部指南针。

以太网口配置
7-Nano支持通过以太网建立局域网链接,局域网内的设备需处于同一IP网络(同一网段)以使每个设备具有唯一的IP地址并且能够与其它设备通信。
打开Mission planner>配置>全部参数表,设置NET_ENABLED=1,,重启自动驾驶仪并修改以下参数:

如上图,设置控制器IP为192.168.10.14,路由IP设置为192.10.3(根据路由IP设置)。

设置电脑IP为192.168.10.15,设置一个网络端口为15001,以便通过UDP访问该网络设备,端口协议为2。
[!NOTE] 最多可以设置四个端口。
系统硬件连接
- 使用配套的网线连接至电脑,并为控制器及AG路由供电。
- 进入电脑【更改网络设配器选项】>以太网属性【Internet协议版本4(TCP/IPV4】>手动进行网络配置(本机IP,配置为192.168.0.1,子网掩码255.255.255.0)>点确定应用配置.

网络连通性测试
- 进入Windows命令窗口
- 输入:ping 192.168.10.4

[!TIP] 有网络延时数据回复则为通信建立,显示通信超时则可能时IP不对或者通信失败。
连接地面站
- 运行Mission planner地面站软件
- 设置连接方式"UDP"
- 输入端口号15001。
开发指南
[!COMMENT] CUAV不提供固件及软件二次开发技术指导,如有相关问题,请仔细阅读相关指南或ArduPilot discord_频道寻求ArduPilot协助。
ArduPilot固件编译命令
./waf configure --board CUAV-7-Nano
./waf copter --upload
已编译好的固件可以在 https://firmware.ardupilot.org 中名为“CUAV-7-Nano”的子文件夹中找到。
该主板预装了兼容 ArduPilot的引导加载程序,允许使用任何兼容 ArduPilot的地面站加载 *.apj 固件文件。