基于STM32的接种分离装置控制系统
2018-03-16侯延进田寒梅滕竟争张新力许敏
侯延进,田寒梅,滕竟争,张新力,许敏
(山东省科学院能源研究所传递现象研究中心,山东 济南 250014)
接种分离是医学用途广泛的一种操作,其人工操作用工量大、耗费时间,且易使医护人员发生感染。医用接种分离器是将病人的尿液、痰液等物理样本取样并在培养基里面按照不同方式划线培养,然后将结果进行分析化验的一种仪器。目前国外接种分离装置在控制系统设计方面,只有德国西门子等几家大公司有类似的产品,大多采用可编程控制器(PLC)[1]、工业控制机(IPC)、单片机等自动控制手段,具有人机界面友好、工作安全可靠等特点[2-3],但是费用昂贵且售后服务不到位。国内目前医用接种分离自动化程度不高,大多依赖于人工操作,步骤繁琐且占用大量人力,全自动接种分离控制技术还属空白。本文研制了一种以ARM系列STM32F407型单片机作为核心接种分离器及相关的外围配套器件的全自动控制系统,实现了样本采集、细菌培养、实验数据存储以及授权扣费等功能。
1 接种分离器的系统构成及工作流程
图1展示了接种分离器执行机构的基本构造,其中包括13个步进电机[4],6个减速电机,6个电磁阀,24个位置传感器(其中包括对射式和反射式两种)以及一个电加热器。
图1 接种分离器的构造图Fig.1 Structure of inoculation separator
本系统分为样本输送段以及细菌接种段。样本输送段的流程为:当检测到有样本到来后,步进电机和电磁阀控制机械手将样本移动到开盖位置开盖,然后再移动到样本沾取位置等待接种段的探针接种,在接种完毕后将样本移动到关盖位置关盖,移动到丢弃孔丢弃。细菌接种段的流程为:将培养品按照样本的种类从料架中取出,开盖并移动到划线位置,然后探针沾取样本按照触摸屏上设定的方式进行划线(划线方式一共分为4种,见图2),划线完毕后探针消毒并将培养皿关盖移出,返回初始状态准备下一次划线。
图2 划线方式图Fig.2 Scribing chart
2 控制系统组成及功能
2.1 控制系统设计
本文研发的接种分离控制系统可控制接种分离装置中的各个执行部分的动作,并与外部扫码器、RFID射频读卡器、触摸屏以及PC机进行数据交换处理,以实现样本采集、细菌培养、实验数据存储以及授权扣费等功能。其输入信号包括样本输送入口的位置、样本出口位置、电机初始位置、触摸屏输入的划线方式等,分别由相对应的传感器及串口完成信号采集。输出信号包括各电机的启停、机械手位置以及触摸屏显示计费等信息,由相应的执行机构完成动作输出。
控制系统由系统硬件及软件两部分组成,硬件主要由核心板、各步进电机、减速电机、加持气缸、光电传感器等组成。系统软件部分主要采用模块化编写,顺序控制,实现系统各功能。
2.2 硬件构成及核心器件
本控制系统采用以ARM[5-6]单片机为核心的控制器将接种分离器中的所有外围器件联接起来,采用输入输出全光电隔离的方式,避免了由于某一个外部器件的短路导致所有器件的误动作,提高了系统的可靠性,且利用限位开关硬件防干扰,提高系统运行精度。
系统以STM32F407CPU为中心,通过电平转换芯片74LVC4245和光电隔离芯片与外部的输入单元联接,利用锁存芯片74HC574及光耦来驱动外部输出设备,图3展示了本单片机系统的硬件构成。其中,USART串口转232通讯与外部配套设备以MODBUS协议或者设备自定义协议交换数据。采用SPI协议的FLASH W25X16用来实现数据的存储,采用I2C协议的EEPROM 24C02用来存储授权以及密码等数据。几种核心器件的应用如下。
图3 硬件系统图Fig.3 Hardware system diagram
2.2.1 STM32F407
STM32F407内核为ARM 32位的Cortex(TM)-M4 CPU[7],最高168 MHz工作频率,3个12位A/D模数转换器,1 μs转换时间(多达24个输入通道),2通道12位D/A转换器、12通道DMA控制器,多达140个I/O端口具有中断功能,136个快速I/O高达84 MHz,138个5 V容限I/O,17个定时器,2个看门狗,15个通信接口,3个I2C接口,3个SPI接口,5个USART接口支持ISO7816,如此强大的片内资源能充分满足对于外部接口及控制实时性要求较高的接种分离器的要求。
2.2.2 W25X16
W25X16是华邦的一款容量为16 M字节的FLASH存储器,通过SPI口与单片机相连,可以快速地实现大容量的数据存储。由于接种分离器需要存储1年的用户数据,按照每天做200个样本,每个样本需要20字节的存储空间,这样一天的数据量为4 000字节。而W25X16每页的存储量为4 096字节,刚好一天占一页,查询的时候只需要按照日期对应的某一页查询即可。需要注意的是,W25X16是一款FLASH芯片,所以写入数据前必须先擦除,也就是说此芯片只能置0不能置1,所以每天写入之前都要对当天对应的存储页擦除,然后再进行写操作。
2.2.3 通讯接口硬件
通讯接口的硬件图见图4,因为需要和4个外围设备通讯,担心外部设备若有故障会影响内部芯片的正常工作,因此采用了高速光耦6N137来做隔离。与触摸屏联接采用MODBUS RTU协议,触摸屏作为主机,定时向控制器发送命令,控制器根据发送的命令进行应答,根据相应的地址将数据发送到触摸屏中显示。在后期处理过程中,有可能会将前处理后处理一起通过触摸屏控制,这样软件利用MODBUS可以方便地进行子网的扩展,硬件上采用232转484转换器开扩展。与扫码器和IFRD通讯都采用器件各自的自定义协议。
图4 通讯接口图Fig.4 Communication interface diagram
2.2.4 限位开关
图5 反射式限位开关Fig.5 Reflective limit switch
2.3 软件控制流程
为更好地实现系统功能,软件设计采用分块编写程序的方式,将一个复杂的系统分成若干个相互联系的块,相互独立又相辅相成,使程序结构清晰、维护方便。同时采用软件位置修正等措施充分保证了执行机构动作的可靠性和精度。
本系统简化的软件流程如图6所示,在初始上电之前需要对所有带位置控制的步进电机做一个归位程序,如果本来就在初始位置的要先移出一定步数重新归位。执行上述动作的原因是由于限位开关自身有6~7 mm的感应范围,这个范围足以影响机械执行的精度,因此程序上对于每一个限位开关都做了修正,即步进电机在检测到限位开关的上调沿脉冲后继续执行一定的步数以达到精确定位。程序根据扫码器读出的状态来判断样本的类型、需要培养皿的个数以及每个培养皿的划线方式,根据这些信息执行划线动作,每个探针在划线结束后需要进行一个8 s的高温消毒动作。消毒加热器在待机状态下采用半功率控制,利用单片机发出一个脉宽为50%的PWM波,在检测到样品时全功率加热,这样既能保证在有限的时间内加热温度达到标准,又能提高加热器使用寿命。所有动作执行完毕后将培养皿关盖输送到下一段进行培养。
图6 软件控制流程Fig.6 Software controlling flowchart
3 实验结果
本控制系统针对不同病人的样本可以实现4种划线方式,效果如图7所示。处理速度可以达到每小时100个样本,完全取代了人工,并且故障率低。实验连续处理了1 000个样本,系统运行稳定,处理效果完全达标且无异常情况出现,受到了医院用户的一致认可。
图7 接种培养后效果Fig.7 Effect after inoculation
4 结论
本文研究开发的接种分离系统实现了智能化的接种方式,即划线方式可依据样本的类型自动选取,结构上采用多个步进电机及位置传感器协调动作精确定位,完全模拟人工划线方式操作,实现包括分区划线在内的多种划线方式,解决了国内外同类产品普遍存在的划线方式单一的问题。利用全封闭式的样本杯采样本与自动化开关盖技术,全过程保证人员与样本全隔离零接触,最大程度地保证人员安全,解决了国内产品存在的生物安全问题。使用红外灭菌器,全过程采用循环灭菌法,保证接种环每次操作前处于无菌状态,克服了同类产品每个样本只能单次划线的缺陷,保证接种可靠性和成功率。采用大容量存储器存储过程数据,将样本所有划线信息都加以记录,便于用户查询。
由于机械加工精度造成的误差,以及限位开关安装位置总有一定的偏差,导致产品调试维护不便,对现场调试人员要求比较高。由于设备需要压缩空气作为动力,空压机的噪音比较大。针对上述问题,后续准备采用国际大公司的机械臂来代替一些关键部位的步进电机,采用电动缸来替代气缸,进一步提高系统的稳定性和实用性。
[1]茆春春. 浅谈PLC控制系统工程应用的抗干扰设计[J]. 硅谷,2008(13):31.
[2]韩服善,王建胜. 食用菌液体菌种自动接种机控制系统设计[J]. 包装与食品机械,2012 (1):37-40.
[3]盛彬. PLC步进电机控制技术[J]. 现代制造技术与装备,2016(11):167.
[4]张永华. 步进电机运动控制系统硬件部分的设计[J]. 装备制造技术,2010(5):71-72.
[5]周立功. ARM微控制器基础与实战[M].北京:航空大学出版社,2011.
[6]廖义奎.Cortex-M3之STM32嵌入式系统设计[M].北京:中国电力出版社,2012.
[7]姚文祥.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009.