【项目介绍】单发动机驱动的多旋翼飞行器及其控制系统

  • 现有的多旋翼飞行器(P)
  • 目的(P)
  • 变距
  • 传动
  • 机身结构
  • 控制
  • 桨叶
  • 一些小细节
    • 碳管的固定
    • 舵机供电
    • 同步带与碳管
  • 结果
  • 一个骚操作-停机迫降(P)
  • 一些别的主意(P)
    • 变速箱(P)
    • 无级变速(P)
  • 应用(P)
  • 结论(P)
  • 对一些问题的解答

这是潮州金山中学参加2019科创的项目之一,这篇文章写于2019年3月底,在2020年我上大学之后有一些补充,但未删减原有内容。在一些适用于科创的不切实际的内容,我在标题后加了一个“P”,意思是这是屁话或者没什么用的东西,可以不看。
这个项目是我参加第34届青少年科技创新大赛的作品。这篇文章是有关这个项目的详细介绍,目的在于提供给那些对我项目有兴趣的人更详细的信息,因为展板上空间有限,写不下太多东西。

现有的多旋翼飞行器(P)

多旋翼飞行器的定义为:一种具有三个及以上旋翼轴的特殊的无人驾驶直升机。其通过每个轴上的电动机转动,带动旋翼,从而产生升力。旋翼的总距固定,而不像一般直升机那样可变。通过改变不同旋翼之间的相对转速,可以改变单轴推进力的大小,从而控制飞行器的运行轨迹。

现有的多旋翼飞行器大部分使用了N个电机来带动N个螺旋桨,这样做很方便制作、控制和维护等。但无刷电机在高转速情况下力效会有显著下降,通过提高转速来增大拉力的话,效率会很低。

下面是使用一个银燕2212无刷电机,KV值为980,和一个10*45的螺旋桨所做的以转速为自变量的有关电机力效的实验的数据和图像。

转速/RPM 功率/W 推力/g 力效g/W
1534 4.48 32.8 7.321428571
2260 8.353 65.7 7.865437567
2694 11.85 101.6 8.573839662
3042 15.73 132 8.391608392
3317 19.47 160.2 8.228043143
3515 27.19 177.4 6.524457521
3801 33.1 209.6 6.332326284
4313 40.06 279.6 6.979530704
4632 56 315.7 5.6375
4876 56.82 353.3 6.217881028
5246 89.78 413.6 4.606816663
5648 89.43 479.8 5.365090015
5899 102.4 526.7 5.143554688
6121 118.3 589.8 4.985629755
6121 122.8 563.6 4.589576547
6187 122.9 582.6 4.740439382

下面是以PWM占空比为自变量的实验数据和图像。

油门/% 功率/W 推力/g 力效g/W
15 7.548 24 3.179650238
20 13.17 52.9 4.016704632
25 20.68 79.3 3.834622824
30 28.4 111 3.908450704
36 36.44 147.1 4.036772777
40 44.85 172.9 3.855072464
45 56.12 200.5 3.572701354
50 64.72 230.7 3.564585909
55 80.52 266.2 3.306010929
60 99.12 311.1 3.138619855
65 116.8 340.2 2.912671233
70 112 333.3 2.975892857
75 115.1 326.7 2.83840139
80 115.8 349.4 3.017271157
85 112.4 343 3.051601423
90 109.4 341.1 3.117915905
95 111.2 346.4 3.115107914
100 115.6 347.2 3.003460208


下面是此电机空转的功率(W)-油门(PWM占空比)的曲线。


从实验中可以看出来,无刷电机有力效瓶颈的问题,于是就有了改进的空间。

目的(P)

当前的多旋翼飞行器解决方案多数通过增加电机和螺旋桨的数量来增大飞行器的载重量和性能,这种做法导致飞行器自重中电机所占分量很大。此项目在于提供另一种解决方案,在增大载重量和螺旋桨数量的同时不会使飞行器增大太多的重量。
此项目研究的单发动机驱动的多旋翼飞行器只有一个动力输入接口,可以使用电机或者内燃机驱动。每个螺旋桨使用了一个变距装置来控制螺旋桨的升力。在增加螺旋桨数量的时候,则需修改传动装置,增加变距总成数量,增大发动机的功率,重量上的增加并不大。

变距

变距指的是改变螺旋桨的螺距,来控制升力的过程。在这个单发变距飞行器中,变距的主要目的是单
独控制每个螺旋桨的升力,来达到控制飞机运动、平衡的目的。
下图是这个项目所用的变距总成的图纸和照片。这个装置是用于航模直升机尾桨控制的。


这个变距总成使用舵机拉动黑色L形连杆使转轴上的拉杆拉动桨夹的球头,改变桨夹的角度,从而
改变螺距。动力上使用3-4MM宽的MXL同步带带动。

而在初代作品中,我愚蠢地以为四轴飞行器转向是通过电机间转速的不同导致的反扭力的不同来转向的。于是当时我就用上了航模直升机的主旋翼总成,一个可以矢量控制升力的东西。。。。。



幸好我现在知道了其实四轴是通过电机转速不同导致的螺旋桨对空气的横向的推力不相等来转向的,于是使用航模直升机的尾桨总成就足够了。

传动

因为本项目重点在于用一个动力输入来驱动多个螺旋桨,所以传动装置就显得格外重要了。传动装置需要满足以下要求:

  • 相邻的螺旋桨的转向相反
  • 动力输入轴最好处于中间,这样所使用的电机也可以方便地放在中间
  • 大小、厚度不能太恐怖,不然飞机的比例会很奇怪,空间使用率也要尽可能高
  • 适合高速传动,比如说不能使用3D打印的齿轮,会熔化的

于是我开始了我的设计。在上面也提到了初代的设计及其愚蠢,其中也包括传动。初代的电机竖着放在机头,朝内,电机轴固定着一个伞齿,由这个主动伞齿带动在机身中央z轴上下的两个被动伞齿,这样就获得了两个转动方向了。然后再通过同步带把动力传输到旁边的一根轴,再由同步带去带动螺旋桨。

从渲染图就可以看出来了,初代的传动方案只符合了两个要求。图中电机的直径为70mm。

到了第二代,我完成了所有的要求,但却带来了个问题,阻力太大,电机发热融化了打印件。

这一代的轴距是350mm,自己稍微比划一下就有点概念了,中间的传动结构可以用两个手掌抱起来。

这一代的传动结构分为两层,上层中间是电机,电机轴伸到下层。电机轴到了下层之后带动一个齿轮和一个同步轮,这一个同步轮又带动了另外两个用于带动螺旋桨的同步轮,这三个同步轮由一条同步带连起来。接着,刚刚提到的齿轮,带动另一个齿轮,并且这第二个齿轮与在第一层的一个同步轮是固定的,这个同步轮就骚了,它用了一条拐了很多个弯的同步带带动了剩下的两个螺旋桨。详见下图。




上面两个图是同步带的绕法示意图,蓝色的是一对桨,红色是另一对桨。红色在右边多绕了一些距离,是因为我预留了可以张紧同步带的轴承。
我们常说理想是美好的。这个方案在图纸上简直是完美的,但到做了出来才发现有这么大的毛病。它的启动力矩是一会会说的第三代的三倍,而它的电机只是一个3108电机,于是它需要借助电钻才能启动,跟内燃机似的。。。转起来之后电机巨热无比,通过固定它的螺丝都把打印件融化了。
可以在上面的照片看到,我甚至还预留了一个磁编码器的安装位置,不过没用上。
这个之后就迎来了2019寒假,我去了DJI的冬令营,在寒假的时间里,我也在构思我的第三代的机器。
在寒假之后,我跑去买了个大一点的电机(前面提到的70mm的6212电机实在是太大了),并且制作了第三代。

这个看起来就简洁多了是不是。这里使用了5个齿轮,原理不难理解。并且这一代的阻力不大,转起来挺顺滑的。不过体积就自然比第二代大了。

机身结构

这三代基本上都是全打印件的机身,除了机臂是碳管。
第一代的话,体积特别大,看看图就知道基本不可能飞起来的。

(图中的COR是我所在学校的科创团队的名称,全称Creator)

虽然它飞不起来,但是看着它转起来,还是满壮观的,毕竟这么大的四轴是很罕见的。(轴距780mm)

第二代:

第二代的轴距是350,比第一代小多了。这代的话也是没有飞起来,主要原因还是电机动力不足,以及传动的效率太低。

第三代:
第三代的轴距是450,至于能不能飞,截止至写这篇博客的日子(3.26),还在调试,但力气是很大的。
结论是飞不起来,到了科创那一天也没调出来,科创后自然也不会继续去搞,毕竟我们学校无名无权,没有进国赛。

控制

前面两代用的是哪吒的lite飞控。第一代的话,每个螺旋桨有三个舵机,四个螺旋桨就有12个舵机,于是我需要在飞控和舵机之间接一个arduino来控制舵机。上面的图可以看出来,用的是UNO,因为之前我的DUE的I2C输出一直有问题,要用I2C带舵机驱动板才能开那么多个舵机。


这里用一下航模直升机的主桨原理说一下矢量控制升力的原理。

上图中,左侧是直升机的前方。如图所示,此时桨叶是前后朝向的,欲使直升机前进,则需使桨叶后方升力大于前方,(直升机桨叶是顺时针转动),所以十字盘应该右侧(相对于飞机)下降,左侧升高。同理,欲使前方升力大于后方,则使十字盘右侧升高,左侧下降。同理,欲使直升机向右平移,即左侧升力大于右侧,需使十字盘后方下降,前方升高,反之亦然。
所以,通过控制十字盘的倾斜角度,可以矢量控制升力的方向。至于总体螺距的控制,只需使十字盘整体上升下降即可。

前面提到的我对转向的误解,在误解下的转向解决方案是,使左前方的螺旋桨升力向着右前方,右前方的桨升力向右后方,以此类推,来使飞行器转向。

到了第二代,在零位的时候舵机一直咔咔咔地响,我当时认为是PWM行程超过了舵机的行程导致的,因为我的舵机是90度舵机,而且哪吒可以调的东西很少,根本没有什么行程的调节,于是我决定买个开源飞控。

在逛了几天后,我买了无名的飞控,然后舵机还是在响,在调整了行程之后也是。在一个师兄的提醒下,降低了对舵机的控制频率,发现它不响了。。。。于是乎就不知道在哪吒上面到底是什么问题了。

我用的是华科尔D10遥控器,还有一个8通的PPM接收机,然后发现这个飞控竟然需要4个拨杆来控制飞行模式。。。。。于是8个通道都被飞控占用了,我的电机只能写在飞控里面。一开始只是在油门大于起飞油门的时候,让电机开始转动,发现这样在电机起步的时候有时候同步带会打滑(同步带有张紧的),于是又加了一个电机的加速和减速。

桨叶

第一代的桨叶是那种玩具直升机的桨叶。

第二代的是第三方的mavic2的桨叶。

第三代就用了很多桨叶了。最开始用的桨叶是下面图中的,也是玩具直升机的桨叶。

发现这个桨叶太软了,于是跑去买直升机尾桨,买了这个450总成所配套的,以及比较长的700级的尾桨。

发现这个小的太小了,大的太厚了。因为太厚,我就没把这个大的夹在桨夹里,而是直接装在了桨夹上面。不知道为什么这个大的桨的动平衡实在感人,抖得不得了。
然后在逛淘宝的时候发现有小型的航模直升机,主桨的大小看着挺合适,就买了它的桨叶来。

发现这个比最开始的还要软。。。(买的时候为了避免这个问题,我专门问了卖那个小型航模直升机的店家被桨砍到疼不疼,他说非常疼,于是我就放心地买了)(2020年的我看到了这句话,我觉得我当年这个想法确实骚)

桨叶太软的话,在螺距变大,阻力增大的情况下会变形,导致很难提供像样的升力。

然后我决定我还是去切碳板吧。。。。。。。。。。发现碳板真的很贵,玻纤比较便宜并且玻纤质量大,在变距的时候能帮忙保持一下转速。
这是切的2mm玻纤桨

接着我兴奋地把它装到飞机上,发现好他妈抖啊。。。。。。。原来雕刻机切出来的误差这么大(也许是玻纤密度不均匀),我想起了有一种东西是在调节桨叶平衡的,上淘宝一看也不贵,就买了。

接着那这个东西和砂纸调了半天,发现还是不平衡。。。这东西的精度其实很感人。我抱着试试的态度改装了一个电子秤,想从质量上调一下看看,先不理重心问题。

惊喜地发现这样调出来的桨叶,震动能达到可接受的范围,于是就这样调了,成功地解决了单个桨叶动平衡的问题。

然后发现四个桨叶一起转起来的话,还是抖得不得了。。。。于是用回了前面蓝白色的桨叶。再取下电池之后,成功地飞起来了。

一些小细节

碳管的固定

碳管和打印件固定不好的话,末端的打印件要是发生了转动,那是很蛋疼的。。。
在前两代的话,我在碳管夹里掏一个六边形的洞,从里面放一个螺母,从外侧上螺丝直接怼在碳管上。



这种做法固定得挺不错的。力度控制好也不会怼裂碳管。
但我寒假在RM冬令营中发现RM的飞机直接用两个挖出了半圆的铝块从上下夹住碳管就好了。于是在第三代我尝试了这个设计,发现是可以的,夹紧之后碳管是转不动的。

舵机供电


第三代所用的舵机上写着的电压是4.8V-6V,一开始我用的是电调上的5V来给飞控和舵机供电,但功率不够,导致舵机运行起来飞控会重启。于是我使用了一块降压板(下图),从串联的2个3s电池的24V降到5V来供电,发现还是有功率不够的问题。


于是我把电压超到了5.8V,结果就把加速度计烧了。。。。。。。只能50块钱再买一个。然后买了个15A的降压板,肯定就不会功率不够了。。。

然后把这个降压板的输出电流调到6V给舵机供电,飞控用电调的5V供电,舵机和电调共地。如上图我还加了一个电压表显示减压后的电压。

同步带与碳管


所使用的MXL同步轮是15齿的,会导致同步带蹭到碳管。于是在同步轮和碳管之间加了两对带边轴承来把同步带往里夹,解决这个问题。

结果

3.28 在取下来电池之后,成功地飞起来了,电池重量788克,取下之后飞机只有1300克。但是PID还需要调,在离开桌面后需要用手抓住起落架,因为PID没调好的缘故,一直晃来晃去。
视频

3.29 再把P调的特别小,去掉ID之后,它不抖了,但是它升起后向左边倾斜,加油门之后向前倾斜,再加油门就向右倾斜了。。。。上位机里面看到的飞机姿态是没有问题的,也就是说并不是加速度计的锅也不是积分的问题(I是0)。
视频

一个骚操作-停机迫降(P)

这个主意是受直升机的启发得到的。直升机在发动机停车的情况下仍然是可以安全迫降的。停机后要减小螺旋桨的螺距,使螺旋桨可以保持运转,飞机向下飘,在接近地面的时候增大螺距,利用螺旋桨的惯性提供最后的升力,使飞机减速,安全降落。

这个飞行器只有一个发动机,那么在此发动机停机的情况下,就很糟糕了(这里说的应该是使用了内燃机的此方案的飞行器,使用电机的话电机停机了,飞控也不见得还有用)

在这个飞行器上的思路也类似。在飞控检测到Z轴加速度过大时,判定飞行器已停车,此时在PWM输出前对PWM值做一个减小的处理,让螺旋桨能达到反的螺距,这样飞行器下落时会使螺旋桨加速运转,保持平衡的道理也一样,正常飞行时,如果此时一个螺旋桨处于较下方,那么就要增大螺距。下落时道理也一样,增大螺距可以使此螺旋桨受到的阻力变大,从而保持飞行器的平衡。

然后在飞行器底部装一个红外测距模块(我在淘宝找到了20米的,两百多块),在检测到飞行器块落到地面时,增大螺距,利用螺旋桨的惯性提供升力,使飞机不至于摔得太惨。

想象一下这个过程的话,会发现螺旋桨并没有直升机那么重,储存动能有限,最后的螺距的增加不一定能使飞机安全降落。于是可以在飞机上装一个飞轮来储存动能(这其实也会使飞机变重)。

这前面提到了这是在使用内燃机的看情况下,那么执行这个操作的时候最好能断开与发动机的连接,避免使用螺旋桨带动发动机造成能量的浪费,所以可以加装一个离合器。

这个离合器还可以用在启动的时候,先让内燃机运行一小段时间,转速稳定的时候使用电钻带动螺旋桨,再合上离合(不这么做也没问题的)。

一些别的主意(P)

变速箱(P)

此飞行器可以方便地开发在多轴飞行器上的变速箱,通过合理的扭矩和转速的匹配来使内燃机的效率更高,延长续航时间。并且可以加装飞轮,一方面可以储存更多动能方便变速箱变速,另一方面可以在恶劣天气下,降低传动比,增加发动机转速,使飞机更稳定。

无级变速(P)

可以制作单发定距多旋翼飞行器,使用常见的V带无级变速的做法。

通过调节带轮的间距可以调节传动比,来控制螺旋桨的转速。

应用(P)

这个项目所提供的方案优点一方面体现在大型多旋翼无人机上,可以使用大型内燃机来驱动多个螺旋桨。因为内燃机功率大,续航时间取决于油箱(或者醇箱)大小,所以可以应用于大型的运输场景。

比如说挑夫,把一担一担的水、食物通过一级一级的楼梯送到山顶上,其中的艰辛非常人能体会。而这个飞行器就可以用来减轻挑夫的负担,因为内燃机功率大,可以有持续的大功率输出,方便竖直方向上的搬运工作。

另一方面的优点体现在舵机控制升力的速度是很快的,不需要有电机的加减速过程。可以把飞行器做小,加大螺旋桨转速,让舵机的微小动作都能带来升力上不小的改变,来达到提高机动性的目的,可用于制作穿越机。

油动的环保问题的话,使用甲醇或乙醇发动机就好了。

结论(P)

本项目开发了一种新型多旋翼飞行器解决方案。此飞行器使用一个发动机驱动多个螺旋桨,使用多个变距装置单独控制螺旋桨升力。这种单发动机驱动的多旋翼飞行器具有可拓展性、可开发性强,旋翼多且重量轻,续航时间长,输出功率大,运载重量高,应用前景广泛等优点,值得继续研发。

对一些问题的解答

  • 做了多久:从18年的11月开始吧,到19年3月底。
  • 为什么发这篇博客:方便在科创的时候别人来了解我的项目,我会把这个博客的连接做个二维码放在展板上。

-有没有然后?:没有,科创结束以后就投入了不怎么学习然后也没怎么干嘛的状态,王者倒是打了不少。

【项目介绍】单发动机驱动的多旋翼飞行器及其控制系统相关推荐

  1. 【开源项目介绍】STC32基于u8g2库DMA驱动IIC or SPI OLED屏幕显示

    [开源项目介绍]STC32基于u8g2库DMA驱动IIC or SPI OLED屏幕显示

  2. 四旋翼飞行器7——主要开源飞控介绍

    四旋翼飞行器7--主要开源飞控介绍 文章目录 四旋翼飞行器7--主要开源飞控介绍 一.APM 特性包括: 硬件包括: 二 Pixhawk 特性包括: 各种恰到好处的传感器. 各种可扩展I/O接口和专用 ...

  3. 在项目中引入领域驱动设计的经验

    Chris Patuzzo近期在一次演讲中介绍了领域驱动设计(DDD)的原则,并结合一个基于Ruby on Rails的真实项目进行讲解.在这次项目之前,Chris所在的团队为重新设计公司的主营网站所 ...

  4. 助力工业物联网,工业大数据项目介绍及环境构建【一、二】

    文章目录 工业大数据项目介绍及环境构建 01:专栏目标 02:项目背景 03:项目需求 04:业务流程 05:技术选型 06:Docker的介绍 07:Docker的网络 08:Docker的使用 0 ...

  5. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)

    文章目录 软件开发整体介绍 软件开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 创建数据库 数据库表导入 数据库表介绍 Ma ...

  6. 核心项目:高并发秒杀系统(项目介绍,项目搭建,数据库,DAO)

    1,项目介绍 1.1,问题难点 在原SSH基础上,替换为SpringBoot系统,模拟了高并发场景的商城系统,它具备秒杀功能,并在经过几个版本的迭代之后成为支持高并发的高性能系统.这种秒杀活动会让用户 ...

  7. 多路温度采集控制系统(1)项目介绍

    嵌入式项目实践–多路温度采集控制系统(1)项目介绍 项目实践说明: 本实践项目是嵌入式开发培训(阶段1)基础应用开发视频课程的综合实践项目. 项目开发使用的技术知识点包括:C语言编程,文件编程,串口编 ...

  8. java之学习记录 5 - 1 - 模拟拉勾项目介绍与后台系统搭建

    项目架构(此文章只供个人学习的记录) 1 项目介绍 拉勾教育后台管理系统,是提供给拉勾教育的相关业务人员使用的一个后台管理系统, 业务人员可以在这个后台管理系统中,对课程信息.讲师信息. 学员信息等数 ...

  9. 商城项目介绍以及ES6的新语法

    0.学习目标 了解电商行业 了解乐优商城项目结构 能独立搭建项目基本框架 能参考使用ES6的新语法 1.了解电商行业 学习电商项目,自然要先了解这个行业,所以我们首先来聊聊电商行业 1.1.项目分类 ...

  10. 【项目介绍】ElasticSearch7+Spark 构建高相关性搜索服务千人千面推荐系统

    我做的项目是在慕课网买的 项目介绍 项目需求背景:模仿大众点评应用提供用户线下搜索推荐服务门店的需求 技术选型:后端业务:SpringBoot:后端存储:MySQL.mybatis接入:搜索系统:El ...

最新文章

  1. AD上删除了Exchange容器,再重装时报'找不到企业组织容器
  2. Python表白代码:“ 星光月夜烟花 皆归你,我也归你”
  3. 为什么源码编译安装mysql_从源码编译安装MySQL的步骤
  4. win内置ubuntu安装_win10安装内置ubuntu教程
  5. iOS开源程序下载链接整理
  6. 函数的使用——未完待续
  7. 理解js中的原型链,prototype与__proto__的关系
  8. mysql truncate table命令使用总结
  9. linux打开lua后中文有乱码,总结Lua使用中遇到的小问题
  10. python 计时器_谁能取代Python?我使用Go来部署机器学习模型的原因
  11. Linux(12.1-12.6)学习笔记
  12. 如何下载Java API文档?
  13. 用auto.js写一个自动刷快手抖音视频的小玩意
  14. 关于前端SPA(单页面应用)
  15. 朗豫:储备池和借贷是MOV重点发力的方向
  16. [玩转北京] 北京最值得你一看的博物馆大全
  17. java 兔子繁殖问题_兔子繁殖问题
  18. 赛效:如何在线更改图片格式 图片格式在线转换方法介绍
  19. 搭建开发环境 | 工欲善其事,必先利其器(C、C++、Java、Python)
  20. 量化初级 -- akshare获得股票代码,最简策略

热门文章

  1. 短视频源码下载、vue+html+elementui短视频播放实现,web、pc静态页短视频、手机网页版短视频
  2. 计算机绘图中级,计算机绘图(中级)
  3. 合成分红游戏源码_趣合成app开发(现成源码演示案例)
  4. echarts拖拽echarts实现多条可拖动节点的折线图
  5. CAD 开发 渐变填充
  6. Visual Studio2019安装vsix扩展文件
  7. java可达性_Java 垃圾回收 - 可达性分析算法
  8. 【解决方案】完全修改Windows用户名
  9. 增长黑客AB-Test系统(四)——AB-Test 最小样本量
  10. arduiono电子音乐代码_使用Word2003的EQ域代码制作音乐简谱