微空科技
文档目录
文章目录

使用MicoConfigurator 一键烧录飞控固件

微空飞控支持 ArduPilot、PX4、Betaflight 和 INAV 四种开源飞控固件。

MicoConfigurator 固件更新界面

推荐优先使用 MicoConfigurator 烧录固件。

MicoConfigurator 无需安装,可用于烧录 ArduPilot 和 PX4 固件,也可以在 DFU 模式下烧录 ArduPilot、PX4、Betaflight 和 INAV 的本地固件。

MicoConfigurator 固件烧录功能

MicoConfigurator 提供:在线升级、本地烧录、DFU 烧录,三种功能。

在线升级和本地烧录需要飞控能够正常启动并被 MicoConfigurator 识别。首次烧录、更换固件类型或当前固件无法启动时,应使用 DFU 烧录。

准备一根支持数据传输的 USB 数据线。只能充电的数据线无法识别飞控,也不能用于烧录固件。

在线升级 ArduPilot 固件

在线升级仅支持 ArduPilot,飞控可以在连接或未连接 MicoConfigurator 的状态下进行固件升级。

已连接状态下升级 ArduPilot 固件

未连接状态下升级 ArduPilot 固件

  1. 使用 USB 数据线将飞控连接到电脑。
  2. 打开 MicoConfigurator,选择飞控对应的串口并建立连接。
  3. 进入固件更新页面,选择在线升级。
  4. 选择固件类型后,点击下载固件,会自动将最新版固件加载进配置器。
  5. 确认 MicoConfigurator 识别出的飞控型号和当前固件信息。
  6. 点击开始刷写并等待固件下载和写入完成。
  7. 飞控重启后重新连接,确认固件版本已经更新。

飞控未连接 MicoConfigurator 时,升级步骤没有明显区别,可按照配置器中的提示操作。后续未连接状态下的操作同理。

本地升级 ArduPilot 和 PX4 固件

本地升级支持 ArduPilot 和 PX4,需要提前准备与飞控型号匹配的本地固件文件,同时也可以在飞控连接或未连接到 MicoConfigurator 的状态下升级固件。

本地烧录ardupilot固件

本地烧录px4固件

本地离线升级固件

  1. 使用 USB 数据线将飞控连接到电脑。
  2. 打开 MicoConfigurator,选择飞控对应的串口并建立连接。
  3. 进入固件更新页面,选择本地升级。
  4. 根据需要选择 ArduPilot 或 PX4 固件文件。
  5. 再次确认固件类型和目标飞控型号。
  6. 开始烧录并等待进度完成。
  7. 飞控自动重启后重新连接,确认固件类型和版本正确。

使用 DFU 烧录四种开源飞控固件

DFU 烧录适用于以下情况:

  • 飞控首次烧录固件。
  • 飞控中的固件无法正常启动。
  • MicoConfigurator 中找不到飞控串口。
  • 需要在 ArduPilot、PX4、Betaflight 和 INAV 之间更换固件。

STM32 的 DFU 模式固化在芯片 ROM 中,不会随应用固件烧录而丢失。即使当前固件损坏,通常仍可进入 DFU 模式重新烧录。

让飞控进入 DFU 模式

boot按键(1)

  1. 按住飞控 USB 接口旁的 BOOT 按钮。
  2. 保持 BOOT 按钮按下,同时插入 USB 数据线并连接电脑。
  3. 飞控上电约 2 秒后松开 BOOT 按钮。
  4. 打开 Windows 设备管理器,检查是否显示 DFU in FS Mode

设备管理器显示dfu

使用 Zadig 安装 DFU 驱动

以下步骤适用于 Windows。如果设备管理器已经显示 DFU in FS Mode,并且 MicoConfigurator 能够正常连接 DFU 设备,可以跳过本节。

  1. 下载并打开 Zadig 2.8
  2. 按照前面的步骤让飞控进入 DFU 模式。
  3. 打开 Zadig 的 Options 菜单,勾选 List All Devices

在 Zadig 中显示全部设备

  1. 打开设备列表,选择 DFU in FS Mode。如果飞控主控为 STM32F405,设备名称也可能显示为 STM32 BOOTLOADER

在 Zadig 中选择 DFU 设备

  1. 在驱动选项中选择 WinUSB,点击 Install DriverReplace Driver,等待驱动安装完成。

使用 Zadig 安装 WinUSB 驱动

  1. 驱动安装完成后,断开并重新连接飞控,再使用 MicoConfigurator 连接 DFU 设备。

使用 DFU 在线下载并烧录

MicoConfigurator 的 DFU 在线列表提供部分版本的 ArduPilot 和 PX4 固件。

dfu模式下未连接烧录

  1. 让飞控进入 DFU 模式。
  2. 打开 MicoConfigurator 的 DFU 烧录页面。
  3. 选择在线下载,选择飞控型号和固件类型并点击下载固件。
  4. 下载完成后点击烧录固件,在浏览器弹出的设备列表中选择 DFU 设备并允许连接。
  5. 开始烧录,等待擦除、写入和校验完成。
  6. 烧录完成后断开 USB,再重新连接飞控。

使用 DFU 本地文件烧录

DFU 本地文件烧录支持 ArduPilot、PX4、Betaflight 和 INAV。

dfu未连接烧录本地固件

  1. 下载与飞控型号匹配的本地固件文件。
  2. 打开 MicoConfigurator 的 DFU 烧录页面。
  3. 选择本地文件烧录并加载固件文件。
  4. 让飞控进入 DFU 模式,并在浏览器弹出的设备列表中选择 DFU 设备并允许连接。
  5. 开始烧录,等待擦除、写入和校验完成。
  6. 烧录完成后断开 USB,再重新连接飞控并检查启动状态。

烧录从 Ardupilot 官网中下载的 .hex 格式固件后,飞控需要上电两次再连接。

常见问题

飞控无法进入 DFU 模式

  1. 如果 Windows 设备管理器无法识别到飞控的 COM 口以及 DFU 模式下的端口显示,请尝试使用 Zadig 重新安装驱动并重新进行操作。
  2. 检查飞控上所有端口座子里的针脚,如针脚出现歪斜、碰到一起的情况,可以使用镊子挑正。
  3. 当飞控表现为无法通过 USB 端口点亮时,则飞控可能处于单片机烧毁,供电模块损坏的状态。此时就不要再进行上电操作,及时联系技术人员。
  4. 部分 USB 线仅可以充电,无法进行数据传输。
  5. 更换接入电脑的 USB 接口,避免使用供电不稳定的 USB 扩展坞。

MicoConfigurator 中找不到飞控端口

  1. MicoConfigurator 可以连接 ArduPilot 和 PX4 固件的飞控,BetaFlight 与 Inav 固件无法连接到 MicoConfigurator。
  2. 确认 USB 数据线支持数据传输,并尝试更换 USB 接口。
  3. 关闭其他可能正在占用飞控串口的软件或浏览器页面。
  4. 重新打开 MicoConfigurator,并重新授权访问串口设备。
  5. 在 Windows 设备管理器中检查是否出现新的 COM 端口。

MicoConfigurator 中找不到 DFU 设备

  1. 确认飞控已经按照前面的步骤进入 DFU 模式。
  2. 在 Windows 设备管理器中检查是否出现 DFU in FS ModeSTM32 BOOTLOADER
  3. 如果设备存在但 MicoConfigurator 无法连接,请使用 Zadig 检查该设备是否已经安装 WinUSB 驱动。
  4. 关闭其他可能正在占用 DFU 设备的软件或浏览器页面。
  5. 刷新 MicoConfigurator 页面,重新选择并授权连接 DFU 设备。

Zadig 中找不到 DFU 设备

  1. 确认飞控已经进入 DFU 模式,有时飞控上的 BOOT 按键损坏或者 USB 插口接触不良,均会导致无法正常进入 DFU 模式。
  2. 打开 Zadig 的 Options 菜单,确认已经勾选 List All Devices
  3. 检查设备列表中是否存在 DFU in FS ModeSTM32 BOOTLOADER
  4. 如果设备仍未出现,请重新连接飞控,并尝试更换 USB 数据线或电脑 USB 接口。
  5. 在 Windows 设备管理器中检查设备是否显示为未知 USB 设备。

安装 WinUSB 驱动后仍无法连接 DFU 设备

  1. 确认 Zadig 中更换驱动的设备是飞控的 DFU 设备。
  2. 当使用 Zadig 将驱动错误地替换时,设备管理器中会将飞控识别为未知 USB 设备或直接显示 MicoAir743 等字段,而非 Windows 给飞控分配的 COM 口号。需要使用 Zadig 重新将驱动替换回 USB Serial。

zadig替换驱动

烧录完成后飞控无法启动

  1. 确认烧录的固件与飞控型号和目标板完全一致,烧录错误的固件后会无法正常加载驱动,导致飞控异常。
  2. 烧录 ArduPilot 官网提供的 .hex 固件后,让飞控重新上电两次再连接。
  3. 部分固件可能会因为 SD 卡的读写异常从而导致连接问题,可以尝试拔掉飞控上的 SD 卡再进行上电连接。