戴圣伟,刘 忆,熊一菲,周源睿,杨明霄
(1. 湖南工业大学 电气与信息工程学院,湖南 株洲 412007;2. 湖南化工职业技术学院 智能控制工程学院,湖南 株洲 412006)
配送药物[1-2]是现代化医院和零售药店建设中的关键环节。配送人员配送药物的过程中,会受到药物清单排列顺序的影响。这些作用在药物配送人员上的影响具有时滞性、随机性,对于这种复杂的配送过程,采用配送人员配送药物的方法很难达到配送时间要求。而智能药物配送算法的优越性在于不需要知道复杂的配送药物顺序,只需识别EAN-13 码即可推出对应药物。由于配送药物的配送顺序的不确定性,简单的配送人员配送药物不能满足其要求。为此,研究组提出以智能药物配送算法对药物配送顺序进行控制,并通过实物模型运行实验,以实验数据证明了控制算法的可行性与有效性。
药物配送控制系统如图1 所示。其中,由EAN-13 码扫码枪构成取药码输入模块,将EAN-13 取药码数据进行采集并通过串口通信[3]送给STM32 单片机,循环检验模块由步进电机组成,STM32 单片机控制步进电机循环推动扫码枪扫描EAN-13 码,判断之前采集到的取药码是否正确。STM32 单片机通过各驱动模块控制取药模块将药物推出、控制由减速电机驱动的传送带模块将药物稳定推动至目标位置,实现药物的配送。
图1 药物配送控制系统Fig. 1 Pharmacy distribution control system
STM32 识别取药码后,控制驱动模块驱动取药模块直流推杆推送药物,取药部分机械机构的选择关系到整个系统的执行效率。药槽最前面的储药盒需要一定的机械力推动才能脱离槽前端的束缚,然后被推出掉落[4]。而直推式机械结构符合出药部分机械结构要求,直推式机械结构主要由电动机、储药盒、电动机同轴偏心轮、直流电动推杆组成,利用电动推杆的可伸缩结构以及重力的作用将药品推出至传送带上,具有简便性、高效性和稳定性等特性[5],直推式机械结构如图2 所示。
图2 直推式机械结构Fig. 2 Direct push type mechanical structure
在药物配送控制系统取药码输入模块中,取药码采用EAN-13 的编码方式,扫码枪采集EAN-13 码后将数据传输给STM32 单片机进行识别。EAN-13 编码识别原理如图3 所示,图形内编码表示EAN-13 码的一个字符。C1~C4表示该字符中4 个相邻的条(黑)或空(白)的宽度。由图可得:
图3 EAN-13 码字符识别原理Fig. 3 The recognition principle of EAN-13 code
用n表示一个模块的宽度,L表示一个字符的宽度,则
式中i=1, 2, 3, 4。
若m1=1,m2=3,m3=1,m4=2,且条码排列为“条—空—条—空”,则当前字符二进制编码为1000100,代表当前字符为“7”。
直推式机械结构中电动推杆通过直流电动机进行推动,通过计算直流电动推杆转矩方程,结合运动学与力学方程,可以将药物准确地推送到目标位置。
直流电动机的额定容量PN及额定输出转矩T2N分别如下:
式(4)(5)中:UN为额定电压;IN为额定电流;ηN为额定效率;nN为额定转速。
直流电动推杆电枢电动势Ea和电磁转矩T分别为
式(6)(7)中:Φ为磁通;n为电机转速;Ia为电枢电流;CE、CT为常数,大小由电动推杆结构决定。
通过计算额定输出转矩T2N,结合运动学与力学方程,可以得出电动推杆的标准行程,通过调整电枢电流Ia、磁通Φ,计算电磁转矩T,结合运动学与力学方程,可以调整电动推杆行程,使其满足实际情况。
病人将自己的取药码放在扫描区域内,取药码输入模块扫码枪扫描EAN-13 码后通过串口USART1将数据发送给STM32[6],再由STM32 经驱动模块驱动器来驱动不同的电机运转。整个运作系统由3 个直流电动推杆、1 个减速电机和1 个步进电机[7]组成。直流推杆1、直流推杆2、直流推杆3 构成取药模块,负责推送出3 种不同的药物,减速电机构成传送带模块,负责将推出的药物输送到指定的地点,步进电机构成循环检验模块,负责循环推动扫码枪,通过扫码枪循环扫描EAN-13 码[8],来实现对所需药品的二次确认,确认无误后则将这个药物推至传送带。最后完成整个药物配送控制系统控制,药物配送控制系统的控制算法如图4 所示。
图4 药物配送控制系统控制算法Fig. 4 Pharmacy distribution control system
药物配送控制系统控制电路如图5 所示。
图5 药物配送控制系统控制电路图Fig. 5 Control crcuit diagram of pharmacy distribution control
药物配送控制系统利用STM32 单片机、OV7670模块(摄像头模块,属外围扩展电路)构成扫码枪获取取药码并通过识别程序进行取药码解码,然后将控制指令传输给各控制驱动器,移动导轨中的步进电机受步进电机驱动器控制,推杆中的直流电机由L298N 驱动模块直接驱动,传送带中的减速电机由桥式驱动器驱动。
由于TB6600 驱动器具有H 桥双极恒流驱动、电机噪声优化、自动半电流散热等特点,细分数达6 400,具有过压、过流、短路、欠压等保护,因此步进电机驱动器选择TB6600 驱动器,该驱动器基本参数如表1 所示。
表1 TB6600 型驱动器参数Table 1 TB6600 drive parameters
通过S1、S2、S3 共3 位拨码开关细分后,步进电机的步距角设定如表2 所示。
表2 电机步距角设定表Table 2 The motor step angle setting table
通过TB6600 驱动器6 位拨码开关设定8 种细分(NC、1、2/A、2/B、4、8、16、32)和8 档输出电流(0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5 A)。通过S4、S5、S6 共 3 位拨码开关选择8 档电流控制(0.0, 0.5,1.0, 1.5, 2.0, 2.5, 3.0, 3.5 A),如表3 所示。
表3 电流大小设定表Table 3 Current size setting table
通过对整个系统的设计,减速电机用来带动传送带转动,由于自行焊接的传送带力矩较大,所以普通直流电机力矩不够大,对减速电机有特别要求,故采用37GB555 型减速电机,37GB555 型减速电机具体参数对照表见表4。由于37GB555 型减速电机电流较大,使用普通的L298N 型驱动器容易烧坏,必须使用大功率的桥式驱动,故采用YYH-1 桥式驱动,YYH-1 桥式驱动参数及真值表如表5 所示。
表4 37GB555 型减速电机参数对照表Table 4 Gear motor 37GB555 parameter comparison table
表5 YYH-1 桥式驱动参数及真值表Table 5 YYH-1 bridge drive parameters and true value table
药物配送控制系统实物模型如图6 所示。
图6 药物配送控制系统实物模型Fig. 6 Physical model of pharmacy distribution control system
进行推药杆每分钟推药次数的统计、每个储药箱储存药物的统计,以及传送带送药效率的统计,最后计算了整个系统运行一次的时间(扫码枪扫码时间可忽略不计),具体数据如表6 所示。
表6 药物配送控制系统运行数据Table 6 Operation data of pharmacy distribution control system
由表6 可以得知每人取药一次的时间为6.25 min(假设3 个储药盒所有药物清空即为一个人的取药盒数),通过调查和元器件性能的分析,初步估算的每个人取药时间为5 min,实际取药时间为6.25 min,出现1.25 min 的偏差,经过多次调试,让整个系统达到稳定运行状态,反复调试程序,使各部分动作精确、快速,能达到技术要求。在运行调试过程中,发现机械结构设计不巧妙导致出药时因摩擦影响,偶尔会出现卡盒的情况,导致整个系统出现1%的动作偏差。但1%的动作偏差满足动作误差小于6%的控制要求。
用智能的自动化药物配送系统代替医院取药房的人工过程[9],节约了时间,提高了工作效率。整个系统结构简单、维护方便,在保证工作效率下提高了稳定性,可长时间准确地高强度工作,明显优于人工取药[10]。采用串口的信息传输,结构简单、响应速度快、药品选择精准。亦可调整STM32 芯片的程序,针对不同的工作量,随时改变系统各部分的运行速度[11],满足医院取药房的工作需求。采用智能化配药方式,不仅高效稳定,更能通过对劳动力的解放带来直接经济效益[12-15]。