大家好,又见面了,我是你们的朋友全栈君。
四旋翼飞行器结构和原理
声明:引用请注明出处http://blog.csdn.net/lg1259156776/
前言:前年做电赛时留下的一套四旋翼飞行器如今只剩下四个旋翼和电机(不知道被谁给拆了,组装零件找不到了),趁着国庆几天假期,希望能够快速的将其重新DIY出来。其中控制和驱动板卡可以暂时先由面包板焊接出来,等验证成功能飞的起来时在重新设计集成电路板来实现整机。
旋翼的原理:升力的来龙去脉
这是空气动力学中的知识,研究的内容十分广泛,本文只关注通识理论,阐述对翼型升力和旋翼升力的原理。
翼型的升力
根据流体力学的基本原理,流动慢的大气压强较大,而流动快的大气压强较小。由于机翼一般是不对称的,上表面比较凸,而下表面比较平(翼型),流过机翼上表面的气流就类似于较窄地方的流水,流速较快,而流过机翼下表面的气流正好相反,类似于较宽地方的流水,流速较上表面的气流慢。大气施加与机翼下表面的压力(方向向上)比施加于机翼上表面的压力(方向向下)大,二者的压力差便形成了升力。[摘自升力是怎样产生的]。
所以对于通常所说的飞机,都是需要助跑,当飞机的速度达到一定大小时,飞机两翼所产生的升力才能抵消重力,从而实现飞行。
旋翼的升力
飞机,直升机和旋翼机三种起飞原理是不同的。飞机依靠助跑来提供速度以达到足够的升力,而直升机依靠旋翼的控制旋转在不进行助跑的条件下实现垂直升降,直升机的旋转是动力系统提供的,而旋翼旋转会产生向上的升力和空气给旋翼的反作用力矩,在设计中需要提供平衡旋翼反作用扭矩的方法,通常有单旋翼加尾桨式(尾桨通常是垂直安装)、双旋翼纵列式(旋转方向相反以抵消反作用扭矩)等;而旋翼机则介于飞机和直升机之间,旋翼机的旋翼不与动力系统相连,由飞行过程中的前方气流吹动旋翼旋转产生升力(像大风车一样),即旋翼为自转式,传递到机身上的扭矩很小,无需专门抵消。
而待设计的四旋翼飞行器实质上是属于直升机的范畴,需要由动力系统提供四个旋翼的旋转动力,同时旋翼旋转产生的扭矩需要进行抵消,因此本着结构简单控制方便,选择类似双旋翼纵列式加横列式的直升机模型,两个旋翼旋转方向与另外两个旋翼旋转方向必须相反以抵消陀螺效应和空机动力扭矩。
四旋翼飞行器的结构形式
旋翼对称分布在机体的前后、左右四个方向,四个旋翼处于同一高度平面,且四个旋翼的结构和半径都相同,四个电机对称的安装在飞行器的支架端,支架中间空间安放飞行控制和驱动板。
四旋翼飞行器的工作原理
四旋翼飞行器通过调节四个电机转速来改变旋翼转速,实现升力的变化,从而控制飞行器的姿态和位置。四旋翼飞行器是一种六自由度的垂直升降机,但只有四个输入力,同时却有六个状态输出,所以它又是一种欠驱动系统。
从上图提供的6中运动姿态中可以看出,通过控制电机的转速和方向,可以实现6个自由度的运动。因此,四旋翼飞行器的设计主要包括三个方面:一是结构设计;二是电机驱动设计(电调);三是控制程序设计。
四旋翼飞行器的设计
结构设计
一方面平衡性是由结构设计保证的;一方面旋翼的结构设计与升力大小有关;
电机驱动设计
因为电机的电流是很大的,通常每个电机正常工作时,平均有 3a 左右的电流,如果没有电调的存在,飞控板根本无法承受这样大的电流(另外也没驱动无刷电机的功能)。电调的作用就是将飞行控制板卡的控制信号转变为电流的大小来调节电机的转速。关于电调的知识回头专门用一篇博文说明。
控制程序的设计
主要是控制信号的产生。要使飞行器实现不同的飞行姿态和功能,通常都是采用反馈控制,需要在飞行控制板卡上放置陀螺仪,四轴加速度计或测量高度的传感器(超声传感器)等。通过反馈回来的位置,高度或角度等信息,通过合理的控制算法产生恰当的控制信号,通过电调调节四个电机的旋转状态,进而实现各种姿态和功能。
PS:由于在实际实现前所撰写博文,设计方面的考虑肯定是不周全的,当真正实现之后再进行各个方面的内容补充。
参考文献:
http://blog.csdn.net/jbb0523/article/details/24198505
http://zhan.renren.com/niuneine?gid=3602888498032410217&checked=true
http://zhan.renren.com/worldofrobot?from=template&checked=true
http://www.cnmox.com/thread-12460-1-1.html
2015-9-30 艺少
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125795.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...