张堉晨,张从鹏,王晨
(北方工业大学机械与材料工程学院,北京 100144)
随着机电一体化技术和医学图像处理的快速发展,医疗器械正向着自动化、智能化的方向发展。结核感染T细胞斑点检测试验(T-SPOT.TB)作为当今诊断结核感染的新方法[1],具有灵敏度高、特异性强等特点[2],其结果判定的主要手段通常是人工计数[3-4],这种判定方式不仅检测效率较低下,而且受主观影响较大[5]。为提高检测效率和准确度,减轻检测人员工作强度,本文设计并开发了结核感染T细胞斑点自动检测仪的控制系统,可以自动地对T-SPOT.TB试剂盒进行逐孔采集、检测并生成报告,对早期结核病的诊断具有重要作用[6]。
自动检测仪通过嵌入式控制器对承载着试剂盒的运动平台进行运动控制,并以光电传感器作为反馈,通过PC机控制视觉系统对T-SPOT图像进行采集和处理,根据图像处理结果,判定其最终结果为阴性或阳性。本文采用“PC机+嵌入式控制器+运动平台”的控制系统架构。PC机作为上位机,负责图像采集与处理、数据存储、生成报告、人机交互,以及向下位机发送运动指令;嵌入式控制器作为下位机,负责步进电动机的运动控制和传感器信号的采集,进而控制运动平台;运动平台负责承载试剂盒运动至图像采集位置。上下位机之间采用CAN总线通信方案[7]。自动检测仪的总体架构如图1所示。
图1 自动检测仪总体架构
使用SolidWorks软件对自动检测仪进行机械结构设计,其三维建模如图2所示。
图2 自动检测仪机械结构设计
X轴电动机、Y轴电动机控制防滑台水平移动,主要负责取盒、退盒和试剂孔图像的逐孔采集,防滑台承载试剂盒水平运动并防止试剂盒滑动,自动检测仪的整体尺寸为530 mm×380 mm×355 mm。内部结构如图3所示。
图3 自动检测仪内部结构图
T-SPOT自动检测流程是在机械平台、运动控制算法和图像处理算法之上设计的,在上位机中新建任务后,点击“开始检测”按钮即可自动检测整个24人份(96孔)试剂盒并得到结果报告。运动平台首先进行系统初始化和系统自检,成功后进行回零任务,将防滑台上的试剂盒定位至A1试剂孔图像采集的大概位置,由于手动放置试剂盒一定会存在误差,故需进行A1试剂孔居中校准。本文需检测的T-SPOT.TB试剂盒有8排12列的试剂孔,如图4所示。为缩短检测时间,按照固定路径逐孔、逐行地采集并处理图像。待所有96个试剂孔图像采集和处理等工作完成后,由上位机进行数据存档并生成报告。自动检测流程如图5所示。
图4 T-SPOT.TB试剂盒
图5 自动检测流程图
嵌入式控制器以STM32F407VGT6为主控芯片,基于控制系统总体架构和功能需求,采用模块化的设计思想对硬件电路进行设计[8],主要包括供电模块、最小系统模块、步进电动机控制模块、传感器模块、通信模块和数据存储模块。
本文使用Altium Designer16软件绘制电路原理图和PCB,控制器的整体尺寸为104 mm×80 mm,样板如图7所示。
图6 嵌入式控制器硬件框架图
图7 嵌入式控制器样板
嵌入式控制器软件以Keil uVision5作为程序编写平台,主要负责对两轴步进电动机的S曲线加减速规划和运动控制,以及同上位机实时通信,根据系统的运动流程及控制要求设计软件程序,如图8所示。主体设计内容是对上位机发送的CAN总线报文进行解析后,通过实时操作系统进行任务调度和任务管理,通过6个限位开关和2个编码器的信号检测对步进电动机的运动状态进行控制,实现对平台的运动控制和与上位机的通信,完成对整个试剂盒的逐孔图像采集。
图8 嵌入式控制器软件结构
主程序在运行时,首先进行各个模块的初始化和μC/OS-II实时操作系统的配置。然后等待上位机发送运动指令,直到进入CAN通信接收中断函数,将接收到的运动指令进行解析,根据解析出的电动机号、运动方向、运动步数、运动速度等参数或者回零、退盒等具体运动流程,对步进电动机自行进行S曲线加减速规划和PID控制[9-10]。在本次运动任务完成后,向上位机发送到位报文,上位机由此判断运动是否完成。然后继续等待上位机发送运动指令。主程序流程如图9所示。
图9 主程序流程图
应用软件基于Visual Studio 2015的.Net Framework 4.0开发环境,主要负责图像采集与图像处理、运动指令的发送和到位报文的接收、人机交互功能、结果判定和数据储存等功能。
图10 应用软件结构
图11 自动检测流程控制
图12 人机交互界面
为保证软件运行的过程中不会出现卡顿,图像采集、图像处理和CAN总线通信在多个线程中运行[11]。图像采集部分对相机SDK进行二次开发,通过调用相机SDK中的接口函数实现图像的配置、采集、显示和储存;通过调用封装过的结核感染T细胞斑点计数函数完成图像处理;通过调用ECANVCI.dll文件中的一系列函数实现CAN数据的发送和接收。
搭建自动检测仪控制系统,进行结核感染T细胞斑点自动检测实验,如图13所示。实验方法为:通过已有的12个T-SPOT.TB试剂盒样本对自动检测仪进行整机测试,测试过程中,检测仪运行稳定,检测流程有序,应用软件运行流畅,没有出现任何故障,满足系统要求。采集到的图像清晰,达到图像处理的标准。平均每个试剂盒的总检测时间为194 s,其中取盒、检测、退盒3个运动动作的平均时间分别为20 s、161 s、13 s。
图13 整机测试现场
本文设计了一种结核感染T细胞斑点自动检测仪,构建了“PC机+嵌入式控制器+运动平台”的控制系统架构,并设计了检测仪的机械结构;设计了基于STM32F407的嵌入式控制器,满足检测仪控制需求并具有良好的稳定性和实时性;开发了PC机应用软件,实现了T-SPOT的自动检测流程控制和人机交互等功能。