PX4使用FPV DShot电调

2023-05-16

Pixhawk 4使用T-MOTOR FPV DShot电调接线教程

  • 前言
    • DShot的优点
  • 接线
  • 参数设置
    • 开启FMU输出
    • 启用 DShot
  • 测试
  • 后续

由于种种原因,博客停更了好久,从现在开始准备把停更许久的博客更新起来。

前言

对于使用PX4的用户基本上都是使用PWM电调,一般DShot的电调都是用于FPV选手,最近做新飞机的时候感觉四合一的电调是真的香(价格除外,手动狗头),就买了一个T-MOTOR的Ultra F55A 96K ESC玩了一玩,感觉还不错,但是一直都是用的默认的PWM模式,后面想这个电调这样用岂不是就大材小用了,听网上说开启DShot后操作会变得丝滑不少,那就整之。对于FPV通常使用的都是Betaflight固件,很少有使用PX4固件的,但是无奈Betaflight不支持OFFBOARD模式啊,莫得办法了,又不可能改飞控(主要是麻烦),那还是PX4将就用用得了。

DShot的优点

首先先说一下DShot电调的优点吧,主要有如下5点

  1. 首先是可以大幅度减少延迟,直观体验就是手感会丝滑不少,这对做自动控制来说无疑是一个很大的福音。
  2. 其次抗干扰性强,体现在两方面,一个是DShot使用数字信号传输,PWM使用模拟信号传输,数字信号比模拟型号抗干扰强,第二个还可以通过校验和提高鲁棒性。
  3. 第三点,也是非常方便的一点,无需 ESC 校准,因为该协议使用数字编码。
  4. 有的电调还支持某些信息反馈,如电机转速,电机温度等等。
  5. 最后一点,我觉得非常关键,特别是对我这种懒人来说,DShot可以在需要时,通过命令反转电机旋转方向(而不是物理移动电线/重新焊接),对于四个电机转向都反了的情况下我们只需要输入命令就可以解决问题,再也不需要之前那样麻烦的操作了,这才符合新时代的电调。

接线

对于PX4的四旋翼来说,我们通常都是如下的一个布局,这定义了电机的方向和序号。
在这里插入图片描述
对于T-MOTOR的电调来说接口定义如下,那么接下来问题就来了如何把他们连接起来。
在这里插入图片描述
这一步需要我们手动焊线,T-MOTOR的电调里面会送两根线,其中一根是可以自由焊接的,PIXHAWH4的线包里面也会送有多的电机线,把它剪开焊接上就行。
对于Pixhawk 4而言,上面标有PWM OUT的理论上都可以接电机,这是一个10口的接口,所以我们只需要找一个线包里面10口的线剪断即可开始下一步操作。在PX4中PWM OUT口上的引脚CH1-4就依次对应了1-4号电机。但是这个时候有一个问题出现了,四合一电调上的标号和PX4的好像不太一样,这个时候就需要我们将两边的线序对应起来,如果采用上图的电调方法,电调上面标号2号的电机其实在PX4里面应该是1号,其他电机同理,所以我们只需要依次去推算就行了。把线接好过后把一些没用多余的线挑掉就行,为了防止干扰我们需要把GND也接上,这个直接接就行,总的就是接5根线,四个电机+一个地线。
安装上面的电调的安装方法(电调的电源口在机尾),接线顺序如下

Pixhawk 4 端T-Motor 电调端
CH1ESC2
CH2ESC3
CH3ESC4
CH4ESC1
GNDGND

在这里插入图片描述
线制作好过后电调端直接插上就行,飞控端接在FMU PWM OUT口上。
在这里插入图片描述

参数设置

电调端无需进行设置,电调在上电过后会自动检测协议,所以我们只需要设置飞控就行,先把飞控连接上QGC,飞控固件和QGC版本尽量都用新一点的,操作一定记得把桨卸下来!!!

开启FMU输出

首先设置SYS_USE_IO=0。对于Pixhawk 4而言,为了扩展IO口,单独引入了IO处理器,通常咱们的PWM电调就是接在这上面的,但是对于DShot的电调而言,我们为了追求更小的延迟,如果我们还接在IO处理上,这样就会造成不必要的延迟,因为我们的计算都是在FMU上进行计算的,如果FMU把控制量发送到IO板子再到电调的话就会有大概5.4ms左右的延迟,所以我们需要把电机输出绑定在FMU上,修改SYS_USE_IO参数就是完成这一步骤的。
在这里插入图片描述

启用 DShot

接下来就来到重点的步骤了,我们修改DSHOT_CONFIG来启用DShot,默认情况下该参数是使用PWM,我们只需要选择对应电调的协议就等于启动了DShot。对于上面这款电调而言我们选择DShot600,一般的电调而言都是推荐选择这个参数。
在这里插入图片描述

测试

以上基本上就设置好了所有参数,这个时候按道理就可以以DShot的方式驱动电机了。
首先确保参数都设置正确和接线都正确过后,给飞机断电。然后再给飞机上电,同时连上地面站,卸下螺旋桨,打开安全开关(如果设置了)。
这个时候使用QGC的电机测试功能对电机的方向和序号进行测试。
在这里插入图片描述
如果我们发现电机的转向不对,采用下面的方式对电机进行换向。
首先在QGC中打开MAVLink shell。
在这里插入图片描述
然后我们可以通过下面的命令对电机进行反转,以一号电机为例。

dshot reverse -m 1
dshot save -m 1

进行反转操作过后我们再次测试电机的转向的序号。

后续

测试完成没问题过后,我们先接上遥控器再进行一下测试,如果都没有问题,接下来就可以装上螺旋桨进行飞行了,感受急速飞行带来的快乐。
后面我会基于这套电调进行测试,后面会做无人机的快速飞行控制,期待新的电调能带来不一样的飞行体验。

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

PX4使用FPV DShot电调 的相关文章

  • Ubuntu下PX4飞控开发环境搭建

    双清微电子 前言 xff1a PX4支持Pixhawk pixracer 高通骁龙飞控板 树莓派 派诺特等硬件 PX4是构建在Nuttx实时操作系统上的 第一步 xff1a 安装Linux基础软件 第二步 xff1a 下载源代码 第三步 安
  • PX4与TX2通信

    PX4与TX2通信以及相关数据的获取 目录 1 PX4硬件接口 2 TELEM1 2接口线序 3 PX4与TX2通信 PX4 IO口定义 xff1a PX4硬件 xff1a 4 通信测试 5 RTPS 43 ROS Jetson TX2终端
  • 编译PX4固件

    PX4编译 文章目录 PX4编译疑难杂症bug1bug2catkin build isolated 官方脚本Step1Step2 安装常用依赖Step3 创建并运行脚本Step4 补全代码子模块Step5 验证仿真 官方offboard 例
  • 【2020-8-9】APM,PX4,GAZEBO,MAVLINK,MAVROS,ROS之间的关系以及科研设备选型

    0 概述 无人机自主飞行平台可以分为四个部分 xff1a 动力平台 xff0c 飞行控制器 xff0c 机载电脑和模拟平台 动力平台 xff1a 负责执行飞行任务 xff0c 包括螺旋桨 电机 机架等 xff0c 用于科研的一般都是F380
  • PX4 SITL Gazebo 仿真时 libgazebo_multirotor_base_plugin 插件运行时出错

    PX4 SITL Gazebo 仿真时 libgazebo multirotor base plugin 插件运行时出错 问题描述原因分析解决办法总结 问题描述 在 Gazebo 中进行 PX4 的软件在环仿真时 xff0c 执 make
  • PX4 Bootloader下载及编译过程中的问题解决

    买来的雷迅的板子都是Bootloader已经烧进去了 xff0c Fireware也已经刷进去了 如果是自制的板子 xff0c 上位机根本没法识别板子 xff0c 必须先烧写下载Bootloader后编译好的bin文件 这篇记一下自己下载及
  • PX4飞控之PWM输出控制

    PX4飞控之PWM输出控制 多旋翼电调如好盈XRotor xff0c DJI通用电调等都支持PWM信号来传输控制信号 常用的400Hz电调信号对应周期2500us xff0c 一般使用高电平时间1000us 2000us为有效信号区间 xf
  • PX4进入系统控制台以及运行程序

    这里提供进入控制台两种办法 1 运行 Tools mavlink shell py dev ttyACM0 是我进入Px4系统控制台的命令 xff0c 进入之后应该是这样 Pixhawk src Firmware Tools mavlink
  • 无人机仿真—PX4编译,gazebo仿真及简单off board控制模式下无人机起飞

    无人机仿真 PX4编译 xff0c gazebo仿真及简单off board控制模式下无人机起飞 前言 在上篇记录中 xff0c 已经对整体的PX4仿真环境有了一定的了解 xff0c 现如今就要开始对无人机进行起飞等仿真环境工作 xff0c
  • PX4 ---- Mixer

    文章目录 Mixer 混合控制 作用输入输出装载混控文件MAVROS代码解析总结示例MAINAUX Mixer 混合控制 作用 经过位置控制和姿态控制后 xff0c 控制量通过 actuator controls发布 xff0c 其中 co
  • PX4模块设计之二十四:内部ADC模块

    PX4模块设计之二十四 xff1a 内部ADC模块 1 内部ADC模块简介2 模块入口函数2 1 主入口board adc main2 2 自定义子命令custom command 3 内部ADC模块重要函数3 1 task spawn3
  • PX4模块设计之三十:Hysteresis类

    PX4模块设计之三十 xff1a Hysteresis类 1 Hysteresis类简介2 Hysteresis类成员变量介绍3 Hysteresis类迟滞逻辑4 Hysteresis类重要方法4 1 Hysteresis bool ini
  • PX4模块设计之三十六:MulticopterPositionControl模块

    PX4模块设计之三十六 xff1a MulticopterPositionControl模块 1 MulticopterPositionControl模块简介2 模块入口函数2 1 主入口mc pos control main2 2 自定义
  • PX4模块设计之四十六:dataman模块

    PX4模块设计之四十六 xff1a dataman模块 1 dataman模块简介2 模块入口函数dataman main3 dataman模块重要函数3 1 start3 2 stop3 3 status3 4 task main 4 A
  • 关于github px4 gps 驱动的开发的总结

    源码编译上边已经写过文章了 遇到的几个问题 1 解决虚拟机不能共享文件夹的问题 一开始虚拟机的更新 vmware tools 是灰色的 xff0c 不能点 xff0c 然后通过关掉虚拟机 xff0c 然后再开启的时候 xff0c 在没有启动
  • px4无人机常识介绍(固件,px4等)

    专业名词解释 aircraft 任何可以飞或者可以携带物品还是搭载旅客的飞行器统称为飞机 航空器 uav 无人驾驶飞机 vehicle 飞行器 airplane plane aero plane 有机翼和一个或多个引擎的飞行器统称为飞机 D
  • PX4软件在环仿真注意点

    注 xff1a 最新内容参考PX4 user guide 点击此处 PX4下载指定版本代码和刷固件的三种方式 点击此处 PX4sitl固件编译方法 点击此处 PX4开发指南 点击此处 PX4无人机仿真 Gazebo 点击此处 px4仿真 知
  • PX4通过参数脚本给飞控导入参数

    PX4通过参数脚本给飞控导入参数 先找一架正常能飞的无人机连接地面站 在参数页面右上角点击工具 gt 保存到文件 保存的时候文件名注明参数的相关信息 然后将需要加载参数的无人机连接至地面站 xff0c 注意需要加载参数的无人机必须和保存的参
  • 无人机PX4使用动捕系统mocap的位置实现控制+MAVROS

    动捕系统Optitrack xff0c 有很高的定位精度 xff0c 能够给无人机提供比较精确的位置信息 xff0c 因此如果实验室有条件 xff0c 都可以买一套动捕系统 动捕系统的原理 xff1a 光学式动作捕捉依靠一整套精密而复杂的光
  • PX4:Policy “CMP0097“ is not known to this version of CMake.

    make px4 fmu v3 时报的错 CMake版本的问题 由https blog csdn net zhizhengguan article details 118380965推测 xff0c 删除cmake policy也没事 ma

随机推荐

  • ORB_SLAM系列总结

    1 最早的特征点法 xff0c 并把定位与跟踪分为两个线程是PTAM Parallel Tracking and Mapping for Small AR Workspaces 可以说是特征点法SLAM的起源之一 论文 xff1a http
  • vmware下ubuntu18.04 安装ROS Melodic+gazebo9+PX4并roslaunch运行+QGroundConrtol控制

    官方推荐ubuntu18 04的对应ROS和gazebo版本为ROS Melodic 和 gazebo9 官方指导 xff1a ROS安装 xff1a http wiki ros org Installation Ubuntu gazebo
  • PX4自定义pkg包roslaunch

    创建pkg 首先在Ros工程目录src下 xff0c 创建新的功能包ref catkin create pkg span class token operator lt span pkg name span class token oper
  • PyTorch中FLOPs计算问题

    最近看了很多关于FLOPs计算的实现方法 xff0c 也自己尝试了一些方法 xff0c 发现最好用的还是PyTorch中的thop库 xff08 代码如下 xff09 xff1a device 61 torch device 34 cuda
  • Docker Prometheus(普罗米修斯)监控系统+grafana可视化

    目录 一 Prometheus 概述1 概述2 监控系统作用及Prometheus的特点3 Prometheus 基本服务与作用4 概念 二 Prometheus exporter cadvisor 的部署1 docker部署prometh
  • 收藏的博客 -- Qt有关的GitHub/Gitee开源项目

    收藏的博客 Qt有关的GitHub Gitee开源项目 置顶 libaineu2004 2017 08 18 14 50 30 5843 已收藏 68 分类专栏 xff1a 精品资源推荐 文章标签 xff1a qt github g
  • 【海康摄像头】海康摄像头SDK下载与使用

    文章目录 一 海康摄像头SDK官网下载二 海康摄像头SDK在WinForm WPF中使用三 常用接口函数 xff0c 封装调用函数 一 海康摄像头SDK官网下载 1 进入海康ws官网 xff0c 下载官网SDK和相关文档 2 根据自己应用程
  • 嵌入式面试知识点总结 -- STM32篇

    一 MCU对比 问题 xff1a 问题一 xff1a STM32F1和F4的区别 xff1f 解答 xff1a 参看 xff1a STM32开发 STM32初识 内核不同 xff1a F1是Cortex M3内核 xff0c F4是Cort
  • Linux递归访问文件目录

    Linux递归访问文件目录 include lt iostream gt include lt cstring gt include lt cstdlib gt include lt sys types h gt include lt di
  • 非阻塞connect实现代码

    非阻塞connect实现代码 使用非阻塞IO连接服务端 xff0c 可将sleep替换要执行的任务 xff0c 客户主循环利用epoll监听事标准输入和socket上的事件 xff0c 利用管道将标准输入写入socket 有个问题请教大家
  • make:file not recognized: file format not recognized

    学艺不精 xff0c 在Makefile规则中包含了头文件 xff0c 导致make编译时出现标题错误 去掉Makefile中的 h文件即可 特此记录下
  • C++ accumulate 采坑记录

    C 43 43 accumulate 大数下的采坑记录 总结问题 总结 accumulate 的返回值的类型是第三个参数的类型 xff0c 大数的时候需要注意 问题 具体的思路自行查阅 xff0c 题目给定的数据范围是10 18 xff0c
  • FreerRTOS中的链表概述

    FreerRTOS中的链表概述 一 链表简介二 FreeRTOS中定义过的链表三 任务块中的链表项 一 链表简介 1 FreeRTOS中的链表是结构体模拟的双向链表 xff0c 其链表的内容为 xff1a xff08 1 xff09 lis
  • 【 MDK keil5 生成 .hex文件 .bin文件 stm32】

    MDK keil5 生成 hex文件 bin文件 stm32 1 生成hex文件2 生成bin文件2 1第一种方法2 2高级方式 1 生成hex文件 hex文件的生成通常是默认不选择生成的 xff0c MDK这个IDE对于hex生成还是很友
  • Ubuntu 18.04 拨号上网 PPPoE

    Ubuntu 18 04 拨号上网 PPPoE 解决办法 校园网是深澜系统 xff0c 使用拨号上网进行认证 xff0c 之前在Ubuntu 16 04下拨号比较方便 xff0c 但是到了Ubuntu 18 04下和Ubuntu 16 04
  • IROS2019多传感器融合SLAM方向

    Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping Abstract Simultaneous Localization and Mapping SLAM i
  • C++字符数组中的‘\0’问题

    string 对象没有 0 char text 字符串数组若没有 39 0 39 xff0c 只能当做数组处理 xff0c 若有 39 0 39 xff0c 可以看做字符串 xff0c 可以cou lt lt text xff0c 否则不可
  • IROS2020:全局位置量测与基于优化的VIO紧耦合融合

  • Ubuntu 测试两台电脑之间的网速

    Ubuntu 测试两台电脑之间的网速 前言安装使用服务器端客服端 后续 前言 在Linux下面可以使用命令ping测试两台电脑之间的延迟 类似于下面这样 span class token function ping span 192 168
  • PX4使用FPV DShot电调

    Pixhawk 4使用T MOTOR FPV DShot电调接线教程 前言DShot的优点 接线参数设置开启FMU输出启用 DShot 测试后续 由于种种原因 xff0c 博客停更了好久 xff0c 从现在开始准备把停更许久的博客更新起来