(飞行)控制器输入和输出

所有 ArduPilot (飞行)控制器都提供用于连接的输入和输出:

  • 控制输入(载具运行必须):

  • 无线电遥控接收器

  • MAVLink 数据流,即地面控制站或配套计算机

  • 传感器输入:

  • 全球定位系统(必选项目)

  • 指南针(除某些飞机用途外必须使用)

  • 空速

  • 测距仪

  • 冗余气压计、IMU 等。

  • 电源管理单元输入(必须为(飞行)控制器供电)

  • 模拟输入

  • 接收信号强度输入 (RSSI)

  • 模拟空速传感器

  • 飞行控制输出(载具运行必须):

  • 用于电机的电调

  • 用于控制面/机械装置的舵机

  • 遥测输出

  • 执行器和通用 I/O:

  • 继电器

  • 发光二极管

  • 安全开关

  • 蜂鸣器

../_images/fc-io.jpg

输入/输出端口类型

备注

查看个人 (飞行)控制器的 请参阅说明页面,了解提供了哪些特定端口以及每个端口的确切引脚布局。

USB

USB 是配置(飞行)控制器的主要端口。它始终作为(飞行)控制器的第一个串行端口 (0) 出现。参见 串行端口配置

UART

通常提供多个 UART 端口。这些端口可连接遥测无线电、GPS、测距仪甚至 SBUS 伺服器。此外,从固件 4.0 版本开始,串行遥控接收机输入可以连接到任何 UART。参见 串行端口配置 信号 +++++++

  • TX:数据输出,连接外设 RX 信号

  • RX:数据输入,连接外设 TX 信号

通常在连接器中提供 +5V 和 GND,如果是板式(飞行)控制器,则在附近提供 +5V 和 GND。

连接器中有时会提供流量控制信号。一些遥测无线电设备使用这些信号:

  • CTS:清零发送 输出到外设标有 CTS 的输入端

  • RTS:请求发送 从外设标有 RTS 的输出输入

I2C

I2C 用于连接某些传感器或外设。最著名的是罗盘(许多载具必须配备)和数字空速传感器。

信号

  • SCL:时钟输出,连接外设 SCL 引脚

  • SDA:双向数据,连接外设 SDA 引脚

虽然 I2C 使用 3.3V 信号,但通常在连接器中与信号一起提供 +5V 电压,因为许多 I2C 设备实际上使用 +5V 电压作为主电源。如果提供的端口不够,I2C 扩展板可以连接多个设备。

备注

有些板级(飞行)控制器需要在信号线上外接 2K 欧姆上拉至 3.3V,因为板上没有提供,而有些 I2C 外围设备则提供上拉。如果设备运行不正常,首先应确保在某处提供了上拉。

全球定位系统

全球定位系统 通常连接到其中一个 UART 端口,但有些(飞行)控制器会提供一个 GPS 和/或 GPS/Compass 专用连接器,其中包括 I2C 信号。

信号

  • TX:数据输出端,连接至 GPS RX 输入端

  • RX:数据输入,连接到 GPS TX 输出端

备注

注意(飞行)控制器和外围设备之间的信号交换。

连接器中通常提供 +5V 和 GND。如果是 GPS/指南针端口,则还会提供 I2C 信号,并将其连接到 GPS/Compass 模块指南针子模块上的相同命名信号上。

PMU

大多数(飞行)控制器都提供了连接某种电源管理单元(PMU)的方法。这些 单位 提供以下任何一项或全部内容:

  • 飞行电池为(飞行)控制器提供稳压 +5V 电源

  • 监控飞行电池的电流

  • 监控飞行电池的电压

信号

  • +5V:(飞行)控制器稳压电源

  • CUR:电流监控器输出。通常为 0-3.3v 模拟电压,代表电流消耗水平

  • VLT:电压监控器输出。通常为 0-3.3V 模拟电压,代表电池电压

  • GND: 接地

一些 "智能 "电池/电源监控器用 I2C 信号取代了 CUR 和 VLT 引脚,以提供有关电池状态的数字信息。

许多板式(飞行)控制器将 PMU 完全集成到电路板中,并与处理器进行内部连接。

此外,由于 ArduPilot 固件 4.0 及更高版本支持多达 10 个 PMU/电池监控器,因此许多(飞行)控制器可提供多个 PMU 连接。

RCIN

无线电控制接收器的输入通过该引脚输入。ArduPilot 支持并自动检测大多数串行遥控协议(PPM、SBUS、DSM 等)。此外,一些(飞行)控制器还为 DSM 协议卫星接收器提供专用连接器,除输入信号外,还为接收器提供电源。

从固件 4.0 及更高版本开始,ArduPilot 还允许将遥控接收器连接到任何 UART 端口。

主/辅助/输出

控制电机(通过电调)和舵机的主要输出由这些引脚/连接器提供。它们被标记为 MAIN/AUX 输出或 OUTPUT。这些输出为电机电调或飞行表面伺服控制提供 PWM 或 Dshot 信号。它们有时也可用作通用 I/O 引脚,用于控制继电器、降落伞、机械爪/机械手臂等。

带有 MAIN/AUX 输出标签的控制器通常表示使用了 IOMCU 协处理器。这些输出可用作电机/伺服输出,并在主(飞行)控制器发生故障时通过遥控提供冗余控制。主输出来自该协处理器,而指定的辅助输出则由(飞行)控制器直接控制。大多数板级(飞行)控制器不使用 IOMCU,其输出仅标有 OUTPUTx 或 Mx。

这一区别非常重要,因为 AUX 输出(以及不带 IOMCU 的(飞行)控制器的输出)既可以用作 GPIO,也可以用作 PWM 或 Dshot。而主输出只能用于 PWM,除非用作继电器 GPIO。请参见 GPIO

备注

一些不使用 IOMCU 的(飞行)控制器将其输出标记为 MAIN,因此实际上可以将这些输出用作 GPIO 和/或 Dshot ESC 控制。例如 CUAV V5 Nano 和 Holybro Pixhawk 4 Mini。

这些输出通常由 3 针连接器提供,除了单独的输出信号外,还提供或分配伺服电源和接地。这种电源通常由外部提供,例如由电调或 BEC 提供,但有些(飞行)控制器也通过内部稳压器提供这种电源。

CAN

CAN 许多(飞行)控制器上都有总线,可与 DroneCAN 外围设备。每天都有电调、GPS/指南针、测距仪以及许多其他外设和传感器被添加到可用的 DroneCAN 设备列表中。CAN 提供了一种与外围设备进行数据完整性通信的强大方法,即使引线较长也不例外。

信号

  • CAN_H:CAN 高压侧信号,连接外设 CAN_H 引脚

  • CAN_L:CAN 低端信号,连接外设 CAN_L 引脚

电源和地线通常也由标准的 4 针 JST-GH 连接器提供。

SPI

大多数(飞行)控制器的处理器都带有多个 SPI 端口。虽然有些端口用于机载外设,但通常会在外部提供一个或多个端口,用于添加传感器芯片(如气压计或 IMU),以实现冗余。

信号

  • CSx:一个或多个芯片选择,用于启用 SPI 外围设备

  • MOSI:主输出/从输入数据,连接至 SPI 外围设备上的相同信号

  • MISO:主输入/从输出数据,连接至 SPI 外围设备上的相同信号

  • SCK:时钟信号

备注

SPI 信号名称可以用多种不同方式标注。请参见 SPI 维基百科条目 了解更多信息。

安全开关/LED

许多(飞行)控制器在连接器上提供专用 GPIO,用于添加 ArduPilot 支持的可选安全开关和通知灯。通常,使用 IOMCU 协处理器的(飞行)控制器会提供这些功能。

信号

  • +3.3V:为 LED 和开关供电

  • LED:驱动通知 LED 的接地端

  • SW: 检测是否存在 +3.3V 电压,以指示开关闭合

蜂鸣器

有时会为无源或有源蜂鸣器提供 -BUZZ 输出,用于发出系统通知音,并为蜂鸣器提供开关接地连接。参见 蜂鸣器

模拟输入

通常会提供模拟电压测量引脚。这些针脚用于感应来自电源监控器(如果没有提供专用连接器)、其他系统电压监控点的电流和/或电压,或用于模拟电压测量。 RSSI 输入。