LED含义(Pixhawk系列)
Pixhawk系列飞行控制器 通过LED指示灯来表明飞行器的当前状态。
- 用户界面LED(UI LED) 提供面向用户的与飞行准备相关的状态信息。
- 状态指示灯(Status LEDs) 则显示PX4IO和FMU片上系统(SoC)的状态, 它们用于指示电量、驱动模式、运行状态以及错误信息。
用户界面LED(UI LED)
RGB类型的“用户界面LED”(UI LED)用于指示飞行器当前的飞行准备状态。它通常是一个超亮的I2C外设,可能安装在飞行控制板上,也可能没有(例如,FMUv4板载没有该LED,通常使用安装在GPS模块上的LED)。
下图展示了LED状态与飞行器状态的对应关系。
:::警告 即便出现GPS锁定(绿色LED亮起),飞行器仍有可能因PX4尚未通过飞行前检查 而无法解锁。起飞需要有效的全局位置估计! :::
:::提示 如果出现错误(红色闪烁),或者飞行器无法实现GPS锁定(未能从蓝色变为绿色),请在 “QGroundControl” 中查看更详细的状态信息,包括校准状态以及飞行前检查(内部) 报告的错误消息。同时,还要检查GPS模块连接是否正确,Pixhawk是否能正确读取GPS信息,以及GPS是否发送了正确的GPS位置数据。 :::
- [常亮蓝色] 已解锁,无GPS锁定:表明飞行器已解锁,但尚未通过GPS设备获得位置锁定。此时飞行器解锁后,PX4解除对电机的控制,允许您操控无人机飞行。和往常一样,解锁时务必小心,因为高速旋转的大型螺旋桨可能存在危险。在此模式下,飞行器无法执行导航任务。
- [蓝色闪烁] 未解锁,无GPS锁定:与上述情况类似,但飞行器处于未解锁状态。这意味着您无法控制电机,但其他子系统仍在运行。
- [常亮绿色] 已解锁,GPS锁定:表明飞行器已解锁,且通过GPS设备获得了有效的位置锁定。飞行器解锁后,PX4解除对电机的控制,允许您操控无人机飞行。同样,解锁时需小心,因为高速旋转的大型螺旋桨具有危险性。在此模式下,飞行器可以执行导航任务。
- [绿色闪烁] 未解锁,GPS锁定:与上述情况类似,但飞行器处于未解锁状态。这意味着您无法控制电机,但包括GPS位置锁定在内的其他子系统正在运行。
- [常亮紫色] 故障保护模式:当飞行器在飞行过程中遇到问题,如失去手动控制、电池电量严重不足或出现内部错误时,该模式将被激活。在故障保护模式下,飞行器将尝试返回起飞位置,或降落在当前位置。
- [常亮琥珀色] 低电量警告:表明飞行器的电池电量已降至危险的低水平。在达到某一临界点后,飞行器将进入故障保护模式。此模式提示此次飞行应尽快结束。
- [红色闪烁] 错误 / 需要设置:表明自动驾驶仪在飞行前需要进行配置或校准。请将飞行器连接到地面站以查明问题。如果您已完成设置流程,但飞行器仍闪烁红色,则表明存在其他错误。
状态指示灯(Status LEDs)
三个“状态指示灯”用于显示FMU片上系统的状态,另外三个(如果存在)则用于显示PX4IO的状态。它们用于指示电量、驱动模式、运行状态以及错误信息。
从设备上电开始,FMU和PX4IO的CPU首先运行引导程序(BL),然后运行应用程序(APP)。下表展示了引导加载程序和应用程序如何使用LED来指示状态。
颜色 | 标签 | 引导加载程序使用 | APP使用 |
---|---|---|---|
蓝色 | ACT(激活) | 引导加载程序接收数据时闪烁 | 表示ARM状态 |
红色/琥珀色 | B/E(在引导加载程序/错误) | 在引导加载程序运行时闪烁 | 表示错误状态 |
绿色 | PWR(电源) | 引导加载程序不使用 | 表示ARM状态 |
INFO
上述显示的LED标签是常用的标识,但在某些电路板上可能会有所不同。
以下是LED状态更详细的信息(“x”表示任意状态):
红色/琥珀色 | 蓝色 | 绿色 | 含义 |
---|---|---|---|
10Hz闪烁 | x | x | CPU负载 > 80% 或内存使用率 > 98% |
熄灭 | x | x | CPU负载 <= 80% 或内存使用率 <= 98% |
不适用 | 熄灭 | 4Hz闪烁 | actuator_armed->armed && failsafe(执行器已武装且处于故障保护状态) |
不适用 | 亮起 | 4Hz闪烁 | actuator_armed->armed &&!failsafe(执行器已武装且未处于故障保护状态) |
不适用 | 熄灭 | 1Hz闪烁 | !actuator_armed->armed && actuator_armed->ready_to_arm(执行器未武装但已准备好武装) |
不适用 | 熄灭 | 10Hz闪烁 | !actuator_armed->armed &&!actuator_armed->ready_to_arm(执行器未武装且未准备好武装) |