继电器模块-外设硬件
一、前言
针对无人机上一些载荷的通电或断电,可以使用继电器模块进行控制。
在大电流的场景的应用:
比如通过遥控器或地面站,手动控制植物保机上的喷洒水泵的启停!无人机在接上电池后,水泵不转,当飞到农田上空,按下启动按钮,喷洒水泵的电源线
二、继电器模块基础介绍、基本原理
通常,电子/机电/电气专业背景的朋友就非常清楚继电器的基础特性!
但考虑到一些新手朋友,可能还不太清楚,所在此处再做简单的概述,下图为本人从某宝上采购的一个继电器模块:

通用的小型继电器模块一般有2个接线柱、1个触发电平信号条线帽组成。
接口与关键特性:

因此我们只需将③号触发信号输入脚与飞控的某个IO引脚相连(可以是飞控中S1-S10 pwm信号引脚的任意1个), 通过控制飞控这个引脚输出高低电平,触发继电器。
假设需要控制水泵,我们需将水泵电源线的其中一根剪断(一般是正极线),分别接入继电器模块的⑤公共端、⑥默认开启端。
这样上电后水泵就不会开启,需要飞控输出电平控制继电器触发后,水泵才能正常被通电!
三、飞控参数配置
此处以飞控的S8 PWM接口连接 继电器模块的电平触发接口。
1)在初始设置->Servo Output界面将Servo8_Function = GPIO,如下图所示

2)打开全部参数表,找到的RELAY1_FUNCTION、RELAY2_FUNCTION、RELAY3_FUNCTION、RELAY4_FUNCTION、RELAY5_FUNCTION、RELAY6_FUNCTION
上述6个参数,代表APM固件默认可以开启6路继电器。每一路默认都是没有开启的!

3)以RELAY1这里为例,将RELAY1_FUNCTION =1 ,使能其中的1路继电器。

重启飞控
随后其余的3路参数也会被加载出来,这3个参数分别是:
RELAY1_DEFAULT
RELAY1_INVERTED
RELAY1_PIN

4)参数配置- 飞控IO映射参数:RELAY1_PIN,默认=-1关闭!
用于指定飞控上哪个GPIO 引脚与 RELAY1继电器 绑定,即飞控通过该引脚输出电平信号,实现对 RELAY1 继电器的通断控制。
S8 (PWM输出8)作为飞控的高低电平输出引脚,应该配置为 RELAY1_PIN = 57为什么是57?
请看硬件定义文件的配置, 在WFG100飞控中一共有13路PWM输出,其中PWM(8)与GPIO(57)相互映射。
另外还附上了雷迅X7飞控的硬件定义飞控,它支持14路PWM的输出。大家仔细对比2张图片可以发现, PWM序号与GPIO序号是依次递增的!

5)参数配置- 电平有效参数:RELAY1_INVERTED,默认=-1关闭!
是第一路继电器的通断逻辑反转配置项,用于调整飞控输出电平与继电器实际通断状态的映射关系,解决不同继电器 “电平有效方式” 不兼容的问题(如部分继电器高电平吸合、部分低电平吸合)。
比如此处,我的继电器跳线帽选择的是高电平触发。 所以飞控输出高电平,给到继电器触发信号输入引脚,边可以让继电器进行触发!
由于我们的继电器是高电平有效,因此需要将RELAY1_INVERTED = 0即可(0代表高电平有效,1代表低电平有效)
6)参数配置-继电器开机默认状态参数:RELAY1_DEFAULT
第一路继电器(RELAY1)的上电开机默认状态配置项。
用于设定飞控完成启动后,RELAY1 无需外部指令干预的初始通断状态,为其控制的外部设备(如相机电源、继电器触发模块等)提供固定初始逻辑。
具体将RELAY1_DEFAULT要配置成=1(上电开启)还是配置成=0(上电关闭),就看大家各自的使用需求了!
取值 | 状态含义 | 工作逻辑 | 适用场景 |
0 | 默认关闭 (OFF,默认为0) | 飞控开机完成后,RELAY1 自动断开,触点不吸合,控制的外部设备默认不工作 | 非开机必启设备(如相机触发继电器、临时辅助设备) |
1 |
| 飞控开机完成后,RELAY1 自动闭合,触点吸合,控制的外部设备默认进入工作状态 | 开机必启设备(如航测相机常供电、实时图传设备电源) |
2 | 保持引导加载程序(bootloader)状态 | 飞控开机后不主动修改 RELAY1 引脚状态,继承 bootloader(底层启动程序)运行时的原有电平 / 通断状态,不做主动重置 | 专业定制化场景(极少使用,需继承底层程序初始状态) |
四、如何测试?
配置完成后,记得重启一下飞控!
测试方法1:在地面站的Aux Function 界面中,通过下拉三角形选择继电器开启/关闭功能,然后点击LOW、点击High进行高低电平测试。

测试方法2:通过遥控器映射通道进行测试

测试方法3:通过自动航线测试(高空抛物~注意安全)

五、如何开启多路继电器控制?
在APM固件中,默认最多支持6路继电器的开合控制!
大家只需要根据需求,分别使用剩余的记录继电器通道,即可。
步骤1:再选择一路PWM通道,将其设置为GPIO!

步骤2:在剩余的5路继电器中,按需使能RELAY2_FUNCTION、RELAY3_FUNCTION、RELAY4_FUNCTION、RELAY5_FUNCTION、RELAY6_FUNCTION
步骤3:根据下图,配置RELAY1_PIN 参数的映射序列号
