台架设置前请拆除螺旋桨。PX4 / ArduPilot 使用模块的 MAVLink 输出,INAV / Betaflight 使用 MSP 输出。UART4 和 TELEM 2 仅为示例,请对应实际接线端口。ArduPilot 4.7+ 的 MAVx 表示 MAVLink 通道,并非 SERIALx 端口编号,修改选项前应核对映射。截图仅说明界面操作,不代表飞行验证;参数名和可用功能取决于所安装的固件版本与构建。
PX4 配置
打开工具,选择 Vehicle Setup。

设置 MAV_1_CONFIG 为 TELEM 2 并保存。

点击“工具”,点击“重启飞行器”。

设置 MAV_1_MODE 为 Normal 并保存。

设置 SER_TEL2_BAUD 为 115200 8N1 并保存。

可选的高度融合设置:仅进行步骤 8 的通信检查时,不需修改 EKF2_RNG_CTRL。截图中的 Enabled 为持续测距融合;只有在核对所用 PX4 版本、安装方式、可靠测距范围和飞行条件后才考虑采用。接收传感器消息不要求执行此步骤。

可选的高度参考:EKF2_HGT_REF = Range sensor 仅适用于向下测距、平坦地面及可靠测距范围内的运行场景;地形变化会使局部高度参考随地面起伏。通信检查保留现有高度参考,不要将截图中的设置作为通用飞行配置。

配置完后重启飞控,一切正常的话,在 QGC 的 MAVLink Inspector 页面中应该能看到 DISTANCE_SENSOR 消息,有数值即可。注意,QGC 上显示的消息由飞控发出,消息频率并不等同于传感器的数据频率,这个频率由飞控的设置和数据链路的速度决定,主要用于观察,消息频率多少并不重要。


APM 配置
在 Mission Planner 中设置对应串口波特率 SERIAL4_BAUD 为 115(115200),并根据固件版本设置选项参数:4.7 及以后使用 MAVx_OPTIONS,启用 bit 1(掩码 2,禁止 MAVLink 转发),保留其他位;4.6 及更早使用 SERIALx_OPTIONS,启用 bit 10(掩码 1024,私有 MAVLink 通道),保留其他位。再设置串口协议值 SERIAL4_PROTOCOL 为 1(Mavlink1),点击“写入参数”保存。

设置 RNGFND1_TYPE 值为 10,点击“写入参数”保存,再点击“刷新参数”。

启用测距仪后重启飞控。ArduPilot 4.7 及以后:设置 RNGFND1_MAX 为 8、RNGFND1_MIN 为 0.02,单位为米。4.6 及更早:设置 RNGFND1_MAX_CM 为 800、RNGFND1_MIN_CM 为 2,单位为厘米。保存设置。截图展示的是旧版参数名。

设置完后可以在 status 页面看到 rangefinder1 的数值。

ToF Betaflight 配置
Betaflight 固件须包含测距功能及所列驱动。能读取测距数据,不代表已具备定高或避障能力。
ToF 切到 MSP 模式。
Ports 页:UART4 开 MSP,保存重启。

CLI 输入(一行一行的输入保存):
set rangefinder_hardware = MTF01P
feature RANGEFINDER
save
看测距:
set debug_mode = RANGEFINDER
save
查看数据Sensors 页看“声呐 - 厘米”、Raw Altitude、Calc Altitude。



