ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

141、飞控中的光流传感器选型:PMW3901

2026/8/6 8:02:22 拓冰建站 浏览量
141、飞控中的光流传感器选型:PMW3901

飞控中的光流传感器选型:PMW3901

从一次炸机说起

去年夏天,我在调试一架四轴无人机做室内定点悬停。光流传感器用的是某宝上十几块的“兼容PMW3901”模块,飞控是Pixhawk 4,固件ArduCopter 4.0。地面站里光流数据看起来正常,X、Y速度都有跳动,但飞机一离地半米就开始往东偏,越偏越快,最后撞墙炸机。拆下来检查,发现传感器模块的排针虚焊,但更致命的问题是——这个“兼容模块”的镜头焦距和原厂不一样,导致地面分辨率完全不对,飞控算出来的速度全是错的。

那次之后我花了整整两周时间,把市面上能买到的PMW3901模块全测了一遍,拆了十几个模块,看了原厂数据手册和几个开源飞控的驱动代码,才搞明白这颗传感器到底该怎么选、怎么用。

PMW3901到底是什么东西

PMW3901是原相科技(PixArt)推出的一款光学导航传感器,本质上和鼠标里的传感器是亲戚。它内部集成了一个低分辨率摄像头(30x30像素)和一个DSP处理器,通过连续拍摄地面图像并计算图像间的位移,输出X、Y方向的像素位移量。和传统光流传感器(比如PX4FLOW)最大的区别是:它不需要外部MCU做图像处理,直接通过SPI接口输出运动数据,对飞控的算力消耗极低。

但别被“低功耗、小体积、SPI直出”这些宣传词骗了。这颗传感器对光学系统极其敏感,选型时真正要命的坑全在镜头和安装上。

镜头焦距:最容易被忽略的参数

PMW3901原厂推荐使用焦距为2.4mm的镜头,配合1/4英寸的CMOS靶面,在30cm高度下地面分