
F405飞控(含1、2、3代),欢迎讨论!
简介
安装孔径:30.5MM*30.5MM φ4MM 主控:STM32F405RGT6 陀螺仪:MPU6500/MPU6000/ICM42688 气压计:BMP280/DPS310 黑匣子:16/32MB
简介:安装孔径:30.5MM*30.5MM φ4MM 主控:STM32F405RGT6 陀螺仪:MPU6500/MPU6000/ICM42688 气压计:BMP280/DPS310 黑匣子:16/32MB开源协议
:CC BY-NC 3.0
(未经作者授权,禁止转载)描述
一个自制的F4飞控,采用STM32F405 MCU,并基于开源的固件设计。
【Ⅰ&Ⅱ代区别请见下文【2-4 Ⅰ&Ⅱ代对比】】
时刻提醒自己初心:开源,降低新手入坑经济成本。
复刻时问题较多,约90~95%失败案例来自于焊接有误,约5%来自于元器件损坏。
----------------------------------------------【Ⅰ代飞控】----------------------------------------------
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
【1-1 V1代飞控简介】
详细设计与开源借鉴: 飞控设计主要借鉴了MATEKF405CTR开源固件,但根据成本和可用性将陀螺仪更换为MPU6500,并对原理图和PCB进行了详细的分析与优化。
多功能硬件配置: 该飞控具备五路UART串口、OSD(AT7456E)、气压计(BMP280)、SBUS反向电路、USB Type-C接口、2S-9S宽电压供电支持,以及多种外设接口(如GPS、LED、蜂鸣器等),功能全面。
制作过程与挑战: 从PCB四层板设计、手工焊接过程(包括锡桥处理、元器件布局考虑)到固件烧录和CLI配置的全过程,并提及了焊接时的挑战和技巧。
成功试飞与效果反馈: 经过详细的配置和校准,飞控成功试飞,飞行手感虽与最新固件略有差距,但总体效果尚可,并展示了实际飞行片段。
优化建议与未来规划: 对现有设计提出了多项优化建议,如晶振和二极管封装的缩小,增设9V BEC,以及黑匣子存储方式的成本优化,并继续迭代F4飞控,并着手设计F7飞控,持续开源分享。
【1-2 快问快答】
1. 问: 为什么选择MPU6500而不是官方板子常用的MPU6000陀螺仪?
答: 选择MPU6500主要是因为其成本更低且与MPU6000在封装和引脚上兼容,可以在不大幅修改设计的情况下降低硬件成本。
2. 问: 自制飞控在焊接和配置过程中有哪些常见的难点或注意事项?
答: 焊接难点包括防止锡桥(尤其是小尺寸元器件)、使用合适的烙铁头(如刀头)、以及确保焊盘无虚焊。配置方面,需要根据自己的硬件修改CLI命令中的引脚定义(如LED、蜂鸣器、PWM输出),并进行加速度计校准以确保飞行灵敏度。
3. 问: 未来对这个飞控项目有哪些改进计划,以及会开源哪些资料?
答: 计划优化晶振和电源保护二极管的封装尺寸,将成本较高的SD卡黑匣子替换为更经济的Flash存储,并进一步迭代优化F4飞控。所有固件、CLI命令、原理图、PCB文件等都会发布到立创开源广场和GitHub上供大家参考和复刻。
【1-3 名词速查】
MCU (Microcontroller Unit): 微控制器单元,是飞控的核心处理器,这里使用的是STM32F405RGT6。
MPU6500: 一款六轴MEMS惯性传感器,集成了三轴陀螺仪和三轴加速度计,用于飞控姿态感知。
OSD (On-Screen Display): 屏幕显示系统,用于在视频传输中叠加飞行数据到屏幕上,这里使用的是AT7456芯片。
CLI (Command Line Interface): 命令行界面,飞控固件提供的一种文本交互方式,用于配置飞控的各项参数和引脚定义。
DFU (Device Firmware Upgrade) Mode: 设备固件升级模式,一种特殊的启动模式,允许用户通过USB接口向MCU烧录固件。
SPI (Serial Peripheral Interface): 串行外设接口,一种同步串行数据传输标准,常用于微控制器与传感器、存储器等外设之间的高速通信。
UART (Universal Asynchronous Receiver/Transmitter): 通用异步收发传输器,一种异步串行通信接口,常用于微控制器与GPS、接收机等设备通信。
【1-4 项目总览】
设计依据与核心器件
基于MATEKF405CTR固件进行飞控设计,MCU选用STM32F405RGT6,陀螺仪为MPU6500,气压计BMP280,OSD芯片AT7456。详细分析了参照板子的引脚定义、CLI配置,为后续原理图绘制打下基础。
原理图绘制详解
围绕MCU展开原理图设计,包括小系统、启动模式设置。详细介绍了MPU6500、蜂鸣器、接收机(S.BUS反向电路)、BMP280(I2C上拉修正)、OSD以及USB和电池电压ADC分压等外设电路的设计细节。
电源管理与接口设计
飞控的电源路径,采用TPS5450DDR支持2S-9S电池输入,通过DCDC转换为5V,并分出3.3V供电给MCU、陀螺仪、OSD等。USB使用Type-C接口方便正反插。详细介绍了四合一电调、2812LED、摄像头、图传、接收机、GPS以及ST-Link下载接口等端子的布局和功能。
PCB布局与3D检视
PCB设计为四层板,顶层和底层主要为信号层,第二层少量信号和良好接地,第三层主要走电源。
焊接过程与经验分享
手工焊接PCB的实际过程,例如元器件距离过近导致连锡、烙铁头损坏等。应当注意使用合适工具(如刀头烙铁)的重要性,并建议将陀螺仪、气压计等精密芯片放到最后焊接,避免连锡和提高焊接质量。
实物展示与使用指导(见B站视频自制F4飞控成功试飞!)
展示了焊接完成的飞控实物,介绍了各接口的功能和布局。详细指导了固件烧录过程,通过ST-Link烧录4.0.4版本的固件。随后演示了如何通过USB连接飞控,导入CLI配置文件进行端口、LED和电机等参数设置,并校准加速度计以确保传感器灵敏度。
试飞效果与电机调试
展示了飞控的试飞效果,尽管固件版本稍旧,但手感依然不错。重点讲解了电机转向的调试方法,当电机转动顺序不正确时,需要在CLI中修改PWM资源映射,以匹配实际的电机顺序,确保飞控正常工作。
总结与未来展望
总结了飞控的主要参数(尺寸、重量、输入电压等)和接口配置。提出后续优化计划,包括更换更小的陶瓷晶振、使用更小封装的二极管以及将昂贵的黑匣子芯片替换为更经济的Flash存储,以进一步降低成本。承诺将开源所有设计资料,并计划开发F7系列飞控,欢迎大家复刻、讨论和提出改进意见。
更多详情参见附件视频及自制F4飞控成功试飞!
GitHub地址参见GitHub仓库
----------------------------------------------【Ⅱ代飞控】----------------------------------------------
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
【2-1 硬件配置】MCU 主控:STM32F405RGT6GYRO 陀螺仪:MPU6500/MPU6000+ICM24688 双冗余陀螺仪
BARO 气压计:BMP280
OSD 字符叠加:AT7456E
FLASH 黑匣子:W25Q256/W25Q128 容量大小自定义配置(二者可替代)
2路BEC:5V+9V 增设9V BEC(支持DJI)
【2-2 固件配置】
配置1:BetaFlight_AOCODAF405V2MPU6500_4.3.2(建议使用该版本)
(1)地面站测试:各项传感器测试均通过;
(2)上机测试:测试可正常飞行机动。
配置2:BetaFlight_AOCODAF405V2MPU6500_4.5.0(推荐尝试)
(1)地面站测试:OSD“字体管理器”显示灰色,其它指标正常;
(2)上机测试:未测试。
复刻时会出现【打板->采购->焊接->固件烧录->调试】一系列阶段性问题,在此我写出了两个版本的《复刻及使用指导手册_F405飞控VX》供大家参考,以尽可能的帮助大家成功复刻该飞控,但由于篇幅过多,在此不易撰写,大家可移步交流关注方式相互探讨,我将尽可能的给你回复问题解决。同时也虚心接受大家的反馈和支持!!!
【2-3 元器件优化】
| 被优化对象 | 优化对象 | 优化方式 | 优化背景 |
| SH1.0 排插 SH1.0 排插 |
SH1.0 排插 | 简配 |
降低采购成本 提升板面布局空间 |
| 焊盘 | 替代 | ||
| 钽电容 | MLCC电容 | 替代 | 降低成本+方案可行 |
| 晶振 SMD5032_2P_27MHz | 晶振SMD2016_4P_27MHz | 替代 | 降低成本+提升板面走线空间 |
| TPS5450DDAR |
SY8303 | 替代 | 降低成本+封装小巧+输入电压范围提升+输出电流足够+提升板面走线空间 |
| 增设 | 增设9V输出(支持DJI) | ||
| ST-Link 接口 | / | 删除 | 降低成本+提升板面走线空间 |
【2-4 Ⅰ&Ⅱ代对比】
| 名称 | Ⅰ代 | Ⅱ代 | 备注 |
| MCU 主控 | STM32F405RGT6 | STM32F405RGT6 | / |
| OSD 字符叠加 | AT7456E | AT7456E | / |
| BARO 气压计 | BMP270 | BMP270 | / |
| GYRO 陀螺仪 | MPU6500 或 MPU6000 |
GYRO1:MPU6500 或 MPU6000 GYRO2:ICM42688 |
双冗余 |
| FLASH 黑匣子 | W25Q128 (16MB) |
W25Q256(32MB) 或 W25Q128(16MB) |
可自定义替换 |
| OSD 晶振 | SMD5032 | SMD2016 | 降本增效 |
| 外设端口 | SH1.0 卧贴排插 | 焊盘 | 降本增效 |
| UART串口 | 5路 | 6路 | 提升(需CLI配置) |
| 电机 | 7路 | 8路 | 提升(需CLI配置) |
| I2C 罗盘 | 不支持 | 支持 | (需CLI配置) |
| LED_STRIP 流水灯 | 无法使用 | 可正常使用 | / |
| DJI数传 | 不支持 | 支持 | / |
| 供电范围 | DC 5.5~36V(8S) | DC 4.5~40V(9S) | 供电范围提升 |
| DC DC输出电流 | 5A | 3A | 足够 |
| ADC_VBAT | 不正常 | 正常 | / |
| USB_Detect | 判断顺序有误 | 正常 | / |
| 固件 | MATEKF405CTR 4.0.4 | AOCODAF405V2MPU6500 4.3.2 | 升级 |
| MATEKF405CTR 4.3.0 | AOCODAF405V2MPU6500 4.5.0 | 待系统验证 |
【2-5 复用端口解析】
| 复用端口 | 默认功能 | 复用功能 | 复用注意 |
| PC6 | GYRO2_EXTI | UART6 | GYRO2失效;UART6生效 |
| PC7 | GYRO2_CS | ||
| PB9 | BUZZER | MOTOR6 |
蜂鸣器失效;M6生效 |
| PB10 | LED_STRIP | MOTOR7 |
LED流水灯失效;M7 或 I2C_SCL生效 |
| I2C_SCL | |||
| PB11 | 空闲 | MOTOR8 | M8 或 I2C_SDA生效 |
| I2C_SDA |
【2-6 复刻注意】
Note.1:导入工程后请不要再次“从原理图导入变更”,请在不影响网络的情况下打过孔直接导出Gerber文件!DRC检查出的“网表错误”请不要在意(详见)!
Note.2:如需参考具体《复刻及使用指导手册_F405飞控VX》请详见文底交流关注方式或打开直接下载。
Note.3:导入工程如遇“网表错误”,可自定义DRC检查其它有无报错,没有可继续导出,具体自定义DRC设置如下图,请取消勾选第124项“原理图网表”


----------------------------------------------【III代飞控】----------------------------------------------
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
【3-1 元器件优化】
- 原BARO气压计BMP280由DPS310代替,价格更低、精度更高;
【3-2 接口优化】
- 在V2的基础上,板子底层增加六个SH1.0接口,价格低廉、更方便;
【3-3 黑匣子优化】
- 在V2板载Flash黑匣子的基础上,新增SD卡槽,价格低廉、黑匣子容量可自由支配;
【3-4 DCDC优化】
- 原V2中,DCDC后的滤波电容设置于SS34之后,做调整将滤波电容设置于SS34之后;
- 原只有1个J33A和1个SS34,现新增1个J33A和1个SS34更为保险和安全。
【3-5 固件不变】
- 可直接适配V2的固件,无需额外变更。
【3-6 Ⅱ&III代对比】
| 名称 | Ⅱ代 | III代 |
| BARO 气压计 | BMP280 | DPS310 |
| 外设端口 | 焊盘 | 焊盘+SH1.0 卧贴排插 |
| FLASH 黑匣子 |
W25Q256(32MB)或 W25Q128(16MB) |
板载FLASh+SD卡槽 |
更多详情参见附件视频
GitHub地址参见(尚未引出)
附件同步下载链接(和附件文件一致)打开直接下载
交流群加入方式交流关注方式
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。


评论