省三【F题—黑龙江大学】宋同学—智能送药小车
采用 STM32F407VET6开发板作为主控模块,设计了主要包含超声测距模块、OpenMV 模块、舵机云台模块、OLED 显示模块、按键模块和电源模块的送药小车系统。
标签
STM32
智能车
2021电赛
超声测距
OpenMV
舵机
PWM控制
songjiabao
更新2021-12-14
黑龙江大学
2668

竞赛选题

摘要: 采用 STM32F407VET6开发板作为主控模块,设计了主要包含超声测距模块、OpenMV 模块、舵机云台模块、OLED 显示模块、按键模块和电源模块的送药小车系统。系统通过 OpenMV 进行图像处理,通过openmv识别红线通过发送给单片机再通过PWM控制调控电机,使其达到目标位置;识别方面,利用openmv自主学习原理识别阿拉伯数字并发送给stm32主控板通过超声模块识别药品是否装上;控制方式采用 PID 算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应,能很好实现将小车移向目标点。经后期测试,系统首先识别要运送的药房编号,其次识别有无药品被装载,再沿红线进行循迹将药品送入指定药房。;该系统性能可靠,技术指标满足设计要求。

关键词:STM32F407VET6开发板;OpenMV;机器视觉模板匹配;PWM控制;PID 控制;超声测距;电动小车。

系统方案设计方案主要内容(需满足赛题中内容要求)

1、设计方案工作原理

1.1 小车控制模块

方案一:openmv采用的是最新的stm32H7芯片,采用openmv一体化控制,识别数字同时识别红线运用pid算法控制电机转动 ,通过单片机显示状态,但是这样的话openmv的运算量过大,时间过长,误差较大,不能及时处理数据导致误差增大,且openmv的引脚不够,插线有问题;

方案二:STM32F407VET6单片机作为主控,通过openmv识别数字和红线,传给STM32F407VET6,再通过STM32F407VET6控制电机,这样大大减少openmv的处理,增加识别速度,提高准确度,引脚够多不用担心引脚不够用的情况;

综合以上两种方案,我们选择了方案二,采用 STM32F407VET6 单片机作为 控制器。

1.2 循迹模块

方案一:采用红外循迹。红外循迹程序简单易调,价格低廉,安装方便,可以稳定的识别黑线进行循迹,但是由于本次实验循迹的目标对象是红线,红外循迹的感光不易调,所以不适合本次比赛的循迹。

方案二:采用openmv图像处理进行循迹,采用感兴趣区颜色识别将照片分为5个小部分,相当于5路寻迹模块,当同时扫到时为十字路口,进行转弯判断。该循迹稳定且易调,只需要对openmv程序中的阈值进行适当调整即可进行红线循迹,而且openmv的视觉处理还可以识别十字路口等复杂的情况,缺点是openmv对图像处理的知识够多,上手较难。

综合以上两种方案,我们选择了方案二,采用openmv图像处理作为循迹模块。

1.3 电机驱动模块

方案一:采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,操作方便,稳定性好,性能优良。

方案二:对于直流电机用分离元件构成驱动电路,结构简单,价格低廉,在实际应用中很广泛,但在应用中不够稳定。

方案三:采用达林顿管组成的H型PWM电路,用单片机控制达林顿管使之工作在占空比可调的开关状态,可精确调整电动机的转速。这种电路工作在饱和截止模式下,一般用起来不大经济,且难于控制。

由于电力电子器件只工作在开关状态,主电路损耗较小,要求精度较高,所以选择方案一。

2、核心部件电路设计

FotDaCLCpHypXK4Gw5VZNt-parWN

Fk-r_yis6klx32YyH_7WZVCdFk3J

电机驱动原理图

3、系统软件设计分析

3.1  软件设计

软件部分采用模块化程序设计的方法,将单片机上添加操作系统,使程序更加模块化化,系统包括信息采样,信息通信,信息处理等模块openmv数字识别采用灰度图,巡线采用RGB565,用状态标志的思想在灰度图与彩图之间切换,单片机给openmv发送高电平切换模式; 当openmv五个感光区同时为一使STM32F407VET6控制电机停下进行转弯前进倒车等程序

3.2  程序流程图

FprNs04pCbNnuPfaNpsQTCkYDUBt

4、竞赛工作环境条件

4.1  测试环境:

地点:实验室       

时间:2021年11月7日     

温度:20℃

4.2  测试仪器:

多功能数字万用表、STM32F407VET6单片机、秒表、计算机,示波器。

4.3  测试方法:

先让摄像头先后对数字1、2进行识别,检测药品装载后在规定时间内将药品送到指定药房,1号药房送药测试

次数

小车实际跑一圈的平均速度

小车理论跑一圈的平均速度

误差

1

0.09m/s

0.08m/s

0.01m/s

2

0.10m/s

0.08m/s

0.02m/s

3

0.11m/s

0.08m/s

0.03m/s

4.4  误差分析:

因为控制器的时间是通过内部定时器定时实现的,所以精度高,显示时间准,其与秒表实测值之间的微小误差是由测量误差所引起的。另外,小车采用直流电机,不能短时间急转和大弧度转弯,所以导致速度控制不够精确和稳定,这也极大的造成了误差。再加上跑道是直接使用实验室地板,所以地面的摩擦力也对小车的速度造成了影响从而导致了误差。最后就是在数据的处理时,由于人工的测量与计算,肯定存在着误差,从而导致了与理论值的偏差。

5、原理图

FlsORZWRqcado3XOW6uUlpNw6F0F

6、作品成效总结分析

经过测试,本系统识别药房循迹送药时,能够准确识别药房,循迹红线,其中通过openmv图像处理以及stm32f407vet6单片机数据处理可以有效判断十字路口的转弯情况;在装载药品和卸载药品时,可以通过超声模块有效判断药品的情况。本系统可满足送药小车基本任务要求。 通过本次比赛我们团队深入理解了循迹小车以及openmv识别药房的原理,并对电子设 计领域产生了极大的兴趣,同时这次比赛锻炼了我们的团队合作能力。虽然比赛 的时间有限,但是我们的研究并不会因为这次的大赛而结束,我们会在已经实现 的基础上作进一步的研究,完善其功能。

7、参考资料及文献

[1]陈炳和.计算机控制系统基础.北京:北京航天航空大学出版社,2001.

[2]杨和平等.单片机原理与应用.北京:机械工业出版社,2008.

[3]张菊鹏等.计算机硬件技术基础(第二版).北京:清华大学出版社,2000.

[4]阎石.数字电子技术基础(第五版).北京:高等教育出版社,1998.

[5]童诗白等.模拟电子技术基础(第四版).高等教育出版社,2010.

[6]Openmv星瞳科技论坛

[7]正点原子论坛

8、作品照片:

FhA0V5FRGq94yvlWE869fI4uIx8U

 

Fh4_EfhN4slEWnQj7PG2xr25yvAT

 

Fncim3NnqYbkDkt3a7UMpafp2DpB

 

附件下载
黑龙江大学F题Openmv代码.docx
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号