Microduino 四轴飞行器教程
Language | English |
---|
目录概述
材料清单
文档
简介四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。如图 1.1所示,4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。 根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。如图 1.1所示,十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。 大多数飞行器采用的是X字模式。X字模式相对于十字模式来说,控制起来更加困难,但动作的灵活性会更高。 图 1.1 十字模式和X字模式 原理四旋翼飞行器通过调节4个螺旋桨的转速,改变推力,从而控制飞行器的姿态和位置。如图 1.2所示,在3个坐标轴上实现旋转,可以完成3个动作,即偏航(Yaw)、俯仰(Pitch)和滚转(Roll);如果在三轴上实现平移的话,可完成垂直、前后和侧向运动。
图 1.2 四旋翼飞行器的基本动作 垂直运动 即飞行器垂直上升或下降。正如前文所说的,四个电机保持在同一转速,就能够在水平方向上保持稳定。如图1.3所示,如果四个电机增加到在同一个转速,产生的推力足以克服飞行器自身的重力,便能够上升;反之,如果四个电机同时降低到同一个速度,产生的推力无法克服飞行器的重力,便可以下降。如果外界没有其他的扰动,四个电机产生的推力恰好克服飞行器的重力,这样,飞行器就可以悬停在空中。 只要让四个电机保持在相同转速,便能够让飞行器平稳地垂直运动,相对来说比较简单。 图 1.3 垂直运动 前后运动和侧向运动 如图 1.4所示,电机1为飞行器头部,而电机2为飞行器尾部。 为了在水平上获得一个推力,增加电机2的转速,尾部的推力增加;降低电机1的转速,头部的推力减小;整个机身会向前倾,合成了一个水平向前的推力,机身便能够向前运动。同时保持电机3和4的转速,反扭矩平衡,才能够保证机身平稳地向前。向后运动正好与向前运动相反。 因为四旋翼飞行器是中心对称的,前后运动和侧向运动的控制是完全类似的,两组正反电机的控制方式对调即可。例如,保持电机1和2的转速不变,增加电机4的转速而降低电机3的转速,便能够产生向左的水平力,于是机身向左运动。 图 1.4 前后运动和侧向运动 偏航运动 前面介绍的三种运动都是空间三个轴上的平移,接下来要介绍的三种运动是绕着三轴的旋转。 偏航运动就是在水平方向上的左右转动,即绕着Z轴的旋转。旋翼在转动的过程中,由于空气阻力的作用,会形成与转动方向相反的反扭矩。偏航运动就是利用反扭矩实现的。当飞行器悬停时,4个电机的转速相同,两组正反扭矩相互抵消,维持平衡。当四个电机转速不完全相同时,不平衡的反扭力会引起四旋翼飞行器水平转动,从而实现偏航运动。如图 1.5所示,提升电机1和2的转速,同时降低电机3和4的转速,1和2 电机产生的顺时针反扭矩大于3和4电机产生的逆时针反扭矩,而且总的向上推力没有发生变化,于是机身在水平面上顺时针转动,又不会出现垂直位移。逆时针转动正好相反。 图 1.5 偏航运动 俯仰运动和滚转运动 俯仰运动是指在Y轴上的旋转,而滚转运动则是在X轴上旋转。 如图 1.6所示,提升电机1的转速,降低电机2的转速,两者转速的变化量应该一样,同时保持电机3和4转速不变。机身头部的推力大于尾部的推力,不平衡的力矩使得机身仰起。同样的,俯身运动则是降低电机1的转速,而提升电机2的转速,产生一个向前倾的力矩。 同样是因为中心对称的缘故,滚转运动与俯仰运动的原理一样。维持电机1和2的转速不变,改变电机3和4的转速,产生不平衡的力矩,使得机身绕着X轴做出滚转的运动。 图 1.6 俯仰运动和滚转运动 结构四轴的组成示意图如图下图所示,简化后(只关心信号)的系统由遥控信号接收装置(此处为航模遥控接收器或者蓝牙模块)、飞行控制器以及四个电机组成。遥控信号接收装置接收控制端的信号之后转换为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。而且你只需要将模块叠堆起来就可以用,非常简单。 四轴飞行器机架搭建与调试硬件组装
将飞控底板用四颗螺丝固定在机架底座上。安装时请自行设定一个向前的方向,飞控底板默认的前向是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,我们可以进行参数设置,并且看到模拟的姿态,如图所示: 设置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(从机)。这样才能把遥控器搭建起来。
硬件搭建
软件调试
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Joypad/Joypad_RC_2.3 同时你需要用到以下库: _01_Microduino_TFT_GFX:、_01_Microduino_TFT_ST7735 :、_01_Microduino_TFT:、_08_Microduino_Shield_Joypad: 参考:安装Arduino IDE Microduino程序库支持包
试飞调试Microduino-Joypad
调试四轴机架
整体测试
注意问题
|