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:源程序

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

  1. 2021年全国大学生电子设计竞赛——信号失真度测量装置(A题)——设计过程分享(1)

    一.前言        这边来分享一下这次国赛的A题软硬件设计过程,本次分享会拆分成几篇博客进行分享,这几篇博客大体会采用时间顺序来进行,来纪念这次国赛的经历,博客里面会涉及本次参赛的软硬件设计思路和 ...

  2. 【我的电赛日记(完结)---2021全国大学生电子设计竞赛全国一等奖】A题:信号失真度测量装置

    目录 前言 题目分析 方案设计 原理图电路 程序设计 实物展示 总结 太久没更新了,闲来无事更新一下自己本科最后的一次比赛,也算是为我的电赛日记画上完美的句号了. 前言 本系统以TI MSP432P4 ...

  3. 2021年全国大学生电子设计竞赛——信号失真度测量装置(A题)——设计过程分享(2)

    一.前言        电赛的第二天一般需要去确定最终的硬件电路,因为电路板的腐蚀和焊接都需要一定的时间,之后的硬件基本就不会再进行大改,最多都是在现有的基础上更改元件参数或者割线修改,之后即使功能不 ...

  4. 2021全国大学生电子设计竞赛A题

    信号失真度测量装置(A 题) [本科组] 一 任务 设计制作信号失真度测量装置,对来自函数/任意波形发生器的周期信号(以下 简称为输入信号)进行采集分析,测得输入信号的总谐波失真 THD(以下简称为失 ...

  5. 2021年全国大学生电子设计竞赛——信号失真度测量装置(A题)——设计过程分享(3)

    一.前言        之前已经弄好了基础的要求,决定使用频率来校准测量值,这里就涉及到一个问题是如何去得到信号的基波频率,并且发挥部分的一个要求是绘制出一个周期的完整波形,这个要求也需要我们去计算得 ...

  6. 2021全国大学生电子设计竞赛--电源--三相逆变(软件)

    昨天写了一篇硬件方面的文章,很多人就咨询我,今天乘着热度写篇关于三箱逆变软件的文章. 三相逆变的关键就是输出互补的SPWM波,更直白点就是占空比按照正弦波变化. 本文说三个问题:SPWM,调压,,调频 ...

  7. 【电赛合集】19电磁炮.zip、17板球.zip、15风力摆.zip、13倒立摆.zip、(1994-2021)全国大学生电子设计竞赛历年真题.zip

    [电赛合集]19电磁炮.zip.17板球.zip.15风力摆.zip.13倒立摆.zip.(1994-2021)全国大学生电子设计竞赛历年真题.zip 电赛宝藏链接: 四天三夜,那布满着未知与紧迫感的 ...

  8. 全国大学生电子设计竞赛历届题目

    全国大学生电子设计竞赛历届题目 第一届(1994年)全国大学生电子设计竞赛题目 4 题目一 简易数控直流电源 4 题目二 多路数据采集系统 5 第二届(1995年)全国大学生电子设计竞赛题目 6 题目 ...

  9. 参加全国大学生电子设计竞赛有感

    参加全国大学生电子设计竞赛有感 写在前面 本人大二电子信息工程专业在读,坐标杭州.算上真正接触电子信息课程有一年半的时间,电子信息专业学的科目多且繁杂,常常是学了之后没有一段时间复习就忘了,为了及时的 ...

  10. 2021年全国大学生电子设计竞赛重新启动通知及进度安排

    大家好,我是张巧龙,昨天晚上收到了电赛重新启动的通知. 2021年全国大学生电子设计竞赛 重新启动通知及进度安排 (电组字[2021]03号) 各赛区组织委员会.各有关高等学校: 根据全国疫情变化情况 ...

最新文章

  1. 如何通过HTTP优雅调用第三方-Feign
  2. shell 连续空格输出
  3. Git:与GitHub搭配及SSH登录
  4. SQL Server 触发器学习总结
  5. js怎么把按钮往下移_Vue.js 实现计算器
  6. delphi中move函数的用法 转
  7. qmenubar 添加按钮_QMenuBar,QMenu和QAction(QMenuBar, QMenu QAction)
  8. foregroundservice的用处和用法
  9. android 环形进地图条,easyEcharts折线,柱状,饼图,仪表盘,环形,水球,圆柱,地图纯JS绘制...
  10. ERPLAB脑电数据分析教程
  11. 实验十 文件读写 1. 文件排版(文本文件读写)
  12. win8运行matlab7.0,Win8.1系统中matlab7.0不兼容的解决方法
  13. VR演示室设备使用说明
  14. python数据分析建模-十分钟搞懂“Python数据分析”
  15. 动态规划(基于C++)
  16. outlook 2016 邮件怎么显示图片
  17. 兼容 Spring Boot 1.x 和 2.x 配置类参数绑定的工具类 SpringBootBindUtil
  18. 网站采集工具之免费帝国CMS采集聚合
  19. 简明藏文文法和实用藏文文法教程笔记
  20. C++ 简单FTP客户端软件开发

热门文章

  1. 计算机管理中无法格式化,Win7电脑无法格式化SD卡怎么办?
  2. access视频教程百度网盘_Access数据库快速开发视频课程
  3. Avast注册以及更新
  4. namenode和datanode的功能分别是什么_海德堡印刷机电路板分别是什么功能
  5. 任务栏流量监测工具 NetSpeedMonitor 在Windows 8下的安装使用
  6. 常用的ADB命令介绍
  7. UNIX系统V(System V)
  8. NGUI-UILabel
  9. VC6++配置汇编环境和第一个简单程序
  10. 免费好用的 PDF 编辑器推荐