3. 硬件选型与飞控板配置:Pixhawk系列对比、Cube系列选型、自定义硬件移植、Bootloader烧录

硬件选型这事儿,说简单也简单,说坑也真坑。我见过太多人拿着淘宝上几十块的“Pixhawk兼容板”来问我为什么飞不起来。嗯,咱们今天就把这事儿聊透。

3.1 Pixhawk系列:别被名字骗了

Pixhawk这个名字,现在已经被用滥了。真正的原版只有几个型号,其他的都是“兼容版”或者“魔改版”。

型号 处理器 IMU RAM 适合场景
Pixhawk 1 (原版) STM32F427 MPU6000 + LSM303D 256KB 入门学习、小型无人机
Pixhawk 2.1 (Cube Black) STM32F427 ICM-20608 + MPU9250 256KB 工业应用、科研
Pixhawk 4 STM32F765 ICM-20689 + BMI055 512KB 高性能、多传感器融合
Pixhawk 5X STM32F765 ICM-20649 + BMI088 2MB 高端科研、自动驾驶
避坑指南: 我曾经遇到过客户用“Pixhawk Lite”飞六轴,结果空中掉程序。拆开一看,IMU是翻新件,陀螺仪温漂大到离谱。记住:飞控板上的IMU,一定要买原装正品,尤其是MPU6000和ICM系列,假货太多。

3.2 Cube系列:模块化的正确打开方式

Cube系列,说白了就是Pixhawk的“工业升级版”。我个人习惯用Cube Orange做主力飞控,原因很简单:它把IMU和处理器做成了独立模块,坏了换一个就行,不用整板报废。

  • Cube Black:经典款,稳定可靠,适合大多数场景
  • Cube Orange:双IMU冗余,带RTK接口,适合高精度应用
  • Cube Yellow:性价比之选,适合教育和小型项目
  • Cube Purple:最新款,带AI协处理器,适合复杂任务
我的经验: 选Cube系列时,注意看“载板”版本。v1.0的载板没有CAN接口,v2.0才有。如果你要用DroneCAN外设,千万别买错。

3.3 自定义硬件移植:从零开始

有时候,市面上的飞控板满足不了你的需求。比如你要做超小型无人机,或者要集成特殊传感器。这时候就得自己画板子,然后移植ArduPilot。

移植的核心步骤,其实就这几步:

  1. 选主控芯片:STM32F4/F7/H7系列都行,但要注意RAM和Flash够不够
  2. 配IMU:SPI接口的IMU(如ICM-20602)比I2C的稳定得多
  3. 写BoardConfig:定义引脚、外设、时钟
  4. 编译测试:用make <board_name>编译,然后烧录
// 一个简单的BoardConfig示例
// 文件路径:libraries/AP_HAL_ChibiOS/hwdef/MyCustomBoard/hwdef.dat

# MCU
MCU STM32F427xx

# 晶振
OSCILLATOR_HSE 8000

# IMU
SPIDEV imu1 SPI1 DEVID1 MPU6000_CS 0 1 1 0
SPIDEV imu2 SPI2 DEVID2 ICM-20602_CS 0 1 1 0

# 串口
UART1 USART1 PA9 PA10
UART2 USART2 PA2 PA3

# LED
GPIO(LED_BOOTLOADER, PA0, OUTPUT, HIGH)
关键点: 移植时最容易出问题的是“时钟配置”。我见过有人把HSE配成12MHz,结果系统时钟跑飞了。建议直接用CubeMX生成基础配置,再手动调整。

3.4 Bootloader烧录:最后一道防线

Bootloader,说白了就是飞控板的“开机引导程序”。没有它,你连固件都刷不进去。ArduPilot官方推荐用dfu-util或者OpenOCD烧录。

烧录步骤其实不复杂:

  • 进入DFU模式:按住Boot按钮,再上电
  • 烧录Bootloader:dfu-util -a 0 -s 0x08000000:leave -D bl.bin
  • 验证:重新上电,看LED是否正常闪烁
我曾经踩过的坑: 有一次烧录Bootloader时,忘记擦除整个Flash,结果旧数据和新Bootloader冲突,飞控板变砖。后来用ST-Link强制擦除才救回来。记住:烧录前一定要dfu-util -a 0 -s 0x08000000:mass-erase:force -D bl.bin。

3.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你想想看,从选型到移植,再到烧录,每一步都有坑。

硬件选型与飞控板配置知识体系 硬件选型 Pixhawk系列 Cube系列 自定义移植 Bootloader 原版 vs 兼容版 载板版本选择 BoardConfig DFU模式 核心原则 选型看场景,移植看时钟,烧录看擦除 IMU必须原装,Bootloader必须验证

3.6 实战建议

最后,给你几个实在的建议:

  • 新手别碰自定义硬件:先买一块Cube Orange或者Pixhawk 4,把基础跑通再说
  • Bootloader一定要备份:烧录前,先读出来存一份。万一变砖,还能救
  • IMU选型看温漂:ICM-20602的温漂比MPU6000小,但价格贵一倍。看预算来
  • 载板上的接口:CAN、UART、I2C,能多留就多留。后期加外设时你就知道了
我的习惯: 每次拿到新飞控板,第一件事就是烧录最新版Bootloader,然后跑一遍hwtest。这样能提前发现硬件问题,而不是等到上天了才炸。