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)》等待烧录完成.

ardupilot firmware

本地烧录固件:

请先下载固件到本地:

机型分类 固件下载链接 适用场景说明
多旋翼 arducopter.apj 四轴、六轴、八轴等常规多旋翼飞行器,支持悬停、定点、航线、返航等功能
传统直升机 arducopter-heli.apj 单旋翼带尾桨式传统直升机,适配变距桨结构与直升机专属控制逻辑
固定翼 & 垂起 arduplane.apj 常规固定翼、飞翼、VTOL 垂直起降飞行器,主打长航程、远距离航线飞行
无人车 / 无人船 ardurover.apj 轮式/履带无人车、水面无人船、地面移动机器人,支持路径跟踪、自动行驶

选择加载自定义固件》选择下载的固件》等待烧录完成

ardupilot firmware2

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=4
  • BATT1_VOLT_MULT=31
  • BATT1_VOLT_PIN=9
  • BATT1_CURR_PIN=8
  • BATT1_AMP_PERVLT=24

对于ArduPilot 4.6以下版本固件

  • BATT_MONITOR=4
  • BATT_VOLT_MULT=31
  • BATT_VOLT_PIN=9
  • BATT_CURR_PIN=8
  • BATT_AMP_PERVLT=24

7-nano

VDM

对于ArduPilot 4.6及以上版本固件

  • BATT1_MONITOR=3/4
  • BATT1_VOLT_MULT=31
  • BATT1_VOLT_PIN=9

对于ArduPilot 4.6以下版本固件

  • BATT_MONITOR=3/4
  • BATT_VOLT_MULT=31
  • BATT_VOLT_PIN=9

7-nano

罗盘

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

ardupilot firmware

以太网口配置

7-Nano支持通过以太网建立局域网链接,局域网内的设备需处于同一IP网络(同一网段)以使每个设备具有唯一的IP地址并且能够与其它设备通信。

打开Mission planner>配置>全部参数表,设置NET_ENABLED=1,,重启自动驾驶仪并修改以下参数:

ardupilot firmware

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

ardupilot firmware

设置电脑IP为192.168.10.15,设置一个网络端口为15001,以便通过UDP访问该网络设备,端口协议为2。

[!NOTE] 最多可以设置四个端口。

系统硬件连接

  • 使用配套的网线连接至电脑,并为控制器及AG路由供电。
  • 进入电脑【更改网络设配器选项】>以太网属性【Internet协议版本4(TCP/IPV4】>手动进行网络配置(本机IP,配置为192.168.0.1,子网掩码255.255.255.0)>点确定应用配置.

ardupilot firmware

网络连通性测试

  • 进入Windows命令窗口
  • 输入:ping 192.168.10.4

ardupilot firmware

[!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 固件文件。

results matching ""

    No results matching ""