“Microduino 四轴飞行器教程”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
下载与调试
第4行: 第4行:
 
|
 
|
 
==概述==
 
==概述==
*项目名称:Microduino四轴飞行器
+
四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。如图 1.1所示,4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。
*目的:通过Microduino Joypad来控制四轴飞行器。
+
根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。如图 1.1所示,十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。
*难度:高级
+
大多数飞行器采用的是X字模式。X字模式相对于十字模式来说,控制起来更加困难,但动作的灵活性会更高。
*耗时:6小时
+
*制作者:Microduino Studio-PKJ&Microduino Studio-Joseph Leung
+
图 1.1 十字模式和X字模式
 
 
 
==材料清单==
 
==材料清单==
 
*Microduino设备
 
*Microduino设备
第49行: 第48行:
  
 
==简介==
 
==简介==
四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。如图 1.1所示,4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。
 
根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。如图 1.1所示,十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间.
 
大多数飞行器采用的是X字模式。X字模式相对于十字模式来说,控制起来更加困难,但动作的灵活性会更高。
 
 
图 1.1 十字模式和X字模式
 
 
 
图 1.1 十字模式和X字模式
 
 
===原理===
 
===原理===
 
四旋翼飞行器通过调节4个螺旋桨的转速,改变推力,从而控制飞行器的姿态和位置。如图 1.2所示,在3个坐标轴上实现旋转,可以完成3个动作,即偏航(Yaw)、俯仰(Pitch)和滚转(Roll);如果在三轴上实现平移的话,可完成垂直、前后和侧向运动。
 
四旋翼飞行器通过调节4个螺旋桨的转速,改变推力,从而控制飞行器的姿态和位置。如图 1.2所示,在3个坐标轴上实现旋转,可以完成3个动作,即偏航(Yaw)、俯仰(Pitch)和滚转(Roll);如果在三轴上实现平移的话,可完成垂直、前后和侧向运动。
第95行: 第86行:
 
    
 
    
 
图 1.6 俯仰运动和滚转运动
 
图 1.6 俯仰运动和滚转运动
 
 
===结构===
 
===结构===
 
 
图 1.7 四旋翼飞行器示意图
 
图 1.7 四旋翼飞行器示意图
 
如图 1.7所示,是四旋翼飞行器的结构简图。飞行器包括主要包括遥控器(航模遥控)、飞行控制器以及四个电机组成。而飞行控制器又包括微控制器、遥控信号接收模块、传感器模块(陀螺仪、加速度计、电子罗盘和GPS定位模块)和电机驱动模块。
 
如图 1.7所示,是四旋翼飞行器的结构简图。飞行器包括主要包括遥控器(航模遥控)、飞行控制器以及四个电机组成。而飞行控制器又包括微控制器、遥控信号接收模块、传感器模块(陀螺仪、加速度计、电子罗盘和GPS定位模块)和电机驱动模块。
第110行: 第99行:
 
   
 
   
 
图 1.8 四旋翼飞行器套件实物
 
图 1.8 四旋翼飞行器套件实物
 
 
总的来说,本书所使用四旋翼飞行套件包括飞行器和遥控器两大部分,两者通过蓝牙传输控制指令。
 
总的来说,本书所使用四旋翼飞行套件包括飞行器和遥控器两大部分,两者通过蓝牙传输控制指令。
 
飞行器主要由带4个电机的机架、Microduino-CoreRF、Microduino-BT和Microduino-10DOF等模块组成。其中Microduino-10DOF集成了四种传感器,分别是三轴加速度+三轴陀螺仪传感器(MPU6050)、磁场强度传感器(HMC5883L)、数字气压传感器(BMP180)。通过I2C进行通信。
 
飞行器主要由带4个电机的机架、Microduino-CoreRF、Microduino-BT和Microduino-10DOF等模块组成。其中Microduino-10DOF集成了四种传感器,分别是三轴加速度+三轴陀螺仪传感器(MPU6050)、磁场强度传感器(HMC5883L)、数字气压传感器(BMP180)。通过I2C进行通信。
第116行: 第104行:
 
   
 
   
 
图 1.9 Microduino-10DOF
 
图 1.9 Microduino-10DOF
 
 
遥控器是在Microduino-Joypad的基础上改造而成,包括Microduino-CoreRF、Microduino-TFT、Microduino-Joypad面板等模块组成。
 
遥控器是在Microduino-Joypad的基础上改造而成,包括Microduino-CoreRF、Microduino-TFT、Microduino-Joypad面板等模块组成。
  
 
   
 
   
 
图 1.10 遥控器
 
图 1.10 遥控器
 
 
===优点===
 
===优点===
 
Microduino 采用独有的 U 型 27 Pin 接口规范(UPin-27),尺寸小巧,长25.4mm X 宽27.94mm,如一枚1元硬币的大1小。所有模块都可以通过 UPIN-27 堆叠在一起,即插即用。
 
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四轴飞行器最少只需要用到5种功能模块以及推荐的330轴距机架组件就能实现其功能,分别为为:Microduino-Core、Microduino-10DOF、Microduino-BT、Microduino-QuadCopter、Microduino-Joypad。而且你只需要将模块叠堆起来就可以用,非常简单。
|}
 
  
 
==四轴飞行器机架搭建与调试==
 
==四轴飞行器机架搭建与调试==
第142行: 第127行:
 
|}
 
|}
  
机架组装
+
1. 将Microduino-QuadCopter底板安置在机架底座上,并用螺丝将其固定住。安装时注意,飞行器头部方向默认是Upin口的开口方向。
本节将介绍如何组装飞行控制器。具体步骤如下:
 
*1将Microduino-QuadCopter底板安置在机架底座上,并用螺丝将其固定住。安装时注意,飞行器头部方向默认是Upin口的开口方向。
 
 
   
 
   
 
图 3.1 固定Microduino-QuadCopter
 
图 3.1 固定Microduino-QuadCopter
*2将四个电机臂用螺丝安装在机架底座上,安装的时候玩家按照如下方法设定一个机头方向:一般我们定义橙色的两个桨是前桨,黑色的两个桨是后桨。这样在远处也能够依靠桨的颜色来判别机头的方向。安装时还要按照正确的顺序来,左前方和右下方的桨要安装A桨,右前方和左下方的桨要安装B桨。每个桨的上面都有A或B标示。
+
2. 将四个电机臂用螺丝安装在机架底座上,安装的时候玩家按照如下方法设定一个机头方向:一般我们定义橙色的两个桨是前桨,黑色的两个桨是后桨。这样在远处也能够依靠桨的颜色来判别机头的方向。安装时还要按照正确的顺序来,左前方和右下方的桨要安装A桨,右前方和左下方的桨要安装B桨。每个桨的上面都有A或B标示。
 
   
 
   
 
图3.2 安装电机臂
 
图3.2 安装电机臂
 
   
 
   
 
图 3.3 电机臂的安装位置
 
图 3.3 电机臂的安装位置
*3将机架反过来,可以看到4个螺丝孔,用螺丝将机架与电极臂固定住。
+
3. 将机架反过来,可以看到4个螺丝孔,用螺丝将机架与电极臂固定住。
 
   
 
   
 
图 3.4 将机架与电极臂固定
 
图 3.4 将机架与电极臂固定
*4在固定好四个机臂后将四个电机的导线接到飞行器控制板对应的焊盘上,其实底座和接口是匹配的,带有防差错设计,用户只需要插上去即可,但是最好还是确认下电机白色、红色的线接到底板标注有“+”的焊盘上,黑色、蓝色的线接到地板标注有“-”的焊盘上。如果接反,电机的转向就会反了,这样飞行器就无法起飞。安装好的底板如下图所示。
+
4. 在固定好四个机臂后将四个电机的导线接到飞行器控制板对应的焊盘上,其实底座和接口是匹配的,带有防差错设计,用户只需要插上去即可,但是最好还是确认下电机白色、红色的线接到底板标注有“+”的焊盘上,黑色、蓝色的线接到地板标注有“-”的焊盘上。如果接反,电机的转向就会反了,这样飞行器就无法起飞。安装好的底板如下图所示。
 
   
 
   
 
图 3.5 连接电机接头
 
图 3.5 连接电机接头
根据以上步骤就完成了机架的组装
+
根据以上步骤就完成了机架的组装。
  
===两个蓝牙建立连接===
 
我们是通过蓝牙建立无线遥控的,因此两个蓝牙连接就至关重要了。如何建立两个蓝牙连接,请参考:[[两个Microduino BT模块如何连接]]
 
 
===四旋翼飞行器控制器调试===
 
*PID参数介绍
 
 
前面已经提及,飞行控制器会采用闭环控制回路以保证飞行器运动的稳定性和可操作性,通常都会以比例-积分-微分(PID)调节器的方式实现。飞行器在做俯仰、偏航和滚转动作时,陀螺仪传感器会输出一个相对初始位置的偏移量,飞行控制器计算该偏移量和操纵杆的位置,通过PID算法校正后,合理地去控制电机的输出。
 
PID算法包括三个系数:比例(Proportional)、积分(Integral)和微分(Derivative)。每个参数的调整都会影响系统的稳定性。
 
比例系数:是PID三者当中最主要的部分。该参数决定了由陀螺仪所测量得到的数值影响电机运动的重要程度。该系数越高,陀螺仪测量的数值越能够影响飞行器的动作,飞行器抵抗意外倾侧的能力会越强;该系数越低,飞行器抵抗意外倾侧的能力越弱。系数过高会因为放大而使飞行器抖动不稳定;而过小的话,会因为自平衡能力不足而极其容易受到外界因素的影响,甚至侧翻。
 
积分系数:可以增加航向的稳定性。当飞行器受到干扰,角度发生变化时,该系数会积累这些干扰并将一个校正值应用到电机的控制中,从而获得一个正确的角度。该系数又可称为航向保持系数。当试图将飞行器改变到某个位置时,电机会持续一段时间来抵抗这种变化。即使出现不规则的风,这种方式还是可以保持角度的稳定和准确的。然而,该系数变大会降低反应速度以及减小比例系数。
 
微分系数:回到平衡姿态的速度。该系数越小,飞行器响应越迟钝,可能会回正的时候发生抖动;系数越大,飞行器响应速度越高,会增加比例系数的效果。
 
控制器假定实际陀螺传感器值为“平地”。这个校准是必要的,因为传感器对温度敏感,并且每个轴的加速度传感器的运动有点不同。在飞行中将始终力图保持它在校准时的位置,因为它认为这个位置是水平的。这意味着,机身越不水平,就越需要飞行控制器更多的纠正来保持位置。
 
在Microduino-CoreRF运行的程序,采用的是默认的配置,程序会认为所使用的陀螺仪传感器处在“水平”位置,但实际上,传感器会受到环境温度的影响,而且每个轴的加速度传感器的运动又存在差异。所以有必要校正传感器以及PID等相关参数,让飞行器获得更佳的飞行状态。
 
 
*程序下载
 
  
 +
===下载与调试===
 
将Microduino-CoreRF、Microduino-USBTTL叠堆到一起,并用MicroUSB数据线将Microduino-USBTTL和电脑连接起来。
 
将Microduino-CoreRF、Microduino-USBTTL叠堆到一起,并用MicroUSB数据线将Microduino-USBTTL和电脑连接起来。
 
打开MultiWii_CoreRF中的【MultiWii_RF】程序,在菜单栏的Tools下的Board选择板卡Microduino-Core RF,并在Tools下的Serial Port中选择对应的串口(COM-XX),完成这些配置后,点击左上角的√进行编译操作,在编译结束后,点击→完成对硬件的烧录。
 
打开MultiWii_CoreRF中的【MultiWii_RF】程序,在菜单栏的Tools下的Board选择板卡Microduino-Core RF,并在Tools下的Serial Port中选择对应的串口(COM-XX),完成这些配置后,点击左上角的√进行编译操作,在编译结束后,点击→完成对硬件的烧录。
 
  
 
   
 
   
 
图 4.1 在驱动板上堆叠模块
 
图 4.1 在驱动板上堆叠模块
 
  
 
当烧录正确执行,会在开发工具下方显示下载完成,软件搭建就完成了。
 
当烧录正确执行,会在开发工具下方显示下载完成,软件搭建就完成了。
 
 
   
 
   
 
图 4.2 烧录程序
 
图 4.2 烧录程序
 
 
Microduino-USBTTL下载模块在下载程序和串口调试校准四轴的时候才用到,其他时候可以不叠加。
 
Microduino-USBTTL下载模块在下载程序和串口调试校准四轴的时候才用到,其他时候可以不叠加。
  
*校正四旋翼飞行器
+
====校正四旋翼飞行器====
 
 
 
如图4.3所示,在校正飞行控制器时,只需要将Microduino-CoreRF、Microduino-10DOF、Microduino-USBTTL叠堆到一起并安装到飞控底板上即可。
 
如图4.3所示,在校正飞行控制器时,只需要将Microduino-CoreRF、Microduino-10DOF、Microduino-USBTTL叠堆到一起并安装到飞控底板上即可。
 
   
 
   
第199行: 第163行:
 
   
 
   
 
图 4.4 MultiWiiConf界面
 
图 4.4 MultiWiiConf界面
 
+
====传感器校准====
 
 
 
 
*传感器校准
 
 
 
 
将四轴水平放置在桌面上,点击RECONNECT,点击CALIB_ACC并在此后的大约五秒钟之内保持四轴平稳,飞控的加速度计会校准。待数据曲线稳定再点击CALIB_MAG并在此后的大约半分钟之内拿起飞机在各个轴向上反复绕动以校准电子罗盘,之后保持四轴平稳,待电子罗盘平衡后点击WRITE将数值写入飞控。
 
将四轴水平放置在桌面上,点击RECONNECT,点击CALIB_ACC并在此后的大约五秒钟之内保持四轴平稳,飞控的加速度计会校准。待数据曲线稳定再点击CALIB_MAG并在此后的大约半分钟之内拿起飞机在各个轴向上反复绕动以校准电子罗盘,之后保持四轴平稳,待电子罗盘平衡后点击WRITE将数值写入飞控。
 
   
 
   
 
图 4.5 传感器校准
 
图 4.5 传感器校准
 +
====设置PID参数====
 +
PID三个标签下面对应的ROLL、PITCH、YAW值是我们要调整的。这些值通过合理的调整能使四轴非常平稳的飞行。改变这些值的方法是在其绿色的框内按下鼠标左键,向左移动鼠标数值就会减小,向右移动鼠标数值就会增大,达到想要的值以后松开鼠标左键。当然我们可以直接LOAD配置文件,点击LOAD,浏览到你下载你配置文件夹选择pkj.mwi导入,如图所示:
 +
[[File:Microduino_QuadCopter_MultiWiiConf_PID.jpg||600px|center|thumb]]
  
 
+
====使用传感器值排除故障====
 
 
*设置PID参数
 
 
 
PID三个标签下面对应的ROLL、PITCH、YAW值是我们要调整的。这些值通过合理的调整才能使四轴非常平稳的飞行。改变这些值的方法是在其绿色的框内按下鼠标左键,向左移动鼠标数值就会减小,向右移动鼠标数值就会增大,达到想要的值以后松开鼠标左键。
 
 
图 4.6 手动调整PID参数
 
除了手动调整每个数值,我们也可以直接LOAD配置文件,点击LOAD,浏览到你下载你配置文件夹选择pkj.mwi导入。
 
 
图 4.7 加载默认的配置
 
 
 
 
 
 
 
*设置飞行模式
 
 
 
在调整PID的右侧我们可以看到各种飞行模式以及对应辅助开关的一个二维表。一个开关或者多个开关的组合可以指定为一种飞行模式。我们建议玩家按照下图设置飞行模式,设置方法为在方块处点击鼠标左键,灰色的方块就会变成白色,这样就指定了在这样的开关方位时处于对应的飞行模式。ANGLE是增稳模式,这有助于我们飞行。设置好点击WRITE以将数值写入飞控。
 
 
图 4.8 设置飞行模式
 
 
图 4.9堆叠的飞行控制器
 
设置完飞行模式后,关闭MultiWiiConf串口连接,将USB线从Microduino-USBTTL模块上拔出。
 
以上就完整了整个飞行控制器的组装和调试。
 
 
 
 
 
 
 
*MultiWii GUI使用(选读)
 
如果读者想了解更多关于MultiWii GUI的使用,可以参考本小节如下的部分。
 
 
 
{|class="wikitable"
 
| align="center" style="background:#f0f0f0;"|'''0'''
 
| align="left" style="background:#f0f0f0;"|'''"软件版本显示上传到飞行器中的软件版本。
 
 
 
保存/加载配置用于保存和重新加载关于PID和安装的配置文件。针对多平台上的飞行控制器会非常有用。
 
 
 
COM口选择选择飞行控制器与电脑相连后,电脑所出现的COM口。"'''
 
|-
 
| 0||"PID设置这些参数意味着飞行控制器会产生多少的补偿。
 
 
 
鼠标点中其中的绿色框,然后左右拖动即可改变数值。一旦设置完成,点击“WRITE”按钮将配置信息发送给控制器。"
 
|-
 
| 0||"飞行模式/辅助开关这里列出了所有的飞行模式。如果需要的话,可通过AUX开关激活。
 
 
 
注意,这里只显示能够兼容你的飞行控制器的飞行模式。"
 
|-
 
| 0||"RC(遥控器)发送器参数这里显示的是连到MultiWii控制板每个通道的数值。
 
 
 
发送器的输出信号数值可以在1000-2000之间设置。"
 
|-
 
| 0||"ESC值这里显示的是发送给飞行器每个电机的输出值。
 
 
 
一旦解锁,当推动油门时,输出值应该提升至“最小油门值”——可以在config.h找到。"
 
|-
 
| 0||"3D模型显示提供了四轴飞行器的3D显示。注意,默认的方向有一个轻微的角度。
 
 
 
红色箭头指示螺旋桨的方向。"
 
|-
 
| 0||"水平仪就如普通的飞机一样,水平仪可显示机身是向前倾还是向后仰,是左滚转还是向右滚转。
 
 
 
蓝色表示天空,而棕色表示大地。如果你觉得飞行器是水平的,而水平仪并未显示水平状态,那么你需要重新校准传感器。"
 
|-
 
| 0||"罗盘/其他传感器像MultiWii板只带了一个加速度计和陀螺仪。
 
 
 
还可以添加一个外部的压力传感器(高度计),GPS和磁罗盘。像Microduino四旋翼飞行器自带有加速度计、陀螺仪、气压计和磁罗盘传感器。"
 
|-
 
| 0||"MultiWii指数&比例这部分主要供经验丰富的飞行器玩家使用。该图显示了油门和俯仰/滚转的用户曲线。"
 
|-
 
|
 
|}
 
 
 
{|class="wikitable"
 
| align="center" style="background:#f0f0f0;"|'''0'''
 
| align="center" style="background:#f0f0f0;"|''''''
 
|-
 
| "                    READ:读取已经加载到控制板上的设置参数。
 
|-
 
|                       RESET:如果没有点击“WRITE”,可以清除所有做出的修改。
 
|-
 
|                       CALIB_MAG:开始校准磁力仪的
 
|-
 
|                       CALIB_ACC:开始校准加速度计
 
|-
 
|                       WRITE:将设置参数上传到控制板上
 
|-
 
| "||
 
|-
 
| " MultiWii传感器值和图形表示
 
|-
 
| 该窗口实时显示在开发板上传感器的原始数据。
 
|-
 
| "||
 
|-
 
| ACC(加速度计)||
 
|-
 
| ROLL||滚转轴上的加速度值
 
|-
 
| PITCH||俯仰轴上的加速度值
 
|-
 
| Z||Z(垂直)轴的加速度值
 
|-
 
| CYRO(陀螺仪)||
 
|-
 
| ROLL||滚转轴上的陀螺仪值
 
|-
 
| PITCH||俯仰轴上的陀螺仪值
 
|-
 
| YAW||偏航轴上的陀螺仪值
 
|-
 
| MAG(磁力仪)||
 
|-
 
| ROLL||滚转轴上的磁力计值
 
|-
 
| PITCH||俯仰轴上的磁力计值
 
|-
 
| YAW||偏航(方向)轴上的磁力计值
 
|-
 
| ALT(海拔)||根据气压计得出的海拔
 
|-
 
| HEAD(航向)||根据磁力仪得出的航向
 
|-
 
|
 
|}
 
*使用传感器值排除故障
 
 
这种方法有助于排除飞行器在方向上出现的问题。它可以用来显示控制板安装的方向正确是否正确,或者有没有在“config.h”中选择正确的控制板类型。
 
这种方法有助于排除飞行器在方向上出现的问题。它可以用来显示控制板安装的方向正确是否正确,或者有没有在“config.h”中选择正确的控制板类型。
+
 *将机身倾斜到右侧(左侧向上抬起):
将机身倾斜到右侧(左侧向上抬起):
 
 
MAG_ROLL、ACC_ROLL和GYRO_ROLL数值升高
 
MAG_ROLL、ACC_ROLL和GYRO_ROLL数值升高
 
MAG_Z和ACC_Z数值降低
 
MAG_Z和ACC_Z数值降低
+
 *将机身往前倾(尾部向上抬起):
将机身往前倾(尾部向上抬起):
 
 
MAG_PITCH、ACC_PITCH和 GYRO_PITCH数值升高
 
MAG_PITCH、ACC_PITCH和 GYRO_PITCH数值升高
 
MAG_Z和ACC_Z数值降低
 
MAG_Z和ACC_Z数值降低
+
 *将机身顺时针方向转动(偏航):
将机身顺时针方向转动(偏航):
 
 
CYRO_YAW数值升高
 
CYRO_YAW数值升高
 
+
 *机身保持水平:
机身保持水平:
 
 
MAG_Z和ACC_Z数值为正
 
MAG_Z和ACC_Z数值为正
  
 
+
====飞行模式====
 
 
 
 
 
 
*飞行模式
 
 
在MultiWiiCong GUI中,通过发送器的辅助开关可以选择多种飞行模式。如果你的发送器有5个或以上的通道,你可以在软件上使用第5个通道(辅助开关)来改变飞行模式。每种模式定义如下。
 
在MultiWiiCong GUI中,通过发送器的辅助开关可以选择多种飞行模式。如果你的发送器有5个或以上的通道,你可以在软件上使用第5个通道(辅助开关)来改变飞行模式。每种模式定义如下。
  
第386行: 第220行:
  
 
注:X=该模式下需要该硬件
 
注:X=该模式下需要该硬件
*设置飞行模式
+
 
 +
 
 +
====设置飞行模式====
 
为了设置飞行模式,你需要在待激活的模式下,检查对应辅助开关的高—中—低三档选择框。(一旦完成设置,需要点击“WRITE”将配置参数上传)
 
为了设置飞行模式,你需要在待激活的模式下,检查对应辅助开关的高—中—低三档选择框。(一旦完成设置,需要点击“WRITE”将配置参数上传)
 
   
 
   
第479行: 第315行:
  
 
使用GPS和气压计保持当前的位置
 
使用GPS和气压计保持当前的位置
 
===下载与调试===
 
先将Microduino-Core、Microduino-10DOF、Microduino-USBTTL叠堆到一起并安装到飞控底板上即可。如图3.4-1所示:
 
[[File:Microduino_QuadCopter_Software1.jpg||600px|center|thumb]]
 
 
将四轴放在水平桌面上,用USB数据线连接到电脑,板卡选择Microduino Core (Atmega328P@16M,5V),将修改好的程序进行编译,通过后下载到Microduino-Core中。
 
在MultiWiiConf\application.windows32里以管理员身份打开地面站软件MultiWiiConf.exe开始进行校准及参数调整。地面站软件的界面如下图。
 
[[File:Microduino_QuadCopter_MultiWiiConf1.jpg||600px|center|thumb]]
 
 
===电脑连接到四轴飞行器===
 
点击RECONNECT进行连接,连接成功后通过Microduino-USBTTL串口进行数据通信。连接成功通过START按钮来获取传感器数据曲线,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf2.jpg||600px|center|thumb]]
 
 
====传感器校准====
 
将四轴水平放置在桌面上,点击CALIB_ACC并在此后的大约五秒钟之内保持四轴平稳,飞控的加速度计会校准。待数据曲线稳定再点击CALIB_MAG并在此后的大约半分钟之内拿起飞机在各个轴向上反复绕动以校准电子罗盘,之后保持四轴平稳,待电子罗盘平衡后点击WRITE以将数值写入飞控。
 
 
通过点击SELLECT SETTING,我们可以进行参数设置,并且看到模拟的姿态,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf4.jpg||600px|center|thumb]]
 
 
====设置PID参数====
 
PID三个标签下面对应的ROLL、PITCH、YAW值是我们要调整的。这些值通过合理的调整能使四轴非常平稳的飞行。改变这些值的方法是在其绿色的框内按下鼠标左键,向左移动鼠标数值就会减小,向右移动鼠标数值就会增大,达到想要的值以后松开鼠标左键。当然我们可以直接LOAD配置文件,点击LOAD,浏览到你下载你配置文件夹选择pkj.mwi导入,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf_PID.jpg||600px|center|thumb]]
 
 
====设置飞行模式====
 
在调整PID的右侧我们可以看到各种飞行模式以及对应辅助开关的一个二维表。一个开关或者多个开关的组合可以指定为一种飞行模式。我们建议玩家按照下图设置飞行模式,设置方法为在方块处点击鼠标左键,灰色的方块就会变成白色,这样就指定了在这样的开关方位时处于对应的飞行模式。ANGLE是增稳模式,这有助于我们飞行。设置好点击WRITE以将数值写入飞控。完成后关闭MultiWiiConf串口连接,将USB线从Microduino-USBTTL模块上拔下同时取下Microduino-USBTTL模块。四轴控制器就做好了。
 
[[File:Microduino_QuadCopter_MultiWiiConf_ANGLE.jpg||600px|center|thumb]]
 
 
===电脑连接到四轴飞行器===
 
点击RECONNECT进行连接,连接成功后通过Microduino-USBTTL串口进行数据通信。连接成功通过START按钮来获取传感器数据曲线,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf2.jpg||600px|center|thumb]]
 
 
====传感器校准====
 
将四轴水平放置在桌面上,点击CALIB_ACC并在此后的大约五秒钟之内保持四轴平稳,飞控的加速度计会校准。待数据曲线稳定再点击CALIB_MAG并在此后的大约半分钟之内拿起飞机在各个轴向上反复绕动以校准电子罗盘,之后保持四轴平稳,待电子罗盘平衡后点击WRITE以将数值写入飞控。
 
 
通过点击SELLECT SETTING,我们可以进行参数设置,并且看到模拟的姿态,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf4.jpg||600px|center|thumb]]
 
 
====设置PID参数====
 
PID三个标签下面对应的ROLL、PITCH、YAW值是我们要调整的。这些值通过合理的调整能使四轴非常平稳的飞行。改变这些值的方法是在其绿色的框内按下鼠标左键,向左移动鼠标数值就会减小,向右移动鼠标数值就会增大,达到想要的值以后松开鼠标左键。当然我们可以直接LOAD配置文件,点击LOAD,浏览到你下载你配置文件夹选择pkj.mwi导入,如图所示:
 
[[File:Microduino_QuadCopter_MultiWiiConf_PID.jpg||600px|center|thumb]]
 
 
====设置飞行模式====
 
在调整PID的右侧我们可以看到各种飞行模式以及对应辅助开关的一个二维表。一个开关或者多个开关的组合可以指定为一种飞行模式。我们建议玩家按照下图设置飞行模式,设置方法为在方块处点击鼠标左键,灰色的方块就会变成白色,这样就指定了在这样的开关方位时处于对应的飞行模式。ANGLE是增稳模式,这有助于我们飞行。设置好点击WRITE以将数值写入飞控。完成后关闭MultiWiiConf串口连接,将USB线从Microduino-USBTTL模块上拔下同时取下Microduino-USBTTL模块。四轴控制器就做好了。
 
[[File:Microduino_QuadCopter_MultiWiiConf_ANGLE.jpg||600px|center|thumb]]
 
  
 
==遥控器(Microduino-Joypad)搭建与调试==
 
==遥控器(Microduino-Joypad)搭建与调试==
遥控器我们采用Microduino-Joypad来实现,当然,你还需要其他模块,Microduino-TFT、Microduino-Core、Microduino-USBTTL、Microduino-BT(从机)。这样才能把遥控器搭建起来。
+
前面已经提及,遥控器由控制板(Microduino-Joypad)、微控制器(Microduino-CoreRF)、显示模块(Microduino-TFT)、以及下载调试模块(Microduino-USBTTL)组成。
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|Microduino-Core||1||核心板
+
|Microduino-CoreRF||1||核心板
 
|-
 
|-
 
|Microduino-USBTTL ||1||下载程序
 
|Microduino-USBTTL ||1||下载程序
|-
 
|Microduino-BT||1||无线通讯
 
 
|-
 
|-
 
|Microduino-Joypad ||1||遥控
 
|Microduino-Joypad ||1||遥控
第542行: 第332行:
  
 
===硬件搭建===
 
===硬件搭建===
*步骤一:将Microduino-TFT安装在Microduino-Joypad面板上;
+
*步骤一:将Microduino-TFT安装在Microduino-Joypad面板上,用尼龙螺丝将两者固定;
 
[[File:Microduino_Joypad_TFT.jpg||600px|center|thumb]]
 
[[File:Microduino_Joypad_TFT.jpg||600px|center|thumb]]
  
*步骤二:将尼龙螺丝安装在Microduino-Joypad上,并且将底面板粘贴在Microduino-Joypad底部;
+
*步骤二:将底面板粘贴在Microduino-Joypad底部;
 
[[File:Microduino_Joypad_nilong.jpg||600px|center|thumb]]
 
[[File:Microduino_Joypad_nilong.jpg||600px|center|thumb]]
  
第560行: 第350行:
 
[[File:Microduino_Joypad_switch.jpg||600px|center|thumb]]
 
[[File:Microduino_Joypad_switch.jpg||600px|center|thumb]]
  
*步骤七:将Microduino-USBTTL、Microduino-Core叠加在Microduino-Joypad底座上。此时不需要叠加Microduino-BT模块,不然串口会冲突。
+
*步骤七:7将Microduino-USBTTL、Microduino-CoreRF插入在Microduino-Joypad底板上的Upin27接口。
 
[[File:Microduino_Joypad_Module.jpg||600px|center|thumb]]
 
[[File:Microduino_Joypad_Module.jpg||600px|center|thumb]]
  
===软件调试===
+
===遥控器程序调试===
*下载Microduino_Joypad_Ctrl程序:
+
*给CoreRF下载程序
https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Joypad/Joypad_RC_2.3
+
将Microduino-CoreRF、Microduino-USBTTL叠堆到一起,打开【Joypad_RC】程序,选择好板卡Microduino-Core RF和对应的Serial Port端口,点击左上角的√进行编译操作,在编译结束后,点击→完成对硬件的烧录。
 
+
程序下载完毕,将Microduino-CoreRF叠堆到Joypad底板上。
同时你需要用到以下库:
+
遥控器操作及说明
 +
 +
图 7.1 遥控器按钮功能说明
  
'''_01_Microduino_TFT_GFX:'''、'''_01_Microduino_TFT_ST7735 :'''、'''_01_Microduino_TFT:'''、'''_08_Microduino_Shield_Joypad:'''
+
将左上边是油门控制开关,打开(拨到上面),才能进行控制,你可以摇动摇杆,观察屏幕的变化。
 +
右边开关是精度调整开关,开关拨到上面可以最大幅度控制,否则只能小幅度控制了,小幅度有助于稳定控制。
 +
左边摇杆在垂直方向上控制油门,越往上油门越大,动力越大飞的越高,在水平方向上控制四轴在水平方向旋转。
 +
右边摇杆在垂直方向上控制前后方向移动,往上向前,往下向后,在水平方向上控制左右方向移动。
  
参考:[[安装Arduino IDE Microduino程序库支持包]]
+
==开机配置==
 
 
*打开Microduino_Joypad_Ctrl程序,编译成功通过后选择好板卡下载。
 
 
 
*下载完毕后可取下Microduino-USBTTL模块,叠上Microduino-BT(主机)模块。最后进行整体调试。
 
[[File:Microduino_Joypad_BT.jpg||600px|center|thumb]]
 
 
 
==试飞==
 
 
===调试Microduino-Joypad===
 
===调试Microduino-Joypad===
 
*采用电池供电,拔出USB数据线,打开遥控器电源开关,按下复位按键(左边USB接口右边那个)进入系统,请在4S内按下【key1】按键(从左边数开始第一个),进入遥控器校准和控制选择模式。
 
*采用电池供电,拔出USB数据线,打开遥控器电源开关,按下复位按键(左边USB接口右边那个)进入系统,请在4S内按下【key1】按键(从左边数开始第一个),进入遥控器校准和控制选择模式。
第601行: 第389行:
 
*请把将左上边开关拨到下面(关闭油门),再把油门摇杆拨到最下方。
 
*请把将左上边开关拨到下面(关闭油门),再把油门摇杆拨到最下方。
  
===调试四轴机架===
+
打开遥控器电源开关,按下复位按键(左边USB接口右边那个)进入系统,请在4S内按下【key1】按键,进入遥控器校准和控制选择模式。
*确定Microduino-QuadCopter上叠加Microduino-BT(从机)模块,用来和遥控器通讯。
+
 +
图 7.2 开机配置
 +
摇杆校准,将左边摇杆拨动到中间,显示屏上第二个数据在0左右即可。
 +
 +
图 7.3 摇杆校准
 +
选择控制模式,我们可以通过【key3】按键来选择是控制四轴飞行器(Quad.)还是机器人(Robot),同时Robot模式可控制平衡车和BOXZ mini,黑色表示选中。因此我们需要选择到Quad.模式。
 +
 +
图 7.4 选择控制模式
  
*把电池装到四轴机架底下,再和Microduino-QuadCopter电源线连接,注意正负,红线为正,黑线为负。
+
我们可以通过【key4】按键来选择是否是体感控制模式,当然选择体感模式,你必须叠加Microduino-10DOF模块,选择“MPU ON”。如果是摇杆控制模式,选择“MPU OFF”。
[[File:Microduino_QuadCopter_Remote2.jpg||600px|center|thumb]]
+
 
+
图 7.5 选择控制模式
*打开Microduino-QuadCopter上的开关,放置在平稳的地方,按下复位按键,系统将对传感器进行校准,未完成时板子上红色led灯闪烁,校准完成后将熄灭,此时等待解锁。
+
至此,飞行控制器和遥控器已经组装完成,接下来便是将两者结合起来,开始试飞,除了练习使用操纵杆,还要观察飞行器实际的飞行状态,以便进一步优化PID等参数。
[[File:Microduino_QuadCopter_Remote3.jpg||600px|center|thumb]]
 
  
 
===整体测试===
 
===整体测试===
*观察Microduino-QuadCopter上的Microduino-BT(从机)模块是否和Microduino-Joypad上的Microduino-BT(主机)连接,蓝牙模块连接指示灯不再闪烁。
+
把电池装到四轴机架底下,再和Microduino-QuadCopter电源线连接,注意正负,红线为正,黑线为负。
[[File:Microduino_QuadCopter_Remote4.jpg||600px|center|thumb]]
+
 
+
图 8.1 安装电池
*对四轴进行解锁,将左上边开关拨到下面(关闭油门),防止解锁后不小心开了油门使四轴飞行器起飞发生意外。将油门滑竿置于最右下方,可看到机架底板上led灯开始闪烁,准备链接,等待2S左右,恢复油门滑竿,再置于最又下方,依次循环,直到led长亮说明解锁成功,这样就可以准备飞了。如果尝试多次不能解锁,对四轴飞行器核心复位,系统将对传感器进行校准,重新尝试解锁。
+
打开Microduino-QuadCopter上的开关,放置在平稳的地方,按下复位按键,系统将对传感器进行校准,未完成时板子上的led灯闪烁,校准完成后将熄灭,此时等待解锁。
[[File:Microduino_QuadCopter_Remote5.jpg||600px|center|thumb]]
+
 
+
*对四轴进行解锁
*再把油门摇杆拨到最下方,左上边开关往上推(打开油门开关),这时参考摇杆控制示意图,你只要轻轻推动油门即可看到四个螺旋浆开始飞速转起来了。继续加大油门,确保它飞起来了。可以稍微高一点,不要紧贴地面,然后通过方位摇杆控制平衡了。
+
 请把Joypad遥控器左上边开关拨到下面(关闭油门),防止解锁后不小心开了油门使四轴飞行器迅速起飞发生意外。
[[File:Microduino_QuadCopter_Remote6.jpg||600px|center|thumb]]
+
 右边的开关拨到上面(幅值达到最大才能解锁)。
 
+
 将油门摇杆拉到最低后移到右边等待2S左右, led长亮说明解锁成功,这样就可以准备飞了,否则将油门摇杆置于中间,重新操作。如果尝试多次不能解锁,对四轴飞行器核心复位,系统将对传感器进行校准,重新尝试解锁。
*当发现在猛推油门的情况下飞机也只会贴着地飞行而无法一飞冲天的时候就表明电池电量已耗尽,请给电池充电以避免事故发生。我们的飞控底板集成了充电管理,只需要将usb线缆的一头插在充电器上,另一头插到飞控底板上的microusb接口即可对电池充电。
+
[[file:Microduino-Joypad-Pinout4Big.jpg|800px|thumb|center]]
+
图 8.3 解锁操作
 
+
再把油门摇杆拨到最下方,左上边开关往上推(打开油门开关),初次使用建议将精度调整开关调成拨到下面,使飞行更稳定。
*当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否者四轴将失控,避免发生意外。
+
 +
图 8.4 起飞配置
 +
这时参考图 8.5,你只要轻轻推动油门即可看到四个螺旋浆开始飞速转起来了。继续加大油门,确保它飞起来了。可以稍微高一点,不要紧贴地面,然后通过方位摇杆控制平衡了。
 +
 +
图 8.5 遥控器控制说明
  
 +
图 8.2 打开开关
 
==注意问题==
 
==注意问题==
*蓝牙连接是第一步,也是关键的一步,请确定两个蓝牙能够连接。
+
尽管在前面的内容中列出了不少要注意的一些问题,这里再总结一下。
*下载程序时候请不要叠加BT模块,这样会引起串口冲突,容易出现问题。
+
*关于安装
*注意四轴飞行器四个螺旋桨的安装,别错了,否者飞不起来。
+
 四旋翼飞行器的四个螺旋桨是有顺序的,如果安装出错,很有可能导致飞行器飞不起来。
*锂电池正负极别接错了,否则会烧坏电路。
+
 锂电池正负极,红线为正极,黑线为负极,一旦接错很容易烧坏电路,尤其在给Microduino-Joypad供电时,因为没有防插错设计,很容易插反,这要格外注意。
*飞行器请先对遥控器(Microduino-Joypad)进行校准,否者容易导致飞不稳。
+
*关于参数调整
*遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。
+
 参考第四小节所介绍的内容来调整飞行器PID参数和飞行模式。建议在推荐配置的基础上进行修改。如果要手动修改PID参数,建议每次只修改一个参数,否则不太容易确定调整的哪些参数发生作用。
*当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否者四轴将失控,避免发生意外。
+
*关于调试
 
+
 蓝牙连接是第一步,也是关键的一步,请确定两个蓝牙能够连接。
 +
 Microduino-USBTTL与蓝牙模块用相同的引脚作为串口,所以在使用Microduino-USBTTL下载程序时,请不要叠加使用蓝牙模块,会引起串口冲突,容易出现问题。
 +
 必须对遥控器(Microduino-Joypad)和飞行器进行校准,否则容易导致飞行器飞行不稳。
 +
*关于飞行控制
 +
 务必选择一个空旷的地方就行试飞,比如学校的操场上,公园比较大的草坪。
 +
遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。
 +
 当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否则会使四旋翼飞行器失控,容易发生意外。
 +
*关于电池充电
 +
当飞行器,或者遥控板上的电源指示灯突然熄灭,说明电池已经耗尽,要尽快充电。飞行器或者遥控板上都集成了充电管理芯片,用普通的手机充电器,通过micro USB数据线接入板上的micro USB口即可。充电时要注意,Microduino-Joypad(如图 9.1所示)两个micro USB接口,我们要使用的是右边的充电接口。
 +
 +
图 9.1 Joypad接口说明
 
|}
 
|}

2015年8月23日 (日) 08:43的版本

Language English

概述

四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。如图 1.1所示,4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。 根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。如图 1.1所示,十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。 大多数飞行器采用的是X字模式。X字模式相对于十字模式来说,控制起来更加困难,但动作的灵活性会更高。

图 1.1 十字模式和X字模式

材料清单

  • Microduino设备
模块 数量 功能
Microduino-CoreRF 2 核心板
Microduino-USBTTL 1 下载程序
Microduino-10DOF 1 姿态稳定
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

简介

原理

四旋翼飞行器通过调节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 俯仰运动和滚转运动

结构

图 1.7 四旋翼飞行器示意图 如图 1.7所示,是四旋翼飞行器的结构简图。飞行器包括主要包括遥控器(航模遥控)、飞行控制器以及四个电机组成。而飞行控制器又包括微控制器、遥控信号接收模块、传感器模块(陀螺仪、加速度计、电子罗盘和GPS定位模块)和电机驱动模块。

基本的控制流程如下: 遥控器发出控制命令,比如起飞、向左飞等等,控制信号通过无线接收

  1. 遥控信号接收模块接收到控制信号,将其转化为PWM或者PPM等信号传递给飞行控制器。
  2. 微控制器根据遥控信号以及传感器的值(当前飞行器的状态,如加速度、方位等信息)来通过PWM控制四个电机以达到预期的动作。

因为四旋翼飞行器的四个电机组合控制才能实现6个方向的运动,是一个欠驱动系统,必须要有一个飞行控制器来控制整个系统。 在飞行控制器中,传感器,如陀螺仪和加速度计,是必须的。微控制器计算这两个传感器所传来的数据,获得当前飞行器的姿态,然后通过PID等算法调整电机的转速,以保持飞行器的稳定。当然还可以加入电子罗盘掌握机身的方向,加入GPS模块确定飞行器的地理位置。所以简单来说,四旋翼飞行器是一个具备两个闭环控制的系统,大环由遥控接收设备注入输入量,小环由姿态传感器注入输入量。 当然,这个过程中也有一些技术细节需要设计,比如传感器读入的数据需要进行滤波、俯仰(Pitch)、滚转(Roll)、偏航(Yaw)等动作的PID算法设计及调整。这是一个较复杂的综合系统,如果玩家想在理论方面从零开始学习则需要介绍许许多多,受篇幅所限,请参考相关资料,这里就不详细介绍了。

图 1.8 四旋翼飞行器套件实物 总的来说,本书所使用四旋翼飞行套件包括飞行器和遥控器两大部分,两者通过蓝牙传输控制指令。 飞行器主要由带4个电机的机架、Microduino-CoreRF、Microduino-BT和Microduino-10DOF等模块组成。其中Microduino-10DOF集成了四种传感器,分别是三轴加速度+三轴陀螺仪传感器(MPU6050)、磁场强度传感器(HMC5883L)、数字气压传感器(BMP180)。通过I2C进行通信。 MPU6050是其中最主要的姿态传感器,内部集成了三轴加速度计和三轴陀螺仪,不仅消除了组合加速度计和陀螺仪时容易出现的对准误差,而且内置了可编程的低通滤波器,即使在飞行器经受较大振动时,控制程序通过配置适当频率的低通滤波器,可以滤掉高频振动。这种处理方式可以减小四旋翼飞行器自身的振动对陀螺仪数据产生的影响。

图 1.9 Microduino-10DOF 遥控器是在Microduino-Joypad的基础上改造而成,包括Microduino-CoreRF、Microduino-TFT、Microduino-Joypad面板等模块组成。


图 1.10 遥控器

优点

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-CoreRF 1 核心板
Microduino-USBTTL 1 下载程序
Microduino-10DOF 1 姿态稳定
Microduino-QuadCopter 1 四轴驱动

1. 将Microduino-QuadCopter底板安置在机架底座上,并用螺丝将其固定住。安装时注意,飞行器头部方向默认是Upin口的开口方向。

图 3.1 固定Microduino-QuadCopter 2. 将四个电机臂用螺丝安装在机架底座上,安装的时候玩家按照如下方法设定一个机头方向:一般我们定义橙色的两个桨是前桨,黑色的两个桨是后桨。这样在远处也能够依靠桨的颜色来判别机头的方向。安装时还要按照正确的顺序来,左前方和右下方的桨要安装A桨,右前方和左下方的桨要安装B桨。每个桨的上面都有A或B标示。

图3.2 安装电机臂

图 3.3 电机臂的安装位置 3. 将机架反过来,可以看到4个螺丝孔,用螺丝将机架与电极臂固定住。

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

图 3.5 连接电机接头 根据以上步骤就完成了机架的组装。


下载与调试

将Microduino-CoreRF、Microduino-USBTTL叠堆到一起,并用MicroUSB数据线将Microduino-USBTTL和电脑连接起来。 打开MultiWii_CoreRF中的【MultiWii_RF】程序,在菜单栏的Tools下的Board选择板卡Microduino-Core RF,并在Tools下的Serial Port中选择对应的串口(COM-XX),完成这些配置后,点击左上角的√进行编译操作,在编译结束后,点击→完成对硬件的烧录。


图 4.1 在驱动板上堆叠模块

当烧录正确执行,会在开发工具下方显示下载完成,软件搭建就完成了。

图 4.2 烧录程序 Microduino-USBTTL下载模块在下载程序和串口调试校准四轴的时候才用到,其他时候可以不叠加。

校正四旋翼飞行器

如图4.3所示,在校正飞行控制器时,只需要将Microduino-CoreRF、Microduino-10DOF、Microduino-USBTTL叠堆到一起并安装到飞控底板上即可。

图 4.3 组装飞行控制器 在MultiWiiConf\application.windows32目录下里有一款MultiWiiConf GUI,该软件可以用来校准和调整飞行控制器的各种参数。

图 4.4 MultiWiiConf界面

传感器校准

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

图 4.5 传感器校准

设置PID参数

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

使用传感器值排除故障

这种方法有助于排除飞行器在方向上出现的问题。它可以用来显示控制板安装的方向正确是否正确,或者有没有在“config.h”中选择正确的控制板类型。  *将机身倾斜到右侧(左侧向上抬起): MAG_ROLL、ACC_ROLL和GYRO_ROLL数值升高 MAG_Z和ACC_Z数值降低  *将机身往前倾(尾部向上抬起): MAG_PITCH、ACC_PITCH和 GYRO_PITCH数值升高 MAG_Z和ACC_Z数值降低  *将机身顺时针方向转动(偏航): CYRO_YAW数值升高  *机身保持水平: MAG_Z和ACC_Z数值为正

飞行模式

在MultiWiiCong GUI中,通过发送器的辅助开关可以选择多种飞行模式。如果你的发送器有5个或以上的通道,你可以在软件上使用第5个通道(辅助开关)来改变飞行模式。每种模式定义如下。

模式 陀螺仪 加速度计 气压计 罗盘(磁力计) GPS
ACRO/只带陀螺仪 X
ANGLE(稳定/水平/加速度) X X
HORIZON X X
BARO(高度保持) X X X
MAG(航向保持) X X X
HEADFREE(航向自主) X X X
GPS自动返航 X X X
GPS航标 X X X X
GPS定位停悬 X X X X
GPS X X X X
故障保护 X

注:X=该模式下需要该硬件


设置飞行模式

为了设置飞行模式,你需要在待激活的模式下,检查对应辅助开关的高—中—低三档选择框。(一旦完成设置,需要点击“WRITE”将配置参数上传)

图 4.10飞行模式设置示例 例如:这里设置的AUX1飞行模式(如图 4.10所示):  ACRO——当AUX1为LOW(1000);当什么都选中时,飞行模式为ACRO  ANGLE——但AUX1为MID(1500)  HORIZON——但AUX1为HIGH(2000)


    • A:电机控制


1. 电机加锁(ARM)

a) 对电机加锁,这可以取代通常的以操纵杆组合方式的控制。

b) 取决于选择的哪个通道(例如,加锁/解锁可以是一个开关或按钮)


    • B:飞行模式

在任意时刻,只能激活下面的其中一种飞行模式。


1. ACRO

a) 当HORIZON或ANGLE模式未被激活时,默认模式为ACRO,更多的是“特技”飞行

b) 传感器:只需要陀螺仪


2. ANGLE

a) 一种稳定的飞行模式(该模式下PID数值会被正确地调整,而陀螺仪和加速度计也会被校准和修正),会让飞行器保持相对地面水平的状态

b) 传感器:陀螺仪和加速度计

注意:根据MultiWii开发者的说法,ANGLE模式几乎已经淘汰,而大多数情况下推荐采用HORIZON模式。


3. HORIZON

a) 间于ACRO和ANGLE的混合模式,结合了快速遥控命令下的特技控制和慢速遥控命令下的稳定效果

b) 当俯仰和滚转操纵杆位于中心时,会处于ANGLE模式;当打满俯仰或滚转操纵杆实现翻转时,会处于ACRO模式

c) 传感器:陀螺仪和加速度计 其他的飞行模式可以跟主飞行模式和其他模式一起激活:


4. BARO

a) 当飞行控制器没有接收到其他命令时,为了保持固定的高度,需要用到气压计

b) 如果激活了BARO(高度保持)和GPS模式,这些模式会使用相同的计算高度

c) 传感器:陀螺仪、加速度计和气压计(在该模式下,加速度计用来估算Z轴的加速度值)


5. MAG

a) 航向(罗盘方向)锁定模式,该模式会试着保持偏航的方向。在所有稳定的模式下都可以激活该模式。飞行器会一直保持同一方向,直到接收到发射器发出的偏航输入。没有这种模式,航向会出现轻微的偏差(像直升机机尾的陀螺仪)。相比没有MAG,MAG模式可以让飞行器尾部不产生漂移,就好像航向保持和常规直升机陀螺仪的差别

b) 传感器:陀螺仪、加速度计和磁力计(这里也需要加速度计来确定方位角)


6. HEADFREE

不影响这些主模式(ANGLE/HORIZON/ACRO)。它会只保持飞行器的航向(偏航),而且总会以滚转或俯仰操纵杆移动的方向移动。在MAG模式下可以激活该模式。


7. HEADADJ

为HEADFREE模式设置新的偏航方向


    • C:GPS模式

GPS模式可以再ANGLE或HORIZON飞行模式下激活。如果在加锁阶段没有锁定GPS,该模式会被忽略。通常,GPS模会通高度保持模式一起使用,但并不是强制性的。对于GPS控制来说,磁力计是必 须,但MAG模式却不一定要磁力计。激活MAG模式不会影响GPS模式。GPS高度的数据不会用在控制环中(只作显示)。


1. GPS自动返航

使用陀螺仪和GPS,目的在于自动返航到起点处。根据飞行模式(ANGLE/HORIZON)完成稳定性。由于GPS高度不是非常精确,因此无法用来实现高度保持。


2. GPS保持

使用GPS和气压计保持当前的位置

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

前面已经提及,遥控器由控制板(Microduino-Joypad)、微控制器(Microduino-CoreRF)、显示模块(Microduino-TFT)、以及下载调试模块(Microduino-USBTTL)组成。

模块 数量 功能
Microduino-CoreRF 1 核心板
Microduino-USBTTL 1 下载程序
Microduino-Joypad 1 遥控
Microduino-TFT 1 显示屏

硬件搭建

  • 步骤一:将Microduino-TFT安装在Microduino-Joypad面板上,用尼龙螺丝将两者固定;
  • 步骤二:将底面板粘贴在Microduino-Joypad底部;
  • 步骤三:将Microduino-TFT与Microduino-Joypad通过转接线连接起来;
  • 步骤四:将锂电池连接到底板上,注意正负极别接反了,板子背面标注了正负极;
  • 步骤五:将底板和面板用尼龙螺丝固定好;
  • 步骤六:你可以打开电源开关,观察供电是否正常。
  • 步骤七:7将Microduino-USBTTL、Microduino-CoreRF插入在Microduino-Joypad底板上的Upin27接口。

遥控器程序调试

  • 给CoreRF下载程序

将Microduino-CoreRF、Microduino-USBTTL叠堆到一起,打开【Joypad_RC】程序,选择好板卡Microduino-Core RF和对应的Serial Port端口,点击左上角的√进行编译操作,在编译结束后,点击→完成对硬件的烧录。 程序下载完毕,将Microduino-CoreRF叠堆到Joypad底板上。 遥控器操作及说明

图 7.1 遥控器按钮功能说明

将左上边是油门控制开关,打开(拨到上面),才能进行控制,你可以摇动摇杆,观察屏幕的变化。 右边开关是精度调整开关,开关拨到上面可以最大幅度控制,否则只能小幅度控制了,小幅度有助于稳定控制。 左边摇杆在垂直方向上控制油门,越往上油门越大,动力越大飞的越高,在水平方向上控制四轴在水平方向旋转。 右边摇杆在垂直方向上控制前后方向移动,往上向前,往下向后,在水平方向上控制左右方向移动。

开机配置

调试Microduino-Joypad

  • 采用电池供电,拔出USB数据线,打开遥控器电源开关,按下复位按键(左边USB接口右边那个)进入系统,请在4S内按下【key1】按键(从左边数开始第一个),进入遥控器校准和控制选择模式。
  • 选择控制模式
    • 我们可以通过【key3】按键来选择是控制四轴飞行器(Quad.)还是机器人(Robot),同时Robot模式可控制平衡车和BOXZ mini,黑色表示选中。因此我们需要选择到Quad.模式。
    • 我们可以通过【key4】按键来选择是否是体感控制模式,当然选择体感模式,你必须叠加Microduino-10DOF/zh模块,选择“MPU ON”。如果是摇杆模式,选择“MPU OFF”。
  • 摇杆校准
    • 360度最大幅度旋转两个摇杆,看TFT屏上数据没变化即可按下【key2】按键,进入玩耍。
  • 将左上边控制开关打开(拨到上面),才能进行控制,你可以摇动摇杆,观察屏幕的变化。
  • 右边开关是幅度调节模式,开关拨到上面可以最大幅度控制Robot,否则只能小幅度控制了,这样有助于稳定控制。
  • 请把将左上边开关拨到下面(关闭油门),再把油门摇杆拨到最下方。

打开遥控器电源开关,按下复位按键(左边USB接口右边那个)进入系统,请在4S内按下【key1】按键,进入遥控器校准和控制选择模式。

图 7.2 开机配置 摇杆校准,将左边摇杆拨动到中间,显示屏上第二个数据在0左右即可。

图 7.3 摇杆校准 选择控制模式,我们可以通过【key3】按键来选择是控制四轴飞行器(Quad.)还是机器人(Robot),同时Robot模式可控制平衡车和BOXZ mini,黑色表示选中。因此我们需要选择到Quad.模式。

图 7.4 选择控制模式

我们可以通过【key4】按键来选择是否是体感控制模式,当然选择体感模式,你必须叠加Microduino-10DOF模块,选择“MPU ON”。如果是摇杆控制模式,选择“MPU OFF”。

图 7.5 选择控制模式 至此,飞行控制器和遥控器已经组装完成,接下来便是将两者结合起来,开始试飞,除了练习使用操纵杆,还要观察飞行器实际的飞行状态,以便进一步优化PID等参数。

整体测试

把电池装到四轴机架底下,再和Microduino-QuadCopter电源线连接,注意正负,红线为正,黑线为负。

图 8.1 安装电池 打开Microduino-QuadCopter上的开关,放置在平稳的地方,按下复位按键,系统将对传感器进行校准,未完成时板子上的led灯闪烁,校准完成后将熄灭,此时等待解锁。

  • 对四轴进行解锁

 请把Joypad遥控器左上边开关拨到下面(关闭油门),防止解锁后不小心开了油门使四轴飞行器迅速起飞发生意外。  右边的开关拨到上面(幅值达到最大才能解锁)。  将油门摇杆拉到最低后移到右边等待2S左右, led长亮说明解锁成功,这样就可以准备飞了,否则将油门摇杆置于中间,重新操作。如果尝试多次不能解锁,对四轴飞行器核心复位,系统将对传感器进行校准,重新尝试解锁。

图 8.3 解锁操作 再把油门摇杆拨到最下方,左上边开关往上推(打开油门开关),初次使用建议将精度调整开关调成拨到下面,使飞行更稳定。

图 8.4 起飞配置 这时参考图 8.5,你只要轻轻推动油门即可看到四个螺旋浆开始飞速转起来了。继续加大油门,确保它飞起来了。可以稍微高一点,不要紧贴地面,然后通过方位摇杆控制平衡了。

图 8.5 遥控器控制说明

图 8.2 打开开关

注意问题

尽管在前面的内容中列出了不少要注意的一些问题,这里再总结一下。

  • 关于安装

 四旋翼飞行器的四个螺旋桨是有顺序的,如果安装出错,很有可能导致飞行器飞不起来。  锂电池正负极,红线为正极,黑线为负极,一旦接错很容易烧坏电路,尤其在给Microduino-Joypad供电时,因为没有防插错设计,很容易插反,这要格外注意。

  • 关于参数调整

 参考第四小节所介绍的内容来调整飞行器PID参数和飞行模式。建议在推荐配置的基础上进行修改。如果要手动修改PID参数,建议每次只修改一个参数,否则不太容易确定调整的哪些参数发生作用。

  • 关于调试

 蓝牙连接是第一步,也是关键的一步,请确定两个蓝牙能够连接。  Microduino-USBTTL与蓝牙模块用相同的引脚作为串口,所以在使用Microduino-USBTTL下载程序时,请不要叠加使用蓝牙模块,会引起串口冲突,容易出现问题。  必须对遥控器(Microduino-Joypad)和飞行器进行校准,否则容易导致飞行器飞行不稳。

  • 关于飞行控制

 务必选择一个空旷的地方就行试飞,比如学校的操场上,公园比较大的草坪。  遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。  当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否则会使四旋翼飞行器失控,容易发生意外。

  • 关于电池充电

当飞行器,或者遥控板上的电源指示灯突然熄灭,说明电池已经耗尽,要尽快充电。飞行器或者遥控板上都集成了充电管理芯片,用普通的手机充电器,通过micro USB数据线接入板上的micro USB口即可。充电时要注意,Microduino-Joypad(如图 9.1所示)两个micro USB接口,我们要使用的是右边的充电接口。

图 9.1 Joypad接口说明