开篇:润墨网以专业的文秘视角,为您筛选了一篇一起来做四轴飞行器(上)范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
四轴飞行器是近年来十分受青少年欢迎的一种飞行器,如果你也喜欢,就和我们一起来制作一个可控制的四轴飞行器吧。本期,我们先来了解一下四轴飞行器的一些基本飞行原理及控制飞行的基本知识。
四轴飞行器也被称做“四旋翼飞行器”,顾名思义,就是它有四个旋转翼。而之所以称之为四轴,是因为驱动它飞行的是四个独立的螺旋桨,每个螺旋桨都有独立的旋转中心。现在生活中见得最多的是单轴直升机, 一般民用的直升机都是这样的结构。当然,也有少数直升机,并不是单轴的,典型的如美国的“支努干”运输直升机就由前后两个螺旋桨来产生动力。
四轴飞行器的结构
四轴飞行器的结构可以说极其简单,我们先从单轴的开始说起。单轴直升机,也就是最常见的直升机,由于巨大的螺旋桨,和特殊的物理结构,使它能够在俯仰和横滚方向保持自平衡。很多同学对直升机尾部的尾桨有很多疑问,既然尾部的桨是横着安装的,没有给飞机提供向上的力,为什么还需要有这么一个桨?
我们来看图3,假设主桨是沿逆时针方向旋转的话,由于作用力与反作用力的存在,会对螺旋桨上造成一个反作用力,就相当于过酒店旋转门的时候,我们需要用力来推,才能让门旋转,而我们推门的时候能保持前进,是因为我们脚下在用力。如果直升机飞行在空气当中,没有了一个能够支撑它“使劲”的一个支撑点,就自然会造成一个反向的运动,就会让直升机造成深色箭头方向的顺时针旋转。就像以前的小直升机,螺旋桨旋转的时候,机身的旋转方向是与螺旋桨相反的。但是,由于直升机上需要乘坐乘客,所以,就必须要找一个方法来抵消这个扭力,最终,就在直升机的尾部安装尾桨来抵消,使直升机在偏航的方向上保持平衡。同时,可以调节尾桨的转速来控制飞行方向。另外,也可以在一个轴上安装两个相反方向旋转的主旋翼来抵消侧向的扭力。很多玩具飞机就采用这样的结构,称为“单轴双桨直升机”,四轴直升机的转向也靠这个原理来实现。
由于单轴直升机的升力中心可以与重心处于一条垂直线上,同时巨大的螺旋桨快速旋转时形成一个平衡陀螺,所以有很好的自稳定性,这也正是单轴直升机普及的原因。单轴直升机虽然能够通过螺旋桨的扭力和尾桨来控制行进的方向,但是直升机的前进后退就显得相对复杂。单轴直升机的俯仰以及横滚是通过改变主桨的螺距来实现,也就是改变螺旋桨与旋转方向的角度。比如螺旋桨转到机身后侧时螺距增大,升力增大,而转到机身前侧时螺距减小,升力减小,这样会产生一个向前推进的力,使直升机能够水平移动。
但是,为了实现可变螺距这个功能,直升机螺旋桨与机身连接的部件需要做得相当复杂,称之为“旋翼头”。图5和图6分别是真直升机和模型直升机的旋翼头。
由于旋翼头的结构非常复杂,同时要求精度非常高,这样,一般的模型玩家很少有自己动手来做旋翼头的。即便是资深玩家,能够做出旋翼头的也是寥寥无几。而相比之下,四轴飞行器的结构称得上是“简陋”了。仅仅四根支撑臂,装上电机,再配合上相应的电路,就算使用PVC管也能让它飞起来。
飞行原理
但结构上的简单带来了一个难题,即四轴飞行器会失去自平衡性,我们来看一下它的飞行原理(图8)。
四轴飞行器需要控制四个电机的转速,产生不同的升力,来控制四轴飞行器的运动方向。然而,每个螺旋桨必须完美配合,才能够保证四轴飞行器能够保持在空中飞行。加上每个电机有不一样的加工误差、信号延时等因素,手动控制飞行四轴飞行器难度就和用一根筷子顶起两个叠起的足球相当,几乎是不可能完成的事情。
幸运的是,近几年嵌入式和传感器的发展突飞猛进,令我们可以借助廉价的传感器和处理器,用计算机来实现四轴飞行器的飞行。
控制原理
为了能够让四轴飞行器保持飞行,需要加上计算机的帮助。简单来说,需要在四轴飞行器上装一台计算机,这台计算机能够“感觉”到飞行器目前的姿态。比如说,飞行器现在往左发生了倾斜,计算机“感受”到之后,立即向四个螺旋桨发出控制信号,使左侧的螺旋桨加大转速,右侧的螺旋桨减少转速,重新使飞行器回到平衡的姿态。这个过程必须非常快,通常在几十毫秒内完成。因为一旦飞行器发生了倾斜,螺旋桨向下的推力变为侧下方的推力,就像把一个球放到斜坡上,便会离开自己的位置。为了不使人感觉到四轴飞行器的移动,需要尽可能快地把所有姿态纠正的动作完成,这时飞行器就会不停地抖动。
图9为目前比较流行的四轴飞行器控制板之一,名叫“KK”,因为它的硬件原理图和软件源代码都是开源的,所以我们可以从很多渠道购买到,用它来体验四轴飞行器的乐趣。
“KK”控制板的中间是一块有很多引脚的芯片,这就是控制四轴飞行器的计算机,它是一块AVR芯片,是单片机(也就是单芯片微型计算机)的一种。在它左侧一块竖起的电路板上面的金属元件是陀螺仪,两侧平躺在电路板上的也是陀螺仪。陀螺仪就是芯片的“感觉器官”,它可以感觉到自身是否在旋转,以及旋转的速度,并将结果报告给单片机。单片机再根据陀螺仪提供的信息,控制电机的转速。图9中右侧的金属排针即为连接电机控制器的位置。
现在我们再来看看在单片机上运行的程序是如何工作的。
之前我们已经了解到,四轴飞行器上的计算机主要做的工作就是不断感知飞行器当前的姿态,然后控制螺旋桨的功率,把飞行器的姿态修正回水平的状态。在控制原理上,这个行为称为“反馈控制”。程序控制电机的功率,而电机的功率影响到飞行器的姿态,同时影响到飞行器姿态的还有机械误差等其他因素,而姿态又会进入计算机的程序,形成下一轮的控制。
图10中的姿态感知就是陀螺仪完成的事情,计算是由单片机来完成,执行机构就是带有螺旋桨的电机,飞行姿态就是由于螺旋桨以及气流等多方面原因造成的飞行姿态。
这样看来,程序似乎还比较简单,只要不断判断哪边倾斜了,然后控制两边电机的功率即可。但是事实真的这么简单吗?我们考虑一个简单的问题,万一飞行器发生了倾斜,那么程序究竟要往一边电机加多大的功率和另一边的电机减少多大的功率呢? 如果改变量太少,飞行器还会继续倾斜下去,修正没有明显的效果,可能导致飞行器产生位移,甚至会倾覆。如果改变量太大的话,那么飞行器就很有可能会往另一个方向发生倾斜,甚至倾覆。那么这个改变量的大小是需要特别指定的,一个可行的方法就是,根据现在飞行器已经偏移的角度来计算出正确的变化量。在控制理论里,有专门对这样的反馈控制进行讨论的技术,称之为PID控制。
图11就是PID控制器的基本结构,表现了原来程序框图中的计算部分。对算法有兴趣的同学可以自己利用课余时间查阅有关自动控制的资料来了解具体的控制过程。
当然,为了制得更稳定的四轴飞行器,仅仅有PID算法还是不够的,还要包括一些滤波的过程。在硬件上,还可以加入重力传感器、距离传感器等。而算法上的要求则会更高,在这里我们就不继续讨论了。下一期,我们将带领大家制作一架真正可以飞行的四轴飞行器,在实际动手做的过程中,一定能够体会到更多,学到更多。