安全开关

../_images/pixhawk_safetyswitch.jpg

安全开关可用于启用/禁用电机和舵机的输出。该开关控制飞行器的 "安全 "状态。在此状态下,电机将无法运行(除非在 Plane's MANUAL(手动)模式下,如果强制上膛且 brd_safety_mask 启用控制电机的输出),产生预上膛错误条件以防止意外上膛,伺服输出的 PWM 被禁用。

LED 的含义

  • 持续闪烁 - 系统正在初始化

  • 间歇闪烁 - 系统已准备就绪,但处于 "安全 "状态。如果已经上膛,则按下安全开关以启用对电机和控制面的输出,或者取消阻止上膛的预上膛错误状态。

  • 固态 - 安全开关已按下,载具上膛后,电机和伺服电机可以移动。

配置安全开关

  • 安全解除 = 0 表示禁用未配备该开关的系统(......)。brd_safetyenable 在旧固件版本中)

    • 安全选项.该位掩码控制安全按钮的行为。通过它可以控制安全按钮是否可用于启用安全状态和/或禁用安全状态,以及按钮是否仅在撤膛时有效,并在撤膛时强制返回安全开启状态。默认情况下,按钮仅在撤膛时进入或退出安全状态。

  • brd_safety_mask 可用于设置哪些单独通道通过安全开关保持启用状态。这允许在地面上进行有限的控制面移动,以检查操作是否正确。在所有稳定飞行模式下,电机输出都将保持禁用状态。

备注

处于 "安全 "状态

./_images/safetyswitch-bitmask.png
  • 安全选项 该位掩码控制安全按钮的操作限制。通过它可以控制安全按钮是否可用于启用和/或禁用 "安全 "状态,以及在上膛时按钮是否处于激活状态。此外,还可控制上膛时是否强制开启 "安全 "状态。

使用安全开关强制更新 I/O 板固件

如果在(飞行)控制器通电后的最初几秒钟内按住安全开关,则会重新加载 I/O 固件(如果(飞行)控制器包含 IOMCU)。

通常不需要这样做,但在极少数情况下,如果在启动后听到 "启动失败 "的声音,则需要在固件上传后这样做(参见 声音维基页面).

备注

许多(飞行)控制器都有两个 CPU,主 CPU(又称 FMU)是 ArduPilot 的运行 CPU。IOMCU 是一个独立的 I/O CPU,负责一些 I/O,包括向 MAIN OUT 通道输出 PWM。其他(飞行)控制器没有 IOMCU,只有主 CPU。