文章目录
[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 上受支持。