前言
大四毕业后暑假没事做就花了一点DIY了一个四轴飞行器,是比较大的那种F450机架,不是那种PCB板做机架的小四轴,因为我也是从零基础开始做的四轴,现在就想把自己的过程写成博客分享在网上。下面我会从机械结构、主控和各传感器模块这些方面进行详细介绍。
器件清单
器件名称 | 淘宝链接 | 数量 |
普中T100开发板 | https://m.tb.cn/h.fz0zR1M | 1 |
BMP280气压计 | https://m.tb.cn/h.fyV4IDf | 1 |
F450机架动力套餐 | https://m.tb.cn/h.fz0C7tb | 1 |
HC08蓝牙模块 | https://m.tb.cn/h.fz0C7tb | 1 |
OV2640摄像头模块 | https://m.tb.cn/h.fBcwmab | 1 |
六轴角度传感器 | https://m.tb.cn/h.fBcDmUV | 1 |
WIFI模块 | https://m.tb.cn/h.fyVgWC4 | 1 |
1.8寸TFTOLED显示屏 | https://m.tb.cn/h.fz0zirx | 1 |
HC-SR04超声波测距模块 | https://m.tb.cn/h.Ua5l80Q?tk=gU4v2twHMcQ | 1 |
如果自己DIY大四轴的话,上述器件搭配按照我的链接购买应该是接近最低成本了。
F450动力套餐及电池等使用介绍
其中的F450动力套餐包含F450机架、1045桨叶一套加备用、电调x4、3S航模电池x1、电压报警器(BB响)、B3锂电池充电器x1,一套下来三百出头,其中B3锂电池充电器最好自己另买B6平衡充电器、因为航模电池很娇贵,不能过冲过放,B3充电器是很低端的,保险起见最好换成B6充电器或者更高端的。
航模电池一定不能过放,买来的电池一般只有出厂电量,一定要先充满再工作,一般3S航模电池只能工作十多分钟,一定要经常用BB响测电池电压,每节电池电压低于3.7V一定要充电,否则过放极易造成电池报废。航模电池过放有两种情况:一、航模电池的每块电池电压都接近于0V,此时还可以抢救一下,方法是用3.7V左右的电压、小电流给电池慢慢充电,将其电压充到3.7V以上,这时候一般就可以恢复功能,但是寿命和容量会大大折扣。二、航模电池中只有一块电池接近0V,其他电池正常,这种情况基本上就无法抢救了,可以自己小心地把坏的电池焊下来,其他电池继续串联使用。航模电池使用有一套口诀:最高4.2V,最低3.7V,长时间存放3.8V。
电调会有5V的稳压输出,这样就不用外加降压稳压模块给单片机和传感器等模块供电了。在第一次使用电调时需要对电调进行油门校准,即设置最小油门和最大油门,此时最小油门对应的PWM波一个周期内的高电平持续时间为1ms,最大油门对应的PWM波一个周期内的高电平持续时间为2ms,然后根据电调手册进行操作即可。我自己是写了电调校准的代码部分的,在使用的时候用手机蓝牙控制单片机进入电调校准模式即可实现一键油门校准。
桨叶会有正反桨之分,此套餐有的桨叶型号为“1045”,需要逆时针旋转;有的为“1045R”,需要顺时针旋转。注意不要接反,否则没有升力。
机械安装和自制调试架
在DIY之前一定要设计好机械结构,一套好的机械方案可以大大节省你的调试时间!!!重要的事情说一遍!!!接下来就是我的一些机械方面的心得:
1.尽量让你的整个四轴的重心在机架中间,如果发生一边偏沉会让你的PID参数调试变得困难,如果偏沉严重甚至你会无法调试得到合适的PID参数!
2.尽量把陀螺仪的位置安装在机架中心,因为陀螺仪对高频振动很敏感,当长时间处于高频震动环境下陀螺仪误差很大!把陀螺仪安装在中心可以让四个电机的振动抵消掉一部分。
3.最好给陀螺仪做好减震措施,比如在飞控下面垫上柔软的海绵,海绵可以降低震动的频率和幅度,让陀螺仪的数据基本不会产生漂移,此种方法亲测有效。也可以在淘宝上买飞控专用的减震垫板,我个人直接用的海绵,通过双面胶连接机架、海绵和飞控。
4.网上有专门的调试架,既可以调试平衡环也可以调试定高环,但是价格比较贵,两百左右。我是自己自制的调试架,用一根圆形的铁棍将机架架起来,两端固定好,这样可以调试平衡环。高度环(定高)在平衡环调试好以后再进行,用手握住机架下面即可,因为平衡环调试好以后一般不会发生侧翻,但是也要小心操作。
电路设计
我是在普中T100开发板的基础上画的PCB扩展板,软件用的国产硬件电路设计软件——立创EDA,因为要按照开发板的引脚分布画板子,所以引脚布局有些麻烦,最终画了四层板,尺寸在10cm*10cm以内(这样就可以白嫖嘉立创每个月的免费打板),下面是我画的原理图和PCB板。
板子把模块用到的引脚集成在一起、并且预留了5V和3.3V的电源扩展接口。使用的时候焊好排母,将模块和电调插入即可运行。
画原理图和PCB板时,里面的符号和PCB封装是按照元器件引脚自己做的 ,里面最麻烦的就是开发板的封装和原理图符号,因为开发板的引脚顺序和PCB和芯片的是不一样的,我只能根据开发板的引脚结构一个个对应(一百多个引脚)。
PS:因为疏忽忘记把扩展板上的PA9、PA10引脚和USB转TTL的相应引脚连上了,所以用的时候需要自己用焊锡把引脚连上,这四个引脚是相邻的,所以很简单。因为一开始没想用超声波测距模块来定高所以没画这一部分,后来用气压计定高时发现气压计测量误差相对较大,定高时出现上下飘移的现象,后来改用超声波定高,超声波测距模块用的WIFI的接口(串口),两者用杜邦线连接,后面有时间的话可能会改进PCB板。
另外,具体的焊接时里面的电容和降压模块可以不用接,因为开发板自带降压模块和滤波电容,我将它们的接口预留在板子上是因为有人的供电方式可能是单独外接电源供电(5V和3.7V),不用电调的BEC电源输出,这样的话这块板子不仅可以用作飞控板,也可以用作其他方面的学习。
一个成功的四轴飞行器的必备素养及功能实现
一个基本的四轴飞行器起码需要包含以下功能:可遥控、自平衡、自定高。
我自己DIY的这款飞行器的遥控功能是用手机遥控的,用的HC08蓝牙模块和手机相连,蓝牙配套软件用汇承的配套蓝牙APP,可以自定义按键名称及功能。自平衡功能用的正点原子的六轴IMU模块,输出当前结算后的姿态角和加速度、角速度等数据,然后用PID算法进行自平衡。定高功能有两种方式来实现:一是气压计,这也是我最开始设计的方式,但是实际操作发现气压计测得的高度误差较大,用来定高飞行器会上下漂移,但是高端的无人机都是用气压计做定高的并且效果很好,原因就是需要用气压计+IMU做数据融合算法实现高度的精确测量,这种算法我个人以前并未接触过,做起来很麻烦,由于时间原因我改用超声波定高。超声波测距离很准确,但是高度有限,我用的超声波传感器最大测量距离典型值为4.5m,在空旷地方最大能达到近7m,勉强够用。
PS:用超声波定高的话效果其实没有光流模块好,一般的光流模块不仅可以定高也可以定点,其不仅可以测量近地高度,也可以测量水平维度的偏移,加上PID算法可以让飞行器像木桩一样定在空中。当然其缺点也很明显,只能在一定高度内使用,一般在7m以内,如果在高空实现定点功能就需要气压计,IMU和GPS共同来实现。因为预期工作不够,并且只是个人业余的爱好DIY,所以本设计并没用GPS,如果以后有时间或许会将功能完善。
因为时间原因,此篇文章是以一个半成品的状态发布的,各模块具体的功能实现和核心代码没时间做介绍,此篇文章仅供各位作为入门者的总体方案参考即可。