第二章 硬件平台搭建:核心器件选型与设计
好,咱们开始搭建飞控的“骨架”。
这一章,我带你搞定硬件选型。说白了,就是决定用哪颗“大脑”、哪些“感官”、以及用什么“肌肉”去执行命令。我在这个环节吃过不少亏,所以会多唠叨几句。
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 硬件连接框架图
下面这张图,展示了各个核心器件之间的连接关系。你看一眼,就能明白信号是怎么流动的。
这张图里,信息流是单向的:传感器把数据传给主控,主控算好后,把控制信号发给电调,电调再驱动电机。电源则给所有设备供电。
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这套组合,对于学习悬停系统来说,完全够用了。