在进行多旋翼无人机飞控系统设计之前,有必要列写一份详细的设计方案书;这是飞控系统设计的基石,并且在一定程度上指导了后续的研发工作。本篇博文列写了之前笔者在进行无人机飞控开发过程中所撰写的精简版本的设计方案书,虽有不完善之处,但也在一定程度上对飞控系统的整个硬件和软件逻辑进行了梳理,有一定的参考价值。

1.系统功能

1.1实时姿态解算

拟采用MPU6050+IST8310(磁力计)+SPL06-001/MS5611(气压计)的IMU配置,采用I2C/SPI总线进行实时的传感器数据获取,并进行数据融合(互补滤波/Kalman滤波)得到实时的姿态角和姿态角速度数据。

1.2姿态控制

使用PID控制器,根据姿态角误差产生期望的控制量。

1.3位置估计

使用超声波和气压计融合的方式获取无人机当前高度,使用光流传感器来得到无人机的平动速度。

1.4位置控制

通过位置误差产生期望的姿态角,无人机跟踪期望姿态角,从而消除位置误差。

1.5电机控制

根据姿态信息,通过PID控制器产生实时的控制量,使用定时器产生不同占空比的PWM波来控制四个旋翼电机转速。

1.6实时通信

使用数传将无人机的飞行数据实时回传到地面站。

1.7姿态模式

只开启姿态自稳功能。

1.8定高模式

使用姿态自稳+定高控制,在保持姿态稳定的基础上加入高度闭环控制,使无人机达到高度稳定的效果。

1.9定点模式

使用姿态自稳+定高控制+位置控制,无人机三个通道的位置均闭环控制,达到定点的效果。

1.10飞行状态实时显示

通过LED模块显示无人机实时飞行状态。

2.硬件方案

2.1硬件原理图

2.2硬件接口

2.3机械参数

估计尺寸:6.5cm∗4.5cm∗2.5cm6.5cm*4.5cm*2.5cm6.5cm∗4.5cm∗2.5cm

2.4器件选型

2.5硬件设计要点

a.电机转动带来的震动会对姿态解算精度造成很大影响,所以设计要考虑减震措施。
b.设计要充分考虑密封防护措施,以提高防尘防水性能。
c.PCB板上加入测试点,方便检测与调试。

2.6硬件测试方法

1)电源线路部分的测试,板子上电后检查各个节点电压是否正常,是否有短路和断路的情况存在。

2)进行MCU的焊接,随后使用简单的例程来测试MCU功能是否正常,焊接是否正常。

3)使用示波器检测PWM端口输出是否正常。

4)使用串口输出姿态数据来检测IMU模块是否正常。

3.软件方案

3.1软件功能

1)通过姿态解算,得到实时的无人机姿态角和姿态角速度信息。

2)通过扩展传感器模块,得到实时的无人机的位置信息。

3)通过SBUS通信模块,获得遥控器的各个通道值。

4)通过PID控制器进行无人机的姿态和位置的控制。

5)通过LED模块实时显示无人机所处的状态,操控者能在较远视距飞行时得到实时反馈。

3.2模块功能划分

1)IMU模块

2)扩展传感器模块

3)BEC模块

4)电机控制模块

5)SBUS通信模块

6)数传通信模块

7)LED模块

3.3流程调度

1)进行LED、IMU、USART、PWM、ADC、TIMER和PID参数的初始化。

2)IMU传感器测量值通过I2C接口输入MCU,进行姿态解算,更新姿态信息。

3)根据扩展传感器模块测量数据更新无人机的位置信息。

4)位置控制器产生期望的姿态角。

5)PID控制器根据当前姿态信息产生期望的控制量。

6)将控制量转化为对应占空比的PWM波输入电机,进行转速控制。

7)将无人机信息通过数传发送给地面站。

8)更新LED灯的显示状态。

3.4接口定义

1)IMU模块

输入:IMU原始测量数据;输出:三轴姿态角和姿态角速度,气压高度。

2)扩展传感器模块

输出:无人机的高度和位置信息。

3)BEC模块

输入:+25.2V电源电压;输出:+5V电压。

4)电机控制模块

输入:当前时刻姿态角;输出:经PID控制器生成的PWM波控制量。

5)SBUS通信模块

输入:SBUS接收机原始数据;输出:遥控器各个通道的值。

6)数传通信模块

输入:无人机当前时刻的姿态、速度、位置等信息;输出:将无人机信息转换成符合数传协议的数据。

7)LED模块

输入:无人机当前时刻的状态;输出:显示与该状态对应颜色的灯光。

3.5测试方法

针对每个模块先进行功能测试,在确保各模块功能正常后,进行整块板子的测试。

IMU模块的测试:使用串口输出解算的姿态角,观察输出的信息是否准确,是否存在延时。

SBUS模块的测试:将SBUS输入接口采集到的数据打印至串口,使用串口调试助手观察采集到的SBUS信号是否正常,确保正常后进行下一步的SBUS信号解析工作。

电机控制模块的测试:使用示波器观察PWM输出是否正常,转动传感器观察PWM波形是否有对应的变化,是否存在延迟。

数传通信模块的测试:首先观察数传输出串口是否有稳定且正确的输出;接着连接好整个数传链路,观察地面站是否能接收到正确的信息。

多旋翼无人机飞控系统设计之详细设计方案相关推荐

  1. 四旋翼无人机飞控系统设计(控制信号获取及转化)

    无人机遥控器控制信号获取   控制无人机首先要考虑的是给无人机下指令,其次是让其从当前状态达到我们的指令状态.遥控器和飞控的沟通是首先要构建的一环.需要把遥控器的脉冲宽度转化成无人机的状态角度.    ...

  2. 四旋翼无人机飞控系统设计(姿态解算)

    姿态解算   姿态传感器读出加速度和角速度,而对一个系统的自动控制往往需要更加上层和贴近应用的的一个属性:角度.所以需要通过加速度和角速度进行数据融合转化得到姿态角度.   以MPU6050为例,姿态 ...

  3. 四旋翼无人机飞控系统设计(PID控制算法)

    PID控制算法   PID控制器是一个结构简单并且成熟稳定的控制器,在工业上应用广泛.包括比例(Proportion).积分(Integral).微分(Differential)三个控制元素,三者是对 ...

  4. 无人机飞控技术最详细解读

    已剪辑自: https://zhuanlan.zhihu.com/p/64519280 [导读]被称作是"飞行器的大脑"的飞控到底是什么? 以前,搞无人机的十个人有八个是航空.气动 ...

  5. 超详细多旋翼无人机飞控 pid 控制器结构图(含视觉追踪)

    因为想申请 CSDN 博客认证需要一定的粉丝量,而我写了五年博客才 700 多粉丝,本文开启关注才可阅读全文,很抱歉影响您的阅读体验 很久不做嵌入式了,今天找到以前画的飞控 pid 结构图,分享一波 ...

  6. 旋翼无人机飞控的软件设计

    1 飞控软件的基本模块 无人机能够飞行主要是依靠传感器系统获取位姿信息并反馈到微处理器进行控制系统的运算.所以飞控软件设计主要负责搭建合理软件流程,使各功能模块协调有效的工作. 一个飞控系统的基本工作 ...

  7. 基于MiniFly魔改的共轴双旋翼无人机

    基于MiniFly魔改的共轴双旋翼无人机 共轴双旋翼无人机结构设计 共轴双旋翼无人机的工作原理与飞行动作 共轴双旋翼无人机的系统方案 共轴双旋翼无人机的总体设计 共轴双旋翼无人机飞控设计 共轴双旋翼无 ...

  8. 四旋翼无人机硬件,飞控,基站,NX

    四旋翼无人机硬件 一 总览 四旋翼无人机的硬件组成:无刷电机(4个):电子调速器(简称电调,4个,常见有好盈.中特威.新西达等品牌):螺旋桨(4个,需要2个正浆,2个反浆):飞控:电池(11.1v航模 ...

  9. 基于深度学习的旋翼无人机机械臂抓取

    基于深度学习的旋翼无人机机械臂抓取 摘要:随着空中机器人技术的快速发展与日益成熟,无人机在越来越多的领域得到了广泛的应用.而多旋翼无人机作为最常用的无人机之一,以其体积小.运动灵活.定点悬停等优势广泛 ...

  10. 某无人机飞控系统的原理、组成及各传感器的作用

    总结飞控系统:飞行姿态控制和导航系统. 以前,搞无人机的十个人有八个是航空.气动.机械出身,更多考虑的是如何让飞机稳定飞起来.飞得更快.飞得更高.如今,随着芯片.人工智能.大数据技术的发展,无人机开始 ...

最新文章

  1. numpy.random.randn()
  2. 成功解决ValueError: DataFrame.dtypes for label must be int, float or bool
  3. 【Flask】sqlalchemy 排序
  4. VS2015开发Android,自带模拟器无法调试、加载程序,算是坑吗
  5. linux firefox 检查组件是否加载,利用火狐浏览器查看网站加载速度
  6. 《像计算机科学家一样思考Python(第2版)》——1.3 第一个程序
  7. 【HDOJ6957】Maximal submatrix(单调栈,最大子矩阵面积)
  8. paip.论.NET体系的优缺点).txt
  9. (连载)用python在excel中对财务报表项目进行提取和计算
  10. python分段函数输入x的值求y的值,根据以下分段函数计算y的值,要求x的值由键盘输入,...
  11. html桌面插件,纯JS和CSS3炫酷桌面便签贴纸特效插件
  12. Android中TextView中文字体粗体的设置方法
  13. vue地址选择插件V - Distpicker
  14. matlab表示dbm,[转载]dBm换算成mW
  15. 7.详解第三代移动通信系统——WCDMA、TD-SCDMA、CDMA2000
  16. Hive读时模式和写时模式的区别是什么?
  17. 报表设计器——设计自己的报表
  18. 看果粉如何让拾主自动归还丢失的iPad
  19. 发动机连杆产品配置管理PDM解决方案
  20. 显示seata连接不上127.0.0.1:2181

热门文章

  1. matlab转换器dcdc,关于如何用 Simulink 设计 DC/DC 转换器的分析和介绍
  2. mysql恢复数据库命令_备份与还原mysql 数据库的常用命令。
  3. 国家缩写大全 mysql_所有国家英文缩写
  4. matlab构造arma模型,ARMA模型构建及MATLAB实现
  5. echarts图表联动案例
  6. echarts图表的内边距_ECharts 图表插件使用整理(图表配置实现)
  7. Javascript格式化工具
  8. 分享10套好看的简历模板 | 免费Word模板下载
  9. 苹果手机能写代码html,这些隐藏在苹果iPhone当中的内置代码你是否知道?
  10. canvas实现圆饼图,柱状图,折线图(满满的干货)