这里将介绍Amelia的硬件选型和设计过程。本文主要内容:
友情提示:由于懒、电路板空间有限等原因,许多元件以及焊盘的丝印没有标出,焊接时请劳驾对照PCB文件进行确定。
功能构思
主要功能
Amelia的设计初衷是实现一个“能用”的四旋翼飞控,因为是利用业余时间进行Amelia的开发,而且目前为止是凭借一己之力,所以没有足够的精力研究如何实现各种商品飞控复杂的功能。截止撰写本文时,已经实现的功能有:
- 自稳飞行模式
- 运动飞行模式(穿越机模式)
未来可能继续增加的功能:
- 定点模式
- 自动起降
- 航点飞行
- 自主避障
遥控器
Amelia默认使用四通道及四通道以上的航模遥控器。Amelia没有使用蓝牙连接手机或电脑进行遥控,主要是考虑到使用专用的航模遥控器将大大提高飞行的操控性和安全性。当然,也可以发挥想象力自己开发使用蓝牙进行遥控。Amelia目前只支持PWM接收机,未来可能会支持PPM接收机。
拓展能力
考虑到Amelia作为一个可以进行二次开发的开源飞控,硬件拓展能力显得尤为重要。因此Amelia采取了电子积木设计,将飞控电路分割为多个功能模块,这样利于按照自己的想法加入新的模块。同时Amelia的传感器 I/O拓展模块预置了多种I/O资源,包括:
- 两个USART串口,可用于调试、地面站数据传输、连接GPS模块。
- 一个软件IIC接口,可用于连接IIC设备或作为GPIO使用。
- 六个GPIO,部分可用于AD / DA,可作为电量传感器或作为其他传感器的接口。
- 3.3V和5V电源接口,可为拓展设备供电。
体积
Amelia体积为 6X4X3cm,可以轻松安装于250及以上机架。
电调
Amelia的电调模块集成了四个好盈乐天BLHeli 20A电调。搭配合适电机最大可适配450机架,关于机架与电机适配问题请自行搜索。
硬件选型
主控芯片
Amelia的主控芯片采用STM32F407VGT6,价格适中,STMF4系列芯片集成了单精度浮点运算单元(FPU),考虑到飞控程序中大量进行浮点运算,FPU的使用将大大提高飞控的性能。同时考虑到飞控需要使用硬件资源较多(四路PWM信号产生,四路PWM信号读取,三个USRAT串口,两个IIC接口,六个GPIO)还需要保持小体积,STM32F407VGT6拥有充足的硬件资源同时还保持了较小的封装。目前主控芯片配置如下:
- 晶振:8MHz
- 时钟频率:168MHz
- FPU:开启
跟多配置信息请参阅代码。
协处理器
Amelia的协处理器用于调试和程序下载,采用了STM32F103C8T6芯片,烧写J-Link固件后即可使用。固件以及烧写教程请参阅后续文章。
陀螺仪
陀螺仪是用于测量加速度和角速度的传感器,通过测量到的加速度和角速度推算飞行器的姿态,从而进姿态的控制和稳定。Amelia采用了高性价比的MPU6050 加速度 / 角速度传感器,MPU6050自带一个“数字运动处理器”(DMP)能够直接得到计算好的姿态数据,但是由于DMP的稳定读取速度只能达到50Hz左右,故使用主控芯片对飞行器姿态进行计算。MPU6050芯片位于传感器模块上搭载的GY-86传感器模块中,GY-86模块还集成有气压计和电子罗盘,若想降低成本可使用只集成有MPU6050芯片的其他版本传感器模块。GY-86为下图中蓝色小电路板。
蓝牙模块
不算最便宜但很好用的HC-05蓝牙透传模块,默认为从机模式 波特率9600。可以通过AT指令更改传输模式和波特率。关于AT指令更改HC-05设置请自行搜索。焊盘定义参见下图,来源见水印。
电调
Amelia使用好盈乐天BLHeli 20A电调,对于大部分四旋翼飞行器绰绰有余,除非你想将Amelia用于轴距450以上四旋翼飞行器,电调模块都不需要更换。当然,你也可以自己设计新的电调模块以满足个人要求。关于Amelia电调焊接的说明请参见后续文章。
硬件设计
Amelia的电路板使用Altium Designer 2017绘制,你也可以将Amelia的PCB文件转移到其他设计软件,具体方法本文不做介绍。你可以将Amelia的PCB文件发给工厂加工或者自己绘制改进。这里还有几个值得注意的细节:
丝印
正如之前提示,Amelia的PCB文件中有不少元件以及焊盘的丝印没有绘制,这会给电路组装工作带来不便,电路具体标示请在设计软件中自行查找,我也会争取尽快添加必要的丝印并更新PCB文件。
BOM表
我已经整理出Amelia的BOM表并随PCB一起公布,这里需要注意几个特殊零件:
- 电路板隔离柱使用的是M3直径尼龙柱,长度为5mm,分为双母和一公一母,配合M3尼龙螺丝。
- 电路板间电气连接使用1.27mm间距贴片双排母座(塑高4.3mm)和1.27mm间距贴片双排针。
- 接收机连接插头使用JST SH 1.00mm 10PIN接线端子,请购买配套插座与插头。
最后
写这个系列文章的目的是为了方便大家了解Amelia,同时为想自己制作飞控的朋友提供参考。
Amelia的代码已经上传GitHub,Clone整个Project到本地,用Keil uVision 5打开USER文件夹下的Amelia.uvprojx文件即可开始编辑和编译。其他设计资料请访问百度网盘 密码: wt38。希望大家能够顺利地制作出自己的四旋翼飞行器,欢迎大家提出宝贵的意见和建议或对Amelia的代码和硬件设计进行改进。
声明:Amelia飞控的代码、PCB文件以及本文基于CC知识共享协议 知识共享署名-相同方式共享 4.0 国际许可协议 发布。
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。