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电调 的相关文章

  • ardupilot & px4 书写自己的app & drivers (二)

    新建任务列表任务 打印时间 任务列表 const AP Scheduler span class hljs tag Task span Copter span class hljs tag scheduler tasks span span
  • pixhawk: px4代码初学分析:追溯电机控制--pwm输出

    追溯电机控制 pwm输出 正常工作状态下pwm输出过程简述 xff1a 其他状态下pwm输出 xff1a 正常工作状态下pwm输出过程简述 xff1a 姿态解算部分得出姿态控制量通过px4io cpp把姿态控制量发送给IOIO串口读取姿态控
  • PX4与TX2通信

    PX4与TX2通信以及相关数据的获取 目录 1 PX4硬件接口 2 TELEM1 2接口线序 3 PX4与TX2通信 PX4 IO口定义 xff1a PX4硬件 xff1a 4 通信测试 5 RTPS 43 ROS Jetson TX2终端
  • Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

    Ubuntu20 04 43 MAVROS 43 PX4 43 Gazebo 安装PX4步骤安装MAVROS安装QGCPX4仿真 安装PX4步骤 从github上clone源码 span class token function git s
  • PX4无人机 - 键盘控制飞行代码

    PX4无人机 键盘控制飞行代码 仿真效果 实机效果 由于图片限制5M以内 xff0c 只能上传一小段了 xff0c 整段视频请点击链接 Pixhawk 6c 无人机 键盘控制无人机 Offboard模式 核心 xff1a 发布 mavros
  • px4 avoidance笔记

    最近在用px4官方的avoidance代码跑硬件避障 xff0c 官方介绍了只要生成符合sensor msgs PointCloud2点云信息就能使用 xff0c 因此为了应用长基线双目 xff0c 没有使用realsense的相机 xff
  • 初学PX4之环境搭建

    文章转自 xff1a http www jianshu com p 36dac548106b 前言 前段时间linux崩溃了 xff0c 桌面进去后只有背景 xff0c 折腾好久没搞定 xff0c 为了节省时间索性重装了系统 xff0c 同
  • PX4进入系统控制台以及运行程序

    这里提供进入控制台两种办法 1 运行 Tools mavlink shell py dev ttyACM0 是我进入Px4系统控制台的命令 xff0c 进入之后应该是这样 Pixhawk src Firmware Tools mavlink
  • PX4模块设计之一:SITL & HITL模拟框架

    PX4模块设计之一 xff1a SITL amp HITL模拟框架 1 模拟框架1 1 SITL模拟框架1 2 HITL模拟框架 2 模拟器类型3 MAVLink API4 总结 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分
  • PX4模块设计之十六:Hardfault模块

    PX4模块设计之十六 xff1a Hardfault模块 1 Hardfault模块初始化2 Hardfault模块主程序3 Hardfault命令3 1 hardfault check status3 2 hardfault rearm3
  • PX4模块设计之十八:Logger模块

    PX4模块设计之十八 xff1a Logger模块 1 Logger模块简介2 模块入口函数2 1 主入口logger main2 2 自定义子命令Logger custom command2 3 日志主题uORB注册 3 重要实现函数3
  • PX4模块设计之三十一:ManualControl模块

    PX4模块设计之三十一 xff1a ManualControl模块 1 ManualControl模块简介2 模块入口函数2 1 主入口manual control main2 2 自定义子命令custom command 3 Manual
  • PX4模块设计之四十五:param模块

    PX4模块设计之四十五 xff1a param模块 1 param模块简介2 模块入口函数param main3 重要函数列表4 总结5 参考资料 1 param模块简介 Description Command to access and
  • PX4模块设计之四十七:mavlink模块

    PX4模块设计之四十七 xff1a mavlink模块 1 mavlink模块简介2 模块入口函数mavlink main3 mavlink模块重要函数3 1 Mavlink start3 2 Mavlink task main3 3 Ma
  • px4下载指定版本的固件、git用法

    https hub fastgit org PX4 PX4 Autopilot git describe tag 查看当前版本号 git tag l 查看所有版本 xff0c 也就是打个tag git checkout v1 9 1 跳转到
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • 步骤三:PX4,Mavros的下载安装及代码测试

    1 安装Mavros sudo apt install ros melodic mavros ros melodic mavros extras 2 安装Mavros相关的 geographiclib dataset 此处已经加了ghpro
  • PX4项目学习::(七)飞控栈:commander

    PX4的飞行控制程序通过模块来实现 xff0c 与飞控相关的模块主要有commander xff0c navigator xff0c pos control xff0c att control这几个 xff0c 分别可以在src modul
  • PX4项目学习::(五)模块代码启动流程

    54条消息 PX4 模块代码启动流程 zhao23333的博客 CSDN博客
  • 无人机PX4使用动捕系统mocap的位置实现控制+MAVROS

    动捕系统Optitrack xff0c 有很高的定位精度 xff0c 能够给无人机提供比较精确的位置信息 xff0c 因此如果实验室有条件 xff0c 都可以买一套动捕系统 动捕系统的原理 xff1a 光学式动作捕捉依靠一整套精密而复杂的光

随机推荐

  • 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 从现在开始准备把停更许久的博客更新起来