目录
1、ESCs & 电机
#1.1、ESC 协议 --ESC Protocols
#1.1.1、PWM协议,需要校准
#1.1.2、One Shot 125协议,速率更快
#1.1.3、DShot ,减少延迟,无需校准
#1.1.4、无人机CAN
2、PWM 伺服系统和 ESC(电机控制器)
#2.1、ESC 连接概述
#2.2、电源连接
#固定翼 / VTOL
#多旋翼
#光隔离 ESC
#PX4 配置
#2.3、故障 排除
#2.3.1、接地连接,信号接地
#电源连接/光隔离 ESC
#最小值无效
#超时
#有效的脉冲形状、电压和更新速率
3、DShot 电调
#3.1、布线/连接
#3.2、配置
#3.3、ESC 命令
3.3.1、发出第一声电机哔哔声(有助于识别电机):
3.3.2、检索 ESC 信息(需要遥测,见下文):
3.3.3、永久反转第一个电机的旋转方向:
#3.4、遥测
4、OneShot 伺服系统和 ESC(电机控制器)
#4.1、概述
#4.2、设置
#布线
#PX4 配置
1、ESCs & 电机
参考:ESCs & Motors | PX4 User Guide (v1.14)
ESCs & Motors | PX4 Guide (v1.15)
许多 PX4 无人机使用无刷电机,由飞行控制器通过电子速度控制器 (ESC) 驱动。 ESC 从飞行控制器获取信号并使用它来设置控制传递给电机的功率水平。
PX4 支持许多将信号发送到 ESC 的常见协议:PWM ESC、OneShot ESC、DShot ESC、DroneCAN ESC、PCA9685 ESC(通过 I2C)和一些 UART ESC(来自 Yuneec)。
有关更多信息,请参阅:
- PWM ESC 和舵机
- OneShot ESC 和伺服器
- DShot
- DroneCAN 电调
- ESC 校准
- ESC 固件和协议概述 (打开新窗口)(oscarliang.com)
下面给出了 PX4 支持的主要 ESC/Servo 协议的高级概述。
#1.1、ESC 协议 --ESC Protocols
#1.1.1、PWM协议,需要校准
PWM ESC 通常用于固定翼飞行器和地面飞行器(需要低延迟的飞行器,如多旋翼飞行器,通常使用 oneshot 或 dshot ESC)。
PWM ESC 使用周期性脉冲进行通信,其中脉冲的宽度表示所需的功率水平。 脉冲带宽通常介于 1000uS (零功率) 和 2000uS (全功率) 之间。 信号的周期性帧速率取决于 ESC 的能力,通常在 50Hz 和 490 Hz 之间(对于非常小的“关闭”周期,理论最大值为 500Hz)。 速率越高,ESC 越好,尤其是在需要快速响应设定值变化的情况下。 对于 PWM 伺服器,50Hz 通常就足够了,而且许多不支持更高的速率。
50HZ,20ms。500HZ,2ms。一个脉冲的带宽在1ms-2ms
除了是一种相对较慢的协议之外,PWM ESC 还需要校准,因为代表低值和高值的范围值可能会有很大差异。 与 dshot 和 DroneCAN ESC 不同,它们无法提供有关 ESC(或伺服)状态的遥测和反馈。
设置:
- ESC 接线
- PX4 配置
- ESC 校准
#1.1.2、One Shot 125协议,速率更快
OneShot 125 电调通常比 PWM 电调快得多,因此响应更快,更容易调整。 对于多旋翼飞行器,它们比 PWM 更受欢迎(但不如 DShot ESC,后者不需要校准,并且可以提供遥测反馈)。 OneShot 协议有许多变体,它们支持不同的速率。 PX4 仅支持 OneShot 125。
OneShot 125 与 PWM 相同,但使用的脉冲宽度短 8 倍(从 125us 到 250us,从零功率到全功率)。 这使得 OneShot 125 ESC 具有更短的占空比/更高的速率。 对于 PWM,理论最大值接近 500 Hz,而对于 OneShot,则接近 4 kHz。 实际支持的速率取决于所使用的 ESC。
设置:
- ESC 接线(与 PWM ESC 相同)
- PX4 配置
- ESC 校准
#1.1.3、DShot ,减少延迟,无需校准
DShot 是一种数字 ESC 协议,强烈推荐用于可以从减少延迟中受益的车辆,特别是赛车多旋翼飞机、VTOL 车辆等。
它减少了延迟,并且比 PWM 和 OneShot 更强大。 此外,它不需要 ESC 校准,某些 ESC 提供遥测,并且您可以调整电机旋转方向
PX4 配置在 Actuator Configuration 中完成。 在 UI 中选择更高速率的 DShot ESC 会导致更低的延迟,但较低的速率更稳健(因此更适合具有较长导程的大型飞机);一些 ESC 仅支持较低的速率(有关信息,请参阅数据表)。
设置:
- ESC 接线(与 PWM ESC 相同)
- DShot 还包含有关如何发送命令等的信息。
#1.1.4、无人机CAN
当 DroneCAN 是车辆使用的主要总线时,建议使用 DroneCAN ESC。 PX4 实现目前限制为 200Hz 的更新速率。
DroneCAN 与 Dshot 有许多相似的好处,包括高数据速率、长引线上的稳健连接、遥测反馈、无需校准 ESC 本身。
DroneCAN ESC 通过 DroneCAN 总线连接(该链接中介绍了设置和配置)。
2、PWM 伺服系统和 ESC(电机控制器)
参考:
PWM Servos and ESCs (Motor Controllers) | PX4 Guide (v1.15)
PWM Servos and ESCs (Motor Controllers) | PX4 User Guide (v1.14)
本节介绍如何连接基于 PWM 的无刷电机控制器和伺服系统并为其供电。
#2.1、ESC 连接概述
每个 PWM 电子速度控制器 (ESC) 至少有以下电线:
- 功率 VBAT(通常为粗和红色)
- 电源 GND(通常为粗黑色)
在伺服插头上:
- PWM 信号(通常为白色或黄色)
- GND(通常为黑色或棕色)
伺服插头也可能有一根 +5V 线(通常为红色或橙色)。 这根电线的用途及其连接方式取决于特定的 ESC 和车辆类型。
提示
在某些情况下 (见下文) 不需要 +5V 线路。 无需剪断 +5V 线路,您可以轻轻提起该引脚的伺服连接器塑料外壳的锁定片(例如,使用切割刀片或小螺丝刀)并将引脚拉出。 用电气隔离胶带将其隔离,并将其粘在伺服电缆上。 这使您可以稍后在需要时轻松撤消电线
#2.2、电源连接
始终将 Power VBAT 和 GND 连接到电池,并将 PWM 信号和 GND 从伺服插头连接到电机。
提示
没有不需要连接信号接地的设置!
与 +5V 线(如果有)的连接取决于 ESC/车辆。
#固定翼 / VTOL
在固定翼(或 VTOL)ESC 上,+5V 线路通常提供电池消除电路 (BEC) 的输出。
-
这可以连接到 Pixhawk 伺服导轨,用于为襟翼、副翼等的伺服系统提供动力。
注意
从自动驾驶仪的航空电子设备电源为伺服系统或 ESC 供电是不安全的。 这也是为什么 Pixhawk 系列飞控不给舵机轨供电的原因(AUX 舵机轨没有通电,电流限制为 1A)。
-
根据经验,您应该只将一个 BEC 的输出连接到 Pixhawk 伺服导轨。 (虽然可以将多个 +5V 输出连接到电源轨,但这取决于 ESC 型号)。
#多旋翼
在多旋翼飞行器上,+5V 线路可能不存在或(如果存在)可能未连接。
- 多旋翼飞行器通常不需要伺服器,因此不需要为 Pixhawk 伺服导轨供电(电机通常由配电板单独供电)。
- 将电线连接到伺服导轨没有任何危害(或好处)。
- DJI ESC 通常包含此线,但未连接。
#光隔离 ESC
在没有 BEC 的光隔离 ESC 上,可能需要连接 +5V 线并为其供电(以便为 ESC 微控制器供电)。 在这种情况下,电线通常会连接到飞控伺服导轨,并且伺服导轨必须由额外的 BEC 供电。
#PX4 配置
PWM 电机和舵机使用 QGroundControl 中的 执行器配置 屏幕进行配置。
分配输出和基本校准后,您可能希望执行 ESC 校准。
其他 PX4 PWM 配置参数可以在这里找到: PWM 输出。
#2.3、故障 排除
Pixhawk 兼容市面上所有的 PWM 电调。 如果特定 ESC 无法运行,则表示其连接或配置不正确。
#2.3.1、接地连接,信号接地
检查 ESC 舵机连接器的接地(黑线)是否连接到 Pixhawk(没有没有接地参考的有效接线设置)。
警告
不接地,飞行是不安全的。 这是因为对于每个正脉冲(ESC 信号),都需要一个相邻的接地返回路径,以获得干净的信号形状。
下图显示了如果未连接 GND 时信号的噪声有多大。
#电源连接/光隔离 ESC
如果使用不提供 BEC / 电源输出的光隔离电调,请确保电调不需要为光隔离器供电 +5V 线路。
请参阅本页的第一部分说明其他电源连接注意事项。
#最小值无效
一些 ESC 在开机前需要看到一个特殊的低值脉冲(以保护在通电时油门杆处于中间位置的用户)。
PX4 在无人机撤防时发送脉冲,当 ESC 撤防时使 ESC 静音,并确保 ESC 正确初始化。 作为执行器配置/测试过程的一部分,确定并设置适当的值(在内部,这些值将每个输出的参数设置为 PWM_MAIN_DISn 和 PWM_AUX_DISn)。
#超时
如果某些 ESC 在通电几秒钟内没有收到有效的低脉冲,它们可能会超时(阻止电机启动)。
PX4 在开机后立即发送空闲/撤防脉冲以停止 ESC 超时。 作为执行器配置/测试过程的一部分,确定并设置适当的值(在内部,这些值将每个输出的参数设置为 PWM_MAIN_DISn 和 PWM_AUX_DISn)。
#有效的脉冲形状、电压和更新速率
注意
这应该不是问题,但为了完整性而包括
Pixhawk 使用所有主要品牌(Futaba、Spektrum、FrSky)使用的有源高脉冲。
PWM 接口没有正式标准化,但是,普通的微控制器都使用 TTL 或 CMOS 电压电平。 TTL 定义为 0.8V < 0.8V 和高 > 2.0V,一些制造商使用 2.4V >以获得额外的噪声容限。 CMOS logic 定义为类似的电压电平。 成功切换到导通状态不需要 5V 电平。
提示
Futaba、FrSky 和 Spektrum 接收器输出 3.3V 或 3.0V 电压电平,因为它们远高于 2.4V。 Pixhawk 采用了这种常见的行业模式,并在最近的电路板上输出 3.3V 电平。
3、DShot 电调
DShot 是一种替代 ESC 协议,与 PWM 或 OneShot 相比具有多项优势:
- 减少延迟。
- 通过校验和提高稳健性。
- 无需 ESC 校准,因为该协议使用数字编码。
- 遥测反馈在某些 ESC 上可用/受支持。
- 可以在需要时通过命令反转电机旋转方向(而不是物理移动电线/重新焊接)。
- 支持其他有用的命令。
本文介绍如何连接和配置 DShot ESC。
#3.1、布线/连接
DShot ESC 的接线方式与 PWM ESC 相同。 唯一的区别是它们只能连接到 FMU,并且通常只能连接到某些引脚子集。
注意
在连接之前,您可能需要检查执行器配置屏幕,以查看控制器上的哪些引脚可用于 DShot!
同时具有 FMU 和 IO 板的 Pixhawk 控制器通常将它们分别标记为 (FMU) 和 (IO)。 这些与 Actuator Configuration 屏幕上的 和 output 选项卡匹配。 对于这些控制器,请将 DShot ESC 连接到端口。AUX
MAIN
PWM AUX
PWM MAIN
AUX
没有 IO 板的控制器通常会将(单个)输出端口标记为 ,这是您将连接 DShot ESC 的位置。 如果没有 IO 的控制器有自己的固件,则 actuator 分配将分配给匹配的输出。 但是,如果带/不带 IO 板的硬件使用相同的固件,例如 Pixhawk 4 和 Pixhawk 4 Mini,则在两种情况下使用的执行器分配选项卡是相同的:(即在 “mini” 情况下不匹配端口标签)。MAIN
PWM MAIN
PWM AUX
MAIN
#3.2、配置
警告
更改 ESC 配置参数前请移除螺旋桨!
在 Actuator Configuration 中为所需的输出启用 DShot。
DShot 有不同的速度选项:DShot150、DShot300、DShot600 和 DShot1200,其中数字表示以千比特/秒为单位的速度。 您应该将参数设置为您的 ESC 支持的最高速度(根据其数据表)。
然后连接电池并布防车辆。 ESC 应初始化,电机沿正确方向转动。
- 如果电机未按正确的方向旋转(对于所选机身),您可以在 UI 中使用 Set Spin Direction 选项反转它们(此选项在您选择 DShot 并分配电机后显示)。 您还可以通过发送 ESC 命令来反转电动机。
#3.3、ESC 命令
命令可以通过 MAVLink shell 发送到 ESC。 有关支持的命令的完整参考,请参阅此处。
最重要的是:
-
3.3.1、发出第一声电机哔哔声(有助于识别电机):
dshot beep1 -m 1
-
3.3.2、检索 ESC 信息(需要遥测,见下文):
nsh> dshot esc_info -m 2 INFO [dshot] ESC Type: #TEKKO32_4in1# INFO [dshot] MCU Serial Number: xxxxxx-xxxxxx-xxxxxx-xxxxxx INFO [dshot] Firmware version: 32.60 INFO [dshot] Rotation Direction: normal INFO [dshot] 3D Mode: off INFO [dshot] Low voltage Limit: off INFO [dshot] Current Limit: off INFO [dshot] LED 0: unsupported INFO [dshot] LED 1: unsupported INFO [dshot] LED 2: unsupported INFO [dshot] LED 3: unsupported
-
3.3.3、永久反转第一个电机的旋转方向:
dshot reverse -m 1 //先输入这行代码,按回车,等待反馈已反转电机的命令dshot save -m 1 //电机反转后,输入这行代码,保存电机转向//对1234号电机进行设置,分别替换为数字1234
-
#3.4、遥测
一些 ESC 能够将遥测数据发送回飞行控制器,包括:
- 温度
- 电压
- 当前
- 累积电流消耗
- RPM 值
这些 DShot ESC 将有一根额外的遥测线。
要启用此功能(在支持此功能的 ESC 上):
- 将所有 ESC 的所有遥测线连接在一起,然后将它们连接到未使用的飞行控制器串行端口上的 RX 引脚之一。
- 使用 DSHOT_TEL_CFG 在该串行端口上启用遥测。
重新启动后,您可以使用以下方法检查遥测是否正常工作(确保电池已连接):
dshot esc_info -m 1
提示
您可能需要配置 MOT_POLE_COUNT 才能获得正确的 RPM 值。
提示
并非所有支持 DSHOT 的 ESC 都支持(例如 APD 80F3x),即使支持并启用遥测也是如此。 生成的错误为:[esc_info]
ERROR [dshot] No data received. If telemetry is setup correctly, try again.
查看制造商文档以获取确认/详细信息。
4、OneShot 伺服系统和 ESC(电机控制器)
PX4 支持 OneShot 125 ESC(仅限)。 它们通常比 PWM ESC 更快、响应更快,但共享相同的布线设置(您需要做的就是设置一些不同的参数)
注意
应尽可能使用 DShot 而不是 OneShot,因为它响应更快、更可靠、不需要校准,并且可能支持遥测。 不使用 DShot 的唯一原因是硬件限制(可用的 DShot 引脚不足或使用不支持 DShot 的 ESC)。
#4.1、概述
OneShot 本质上是 PWM 的一个版本,理论上可以快 8 倍。
PWM 和 OneShot 都使用周期性脉冲进行通信,其中脉冲的宽度表示所需的功率水平。
对于 PWM,脉冲长度通常在 1000us(零)和 2000us(全功率)之间,
而对于 OneShot 125,脉冲宽度短 8 倍,范围从 125us(零功率)到 250us(全功率)。
脉冲可以发送的理论最大速率以及响应速度取决于最大脉冲的宽度。 对于 PWM,此速率接近 500 Hz,而对于 OneShot,则接近 4 kHz。 在实践中,OneShot ESC 的实际最大速率通常在 1 kHz 到 2 kHz 之间,具体取决于所使用的 ESC。
#4.2、设置
#布线
接线与 PWM ESC(和 dshot)完全相同。
#PX4 配置
要启用 OneShot,请在 Actuator Configuration 期间为一组输出选择协议。 请注意,输出范围值设置为正常 PWM 范围内的值(名义上为 )。 这些在内部进行缩放,以输出适合 Oneshot 的脉冲宽度。1000
2000
然后执行 ESC 校准。