3、地面站与飞控连接:USB连接与驱动安装
好,咱们进入第三章。前面两章我们把地面站软件装好了,飞控固件也刷进去了。现在要做的,就是把飞控和电脑连起来,让地面站能跟飞控说上话。
这一步看着简单,但说实话,我见过太多新手甚至老手在这上面卡壳。插上线没反应、端口找不到、波特率不对……今天咱们就把这些坑一个个填平。
核心要点:USB连接的本质是让电脑通过虚拟串口与飞控通信。驱动装对、端口选对、波特率设对,这三点缺一不可。
3.1 USB连接与驱动安装
先把飞控用USB线连到电脑上。注意,线材质量很重要。我遇到过好几次,用手机充电线死活连不上,换一根数据线就好了。说白了,有些线只能充电,不能传数据。
Windows系统
Windows下最常见的是驱动问题。Pixhawk系列飞控用的FTDI或CH340芯片,需要装对应驱动。
- FTDI驱动:适用于Pixhawk 1、Pixhawk 2等老款。去FTDI官网下载,或者直接用Zadig工具。
- CH340驱动:适用于大部分国产飞控、CUAV系列。网上搜“CH340驱动”就能找到。
- STM32虚拟串口驱动:部分新飞控直接用STM32的USB CDC,Windows 10以上通常自动识别。
我的习惯:装完驱动后,打开设备管理器,看“端口(COM和LPT)”下面有没有出现新设备。如果出现黄色感叹号,说明驱动没装对。右键更新驱动,手动指定驱动文件夹就行。
Linux系统
Linux下通常不需要额外装驱动,但需要给串口设备添加用户权限。不然你会发现,地面站里能看到端口,但连不上。
# 添加当前用户到dialout组
sudo usermod -a -G dialout $USER
# 重启后生效,或者直接重新登录
嗯,这一步做完,基本就能识别了。我记得第一次在Ubuntu下搞这个,忘了加权限,折腾了半小时……后来发现就是一条命令的事。
Mac系统
Mac用户相对省心。插上飞控,打开终端输入 ls /dev/tty.*,能看到类似 /dev/tty.usbserial-XXXX 的设备。驱动方面,CH340需要装一个第三方驱动,FTDI和STM32的通常免驱。
3.2 COM口识别与波特率设置
驱动装好了,接下来在地面站里配置连接参数。以Mission Planner为例,打开后右上角有个端口选择下拉框。
| 操作系统 | 常见端口名 | 备注 |
|---|---|---|
| Windows | COM3、COM4、COM5 | 数字取决于USB口和驱动 |
| Linux | /dev/ttyACM0、/dev/ttyUSB0 | ACM0常见于STM32飞控 |
| Mac | /dev/tty.usbserial-XXXX | XXXX是随机字符 |
端口选对了,接下来是波特率。ArduPilot飞控默认的USB连接波特率是115200。别问我为什么是这个数,这是行业标准。你想想看,115200对于USB虚拟串口来说,稳定又够快。
注意:有些飞控或者固件版本可能改了默认波特率。如果115200连不上,试试57600或者921600。但绝大多数情况,115200是安全的起点。
3.3 连接状态指示灯解读
点下“连接”按钮后,飞控上的LED灯会告诉你当前状态。看懂这些灯,能省不少排查时间。
| LED颜色/模式 | 含义 | 说明 |
|---|---|---|
| 蓝色常亮 | GPS未锁定 | 飞控已启动,但没收到GPS信号 |
| 蓝色闪烁 | GPS已锁定 | 可以起飞了,但还要看其他状态 |
| 红色/黄色闪烁 | 错误或警告 | 可能是传感器校准问题 |
| 绿色闪烁 | 已解锁(armed) | 螺旋桨随时可能转,小心! |
| 双色交替闪烁 | Bootloader模式 | 固件刷写模式,正常连接会退出 |
我个人习惯,连接成功后先看LED。如果蓝灯常亮但地面站显示“No GPS”,那说明GPS模块本身有问题,不是连接的事。
3.4 常见连接失败排查
这是今天的重头戏。连接失败的原因就那么几种,咱们按概率从高到低排个序。
- 端口选错了——最常见。电脑上插了多个USB设备,选成了别的。拔掉其他USB设备,只留飞控,再看端口列表。
- 驱动没装对——设备管理器里看到的是“未知设备”或黄色感叹号。重装驱动,或者换一个USB口。
- 波特率不对——飞控固件被改过默认波特率。尝试57600或38400。
- USB线不行——只能充电不能传数据。换一根你确定能传数据的线。
- 飞控处于Bootloader模式——LED双色闪烁。断电重插,或者重新刷固件。
- 地面站版本太旧——老版本可能不支持新飞控。升级到最新版。
- USB口供电不足——笔记本USB口有时供电不够。用带外接电源的USB Hub,或者换台式机后置USB口。
避坑指南:我曾经遇到一个案例,飞控连电脑后,地面站能识别端口,但一点连接就报错“Timeout”。折腾半天,最后发现是飞控的micro USB口松了,稍微动一下线就断连。换个好点的线,问题解决。所以,硬件接触不良也是常见原因,别光盯着软件。
还有一个容易被忽略的点:地面站和飞控的固件版本要匹配。比如你用最新版Mission Planner去连一个五年前的旧固件,有时候会出兼容性问题。升级飞控固件到最新稳定版,能省很多麻烦。
好了,这一章的内容就这些。USB连接和驱动安装是基本功,但也是很多问题的根源。把上面几步走一遍,90%的连接问题都能解决。剩下的10%,多半是硬件本身的问题,那就得换件了。