多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验3

2023-11-26 18:30

本文主要是介绍多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验3,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

多旋翼动力系统设计实验3

01/多旋翼动力系统简介​​​​​​​

多旋翼无人机的动力系统通常包括螺旋桨、电机、电调以及电池。动力系统是多旋翼最重要的组成部分,它决定了多旋翼的主要性能,如悬停时间、载重能力、飞行速度和飞行距离等。动力系统的部件之间需要相互匹配与兼容,否则很可能无法正常工作,甚至可能在某些极端情况下突然失效导致事故发生。例如在某些条件下,飞控手的一个过激操作可能会让电调电流超过其安全阈值而使电机停转,这在飞行过程中是非常危险的。下面分别介绍螺旋桨、电机、电调以及电池。

02/具体实验内容

基于飞行评估网站的多旋翼动力系统设计

已知:,飞行海拔0m,温度25 ◦C,载重1 kg * 9:8 m/s2 = 9:8N,机架、飞控及配件重量为1 kg * 9:8 m/s2 = 9:8N,外接圆半径小于39.37 英寸(大约1m),总体重量小于5 kg * 9:8 m/s2 = 49N,悬停时间大于15 min,悬停油门小于满油门65%;以此通过飞行评估网站:https://flyeval.com/paper/来设计一架多旋翼飞行器。

求解:设计思路

(1)根据单个旋翼所需提供的升力大小选择电机。各电机厂商会提供电机的单轴起飞重量,不同电流下所能提供的升力,以及会推荐螺旋桨的大小,这些数据是电机厂商根据实验得出,可以作为设计多旋翼的参考依据。

(2)选定电机后,即可根据电机的最大电流选择电调,根据电机的供电电压、提供悬停升力时的电机电流和悬停时间选择电池。

(3)根据电机厂商推荐的螺旋桨大小和机架与旋翼最大尺寸的关系即可最终确定螺旋桨的大小。

图片

①. 这里选择常见的四旋翼飞行器,并且满足上述已知条件。

②. 单个螺旋桨拉力计算:当总重量达到上限时单个螺旋桨所需提供的拉力为:

图片

不考虑动力系统重量,单个螺旋桨所需提供的最小拉力为:

图片

考虑一定的控制余度:

图片

注:单个电机提供的拉力范围在7.54N~18.85N之间时会被考虑。
 

③. 计算螺旋桨的最大尺寸: 根据飞行器的最大尺寸限制,确定螺旋桨的最大尺寸:

图片

即:

图片

解得rmax<0.414m考虑一定裕度,螺旋桨最大尺寸范围为:

图片

注:螺旋桨尺寸一般用直径表示,且单位为英寸,转换得螺旋最大尺寸在27.2~31英寸之间。

④. 可以在各个电机厂商官网上查找合适拉力的电机,例如T-MOTOR电机,进入官网:http://uav-cn.tmotor.com/ ,选择“多旋翼”。根据前面选择计算的最大拉力范围,选择MN系列领航型。如下图所示。

图片

在负载测试数据表格中,我们可以看到MN4014电机,当电压为22.2V,螺旋桨是T-MOTOR 15  5CF时,最大拉力为1.92kg。

图片

注:单个电机提供的拉力范围在7.54N~18.85N之间时会被考虑。

⑤. 选择电调 

如选择T-MOTOR电调,因为我们选择的电机的最大电流为25A,我们这里选择电调的持续电流为40A的AIR 40A电调。

图片

⑥. 选择螺旋桨

根据官方配置,我们选择P15  5螺旋桨,在基本配置中可以看到单个螺旋桨重力为26.5g。

图片

图片

⑦. 选择电池:若选择格式电池,进入公司官网:http://www.ace-pow.com/,在无人机电池中选择高压版。若选择12000mAh的电池,根据前面选择的电机、电调和螺旋桨以及左图中的信息,得到四旋翼总重量为:

图片

单个螺旋桨所需拉力为:

图片

此时油门小于65%,在50%~60%油门之间进行简单的线性插值可得拉力为10.6673N,电流为5.78A,计算悬停时间为:

图片

⑧. 重新计算轴距:根据螺旋桨尺寸重新计算多旋翼轴距:

图片

为了留出一定裕度:取轴距=539  1.1=593mm,选择轴距为600mm。

⑨. 使用https://flyeval.com/paper/网站计算飞行参数。

可以看到网站计算的悬停时间与估计的悬停时间比较接近,飞行器的剩余负载还很大,有5.44kg,如果要继续增加续航时间可在整体结构不变的前提下增大电池容量。

图片

图片

参考资料

[1] 全权,杜光勋,赵峙尧,戴训华,任锦瑞,邓恒译.多旋翼飞行器设计与控制[M],电子工业出版社,2018.

[2] 全权,戴训华,王帅.多旋翼飞行器设计与控制实践[M],电子工业出版社,2020.

[3] D. Shi, X. Dai, X. Zhang, and Q. Quan, “A practical performance evaluation method for electric multicopters,” IEEE/ASME Transactions on Mechatronics, vol. 22, no. 3, pp. 1337–1348, 2017..

[4] X. Dai, Q. Quan, J. Ren, and K.-Y. Cai, “An Analytical Design Optimization Method for Electric Propulsion Systems of Multicopter UAVs with Desired Hovering Endurance,” IEEE/ASME Transactions on Mechatronics, vol. 24, no. 1, pp. 228–239, 2019

[5] X. Dai, Q. Quan, J. Ren, and K.-Y. Cai, “Efficiency Optimization and Component Selection for Propulsion Systems of Electric Multicopters. IEEE Transactions on Industrial Electronics, vol. 66, no. 10, pp. 7800–7809, 2019.

[6] X. Dai, C. Ke, Q. Quan and K. -Y. Cai, “Simulation Credibility Assessment Methodology With FPGA-based Hardware-in-the-Loop Platform,” IEEE Transactions on Industrial Electronics, vol. 68, no. 4, pp. 3282-3291, 2021.

[7] X. Dai, C. Ke, Q. Quan and K. -Y. Cai, “RFlySim: Automatic test platform for UAV autopilot systems with FPGA-based hardware-in-the-loop simulations,” Aerospace Science and Technology, vol. 114, p. 106727, 2021.

图片

这篇关于多旋翼飞控底层算法开发系列实验 | 多旋翼动力系统设计实验3的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/426142

相关文章

C#中async await异步关键字用法和异步的底层原理全解析

《C#中asyncawait异步关键字用法和异步的底层原理全解析》:本文主要介绍C#中asyncawait异步关键字用法和异步的底层原理全解析,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录C#异步编程一、异步编程基础二、异步方法的工作原理三、代码示例四、编译后的底层实现五、总结C#异步编程

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优