第2章:飞控硬件平台选型
做飞控这么多年,我最大的体会就是:硬件选型决定了项目的天花板。你算法写得再漂亮,传感器噪声大、主控算力不够,飞起来照样晃得像喝醉了酒。这一章,咱们就聊聊飞控硬件选型的那些门道。
核心观点:飞控硬件选型没有标准答案,但有标准方法。你得根据应用场景、成本预算、开发周期来权衡。别想着一步到位,那往往是坑。
2.1 主控芯片选型:STM32、NXP、FPGA怎么选?
主控芯片是飞控的大脑。选错了,后面全白干。我见过不少团队,一开始选了FPGA,结果开发周期拖了半年,最后又换回MCU。
咱们先看三个主流方案:
| 方案 | 优势 | 劣势 | 典型场景 |
|---|---|---|---|
| STM32 | 生态好、资料多、开发快 | 算力有限、浮点性能一般 | 消费级无人机、教育飞控 |
| NXP i.MX RT | 算力强、带硬件浮点、实时性好 | 功耗稍高、封装复杂 | 工业级飞控、高动态飞行 |
| FPGA | 并行处理、延迟极低、可定制 | 开发难度大、成本高、功耗高 | 科研、军工、高速无人机 |
我个人习惯,做原型阶段先用STM32。为什么?因为快。你花两周就能把基本框架搭起来,验证算法可行性。等产品定型了,再根据性能瓶颈换芯片。
小技巧:如果你用STM32,建议选带硬件浮点单元(FPU)的型号,比如STM32F4或F7系列。飞控里大量用到浮点运算,软件模拟浮点会吃掉你30%以上的算力。
说到NXP,我去年做过一个项目,要求飞控响应延迟低于1毫秒。STM32扛不住了,换成了i.MX RT1060。嗯,效果立竿见影。它的实时性确实好,但要注意——它的封装是BGA,手工焊接基本没戏,得找工厂贴片。
FPGA呢?说实话,除非你有特殊需求,否则别碰。我在军工项目里用过Xilinx的FPGA做飞控,那开发周期...唉,一言难尽。但如果你要做的是高速无人机(比如固定翼竞速机),FPGA的并行处理能力确实无可替代。
避坑指南:我曾经在一个项目里选了STM32F103,结果发现它的ADC采样率不够,IMU数据读出来全是噪声。后来换了F405才解决。所以,选型时一定要把外设需求列清楚,别只看主频。
2.2 传感器选型:IMU、GPS、气压计、磁力计
传感器是飞控的感官。你想想看,如果传感器数据不准,飞控算法再牛也没用。就像一个人眼睛近视,跑步肯定摔跤。
2.2.1 IMU(惯性测量单元)
IMU是飞控最核心的传感器。它包含加速度计和陀螺仪。选型时主要看三个指标:
- 量程:加速度计一般选±2g到±16g,陀螺仪选±250°/s到±2000°/s。消费级无人机用±4g和±500°/s就够了。
- 噪声密度:这个参数很关键。噪声密度越低,姿态解算越稳。我一般选低于0.01°/s/√Hz的陀螺仪。
- 温度稳定性:飞控工作温度范围宽,从-20°C到60°C很常见。有些便宜IMU温度漂移大得离谱,飞着飞着就偏了。
市面上常见的IMU芯片:
| 型号 | 厂商 | 特点 | 我的评价 |
|---|---|---|---|
| MPU6050 | InvenSense | 便宜、资料多 | 入门可以,量产别用 |
| ICM-20602 | InvenSense | 低噪声、小封装 | 性价比之选 |
| BMI088 | Bosch | 温度稳定性好 | 工业级首选 |
| ADIS16470 | ADI | 军工级、带校准 | 贵,但省心 |
我建议,量产项目至少用ICM-20602起步。MPU6050虽然便宜,但它的温度漂移和噪声在量产中会让你头疼。我在一个项目中用过MPU6050,结果高温测试时姿态漂了5度,直接导致返工。
2.2.2 GPS
GPS选型其实没那么复杂。主要看两点:定位精度和更新率。
- 消费级:u-blox M8N系列,精度2.5米,更新率10Hz。够用。
- 工业级:u-blox F9系列,支持RTK,精度厘米级。适合测绘、农业无人机。
- 注意:GPS天线也很重要。我用过陶瓷天线和贴片天线,陶瓷天线抗干扰能力明显强一些。
经验之谈:GPS模块的冷启动时间是个容易被忽略的参数。有些模块冷启动要30秒以上,这在紧急情况下很要命。我一般选冷启动低于15秒的模块。
2.2.3 气压计
气压计用来测高度。飞控里一般用MS5611或BMP280。
- MS5611:精度高(±10cm),响应快。但贵一点。
- BMP280:便宜,但精度一般(±50cm),而且容易受气流干扰。
我个人习惯,室内飞控用BMP280就够了,室外飞控还是上MS5611靠谱。记得给气压计加海绵罩,不然风一吹高度就跳变。
2.2.4 磁力计
磁力计用来测航向。但说实话,它是个麻烦精。为什么?因为容易受干扰。
常见的磁力计有HMC5883L、IST8310、RM3100。我推荐IST8310,它抗干扰能力比HMC5883L强不少。
避坑指南:我曾经在项目里把磁力计放在电机旁边,结果电机一转动,航向直接偏了30度。后来把磁力计移到机臂末端,问题才解决。所以,布局时一定要远离大电流和磁性物质。
2.3 通信接口选型:UART、I2C、SPI、CAN
通信接口就像飞控的神经。选对了,数据传输又快又稳;选错了,丢包、延迟、干扰全来了。
2.3.1 UART
UART是最常用的接口。GPS、数传、遥控器接收机,基本都是UART。
- 优点:简单、通用、长距离传输
- 缺点:速度慢(一般115200bps)、只能点对点
- 注意:UART没有时钟同步,波特率必须匹配。我遇到过波特率设置错误导致通信失败的案例,排查了半天。
2.3.2 I2C
I2C常用于连接传感器。IMU、气压计、磁力计很多都是I2C接口。
- 优点:只需要两根线,可以挂多个设备
- 缺点:速度慢(标准模式100kHz)、抗干扰差
- 我的建议:飞控里尽量少用I2C。它的总线电容问题在长距离传输时很头疼。我一般只在板内短距离用I2C,超过10cm就换SPI。
2.3.3 SPI
SPI是我在飞控里最喜欢的接口。速度快、全双工、抗干扰好。
- 优点:速度可达几十MHz,适合高速传感器
- 缺点:需要4根线,占用IO多
- 注意:SPI的时钟极性和相位要配置对。我刚开始做飞控时,SPI读IMU数据全是0xFF,后来发现是CPOL和CPHA设反了。
2.3.4 CAN
CAN总线在工业飞控里越来越流行。它适合多节点通信,比如飞控和电调、飞控和地面站之间的数据交换。
- 优点:实时性好、抗干扰强、支持多主通信
- 缺点:需要CAN收发器,成本稍高
- 应用场景:大型无人机、工业级飞控
总结一下我的选型原则:
- 传感器通信:优先SPI,其次I2C
- 外设通信(GPS、数传):UART
- 多节点通信:CAN
- 能不用I2C就不用I2C,除非你只连一个设备且距离很近
2.4 知识体系总览
下面这张图,是我梳理的飞控硬件选型知识体系。你可以把它当作选型时的检查清单。
这张图把选型分成了三大块:主控、传感器、通信接口。你选型时,可以按这个框架一步步来。先定主控,再选传感器,最后搭通信方案。
最后说一句:硬件选型没有完美的方案,只有最适合你项目的方案。别追求参数上的极致,那往往是成本和无尽debug的深渊。先让飞控飞起来,再谈优化。