基于嵌入式Linux的模拟泄漏控制系统设计*
2018-08-23熊四昌毛国宾唐浩然
熊四昌,毛国宾,唐浩然
(浙江工业大学 特种装备制造与先进加工技术教育部重点实验室,浙江 杭州 310014)
0 引 言
泄漏检测也叫密封性检测或试漏[1]。随着工业与日用产品的复杂程度和对安全性要求的提高,气体泄漏检测技术在生产生活中起着重要作用[2]。在汽车、航空、燃气具、石油、化工和物流运输等行业,都需要对相关产品的密封元件进行气密性检测,从而衡量和保证产品的质量和安全性能[3-5]。为了满足这些行业对气泄漏检测精度的更高要求,国内外机构相继提出了一系列的检测方法和开发了相应的检测设备。气体泄漏检测方法包括灵敏度高的超声波法、放射性同位素法、氦质谱检测法[6]、能定量的差压法和近期提出的容积补偿法[7]。气体泄漏检测设备如:美国USON的4000系列测漏仪、德国JWFROEHLICH公司的MPS5系列试漏仪、天津长野福田公司设计的检漏仪FL-800。对于这些基于不同检测方法而研制的国内外气体泄漏检测设备,检测精度一直是判断它们优劣的重要依据之一。目前国外的气体泄漏检测设备较为先进,精确度可达0.01 ml/min,测量误差在±2.5%左右;而国内的气体泄漏检测设备精确度也可达到0.01 ml/min,但误差较国外设备较差,在±3%~±6%不等[8]。
对于气体泄漏检测设备的标定,目前多采用的是预混合标定气体、渗透、交叉标定等方法。这些传统的方法都存在着操作过程复杂、测量误差大、对设备要求较高和便携性差等缺点,严重限制了泄漏检测设备的研制周期。
为解决上述问题,并考虑到目前气体泄漏检测设备的参数要求,本文将基于嵌入式Linux操作系统,设计一种工作压力范围为0~0.8MPa的轻量型高精度的模拟泄漏控制系统,为标定气体泄漏检测设备提供方便并且可靠的标定平台。
1 模拟泄漏结构原理及其设计
1.1 模拟泄漏结构原理
模拟泄漏结构的主要功能是为了将步进电机的旋转运动转化为气缸活塞的直线运动,其结构原理图如图1所示。
图1 模拟泄漏结构原理图
当步进电机转动时,通过联轴器带动滚珠丝杆转动,丝杆与滑块将旋转运动转换为气缸活塞的直线运动。若气缸右端与被测容器连接,控制气缸活塞向左做直线运动,被测容器内的气体将会进入气缸的右端容腔,形成被测容器向外漏气的状态,从而实现控制系统的模拟泄漏。为了实时获取步进电机的精确转速,本研究在步进电机一端连接了增量式光电编码器进行测量,并使用位移传感器来检测气缸的位移量,对模拟泄漏量进行监控。
该系统中的模拟泄漏量计算公式为:
(1)
式中:ΔV—模拟泄漏量,ml;d—气缸直径,mm;s—气缸位移,mm。
气缸位移s为:
s=n×h×Δt
(2)
式中:n—步进电机转速,r/min;h—滚珠丝杆的螺距,mm;Δt—检测时间,min。
步进电机转速n为:
(3)
式中:f—脉冲频率,Hz;χ—步进电机驱动细分数;α—步距角,(°)。
联立(1,2)式,可求得模拟泄漏率Q:
(4)
式中:Q—模拟泄漏率,ml/min。
在式(4)中代入式(3),可得模拟泄漏率Q为:
(5)
1.2 模拟泄漏结构设计
通过式(4)可知:模拟泄漏率只由电机的转速决定,但在进行元器件选型时,需参考式(5)中与模拟泄漏率精度相关的参数,最后根据模拟泄漏的工作原理设计了模拟泄漏结构。
模拟泄漏结构实物图如图2所示。
图2 模拟泄漏结构实物图1-光电编码器;2-步进电机;3-联轴器;4-滚珠丝杆;5-直线导轨;6-气缸;7-位移传感器;8-步进电机驱动器;9-滑块
由图2可看出整个装置结构紧凑、操作方便并极具便携性。
该设计选用型号为35BYGH系列的混合式步进电机,步距角为1.8°。
步进电机配备型号为HB202M,细分数最高达10 000的步进电机驱动器。
气缸选用SMC公司的MA16100型气缸,内部泄漏不大于10-5atmcc/s。
编码器采用型号为IHC3808系列的增量式光电编码器,一圈脉冲数为500。
滚珠丝杆选用螺距为1 mm,行程为120 mm的日本THK公司LM系列引动器。
位移传感器选用KTR系列自复位式位移传器,量程为0~100 mm,线性度±0.05%,重复精度小于0.01 mm[9-10]。
2 控制系统硬件设计
2.1 总体设计
根据系统功能的需要,本研究设计了模拟泄漏控制系统的硬件外围设备电路。它包括以S3C2440为中心的核心板模块、电源模块、人机交互模块、数据采集模块、执行元件模块、数据交互模块等。
模拟泄漏控制系统硬件框图如图3所示。
图3 模拟泄漏控制系统硬件框图
2.2 步进电机控制电路设计
为控制步进电机的转速,本研究首先需配置S3C2440内置定时器实现单位时间内脉冲数的调节,再通过步进电机驱动器对电机速度与方向进行控制。本研究采用SN74LVC4245进行电平3.3 V到5 V转换,同时采用ULN2003芯片提高S3C2440的GPIO引脚的电流输出能力。
电路设计如图4所示。
图4 步进电机控制电路图
2.3 光电编码器的脉冲采集
型号IHC3808光电编码器原理是旋转一圈发出500个脉冲数,通常需要两步才能实现对编码器的计数。首先,对编码器的正、反转进行判断;其次,进行加、减计数[11]。
控制器S3C2440通过外部中断0对光电编码发出的脉冲数进行计数。统计光电编码器发出的脉冲数,便可以求出步进电机的实测转速nx为:
(6)
式中:nx—实测转速,r/min;A—单位时间内的脉冲数;τ—采集时间间隔,s;N—转一周光电编码器发出的脉冲数。
2.4 气缸活塞位移数据采集电路设计
气缸活塞位移采集主要由位移传感器与16位模数转换芯片ADS8344完成。ADS8344将位移传感器采集的气缸位移信号进行A/D转换,并采用电压基准芯片ADR445为ADS8344提供5 V的参考电压。
电路设计如图5所示。
图5 位移数据采集电路图
3 控制系统软件设计
3.1 PWM脉冲宽度调制
系统采用的S3C2440的定时器0、1、2、3都具有脉宽调制功能[12]。
其PWM时钟原理图如图6所示。
图6 S3C2440 PWM时钟原理图
该设计选用定时器0的脉宽调制功能,通过调制TOUT0端口输出的脉冲信号的周期和占空比以获得所需的方波,精确控制步进电机的转速。
TOUT0端口输入脉冲是由时钟PCLK先经过两次分频,再通过设置比较缓冲寄存器TCMPB0而得到[13]。TOUT0端口输入脉冲频率越高,TOUT0端口输出脉冲与目标脉冲的误差就越小。设计采用的S3C2440的时钟配置PCLK为50 MHz,对寄存器的设置如下:
//设置预分频值prescaler value=15
TCFG0&=~S3C2410_TCFG_PRESCALER0_MASK;
TCFG0|=(16-1);
//设置分频值divider value=2
TCFG1 &=~S3C2410_TCFG1_MUX0_MASK;
TCFG1 |=S3C2410_TCFG1_MUX0_DIV2;
定时器0的时钟输入频率Frequency=PCLK/(prescalervalue+1)/(divider value)=50 MHz/(15+1)/2=1 562 500 Hz,它的输出频率是要根据步进电机的转速来设定的。若步进电机的转速为n(r/min),则所需脉冲信号的频率freq=10 000n/60,10 000为步进电机驱动器的细分数。
//设置脉冲信号频率为freq,占空比为50%
tcnt=Frequency/freq;
__raw_writel(tcnt, S3C2410_TCNTB(0));
__raw_writel(tcnt/2, S3C2410_TCMPB(0));
3.2 控制程序设计
模拟泄漏控制程序设计主要是在Linux及底层驱动的基础上进行交互界面、数据采集处理程序、驱动程序、执行元件控制和数据存储5个模块的设计。
系统软件的结构框图如图7所示。
图7 系统软件的结构框图
控制程序的功能主要是通过人机交互界面设置和显示模拟泄漏参数,控制执行元件,实时采集光电编码器和位移传感器的信号,并对其滤波之后计算相应实测模拟泄漏率,最后对相关数据进行存储。
完整的模拟泄漏控制程序流程图如图8所示。
图8 程序流程图
3.3 Qt人机交互界面设计
为了更好地对参数进行设置和显示,方便操作,增加系统的人机交互性,笔者采用QtCreator设计了系统的交互界面。
系统交互界面图如图9所示。
图9 系统交互界面图
界面主要是由参数设定、控制和实测显示3部分组成。参数设定是对步进电机转速及相对应的模拟泄漏率的设定,针对设定电机速度,笔者设计了一个虚拟数字键盘;控制部分针对步进电机的旋转方向、开始和停转进行控制;实测显示部分是针对步进电机可能出现的丢步现象而引入的光电编码器的实测数据进行显示,其数据为步进电机实测转动速度以及模拟泄漏系统的实测模拟泄漏率。
4 实验与结果分析
该系统是面向进行定量分析的微泄漏领域设计的,故本研究在模拟泄漏率为0.201 ml/min~12.063 ml/min区间进行实验。在实际应用过程中,气缸接被测容器的一端是承受着检测压力的,实验时将气缸一端接上0.8 MPa气源。本研究设定系统数据采样时间间隔为1 s,实时对光电编码器和位移传感器进行数据采样以计算实测泄漏率。
实验结果如表1所示。
表1 模拟泄漏实验数据表
其中,Qx为4.023 ml/min实验结果如图10所示。
由图中数据可知:实测模拟泄漏率Qx的最大波动误差只有0.149%。
基于上述分析可知:光电编码器实测泄漏率QX
图10 Qx为4.023 ml/min实时检测图
误差小、精度高并具有良好的稳定性,达到了系统对精度和稳定性的要求,可以作为系统的实际模拟泄漏。
5 结束语
根据模拟泄漏原理,基于嵌入式Linux系统,本文设计了一种能精确稳定控制模拟泄漏的控制系统,内容主要包括对模拟泄漏结构设计,控制步进电机转速的PWM脉宽调制,系统硬件电路设计,系统控制程序和人机交互界面的设计;最后进行了实验,经过对系统模拟泄漏率的误差精度和稳定性的数据分析,得出结论:
该系统在适用范围0.201 ml/min~9.565 ml/min内,具有误差小,精度高并且具有良好的稳定性,达到了标定气体泄漏检测设备时对模拟泄漏精度和稳定性的要求,可为标定气体泄漏检测设备的检测精度提供方便的平台和可靠的依据。
另外,实验并没有具体分析气压压力大小对系统的影响,没能准确给出系统所适用的最高压力。同时研究过程中发现:得到更高的时钟输入频率Frequency,对系统的精度会有所改善。期望在日后的工作中能进一步研究。