基于单片机的生物组织自动切片机的设计与实现
2020-12-28鲁杰爽
鲁杰爽
(湖北职业技术学院,湖北孝感 432000)
生物组织切片机是医院病理科必备的医学检验仪器,要求对包埋有生物组织的石蜡样本进行连续地均匀切片,切片厚度可自由设置(厚度范围1~600μm),常见厚度为2~5μm,精度要求非常高。传统的生物组织切片机为手动切片机,使用不方便,切片厚度不能满足全部需求,自动切片机逐渐成为市场主流。
由于切片厚度为微米级,这对自动切片机的机械系统和电子控制系统提出了很高的精度要求。首先机械部分的零件加工精度、轴承、丝杆传动等零件的精确配合是基础,其次就是如何控制步进电动机精确地进刀切削。
步进电动机是一种将电脉冲信号转换成相应角位移的执行元件。由于每步进一步的能量及速度的脉动冲击,必然会产生振动和噪音。将一个步距角细分成若干步的驱动方法,称为细分驱动方式。步进电动机细分驱动时的步距角更小[1],其步进精度也更高,同时可以大幅降低脉冲的冲击能量,有效抑制低速运行中固有振动和噪音问题。
对比自动切片机每次切削的微米级进给量和主轴丝杆传动的毫米级螺距可知,步进电动机的步距角显然过大,须采用细分驱动器来控制步进电动机以更小更精确的步距角旋转步进,才能实现2~5μm进给量的均匀切削,抑制机器运行的振动和噪音。这种驱动方式相对而言性价比很高,本文设计了一种以单片机为控制核心、步进电动机细分驱动的生物组织自动切片机,采用升降速曲线控制算法对步进电动机进行精确控制,有效地提高了切片机的切削精度。
本文将就自动切片机研制中的两个核心问题,即旋转角度的测量和步进电机切削工作时升降速控制的设计进行阐述。
图1 手柄旋转角度的测量电路设计和输出信号波形图
1 旋转角度的测量设计
自动切片机装有快速进退的旋转手柄,需要对手柄的旋转角度进行准确的测量。对比位置速度传感器、旋转变压器、感应同步器等[2],本文采用了工控领域广泛应用的光电编码器。它精度高、反应灵敏可靠。
光电编码器上装有在相位上相差90°的两路光电检测[3],它检测转盘旋转的机械角度并光电转换输出为脉冲电信号,该电信号的脉冲个数正比于旋转角度的大小。因此单片机通过对脉冲信号进行计数就可以计算出转盘旋转的角度大小。
本文设计的手柄旋转角度的测量电路原理图如图1所示。手柄主轴与光电编码器固定连接,同步旋转,光电编码器输出A、B、Z三路信号,其中A路与B路脉冲信号相位上相差90°。
手柄顺时针旋转时,光电编码器输出的A路信号相位超前B路,如图1所示,B路信号出现上升沿时,A路信号总是高电平,故D触发器的输出端Q将一直保持为高电平,A路脉冲信号将通过被“打开”的U3A与非门,并被作为正转角度信号T0给单片机进行计数;同时D触发器的反相端输出低电平,“关闭”U3B门。
类似地,当手柄逆时针旋转时,B路信号超前A路信号,与非门U3B被“打开”,此时A路脉冲通过后,被作为反转角度信号T0给单片机进行计数。
单片机对接收的脉冲个数进行计数,计算出旋转角度的大小,进一步可以准确计算切削时的进刀量。经实际测试,本文设计的旋转角度测量电路不仅反应灵敏可靠,而且测量精度高,简单有效。
2 步进电机切削工作时升降速控制的设计
如何在各种复杂工况如突然起动、高速旋转、突然停止等过程中让步进电机不失步、不过冲,做到定位准确,是确保自动切片机能够精密切削的核心难题。从步进电机的矩频特性可以看出,电机负载运行时有最大起动转速和最大负载转速,超过它们就会导致电机失步,而且电机输出转矩随着步进频率的增加而下降。因此电机的起动必须经过一个升速阶段,同样地高速运转中的电机也必须经过一个降速阶段后才能停转,避免电机因惯性而出现过冲。总之,必须经过“起动加速阶段—匀速旋转阶段—减速停止阶段” 才能精确控制步进电机的运转。如何设计出合理的步进电机切削升降速曲线,直接决定了电机步进时的定位精度,也很大程度上决定着系统的综合性能如运行平稳性、运行噪音等。
图2 用阶段曲线去逼近拟合最优升降速曲线
生物组织自动切片机研制的核心问题之一在于按照最优升降速曲线精确控制步进电动机,确保切片切削时步进电动机不失步、不过冲,才能实现连续均匀地切削2~5μm级的生物组织薄片。多年的研制实践表明,相对抛物线、梯形和指数曲线等[4-5]几种步进电机升降速曲线而言,指数曲线[6-7]更能有效发挥电机转矩,缩短加速/减速时间。
本文中的步进电机升速曲线采用了指数曲线f(t)=fm(1-e-t/τ)。
通过多次切片机额定载荷下的电机运行测试数据对比,结合步进电机工作力矩、额定负载工作频率、加速时间长短等要求,计算编制出步进电机的最优升速曲线。
如图2所示,本文用若干段的阶梯曲线去逼近拟合最优升速曲线,并计算出各阶段频率点及该阶段运转步数。步进电机以突跳频率(它小于最大起动频率)起动,在每个阶段频率点上运转一定步数(避免电机失步)后,再按照指数规律阶跃加速,直至最高阶段频率点后保持匀速运转。
步进电机加速/减速控制可以通过改变单片机定时器中断的定时时延,从而发送不同频率的步进脉冲信号来控制电机的步进速度。根据升速阶梯曲线的各阶段步进速度,就可以计算出对应各阶段频率点的定时器初值。将测试出的最优升速曲线各阶段频率点对应的定时器初值和运转步数计算好,按照各阶段频率点的速度增加顺序定义了一个升速控制数组,将数组中的最高阶段频率点的运转步数设定为0x00,作为加速结束标志。
步进电机运转控制程序中,正向顺序查询升速控制数组中的阶段频率点数据即可控制电机按照设计好的最优指数规律进行加速。为了简化控制方案,减速过程则直接采用了加速的逆过程,即反向查询该数组的数据控制电机按照指数规律减速。
为了提高电机的运转精度,本文考虑了定时器误差,对升速控制数组中的各个定时器初值进行了调整。该误差主要包括单片机中断响应时间和中断函数内定时器赋初值指令及其前面指令的执行时间之和。
本文设计了步进电动机运转控制函数void Moto Moving(bit flag,uint MoveSteps)。基本思想是flag=1表示电机正转,正向查询升速控制数组加速,否则反向查询该数组减速,MoveSteps则表示控制运转的总步数,启动定时器,在定时中断函数中控制电机精确加速、匀速高速、减速运转形式参数MoveSteps所指定的总步数,最后关闭定时器。程序流程如图3所示。
图3 步进电动机控制流程
实践中,这种步进电机升降速控制的软件设计方案取得了理想的切削效果,满足了自动切片机的切削精度要求。
3 结语
本文研制的自动切片机原型机经实际测试,结果表明该机切削的切片厚薄比较均匀,厚度精度能够满足要求。误差的来源主要包括:
一方面,切片机机械零部件之间存在加工误差和配合误差。生物组织自动切片机的一些机械零部件存在配合关系,它们之间的配合误差,尤其是主轴和轴承之间的配合间隙误差,机械丝杆传动的轴向间隙误差等,相对于微米级的切片厚度而言,仍然比较大,必须采用高精度的轴承和丝杆传动,才能从根本上保证切片机的切削精度。
另一方面,步进电动机细分驱动器存在步进误差。由于电机参数、制造工艺上的差异及驱动器的性能差异,其实际性能与理论值有一定差距,这也是造成切片误差的重要原因之一。