基于 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 |
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 所支持的传感器。传感器可安装在任何位置,但必须朝下,并应像往常一样连接/配置。
PX4 团队主要使用 激光雷达精简版 V3 大型载具和 兰宝 CM8JL65 在小型载具上。
安装/定向
流量模块通常安装在靠近载具中心的位置。如果安装位置偏离中心,则需要设置偏置: 光流 > EKF2.
流量模块可以以相对于车身框架的任何偏航方向安装,但必须设置在 SENS_FLOW_ROT.
零点旋转是指传感器电路板和传感器电路板之间的旋转。 汽车 X 轴对齐(即载具的前端与木板同向),旋转幅度按顺时针方向增加。
PMW3901 模块上有一个小凹槽,用于指示模块的安装方向。 后 板的方向。图中显示了 Bitcraze 电路板在载具上的方向,对应于 sens_flow_rot=0
(注意后面的凹槽)。
您可以用同样的方法利用凹槽找到其他电路板的方向:
; | ; |
---|---|
廷迪 |
十六进制 Hereflow |
Thone |
Aliientek(也有一个箭头指示前方!)。 |
PX4 配置
所有电路板通用的 PX4 配置:
- 光流 > EKF2 解释了如何在 EKF2 估计器中融合光学流量数据,并为流量传感器的安装位置设置位置偏移。
- SENS_FLOW_ROT 设置流量传感器相对于载具航向的方向。
此外
- 应按照设置文件中的说明启用距离传感器(无需针对流量进行配置)。
- 各个流量传感器的设置/配置如下文所述。
Bitcraze Flow 突围
Bitcraze Flow 突围 直接暴露了 SPI 接口 来自 PMW3901 模块。
电路板还集成了一个距离传感器,可以 连接到 Pixhawk I2C 端口.该距离传感器是意法半导体公司的 VL53L0x ToF 传感器。该传感器的测距范围非常有限(2 米),在阳光下飞行时,测距范围会缩小。因此,我们强烈建议您使用 外部距离传感器.
SPI 接线
编写 PMW3901 驱动程序时,使用芯片选择 1 将电路板直接插入 Pixhawk 4 的 SPI 端口。插入 Pixhawk 4 的 SPI 端口后,启动时将自动检测到 Bitcraze 流量模块。除以下参数外,无需配置其他参数 传感器的方向和位置.
Pixhawk SPI 端口到 Bitcraze Flow Board 的引脚映射如下所示(所有 Pixhawk FMU 版本的端口映射相同)。
Pixhawk SPI 端口(从左到右) | Bitcraze 流量板 |
---|---|
1 (VCC) | VCC |
2(SCK) | CLK |
3 (MISO) | MISO |
4(MOSI) | MOSI |
5 (CS1) | 请勿连接 |
6 (CS2) | CS |
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,用于更好地同步流量数据和陀螺仪数据。
机载微控制器对三个传感器进行采样,并发布 2 条 UAVCAN 信息,其中包含流量和距离传感器计算所需的全部信息。
电路板可连接到任何 Pixhawk 电路板上的任何 CAN 端口(参见 UAVCAN 接线).
至于其他光流板,我们建议您使用一个 外部距离传感器.
UAVCAN 接线/设置
下图显示了如何将传感器连接到 Pixhawk 4 CAN 总线。
除其他配置外,您还需要设置参数 UAVCAN_ENABLE 为 2 或 3,具体取决于您的系统:
uavcan_enable=2
:UAVCAN 传感器,但没有电机控制器。uavcan_enable=3
:UAVCAN 传感器和电机控制器。
Thone ThoneFlow-3901U
该传感器尚不支持 - 等待 https://github.com/PX4/Firmware/pull/12148
图恩 ThoneFlow-3901U 通过 UART 接口公开一个 PMW3901 光流模块。
电路板上没有距离传感器,因此您需要使用一个 外部距离传感器.