蠕动泵控制系统的研究和设计

2018-10-25 13:14舒明雷刘照阳高天雷金中一
自动化仪表 2018年10期
关键词:泵管直流电机串口

赵 凯,舒明雷,刘照阳,高天雷,金中一

(1.齐鲁工业大学电气工程与自动化学院,山东 济南 250353;2.山东省计算中心(国家超级计算济南中心)山东省计算机网络重点实验室,山东 济南 250014)

0 引言

蠕动泵是一种微型水泵,主要用于控制流体的传输方向和流速[1]。泵管在工作中被压轮压紧并随之移动。随着压轮移动,未被转轮压紧的泵管回弹,泵管内的流体在此过程中会被推出,从而实现流体的泵送。由于流体只接触泵管而不接触泵体,故蠕动泵适于输送腐蚀性强及相对敏感的流体。其自吸能力好,能空转并可防止回流,因而得到广泛的应用。因此,如何灵活、有效地控制蠕动泵变得越来越重要。

目前,实际生产中对于蠕动泵的控制,多采用正负极对调的方式实现正反方向的改变,并通过特定流量大小的蠕动泵控制流量大小,控制方式简单,但不够灵活。

本设计充分利用了蠕动泵精度高、维护简单的特性,采用串口发送指令程序控制的方式,实现对流体方向及流量大小的实时控制;同时,方便在不同的环境下的扩展开发,控制方式灵活、有效。

1 系统总体设计

蠕动泵的构造并不复杂。蠕动泵头分为转子和泵壳两部分[2]。泵管置于泵壳与转子之间,每两个转轮之间的距离让泵管形成了一个封闭空间,称之为泵室。其容积大小与轮距、泵管内径大小及转轮直径有关。理论上,流体流量是泵速、泵室容积和360°内泵室数量这三者的乘积。

对特定蠕动泵而言,其每转一圈产生的流体量是固定的,所以能够通过调节泵的转速实现改变流量的大小。本文设计的蠕动泵内置直流电机。直流电机是常见的一种电机,具有良好的起动、制动性能,可在大范围内实现平滑调速,在需要调速或转向的电力拖动领域,其得到了广泛的应用。因此,对于蠕动泵流量的控制,等同于对直流电机转速的控制。

MSP430 FR5969单片机是一款低功耗的嵌入式混合信号微控制器,在计量、能量采集传感器节点及可穿戴电子产品中有着广泛的应用。该单片机采用时钟频率高达16 MHz的16位精简指令集计算机架构,非易失性存储器高达64 KB,智能数字外设包括32位硬件乘法器、3通道内部直接存储器存取(direct memory access,DMA)、12 位 模 数 转 换 器 (analog-to-digital converter,ADC)和5个16位定时器等。其中,每个定时器具有多达7个捕捉比较寄存器[3]。蠕动泵控制系统设计框图如图1所示。

图1 控制系统设计框图Fig.1 Design block diagram of control system

直流电机的转速控制大多数采用按键式。本设计采用串口控制的方式,其目的主要是为上位机提供程序调用接口,以便后续上位机控制软件应用(application,APP)的开发,可扩展为蓝牙、WiFi等无线控制方式。直流电机的控制,采用较为常用且成熟的专用控制芯片L298N。其应用广泛、成本较低。测速部分采用光电开关,通过单片机定时器的捕获模式测定电机转速,由流量计算公式换算成实时流量[4]。

转子从位置A运动到位置B,输送的流体体积约为圆弧AB段泵管内的流体体积大小[5],即:

式中:D为泵壳圆周节圆直径;d为泵管直径;Δq为圆弧AB段内流体的体积;θ为转子转动的角度;δ为泵管壁厚。

蠕动泵转子转动一圈输送的流量为:

式中:q为蠕动泵的排量。

则蠕动泵的流量为:

式中:Q为蠕动泵的流量;v为蠕动泵的转速。

蠕动泵流量计算图解如图2所示。

图2 蠕动泵流量计算图解Fig.2 Flow calculation graphic of peristaltic pump

由图2可知,蠕动泵流量只与转速、泵管内径及泵壳圆周节圆直径相关。本文设计的蠕动泵,基于串口控制最终实现的功能如下:

①正反两个反向输送流体;

②实时控制流量的增大和减小;

③串口显示实时电机转速及流量大小;

④定速、定量的档位设置;

⑤可随时停止运行。

2 系统硬件模块设计

2.1 蠕动泵选取

本设计采用型号为NKP-DC-S06 S kamoer微型泵(硅胶管),其性价比高、精致精巧。电机长度为48.5 mm,整机长度为 65 mm,环境噪声实测值≤40 dB,流速范围为5.2~90 mL/min。蠕动泵的管内径为2.0 mm,泵壳圆周节圆直径约为18.0 mm。

2.2 直流电机H桥驱动电路

H桥驱动电路是由达林顿管组成的H型PWM电路构成的,工作制为单极性。本设计采用单片机对达林顿管进行控制,使它工作于占空比可调的开关状态,实现对电机转速的精确控制。单片机控制端口一端输出脉冲宽度调制(pulse width modulation,PWM)信号,另一端置低电平,两端口的输出状态及PWM信号的占空比决定电机的转速及转向。H桥驱动电路如图3所示。

图3 H桥驱动电路Fig.3 H bridge drive circuit

主控芯片为L298N,引脚IN1、IN2和ENA分别是极性控制端口、使能控制端口,分别接至单片机的P1.3、P1.4和 P1.5引脚,1PIN 和 2PIN 为连接蠕动泵直流电机两极的端口。

2.3 CH340T 电路

CH340T以USB为总线的转接芯片,能够实现USB转打印口、USB转串口或USB转IrDA红外[6]。在串口方式下,其可以提供MODEM联络信号,实现计算机扩展异步串口或者升级普通的串口设备为USB总线。

本设计中,CH340T作为USB转TTL的模块,起到连接上位机与单片机(下位机)的桥梁作用。其TXD和RXD端口分别接至单片机的RXD和TXD端口,实现上位机与单片机的串口通信,达到指令发送与串口显示接收的目的。

2.4 测速电路

转速检测采用红外光电传感器,即一个光电开关。它具有体积小、功能多、寿命长、精度高、响应速度快以及抗干扰能力强等优点。测速电路如图4所示。

图4 测速电路Fig.4 Speed measuring circuit

测速电路由接收管和红外发射管构成。它们被分别固定于电机叶片的两侧位置。当电机转动时,由于叶片遮挡,使得红外接收管产生多个连续脉冲。脉冲的个数取决于电机叶片数量。LM358的输出作为脉冲输出端,与单片机的P1.2端口相连。

2.5 电源和主控电路

本设计共需12 V、5 V、3.3 V三种幅值的电压。12 V为蠕动泵的工作电压,5 V为直流电机驱动模块L298N的工作电压,3.3 V为主控芯片的工作电压。整体系统分为主控模块、L298N驱动模块、CH430T串口模块及测速模块。由于电路图设计的模块化,控制系统总原理图的设计采用了层次原理图的设计思想,表述清晰,易于查看。

3 系统软件设计

3.1 软件整体设计

根据硬件部分的模块化设计,本设计软件部分同样采用模块化的编程思想,分别为电机控制模块、通用异步接收发射机(universal asynchronous receiver transmitter,UART)模块、测速模块及主程序;集成开发环境为IAR Embedded For MSP430 V6.4,系统上位机通过单片机的UART通信方式,采用相应的通信协议,由不同的指令实现对电机的运动控制;采用光电模块进行速度追踪,同时,串口实时显示控制状态信息。系统整体软件流程如图5所示。

图5 系统整体软件流程图Fig.5 Flowchart of overall system software

3.2 串口控制电机模块

本设计基于PWM法控制直流电机的转速,分别采用了延时方式和基于单片机的定时器输出PWM波控制方式。延时方式主要是指L298N驱动模块的使能端ENA端口采用延时的方式来决定高低电平的时间长短,从而达到控速的目的。

由于延时的方式存在较大的误差,且不易灵活扩展,本设计最终采用了单片机定时器输出占空比可变的PWM波控制方式,即单片机的P1.5端口输出PWM波。这里选用的是定时器TB0。

本设计采用了简单的串口协议[7],如下所示。

“0x0A”:电机正转(蠕动泵正向传送)。

“0x0B”:电机反转(蠕动泵反向传送)。

“0x0C”:电机加速(蠕动泵流量增大)。

“0x0D”:电机减速(蠕动泵流量减小)。

“0x0E”:电机停止(蠕动泵停止工作)。

“0x01”:1档位,电机转速约为50 r/min,蠕动泵流量约为 2.85 mL/min。

“0x02”:2档位,电机转速约为700 r/min,蠕动泵流量约为 39.90 mL/min。

“0x03”:3档位,电机最大转约为1 050 r/min,蠕动泵最大流量约为59.85 mL/min。

串口采用串口中断实现指令的发送,在本设计中的优先级最高。系统根据指令内容进入不同的子函数,执行相应的运行过程。

3.3 测速模块

本设计测速采用光电开关及20孔码盘。当码盘遮挡光电对管,测速模块输出+5 V高电平;反之,输出低电平。电机转轴带动码盘运动就形成了脉冲输出,对电机速度的测量就是对脉冲频率的测量。本设计利用MSP430 FR5969单片机定时器的捕获模式及定时功能,无需其他复杂的外围电路。按照计时计频法原则,如果测量N个脉冲所用的时间是T,那么频率f的测量有如下公式:

式中:f为频率;N为脉冲个数;T为对应时间。

对于脉冲计数,MSP430 FR5969单片机TimerA的捕获模式可以为此所用。通过设置CAP=1,选择定时器的捕获功能,其主要用来记录与时间密切相关的时间。本设计把它自动设置为上升沿捕获CM=1,其自动地将16位计数器TAR的数值赋给TACCRx寄存器,以便后续程序的调用。TimerA包含三个捕获/比较模块。其中,捕获模块的输入为CCIxA,分别与外部的 P1.1/TA0、P1.2/TA1和 P1.3/TA2对应。本设计选择P1.2端口为单片机的捕获脉冲输入口,同时配合使用中断,利用TAIFG的TA0IV中断向量,每记录到一次上升沿程序即进入一次中断。为了降低功耗,采用外部低频晶体振荡器XT1,即ACLK=32 768 Hz。

本设计以2 s为时间阈值,即记录2 s内上升沿的个数N及时间T。2 s由定时器定时中断产生,定时器从0计数到最大值65 535将会置位标志寄存器TAIFG,从而生成中断请求。这里采用片外低频振荡器。由其频率32 768 Hz可知,定时器的16位计数器TAR每增加一个计数值经历的时间是所以溢出中断的时间间隔为即每经过2 s产生一次溢出中断。中断服务程序中,采用变量pulse来表示捕获到的脉冲个数N。它在数值上等同于捕获到的脉冲上升沿个数。时间T为计数器TAR从程序自定义变量cap_first到变量cap_last经历的时间间隔。其中,第一个脉冲上升沿到来的时间点赋给变量cap_first,然后每个脉冲上升沿到来的时间点赋给变量cap_last,并且实时更新,程序中用time表示[8]。则:

式中:pulse为捕获到的脉冲个数;time为时间间隔。

3.4 主程序

本设计主程序包含初始化设置及串口显示服务程序。初始化主要是完成相关引脚配置,如设置微控制单元(microcontroller unit,MCU)的 P1.0、P4.6分别为绿色与红色指示灯等。

4 结束语

本设计通过对微型蠕动泵的控制,基本可以实现其自由的流量控制。在医疗[9]、化工、喷码、试验、食品、环保、工厂及家庭等领域,与相应设备配套使用,可以实现液体传输、取样、管道清洗、定量提取及灌溉等功能。

本控制系统设计是基于串口实现的,严格意义上来说是提供了一种设计思路。该系统实现了无线及远程控制,其灵活运用离不开上位机软件的开发。在一般的应用中,将串口控制改为按键控制、增加LCD显示模块取代串口显示、增加被控制蠕动泵的数量都会增强系统应用的灵活性。该系统的研究和设计有着较为实际的工程应用意义。

猜你喜欢
泵管直流电机串口
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于模糊自适应ADRC的无刷直流电机控制技术
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
论新结构的加油机潜泵管设计
混凝土泵送过程对楼板扰动的控制
三层共挤体外循环泵管的制备与研究
船舶电子设备串口数据的软件共享方法
基于FPGA的双绕组无刷直流电机软件设计
直流电机电源设计研究