第二章 硬件平台搭建:核心器件选型与设计

好,咱们开始搭建飞控的“骨架”。

这一章,我带你搞定硬件选型。说白了,就是决定用哪颗“大脑”、哪些“感官”、以及用什么“肌肉”去执行命令。我在这个环节吃过不少亏,所以会多唠叨几句。

2.1 主控芯片选型:为什么是STM32F4?

飞控的大脑,我选STM32F4系列。为什么?

你想想看,四轴飞行器需要实时处理传感器数据、运行姿态解算算法、还要输出PWM控制电机。这活儿,一般的单片机真干不了。

STM32F4的优势很明显:

  • 性能够用:ARM Cortex-M4内核,带FPU(浮点运算单元)。姿态解算里全是三角函数和矩阵运算,FPU能帮你省下大量时间。我早期用STM32F1做过一版,解算一次姿态要几百微秒,换成F4后直接降到几十微秒。
  • 外设丰富:多个SPI、I2C、定时器。MPU6050用I2C,MS5611用SPI,电调信号用定时器输出PWM。一个芯片全搞定。
  • 生态成熟:资料多,库函数全。遇到问题,网上随便一搜就有答案。

具体型号推荐:STM32F405RGT6

1MB Flash,192KB RAM,主频168MHz。对于四轴飞控来说,这个配置属于“杀鸡用牛刀”,但留点余量总是好的。我习惯用这个型号,因为它的LQFP-64封装,手工焊接也方便。

我的小习惯:选型时,我会额外关注芯片的“定时器数量”。飞控至少需要4路PWM输出(控制4个电机),如果你还想加云台或舵机,那定时器资源就得提前算好。STM32F4有14个定时器,够你折腾的。

2.2 传感器选型:MPU6050 + MS5611

飞控的“眼睛”和“耳朵”,我选MPU6050和MS5611。这套组合,在DIY圈子里几乎是标配。

2.2.1 MPU6050:六轴惯性测量单元

MPU6050集成了三轴陀螺仪和三轴加速度计。它能告诉你:

  • 陀螺仪:飞机转得有多快(角速度)。
  • 加速度计:飞机朝哪个方向加速(包括重力)。

这两个数据一结合,就能算出飞机的姿态角(俯仰、横滚、偏航)。

注意! MPU6050的I2C地址是0x68(AD0引脚接地时)。如果你把AD0接高电平,地址会变成0x69。我刚开始做的时候,忘了检查这个,结果I2C死活读不到数据。排查了整整一下午,才发现是地址搞错了。

我个人习惯用I2C接口连接MPU6050,因为接线简单。但如果你对实时性要求极高,也可以用SPI接口(需要额外配置)。

2.2.2 MS5611:高精度气压计

MS5611用来测量气压,进而推算高度。它精度很高,分辨率能达到10厘米级别。

为什么需要它?因为单纯靠加速度计积分算高度,误差会随时间累积。气压计能提供一个绝对高度参考,帮你“校准”这个误差。

关键参数

  • 测量范围:10 mbar 到 1200 mbar
  • 分辨率:0.012 mbar(约10厘米高度变化)
  • 接口:SPI / I2C(我推荐用SPI,速度更快)

我曾经在一个项目中,把MS5611直接贴在电机下面。结果电机一转动,气流冲击导致气压读数剧烈跳动,高度数据完全没法用。后来我把传感器移到机架中心,用海绵垫减震,问题才解决。

2.3 电机与电调选型:动力系统的核心

电机和电调,决定了你的飞机能不能飞起来,以及飞得稳不稳。

2.3.1 无刷电机选型

四轴飞行器用无刷电机。选型时,主要看三个参数:

  • KV值:每伏特电压下电机的空载转速。KV值越高,转速越快,但扭矩越小。
  • 尺寸:比如2205、2212等。前两位是定子直径(mm),后两位是定子高度(mm)。
  • 功率:决定了你能用多大的桨叶。
参数 推荐值 说明
KV值 2300 - 2600 适合5-6寸桨叶,悬停效率高
尺寸 2205 或 2207 主流选择,重量和推力平衡好
轴径 3.17mm (1/8英寸) 标准桨叶适配

我的经验:新手选电机,我建议从2205/2300KV开始。这个配置比较“万金油”,既能飞得稳,也能做一些简单的特技动作。别一上来就选大KV值的电机,飞起来太灵敏,反而不好控制。

2.3.2 电调选型

电调(ESC)负责把飞控的PWM信号,转换成驱动电机的三相交流电。选电调时,注意以下几点:

  • 持续电流:至少比电机的最大工作电流大20%。比如电机最大电流20A,电调就选30A的。
  • 刷新频率:支持500Hz以上的PWM信号。飞控的PID控制环通常运行在200-500Hz,电调得跟得上。
  • 固件:推荐BLHeli_S或BLHeli_32。这些固件响应快,而且支持Dshot数字协议(比传统PWM更精准)。

避坑指南:我曾经买过一批便宜的电调,标称30A,结果飞了不到两分钟就冒烟了。拆开一看,里面的MOS管用的是次品。所以,电调这东西,别贪便宜。买个靠谱的品牌,比如T-Motor、Hobbywing,虽然贵点,但至少不会在空中“掉链子”。

2.4 硬件连接框架图

下面这张图,展示了各个核心器件之间的连接关系。你看一眼,就能明白信号是怎么流动的。

STM32F405 主控芯片 (大脑) MPU6050 六轴IMU (姿态感知) MS5611 气压计 (高度测量) 电调 1 电调 2 电调 3 电调 4 电机 1-4 I2C (SCL/SDA) SPI (CS/SCK/MISO/MOSI) PWM / Dshot 信号 三相交流电 锂电池 (3S/4S) 电源 (VCC/GND)

这张图里,信息流是单向的:传感器把数据传给主控,主控算好后,把控制信号发给电调,电调再驱动电机。电源则给所有设备供电。

2.5 硬件选型总结清单

最后,我整理了一份清单。你照着买,基本不会出错。

  • 主控:STM32F405RGT6 (LQFP-64封装)
  • IMU:MPU6050 (I2C接口,地址0x68)
  • 气压计:MS5611 (SPI接口)
  • 电机:2205 / 2300KV 无刷电机 x4
  • 电调:30A / BLHeli_S固件 x4
  • 桨叶:5045 或 5046 三叶桨
  • 电池:3S 2200mAh 或 4S 1500mAh 锂电池

最后一句:硬件选型没有绝对的“最佳”,只有“最适合”。我的推荐是基于“稳定、易调试、成本适中”这三个原则。你如果预算充足,可以上更好的传感器(比如ICM-20602),但MPU6050+MS5611这套组合,对于学习悬停系统来说,完全够用了。


专注资料整理