SBus 伺服器

./_images/servo-sbus-topimage.png

Futaba SBus/SBus2 伺服器 接受串行 SBus 协议 一旦连接到(飞行)控制器的 "SB "端口或任何其他串行端口,即可由 ArduPilot 控制。最多可将 16 个舵机以菊花链方式连接在一起,这意味着每个舵机无需直接连接到(飞行)控制器,而只需与(飞行)控制器进行单个串行连接即可。

传输速率为 100K 波特。

购买地点

配置伺服器

每个伺服的 ID 需要设置为 1 至 16 之间的一个数字。所选数字应与用于在 ArduPilot 中配置和控制伺服的伺服编号一致。例如,如果 ID 设置为 "9",则 SERVO9_MIN, SERVO9_MAX, servo9_function等参数将用于配置伺服系统。

  • 将伺服器与 Futuba CIU-3 USB 接口加密狗 (在线手册),然后将加密狗插入 Windows PC。此时会出现下载和安装所需驱动程序的提示

  • 下载并安装 S-Link 软件 (在此搜索 "S-Link)

  • 使用 S-Link 设置每个伺服的 ID (在线说明)

../_images/servo-sbus-slink.png

图片来源:Futaba.com

将舵机连接到(飞行)控制器

../_images/servo-sbus-pixhawk.png

如果使用的(飞行)控制器带有指定的 "SBUS 输出 "针脚,则应将舵机连接到(飞行)控制器上的该端口。对于 Cube (飞行)控制器,请使用 "SBUSo "端口。对于没有这些连接器的其他(飞行)控制器,请参阅下面的说明。舵机 BRD_SBUS_OUT 参数必须启用 (=1)。

备注

在某些(飞行)控制器上,通过设置 RSSI_ANA_PIN 到该引脚。这些功能不能同时使用。

伺服总线速率 控制舵机的更新率。默认值为 50 Hz,但可以设置为 25 Hz 至 250 Hz 范围内的任何值。

将伺服器连接到串行端口

SBus 伺服器也可通过(飞行)控制器的任何串行端口进行控制。该协议使用反相逻辑电平(单向:仅输出),这意味着如果(飞行)控制器无法在内部对信号进行反相,则在使用标准串行端口时需要使用反相电缆。使用 F7 或 H7 处理器的(飞行)控制器可以对串行端口的 TX 引脚进行内部反相。下图显示了一个简单的 NPN 晶体管反相器:

./_images/sbus_inverter.png

或者,商业 SPort 逆变器 可以使用,如下图所示:

../_images/inverter.png

警告

不要使用串行端口的 5V 电压为伺服供电,而应使用系统伺服电源总线!

  • 设置 serial2_protocol = 15("SBUS 伺服输出")(如果使用串行 2(通常为 TELEM2))。对于其他串行端口,请使用相应的 SERIALx_PROTOCOL 参数。

  • 端口的波特率参数(此处为 SERIAL2_BAUD )将自动设置为 100,000

  • 对于 F7/H7 处理器,不需要反相器,设置为 serial2_options 如果连接串行端口 2,则将第 1 位设置为 "1"(TX 反相)。

SBUS 至 PWM 解码器

SBus 转 PWM 解码器可将 SBus 接口与普通 PWM 伺服器配合使用,但要注意,某些解码器,包括 "SBus "和 "PWM "解码器,可能会在使用时出现问题。 FrSky SBUS & CCPM 解码器 产生固定的 PWM 输出率(~170 Hz),可能会损坏模拟舵机(数字舵机应该没问题)。