浅谈穿越机飞控如何烧写固件及其相关设置问题

news/2024/11/7 15:45:02/

背景:自己本人是无人机爱好者对穿越机也较为痴迷,在使用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 大疆创新

当然网上也有很多的教程也可以参考一下哦这里就不在赘述了,如果各位小伙伴还有其他的疑问欢迎下方留言互动哈,另外提醒各位小伙伴航模并非玩具,一定要选择人少,车少的地方飞行,切记安全第一,祝大家飞行愉快。


http://www.ppmy.cn/news/128528.html

相关文章

非均匀面阵matlab仿真,一种三维固态面阵激光雷达非均匀校正方法与流程

本发明涉及三维激光雷达深度数据校正技术领域,具体涉及一种三维固态面阵激光雷达非均匀校正方法。 背景技术: 由于制造工艺限制,三维固态面阵激光雷达中探测器不同像素表现出不同响应特性,同时三维固态面阵激光雷达在长时间工作后…

redis之十五(游标迭代器(过滤器)——Scan)

一个问题引发的「血案」 曾经发生过这样一件事,我们的 Redis 服务器存储了海量的数据,其中登录用户信息是以 user_token_id 的形式存储的。运营人员想要当前所有的用户登录信息,然后悲剧就发生了:因为我们的工程师使用了 keys us…

简单的选项卡功能实现

第一种方法是用原生的js 代码如下&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>简单选项卡</title> <style type"text/css"> body,ul,li{margin:0;padding:0;} …

android 动画实现倒车,一种快速实现Android车机冷启动全景倒车的方法与流程

本发明涉及一种快速实现Android车机冷启动全景倒车的方法,属于车辆设备技术领域。 背景技术: 目前市场上的车机在解决倒车辅助系统的冷启动时存在时间较长的弊端,主要原因是由于虚拟机的运行及加载方式导致系统启动时间逐步变慢。基于安全驾驶的考量,汽车在启动时需要立刻响…

多线阵列激光三维扫描系统及多线阵列激光三维扫描方法

目录 Abstract Images (6) Description 技术领域 背景技术 发明内容 附图说明 具体实施方式 文章的图片形式 Abstract 一种多线阵列激光三维扫描系统及多线阵列激光三维扫描方法&#xff0c;该系统通过可编程门阵列FPGA&#xff08;101&#xff09;实现多线阵列激光三维…

win8不能调节亮度的解决方法

win8不能调节亮度的解决方法 这篇文章的内容如下: 有些笔记本安装上win8后不能调节亮度。解决方法如下&#xff1a;鼠标移到右下角&#xff0c;点击搜索&#xff0c;输入“regedit”》打开“regedit.exe”>在“编辑”菜单中使用“查找”》在查找中输入“EnableBrightnessCon…

F4/F7飞控betaflight固件烧写,地面站 BF无法读取、不识别、未发现等飞控疑难杂症问题解决与驱动安装

目录 1.安装驱动 2.测试固件 3.烧录固件 4.寻找补充代码 betaflight/unified_targets/configs/OMNIBUSF4SD.config 5.连接飞控&#xff0c;点击cli命令行。 6.寻找其他稳定版本 当安装完毕betaflight软件后&#xff0c;第一次链接飞控与电脑&#xff0c;出现无法连接情况…

利用Oracle RDA( Remote Diagnostic Agent)快速收集Oracle产品分析数据

利用Oracle RDA&#xff08; Remote Diagnostic Agent&#xff09;快速收集Oracle产品分析数据 原文地址&#xff1a;利用Oracle RDA快速收集Oracle产品分析数据 作者&#xff1a;尛样儿 Remote Diagnostic Agent (RDA) 是一个工程师用Perl语言编写的命令行诊断工具&#xf…