基于 PMW3901 的流量传感器
PMW3901 是一款 光流 ASIC 可在内部计算流量,并提供每帧之间的像素差异。它使用的跟踪传感器与电脑鼠标类似,但适用于 80 毫米至无限远的距离。PMW3901 已用于多款产品,包括 Bitcraze、Tindie、Hex、Thone 和 Alientek 的一些产品。
本主题提供已测试过的传感器的链接,以及有关安装和 PX4 配置的信息(这是所有此类传感器的共同点)。
使用 PMW3901 的电路板
下表列出了一些使用该传感器的电路板,列出了接口数量、传感器数量、输入电压和尺寸。电路板名称链接到电路板特定部分,其中包括接线和购买信息。
制造 | 董事会 | 界面 | 流量 | 测距仪 | 陀螺仪 | 电压 (V) | 尺寸(毫米) | 最大高度(米) |
---|---|---|---|---|---|---|---|---|
Bitcraze | 流量突破 | SPI | Y | Y | - | 3 - 5 | 21x20 | 1 |
廷迪 | PMW3901 光学流量传感器 | SPI | Y | - | - | 3 - 5 | AxB | - |
六角形 | HereFlow PMW3901 光学流量传感器 | CAN | Y | Y | Y | 3 - 5 | AxB | 4 |
圣卡罗 | Holybro PMW3901 光学流量传感器 | UART | Y | - | - | 3 - 5 | AxB | - |
Thone | ThoneFlow-3901U | UART | Y | - | - | 3 - 5 | AxB | - |
阿连特克 | ATK-PMW3901 | SPI | Y | - | - | 3.3 - 4.2 | 27.5x16.5 | 1 |
外置测距仪
外部测距仪/距离传感器 所需 对于没有测距仪的传感器(例如 廷迪 或 Thone)和 推荐 因为它们的范围相当有限)。
所需范围取决于应用:
- 室内飞行:≈4 米
- 室外飞行:≥10 米(例如,在 GPS 可能出现问题的环境中支持定位控制)
任何 测距仪/距离传感器 可使用 PX4 所支持的传感器。传感器可安装在任何位置,但必须朝下,并应像往常一样连接/配置。
TIP
PX4 团队主要使用 激光雷达精简版 V3 大型载具和 兰宝 CM8JL65 在小型载具上。
安装/定向
流量模块通常安装在靠近载具中心的位置。如果安装位置偏离中心,则需要设置偏置: 光流 > EKF2.
流量模块可以以相对于车身框架的任何偏航方向安装,但必须设置在 SENS_FLOW_ROT.
零点旋转是指传感器电路板和传感器电路板之间的旋转。 汽车 X 轴对齐(即载具的前端与木板同向),旋转幅度按顺时针方向增加。
PMW3901 模块上有一个小凹槽,用于指示模块的安装方向。 后 的方向。图中显示了电路板和载具的相对方向,对应于 sens_flow_rot=0
(注意后面的凹槽)。
上图显示的是 Bitcraze 电路板。您可以用同样的方法通过凹槽找到其他电路板的方向:
廷迪 | 十六进制 Hereflow |
Thone | Aliientek(也有一个箭头指示前方!)。 |
PX4 配置
所有基于 PMW3901 的电路板通用的 PX4 配置:
- 光流 > EKF2 解释了如何在 EKF2 估计器中融合光学流量数据,并为流量传感器的安装位置设置位置偏移。
- SENS_FLOW_ROT 设置流量传感器相对于载具航向的方向。
此外,为
- 通过 SPI 连接的传感器必须设置 sens_en_pmw3901 至
1
以启用传感器驱动程序。 - UART 连接的传感器(例如 ThoneFlow-3901UY)必须 配置相关的串行端口 通过设置参数 SENS_TFLOW_CFG 为所连接的 UART 端口的值(例如,如果您将该传感器连接到
电话 2
,您需要设置SENS_TFLOW_CFG
至102
). - 您必须设置 DroneCAN 传感器
UAVCAN_ENABLE
适当。欲了解更多信息,请参阅 DroneCAN 外围设备 和 HereFlow PMW3901 文档如下).
各个流量传感器的进一步设置/配置如下文所述。
Bitcraze Flow Breakout
Bitcraze Flow 突围 直接暴露了 SPI 接口 来自 PMW3901 模块。
电路板还集成了一个距离传感器 连接到 Pixhawk I2C 端口.该距离传感器是 STMicroelectronics 公司的 VL53L0x ToF 传感器。传感器的测距范围很小(2 米),在阳光下飞行时,测距范围会缩小。因此,我们强烈建议您使用 外部距离传感器.
SPI 接线
PMW3901 如果连接到 Pixhawk 4 的 SPI 端口,将自动检测到 Bitcraze 流量模块。该设备的驱动程序已明确编写为使用片选 1 插入 SPI 端口。除以下参数外,无需配置其他参数 传感器的方向和位置.
Pixhawk SPI 端口到 Bitcraze Flow Board 的引脚映射如下所示(所有 Pixhawk FMU 版本的端口映射相同)。
Pixhawk SPI 端口(从左到右) | Bitcraze 流量板 |
---|---|
1 (VCC) | VCC |
2(SCK) | CLK |
3 (MISO) | MISO |
4(MOSI) | MOSI |
5 (CS1) | CS |
6 (CS2) | 请勿连接 |
7(接地) | 接地 |
要将 bitcraze flow 板连接到 Pixhawk,需要将 Pixhawk SPI 电缆的导线焊接到 flow 板上。SPI 电缆有 7 根导线,您需要将其中的 6 根连接到 flow 板。
下图显示了如何将传感器连接到 Pixhawk 4。
I2C 接线
I2C 接线与其他距离传感器相同。只需将 SLA、SLC、GND 和 VCC 连接到 Pixhawk 和传感器上的相应(相同)引脚即可。
Tindie PMW3901 光学流量传感器
廷迪号 PMW3901 光学流量传感器 PMW3901 模块的 SPI 接口与 Bitcraze 模块上的完全相同(请参阅 "Bitcraze 模块")。 SPI 接线).
传感器没有板载距离传感器,因此您需要使用一个 外部距离传感器.
AlienTek ATK-PMW3901
外星技术 ATK-PMW3901 PMW3901 模块的 SPI 接口,其方式与 Bitcraze 模块相同(请参见 SPI 接线).
电路板还集成了一个距离传感器(我们建议您使用一个 外部距离传感器).您可以将内部传感器连接到 Pixhawk I2C 端口 与任何其他 I2C 外围设备相同。 下面是显示 I2C 引脚(SLA、SLC、GND 和 VCC)的截图。
Hex HereFlow PMW3901 光学流量传感器
六角形 HereFlow PMW3901 光学流量传感器 是一块微型电路板,包含 PMW3901 流量模块、VL53L1X 距离传感器和 IMU(用于同步流量数据和陀螺仪数据)。
机载微控制器对三个传感器进行采样,并发布两条 DroneCAN 信息,其中包含流量和距离传感器计算所需的全部信息。
电路板可连接到任何 Pixhawk 电路板上的任何 CAN 端口(参见 DroneCAN 接线).
至于其他光流板,我们建议您使用 外部距离传感器.
DroneCAN 接线/设置
下图显示了如何将传感器连接到 Pixhawk 4 CAN 总线。
除其他配置外,您还需要设置参数 UAVCAN_ENABLE 为 2 或 3,具体取决于您的系统:
uavcan_enable=2
:DroneCAN 传感器,但没有电机控制器。uavcan_enable=3
:DroneCAN 传感器和电机控制器。
有关 DroneCAN 接线和配置的一般信息,请参见: DroneCAN 外围设备.
Holybro PMW3901 光学流量传感器
Holybro PMW3901 光学流量传感器 通过 UART 接口公开一个 PMW3901 光流模块。
电路板上没有距离传感器,因此您需要使用一个 外部距离传感器.
它配有一个 3D 打印外壳,以及一个预焊接的 TX、Voltage 和 GND 4 针连接器,可插入飞行控制器的遥测端口,如下图所示(用于 Pixhawk 6C)。
Thone ThoneFlow-3901U
图恩 ThoneFlow-3901U 通过 UART 接口公开一个 PMW3901 光流模块。
电路板上没有距离传感器,因此您需要使用一个 外部距离传感器.
此外,还必须设置参数 SENS_TFLOW_CFG 连接的 UART 端口的值(例如,如果传感器连接到 电话 2
然后设置 sens_tflow_cfg=102
.更多信息,请参见 串行端口配置.