前言
上图是《三傻大闹宝莱坞》中的片段,笔者初中的时候看到这个电影对这个四轴飞行器有着极大的兴趣,但因为当时经费的问题,在开发了一般没有自稳的迷你小四轴以后就不了了知了。
Multiwii Copter
Multiwii是控制多旋翼航模的开源固件,Multiwii最初由法国航模爱好者Alex创立,用于控制他自己做的三轴飞行器。后经全世界各大高手改造扩展,现在Multiwii不仅仅支持三轴飞行器、四轴、六轴等多轴系列,还支持固定翼和直升机等航模。功能强大而且简单易用,其支持的传感器类型极为丰富,而且支持十分广泛的外部设备和飞行模式,这让Multiwii飞控固件发展为国外最受欢迎的多轴开源固件之一。同时Multiwii也有缺点,与APM、海盗等其他开源固件相比,Multiwii最大的不足就是目前还不支持地面站。
- 官网地址:https://www.multiwii.com/
- Multiwii各版本程序下载地址:https://code.google.com/p/multiwii/downloads/list
- Arduino软件下载地址(Arduino是编辑和烧录Multiwii固件的必备软件)http://arduino.cc/en/Main/Software
四轴飞行器基础知识
笔者认为关于这些理论的知识,不是本篇文章的重点,关于这些基础的知识,如果有新入门的童鞋,可以先去度娘或者各大论坛等等去了解一下,毕竟掌握了这些基本的知识,才知道一个四轴飞行器是如何组成的,六轴也同理。还有就是虽然现在的飞控都是白菜价了,但是如果通过自己搭建一个四轴飞行器,并让其稳定的飞起来,这是虽然很有难度,而且会耗费大量的时间,但是这种满足感跟这种DIY的精神是我非常向往的。
飞控板的制作
大家完全可以参照Multiwii官网的硬件要求,自行设计制作飞控板,这样你对MWC四轴整个系统将会有更深刻的理解。Multiwii硬件分为Arduino 328p(ATmega328P)和Arduino mega(ATmega2560)两种版本。两个版本各有优劣,均支持多种外设,但接口稍有不同。mega版本只能用串口接GPS和声呐,由于两个外设占据了串口,如要用蓝牙或FTDI查看飞控状态信息,这就是不可能的了。328p版本虽然容量小,但可以采用双328p的模式,再用一片ATmega328P制作一块I2C-GPS/Sonar导航板,这样就可以用I2C来读取GPS和声呐的数据,不必占据串口,那这样一来就可以实时的用蓝牙等查看飞行状态信息了。所以笔者采用飞控板是基于Arduino 328p版本的。简单来说,MWC飞控板由Arduino pro mini + GY-86 组成。
Arduino pro mini 原理图
Arduino pro mini 接线图
绘制PCB
制板
在某宝上采购 Arduino pro mini 跟 GY-86 ,其实也可以把GY-86换成MPU6050,两个加起来的成本也就不到二十元,而GY-86就比较贵了,它在55元左右,是因为GY-86包含了MPU6050(三轴加速度计和三轴陀螺仪) +HMC5883L(三轴磁强计) +MS5611(高精度气压计,就是为了这颗气压计),下面简单说一下它们的作用
- MPU6050:主要四轴的姿态传感器
- HMC5883L:磁强计一个用途是用来锁定航向,另一个用途是GPS配合磁强计使用才能实现GPS HOME(失控返航)等功能,这也就是MWC为什么要设置当地地磁偏移量(后续会讲)的原因。
- MS5611:它的测量精度很高,再刷入Multiwii 2.2固件,那四轴的定高精度不是一般的好。大家如果自己做飞控的话,还是多花点钱买个MS5611,定高效果很不错
主控程序
我们首先需要一个FTDI USB下载器,用来给Arduino pro mini进行上传固件,这个是需要驱动的
下载地址:https://www.ftdichip.com/Drivers/VCP.htm
一共6个针脚从DTR依次对接到飞控板上Pro mini 对应的针脚即可,但是需要注意的一个地方是针脚VCC供电。
从原理图可以看到,RAW经过 MIC5219 处理后,得到 VCC,度娘了下 MIC5219,它有反向电流保护,所以从VCC上接入供电5V,RAW是不会输出的。当然这个在烧录的时候没什么问题,但是后期我们需要调试,所以笔者直接把VCC的供电,接入到RAW上即可,加压供电如下图。
打开下载好的固件文件夹中的MultiWii.ino
整个飞控程序中,我们需要配置的只有config.h。具体的配置内容,会在后续的章节中解析。
MultiWii GUI
MultiWii GUI就相当于地面站,可以查看PID参数传感器数据,姿态,遥控器通道信息以及GPS信息等等。往飞控里烧玩程序之后,即MultiWiiConf文件夹下的MultiWiiConf.exe。要想运行MultiWiiConf.exe,得先安装JAVA虚拟机。Multiwii 的GUI程序需要JAVA虚拟机的支持,需下载安装:[http://java.com/zh_CN/download/manual.jsp?locale=zh_CN](http://java.com/zh_CN/download/manual.jsp?locale=zh_CN)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/617118/1661529100166-e4b09473-5969-44cd-8fca-f66c260e056e.png#clientId=u507b509e-0704-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=138&id=ud138c1bd&margin=%5Bobject%20Object%5D&name=image.png&originHeight=275&originWidth=614&originalType=binary&ratio=1&rotation=0&showTitle=false&size=35942&status=done&style=none&taskId=uddeccf87-6e1f-436a-bc07-09db48b1a32&title=&width=307)