Ardupilot 硬件安全开关是用于控制飞行器电机和舵机输出的重要部件,可有效防止意外启动,保障飞行安全。以下是其相关介绍:
功能作用:安全开关用于启用或禁用电机和伺服的输出,控制飞行器的 “安全” 状态。处于安全状态时,电机通常无法运行,伺服输出的 PWM 被禁用,还会产生预解锁错误条件以防止意外解锁。但在飞机的手动模式下,若强制解锁且brd_safety_mask启用了控制电机的输出,电机仍可运行。
LED 状态指示:
持续闪烁:表示系统正在初始化。
间歇性闪烁:说明系统已准备就绪,但处于 “安全” 状态。此时按下安全开关,若飞行器已解锁,可使能电机和控制面的输出;若未解锁,可取消阻止解锁的预解锁错误条件。
常亮:意味着安全开关已被按下,飞行器解锁后,电机和舵机能够移动。
参数配置:
brd_safety_def:用于禁用安全开关,将其设为 0 可用于未配备安全开关的系统(旧版本固件中为brd_safety_enable)。
brd_safety_option:此为比特掩码,可控制安全按钮的行为,如控制安全按钮是否能启用或禁用 “安全” 状态,以及按钮是仅在未解锁时激活,还是在解锁状态下也能生效等。默认情况下,按钮仅在未解锁时可进入或退出 “安全” 状态。
brd_safety_mask:可设置哪些单独的通道在安全开关作用下保持启用,这样能在地面进行有限的控制面运动,以检查其是否正常工作,但在所有稳定飞行模式下,电机输出仍会保持禁用。
特殊用途:如果在自动驾驶仪通电后的最初几秒按住安全开关,若自动驾驶仪包含 IOM CU(输入输出控制单元),则会重新加载 I/O 固件。这通常在固件上传后启动时听到 “启动失败” 声音等罕见情况下需要。
brd_safety_def:用于禁用安全开关,将其设为 0