Microduino 四轴飞行器教程

来自Microduino Wikipedia
Pkj讨论 | 贡献2014年9月12日 (五) 08:01的版本
跳转至: 导航搜索
Language English

概述

  • 项目名称:Microduino四轴飞行器
  • 目的:通过Microduino Joypad来控制四轴飞行器。
  • 难度:高级
  • 耗时:6小时
  • 制作者:Microduino Studio-PKJ&Microduino Studio-Joseph Leung

材料清单

  • Microduino设备
模块 数量 功能
Microduino-Core 2 核心板
Microduino-USBTTL 1 下载程序
Microduino-10DOF 1 姿态稳定
Microduino-BT 2 无线通讯
Microduino-Joypad 1 遥控
Microduino-TFT 1 显示
Microduino-QuadCopter 1 四轴电机驱动
  • 其他设备
USB数据线 1 下载程序
四轴飞行器机架 1 搭建四轴
电池 2 供电

文档

  • 下载四轴控制程序:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_Joypad_QuadCopter/MultiWii

  • 下载MultiWiiConf上位机软件:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_Joypad_QuadCopter/MultiWiiConf

  • 下载PID配置文件:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_Joypad_QuadCopter/%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6

简介

原理

四轴飞行器,顾名思义就是有四个动力桨的飞行器,四轴与直升机类似,可以完成空中悬停、飞行的动作。与传统直升机使用一个主桨来产生升力,用一个尾桨来抵消主桨产生的扭矩(即锁尾)这样的动力方式不同的是,四轴飞行器对角电机采用正反桨设计从而不需要额外的机构进行“锁尾”。如图1.1所示,1、3号桨为一对对角正反桨,2、4号桨为一对对角正反桨,转速相同时,正桨旋转时产生的扭力会与反桨旋转产生的扭力相抵消从而保持航向(箭头所示方向)不变。示意图当中的四轴是最常见的X型四轴,还有一种四轴是十字形结构,这种四轴相对而言前方好辨认但是机动性差。

四轴飞行器可以完成升降、俯仰(Pitch)、侧俯仰(Roll)、偏航(Yaw)四种基本动作。升降即机身垂直升降,上升由四个电机同时增加转速实现,下降亦然。俯仰即机身向前向或者后向倾斜以完成向前飞行或者向后飞行,俯由在后方的3、4号电机增加转速实现,仰亦然。侧俯仰其实是传统航模中的滚转,机身向左或者向右倾斜以完成向左或者向右飞行,向左倾斜由右方的2、3号电机增加转速实现,向右倾斜亦然。偏航为机头方向的偏移,向左偏由带有反桨的2、4号增加转速实现,向右偏亦然。玩家可以在完成四轴的安装调试后观察其飞行来理解。

结构

四轴的组成示意图如图下图所示,简化后(只关心信号)的系统由遥控信号接收装置(此处为航模遥控接收器或者蓝牙模块)、飞行控制器以及四个电机组成。遥控信号接收装置接收控制端的信号之后转换为PWM或者PPM等信号传送给飞行控制器,飞行控制器根据遥控信号以及传感器的值来通过PWM控制四个电机以达到预期的动作。在飞行控制器中,陀螺仪以及加速度计是必须的,四轴的姿态是由这俩个传感器得到的数据来解算的,解算之后通过PID等算法来控制电机的转速。当然也可以加入电子罗盘以确定机头位置,加入GPS以确定四轴的地理位置。所以简单来讲四轴是一个有两个环的闭环控制系统,大环由遥控接收设备注入输入量,小环由姿态传感器注入输入量。

对于一般的固定翼航模来讲,飞控(飞行控制器)可有可无,一般玩家不会在固定翼航模上安装飞控,但是四轴不一样,四轴飞行器是一种具有三组自由度,四个控制输入的欠驱动系统。它需要一个控制系统来进行控制。 当然,这个过程中也有一些技术细节需要设计,比如传感器读入的数据需要进行滤波、俯仰(Pitch)、侧俯仰(Roll)、偏航(Yaw)等动作的PID算法设计及调整。这是一个较复杂的综合系统,如果玩家想在理论方面从零开始学习则需要介绍许许多多,受篇幅所限,请参考相关资料,这里就不详细介绍了。

优点

Microduino 采用独有的 U 型 27 Pin 接口规范(UPin-27),尺寸小巧,长25.4mm X 宽27.94mm,如一枚1元硬币的大1小。所有模块都可以通过 UPIN-27 堆叠在一起,即插即用。 Microduino四轴飞行器最少只需要用到5种功能模块以及推荐的330轴距机架组件就能实现其功能,分别为为:Microduino-Core、Microduino-10DOF、Microduino-BT、Microduino-QuadCopter、Microduino-Joypad。而且你只需要将模块叠堆起来就可以用,非常简单。

四轴飞行器机架搭建与调试

硬件组装

模块 数量 功能
Microduino-Core 1 核心板
Microduino-USBTTL 1 下载程序
Microduino-10DOF 1 姿态稳定
Microduino-BT 1 无线通讯
Microduino-QuadCopter 1 四轴驱动

将飞控底板用四颗螺丝固定在机架底座上。安装时请自行设定一个向前的方向,飞控底板默认的前向是Upin口的开口方向。

将Microduino-QuadCopter用四颗螺丝固定在机架底座上。

将四个电机臂用螺丝安装在机架底座上,安装的时候玩家按照如下方法设定一个机头方向:一般的我们定义橙色的两个桨是前方的桨,黑色的两个桨是后方的桨,这样在飞远了以后仍然可以依靠桨的颜色来判别机头方向。安装时还要按照正确的顺序来,左前方和右下方的桨要安装A桨,右前方和左下方的桨要安装B桨。每个桨的上面都写有A、B来区分:

请玩家注意。安装方法如下图所示:

将四个电机用四颗螺丝固定在机架底座上。

在固定好四个机臂后将四个电机的导线接到飞控地板对应的焊盘上,其实底座和接口是匹配的,用户只需要插上去即可,但是最好还是确认下电机白色、红色的线接到底板标注有“+”的焊盘上,黑色、蓝色的线接到地板标注有“-”的焊盘上。如果接反,电机的转向就会反了,这样我们的小飞机就无法起飞。安装好的底板如下图所示。

这样就完成了机架的组装了。

两个蓝牙建立连接

我们是通过蓝牙建立无线遥控的,因此两个蓝牙连接就至关重要了。如何建立两个蓝牙连接,请参考:两个Microduino BT模块如何连接

下载与调试

先将Microduino-Core、Microduino-10DOF、Microduino-USBTTL叠堆到一起并安装到飞控底板上即可。如图3.4-1所示:

将四轴放在水平桌面上,用USB数据线连接到电脑,板卡选择Microduino Core (Atmega328P@16M,5V),将修改好的程序进行编译,通过后下载到Microduino-Core中。 在MultiWiiConf\application.windows32里以管理员身份打开地面站软件MultiWiiConf.exe开始进行校准及参数调整。地面站软件的界面如下图。

电脑连接到四轴飞行器

点击RECONNECT进行连接,连接成功后通过Microduino-USBTTL串口进行数据通信。连接成功通过START按钮来获取传感器数据曲线,如图所示:

传感器校准

将四轴水平放置在桌面上,点击CALIB_ACC并在此后的大约五秒钟之内保持四轴平稳,飞控的加速度计会校准。待数据曲线稳定再点击CALIB_MAG并在此后的大约半分钟之内拿起飞机在各个轴向上反复绕动以校准电子罗盘,之后保持四轴平稳,待电子罗盘平衡后点击WRITE以将数值写入飞控。

通过点击SELLECT SETTING,我们可以进行参数设置,并且看到模拟的姿态,如图所示:

Microduino QuadCopter MultiWiiConf4.jpg

设置PID参数

PID三个标签下面对应的ROLL、PITCH、YAW值是我们要调整的。这些值通过合理的调整能使四轴非常平稳的飞行。改变这些值的方法是在其绿色的框内按下鼠标左键,向左移动鼠标数值就会减小,向右移动鼠标数值就会增大,达到想要的值以后松开鼠标左键。当然我们可以直接LOAD配置文件,点击LOAD,浏览到你下载你配置文件夹选择pkj.mwi导入,如图所示:

设置飞行模式

在调整PID的右侧我们可以看到各种飞行模式以及对应辅助开关的一个二维表。一个开关或者多个开关的组合可以指定为一种飞行模式。我们建议玩家按照下图设置飞行模式,设置方法为在方块处点击鼠标左键,灰色的方块就会变成白色,这样就指定了在这样的开关方位时处于对应的飞行模式。ANGLE是增稳模式,这有助于我们飞行。设置好点击WRITE以将数值写入飞控。完成后关闭MultiWiiConf串口连接,将USB线从Microduino-USBTTL模块上拔下同时取下Microduino-USBTTL模块。四轴控制器就做好了。

遥控器(Microduino-Joypad)搭建与调试

遥控器我们采用Microduino-Joypad来实现,当然,你还需要其他模块,Microduino-TFT、Microduino-Core、Microduino-USBTTL、Microduino-BT(从机)。这样才能把遥控器搭建起来。

模块 数量 功能
Microduino-Core 1 核心板
Microduino-USBTTL 1 下载程序
Microduino-BT 1 无线通讯
Microduino-Joypad 1 遥控
Microduino-TFT 1 四显示

硬件搭建

  • 步骤一:将Microduino-TFT安装在Microduino-Joypad面板上;
  • 步骤二:将尼龙螺丝安装在Microduino-Joypad上,并且将底面板粘贴在Microduino-Joypad底部;
  • 步骤三:将Microduino-TFT与Microduino-Joypad通过转接线连接起来;
  • 步骤四:将锂电池连接到底板上,注意正负极别接反了,板子背面标注了正负极;
  • 步骤五:将底板和面板用尼龙螺丝固定好;
  • 步骤六:你可以打开电源开关,观察供电是否正常。
  • 步骤七:将Microduino-USBTTL、Microduino-Core叠加在Microduino-Joypad底座上。此时不需要叠加Microduino-BT模块,不然串口会冲突。

软件调试

  • 下载Microduino_Joypad_Ctrl程序:

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/Microduino_Joypad_QuadCopter/Microduino_Joypad_Ctrl

同时你需要用到以下库:

_01_Microduino_TFT_GFX: https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_01_Microduino_TFT_GFX

_01_Microduino_TFT_ST7735 : https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_01_Microduino_TFT_ST7735

_01_Microduino_TFT: https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_01_Microduino_TFT

_08_Microduino_Shield_Joypad:https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Libraries/_08_Microduino_Shield_Joypad

  • 打开Microduino_Joypad_Ctrl程序,编译成功通过后选择好板卡下载。
  • 下载完毕后可取下Microduino-USBTTL模块,叠上Microduino-BT(主机)模块。最后进行整体调试。

试飞

调试Microduino-Joypad

  • 打开遥控器电源开关,按下复位按键,进入系统,请在4S内按下A按键,进入遥控器校准模式。
  • 360度最大幅度旋转两个摇杆,看TFT屏上数据没变化即可按下B按键,进入飞行模式。
  • 请把将左上边开关拨到下面(关闭油门),再把油门摇杆拨到最下方。

调试四轴机架

  • 确定Microduino-QuadCopter上叠加Microduino-BT(从机)模块,用来和遥控器通讯。
  • 把电池装到四轴机架底下,再和Microduino-QuadCopter电源线连接,注意正负,红线为正,黑线为负。
  • 打开Microduino-QuadCopter上的开关,放置在平稳的地方,按下复位按键,系统将对传感器进行校准,未完成时板子上红色led灯闪烁,校准完成后将熄灭,此时等待解锁。

整体测试

  • 观察Microduino-QuadCopter上的Microduino-BT(从机)模块是否和Microduino-Joypad上的Microduino-BT(主机)连接,蓝牙模块连接指示灯不再闪烁。
  • 对四轴进行解锁,将左上边开关拨到下面(关闭油门),防止解锁后不小心开了油门使四轴飞行器起飞发生意外。将油门滑竿置于最右下方,可看到led灯开始闪烁,准备链接,等待2S左右,恢复油门滑竿,再置于最又下方,依次循环,直到led长亮说明解锁成功,这样就可以准备飞了。如果尝试多次不能解锁,对四轴飞行器核心复位,系统将对传感器进行校准,重新尝试解锁。
  • 再把油门摇杆拨到最下方,左上边开关往上推(打开油门开关),这时参考摇杆控制示意图,你只要轻轻推动油门即可看到四个螺旋浆开始飞速转起来了。继续加大油门,确保它飞起来了。可以稍微高一点,不要紧贴地面,然后通过方位摇杆控制平衡了。
Microduino QuadCopter Remote6.jpg
  • 当发现在猛推油门的情况下飞机也只会贴着地飞行而无法一飞冲天的时候就表明电池电量已耗尽,请给电池充电以避免事故发生。我们的飞控底板集成了充电管理,只需要将usb线缆的一头插在充电器上,另一头插到飞控底板上的microusb接口即可对电池充电。
  • 当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否者四轴将失控,避免发生意外。

注意问题

  • 蓝牙连接是第一步,也是关键的一步,请确定两个蓝牙能够连接。
  • 下载程序时候请不要叠加BT模块,这样会引起串口冲突,容易出现问题。
  • 注意四轴飞行器四个螺旋桨的安装,别错了,否者飞不起来。
  • 锂电池正负极别接错了,否则会烧坏电路。
  • 飞行器请先对遥控器(Microduino-Joypad)进行校准,否者容易导致飞不稳。
  • 遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。
  • 当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否者四轴将失控,避免发生意外。