基于STM32的智能送药小车

/ 2

基于STM32的智能送药小车

周蒙恩  李俊威  贺俊凯

河南科技大学信息工程学院   471023

摘  要本系统采用型号为STM32F07ZGT6的ARM芯片设计了一台智能送药小车。系统硬件有中央处理器、传感采集电路、小车、电机驱动等四部分组成。传感器以OPENMV为摄像传感器,霍尔元件磁感应器为主,在小车进行送药前,对所需的病房号进行数字模块识别采取,在行驶过程中实时对红色线条进行颜色识别实现循迹的功能,并且在小车行驶的过程中将采集到的病房号,实时传输给ARM中央处理器,中央处理器通过算法发出指令,实时将采集到的病房号与采集到的所需病房号进行对比,在完成识别匹配之后,中央处理器通过定时器控制小车的行驶时间,使小车按照预定的要求将药品送至病房门口等待人工卸载,同时通过霍尔效应实时检测药品是否已经完成卸载。

关键词:ARM;PWM;智能小车;循迹识别;检测药品

0 引言

随着人口老龄化和医疗需求的增长,智能送药小车可以作为应对未来医疗挑战的一种解决方案。通过智能送药小车的使用,医院可以更有效地管理药品库存,减少药品浪费,提高资源利用效率。并且可以提高整体的医疗工作效率。同时通过精确的控制系统,智能送药小车可以减少人为错误,如送错药品、送错病房等,从而提高医疗安全。

1 系统方案设计与论证

结合直流电动机相对良好的调速特性及较小的功耗特性,利用ARM产生的PWM波控制智能小车实现要求。智能小车采用集中控制和分步模块化的设计。智能小车的硬件部分由STM32F407ZGT6开发板,电机驱动模块,openmv摄像传感检测模块,药品检测模块组成。智能小车采用左右两电机驱动,两电机间的差速控制转向。智能车前端的openmv摄像传感模块对红线以及数字的反馈信号,通过ARM芯片控制PWM输出,从而控制电机的速度与转向以及循迹功能的实现。

1.1方案比较与论证

1.1.1直流电动机驱动

     直流电动机驱动采用ST提供的STM32F407ZGT6芯片,结合OPENMV摄像传感器,检测红线的路径,产生占空比可调的PWM波实现循迹。本模块用于驱动车上两个直流电机,能够较好的实现小车速度及方向的控制。

ARM的4个PB6、PB7、PB8、PB9 IO口输入信号给A1 A2控制A电机,输入信号给B1B2控制B电机,4个1.5V电池直流扩展输出可以给电机驱动供电,5V直流扩展输出可以给ARM供电。通过PID算法实现两电机的转速平衡达到平稳直线运行的方式。

1.1.2循迹模块

方案一:使用TCRT5000红外反射式接近开关传感器,可以实现寻迹、壁障等功能,TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。

方案二:使用CMOS传感器,同时与红外相比,更易识别出红线。与一般的红外光电管和摄像头相比,摄像头的优势在于较大的前瞻距离,这有利于小车提前探测路径的情况,从而实现循迹,且仅仅对红线进行识别,识别颜色单一不易受到背景、光线等外部因素的干扰,因此可以较为简便的实现策略要求较低。

经过分析比较,为更好的实现该模块,我们选用方案

1.1.3数字识别模块

采用的是openmv的CMOS图像传感器,图像传感器一个直观的性能指标就是对图像的复现的能力。而象素阵列就是直接关系到这一指标的关键的功能模块。

CMOS图像传感器具有以下几个优点:1、随机窗口读取能力。随机窗口读取操作是CMOS图像传感器在功能上优于CCD的一个方面,也称之为感兴趣区域选取。此外,CMOS图像传感器的高集成特性使其很容易实现同时开多个跟踪窗口的功能。2、抗辐射能力。总的来说,CMOS图像传感器潜在的抗辐射性能相对于CCD性能有重要增强。3、系统复杂程度和可靠性。采用CMOS图像传感器可以大大地简化系统硬件结构。4、非破坏性数据读出方式。5、优化的曝光控制。值得注意的是,由于在像元结构中集成了多个功能晶体管的原因,CMOS图像传感器也存在着若干缺点,主要是噪声和填充率两个指标。鉴于CMOS图像传感器相对优越的性能,使得CMOS图像传感器在各个领域得到了广泛的应用。能够方便地识别出相应的病房号,并将其送入中央处理器中实时进行比对。

1.1.4药品检测模块

  药品部分的检测采用的是霍尔效应所做的磁控开关来实现,载物时亮红灯,当没有磁性载物时红灯熄灭。利用霍尔元件的特性:当没有磁性物质接触霍尔元件时,霍尔元件的的INOUT脚与GND脚之间会产生1.3V左右的电压。而当磁性物质解除霍尔元件时,发生霍尔效应使得INOUT脚和GND脚短路,从而实现led灯亮灭功能的实现,同时对霍尔元件的INOUT脚进行检测是否有电平,将其连接在PE2IO口,方式改为输入方式,即可完成药品放置或卸载的实时监测。

1.2信号的检测控制方案

1.2.1电机的信号控制功能

智能小车采用ST公司的STM32F407ZGT6芯片作为控制核心,通过CMOS视觉传感模块来识别路径循迹,利用PWM技术和编码器PID控制算法来控制两个直流电机的前进速度和方向,硬件电路包括升压电路、电机驱动电路、检测电路。模块化结构保证了小车成为一个可靠整体,软件采用C语言编程,完成小车所要实现的任务。

传统的步进电机控制方法是由触发器产生控制脉冲来进行控制的,但此种控制方法工作方式单一而且难于实现人机交互,当步进电机的参数发生变化时,需要重新进行控制器的设计。因此适合于单片机控制,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。

STM32F4 的串口资源相当丰富的,功能也相当强劲。 ALIENTEK 探索者 STM32F4 开发板所使用的 STM32F407ZGT6 最多可提供 6 路串口,有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持 LIN、 支持调制解调器操作、 智能卡协议和 IrDA SIR ENDEC 规范、具有 DMA 等。

1.2.2红线、数字信号检测的控制

当CMOS检测传感器检测到红线时,小车待药品放置上后,跟随着红线前进实现循迹的效果,同时openmv的视觉传感器通过对数字字模进行识别,并将最初的要求字模进行特征点标注导入至中央处理器,在小车行驶的过程中不断地对视觉传感器中所出现的字模进行识别匹配,待字模达成匹配之后,小车根据算法给出的指令,实现分叉路的拐弯,直达相应病房。待病房卸载完药品之后,小车掉头旋转,根据循迹判断红线方向,实现返回药房门口。

2 电路设计

WTYGLWDEAARUT~NE[OYUT}I

STM32F407ZGT6芯片及部分基本电路

3 系统软件设计

wps

该小车存在4种运行状态:1、药房取药状态 2、识别病房号状态 3、循迹状态 (送药循迹,返回循迹) 4、等待卸载药品状态

(注:下述状态用数字进行代表)

设计思路:

1状态下点亮绿灯,由霍尔元件等待药品装上(判断引脚高低)。此时不给红灯送高电平。

2状态下在小车前放置数字字模等待小车识别字模录入完成。

3状态下在数字字模录入完后才能之后,启动摄像传感器进行红色循迹,待传感器接受到地面上的字模之后与已录入的字模进行即时比对,当匹配相同时,拐入所对应的方向,之后通过红色循迹直达病房门口。

4状态下当小车停止之后,给一个IO口一个高电平,启动霍尔元件磁感器,此时当药品未取走时,小车的红灯持续点亮,当药品取走之后,霍尔元件的3脚将向单片机的PE2口输入电平状态,通过判断电平状态,完成当药品取完后小车红灯熄灭,即刻执行放回药房的指令。

4 结束语

本文阐述的智能送药小车实现了药品的自动配送工作,减少了医护人员在药品配送上的消耗时间,提高了整体的医疗工作效率,在送药过程中,系统实时采集病房号并与预定目标进行匹配,通过中央处理器的算法控制小车行驶时间,确保药品准确送达指定病房门口。此外,系统还利用霍尔效应检测药品是否已卸载,以完成整个送药流程。这种智能送药小车的设计减少了医护人员的工作负担,同时提升了医院的现代化管理水平。

参考文献

[1] 何宾.STC单片机原理及应用:从器件、编、C到操作系统的分析和设计[M].北京:清华大学出版社,2019.

[2] 胡凤忠,高金定,廖亦凡、单片机原理与应用:基于AT89S51+Proteus仿真[M].北京:机械工业出版社,2019.

[3]肖金球,黄伟军,雷岩、单片机原理与应用技术[M].北京:清华大学出版社,2019.             

[4] 范力旻,蔡纪鹤、单片机原理及接口技术[M].北京:机械工业出版社,2019.