基于STM32F407四旋翼无人机(一)

2023-05-16

第一次写博客,可能有很多地方写的不好,请大家见谅,这次想分享一下毕业做的一个毕业设计《基于STM32F407四旋翼无人机控制系统》的一些过程。我会最开始的模块程序编写来较为详细的讲解。
刚开始先说一下飞控都用到了那些知识和选用了哪些模块选择STM32F407作为飞控的主控芯片,在此飞控开发中用到了IIC通信,串口通信,使用的是匿名飞控的上位机进行查看姿态数据和控制数据。硬件的选型为MPU6050模块,MS5611气压计和AK8975磁力计,遥控器使用的为福斯I6X的和配套的10通接收机。
接下来就开始说一下无人机的一些基础知识,因为在大学的时候大二就开始接触无人机了,常用的飞控比如PIX或者APM,基本都在玩四旋翼或者六旋翼,个人觉得如果有空或者有能力可以去扒一下pix的代码去看一下,虽然代码量很多,但是耐心看的话还是有很大收获的。
(一)无人机术语
1、解锁:无人机准备飞行前进行解锁之后才可飞行。
2、加锁:无人机降落后进行加锁,防止误操作造成的安全隐患。
3、罗盘:飞控上的电子指南针,也可指磁力计。
4、电调:电子调速计,可以驱动无刷电机。
5、UBEC电源模块:一个可以将12-16V转为5V的电源转换器
(二)无人机装配
1、电池:电池为聚合物锂电池,单芯下限电压3.7V(1S表示一个电芯),上限电压是4.2V,有点与没电之间只差0.5V。
2、电调:电调全称电子调速器,电调种类非常多,有双向电调(用于车船、坦克等)、飞机电调、多轴电调等等,电调对应使用的电机类型不同,也分无刷电调和有刷电调。上面说到,有刷电机转动时可以不用电调,但并不意味着:用有刷电机做模型飞机可以不用电调,如果没有电调,就无法控制电机工作时的转速。多轴电调均为单向电调, 电调分带UBEC和不带UBEC,UBEC输出一般5V左右为飞控或者接收机供电。
3、无刷电机:是指没有碳刷的电机 ,一般我们都可以在电机身上看到有比如1400kv的标识,电机的KV值越高,意味着转速越高;提供的扭力越小。电机的KV值越低,意味着转速比较低;提供的扭力越大。
电机转速(空载)=KV值X电压
如KV1400的电机在12V电压下它的转速是16800转/分钟。
4、桨叶:再买桨叶的时候我们都会看到有1047或者8045的标识,拿8045来说,80是指80英寸长(80 * 25.4mm =2032mm ),45是螺距(螺距是指螺旋桨旋转一周在轴向移动的距离)。
5.BB响电池报警器:可以显示此时电池的总电压和每个电芯的电压,并且可以设置报警电压。
(三)无人机原理结构组成
1、ROLL:横滚,将机体绕X轴旋转;
2、PITCH:俯仰,将物体绕Y轴旋转;
3、YAW:航向,将物体绕Z轴旋转;在这里插入图片描述
4、各种机型桨叶的安装方向和顺序:在这里插入图片描述

(四)无人机各项检查
1、首先检查螺丝和螺旋桨是否牢固,电机轴有无变形,检查机架是否牢固,电池是否固定好,检查桨叶方向是否正确,有时候起飞的侧翻一般有三种情况,第一种是最常见的桨叶装反或者方向有误,第二种是飞控放置不水平,第三种是姿态矫正有误。
2、检查各个插头连接是否完好,焊接部分是否松动,电池电量是否充足。(最好是上电前对加速度计、陀螺仪和磁力计进行一个校准)上电后观察各个电子设备有无不正常发热现象,观察各个指示灯是否正常。
3,飞行前合一轻微推动油门,观察各个电机工作是否正常,检查桨叶转向是否正确,起飞后进行前后左右飞行,观察无人机飞行是否正常,检查遥控器舵量是否正确(若舵量有误则需要校准电调行程,不同的电调有不同的校准方法)。

下一次开始对于各个模块进行一些讲解,并且有获取数据的代码供参考!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于STM32F407四旋翼无人机(一) 的相关文章

  • 基于BP神经网络的人脸朝向识别

    一 数字图像处理 1 1 问题假设 所给的全部人脸图像都未出现损坏等问题 xff1b 人脸的朝向仅分为5类 xff1a 左 中左 中间 中右 右 xff0c 其他朝向不予考虑 xff1b 对于题目中所给的人脸图像 xff0c 不考虑人脸的复
  • ::在c++中的意思

    在c 43 43 中 一 作用域符号 xff1a xff1a 前面是类名称 xff0c 后面一般是该类的成员名称 例类A中包含member1 A member1 二 全局作用域符号 用于区分全局变量和局部变量 xff1a xff1a cha
  • linux下cannot execute binary file: Exec format error解决办法

    对于linux下cannot execute binary file Exec format error明确说明是执行文件格式错误 xff0c 可能情况 xff1a 1 使用错误的命令 xff0c 如gcc c hello c o hell
  • PX4/Pixhawk---uORB深入理解和应用(最新版)

    1 简介 ps 第1章简介是参考 uORB深入理解和应用 1 1 PX4 Pixhawk的软件体系结构 PX4 Pixhawk的软件体系结构主要被分为四个层次 xff0c 这可以让我们更好的理解PX4 Pixhawk的软件架构和运作 xff
  • 深拷贝和浅拷贝的区别

    1 简单理解 深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体 xff0c 而不是引用 假设B复制了A xff0c 修改A的时候 xff0c 看B是否发生变化 xff1a 如果B跟着也变了 xff0c 说明是浅拷贝 xff0c
  • Linux系统下搭建PX4/Pixhawk原生固件编译环境

    对于新版本的固件V1 11 3 在pixhawk官网可以找到开发环境的搭建 xff0c 这里把开发环境链接贴出来 xff1a https docs px4 io master zh dev setup dev env linux ubunt
  • Pixhawk无人机飞行模式详解 (PX4源码)

    我帮大家把飞行模式控制量与特点总结一下 xff0c 方便看代码 xff0c 如下所示 xff1a 辅助模式 Position Mode 位置模式 xff08 定点模式 xff09 横滚俯仰控制角度 xff0c 油门控制上下速度 xff0c
  • pixhawk无人机避障

    本人最近用树莓派结合PX4做无人机避障 xff0c 使用激光雷达 xff0c 有没有一起的小伙伴 xff0c 我们一起交流 xff01 私信我 xff0c
  • 目录前导符不一致解决办法

    最近弄毕业设计 xff0c 写完论文以后发现生成的目录后面的前导码省略号数目 间距不一致 xff0c 非常的难看 xff0c 于是经过仔细研究找到了解决办法 xff1a 首先是问题所在 xff0c 请看下图 xff1a 首先在word中打开
  • 几种编码方式(RZ、NRZ、NRZI、曼彻斯特编码)

    在数字电路中 xff0c 组成一连串信息的基元就是0和1 xff0c 无论是在CPU DSP MCU甚至是个数字计数器中 xff0c 数字电路在其中能够处理的信息也只有0和1 xff0c 而对于任何外界的信息 xff0c 计算机都能通过两个
  • WIN10运行软件,窗口不显示 解决办法

    win10 运行软件后 xff0c 不显示窗口 今天遇到个问题 xff0c 我打开软碟通之后 xff0c 任务栏显示它已经打开了 xff0c 但是窗口就是不显示 xff0c 如下图 xff1a 用alt 43 tab 查看 xff0c 也能
  • 变频器的四大组成部分和工作原理

    随着电子技的发展变频器已经有了很大的变化 xff0c 但其基本原理并没有发生改变 变频器的主要部分有四个 xff1a 整流器 中间电路 逆变器 控制电路 1 xff09 整流器 通用变频器的整流电路是由三相桥式整流桥组成 它的功能是将工频电
  • Pytorch中torch的操作合集

    tensor的基本操作 PyTorch系例 torch Tensor详解和常用操作 这里最重要的概念是索引出来的结果与原数据共享内存 xff0c 也即修改一个 xff0c 另一个也会跟着修改 tensor的广播机制 Pytorch xff1
  • torch.tensor 内存共享机制

    tensor属于可变数据类型 xff0c 因此变量的值存储在堆中 xff0c 变量名存储在栈中 xff0c 当进行变量赋值时 xff0c 就是让栈中的变量指向堆 xff0c 如下面代码 xff1a span class token keyw
  • 熵 KL散度 交叉熵的理解

    熵 KL散度 交叉熵的概念 xff1a 理解二分类交叉熵 可视化的方法解释对数损失交叉熵公式推导 xff1a 理解交叉熵作为损失函数在神经网络中的作用熵 KL散度 交叉熵的关系 xff1a KL散度与交叉熵区别与联系训练过程中三者的应用 x
  • Docker数据目录迁移解决方案

    介绍 在docker的使用中随着下载镜像越来越多 xff0c 构建镜像 运行容器越来越多 数据目录必然会逐渐增大 xff1b 当所有docker镜像 容器对磁盘的使用达到上限时 xff0c 就需要对数据目录进行迁移 如何避免 xff1a 1
  • Git 三剑客 ———— git gui 可视化工具

    目录 页面介绍Unstaged changesStaged Changes xff08 Will Commit xff09 File DisplayCommand Set Repository 操作区Edit 操作区Branch 操作区Co
  • 数组对象转json格式

    1 数组转化成JSON对象后 xff0c key值是索引 xff0c value是数组对应的值 数组也可以转化成JSON对象 var jStr3 61 34 10 20 30 40 50 60 34 var j3 61 JSON parse
  • JS——DOM的结点操作

    H5自定义属性 自定义属性目的 目的 xff1a 是为了保存并且使用数据 有些数据可以把保存到页面中而不用保存到数据库 可以通过getAttribute获取 自定义属性 xff1a data 开头 这是一种规范 dataset xff1a
  • SecureCRT连接Linux

    在将SecureCRT连接Linux上时遇到一些问题 xff0c 记录如下 第一步 xff0c 我们要在在linux上安装openssh server服务 xff0c 并确认打开了22监听端口 在linux上操作命令如下 xff1a apt

随机推荐