视频教程:如何给H743飞控烧录Ardupilot PX4 INAV Betaflight等开源固件
MicoAir743是由微空科技设计并生产的一款高性能飞控,采用480M主频的STM32H743主控,BMI088&BMI270双IMU,并板载DPS310气压计和IST8310磁力计。
MicoAir743支持四种开源飞控固件:Ardupilot、PX4、Betaflight、INAV。
飞控可以随意更换烧录四种固件,不同固件的烧录方式有些许差别,也有共同之处,下面介绍这四种开源固件在微空MicoAir743飞控上的烧录方式,也同样适用于其它型号如MicoAir405v2和MicoAir405Mini等等。
注意STM32的DFU模式是固化在ROM里的,不会丢失,所以不管什么情况下都不会刷成砖,可以放心大胆烧录。
(仓库只提供旧版本固件,最新版本需要到开源飞控官网下载,或飞控调参软件在线烧录)
Ardupilot从4.5.0版本开始官方支持MicoAir405v2,从4.6.0版本开始支持MicoAir405Mini/743/743v2,可以到Ardupilot官网直接下载各种机型的固件:
https://firmware.ardupilot.org/
旧版本固件可以到我们的Github仓库或者Q群下载,详情见飞控对应手册。
也可以使用自定义固件功能,根据自己的需求在线定义固件功能并下载回本地。
https://custom.ardupilot.org/add_build
准备好一个MicoAir743飞控和USB-Type-C数据线。
先按下飞控USB接口旁的BOOT按钮,再插入USB数据线连接电脑。待飞控上电2秒后即可松开按钮。
打开zadig-2.8,Options菜单栏里勾选List All Devices
。
点开设备列表,选择DFU in FS Mode
, 若飞控主控是STM32F405,则可能显示的是STM32 BOOTLOADER
。如果找不到这一项,请确认飞控插入USB前BOOT按钮处于按下状态,或者检查一下USB数据线是否能正常工作。
点击“Install Driver”,安装WinUSB驱动。
等待几分钟,驱动安装完成。此时打开windows设备管理器,可以找到”DFU in FS Mode”设备,说明成功识别到飞控DFU了。
飞控进入DFU模式后,开始按照下面的说明来烧录各类固件。
打开betaflight-configurator,右上角应该会显示“DFU-DFU in FS Mode“,说明成功识别飞控。
在板子列表中找到MICOAIR743
, 点击右下角Load Firmware[Online]
,下载固件完毕后,再点击左边的Flash Firmware
, 软件将会开始烧录固件到飞控。
或者你也可以烧录本地固件文件,点击Load Firmware[Local]
, 选择电脑上的Betaflight固件文件,再点击Flash Firmware
, 烧录固件到飞控。
INAV至8.0RC3版本起修复了长久以来存在的TF卡识别问题,建议刷8.0-RC3以及之后的版本,需要使用8.0版本的INAV-configurator.
打开INAV-configurator,右上角应该会显示“DFU“,说明成功识别到飞控(已进入DFU模式)。
打开Firmware-flasher页面,左上角选择板子型号:MicoAir743/MicoAir405v2等,下拉框中选取要烧录的固件版本。
(注意MicoAir405v2/MicoAir743均不能用此种方式烧录7.1.2固件,该版本的在线固件存在bug)
右下角选择“Load Firmware[Online]”下载固件,也可以选择“Load Firmware[Local]"加载本地固件,然后点击“Flash Firmware"将固件烧录进飞控。
Ardupilot固件烧录分两种情况:
1. 飞控板未烧录过固件或者当前运行的不是Ardupilot固件
需要用inav-configurator或者STM32CubeProgrammer烧录整合了bootloader的xxx_with_bl.hex文件。烧录过程可能会持续数分钟。
下载with_bl.hex固件回本地
使用STM32CubeProgrammer烧录.hex固件
下载安装STM32CubeProgrammer并打开,先确认飞控已进入DFU模式,然后在软件界面右上方选择“USB”连接方式,再点击右侧的刷新按钮,顺利的话将会识别到USB1
,再点击Connect
连接飞控。
左上方点击Open file
,选择本地的xxx_with_bl.hex文件,然后点击Download
,等待数分钟后完成烧录。
2. 飞控板已经运行了Ardupilot固件
这个情况下可以直接在Mission Planner上加载.apj文件并烧录到飞控。
飞控先断开与电脑的连接,再打开Mission Planner地面站软件,进入到Install Firmware界面,点击Load custom firmware
,选择本地的.apj固件文件。
数秒后MP读取固件完毕,弹出提示框,提示点击OK后再插入飞控板。
点击OK后,再用usb数据线连接飞控到电脑,Mission Planner将会自动识别飞控并开始写入固件,大约十秒左右可以烧录完成。
如果飞控板原先运行的不是PX4固件,那么需要先烧录PX4的Bootloader。
飞控进入DFU模式,打开STM32CubeProgrammer软件连接飞控。
第一次烧录PX4固件时最好先重置全部Flash,点击主界面左下角的橡皮擦按钮即可。
点击Open file
打开本地的xxx_PX4_bootloader.elf或者bootlaoder.bin文件(注意elf文件不能有中文路径),再点击Download
,Bootloader文件由于体积很小烧录速度会比较快,一般1-2秒可以烧录完成。
烧录完成后飞控断开USB连接。
打开QGroundControl地面站软件,切换到Firmware页面,按照页面提示,用usb数据线连接飞控(注意这里不需要按boot按钮)。
接入飞控后QGC自动识别,会弹出设置选项。勾选“高级设置”,下方选择“自定义固件”,再点击OK。
在弹出的文件浏览界面选择下载回来的“xxx.px4”固件文件,点击打开,QGC开始将该固件烧录到飞控,大概会花费10秒左右。烧录完成后飞控自动重启且QGC会自动连接飞控。