电赛论文模板

2023-12-25 13:12
文章标签 模板 论文 电赛

本文主要是介绍电赛论文模板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2023全国大学生电子设计大赛

E 题)

本科组】

 2023年8月5日

运动目标控制与自动追踪系统

摘  要

本设计以基于意法半导体与ARM公司生产的STM32F103RCT6单片机为控制核心,配合LM2596S降压模块OPENMV,OLED显示屏,舵机等模块共同控制激光笔移动和跟随等功能通过按键控制不同的模式,完成相应的任务。实际测试表明,红色光斑回到原点的误差在1cm以内且能在10秒内顺时针旋转一周,

关键词:MPU6050;OPENMV蓝牙PWM编码电机

目录

1系统方案

1.1 控制系统的选择

1.2 循迹模块的论证与选择

1.3 电机模块的论证与选择

1.4视觉的论证与选择

1.5药品检测方案的论证与选择

2系统理论分析与计算

2.1 本设计的结构搭建和分析

2.2 视觉处理

2.3 循迹处理

2.4 电机处理

2.5 药物检测处理

3电路与程序设计

3.1电路的设计

3.1.1系统总体框图设计

3.1.2 逻辑系统框图

3.1.3 电源的选用及供电方式

3.2程序的设计

3.2.1程序功能描述与设计思路

3.2.2程序流程图

4测试方案与测试结果

4.1测试方案

4.2 测试结果及改进

附录1:电路原理图

附录2:源程序

1系统方案

本系统主要由控制模块、视觉处理模块、OLED显示模块、舵机降压模块,下面分别论证这几个模块的选择。

1.1 控制系统的选择 

按照本次赛题要求,控制系统芯片选用STM32系列单片机,该系列单片机中常见的型号有C8T6,RCT6。

方案一:选用STM32F103C8T6单片机,该单片机体积较小,内置72MHz的主频,可以实现高速运算和响应,包括多个定时器,ADC、DAC、USART、I2C,可以满足多种需求,更加具有结构化。但复用引脚较多且复杂,只有64KB的Flash和20KB的RAM,对于一些大型应用可能不够处理速度太慢。

方案二:选用STM32F103RCT6单片机,包括多个通用定时器、高级控制定时器、通用串行总线接口、SPI接口、I2C接口、USART接口、USB接口等,可以满足各种应用的外设需求256KB的Flash和48KB的RAM丰富的外设和高性能的处理能力,处理速度更快,能够较快完成题目要求的任务。

因此,选择方案二,采用STM32F103RCT6单片机作为本设计的主控模块。

1.2 舵机模块的论证与选择

方案一:选用较小的SG90,优点是简单及上手且小巧轻便,可以方便的实现转动任意的角度,实现控制角度的变化他的扭矩太小,精确度太低,且受环境影响较大,不足以做到控制大物件的效果不能很好地完成题目要求。

方案二:选用总线舵机,其不是使用的PWM波控制,而是采用的串口控制,支持角度回读可以实时检测到舵机当前角度位置精确度高,可以通过一个串口控制多个舵机,但需要调试的时间较长且占用资源较多。

方案三:选用数字舵机,数字舵机是由主要由马达、减速齿轮、控制电路等组成,只需要发送一次PWM信号就能保持在规定的某个位置数字舵机具有一个微控制器,可以获取更快的响应频率,抗干扰度较强,占用资源较少且易于操作。

综合以上三种方案,选择方案三。

1.3 降压模块模块的论证与选择

方案一:采用较为传统的降压芯片AMS117,其结构简单且相对较为便宜,噪声抑制度较高。但其为线性稳压,效率太低,无法承受较大的电压和输出太大的电流,无法驱动本题的舵机。

方案二:采用DC-DC降压模块LM2596,LM2596是非同步降压型电源管理单片集成电路的开关电压调节器,输入电压范围宽,最高可达40V输出电流大,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性转换效率可达95%以上,效率大,功率高,耗散小,能够驱动大功率的模块。

综合以上两种方案,选择方案二。

1.4 视觉模块的论证与选择

方案一:使用k210机器视觉模块。K210支持深度学习推理任务,可以在边缘设备上进行实时图像识别、物体检测等计算密集型任务。通过配置环境以及制作数据集进行本地训练,随着数据集中数据量的增大,识别精度也随之升高。且k210环境配置简单,训练方便。

案二:使用树莓派模块。通过配置环境,编写树莓派代码以及制作数据集进行训练,相较于k210数字识别,树莓派环境配置更繁琐,且安装繁琐。

方案三:使用OPENMV视觉模块,OPENMV支持python语言开发,易于编程和调试,同时拥有丰富的库和应用例程,能非常容易地安装和配置。

由于组内成员系统学习过OPENMV,所以选择方案三

2系统的具体设计

2.1 本设计的结构搭建

本设计选择更加简便地将电池模块、总控制模块、LM2596S降压模块、按键模块、舵机模块、OPENMV视觉模块分开安装,能够直观地观察到各个模块工作时的情况,便于调节各个模块的功能。

2.2 系统方案

本系统通过LM2596S降压模块给STM32F103RCT6核心板和舵机以及OPENMV等模块供电,当系统上电后OPENMV会时刻检测光斑的位置并将其位置信息传输给RCT6,RCT6控制OLED显示模块显示光斑的位置并输出PWM信号控制舵机移动光斑的位置,当完成一个任务后,可通过按键模块切换模式,完成下一个任务,绿色光斑跟随成功之后,RCT6会控制声光模块发出声光提示。系统框图如图(1)所示。

图(1)系统框图

3总体方案的实现

3.1 OPENMV识别光斑

OPENMV相机可以通过色块识别功能来检测和跟踪指定颜色的物体。其原原理如下:

首先,相机会将捕获的图像从RGB颜色空间转换为 HSV(色相、饱和度、明度)颜色空间,HSV颜色空间更适合处理和分析颜色信息。在HSV颜色空间中,我们可以通过设定一定的阈值来将图像中的像素分为目标颜色和非目标颜色。通常,我们可以通过试验和调整阈值来选择最适合的阈值。在进行阈值分割后,OPENMV相机会利用图像处理算法检测具有颜色的目标区域,即色斑。一旦检测到了色斑,相机会提取出色斑的特征,例如位置、大小、形状等等,这些特征信息有助于进一步的处理和分析。

3.1.3电源的选用以及供电方案

电源由变压部分、滤波部分、稳压部分组成。为整个系统提供

5V或者

12V电压,确保电路的正常稳定工作。这部分电路比较简单,都采用三端稳压管实现,故不作详述。

3.2程序的设计

3.2.1程序功能描述与设计思路

  1. 程序功能描述

程序开始运行时,先检测是不是有药品放入,如果检测到药品放入,红外传感器将信号发给主控,小车开始运动并且通过视觉模块识别到数字后存储,然后在运动过程中实时检测,如果检测到和储存的数字一样的情况时,小车利用差速进行转弯,到达指定位置时停下,等红外传感器再次发生变化时,小车原路返回。

  1. 程序设计思路

       先设计出每种功能中相同的程序部分方便在各个步骤中调用,再设计出各个步骤中特有的部分加上之前的公共部分进而完成整个步骤。

3.2.2程序流程图

4测试方案与测试结果

4.2 测试结果及改进

综上所述,本设计达到哪些哪些要求。

这篇关于电赛论文模板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

poj3468(线段树成段更新模板题)

题意:包括两个操作:1、将[a.b]上的数字加上v;2、查询区间[a,b]上的和 下面的介绍是下解题思路: 首先介绍  lazy-tag思想:用一个变量记录每一个线段树节点的变化值,当这部分线段的一致性被破坏我们就将这个变化值传递给子区间,大大增加了线段树的效率。 比如现在需要对[a,b]区间值进行加c操作,那么就从根节点[1,n]开始调用update函数进行操作,如果刚好执行到一个子节点,

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

最大流、 最小费用最大流终极版模板

最大流  const int inf = 1000000000 ;const int maxn = 20000 , maxm = 500000 ;struct Edge{int v , f ,next ;Edge(){}Edge(int _v , int _f , int _next):v(_v) ,f(_f),next(_next){}};int sourse , mee

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear