ArduPilot固件使用指南
本章将描述X25 EVO运行ArduPilot固件时需要注意的要点,除本章外您可能还需要阅读以下内容:
加载固件
X25 EVO®控制器支持ArduPilot,下面主要讲解如何加载ArduPilot固件。
[!TIP] X25 EVO支持4.6.3及以上版本固件.
在线烧录固件:
运行LGC地面站>点击LGC图标》无人机设置》固件》通过USB将设备连接至电脑》选择需要烧录的固件类型。
 
 
本地烧录固件:
请先下载固件到本地:
在固件烧录设置中勾选高级设置》选择版本为自定义固件》在弹出窗口选择需要烧录的固件文件。
GPS/RTK设置
 
 
[!TIP] LGC地面站支持图形化配置GPS/RTK模块,点击对应的GPS/RTK图标按照系统指引进行自动化配置,可通过模块位置滑块配置GPS位置偏移,通过定位模块2滑块进行GPS2配置。
电源模块
X25 EVO标配PMU2 Lite电源模块,支持20-70V输入,最大可测电流220A,可直接连接至X25 EVO的Power C1/C2接口。连接好后,启动控制器,不需要配置任何控制器参数,请勿通过MP地面站等软件修改配置。

空速计设置
对于固定翼/垂直起降固定翼等需要空速传感器的机身,可以通过LGC》无人机设置》传感器》空速传感器进行配置。
 
 
[!TIP] 空速置零/校准在飞行视图》实时属性》空速校准。
加速度/陀螺仪/罗盘校准
[!TIP] 加速度/陀螺仪/罗盘校准在传感器校准页面,按照LGC指南执行即可。
UART映射
UART映射
| SERIAL 编号 | 对应接口 | 
|---|---|
| SERIAL0 | USB | 
| SERIAL1 | UART7 (TELEM1) | 
| SERIAL2 | UART5 (TELEM2) | 
| SERIAL3 | USART1 (GPS1&SAFETY) | 
| SERIAL4 | USART2 (GPS2) | 
| SERIAL5 | UART4 | 
| SERIAL6 | USART3 (DEBUG/DSU) | 
| SERIAL7 | OTG2 (SLCAN) | 
[!NOTE] TELEM1 和TELEM2接口带流量控制(RTS/CTS), 其它UARTs没有RTS/CTS引脚;所有都带有完整功能的DMA。
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输出
X25 EVO支持16路PWM输出,这些输出分为5个组,每个组使用不同的定时器,所有同一组内只能使用一种输出速率或者协议
PWM输出分组:
- PWM 1-4 in group1 (TIM5)
- PWM 5-8 in group2 (TIM4)
- PWM 9-11 in group3 (TIM1)
- PWM 12-14 in group4 (TIM8)
- PWM 15-16 in group5 (TIM12)
[!NOTE] 同一组内的通道需使用相同的输出速率。如果组内任何通道使用 DShot,则该组内所有通道均需使用 DShot。通道15和16不支持DShot。
[!TIP] 所有通道支持3.3V/5V PWM之间切换。对于长线路传输或者大功率系统,建议选用5V PWM。BRD_PWM_VOLT_SEL参数来设置PWM的电平。
GPIO
所有Servo都可以作为GPIOs (relays(继电器), 相机快门, RPM等). 作为GPIO需要设置SERVOx_FUNCTION=-1(X为引脚序号),ArduPilot的GPIO编号映射关系如下:
| 引脚名称 | SERVO序号 | ArduPilot GPIO编号 | 
|---|---|---|
| M1 | SERVO1 | 50 | 
| M2 | SERVO2 | 51 | 
| M3 | SERVO3 | 52 | 
| M4 | SERVO4 | 53 | 
| M5 | SERVO5 | 54 | 
| M6 | SERVO6 | 55 | 
| M7 | SERVO7 | 56 | 
| M8 | SERVO8 | 57 | 
| M9 | SERVO9 | 58 | 
| M10 | SERVO10 | 59 | 
| M11 | SERVO11 | 60 | 
| M12 | SERVO12 | 61 | 
| M13 | SERVO13 | 62 | 
| M14 | SERVO14 | 63 | 
| M15 | SERVO15 | 64 | 
| M16 | SERVO16 | 65 | 
直接复制上述表格代码即可使用,已按要求删除备注栏,保留M编号、SERVO通道和对应引脚号三列信息。 以将M14作为继电器为例;设置Relay_pin=63.
模拟输入
X25 EVO有三个模拟输入口
- ADC Pin13 -> ADC 3.3V
- ADC Pin12 -> ADC 6.6V
- ADC Pin10 -> RSSI
RSSI
X25 EVO有RSSI(电平信号)遥测信号强度监测接口,可通过设置以下参数启用它:
- RSSI_TYPE= 1
- RSSI_ANA_PIN= 10
罗盘/指南针
X25 EVO内置RM3100指南针,但由于干扰,该板通常与外部I2C指南针一起使用,作为 GPS/指南针组合的一部分。理应优先使用外部指南针(例如GPS上的指南针)作为主要指南针,优先使用外部指南针。
以太网口配置
X25 EVO具有ETH接口,可通过Ardupilot关于以太网配置教程配置它。
开发指南
[!COMMENT] CUAV不提供固件及软件二次开发技术指导,如有相关问题,请仔细阅读相关指南或ArduPilot discord_频道寻求ArduPilot协助。
ArduPilot固件编译命令
./waf configure --board CUAV-X25-EVO
./waf copter --upload
已编译好的固件可以在 https://firmware.ardupilot.org 中名为“CUAV-X25-EVO”的子文件夹中找到。
该主板预装了兼容 ArduPilot的引导加载程序,允许使用任何兼容 ArduPilot的地面站加载 *.apj 固件文件。