罗 帆,汪 诤,陶一铭
(兰州交通大学 机电工程学院,兰州730070)
与人工进样相比,自动进样系统在连续进样、样品进样精度、提高进样效率等方面具有很大优势,如今越来越广泛用于自动化实验设备[1-2]。本文设计了一种基于单片机控制的自动进样机,主要控制三路步进电机来实现,两路控制进样管在X、Y 平面内移动来实现定位[3],另一路控制蠕动泵流量的大小,这些过程通过软件控制,以此来实现样液在进取的过程中的精准度。进样的状态可通过数码管显示,并采用按键控制来改变进样的需求。
单片机是基于STC12C5A60S2 的微处理器。步进电机导轨滑台由步进电机1 带动,传送带由步进电机2 带动,蠕动泵由步进电机3 带动[4-6]。单片机首先控制步进电机1 通过滑台移动带动进样管沿Y轴向下移动,当触碰到限位开关时停止,步进电机3控制蠕动泵进行样液流量进给,进样完毕步进电机1 带动进样管向上移动, 步进电机2 带动传送带使实验样品在X 轴上移动,送走进样好的样品,以此循环。进样的循环次数以及样液进给量通过数码管显示,采用按键模块对其参数进行改变,以方便用户使用。控制系统图如图1所示。
图1 控制系统框图Fig.1 Control system block diagram
该系统电路包括:单片机控制电路,按键控制电路,数码管显示电路,降压稳压电路,限位开关控制电路,单片机时钟电路,单片机复位电路。总电路图如图2所示。
图2 系统总电路图Fig.2 General circuit diagram of the system
2.1.1 步进电机驱动方式
为了降低成本,步进电机模块控制采用市场上已有的模块, 其中步进电机1 与步进电机2 采用DVR8825 模块驱动控制。控制蠕动泵流量的步进电机用DM542 驱动模块控制,DM542 驱动模块的接法有共阴极接法与共阳极接法,本系统采用共阳极接法。
2.1.2 蠕动泵流量的理论计算
蠕动泵主要由驱动器、泵头、泵管和控制器组成,泵头主要由泵壳和转辊子组成[7-9]。本系统采用蠕动泵管内径为1.6 mm, 泵壳圆周节圆直径约为18.0 mm。如图3所示,辊子从位置A 转动到位置B,输送流体量约为AB 段圆弧泵管内储蓄的流体量[10-11],即:
图3 蠕动泵流量计算图Fig.3 Peristaltic pump flow calculation diagram
式中:D 为泵壳圆周节圆直径(m);d 为泵管直径(m);Δq 为圆弧AB 段内流体的体积(m3);θ 为转子转动的角度(rad)。
棍子旋转1 圈,流量输出为2π/θ 个Δq,即:
式中:q 为蠕动泵的排量(m3)。
蠕动泵流量如下:
式中:Q 为蠕动泵流量(m3/min);v 为蠕动泵转速(r/min)。
由图可知, 蠕动泵的流量大小只与其转动速度、泵管的内径和泵壳圆周结缘直径有关。
2.1.3 蠕动泵流量优化
在实际应用中,为了提高蠕动泵工作效率,尽量使其以最高速度转动,但是步进电机可能因为由于自身系统机械结构等因素,直接达到最高速度会有失步、超频或者啸叫等情况,对蠕动泵流量精确度输出上造成影响。为保证蠕动泵流量传输精度本系统对步进电机3 控制上进行梯形加减速算法,先使步进电机3 匀加速到最大速度,快运行到目标值时再减速到零[12-15],模型如图4所示。
图4 速度曲线模型Fig.4 Schematic diagram of speed
从模型中可以看出算法一共分为3 段,OA 为匀加速阶段,AB 为匀速部分,BC 为减速部分,在OA 加速阶段,由低于步进电机启动频率开始,以固定加速到目标值,在AB 部分以最大速度匀速运动,BC 部分以加速度不变减速到0。可分为以下2种情况:
情况1:持续加速到最大速度然后减速到零,如图5所示。
图5 速度曲线模型1Fig.5 Schematic diagram of speed 1
根据速度与路程公式:
式中:x 为走过路程的长度;v2为末速度;v20为初速度;a 为加速度。
步进电机的转动角度与步距角公式:
式中:θ 为转动角度;n 为脉冲数;α 为步距角。
可得到从零到最大速度所需脉冲数:
式中:n1为从零到最大速度所需脉冲数;为最大转动速度;a1为从零到最大速度的加速度。
步进电机开始减速从最大速度到零所需脉冲数:
式中:n2为从最大速度到零所需脉冲数;a2为从最大速度到零的加速度。
情况2: 速度未达到最大速度之前就需要开始减速,如图6所示。
图6 速度曲线模型2Fig.6 Schematic diagram of speed 2
到达速度顶点所需脉冲数:
式中:step 为总步数。
减速到零所需要脉冲数:
本系统只涉及到4 个按键,采用独立按键。电路图如图7所示,单片机IO 口通过按键直接接地,当按键被按下时,IO 口被下拉输出低电平。按键K1用来控制进给量的增加,最高可增加90 ml;按键K2用来控制进给量的降低,最低可降低20 ml;按键K3用来控制进给次数,进给次数设置是单向,最高可设置为进给9 次,当进给次数设置到9 次时,再按一下K3又回到1 次; 按键K4用来控制开始与停止进给。当电源接通,系统处于停止状态,先设置好进给次数与进给量,然后按下K4系统启动,在没再次按下K4按键使系统停止的情况下,系统进给完成后将自动停止。
图7 按键电路Fig.7 Button circuit
行程开关主要是用来限制机械部件运动的行程或者位置,从而达到机械部件能够按一定的行程或者位置自动停止,反向运动,变速运动或自动往返运动等。本系统行程开关主要用来控制步进电机1 的行程, 当步进电机1 沿Y 轴向下移动到最底端触碰到开关时停止运行。电路图如图8所示。
图8 限位开关电路Fig.8 Limit switch circuit
本系统LED 数码管采用动态显示。动态显示是单片机需要逐一且不断扫描数码管来控制数码管的显示状态,利用人类肉眼世界停留时间,每一位数码管显示时间必须在1~2 ms。需要通过段选与位选一起控制,段选是将多段数码管相同极性连接在一起,采用P0 口控制,位选是将每位数码管分离出来进行控制,采用P2 口控制。本系统采用共阳极设计,位选为低电平时数码管显示,共有4 位7 段数码管,第1 位显示进给次数,第3 位与第4 位显示进给容量。电路图设计如图9所示。
图9 数码管显示电路Fig.9 Digital tube display circuit
稳压电路采用LM2576 芯片设计, 电路图如图10所示[16]。
图10 降压稳压电路Fig.10 Voltage regulator circuit
基于单片机的自动进样系统软件设计主要包括3 个部分:启动停止程序,步进电机运行程序,数码管显示与按键控制程序。
(1)启动停止程序也是主程序,接通电源,系统先读取EEPROM 中的初始数据,初始数据设置为进给1 次,进给量20 ml,流程如图11所示。
图11 主程序流程Fig.11 Main program flow chart
(2)步进电机运行流程如图12所示。
图12 步进电机运行流程Fig.12 Stepper motor operation flow chart
(3)采用数码管显示,搭配按键输入控制。按键在闭合和断开时,触电会存在抖动现象,抖动时间由按键机械特性决定,一般为5 ms~10 ms,所以在软件设计时需要采用延时方法进行去抖动设计,流程如图13所示。
图13 数码管显示流程Fig.13 Digital tube display flow chart
采用称重法测量在不同进给量的情况下样液的理论测量值与实际值的误差。测试表如表1所示。
表1 蠕动泵流量测试值Tab.1 Test value of peristaltic pump flow
本文设计了基于单片机的自动进样系统。在实际应用中,实现了自动进样、连续进样、样品容量检测等功能,并且在连续进样次数、样品进给量上可进行设置,增加了自动进样的灵活性,同时在样品进样精度、提高进样效率、降低时间成本与人工投入等方面具有很大优势,符合自动化实验设备发展的趋势。