四旋翼无人机设计

2023-05-16

1主控制器电路设计

STM32F103RCT6是STM32家族中性能比较高端的单片机,将单片机作为基于视觉的四旋翼路径跟踪系统的主控控制器芯片,其内核主要是Cortex-M3。处理速度快,工作效率高。

2. STM32F103最小系统

其STM32F103RCT6、电源相关的模块、有关MCU的复位装置、对信号产生时钟周期的模块,以及下载调试电路都属于最小系统。与其他型号的的MCU相比较而言,因为内部的通讯接口、I/O口以及高级定时器等设置则使工作更加快捷高效。

 

供电电路:官方公示的正常运行电压为2V至3.6V。其正常工作必需的1.8V电源不但可以通过电池等提供还可从其MCU内部设置的调节器来调节得到,用来在应对突发断电的时候,使单片机依然能够正常工作,维持单片机的数据存储和RTC实时时钟的正常工作。

复位电路:按下按键,复位RESET引脚接地,复位引脚电平被拉低,单片机产生低电平复位。按键松开后,电源通过上拉电阻给电容充电,RESET引脚电压逐渐增加,最终以电源达到3.3v以结束这一复位过程。如上图所示的复位电路中电容的主要的功能是通过提供一定的脉冲信号以其宽度这一性质产生复位信号。

时钟电路:共有五个时钟源在 STM32中,分别为 HSI、HSE、LSI、LSE、PLL。ST官方推荐的时钟信号来源是外接8M晶振,通过PLL进行9倍频,产生72M的时钟源,为单片机提供时钟信号,这个就是系统时钟。

3. 九轴姿态角输出模块JY-901

JY-901模块内部了集成高精度的三轴陀螺仪、三轴加速度计、地磁场传感器,角度传感器,通过模块上的高性能单片机,配合卡尔曼滤波算法,,能够准确的,快速的解算出当前模块的运动状态。且解算出的运动精度可达0.01度,且输出的数据稳定,可直接使用。

 

 

JY-90模块有着串口和IIC两种通讯接口,可以方便与各种型号的单片机链接。其中串口的输出速率为标准的2400bps~921600bps之间,IIC接口速度最快可达400K。

4.电源电路设计

电源采用的是锂电池由于不同的模块用的电源各不相同,所以设计了不同的电路来输出不同的电压供各个模块使用。比如:MCU与超声波、飞控各自所需电压就略有不同,分别是3.3V与5V。

 

 

5. 5V电压输出电路

MP1584是一种高性能高频降压芯片。MP1584采用贴片8脚封装,工作输入电压为8-28V,工作最快频率1.5MHz,输出电流最大可达3A。通过加在MOS管上的开关PWM信号来控制开关管的导通与关断,使电感和电容充放电,从而达到将电源进行降压的目的。MP1584芯片内部自带短路保护,短路电流阈值为4.87A,去除过载后瞬时恢复。通过芯片MP1584来输出稳定的5V,并且带负载能力也能达到我们的要求。在这里采用的二极管是肖特基二极管,其特点是快速恢复。相对于普通的二极管,普通的二极管会因为开关频率高产生漏电发热大而被烧毁。对于普通的三端稳压器如LM7805输入输出压差不能过大,若电压的差值超出一定范围则会造成MCU的运行效率骤然降低以至于发生击穿行的不可恢复的伤害。输入的最高电压不能太大,并且要限制输出电流的大小,1.5A的电流是其最大输出电流。如果一直保持大电流的输出,就必须使用的大尺寸散热片和散热硅脂,否则芯片无法及时散发热量,则热量集聚在一处最后导致热击穿;在输入的电压值与输出的电压值之间的差量不能在2V以下,这一方式主要用来保护外围电路部分。相比之下就能体现出MP1584是一个很合适的降压芯片。

6. 3.3V电压输出电路

AMS1117系列可调和固定电压调节器,主要用于提供最大1A的输出电流并使其工作到1V输入到输出差分电压。器件的输出最大电流时,输入输出电压压差最小1.3v,在负载较低,输出电流较小的情况下,压差可减小。片内调整可将参考电压调整到1.5%。与电压相同电流也得到同样的调整,最大程度的降低了压力调节设备的所必须的条件。因为MCU所需的电压为3.3V,单片机功率消耗比较小,所以选用AMS1117来输出3.3V。

7.超声波定高电路设计

超声波通过超声波发射器发射端,在向某一方向发射出时同时打开定时器,当超声波在空气中遇到阻碍反弹回后接收到信号的同时终止定时器。利用得到的时间结合公式便可到一个数据,这个数据的产生就是我们所说的时间测距的方法。本次设计采用的是的HC-SR04这一模块,该模块更加便捷,利用是时间测距的原理即可得到距离,不断的循环测量,便可以得到移动测量的值。具体设计电路如下:

 

 

用于定高还有另一套方案就是用气压计定高。在气压传感器中MS5611占据着另一片不可取代的地位,其体积非常小,但测量的数据相较一些专业的仪器而言是非常精准的,物美价廉是它的另一优势。MS5611在没有发明之前所用的设备比它要笨重的多,且不如它便捷,所以MS5611一面世就受到了世面上热烈的响应。

MS5611的反应快捷、时间短,做功所造成的损耗也极低,但测量范围却比其他设备更广。MS5611在气压传感器中杀出重围成为这一方面的不二首选,主要是具有以下这些优势:可以与MCU共用同一电源、温度范围更加广泛、高度集成等。

相比于超声波测距,气压计返回的数据与高度成非线性关系,而且受天气等因素的影响比较大,放弃了用气压传感器测量高度的这个方案。

8. 跟踪模块电路设计

为了实现跟踪和寻迹,本次论文设计主要采用OV7725这一型号。OV7725摄像头采用与其型号相对应的内部芯片,并因其自身独特的硬件部分 ,且在信息处理方面更加符合工作所需,所以在这一系列中有着独一无二的地位。

对于市面上的摄像头主要包括两种,一种是CCD摄像头,另一种是CMOS摄像头,我们采用的是CMOS摄像头。OV7725摄像头硬件自适应曝光,即:摄像头会随着外界环境的光线强度调剂自身的曝光时间,当外界光照很强时,摄像头就会减少自己的曝光时间,当外界光照很弱时,摄像头就会增加自身的曝光时间,使得自身输出的数据在最优范围之内。同时OV7725摄像头自带硬件二值化,输出的数据只有两种形式,有利于我们进行数据处理。

OV7725摄像头由于其内部硬件构造可以直接产生二值化的图像,且传输速率更快,相较于黑白、彩色摄像头分别是8-16倍的碾压。所以传输更加稳定。

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

四旋翼无人机设计 的相关文章

  • OpenCV——图像二值化

    OpenCV图像二值化提供了两种函数 threshold double threshold InputArray src OutputArray dst double thresh double maxval int type src xf
  • ubuntu18.04运行ORBSLAM2踩坑记录

    坑1 xff1a error 39 usleep 39 was not declared in this scope usleep 3000 解决办法 xff1a 在对应报错文件中添加头文件 xff1a include lt unistd
  • 单目相机标定

    1 下载usb cam安装包 xff0c 放置到 catkin ws src目录下 cd catkin ws src git clone https github com bosch ros pkg usb cam git usb cam
  • ubuntu18.04安装google浏览器

    sudo wget http www linuxidc com files repo google chrome list P etc apt sources list d wget q O https dl google com linu
  • ubuntu18.04安装opencv3.2.0

    1 下载所需安装包 opencv 3 2 0下载地址 xff1a opencv 3 2 0 opencv contrib 3 2 0下载地址 xff1a opencv contrib 3 2 0 2 安装所需依赖 sudo apt get
  • vscode调试orbslam2配置过程

    1 c cpp properties json 34 configurations 34 34 name 34 34 Linux 34 34 includePath 34 34 workspaceFolder 34 34 usr inclu
  • 喜茶皇茶茶叶带您走上致富之路

    我国是茶文化的发源地 xff0c 尤其是南方各类品种的茶层出不穷 xff0c 茶韵茶香引人入胜 消费者生活水平大幅提高 xff0c 饮茶几乎已经成为一种时尚 xff0c 皇茶 在市场上受到大家的认可与喜爱 xff0c 短短时间内迅速发展壮大
  • UCOSII pdf 电子书籍

    https pan baidu com share init surl 61 RrZKnhvCuC 3qCOT0bi1Gg 提取码 xff1a 4a0f
  • 变频器的逆变、变频原理

    变频器的逆变 变频原理 YJZhang 从事制造业质量管理 xff0c 做过PCBA 线束 电话机 变频器行业 90 人赞同了该文章 变频器将直流电转变为交流电的这个过程叫 逆变 xff08 inverting 先讲逆变过程 xff0c 分
  • 8086中断系统——《x86汇编语言:从实模式到保护模式》读书笔记04

    80X86中断系统 能够处理256个中断 用中断向量号0 xff5e 255区别 可屏蔽中断还需要借助专用中断控制器Intel 8259A实现优先权管理 1 中断的分类 中断可以分为内部中断和外部中断 xff08 1 xff09 内部中断
  • 任务切换的方法——《x86汇编语言:从实模式到保护模式》读书笔记37

    任务切换的方法 x86汇编语言 xff1a 从实模式到保护模式 读书笔记37 1 中断门和陷阱门 在实模式下 xff0c 内存最低端的1M是中断向量表 xff0c 保存着256个中断处理过程的段地址和偏移 当中断发生时 xff0c 处理器把
  • 不用 H5,闲鱼 Flutter 如何玩转小游戏?

    阿里妹导读 xff1a 最近APP游戏化成为了一个新的风口 xff0c 把在游戏中一些好玩的 能吸引用户的娱乐方式或场景应用在应用当中 xff0c 以达到增加用户粘性 xff0c 提升DAU的效果 xff0c 成本较低 同时在一些需要对用户
  • 【Invalid bound statement (not found)的解决方法】

    前言 xff1a 先说下我自己 xff0c 最开始我是可以的 xff0c 结果我去改了下mapper接口里方法的参数类型 xff0c 突然就报Invalid bound statement not found 这个错误 xff0c 我在网上
  • FreeRTOS学习(四) 列表的插入和删除

    声明及感谢 跟随正点原子资料学习 在此作为学习的记录和总结 环境 keil stm32f103 首先定义列表 xff0c 以及列表项 List t TestList 列表 ListItem t ListItem1 列表项1 ListItem
  • FreeRTOS学习(六) 时间片调度

    声明及感谢 跟随正点原子资料学习 在此作为学习的记录和总结 环境 keil stm32f103 对于FreeRTOS 允许同等任务优先级存在 那么对于多个同等优先级的任务运行 情况的是如何 FreeRTOS 的机制就是对于同等优先级任务来说
  • FreeRTOS学习(十) 信号量

    声明及感谢 跟随正点原子资料学习 在此作为学习的记录和总结 环境 keil stm32f103 二值信号量 二值信号量 通常用于互斥访问 或同步 大多数用于同步 任务与任务 或 任务 与中断的同步 和队列一样 信号量API函数允许设置一个阻
  • Arduino 操控 12v 电压控制电磁铁 (线性振动马达?

    在此记录一下制作过程 xff0c 以作日后参考 效果 xff1a 线性震动马达 xff1f 大概思路 xff1a 通过L298N xff0c 用外接12v电源给电磁铁进行12v供电 xff0c 给arduino进行5v供电 一个电磁铁的供电
  • Dijkstra算法详解

    1 dijkstra算法简介 Dijkstra算法是由E W Dijkstra于1959年提出 xff0c 又叫迪杰斯特拉算法 xff0c 它应用了贪心算法模式 xff0c 是目前公认的最好的求解最短路径的方法 算法解决的是有向图中单个源点
  • C++建立动态二维数组

    C 43 43 建立动态二维数组主要有两种方法 xff1a 1 使用数组指针 xff0c 分配一个指针数组 xff0c 将其首地址保存在b中 xff0c 然后再为指针数组的每个元素分配一个数组 int b 61 new int row 分配
  • 理解负载均衡

    什么是平均负载 xff1f 单位时间内 xff0c 系统处于可运行状态和不可中断状态的平均进程数 xff0c 也就是平均活跃进程数 xff0c 它和CPU使用率并没有直接关系 所谓可运行状态的进程 xff0c 是指正在使用CPU或者等待CP

随机推荐

  • 理解CPU使用率和CPU上下文切换

    1 CPU使用率 1 1 CPU使用率查看 当发现服务或机器卡的时候 xff0c 我们都是先通过top命令查看服务器CPU使用率 默认每3秒刷新一次 top top 18 10 58 up 1216 days 7 38 4 users lo
  • 自动驾驶概述

    1 自动化能力定义 对自动驾驶能力有多个定义标准 xff0c 比较常用的是SAE International关于自动化层级的定义 具体是 L0 驾驶员完全掌控车辆 L1 自动系统有时能够辅助驾驶员完成某些驾驶任务 L2 自动系统能够完成某些
  • 2014百度校招笔试题之动态链接库&静态链接库详解

    1 什么是静态连接库 xff0c 什么是动态链接库 静态链接库用通俗的话讲 静态库就是将代码编译到一个二进制文件下 通常扩展名为 LIB 然后客户端调用程序 只需要包含相关的 h文件及LIB库文件一起链接到exe文件中 可执行程序发布后 不
  • @武汉人民,请收好这份名单

    1月27日 xff0c 武汉本地众多商户联合阿里巴巴旗下饿了么口碑 盒马 飞猪等业务 xff0c 从衣食住行各个角度 xff0c 为武汉一线医护人员提供安全 高品质的餐品及生活配套服务 首批100家餐厅已准备就绪 其中麦当劳 华莱士 大米先
  • java遍历泛型的方法

    一 List遍历 Java中List遍历有三种方法来遍历泛型 xff0c 主要为 xff1a 1 for循环遍历 2 iterator遍历 3 foreach遍历 package com gmail lsgjzhuwei import ja
  • java web文件下载功能实现

    需求 xff1a 实现一个具有文件下载功能的网页 xff0c 主要下载压缩包和图片 两种实现方法 xff1a 一 xff1a 通过超链接实现下载 在HTML网页中 xff0c 通过超链接链接到要下载的文件的地址 lt DOCTYPE htm
  • java创建线程的三种方式及其对比

    Java中创建线程主要有三种方式 xff1a 一 继承Thread类创建线程类 xff08 1 xff09 定义Thread类的子类 xff0c 并重写该类的run方法 xff0c 该run方法的方法体就代表了线程要完成的任务 因此把run
  • 'hibernate.dialect' must be set when no Connection available

    今天碰到的这个问题 xff0c 很无厘头 xff0c 网上搜索了很多 xff0c 都不靠谱 xff0c 还是靠自己 解决方法是在hibernate cfg xml中添加 lt property name 61 34 dialect 34 g
  • javascript动态插入html元素

    主要有是两种方案 xff1a 1 使用DOM span class hljs comment 使用createElement创建元素 span span class hljs keyword var span dialog 61 docum
  • python中switch语句用法

    python中是没用switch语句的 xff0c 这应该是体现python大道至简的思想 xff0c python中一般多用字典来代替switch来实现 coding utf 8 from future import division d
  • ROS的 sudo rosdep init 的报错终极解决方案

    ROS的 sudo rosdep init 的报错解决方案 安装ROS时sudo rosdep init指令报错 xff1a ERROR span class token operator span cannot download span
  • 图解Word2vec

    作者 xff1a 龙心尘 时间 xff1a 2019年4月 出处 xff1a https blog csdn net longxinchen ml article details 89077048 审校 xff1a 龙心尘 作者 xff1a
  • api 功能与实现的些许感想

    api 功能与实现 对于 api 功能的了解 xff0c 通过学习源码的实现便能做到 反之 xff0c 通过研究源码 xff0c 也能对api 功能有所了解 api 功能与实现的这种相互联系意味着我们不应该将 api 的功能与实现切割开 x
  • 浅谈驱动开发

    驱动开发没那么高大上 驱动开发在很多人眼中都是一项极具挑战性的任务 xff0c 可当你真正去开发一个驱动时 xff0c 你也许会发现它并没有看上去那样困难 xff0c 可对大多数人而言驱动开发是八竿子打不着的话题 xff0c 故而更增强了驱
  • 新冠病毒破解有了巨大突破,达摩院做了什么?

    阿里巴巴达摩院正在用AI算法抗击新型冠状病毒肺炎疫情 2月1日 xff0c 浙江省疾控中心上线自动化的全基因组检测分析平台 利用阿里达摩院研发的AI算法 xff0c 可将原来数小时的疑似病例基因分析缩短至半小时 xff0c 大幅缩短确诊时间
  • 免费AI训练平台“九天·毕昇”

    AI 训练平台 九天 毕昇 xff0c https jtedu cmri cn register token 61 ZDZiZDhmMDQtNmJiZC00M2ZkLWI3NjItMTU1MzNhZWRkNTYz 可以免费获取50小时计算资
  • 鸢尾花数据集使用

    from sklearn datasets import load iris 加载数据集iris 61 load iris print iris keys 数据的条数和维数n samples n features 61 iris data
  • 如何用python画K线图

    第一步 xff1a 导入相应的库 import tushare as ts import matplotlib pyplot as plt import numpy as np 第二步 xff1a 导入mpl finance py脚本文件
  • 单片机和ARM的区别

    1 软件方面 这应该是最大的区别了 引入了操作系统 为什么引入操作系统 xff1f 有什么好处嘛 xff1f 1 xff09 方便 主要体现在后期的开发 xff0c 即在操作系统上直接开发应用程序 不像单片机一样一切都要重新写 前期的操作系
  • 四旋翼无人机设计

    1主控制器电路设计 STM32F103RCT6是STM32家族中性能比较高端的单片机 xff0c 将单片机作为基于视觉的四旋翼路径跟踪系统的主控控制器芯片 xff0c 其内核主要是Cortex M3 处理速度快 xff0c 工作效率高 2