浅谈穿越机飞控如何烧写固件及其相关设置问题
背景:自己本人是无人机爱好者对穿越机也较为痴迷,在使用DJI FPV天空端时发现无法显示OSD信息,同时在眼镜端的OSD开关已经打开,查阅相关资料发现自己的飞控版本过低需要烧写到4.1.0以上的版本,然而由于飞控com口问题无法进入DFU模式,经过一番折腾后才顺利烧写成功,而后发现飞控的陀螺仪以及端口无故消失了,翻阅海量资料后才得以解决问题,于是乎这里就将自己在调试过程踩到的坑和大家分享从而避免后面的小伙伴也向我一样。
一:确认飞控型号
大家在升级自己的飞控前首先要确认下自己的飞控时什么型号,可以通过如下方式确认自己的飞控型号
1.1:连接BetaFlight(后面简称BF)在软件的左上角出可以看到飞控的型号如下图所示:
1.2:可以通过询问某宝等卖家确认,卖家也一般会发给大家一张飞控接线图通过该图我们也可以确认自己的飞控型号如下
二:如何进入DFU模式
烧写飞控时最关键的一步就是我们要进入DFU模式,可以通过按下自己飞控上的Boot按键同时将飞控连接BetaFlight此时软件会自动识别如下图所示:
如果按下飞控的Boot按键无法进入DFU模式时这极有可能是电脑缺少驱动那么我们可以下载Zadig这个软件(下载链接如下)
2.1:如何使用Zadig
按住飞控的boot按键连接电脑,此时我们可以点击Options list all devices然后选择stm32开头的选项,最后在点击Install WCID Driner,此时就会出现端口安装的进度条,耐心等待后会有successful的提示此时我们拔下飞控重新连接BF即可
三:如何通过BF烧写固件
通过如上的步骤我们已经可以让飞控以DFU模式连接BF,此时我们不需要点击左上角的连接直接点击更新固件,升级固件的方式有两种,一种是在线升级,一种是本地升级那么接下来分别介绍两种方式的升级
3.1:在线升级
按下飞控的Boot按键同时连接BF,此时BF的右上角会显示DFU点击BF左侧的固件烧写工具,然后在如下图所示的地方选择自己飞控对应的型号及其版本 这里大家可以将这两个选项勾选上, 检查无误后点击从网络加载固件,烧写固件。然后等待几分钟后进度条变成绿色表示烧写成功,拔下飞控即可。
3.2:本地升级
如果通过本地升级的话首先要从BF官网下载对应的固件版本(Releases · betaflight/betaflight · GitHub)
切记一定要选择自己飞控对应的版本号如果烧写错误的话飞控极有可能会变成砖(我没有试过,有感兴趣的小伙伴可以尝试下),将下载的后缀名为hex的文件放在自己容易找到的地方这里推荐放在桌面上,然后我们可以点击BF左下角的从本地电脑加载固件,然后在点击烧写固件即可,等待进度条完成变成绿色拔下飞控即可。
四:如何找回飞控端口以及陀螺仪
通过如上的步骤烧写完固件版本后发在飞控的端口消失了同时陀螺仪无法被启用(插入图片),这上就需要我们进行手动来配置,首先进入BF的补充代码界面(unified-targets/configs/default at master · betaflight/unified-targets · GitHub)可以通过ctrl+F输入飞机飞控的型号选择自己的飞控对应的文件后缀名为config。这里以DALR-DALRCF405为例:
然后我们复制里面的代码:
# Betaflight / STM32F405 (S405) 4.1.0 Oct 16 2019 / 11:57:16 (c37a7c91a) MSP API: 1.42 |
|
# manufacturer_id: DALR board_name: DALRCF405 custom defaults: NO |
|
board_name DALRCF405 |
|
manufacturer_id DALR |
|
# resources |
|
resource BEEPER 1 C13 |
|
resource MOTOR 1 B00 |
|
resource MOTOR 2 C06 |
|
resource MOTOR 3 A10 |
|
resource MOTOR 4 A08 |
|
resource MOTOR 5 C08 |
|
resource MOTOR 6 B01 |
|
resource MOTOR 7 C07 |
|
resource MOTOR 8 C09 |
|
resource PPM 1 B15 |
|
resource LED_STRIP 1 B06 |
|
resource SERIAL_TX 1 A09 |
|
resource SERIAL_TX 2 A02 |
|
resource SERIAL_TX 3 B10 |
|
resource SERIAL_TX 4 A00 |
|
resource SERIAL_TX 5 C12 |
|
resource SERIAL_RX 1 B07 |
|
resource SERIAL_RX 2 A03 |
|
resource SERIAL_RX 3 B11 |
|
resource SERIAL_RX 4 A01 |
|
resource SERIAL_RX 5 D02 |
|
resource I2C_SCL 1 B08 |
|
resource I2C_SDA 1 B09 |
|
resource LED 1 C14 |
|
resource SPI_SCK 1 B03 |
|
resource SPI_SCK 2 B13 |
|
resource SPI_SCK 3 C10 |
|
resource SPI_MISO 1 A06 |
|
resource SPI_MISO 2 B14 |
|
resource SPI_MISO 3 C11 |
|
resource SPI_MOSI 1 A07 |
|
resource SPI_MOSI 2 C03 |
|
resource SPI_MOSI 3 B05 |
|
resource ESCSERIAL 1 A03 |
|
resource CAMERA_CONTROL 1 A05 |
|
resource ADC_BATT 1 C02 |
|
resource ADC_RSSI 1 A00 |
|
resource ADC_CURR 1 C01 |
|
resource FLASH_CS 1 B12 |
|
resource OSD_CS 1 A15 |
|
resource GYRO_EXTI 1 C04 |
|
resource GYRO_CS 1 A04 |
|
# timer |
|
timer B15 AF9 |
|
# pin B15: TIM12 CH2 (AF9) |
|
timer B00 AF2 |
|
# pin B00: TIM3 CH3 (AF2) |
|
timer C06 AF3 |
|
# pin C06: TIM8 CH1 (AF3) |
|
timer A10 AF1 |
|
# pin A10: TIM1 CH3 (AF1) |
|
timer A08 AF1 |
|
# pin A08: TIM1 CH1 (AF1) |
|
timer C08 AF3 |
|
# pin C08: TIM8 CH3 (AF3) |
|
timer B01 AF2 |
|
# pin B01: TIM3 CH4 (AF2) |
|
timer C07 AF2 |
|
# pin C07: TIM3 CH2 (AF2) |
|
timer C09 AF3 |
|
# pin C09: TIM8 CH4 (AF3) |
|
timer B06 AF2 |
|
# pin B06: TIM4 CH1 (AF2) |
|
timer A05 AF1 |
|
# pin A05: TIM2 CH1 (AF1) |
|
# dma |
|
dma ADC 1 1 |
|
# ADC 1: DMA2 Stream 4 Channel 0 |
|
dma pin B00 0 |
|
# pin B00: DMA1 Stream 7 Channel 5 |
|
dma pin C06 0 |
|
# pin C06: DMA2 Stream 2 Channel 0 |
|
dma pin A10 0 |
|
# pin A10: DMA2 Stream 6 Channel 0 |
|
dma pin A08 1 |
|
# pin A08: DMA2 Stream 1 Channel 6 |
|
dma pin C08 0 |
|
# pin C08: DMA2 Stream 2 Channel 0 |
|
dma pin B01 0 |
|
# pin B01: DMA1 Stream 2 Channel 5 |
|
dma pin C07 0 |
|
# pin C07: DMA1 Stream 5 Channel 5 |
|
dma pin C09 0 |
|
# pin C09: DMA2 Stream 7 Channel 7 |
|
dma pin B06 0 |
|
# pin B06: DMA1 Stream 0 Channel 2 |
|
dma pin A05 0 |
|
# pin A05: DMA1 Stream 5 Channel 3 |
|
# feature |
|
feature -RX_PARALLEL_PWM |
|
feature RX_SERIAL |
|
feature OSD |
|
# master |
|
set mag_bustype = I2C |
|
set mag_i2c_device = 1 |
|
set serialrx_provider = SBUS |
|
set blackbox_device = SPIFLASH |
|
set dshot_burst = ON |
|
set current_meter = ADC |
|
set battery_meter = ADC |
|
set beeper_inversion = ON |
|
set beeper_od = OFF |
|
set osd_displayport_device = MAX7456 |
|
set system_hse_mhz = 8 |
|
set max7456_spi_bus = 3 |
|
set dashboard_i2c_bus = 1 |
|
set flash_spi_bus = 2 |
|
set gyro_1_bustype = SPI |
|
set gyro_1_spibus = 1 |
|
set gyro_1_sensor_align = CW90 |
|
set gyro_1_align_yaw = 900 |
将该代码复制到BF的这里:
然后按下回车,然后在输入:save 后回车即可。回车后飞控会自动重现连接,这时我们重现返回BF的端口界面即可看到对应的端口被还原以及陀螺仪也会正常。
五:如何打开OSD
关于该问题应该是很多小伙伴问道的问题,笔者之前也是同样遇到类似的问题同样也查询过较多的资料感觉依然是云里雾里的,通过如上的升级过程,以及找回陀螺仪的过程后需要打开对应的UART端口具体可以参考这里的教程:
【教程】Betaflight 飞控参数设置-产品-大疆社区
或者DJI的官方教学视频:
DJI FPV数字图传系统 - 产品信息 - DJI 大疆创新
当然网上也有很多的教程也可以参考一下哦这里就不在赘述了,如果各位小伙伴还有其他的疑问欢迎下方留言互动哈,另外提醒各位小伙伴航模并非玩具,一定要选择人少,车少的地方飞行,切记安全第一,祝大家飞行愉快。
浅谈穿越机飞控如何烧写固件及其相关设置问题相关推荐
- c# MODBUS协议源码 上/下位机源码烧写Flash工具
c# MODBUS协议源码 上/下位机源码烧写Flash工具 包含: 1.C#上位机源码 2.上位机源码包含MODBUS协议源码 3.下位机源码 下位机源码采用STM32F10x芯片 的uC/OS-I ...
- rk3399在linux机上烧写img,烧写固件 — TB-96AI documentation
Window主机烧写固件¶ 1.安装Windows PC端USB驱动(首次烧写执行). 2.双击DriverAssitant_v4.5DriverInstall.exe打开安装程序,点击"驱 ...
- Jlink-v8 灯不亮重新烧写固件的办法
晕买了半年的Jlink突然之间灯不亮了,pc也说是连上一个未知的设备,上网查一些发现这样的问题很多,大多是山寨版的不到100快的,当然中国的能人还是有很多的,网上查了解决的办法一试还真的可以,下面是具 ...
- STM32探索之路——使用JLink仿真器烧写固件的原理
发现问题: 自从接触STM32的开发以来,为方便程序的调试,开发前期一般使用JLink或STLink仿真器来进行程序的烧写和调试,进而引发了对J-Link烧写固件的原理的疑惑 分析问题: 提出问题: ...
- usrp烧写固件支持gnuradio/labview
usrp烧写固件支持gnuradio/labview Ettus和NI的usrp均可以支持labview和gnuradio平台,烧写不同的firmware和FPGA images即可.本文讲述的是如何 ...
- 利用MinproI给FLASH芯片烧写固件,给ESP8266更换更大容量的flash
利用MinproI给FLASH芯片烧写固件
- 浅谈堡垒机优化的必要性-行云管家
堡垒机是确保企业网络安全的重要基础设施,已经应用于各行各业.但由于一些政策原因,以及系统自身原因,一些堡垒机已经无法满足需求,需要进行优化升级.今天我们就来浅谈一下堡垒机优化升级的必要性吧! 1.满足 ...
- S5PV210系列之刷机【部署 烧写】
Linux系统文件加载启动有两种方式: 第一种是从inand中的uboot启动 第二种是从SD卡中的uboot启动 这里我们让inand中的uboot第一个扇区毁坏了,让uboot不能起作用 系统还 ...
- 浅谈基于SDL的2D纵版弹幕射击游戏相关经验心得
浅谈基于SDL的2D游戏开发相关 前言:本人才疏学浅,大一新生一枚 写这篇文章的目是为了跟大家分享下自己的一些经验. 进入正题:首先本文这一切的一切都是基于SDL开发WINDOWS平台上的游戏.如 ...
最新文章
- Java2021中级面试题
- 人工智能项目:需要注意的七件事
- Android之给图片添加涂鸦(文字)
- Web.py Cookbook 简体中文版 - 用cherrypy提供SSL支持
- 7-Zip将一个大文件压缩成多个小的压缩包
- 3dmax挤出制作窗花_「教程」3DMAX制作藤编家具模型,超实用教程,收藏备用
- 谈谈IT行业的一些生存之道!
- Codeforces Round #733 (Div. 1 + Div. 2) E. Minimax 分情况讨论 + 思维
- 最真挚的祝福最深的伤
- 谷歌漏洞披露规则增加30天补丁缓冲期;Reddit 公开漏洞奖励计划
- 人工智能、区块链、算法...这30个大数据热词你知道吗?
- 最新HTML5财经直播聊天室喊单直播间系统源码 Redis缓存技术
- Kubernetes集群部署之二CA证书制作
- svn的客户端从安装到运行
- 【无标题】Ubuntu* 22.04 (jammy) intel 集成显卡第二屏幕分辨率设置尝试
- [电脑桌面右击新建没有excel、ppt、word]
- 静态编译出错的解决办法 undefined reference to `clock_gett...
- adb无法连接上夜神模拟器夜神模拟器cannot connect to 127.0.0.1:62001: 由于目标计算机积极拒绝,无法连接。 (10061)
- msf ms17-010利用笔记
- python将输入的n个数进行大小排序:小到大和大到小
热门文章
- 微机原理-8255A-八人抢答器实验
- P8002 Alice and Bob are playing a Normal Game
- Youtbe 4k 起播阶段时间花费分析
- 我用 Python 抓取《大秦赋》“相关数据”,发现了这些秘密......
- 20套高颜值PPT ,美哭了~
- 弱电施工流程及规范(三)
- flutter build web时提示“Missing index.html.“
- vue生命周期钩子函数的正确使用方式
- 网站建设注意做好这三点将带来有效的客户量
- H5调摄像头并扫描条形码初探