电调遥测

如果电调具有这种功能,就可以监控和记录以前需要额外传感器(如功率模块和转速传感器)才能记录的性能数据。每个电调提供的详细数据可用于实时决策、单个电调或电机性能调整和故障分析。请注意,特定的电调可能会也可能不会通过遥测传输特定传感器类型的数据。常见的 4 合 1 ESC 提供电压和电流传感器,但不通过遥测传输数据,而是直接连接到(飞行)控制器。详情请查看电调数据表和连接信息。

遥测数据可通过与(飞行)控制器 UART RX 引脚的单独导线连接或通过用于传输电机速度信息(双向 DShot)的信号线或基于 CAN 的电调的 CAN 信息传输到(飞行)控制器。对于非 CAN 电子调速器,这种功能主要适用于运行原版或 BlueJay 固件的特定 BLHeli 电子调速器。但是,不执行 BLHeli 固件的电调也有可能提供这种功能。目前,ArduPilot 仅支持与 BLHeli/BlueJay 遥测兼容的电调。

电调对电机转速的遥测特别适用于控制谐波带阻滤波器的中心频率,以控制噪音。参见 基于电调遥测的谐波带阻滤波设置 了解更多信息。

备注

ArduPilot 目前不支持在非 DShot 协议中通过信号线上的油门空闲信息轮询 ESC 以获取遥测数据。

连接电调遥测线

../_images/dshot-pixhawk.jpg

将所有电调遥测线连接到(飞行)控制器上的单个串行端口的 RX 引脚(上图以 Serial5 为例)。大多数 BLHeli32 电调上都预装了用于电调遥测的针脚或导线。如果导线没有预焊,则需要自行焊接。CubePilot 串行端口引脚可参见 这里.

设置以下参数以启用 BLHeli32 向(飞行)控制器串行端口提供遥测反馈:

  • SERIALx_PROTOCOL 16(=电调遥测),其中 "x "是连接到电调遥测线的(飞行)控制器串行端口号。(飞行)控制器的串行端口编号与 UART 物理端口之间的映射关系应记录在其说明页面的链接中。 这里.

  • 速度 默认值为 10,通常情况下无需更改。这将使电调以 10Hz 的更新率进行遥测。如果使用 谐波凹槽功能 可以提高到 100。

  • 伺服布尔极 默认值为 14,适用于大多数无刷电机,通常无需更改。如果您使用的电机极数不是 14,则根据需要进行调整,以便根据电调的电子磁场转速计算出真正的电机轴转速。

备注

使用单线遥测报告的转速值来调整发动机的中心频率。 谐波凹槽功能 效果不错,但响应速度比使用双向 DShot 提供的遥测慢。请参见下一节。

双向 DShot

较新版本的 BLHeli32(32.7 及更高版本)和 BLHeli_S(16.73 及更高版本)支持通过 DShot 信号线返回电机转速值。支持双向 DShot 需要独占一个或多个 DMA 通道,因此并非所有(飞行)控制器都支持该功能。支持双向 DShot 的版本已在其维基页面中说明了这一点,请参见 选择(飞行)控制器 用于(飞行)控制器。

一些配有 IOMCU 的(飞行)控制器不仅可以在其 "主 "输出上支持 Dshot(见 DShot 电子调速器 的设置和更多信息),而且还可以在前四个输出端进行双向 DShot。目前,这只限于 Pixhawk6X/C (飞行)控制器。

设置

首先确保您的电调安装了适当版本的 BLHeli32 或 BLHeli_S。大多数电调没有预装这些版本。官方 32.7 版本的 BLHeli32 支持双向 DShot。官方版本的 BLHeli_S 不支持双向 DShot,您需要从以下网站购买版本 BLHeli_S JESC 或使用 BLHeli_S BlueJay .如果尝试使用错误的固件版本启用双向 DShot,可能会出现无法预测的电机运行情况。电调转速遥测对于控制谐波带阻滤波噪声滤波器的中心频率特别有用,请参见 基于电调遥测的谐波带阻滤波设置

./_images/blheli-version-check.png

设置以下参数以启用 BLHeli32 和 BLHeli_S 双向 DShot:

  • 伺服蓝光掩码用于启用 BLHeli32 或 BLHeli_S 双向 DShot 支持的位图。在不带 IOMCU 的(飞行)控制器上,通常将其设置为 15,以指示四个活动通道。在带 IOMCU 的(飞行)控制器上,可将其设置为 3840,以指示四个激活的 AUX 通道(双向 DShot 仅在 AUX 输出上工作)。

  • 伺服布尔极 默认值为 14,适用于大多数无刷电机,通常无需更改。如果使用的电机极数不是 14,则根据需要进行调整,以便根据电调的电子磁场转速计算出真正的电机轴转速(小型电机可能有 12 个极数)。

  • 伺服_dshot_esc 必须设置为您使用的 Dshot ESC 类型。

电调遥测记录和报告

(飞行)控制器每次从一个 ESC 请求状态信息,并在它们之间循环。这些信息会记录到机载日志的 ESCn 信息中,并可在以下任何页面查看 兼容 ArduPilot 的日志查看器.

  • 转速

  • 电压

  • 当前

  • 温度

  • 当前总数

RCOU 信息也会被写入机载日志,日志中记录了发送给 ESC 的所需输出水平,数字范围从 1000(表示停止)到 2000(表示全输出)。

也可以使用地面站实时查看这些数据。如果使用Mission Planner地面站,请进入飞行数据屏幕的状态选项卡,查找 esc1_rpm。

../_images/dshot-realtime-esc-telem-in-mp.jpg

备注

向 GCS 发送 BLHeli32 遥测数据要求遥测连接使用 MAVLink2。ArduPilot 默认在 USB 端口上使用 MAVLink2,但如果使用其他端口,则可能需要将 SERIALx_PROTOCOL 参数设置为 2(其中 "x "为用于遥测连接的串行端口号)。

此外,一些遥测值还可以显示在集成的 机载 OSD如果您的(飞行)控制器上有该功能,请使用该功能。

用作电池监控器

将电池监控器实例设置为 BLHeli32 ESC 类型(例如 BATT2_MONITOR = 9),所有连接到(飞行)控制器串行端口的 BLHeli32 电调和遥测线路都将被汇总为单一信号源。报告的电压将被平均化,电流将被累加,消耗的电流将被累计。