PWM、OneShot 和 OneShot125 电子调速器¶
大多数 ArduPilot 载具使用由无刷电调控制的无刷电机。这些电调使用的最常见协议是 PWM、OneShot、OneShot125 和 DShot.本页介绍前三种(PWM、OneShot 和 OneShot125)。
警告
请确保您的电调能够支持您为其选择的配置。否则会造成损坏。这包括下文讨论的帧速率。在未重启或重新校准电调的情况下在不同协议之间切换时也要小心,因为这可能会导致无指令电机输出。
PWM¶
这些是非旋翼飞行器应用中最常见的电调,也是历史上最早的无刷电调。
PWM 电调使用的周期性输入脉冲宽度通常在 1000uS 和 2000uS 之间,分别用于零功率和全功率。
正转电机将使用普通 PWM,除非 OneShot(见下文)或 DShot 已启用。每个通道的 PWM 范围由相应的 SERVOx_MIN 和 SERVOx_MAX 参数
在下列情况下,VTOL 电机将使用普通 PWM Q_M_PWM_TYPE 为 0/正常(默认值)。PWM 范围由 Q_M_PWM_MIN 和 Q_M_PWM_MAX 参数
参见 电调校准 以了解如何根据电调的输入范围调整(飞行)控制器的输出范围。
备注
更改协议类型后,应重新启动(飞行)控制器。
这些脉冲的帧频通常在 50Hz 至 490Hz 之间。如果电调能够达到较快的帧频,则可以向电机发送更快的控制反应。
设置 伺服速率 来更改前进电机的帧频(默认为 50 赫兹)
设置 Q_RC_SPEED 来更改 VTOL Esc/发动机的帧频(默认为 490Hz)。
备注
在选择更高的帧频之前,请确定电调的性能,以免损坏电调。
一镜到底¶
OneShot(不要与 "OneShot125 "混淆)是一种较早的协议,它使用与普通 PWM 相同的脉冲宽度,但帧速率固定,等于(飞行)控制器主回路速率。与普通 PWM 相比,使用该协议的优势不大。
任何运行普通 PWM 电调或伺服系统的电机都可以使用 Oneshot(非 Oneshot125)环路同步功能。 ONESHOT_MASK 位掩码。它将在 调度循环速率但不得低于 250 赫兹。请确保电调可以承受这一频率。
如果出现以下情况,VTOL 发动机将使用 OneShot Q_M_PWM_TYPE 是 1(单镜头)
OneShot 125¶
OneShot125(有时会令人困惑地简称为 OneShot)协议与普通 PWM 相似,只是脉冲宽度被除以 8 倍,这使得(飞行)控制器与电调之间的通信速度更快。单个脉冲的发送速度更快,整体帧频可提高至 490Hz。
除非启用 OneShot 或 DShot(见下文),否则正向电机将使用普通 PWM。
如果出现以下情况,VTOL 发动机将使用 OneShot125 Q_M_PWM_TYPE 是 2 (OneShot125)
如果使用带有 IOMCU 的(飞行)控制器(例如 Pixhawk、CubeOrange),则应将电调连接至 AUX 输出端,并将相应的电调连接至 IOMCU。 SERVOx_FUNCTION 等。这可以通过Mission Planner地面站的 "伺服输出 "页面轻松完成
重新启动(飞行)控制器并检查 "RC banner",确认输出通道已按预期设置(下载参数时会出现此 banner)。
混合使用 ESC 协议¶
虽然 ArduPilot (飞行)控制器的所有伺服/电机输出都能以 50Hz 帧速率进行正常 PWM 操作,但并非所有输出都能使用其他电调协议。而且通常情况下,这些配置必须适用于预先指定的输出组,即使它们并非都在驱动电调。因此需要注意以下几点:
使用 IOMCU 的(飞行)控制器(如 PixHawk 和 Cube)的 8 个 "主 "输出不能用于普通 PWM 和 OneShot 以外的协议。在这些自动飞行器上,只有额外的 "AUX "输出才能正确支持 OneShot125。如果您尝试将 "主 "输出设置为 OneShot125,那么即使已将其设置为 OneShot125 协议,也会出现正常 PWM 输出。
共用一个定时器的输出组必须具有相同的高级配置。这些配置通常在(飞行)控制器的硬件描述中指定,并从 选择(飞行)控制器 页。例如,如果在一个组中为 OneShot125 配置了一个输出,则不能将该组中的另一个输出用于普通 PWM ESC。 或 正常 PWM 伺服运行。
备注
每次(飞行)控制器初始化时,它都会向地面控制站发送 "RC 横幅",显示哪些输出为 PWM、OneShot、OneShot125 或 DShot。其余编号较高的输出被分配为 GPIO。