2. 核心器件选型:MCU、IMU、气压计、磁力计

好,咱们正式开始选型。这一章很关键,说白了就是给飞控挑「大脑」和「感官」。选错了,后面画板子、调参数全是白费功夫。我这些年踩过的坑,不少就出在选型这一步。

2.1 MCU选型:STM32F4/F7/H7系列

MCU是飞控的核心,负责跑姿态解算、控制算法、处理各种传感器数据。我个人习惯,首选ST的STM32系列,生态成熟,资料多,出了问题也好查。

STM32F4系列:这是最经典的。F405、F427这些型号,主频168MHz,带FPU(浮点运算单元)。对于大多数DIY飞控和入门级成品飞控,完全够用。我记得2018年做第一款开源飞控时,用的就是F405,跑个500Hz的姿态更新率,稳稳的。

STM32F7系列:性能更强,主频能到216MHz。如果你要做高阶功能,比如光流、视觉定位、甚至简单的AI识别,F7更合适。但要注意,F7的功耗比F4高一点,而且对PCB布局要求也更高——高频信号容易串扰。

STM32H7系列:这是性能怪兽。主频480MHz起步,双精度FPU,带硬件JPEG编解码。说实话,对于常规FPV飞控,H7有点「杀鸡用牛刀」。但如果你要做工业级、或者需要同时处理多路高清图传数据,H7是唯一选择。我在一个测绘无人机项目里用过H743,那性能冗余,爽是爽,但画板子时差点没把我折腾死——BGA封装,手工焊接难度极大。

选型建议:

  • 入门/DIY:STM32F405RGT6(LQFP-64封装,好焊接)
  • 进阶/功能丰富:STM32F722RET6(性能与功耗平衡)
  • 工业/高性能:STM32H743VIT6(需要专业焊接设备)

避坑指南:我曾经选了一颗F7芯片,结果发现它的ADC采样速率不够快,导致电流检测延迟太大。后来不得不外挂一颗独立的ADC芯片。所以,选MCU时,别光看主频,外设资源(ADC数量、定时器、DMA通道)一定要提前列清楚。

2.2 IMU选型:MPU6000 / ICM20602 / ICM42688

IMU是飞控的「内耳」,负责感知姿态和加速度。选IMU,核心看三点:噪声、温漂、抗振动。

MPU6000:老将了,2012年出来的产品,但至今仍在大量使用。为什么?因为它太稳定了。SPI接口(注意,不是I2C,SPI更快更可靠),内置DMP(数字运动处理器),可以分担MCU的运算压力。我最早做飞控时,就是被MPU6000的温漂坑过——冬天飞和夏天飞,零偏能差出好几度。后来加了温补算法才解决。

ICM20602:InvenSense(现属TDK)的升级款。体积更小(4x4mm),噪声比MPU6000低约30%。但有个坑:它的SPI时序要求更严格,布线稍长就容易通信失败。我有个朋友,画板子时把IMU放得太远,结果飞起来数据断断续续,查了三天才发现是走线太长导致信号衰减。

ICM42688:这是目前消费级飞控的「顶配」。噪声极低,支持6kHz输出速率,还内置了可编程数字滤波器。说白了,就是硬件帮你把数据预处理好了,MCU直接拿过来用就行。但价格贵,一颗要30多块,而且货源不稳定——前两年缺货时,炒到80块一颗。

型号 噪声(μg/√Hz) 输出速率 封装 价格(约)
MPU6000 ~300 1kHz QFN-24 ¥8-12
ICM20602 ~200 4kHz QFN-24 ¥15-20
ICM42688 ~120 6kHz QFN-28 ¥30-40

我的习惯:如果做低成本飞控,用MPU6000,便宜又皮实。如果做竞速FPV,用ICM42688,响应快、延迟低。ICM20602嘛,适合对体积有要求的微型飞控。

2.3 气压计选型:MS5611 / BMP280

气压计用来测高度。FPV飞控里,它主要辅助定高和返航。选气压计,核心看分辨率和更新率。

MS5611:这是飞控界的「标准答案」。分辨率10cm(理论上),更新率能到100Hz。它内部有温度补偿,温漂控制得很好。我做过对比测试,MS5611在-10°C到50°C范围内,高度漂移不超过50cm。但有个缺点:它需要外接一个电容(4.7μF),而且对供电纹波敏感——纹波超过50mV,数据就开始跳。

BMP280:博世的产品,便宜(3-5块),体积小。但说实话,我不太推荐用在飞控上。为什么?它的更新率最高只有83Hz,而且噪声大,悬停时高度会上下抖动。我试过用BMP280做定高,结果飞机像「跳跳机」一样,一上一下的。后来换了MS5611,问题立刻解决。

选型结论:别纠结,直接上MS5611。虽然贵几块钱,但省心。BMP280更适合做气象站或者室内定高(无风环境)。

避坑指南:我曾经把MS5611放在电调旁边,结果一推油门,高度数据就乱跳。后来发现是电调的电磁干扰影响了气压计。解决办法:把气压计放在飞控板边缘,远离大电流走线,最好加个金属屏蔽罩。

2.4 磁力计选型:IST8310 / HMC5883L

磁力计就是电子罗盘,用来测航向。没有它,飞控在GPS模式下会「迷路」——因为GPS只能给位置,不能给朝向。

HMC5883L:霍尼韦尔的老产品,I2C接口,12位分辨率。说实话,现在不太推荐了。为什么?它的抗干扰能力太差。我在城市里飞,经常被地下的钢筋、路边的铁栏杆干扰,航向能偏20度。而且它有个「死区」——当磁力计平面与地磁场方向垂直时,数据会完全失效。

IST8310:这是目前主流飞控(如Pixhawk)的标配。16位分辨率,噪声低,而且内置了自动校准算法。我实测过,在强磁场环境下(比如靠近电机),IST8310的误差能控制在3度以内,而HMC5883L可能已经偏了10度。但IST8310也有个麻烦:它需要外部中断引脚来触发数据就绪,对MCU的IO口有要求。

型号 分辨率 接口 抗干扰 价格
HMC5883L 12位 I2C ¥5-8
IST8310 16位 I2C+INT ¥15-20

我的建议:直接上IST8310。虽然贵一点,但省去了后期调参的麻烦。如果你非要用HMC5883L,记得在飞控安装时,远离电机和电源线,至少保持5cm距离。

嗯,核心器件选型就这些。你想想看,选对了芯片,后面画原理图、Layout都会顺很多。下一章,咱们开始画原理图符号和封装——这可是个细致活,别着急,慢慢来。