(11)(2.1.2) DShot ESCs(一)

文章目录

前言

[1 连接ESC](#1 连接ESC)

[2 选择DShot波特率](#2 选择DShot波特率)


前言

DShot 是一种数字 ESC 协议,它允许快速、高分辨率的数字通信,可以改善飞行器控制,这在多旋翼和 quadplane 应用中特别有用。


DShot 是一种数字 ESC 协议,它允许快速、高分辨率的数字通信,可以改善飞行器控制,这在多旋翼和 quadplane 应用中特别有用。其他优点包括:

  • 发送到 ESC 的值受校验和保护;
  • ESC 和自动驾驶仪之间的时钟差异不会影响飞行性能;
  • 不需要 ESC 校准。

DShot 是 BLHeli ESC 使用的底层 ESC 控制协议。许多 BLHeli ESC 版本提供了更多功能,如ESC 配置、ESC 遥测(ESC telemetry)、LED 控制和/或双向 dshot(Bi-directional dshot)。如果选择启用 DShot 的 ESC,我们建议使用同时支持 BLHeli32 或 BLHeli_S 的 ESC。

Note

仅在已知支持 DShot 的 ESC 上尝试 DShot,否则你将得到不可预测的结果。

Note

最近,越来越多的专有和非专有 16/32 位 ESC 的固件支持 DShot 和其他数字 ESC 协议,但不支持BLHeli32 特有的功能,如直通和遥测。有关支持功能的更多详细信息,请参阅 ESC 手册。

Note

大多数 DShot ESC 通常也将作为正常的 PWM ESCs 运行。

1 连接ESC

对于 4.5 之前的固件版本,带有 IOMCU 协处理器(如 Pixhawk、CubeOrange 等)的自动驾驶仪,DShot ESC 应连接到 IOMCU 协处理机的 AUX 输出,而不是 MAIN 输出。在固件版本 4.5 或更高版本中,BRD_IO_DSHOT参数可设置为在下次启动时为使用 F103 IOMCU 的某些自动驾驶仪加载 DSHOT 兼容的 IOMCU 固件。如果此参数不存在,则自动驾驶仪在其 IOMCU 输出上没有DShot 功能。有关限制和更多信息,请参阅 IOMCU Dshot 限制部分(IOMCU Dshot Limitations)。

在 CubeOrange 上,DShot 适用于所有频道。AUX1 不能用于双向 DShot,这意味着只有 AUX2至 AUX6 可用于双向 DShot。(see issue)。

对于没有单独 IOMCU 协处理器的其他板(other boards),任何伺服/电机输出都可以用于 DShot。

有关限制的更多详细信息,请参阅下面的混合 ESC 协议部分(Mixing ESC Protocols)。

双向 DShot

一些板。

2 选择DShot波特率

MOT_PWM_TYPE 设置为所需的波特率,并重新启动自动驾驶仪。

  • 150kbaud 的 DShot150(建议用于信号引线较长的大型飞机);
  • 300kbaud 的 DShot300;
  • 600kbaud 的 DShot600(建议大多数飞行器使用);
  • 1200kbaud 的 DShot1200。

对于使用 DShot ESC 协议的电缆长度较长的大型飞机,我们建议使用最低波特率 DShot150,因为它是最可靠的协议(较低的波特率不易受到电缆噪声的影响)。

对于较小的飞行器,DShot600 是迄今为止使用最广泛的,因此可能是一个更合适的选择,因为它已经进行了大量的测试,而不是较新的 DShot1200 协议。

更高的速率(例如 DShot600 和 DShot1200)更容易受到噪声的影响,但它们的优点是占用分配的 DMA 通道的时间更短,这对具有大量 DMA 共享的自动驾驶仪是有益的。

如果将使用双向 DShot(Bi-directional DShot),则首选 DShot300 和 DShot600,因为此功能需要更长的脉冲宽度,因为它必须等待 ESC 的响应才能发送另一个脉冲。双向 DShot 不共享 DMA 通道,因此对其他外围设备没有影响。双向 DShot 仅在 BLHeli32 ESC 上受支持。

相关推荐
干了这碗汤1 个月前
ardupilot开发 --- C嘎嘎 篇
ardupilot
EmotionFlying1 个月前
(24)(24.2) Minim OSD快速安装指南(二)
外设硬件·copter·ardupilot
干了这碗汤1 个月前
ardupilot开发 --- 网络技术综述 篇
ardupilot
干了这碗汤1 个月前
ardupilot开发 --- Rpanion-server 篇
ardupilot
EmotionFlying2 个月前
(40)温度传感器
外设硬件·copter·ardupilot
lida20032 个月前
ArduPilot开源代码之AP_DAL_RangeFinder
c++·开源·ardupilot
lida20032 个月前
ArduPilot开源代码之OpticalFlow_backend
c++·开源·ardupilot
EmotionFlying2 个月前
(19)夹钳(用于送货)
外设硬件·copter·ardupilot
EmotionFlying3 个月前
(13)DroneCAN 适配器节点(一)
外设硬件·copter·ardupilot