FETtec OneWire 电子调速器

备注

该功能适用于固件 4.1.1 及更高版本

../_images/FETtec_4in1_ESC.jpg

OneWire 是一个 电调双向通信协议 来自 FETtec。

FETtec OneWire ESC 的遥测信息将发回(飞行)控制器:

  • 电机每分钟转数 (RPM)

  • 输入电压(伏)

  • 电流消耗(安)

  • 耗电量(瓦)

  • 温度(°C)

  • CRC 误差总和

(飞行)控制器用它来

  • 将每个 ESC 的状态记录到 SDC 卡或内部闪存中,以便 飞行后分析

  • 将每个电调的状态发送到地面站或配套电脑,以便 实时监控

  • 动态变化带阻滤波器的中心频率,用于降低陀螺仪的框架振动噪声。请参阅下面的可选配置信息。

  • 可选择测量电池电压和功耗。请参阅下面的可选配置信息。

购买地点

还可在以下网站获得多种支持 OneWire 的电子调速器 FETtec

连接

该协议最多支持 24 个电调,但 ArduPilot 的设备驱动程序实施目前将其限制为 12 个。连接 TLM 将遥测输出从电调连接到串行接口 RX 飞行控制器的信号引脚。信号引脚 S1, S2, S3, S4 用于接收来自飞行控制器的指令,因此串行 德克萨斯州 来自飞行控制器的信号必须并行连接到每个信号输入端。在 CubeOrange 上,GPS2 端口已成功通过测试,建议您使用该串行端口。

配置

FETtec ESC 配置器软件

"这款" FETtec 电调配置器 可以更改所有电调设置并进行电调固件更新。使用时请确保您的电调固件版本为 2.17(2021 年 9 月)或更高版本。通常情况下,FETtec (飞行)控制器可用作 USB<->OneWire 桥接器,以便 FETtec 电调配置器 可以与电调进行通信。电调参数更改和电调固件更新也通过 OneWire 进行,因此可以实现串行直通。经常使用的参数有

  • 电机方向 - 如果电机旋转方向有误,无需重新布线即可轻松改变。

  • 电机发出蜂鸣声 - 启用或禁用电机蜂鸣声

  • 软制动器 - 如果您的螺旋桨在过快停止时会 "拧下",您可以使用软断裂选项。

  • ESC ID - 每个 ESC 的 ID。必须以 1 开头,唯一且连续。

ESC 内部的 ID

每个电调都有自己的 ID,可通过上述 FETtec 电调配置工具进行配置。这些 ID 必须从 ID 1 开始并无间隙地增加(在一个连续的块中)。重复的 ID 无效。如果需要连接两个或多个 4in1 ESC,则必须在连接之前更改第二个和第三个 ESC 的 ID,否则会出现重复 ID。

伺服功能的设置方法如下。

必须在 MissionPlanner 下更改以下参数 配置 ->; 完整参数列表 或其他具有 Mavlink 功能的地面控制站软件。

串行连接端口

将 SERIALx_PROTOCOL 参数设置为 FETtec_OneWire (38) 并将 SERIALx_OPTIONS 参数设置为 全双工 (0),其中 x 是所用串行端口的编号。确保所使用的串行端口已激活 DMA

例如,连接 SERIAL4(推荐)端口需要

输出类型

该数字协议可以使用 1000 到 2000 的全部范围。请同时设置这些参数:

输出功能

根据电机数量和顺序更改 SERVOx_FUNCTION 参数,例如四旋翼飞行器:

FTW 面具

"这款" SERVO_FTW_MASK 参数选择哪些伺服输出(如果有)将被路由到 FETtec ESC。更改该参数后需要重新启动。只有 SERVO1_FUNCTION 至 SERVO12_FUNCTION 可以使用 SERVO_FTW_MASK.如果您在 ArduPilot 中更改了舵机输出分配,使用 SERVO_FTW_MASK 参数。

之后,您必须在 "伺服输出通道 "中设置要使用的伺服输出通道。 SERVO_FTW_MASK 参数,然后重新启动(飞行)控制器。例如,使用前四个电机的四旋翼飞行器需要设置位掩码的前四位:

SERVO_FTW_MASK = 15

掩码的每一位都说明电机是否已连接,是否应与 oneWire 一起使用。该值为十进制配置,是每个设置位的十进制等效值之和。第 1 位对应 2^1 = 1,第 2 位对应 2^2 = 2,...。例如,如果连接了电机 1,2,3,4,则掩码为 1+2+4+8 = 15。

只需将所连接电机的十进制数值相加,或从下面的列表中读取即可。

电机数

面罩

1

1

2

3

3

7

4

15

5

31

6

63

7

127

8

255

9

511

10

1023

11

2047

12

4095

反转电机方向屏蔽

"这款" 伺服_ftw_rvmask 参数选择哪些输出(如果有)将反向旋转。该参数更改后会立即对输出产生影响,且电机未上膛。只有在 SERVO_FTW_MASK 参数至少有一个比特被设置。

让电机保持默认旋转方向:

伺服_ftw_rvmask = 0

掩码的每一位都说明电机的旋转方向是否应该反转。该值为十进制配置,是每个设置位的十进制等效值之和。第 0 位(第一个 ESC)对应 2^0 = 1,第 1 位(第二个 ESC)对应 2^1 = 2,......。

电机极数

"这款" 伺服极 参数选择电机极数。该参数用于计算电机转速。该参数只有在 SERVO_FTW_MASK 参数至少有一个比特被设置。

可选功能

可选功能可通过各自维基页面上的说明进行配置:

SITL 模拟

在 SITL 中模拟电调时,可加入 --serial5=sim:fetteconewireesc 到 SITL 命令行,并设置以下附加参数:

假设您使用 SERIAL5 进行模拟。如果要使用另一种,则需要调整 SITL 命令行参数和 串行*_协议 参数。

故障排除

  • 电调不断初始化

    如果飞控没有接收到每一个电调的遥测信号,并且飞控处于解除警报状态,则飞控会重新初始化电调,直到每一个电调都配置正确为止。FTW 屏蔽用于确定必须找到的电机数量。仔细检查 SERVO_FTW_MASK 计算正确,符合实际电机数量。

  • 电调没有初始化。

    检查参数是否正确。还要确保连接了遥测引脚,因为没有它将无法工作。

  • FETtec 配置器中找不到电调。

    使用 FETtec 配置器需要半双工 2MBaud/s 串行连接,ArduPilot 目前不支持这种连接。您需要使用外部串行设备,如 FETtec FC 或 USB 串行适配器。请断开 ArduPilot FC 与电调的连接,以便在 FETtec 配置器中找到它。