2021全国大学生电子设计竞赛论文(智能送药小车(F题))(电赛论文模板)

2023-05-16

2021全国大学生电子设计竞赛论文(智能送药小车(F题))

【写在前面的话】

电赛是一个很奇妙的过程,可能有些人觉得电赛的门槛太高,那便意味着,当你决定要参加电赛的那一刻起,这一段路、这些日子就注定不会太轻松;
我现在回头看真的很感谢电赛,从前期备赛面对自己未曾涉猎的技术不知如何下手的迷茫与怀疑,再到后来四天三夜紧张到不忍睡觉的未知与紧迫,和那挑战着自己脑力与体力的极限的执着,到比赛结束封箱那一刻全部都释然了;
你会学到很多很多,你会看见自己的进步,从一个小白,到打开了一扇大门,慢慢的成长;随之而来的不仅是能力,是一份底气,带来更多的是对自己的相信,那种已经不惧怕一切挑战的信心与勇气。
它就像一个跳板,让你跳到更高。

文章目录

  • 2021全国大学生电子设计竞赛论文(智能送药小车(F题))
    • `【写在前面的话】`
    • ·【电赛宝藏链接】参加电赛的宝们必看
    • `【电赛宝藏链接】`
    • ·【电赛源码合集】19电磁炮、17板球、15风力摆、13倒立摆
    • `【电赛源码合集】`
    • 智能送药小车(F题)
      • 摘 要
      • 1引言
      • 2系统方案
        • 2.1 循迹模块的论证与选择
        • 2.2 数字识别模块的论证与选择
        • 2.3 药品检测模块的论证与选择
      • 3系统结构与电路设计
        • 3.1智能送药小车结构设计
        • 3.2电路设计
          • 3.2.1 系统总体框图与实物图
          • 3.2.2 电机控制电路原理图
        • 3.3程序的设计
      • 4测试方案与测试结果
        • 4.1测试方案
          • 4.1.1 软件调试
          • 4.1.2 硬件软件联调
        • 4.2 测试条件
        • 4.3 测试结果及分析
          • 4.3.1测试结果
          • 4.3.2结论
          • 4.3.3视觉识别结果
      • 附录1:电路原理图
      • 附录2:源程序

·【电赛宝藏链接】参加电赛的宝们必看

【电赛宝藏链接】

四天三夜,那布满着未知与紧迫感的气息让荷尔蒙无比兴奋,挑战着脑力与体力的极限!
2021全国大学生电子设计竞赛F题参赛简记

2021年小车题完整代码及教程!
2021电赛F题视觉教程+代码免费开源

参加电赛必看的经验贴!
全国电子设计竞赛指导 (老学长挥泪经验之谈)

【电赛最全备赛资源】电赛历年赛题源码+老学长挥泪经验之谈(文章较长全网最全)+电赛论文写作模板及评分标准
电赛最全备赛资源


请添加图片描述


·【电赛源码合集】19电磁炮、17板球、15风力摆、13倒立摆

【电赛源码合集】

链接:百度网盘——19电磁炮.zip
提取码:wz1n
–来自百度网盘超级会员V3的分享

链接:百度网盘——17板球.zip
提取码:czjt
–来自百度网盘超级会员V3的分享

链接:百度网盘——15风力摆.zip
提取码:h30l
–来自百度网盘超级会员V3的分享

链接:百度网盘——13倒立摆.zip
提取码:y7fx
–来自百度网盘超级会员V3的分享

链接:百度网盘——(1994-2021)全国大学生电子设计竞赛历年真题
提取码:rv3l
–来自百度网盘超级会员V3的分享


请添加图片描述

智能送药小车(F题)

请添加图片描述
参赛队号:XXX
2021年11月7日
<致敬媛哥>

智能送药小车(F题)

摘 要

本设计以STM32单片机为主控模块,设计了主要包含k210机器视觉模块、Openmv机器视觉模块、蓝牙通信模块、压力检测模块、电机驱动和电源模块的智能送药小车控制系统。通过k210机器视觉模块将采集到的图片集进行本地训练,获得自己的数字检测模型。检测模型的精准度会随着训练图片集数目和训练时间不断提高。两轮的小车结构更有利于小车的转向,减小了小车所占空间。经测试,单个小车可以在20s内运送药品到指定的近端病房、中部病房、远端病房并返回到药房。60s内两个小车可以协同运送药品到同一指定的中部病房,到不同的远端病房送、取药品。两个小车性能分尺可靠,技术指标达到了设计要求。

关键词:STM32单片机;本地训练;蓝牙通讯;串级PID

1引言

该系统为了将200g药品送到指定病房,在视觉模块识别到病房号后,小车自动开始运送,根据走廊上的标识信息自动循迹,在到达指定药房并且卸载药品之后,小车自动返回。
为实现以上功能,我们将系统分为几个模块,分别有巡线模块,数字检测模块,药品检测模块,电机控制模块,蓝牙模块和供电模块。其中使用k210进行数字识别,在识别到数字之后,传输给STM32来控制电机旋转,在小车运行时k210持续检测,在路口处检测目标病房的数字,判断左右转。在到达目标病房并且已经卸载完药品之后,依然通过识别数字返回原位。两个小车之间通过蓝牙模块实现通信。

2系统方案

本系统主要由循迹模块、数字识别模块、药品检测模块、电机控制模块组成,下面分别论证这几个模块的选择。

2.1 循迹模块的论证与选择

方案一:使用openmv机器视觉模块。将摄像头拍摄到的图片转化为灰度图并划分为6部分,在不同区域分别确定色块位置,根据位置判定十字路口,丁字路口和直线。在直线运动阶段,通过直线色块中心点坐标与图像中心点坐标之差确定误差值,传输给下位机调节PID。
方案二:使用红外传感器。通过接收器接收红色电工胶带发出的红外线,根据接收器信号确定小车与路径相对位置,通过PID调节位置偏移量。红外传感器对于红色路径识别度较低,故舍弃改方案。
方案三:使用灰度传感器。使用高亮LED灯,通过接收管对不同强度反射光的强弱处理对比区分出路径,将接收器接收到的信号传入STM32中,通过PID调节位置偏移量。灰度传感器一手环境影响,所以舍弃该方案。
为保证识别精度,确保巡线的稳定性,所以选择方案一。

2.2 数字识别模块的论证与选择

方案一:使用k210机器视觉模块。通过配置环境以及制作数据集进行本地训练,随着数据集中数据量的增大,识别精度也随之升高。且k210环境配置简单,训练方便。
方案二:使用树莓派模块。通过配置环境,编写树莓派代码以及制作数据集进行训练,相较于k210数字识别,树莓派环境配置更繁琐,且安装繁琐。
组内成员系统学习过k210识别,所以选择方案一。

2.3 药品检测模块的论证与选择

方案一:使用光电传感器。通过光电传感器检测到药品已经放置在固定位置,将电平信号传递给STM32引脚实现相应动作。光电传感器仅能识别出是否放置,无法确定药品重量,精度较低,故舍弃该方案。
方案二:使用压力传感器。将药品放置在电阻式薄膜上,当检测出有200g物体,将电平信号传递给STM32引脚,控制小车的启动。相较于方案一,该方案识别精度更高。
为保证在准确识别到200g药品,所以选择方案二。
2.4 电机控制模块的论证与选择
方案一:使用直流电机控制。STM32输出PWM波,根据占空比控制电机转速。在调节角度时需要外接编码器,硬件连接更加繁琐。
方案二:使用编码电机控制。STM32通过L298N控制电机转动,带编码器的电机可以精准控制小车转动一定角度,相较于直流电机性能更加稳定,硬件连接更简洁,角度控制更精准。
为了让电机运行更准确,接线更简单,所以选择方案二。

3系统结构与电路设计

3.1智能送药小车结构设计

小车结构图如图1所示,小车尺寸为20cm20cm20cm,符合设计要求。小车采用两轮结构,在旋转90°时两轮可以有效降低控制难度,通过给两轮极性相反的PWM来减小旋转半径。
在这里插入图片描述
图1(a) 小车主视图
在这里插入图片描述
图1(b) 小车俯视图

3.2电路设计

3.2.1 系统总体框图与实物图

系统总体框图如图2所示,实物图如图3所示。系统主要由STM32F103单片机、K210视觉识别、灰度传感器、蓝牙模块、压力传感器、电机驱动等组成。

在这里插入图片描述
图2 系统总体框图
在这里插入图片描述
在这里插入图片描述
图3 实物图

3.2.2 电机控制电路原理图

电机控制系统电路
如图4所示,将L298N的输入引脚IN1,IN2连接单片机,输出引脚OUT1,OUT2连接电机的端子。通过改变PWM占空比来调节电机转速。
在这里插入图片描述
图4 电机控制系统电路

3.3程序的设计

程序流程图系统控制程序流程图,如图5所示。包含主程序流程和中断程序流程。
基于题目要求需要控制小车巡线和数字识别转向,小车巡线可以通过openmv采集当前位置和直线中心点的偏差,通过串口将偏差值输入单片机进行PID调节,单片机输出相应指令实现小车巡线运动。数字识别转向可以通过k210机器视觉模块识别图片中的数字种类和图片所在的坐标,并将识别信息传递给单片机。
在这里插入图片描述
图5 主程序流程图和中断程序流程图

4测试方案与测试结果

4.1测试方案

4.1.1 软件调试

Openmv和k210的视觉识别代码采用软件调试的方法,通过串口发送识别到的数字,在串口调试软件上直接打印出接收到的数字,确保代码的正确性。

4.1.2 硬件软件联调

在搭建好小车的硬件结构之后,安装Openmv,k210,STM32之后,上位机和下位机通信,上位机传输识别的数字和位置坐标,下位机进行相应动作。

4.2 测试条件

测试条件:黑色和红色电工胶带用于测试巡线和停止。数字图片用于测试数字识别。

4.3 测试结果及分析

4.3.1测试结果

单个小车运送药品到指定的近端病房并返回到药房测试结果如表1,表2,表3,表4,表5所示。
请添加图片描述

4.3.2结论

根据上述测试数据可以得出以下结论:
1、本次设计采用模块化思想,先后完成了数字检测、电机驱动、蓝牙通讯、巡线识别和电源电路等模块的设计,较好地完成了题目的基本要求,实现了单个小车运送药品到指定的病房。在此基础上,进一步完成了题目的发挥部分,即限定时间内两个小车协同运送药品到指定病房
2、影响电机驱动的稳定性和控制精度的主要因素是两电机电流分配不均匀,为有效减少电机转速不同影响,采用双电机驱动模块分别给两个电机供电,从而有效地提高了控制精度。
3、为保证识别精度,k210在训练时要保证数据集中图片包含多个角度,每个数据包含多张图片。随着数据集增大,识别精度提高。在训练过程中,从最初50张只有50%的精度到最后500张有80%的精度,数据识别更准确,系统更加稳定。

4.3.3视觉识别结果

在这里插入图片描述
在这里插入图片描述
图6 k210识别数字
在这里插入图片描述
在这里插入图片描述
图7 openmv循迹结果

附录1:电路原理图

附录2:源程序

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

2021全国大学生电子设计竞赛论文(智能送药小车(F题))(电赛论文模板) 的相关文章

  • Linux和Windows下使用printf的差别

    1 Linux系统下 一般而言 xff0c 大家都知道printf是带有行缓冲的函数 xff0c printf把打印的消息先输出到行缓冲区 xff0c 在以下几种情况下 xff1a 1 程序结束时调用exit 0 return xff1b
  • Could not connect ot Redis No route to host问题解决

    局域网内访问另外一台服务器上的redis 报错 Could not connect to Redis No route to host 问题解决 发现是防火墙问题 于是设置 iptables N REDIS iptables A REDIS
  • 大数据挑战赛-鼠标轨迹识别

    大数据挑战赛 鼠标轨迹识别 xff0c 竞赛官网 xff1a http bdc saikr com c cql 34541 1 我们看一下整个竞赛的详情 赛题描述 鼠标轨迹识别当前广泛运用于多种人机验证产品中 xff0c 不仅便于用户的理解
  • 暴力破解字典列表

    GitHub上的 xff1a https github com danielmiessler SecLists tree master Passwords Leaked Databases https github com duyetdev
  • Burpsuite技巧之MD5加密密码爆破、带验证码爆破

    一 Burpsuite技巧之MD5加密密码爆破 现在有很多后台都不再是明文传输 xff0c 改成了各种各样的加密方式 今天就拿MD5加密方式做一个演示 xff0c 举一反三 xff0c 希望对新手有用 如图 xff0c MD5加密了密码 x
  • 解决ubuntu连不上网络,输入ifconfig只显示本地环回问题

    使用虚拟机打开ubuntu后发现无法连接网络 首先我使用了ping www baidu com 然后通过命令sudo service network manager restart重启服务后仍然没有用 于是输入命令ifconfig查看网卡
  • https://mp.weixin.qq.com/s/ilO6DZwRpWdrruKm4J8CMw

    近日安全漏洞频发 xff0c 小编在此收集了近期大家会比较关注的漏洞 xff0c 做个总结 xff0c 供大家查漏补缺 xff0c 若有缺失 xff0c 欢迎留言补充 目录 一 OA系统 二 E mail 三 Web中间件 四 源代码管理
  • 浅谈JavaScript、ES5、ES6

    什么是JavaScript JavaScript一种动态类型 弱类型 基于原型的客户端脚本语言 xff0c 用来给HTML网页增加动态功能 xff08 好吧 xff0c 概念什么最讨厌了 xff09 动态 xff1a 在运行时确定数据类型
  • js声明变量的三种方式

    JS 声明变量的三种方式 xff08 1 xff09 使用变量步骤 xff1a a 声明 gt b 赋值 gt 3 调用 正确用法 xff1a lt script type 61 34 text javascript 34 gt 方式一 x
  • JS中[感叹号]function(){}()的理解

    这种写法 xff0c 是一种 96 立即执行函数 96 的写法 xff0c 即IIFE等设计模式 这种函数在函数定义的地方就直接执行了 理解IIFE设计模式的关键是要认识到 xff0c 在ES6之前 xff0c JavaScript仅具有函
  • Python:查找字符在字符串中的位置

    str 1 61 39 wo shi yi zhi da da niu 39 char 1 61 39 i 39 nPos 61 str 1 index char 1 print nPos 运行结果 xff1a 7 61 61 61 61
  • Multipart/form-data POST文件上传详解

    理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据 xff0c 都是通过form表达提交的 xff0c 代码如下 lt form method 61 34 post 34 action 61 34 http w
  • IIS6、IIS7和IIS8各版本的差别

    一 写在前面 目前市面上所用的IIS版本估计都是 gt 61 6 0的 所以我们主要以下面三个版本进行讲解 服务器版本IIS默认版本server20036 0server20087 0server20128 0 二 IIS6的请求过程 由图
  • Http请求头中X-Requested-With的含义

    昨天看代码的时候 xff0c 看到了这个一句 String requestedWith 61 HttpServletRequest request getHeader 34 X Requested With 34 X Requested W
  • 云台、RS485简介与区别

    云台 云台 xff08 Pan amp Tilt amp Zoom xff09 xff0c 缩写为PTZ 云台就是两个交流电机组成的安装平台 xff0c 可以分别围绕一中心轴作水平和垂直的运动 xff0c 将摄像机安装于其上 xff0c 实
  • ubuntu14.04版本下ulimit连接数限制的解决方法

    Linux对于每个用户 xff0c 系统限制其最大进程数 为提高性能 xff0c 可以根据设备资源情况 xff0c 设置各linux 用户的最大进程数 可以使用ulimit a查看当前限制 xff1a 对于一些服务的资源限制 xff0c 如
  • 防止全局变量重复定义

    问题 xff1a 在 h文件中定义了全局变量 并用 ifndef identifier h define identifier h endif 但是依然出现重复定义问题 分析 xff1a ifndef这套条件编译是为了防止同一个 c文件中包
  • Checksum 校验和

    一 校验数据的一般算法比较 都是通过对数据进行校验产生一个校验值 xff0c 用来校验数据完整性 不同点 xff1a 算法不同 CRC采用多项式除法 xff0c MD5和SHA1使用的是替换 轮转等方法 xff1b 校验值的长度不同 CRC
  • GPIO小综合-按键实验

    之前用寄存器操作实现了跑马灯和蜂鸣器 这次接着输入寄存器IDR捕获按键 并且综合亮灯和发出声音 xff0c 作为寄存器GPIO小综合练习 首先查KEY的电路图 xff0c 分别用到了ACD几个时钟 KEY0对应PC8 xff0c KEY1对
  • 数据结构入门

    概念 数据 Data xff1a 是客观事物的符号表示 在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称 数据元素 Data Element xff1a 是数据的基本单位 xff0c 在程序中通常作为一个整体来进行考虑

随机推荐

  • Linux系统发布项目完整教程

    目录 1 后端代码打包 1 1后端代码中文件上传路径修改 1 2 后端代码打包 1 3 后端项目发布 2 前端静态资源打包 2 1 项目中关于路径修改的说明 2 2模拟域名访问的设置 修改HOSTS文件 2 3 前端请求路径修改 2 4 前
  • 畸变校正与极线校正(具体原理+Matlab代码)

    附 xff1a 相关需要的工具函数源代码 xff08 投影函数 校正矩阵计算等 xff09 见最下面 1 畸变校正 1 1 形成原因 图像畸变一般有两种 xff0c 第一种是透镜本身的形状有问题 xff0c 使得图像发生径向畸变 xff1b
  • c++的http请求

    include lt iostream gt include lt fstream gt include lt cstdlib gt include lt cstring gt include lt sys socket h gt incl
  • stl智能指针和boost智能指针对比

    先说说stl中的智能指针auto ptr xff0c 先说说auto ptr的特点 std auto ptr用来管理单个堆内存对象 xff0c 但是独享所有权 xff0c 且不允许赋值和拷贝 xff08 没有重载operator 61 xf
  • boost库noncopyable简介

    前言 看了一段时间的UNP对Linux下网络编程有了一定程度的理解 xff0c 经学长推荐 xff0c 开始学习陈硕老师的 Linux多线程服务端编程 看之前特地上了知乎 xff0c 阅读者需要具备一定的C 43 43 和网络编程基础 xf
  • 车道线检测和基于RGB交通标志检测系统

    好久好久好久没更新博客了 今天是冬至 首先跟大家说一声 冬至快乐 冬至吃过汤圆 又长了一岁 感觉真的时不待人 好像自己什么事情也没有完成 也没留下一些什么东西 所以今天就想来写写博客 我是分割线 运行环境 Win7系统64位 运行平台 Qt
  • c++中h文件和lib有什么区别

    转自 xff1a https zhidao baidu com question 510969923 html 1 lib 是若干个obj的集合 xff0c 本质与obj相同 xff01 lib有静态lib和动态lib之分 静态lib将导出
  • cmake在Windows上的使用

    cmake介绍 cmake是一个构建C 43 43 代码的跨平台工具 xff0c 他能够干什么呢 xff1f 他能够搜索你的平台环境 xff0c 然后生成平台上用于Build的文件 在Windows上安装了Visual Studio 他能够
  • ubuntu系统安装完nvidia显卡驱动后黑屏,不能进入系统

    昨天想看显卡 xff0c 更新了下驱动 xff0c 发现服务器重启进不去 步骤 1 开机按esc 进入 选项界面2 进去以后选择一个括号里面带recovery mode的选项3 然后它自动黑屏出现代码 xff0c 然后弹出一个选择框 xff
  • ubuntu18.04下cmake的安装

    一 使用安装命令 span class token function sudo span span class token function apt span span class token function install span c
  • Nginx/Lighttpd/Apache三大web服务器对比分析

    一 xff0e 软件介绍 apache lighttpd nginx 1 lighttpd Lighttpd是一个具有非常低的内存开销 xff0c cpu占用率低 xff0c 效能好 xff0c 以及丰富的模块等特点 lighttpd是众多
  • STM32学习笔记八——串口实现不定长数据传输

    生命不息 xff0c 奋斗不止 0 摘要 今天说一下STM32单片机的接收不定长度字节数据的方法 由于STM32单片机带IDLE中断 xff0c 所以利用这个中断 xff0c 可以接收不定长字节的数据 xff0c 由于STM32属于ARM单
  • linux shell 字符串长度

    本篇内容主要包括以下内容 xff1a 获取字符串长度的方法 各方法间性能比较 相关内容补充 说明 xff1a 本篇内容为学习shell 编程 老男孩教程 笔记 xff0c 部分内容为相关视频课程内容 xff0c 补充部分是我查资料所得 xf
  • measurement studio测控与单片机通信上位机

    using NationalInstruments Analysis using NationalInstruments Analysis Conversion using NationalInstruments Analysis Dsp
  • C语言实现Socket简单通信

    环境是linux xff0c 不过应该没什么影响 xff0c 因为只用到了socket的基本用法 xff0c 没有涉及pthread等 分为服务器端和客户端 xff0c 服务器端监听端口发来的请求 xff0c 收到后向客户端发送一个Hell
  • 接口工具POSTMAN怎么设置中文

    相信各位测试工程师或者测试小白们都会在进行接口测试的时候接触到POSTMAN这款强大的接口测试软件 Postman 从最初设计上就是为接口测试而生的 xff0c 所以在程序员中广泛使用 xff0c 在开发调试网络程序时跟踪一些网络请求 xf
  • 【第三方库】libcurl实现http及https方式下载和访问

    准备条件 xff1a 编译好的libcurl库 xff0c 如果要支持https xff0c 需要和openssl一起编译 xff0c 网上教程较多 示例代码 xff1a xff08 使用loadlibrary的方式只是为了测试方便 xff
  • ROS学习系列:第四讲 — gazebo模型建立

    gazebo模型元素 World Files 文件包含机器人 灯光 传感器 静态物体 文件格式SDF xff0c 后缀扩展名 world gazebo服务端gzserver读取world文件产生和构成world Model Files 文件
  • 2021电赛F题视觉教程+代码免费开源

    2021电赛F题视觉教程 43 代码免费开源 最近好多要电赛题的源码 xff0c 其他csdn营销号下载都需要会员或钱 xff0c 正好最近课设又要做一遍电赛小车题 xff0c 哥们先把代码开源了 xff0c 饿死营销号 电赛宝藏链接 xf
  • 2021全国大学生电子设计竞赛论文(智能送药小车(F题))(电赛论文模板)

    2021全国大学生电子设计竞赛论文 xff08 智能送药小车 xff08 F题 xff09 xff09 写在前面的话 电赛是一个很奇妙的过程 xff0c 可能有些人觉得电赛的门槛太高 xff0c 那便意味着 xff0c 当你决定要参加电赛的