“开源四轴飞行器系统/zh”的版本间的差异
Zhangfengfeng(讨论 | 贡献) (→四轴飞行器机架搭建与调试) |
|||
第4行: | 第4行: | ||
| | | | ||
==概述== | ==概述== | ||
− | 四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。4个螺旋桨呈十字形对称分布,1和2 | + | 四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。 |
|- | |- | ||
|根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。 | |根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。 | ||
第15行: | 第15行: | ||
===系统架构=== | ===系统架构=== | ||
[[File:jiagou.PNG|center|300px]] | [[File:jiagou.PNG|center|300px]] | ||
− | + | 如图是四旋翼飞行器的结构简图。飞行器包括主要包括遥控器(航模遥控)、飞行控制器以及四个电机组成。而飞行控制器又包括微控制器、遥控信号接收模块、传感器模块(陀螺仪、加速度计、电子罗盘和GPS定位模块)和电机驱动模块。 | |
===飞行原理=== | ===飞行原理=== | ||
第34行: | 第34行: | ||
[[File:right-left-sport.jpg|center|400px]] | [[File:right-left-sport.jpg|center|400px]] | ||
− | |||
− | |||
− | |||
====偏航运动==== | ====偏航运动==== | ||
第73行: | 第70行: | ||
==四轴飞行器机架搭建与调试== | ==四轴飞行器机架搭建与调试== | ||
− | === | + | ===四旋翼飞行器材料清单=== |
*Microduino设备 | *Microduino设备 | ||
{|class="wikitable" | {|class="wikitable" | ||
第81行: | 第78行: | ||
|[[Microduino-CoreRF/zh]]||1||核心板 | |[[Microduino-CoreRF/zh]]||1||核心板 | ||
|- | |- | ||
− | |[[Microduino-USBTTL | + | |[[Microduino-USBTTL]] ||1||下载程序 |
|- | |- | ||
− | |[[Microduino-10DOF | + | |[[Microduino-10DOF]] ||1||姿态稳定 |
|- | |- | ||
− | |[[Microduino-QuadCopter | + | |[[Microduino-QuadCopter]]||1||四轴驱动底板 |
|- | |- | ||
− | |2.4G天线||1||加长无线传输距离 | + | |[[2.4G天线]]||1||加长无线传输距离 |
|} | |} | ||
第105行: | 第102行: | ||
|螺丝刀||1||固定 | |螺丝刀||1||固定 | ||
|} | |} | ||
− | [[File: | + | [[File:四轴物料1.jpg|center|600px]] |
− | + | ||
− | [[File: | + | *'''Step 1''':将四个螺旋翼按照如图所示'''方向'''插入到机架的对应机口上。 |
− | + | [[File:Quostep1.jpg|center|600px]] | |
− | [[File: | + | *'''Step 2''':将电池放到'''机架底部'''的对应位置。 |
− | + | [[File:Quostep2.jpg|center|600px]] | |
− | [[File: | + | *'''Step 3''':将模块底板放入'''机架顶部位置''',再将旋翼的接线插入模块底板对应的'''接口位置'''。 |
− | + | [[File:Quostep3.jpg|center|600px]] | |
− | [[File: | + | *'''Step 4''':将'''天线接在CoreRF上''',之后与10DOF上下'''叠加'''在一起,加在底板上,'''Upin方向朝两个橙色桨安装(如图所示)'''。 |
− | + | [[File:Quostep4.jpg|center|600px]] | |
− | [[File: | + | *'''Step 5''':将底板模块的接线头和电池的连线进行'''连接'''。 |
− | + | [[File:Quostep5.jpg|center|600px]] | |
− | [[File: | + | *'''Step 6''':将CoreRF上的'''天线贴纸撕下'''来贴在机架背后任意位置,至此无人机组合完成。 |
− | * | + | [[File:Quostep6.jpg|center|600px]] |
− | *电池线从电极臂下方连接,防止螺旋桨转动时与电池线碰撞。 | + | **'''两根先正负极不要反了,红色线连红色线,黑色线连黑色线。''' |
+ | **'''电池线从电极臂下方连接,防止螺旋桨转动时与电池线碰撞。''' | ||
==程序下载== | ==程序下载== | ||
− | *四轴飞行器代码:[https://github.com/wasdpkj/MultiWii_for_Microduino MultiWii_for_Microduino] | + | *四轴飞行器代码:'''[https://github.com/wasdpkj/MultiWii_for_Microduino MultiWii_for_Microduino]''' |
==程序烧写== | ==程序烧写== | ||
第147行: | 第145行: | ||
*关闭自动校正功能 | *关闭自动校正功能 | ||
**要先关闭自动校正,才可进行手动配置 | **要先关闭自动校正,才可进行手动配置 | ||
− | ** | + | **打开四轴代码中的'''config.h'''文件,注释以下所有代码即可: |
***//#define MICRODUINO_AUTO_CALIBRATING //免上位机配置,开机自动校正陀螺仪 | ***//#define MICRODUINO_AUTO_CALIBRATING //免上位机配置,开机自动校正陀螺仪 | ||
***//#define MICRODUINO_AUTO_ANGLE //免上位机配置,开启自稳功能 | ***//#define MICRODUINO_AUTO_ANGLE //免上位机配置,开启自稳功能 | ||
第153行: | 第151行: | ||
*连接四轴与电脑 | *连接四轴与电脑 | ||
− | **用USB线将电脑与四轴上的[[Microduino-USBTTL/zh]]上连接起来 | + | **用USB线将电脑与四轴上的'''[[Microduino-USBTTL/zh]]'''上连接起来 |
− | **并确保[[Microduino-CoreRF/zh]]、[[Microduino-10DOF/zh]]也已正常叠堆 | + | **并确保'''[[Microduino-CoreRF/zh]]'''、'''[[Microduino-10DOF/zh]]'''也已正常叠堆 |
*水平摆正四轴 | *水平摆正四轴 | ||
第160行: | 第158行: | ||
*连接上位机软件 | *连接上位机软件 | ||
− | ** | + | **打开'''MultiWiiConf'''文件夹下对应系统类型的上位机程序 '''(注意:需拥有JAVA环境)''' |
− | ** | + | **在上位机软件左侧,'''PORT COM'''选择对应串行端口,进行连接 |
*设置PID参数 | *设置PID参数 | ||
**我们推荐你载入我们的配置文件 | **我们推荐你载入我们的配置文件 | ||
− | ** | + | **在上位机软件左侧,'''LOAD'''选择目录'''\MultiWiiConf\Microduino.mwi'''中的文件 |
**你也可以通过鼠标左键拖拽对应对象上的数值完成PID修改 | **你也可以通过鼠标左键拖拽对应对象上的数值完成PID修改 | ||
**点击WRITE将设置写入飞控,完成设置 | **点击WRITE将设置写入飞控,完成设置 | ||
− | * | + | *开启自稳模式'''(重要)''' |
− | ** | + | **在上位机的通道映射区找到'''AUI1'''对应的'''ANGLE'''功能 |
− | ** | + | **激活'''LOW'''、'''MID'''、'''HIGH'''三组(在方块处点击鼠标左键,灰色方块变成白色即完成激活) |
**点击WRITE将设置写入飞控,完成设置 | **点击WRITE将设置写入飞控,完成设置 | ||
*加速度计校正 | *加速度计校正 | ||
− | ** | + | **点击'''CALIB_ACC'''按钮 |
**大约5秒内,等待数据平稳即可 | **大约5秒内,等待数据平稳即可 | ||
**点击WRITE将数值写入飞控,完成校正 | **点击WRITE将数值写入飞控,完成校正 | ||
第195行: | 第193行: | ||
***ACC_Z数值为正 | ***ACC_Z数值为正 | ||
− | *完成校正后我们推荐你取下[[Microduino-USBTTL/zh]]]模块,以减轻飞行重量 | + | *完成校正后我们推荐你取下'''[[Microduino-USBTTL/zh]]]模块,以减轻飞行重量 |
===Joypad遥控指南=== | ===Joypad遥控指南=== | ||
− | *搭建过程可参考以下页面:[ | + | *搭建过程可参考以下页面:'''[[Microduino-Joypad_Getting_start/zh|Joypad使用指南]]''' |
− | *Joypad通讯模式配置* | + | *'''Joypad通讯模式配置'''* |
− | *模式配置可参考以下页面:[https:// | + | *模式配置可参考以下页面:'''[https://wiki.microduino.cn/index.php?title=Microduino-Joypad_Getting_start/zh#.E9.80.9A.E8.AE.AF.E6.A8.A1.E5.BC.8F 通讯模式配置]''' |
− | **当我们使用[[Microduino-CoreRF/zh]] | + | **当我们使用'''[[Microduino-CoreRF/zh]]'''作为'''通讯'''时,Joypad对应选择'''“Quadro.”''' |
− | *Joypad电池使用说明* | + | *'''Joypad电池使用说明'''* |
− | *特别要注意的是电池使用说明:[https:// | + | *特别要注意的是电池使用说明:'''[https://wiki.microduino.cn/index.php?title=Microduino-Joypad_Getting_start/zh#Step-3_.E7.94.B5.E6.B1.A0.E9.80.9A.E7.94.B5 电池使用说明]''' |
===Joypad解锁/加锁指南=== | ===Joypad解锁/加锁指南=== | ||
第212行: | 第210行: | ||
*确认Joypad对应开关状态: | *确认Joypad对应开关状态: | ||
**不论加锁或解锁,都需确认Joypad开关状态如下: | **不论加锁或解锁,都需确认Joypad开关状态如下: | ||
− | ** | + | **Joypad'''左上拨档开关'''拨下(油门锁定开启) |
− | ** | + | **Joupad'''右上拨档开关'''拨上(摇杆幅值最大) |
*四轴初始化: | *四轴初始化: | ||
第220行: | 第218行: | ||
*解锁: | *解锁: | ||
− | ** | + | **将'''左摇杆'''由中点打到'''最右''',等待2S左右 |
− | ** | + | **若指示灯'''长亮'''即说明完成'''解锁''',否则'''左摇杆'''回中,重新操作本步 |
**如果尝试多次不能解锁,应复位四轴飞行器核心后再重新尝试 | **如果尝试多次不能解锁,应复位四轴飞行器核心后再重新尝试 | ||
*加锁: | *加锁: | ||
− | ** | + | **在已经'''解锁''',并且四轴'''静止'''的情况下 |
− | ** | + | **将'''左摇杆'''由中点打到'''最左''',等待2S左右 |
− | ** | + | **若指示灯'''熄灭'''即说明完成'''加锁''',否则'''左摇杆'''回中,重新操作本步 |
====一键法==== | ====一键法==== | ||
*修改代码,开启一键解锁 | *修改代码,开启一键解锁 | ||
− | ** | + | **打开四轴代码中的'''config.h'''文件,取消以下代码注释,重新下载四轴程序: |
***#define MICRODUINO_AUTO_ARM //免上位机配置,AUX1通道一键解锁,此时传统解锁方法失效 | ***#define MICRODUINO_AUTO_ARM //免上位机配置,AUX1通道一键解锁,此时传统解锁方法失效 | ||
*确认Joypad对应开关状态: | *确认Joypad对应开关状态: | ||
**不论加锁或解锁,都需确认Joypad开关状态如下: | **不论加锁或解锁,都需确认Joypad开关状态如下: | ||
− | ** | + | **Joypad'''左上拨档开关'''拨下(油门锁定开启) |
− | ** | + | **Joupad'''右上拨档开关'''拨上(摇杆幅值最大) |
**四轴的AUX1通道为低(key1按键控制) | **四轴的AUX1通道为低(key1按键控制) | ||
第245行: | 第243行: | ||
*解锁: | *解锁: | ||
− | ** | + | **按下Joypad的'''key1'''键,将'''AUX1通道'''置高 |
− | ** | + | **若指示灯'''长亮'''即说明完成'''解锁''' |
**如果尝试多次不能解锁,应复位四轴飞行器核心后再重新尝试 | **如果尝试多次不能解锁,应复位四轴飞行器核心后再重新尝试 | ||
*加锁: | *加锁: | ||
− | ** | + | **在已经'''解锁''',并且四轴'''静止'''的情况下 |
− | ** | + | **按下Joypad的'''key1'''键,将'''AUX1通道'''置低 |
− | ** | + | **若指示灯'''熄灭'''即说明完成'''加锁''' |
===Joypad控制指南=== | ===Joypad控制指南=== | ||
− | * | + | *'''务必阅读'''以下文字,来保证你的'''安全''': |
**四轴已经解锁,并且放在空阔地带 | **四轴已经解锁,并且放在空阔地带 | ||
**保证你的Joypad有充足电量 | **保证你的Joypad有充足电量 | ||
第264行: | 第262行: | ||
*初学者建议用以下操作来提高操控的精细度,使飞行更稳定 | *初学者建议用以下操作来提高操控的精细度,使飞行更稳定 | ||
− | ** | + | **Joupad'''右上拨档开关'''拨下(摇杆幅值最小) |
[[File:Microduino_QuadCopter_Remote6.jpg|600px|center]] | [[File:Microduino_QuadCopter_Remote6.jpg|600px|center]] | ||
*接下来,你可以准备飞行了: | *接下来,你可以准备飞行了: | ||
− | ** | + | **将Joypad'''左上拨档开关'''拨上(油门锁定关闭) |
*轻轻推动油门使四个螺旋浆转起来 | *轻轻推动油门使四个螺旋浆转起来 | ||
第285行: | 第283行: | ||
==注意问题== | ==注意问题== | ||
尽管在前面的内容中列出了不少要注意的一些问题,这里再总结一下。 | 尽管在前面的内容中列出了不少要注意的一些问题,这里再总结一下。 | ||
− | + | *关于安装 | |
− | *四旋翼飞行器的四个螺旋桨是有顺序的,如果安装出错,很有可能导致飞行器飞不起来。 | + | **四旋翼飞行器的四个螺旋桨是有顺序的,如果安装出错,很有可能导致飞行器飞不起来。 |
− | *锂电池正负极,红线为正极,黑线为负极,一旦接错很容易烧坏电路,尤其在给Microduino-Joypad供电时,很容易插反,这要格外注意。 | + | **锂电池正负极,红线为正极,黑线为负极,一旦接错很容易烧坏电路,尤其在给Microduino-Joypad供电时,很容易插反,这要格外注意。 |
− | + | *关于飞行控制 | |
− | *务必选择一个空旷的地方就行试飞,比如学校的操场上,公园比较大的草坪。 | + | **务必选择一个空旷的地方就行试飞,比如学校的操场上,公园比较大的草坪。 |
− | *遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。 | + | **遥控解锁前请先把左上边开关拨到下面(关闭油门),开始试飞请先把油门调到最低,避免解锁后油门值太大起飞发生意外。 |
*当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否则会使四旋翼飞行器失控,容易发生意外。 | *当你想关掉飞行器,请一定要先断开四轴的电源,再断开遥控器电源,否则会使四旋翼飞行器失控,容易发生意外。 | ||
− | + | *关于充电/干电池 | |
− | *飞行器底板有直接给飞行器电池充电的功能,只需直接插USB线给底板供电,就可以给电池充电 | + | **飞行器底板有直接给飞行器电池充电的功能,只需直接插USB线给底板供电,就可以给电池充电 |
− | *joypad利用干电池供电需要先把电源选择开关拨到Dry | + | **joypad利用干电池供电需要先把电源选择开关拨到Dry bat,安好干电池,用USB线给joypad供一下电'''立刻拔掉'''(安好干电池后不能长时间用USB线供电),就可以成功激活干电池供电功能 |
若出现其他问题,欢迎在论坛讨论部分提出 | 若出现其他问题,欢迎在论坛讨论部分提出 | ||
|} | |} |
2018年1月6日 (六) 01:32的版本
Language | English |
---|
目录概述四旋翼飞行器,又称为四旋翼直升机,顾名思义,是一种具备4个螺旋桨的飞行器,与直升机类似,可以完成空中悬停、飞行的动作。传统直升机会用一个主桨来产生推力,用一个尾桨来抵消主桨产生的扭矩(即锁尾),而四旋翼飞行器对角螺旋桨采用正反桨设计,从而不需要额外的机构进行“锁尾”。4个螺旋桨呈十字形对称分布,1和2 号桨逆时针转动,而3和4号桨顺时针转动,但4个螺旋桨产生的推力相同时,两组正反桨对机身所施加的反扭矩两两抵消,使得绕垂直方向旋转的反扭矩平衡,从而确保了航向的稳定。 | ||||||||||||||||||||||||||||||||||||
根据飞行器自定义的首尾方向,可以将四旋翼飞行器分为十字模式和X字模式两种。十字模式意味着首尾的方向会指向某个螺旋桨,而X字模式则是指首尾方向指向两个螺旋桨中间。 | ||||||||||||||||||||||||||||||||||||
大多数飞行器采用的是X字模式。X字模式相对于十字模式来说,控制起来更加困难,但动作的灵活性会更高。
原理系统架构如图是四旋翼飞行器的结构简图。飞行器包括主要包括遥控器(航模遥控)、飞行控制器以及四个电机组成。而飞行控制器又包括微控制器、遥控信号接收模块、传感器模块(陀螺仪、加速度计、电子罗盘和GPS定位模块)和电机驱动模块。 飞行原理垂直运动即飞行器垂直上升或下降。正如前文所说的,四个电机保持在同一转速,就能够在水平方向上保持稳定。如图2.2.1所示,如果四个电机增加到在同一个转速,产生的推力足以克服飞行器自身的重力,便能够上升;反之,如果四个电机同时降低到同一个速度,产生的推力无法克服飞行器的重力,便可以下降。如果外界没有其他的扰动,四个电机产生的推力恰好克服飞行器的重力,这样,飞行器就可以悬停在空中。 | ||||||||||||||||||||||||||||||||||||
只要让四个电机保持在相同转速,便能够让飞行器平稳地垂直运动,相对来说比较简单。
前后运动和侧向运动电机1为飞行器头部,而电机2为飞行器尾部。
偏航运动前面介绍的三种运动都是空间三个轴上的平移,接下来要介绍的三种运动是绕着三轴的旋转。 | ||||||||||||||||||||||||||||||||||||
偏航运动就是在水平方向上的左右转动,即绕着Z轴的旋转。旋翼在转动的过程中,由于空气阻力的作用,会形成与转动方向相反的反扭矩。偏航运动就是利用反扭矩实现的。当飞行器悬停时,4个电机的转速相同,两组正反扭矩相互抵消,维持平衡。当四个电机转速不完全相同时,不平衡的反扭力会引起四旋翼飞行器水平转动,从而实现偏航运动。如图所示,提升电机1和2的转速,同时降低电机3和4的转速,1和2 电机产生的顺时针反扭矩大于3和4电机产生的逆时针反扭矩,而且总的向上推力没有发生变化,于是机身在水平面上顺时针转动,又不会出现垂直位移。逆时针转动正好相反。
俯仰运动和滚转运动俯仰运动是指在Y轴上的旋转,而滚转运动则是在X轴上旋转。 | ||||||||||||||||||||||||||||||||||||
如图所示,提升电机1的转速,降低电机2的转速,两者转速的变化量应该一样,同时保持电机3和4转速不变。机身头部的推力大于尾部的推力,不平衡的力矩使得机身仰起。同样的,俯身运动则是降低电机1的转速,而提升电机2的转速,产生一个向前倾的力矩。 | ||||||||||||||||||||||||||||||||||||
同样是因为中心对称的缘故,滚转运动与俯仰运动的原理一样。维持电机1和2的转速不变,改变电机3和4的转速,产生不平衡的力矩,使得机身绕着X轴做出滚转的运动。
控制流程遥控器发出控制命令,比如起飞、向左飞等等,控制信号通过无线接收
| ||||||||||||||||||||||||||||||||||||
因为四旋翼飞行器的四个电机组合控制才能实现6个方向的运动,是一个欠驱动系统,必须要有一个飞行控制器来控制整个系统。 | ||||||||||||||||||||||||||||||||||||
在飞行控制器中,传感器,如陀螺仪和加速度计,是必须的。微控制器计算这两个传感器所传来的数据,获得当前飞行器的姿态,然后通过PID等算法调整电机的转速,以保持飞行器的稳定。当然还可以加入电子罗盘掌握机身的方向,加入GPS模块确定飞行器的地理位置。所以简单来说,四旋翼飞行器是一个具备两个闭环控制的系统,大环由遥控接收设备注入输入量,小环由姿态传感器注入输入量。 | ||||||||||||||||||||||||||||||||||||
当然,这个过程中也有一些技术细节需要设计,比如传感器读入的数据需要进行滤波、俯仰(Pitch)、滚转(Roll)、偏航(Yaw)等动作的PID算法设计及调整。这是一个较复杂的综合系统,如果玩家想在理论方面从零开始学习则需要介绍许许多多,受篇幅所限,请参考相关资料,这里就不详细介绍了。 | ||||||||||||||||||||||||||||||||||||
总的来说,所使用四旋翼飞行套件包括飞行器和遥控器两大部分,两者通过CoreRF传输控制指令。 | ||||||||||||||||||||||||||||||||||||
飞行器主要由带4个电机的机架、Microduino-CoreRF和Microduino-10DOF等模块组成。其中Microduino-10DOF集成了四种传感器,分别是三轴加速度+三轴陀螺仪传感器(MPU6050)、磁场强度传感器(HMC5883L)、数字气压传感器(BMP180)。通过I2C进行通信。 | ||||||||||||||||||||||||||||||||||||
MPU6050是其中最主要的姿态传感器,内部集成了三轴加速度计和三轴陀螺仪,不仅消除了组合加速度计和陀螺仪时容易出现的对准误差,而且内置了可编程的低通滤波器,即使在飞行器经受较大振动时,控制程序通过配置适当频率的低通滤波器,可以滤掉高频振动。这种处理方式可以减小四旋翼飞行器自身的振动对陀螺仪数据产生的影响。
四轴飞行器机架搭建与调试四旋翼飞行器材料清单
程序下载
程序烧写
操作说明校正四旋翼飞行器指南自动校正(推荐)
手动校正
Joypad遥控指南
Joypad解锁/加锁指南传统法
一键法
Joypad控制指南
程序说明注意问题尽管在前面的内容中列出了不少要注意的一些问题,这里再总结一下。
若出现其他问题,欢迎在论坛讨论部分提出 |