PX4使用FPV DShot电调

本文详细介绍了如何在Pixhawk4飞控上启用T-MOTOR FPVDShot电调,通过设置DShot协议减少延迟,提升飞行控制体验。首先解释了DShot电调的优势,包括低延迟、抗干扰和无需校准等。接着,文章阐述了电调的接线方法,确保正确连接Pixhawk4的PWMOUT接口。在参数设置部分,指导读者如何设置SYS_USE_IO为0,启用DShot600模式。最后,提供了电机测试和故障排查方法,确保一切正常后,可以进行飞行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pixhawk 4使用T-MOTOR FPV 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

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

后续

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

《餐馆点餐管理系统——基于Java和MySQL的课程设计解析》 在信息技术日益发达的今天,餐饮行业的数字化管理已经成为一种趋势。本次课程设计的主题是“餐馆点餐管理系统”,它结合了编程语言Java和数据库管理系统MySQL,旨在帮助初学者理解如何构建一个实际的、具有基本功能的餐饮管理软件。下面,我们将深入探讨这个系统的实现细节及其所涉及的关键知识点。 我们要关注的是数据库设计。在“res_db.sql”文件中,我们可以看到数据库的结构,可能包括菜品表、订单表、顾客信息表等。在MySQL中,我们需要创建这些表格并定义相应的字段,如菜品ID、名称、价格、库存等。此外,还要设置主键、外键来保证数据的一致性和完整性。例如,菜品ID作为主键,确保每个菜品的唯一性;订单表中的顾客ID和菜品ID则作为外键,与顾客信息表和菜品表关联,形成数据间的联系。 接下来,我们来看Java部分。在这个系统中,Java主要负责前端界面的展示和后端逻辑的处理。使用Java Swing或JavaFX库可以创建用户友好的图形用户界面(GUI),让顾客能够方便地浏览菜单、下单。同时,Java还负责与MySQL数据库进行交互,通过JDBC(Java Database Connectivity)API实现数据的增删查改操作。在程序中,我们需要编写SQL语句,比如INSERT用于添加新的菜品信息,SELECT用于查询所有菜品,UPDATE用于更新菜品的价格,DELETE用于删除不再提供的菜品。 在系统设计中,我们还需要考虑一些关键功能的实现。例如,“新增菜品和价格”的功能,需要用户输入菜品信息,然后通过Java程序将这些信息存储到数据库中。在显示所有菜品的功能上,程序需要从数据库获取所有菜品数据,然后在界面上动态生成列表或者表格展示。同时,为了提高用户体验,可能还需要实现搜索和排序功能,允许用户根据菜品名称或价格进行筛选。 另外,安全性也是系统设计的重要一环。在连接数据库时,要避免SQL注入攻击,可以通过预编译的PreparedStatement对象来执行SQL命令。对于用户输入的数据,需要进行验证和过滤,防止非法字符和异常值。 这个“餐馆点餐管理系统”项目涵盖了Java编程、数据库设计与管理、用户界面设计等多个方面,是一个很好的学习实践平台。通过这个项目,初学者不仅可以提升编程技能,还能对数据库管理和软件工程有更深入的理解。在实际开发过程中,还会遇到调试、测试、优化等挑战,这些都是成长为专业开发者不可或缺的经验积累
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值