本文记录了大疆A3飞控不同LED灯所对应的状态,并为自检灯一直闪烁、红灯且SD卡异常、红绿灯交替闪烁的异常状态提供了可能的解决措施。
LED灯状态速查
大疆官方的用户手册中已经提供了一部分LED灯的状态及详细说明,如图1所示。

此外,如果LED指示灯为红绿灯交替闪烁,则指示飞控正处于模拟器模式,但又无法成功连接到模拟器。
LED灯异常解决措施
自检灯一直闪烁
经测试,有时候在刷写为旧版本固件时,会出现一直处于自检的情况。此时直接使用DJI Assistant 2刷写为高版本的固件即可解决。
红灯-SD卡异常
当LED为红灯时,可在电脑上运行DJI Assistant 2,如图2所示。接着,您需要将飞控通过Micro USB--USB线缆连接到电脑。DJI Assistant 2会自动检测并识别飞控。

如果您在插入线缆后,DJI Assistant 2没有识别到飞控,请尝试重复插拔或使用电脑的其他USB接口。如果重复插拔和更换USB接口均无效,请关闭DJI Assistant 2并重新打开。如果重新打开时提示“DJI Assistant 2仍在后台运行中”,请打开电脑的任务管理器,在“进程”页面中搜索“DJI”,在“后台进程”一栏中手动结束进程,如图3所示。

此时点击“工具”页面跳转到“系统拓扑图”,如图4所示。在此页面中,你可以看到有关红灯报错的详情信息。

当出现此异常时,并不代表SD卡必须返厂维修。如果您在出现该问题的同时使用了API接口,则可以尝试按照以下步骤进行修复。
-
断开飞控与电脑之间的连接
-
断开飞控电源。
-
通过串口连接到飞控。
-
通过串口持续向飞控发送任意数据。
-
接通飞控电源。
请确保断开飞控与电脑之间的连接并断开飞控电源。
如果您不了解如何通过串口连接到飞控,请参考这篇文章。本文以Linux平台上的连接为例。
可以使用任意语言向飞控发送任意数据,这里以Python作为示例。要想使用Python串口通信,首先需要安装Python串口通信库pyserial。
sudo pip install pyserial
接着,创建repair.py文件。
vi repair.py
按下键盘上的字母“i”进入插入模式,复制或手动输入下面的Python代码:
from serial import Serial
# 请将此处的串口位置和波特率改为自己平台
flyControl = Serial("/dev/ttyUSB0", 230400)
print("打开串口成功,正在向串口写入数据......")
while True:
flyControl.write(b"\x20")
复制完成后,按下键盘上的“ESC”,输入“:wq”,按下回车键退出编辑器。
键入下面的命令执行Python脚本,如图5所示:
sudo python3 repair.py

此时再接通飞控电源,飞控经过一段时间初始化后应该会恢复正常,闪烁黄灯或绿灯。
下面是原因猜测。注意,以下分析均为猜测,但是符合实验结果。
如果您在API接口上接入了设备,无人机在飞行时(无论实际飞行还是使用模拟器飞行),会向API接口发送信息。如果此时因为外部原因断电,则API接口可能不会被正常关闭。因此下次重新上电初始化时,会报SD卡异常。而通过串口向其发送输入数据时,API接口会被重新连接,此时会清除之前的连接信息。
红绿灯交替闪烁
当飞控正处于模拟器模式,但又无法成功连接到模拟器时,会出现此指示灯。该状态往往与模拟器不正常关闭有关。
解决思路是使飞控退出模拟器模式或者使飞控连接到模拟器。目前还没有探索出使飞控退出模拟器模式的方法,官方文档中也没有相关说明。之前有几次在DJI Assistant 2中“基本设置”页面,“ESC设置”中进行任意一个电机的测试,有时可以成功使其退出模拟器模式,但该方法有时又不起作用。因此,此处更推荐使用使飞控连接到模拟器的方法。
-
重新开始仿真(推荐)
在DJI Assistant 2的“模拟器”页面中,点击“打开”按钮,接着点击“开始仿真”按钮即可重新开始仿真,如图7和图8所示。开始仿真成功后,飞控LED灯会经过一系列变化,最终变为绿灯常闪或黄灯常闪。

