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

2023-05-16

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • windows10安装python详细过程

    1 下载与安装Python 首先访问网址 https www python org xff0c 进入Downloads 页面 xff0c 即可下载Python 如下图 这里直接下载的是最新版的Python 如果需要下载其他版本的Python
  • 深度学习笔记(二)

    计算机视觉 xff1a 人类肉眼识别的错误率大概在5 到2016年的时候 xff0c 计算机视觉中 xff0c 用深度学习网络达到的错误率已经远低于人类 卷积神经网络 xff08 CNN xff09 1 应用领域 神经网络和卷积神经网络都是
  • YOLOv4从配置环境到跑通代码的小白教程

    一直以来都只是看论文和网上的一些纯文字的讲解 xff0c 但从来没有实操过 xff0c 非常想自己跑一下代码 xff0c 看一下算法的整个实现过程 xff0c 于是就有了这次尝试 系统环境介绍 windows 10 NVIDIA GeFor
  • YOLO系列算法详解(一)

    一 深度学习经典检测方法 1 检测任务中阶段的意义 对于单阶段 one stage 检测来说 xff0c 输入一张图像 xff0c 经过一个卷积神经网络 xff0c 输出一个边界框 xff0c 只需要得到框的 xff08 x1 y1 xff
  • 简单的Facenet_Pytorch人脸识别教程(windows+cpu)

    本文使用的编译器是Pycharm xff0c 具体的安装教程可参考 xff1a Pycharm安装参考链接 一 新建项目 首先打开Pycharm xff0c 点击 new project 进行新建 xff0c 选择项目的保存位置 xff0c
  • 调频连续波(FMCW)原理

    FMCW xff08 Frequency Modulated Continuous Wave xff09 即调频的连续信号 在许多方面得到应用 xff0c 比如生物雷达 xff0c 车载雷达 xff0c 无人机雷达等等方面都有FMCW波的应
  • TI AWR1843+DAC1000EVM+mmWave Studio实现数据采集

    参考文章 xff1a DCA1000EVM使用指南 嵌入式处理 技术文章 E2E 设计支持 整个实验主要是按照上面文章中的步骤进行操作 xff0c 虽然文章中是以IWR1642BOOST为例 xff0c 但是所有的操作步骤基本完全适用于AW
  • 安装Pytorch时出现ERROR: Could not find a version that satisfies the requirement...的解决方法

    一 问题描述 当我们创建了一个虚拟环境 xff0c 在环境中使用pip命令安装Pytorch时经常会出现以下错误 xff1a 二 解决方法 下面罗列几种有用的解决方法 xff1a 1 切换网络 出现这种问题很可能是因为网络太卡导致无法从该路
  • 使用Rviz完成摄像头(camera)的视频采集

    文章目录 一 准备摄像头二 使用Rviz三 Rviz显示摄像头 一 准备摄像头 1 找到虚拟机设置 xff0c 将USB设置为3 1 2 连接摄像头 3 连接成功如下 4 检查能否使用 使用cheese命令 二 使用Rviz 1 启动Rvi
  • SAM-Segment Anything Model进行单张图片的检测记录

    一 代码和模型下载 下载链接 GitHub facebookresearch segment anything 将代码下载并解压到一个没有中文的路径下 页面往下滑找到需要下载的模型 nbsp 这里提供了三个模型 vit b的大小是358m
  • Segment Anything(SAM)全图分割做mask

    项目的源码和模型下载以及环境配置等可参考我的上一篇文章 xff0c 这里不再赘述 文章链接 xff1a https blog csdn net m0 63604019 article details 130221434 在项目中创建一个名为
  • labelme的使用学习

    windows下图像标注软件labelme安装及使用教程 xff1a https www rstk cn news 12836 html action 61 onClick 问题 xff1a 如何将labelme标注产生的json文件中的某
  • Unet做分割的详细步骤

    参考文章 xff1a https blog csdn net ECHOSON article details 122914826 我是参考上面这个文章来做的 xff0c 但是在做实验的过程中还是出现了很多问题 xff0c 所以这里还是自己写
  • Java语法之多态

    上次给大家分享了Java的继承 xff0c 今天小编给大家分享面向对象三大特性的第三大特性 xff0c 也就是多态 xff0c fighting 目录 x1f388 一 多态 x1f388 1 1多态的概念 x1f388 1 2多态的实现条
  • 实现调度器

    实现调度器 调度器是操作系统的核心 xff0c 其主要功能就是实现任务的切换 xff0c 即从就绪列表里面找到优先级最高的任务 xff0c 然后去执行该任务 1 启动调度器 xff08 1 xff09 void vTaskStartSche
  • 任务相关知识

    任务管理 从系统的角度来看 xff0c 任务是竞争系统资源的最小运行单元 在任何时刻 xff0c 只有一个任务得到运行 xff0c 每个任务都在自己的环境中运行 xff0c 而这个运行的任务由FreeRTOS的调度器决定 FreeRTOS
  • 串口打印中文乱码及注释乱码问题

    1 使用keil5代码注释出现中文乱码问题 在使用keil5中出现如下问题 xff1a 这时候的解决方法是在keil5顶头工具栏上进入 xff1a Edit Configuration xff0c 如下然后进行选择GB2312编码方式 xf
  • keil5中安装Arm Compiler 5.06问题

    keil5 5 7版本中安装Arm Compiler 5 06问题 在最新的keil5 7版本中不再默认安装Arm Compiler 5 06编译器 xff0c 所以此版本需要自己独立下载并进行安装 具体步骤如下 xff1a 1 官网下载A
  • 五、FreeRTOS中任务控制块(TCB)、任务句柄和内核对象句柄

    文章目录 1 什么是任务控制块 xff1f 2 任务控制块的内容3 什么是任务句柄 xff1f 4 什么是内核对象句柄 xff1f 1 什么是任务控制块 xff1f 任务控制块实际上就是一个结构体 在FreeRTOS中 xff0c 系统为了

随机推荐

  • 凸优化基础知识

    文章目录 一 学习任务二 学习内容1 计算几何1 1 计算几何 的定义1 2 直线表达 2 凸集2 1 定义2 2 平面表达2 3 超平面表达 3 凸函数3 1 定义3 2 Hessian Matrix 矩阵3 3 判别 4 凸规划4 1
  • 八、任务的创建与删除

    文章目录 1 任务的三要素 xff1a 主体函数 任务栈 任务控制块 2 与任务相关的部分API函数 xff08 1 xff09 xTaskCreate xff08 2 xff09 void vTaskDelete TaskHandle t
  • 三、STM32中systick中断的优先级

    1 systick中断的优先级 systick为内核外设中断 xff0c 与普通外设中断的优先级有些区别 xff0c 并没有抢占优先级和子优先级的说法 对于M3来说内核外设的中断优先级由内核SCB这个外设的寄存器 xff1a SHPRx x
  • 二十、事件组

    文章目录 1 基本概念2 使用场景 xff1a 用于任务间 任务和中断间的同步 xff08 非数据传输 xff09 3 事件组结构体 xff08 事件控制块 xff09 内容解析4 为什么采用的是关闭调度器而不是关闭中断 xff1f 5 创
  • 3、如何使用GDB来进行命令行debug

    文章目录 一 与前面的联系二 GDB的一些认识1 什么是gdb2 gdb作用3 gdb可实现的功能 三 GDB常用的调试命令 一 与前面的联系 对于前面说到的launch json文件就是用于debug的配置文件 xff0c 在前面的vsc
  • 1、vscode搭建C++开发环境及一些配置文件的含义

    文章目录 一 vscode搭建开发环境1 下载和配置MinGW w64 编译器套件2 安装到电脑中3 配置环境变量4 测试是否安装成功5 vscode上安装C C 43 43 插件 二 配置编译环境时各个文件的含义1 task json x
  • 5、cmake的简单认识及CMakeLists.txt的编写语法

    文章目录 1 cmake是什么 xff08 1 xff09 cmake的两大功能 2 CMakeLists txt常用命令 xff08 即如何编写CMakeLists txt文件 xff09 xff08 1 xff09 cmake常见预定义
  • 6、在vscode上利用cmake创建第一个简单C++程序

    文章目录 xff08 1 xff09 前期准备工作 xff1a 即安装对应的环境1 xff09 在vscode上安装插件 xff1a C C 43 43 Cmake CMake tools2 xff09 安装Cmake环境 xff08 这是
  • 7、在vscode上利用cmake构建多文件C++工程

    文章目录 xff08 1 xff09 创建如下工程文件夹 xff1a 其中头文件放在include文件夹中 xff0c 源文件放在src文件夹中 xff08 2 xff09 在vscode上打开工程文件夹 xff0c 在对应的文件夹内建立相
  • js实现猜数字游戏

    随机输入两个数min 和max 在两个数中间生成一个随机数 进行猜数字游戏 且有猜的次数限制 1 不限制次数版本 function getRandom min max return Math floor Math random max mi
  • ubuntu更换阿里云镜像源操作步骤

    过程较为复杂 xff0c 能清楚自己改了镜像源 xff0c 避免了忘记或备份等 修改下载 xff08 镜像源 xff09 源 输入 xff1a sudo nano etc apt sources list 2 将所有deb 后的网址http
  • CSRF攻击原理与防御方法

    文章目录 CSRF概念CSRF攻击攻击原理及过程CSRF漏洞检测防御CSRF攻击1 验证 HTTP Referer 字段2 在请求地址中添加 token 并验证3 在 HTTP 头中自定义属性并验证 CSRF概念 CSRF跨站点请求伪造 C
  • Windows11安装Linux子系统(Ubuntu22.04LTS)+安装ROS

    目录 一 准备工作 二 安装Ubuntu 22 04 1 LTS 三 启动Ubuntu遇到的报错及解决方案 四 换源 五 安装ROS 设置编码 添加源 安装ROS 设置环境变量 测试 一 准备工作 控制面板 程序 程序和功能 启动或关闭 W
  • 如何在Github上建立自己的个人博客网站详细教程

    概述 之前闲着没事 就利用Github建了一个个人博客网站 效果还不错 今天就来分享一下 建立自己个人博客网站的好处 1 面试装逼 这个不必多说 2 把平时积累的知识和项目记录下来 方便日后查看使用 3 不受其他博客平台的限制 准备工作 开
  • 看野火的视频,用正点原子的板子(STM32F4探索者)做系统定时器实验

    1 实验目的 编写一个毫秒级的延时函数 xff0c 控制LED的亮灭 这里的灯是LED1 xff0c 端口是GPIOF xff0c 引脚是PIN10 2 实验流程 2 1 准备知识 SysTick 系统定时器 xff0c 24位 xff0c
  • 用正点原子的板子(STM32F4探索者)做PWM 输出实验

    1 实验目的 使用 TIM14 的通道 1 来产生 PWM 控制 LED0 DS0 的亮度 2 实验准备和流程 由上图可以看出 xff0c GPIOF9引脚对应的是定时器TIM14的通道1 由上图可以看出 xff0c GPIOF9引脚对应的
  • MATLAB快速入门(二):矩阵

    矩阵 目录 矩阵 1 冒号表达式 2 矩阵元素的引用 3 矩阵的运算 3 1算术运算 3 2逻辑运算 4 特殊矩阵 5 矩阵变换 5 1对角阵 5 2三角阵 5 3矩阵旋转 5 4稀疏矩阵 6 矩阵求值 1 冒号表达式 e1 e2 e3 省
  • toString方法使用

    一 Object类中toString的作用 1 在主方法中我们可以直接用toString 输出对象其中的内容 2 我们需要直接输出对象中所属内容时 xff0c 直接使用toString 方法输出语句 xff0c 输出内容不友好 xff0c
  • px4+mavros+offboard控制+gazebo仿真以及与pixhawk4飞控连接(一)

    记录一下自己从px4到板载控制的一系列流程以及踩坑过程 xff0c 希望也可以帮助大家避雷 话不多说直接上干货 一 软 硬件平台 px4版本 xff1a 1 10 1 飞控板 xff1a pixhawk4 ros版本 xff1a melod
  • 浅谈穿越机飞控如何烧写固件及其相关设置问题

    背景 xff1a 自己本人是无人机爱好者对穿越机也较为痴迷 xff0c 在使用DJI FPV天空端时发现无法显示OSD信息 xff0c 同时在眼镜端的OSD开关已经打开 xff0c 查阅相关资料发现自己的飞控版本过低需要烧写到4 1 0以上