关键词:直流电磁继电器;单插座;定时器;自动测试
0 引言
继电器是一种高精密的电子元器件,它广泛应用于工业制造和国防科技。但由于生产工艺、材料等原因造成了其质量的不稳定性。因此,有必要对其进行测试,以决定其优劣。从测试精度来说,动作时间需要精确到ms或μs,触点电阻精确到mΩ,此外,有些继电器由多个线圈或触点组组成,如JHX-3F系列继电器。目前,常用的手工测试方法效率低、误差大,且测试参数少,而对于高精密继电器的测试只能依赖基于微机的测试系统。本文将讨论基于JHX-3F系列继电器的测试系统的软硬件设计思路,并重点分析单插座对多规格继电器的自动测试、动作时间μs级测试和小电压或大电流型线圈的继电器测试。
1 继电器测试系统的构成
继电器测试系统的构成如图1。数据采集卡选择基于PCI总线的AC6115。系统由PC和测试仪两部分组成,它们之间通过AC6115传递A/D、D/A和I/O信号。系统软件平台为Windows XP/2000,软件开发环境Delphi 6.0,数据库SQL Server 2000。主要测试指标及精度要求:1)电压精度<=0.01V;2)电流精度<=0.01A;3)动作时间精度<=1ms;4)触点电阻精度<=1mΩ。
2 继电器测试系统的硬件设计
2.1 JHX-3F小型直流电磁继电器种类
JHX-3F包括A、B、C和D四个大类。线圈类型可以是电压型或电流型或电压电流混合型,其中A大类为单线圈16个品种;B大类为双线圈240个品种;C大类为双线圈182个品种;D大类为单线圈16个品种。共454个品种(其中又分电压型166种,电流型72种,混合型216种)。继电器初始触点状态分又为全闭(2D)、全开(2H)和半开半闭(1H1D)三种状态。所以,JHX-3F系列继电器总计1362个品种。
本文以两类继电器说明其工作原理。B类双线圈单位置:该类继电器有一个启动线圈和一个保持线圈。启动线圈施加激励,继电器状态改变,接着给保持线圈施加激励,撤除启动线圈激励,状态保持,再撤除保持线圈的激励,状态释放。C类双线圈双位置:该类继电器有一个启动线圈和一个复归线圈。启动线圈施加激励,继电器状态改变,撤除激励,此状态保持,再给复归线圈施加激励,状态复归为初始态。
2.2单插座完成对多规格1362个品种继电器自动测试的硬件实现
待测继电器的特点:引脚1~4为继电器线圈,引脚5~8为继电器触点。产品封装符合双列直插集成电路封装特征。待测继电器的这些特征为只用单插座完成对多规格1362个品种继电器的自动测试提供了可能性。
自动测试的电路工作原理:若待测继电器为单线圈时,辅助继电器FZJD1的线圈上不施加激励,受控源施加到插座1、4两端。若待测继电器为双线圈时,分两个阶段工作,在系统测试启动线圈阶段时,FZJD1的线圈上不施加激励,受控源施加到插座1、2两端;在测试保持或复归线圈阶段时在FZJD1的线圈上施加激励,受控源施加到插座3、4两端。当被测继电器线圈为电压型时,辅助继电器FZJD2的线圈上不施加激励,受控电压源工作并施加到电路中,为电流型时,在FZJD2的线圈上施加激励,受控电流源工作并施加到电路中;触点状态的测试只要将被测触点送到两个I/O即可。触点电阻测试采用四端法消除接触电阻的影响,分别用三档激励源进行测试。
2.3 大电流或小电压型继电器测试的硬件实现
测试用的电压源和电流源均受数据采集卡上DAC输出的控制,电压源输出电压和电流源输出电流与控制电压均呈线性关系。系统自动根据被测继电器型号选择不同输出范围的受控电压源进行测试,一种是从0~24VDC输出,另一种是从0~110VDC输出。可以测试从1.5VDC~100VDC额定吸合电压的被测继电器。受控电流源输出范围从0~2ADC,可以测试从0.003ADC~2.0ADC额定吸合电流的被测继电器。电路中利用辅助继电器实现自动构建电路的目的。
3 继电器测试系统的软件设计
3.1 多种软件定时器的应用
Timer控件基于Windows系统定时,它可以在要求不高的地方使用,定时分辨率为55ms[1],精度只有5~8ms,系统中应用它进行线圈参数、吸合值和释放值的测试。精确定时它无法胜任。多媒体定时器来自于Windows API。它可工作在较高优先级的线程中,它的定时事件被定义为回调过程,只要在该过程中添加消息处理代码即可完成定时响应[2]。Delphi把它封装到了mmsystem.pas中供软定时使用。本系统应用它对故障继电器进行检测,如触点始终未动作。
动作时间测试有2种方法。1)使用AC6115上的硬件定时器,AC6115提供了一个16位的微秒脉冲计数器,计数范围是1~216微秒[3],因此,可通过脉冲计数完成动作时间测试,但此方法会加大硬件电路设计的复杂性;2)采用软件定时器。例如Z_Timer。它可以ActiveX控件的形式加载到Delphi控件面板上。它的定时分辨率是0.1ms,定时精度是0.015ms,在有效定时事件中它能独占系统所有资源,如消息响应和线程时间片。故使用Z_Timer是基于Windows环境下高精度软定时的好方法。
本系统应用Z_Timer短时间内独占系统资源而中断其它线程、消息的运行,从而快速准确地测试出动作时间。首先设定其独占系统资源时间为秒级别,因为动作时间精度<=1ms,所以该段时间内继电器必然动作;在这段独占时间内,Z_Timer采集动作前后的触点组电压值并装入数组;最后,分析该数组中数值的变化就可以计算出动作时间。使用这种方法,简化了硬件电路的设计,且测试效果良好。
3.2 继电器单项测试的软件实现
3.2.1线圈基本参数测试的软件实现
Timer启动后,对线圈(包括启动线圈、保持线圈和复归线圈)进行测试。调用AC6115提供的DLL(动态链接库)中的AC_6115_DA函数线性控制输出在线圈上的电压。电压上升(下降)梯度10v/5s。在线圈触点吸合处、额定电压处和触点释放处先使用Sleep函数短暂延时,待继电器状态稳定后,再调用DLL中的AC_6115_AD函数记录吸合值或额定值或释放值,并存入公用数据模块Datamodule中。
3.2.2 动作时间测试的软件实现
动作时间是衡量继电器质量的关键指标,其精度要求高。图3-1是一触点初始状态为2H的继电器动作时间测试的“理想图”,实际的测试结果如图3-2所示出现了“回跳时间”,它是测试过程中必须考虑的。本系统采用短时间独占系统资源的Z_Timer完成动作时间测试,其吸合时间测试的定时响应代码如下:
Procedure TMainForm.Draw_Time_Test();//“吸合时间”测试
Begin
if(Call_DLL()<31);//调用AC6115动态链接库
Showmessage(‘DLL装载失败!’);
Else
Begin
AC_6115_AD(Datamodule.Driverio, Datamodule.IDofcard[1], 80,3,4,0, 0, 0, 0, 0, 0, 0, Datamodule.Draw_Time_Data,2048);//采集触点动作前后的所有数据
DA_To_Value(0);//电压归0,准备释放时间测试
Sleep(100);//平缓处理
IO_Out(1,0,0);//设置I/O信号,准备“释放时间”测试
Sleep(2000);//为其释放资源准备时间,此后,系统将“缓冲”到正常状态
End;End;
图3-1 理想动作时间测试
图3-2 实际动作时间测试
代码中数据采集函数采集3、4通道,每通道采集2048/2=1024点。通道转换时间80*0.25=20μs,故同一通道相邻两点之间的时间间隔为20*2=40μs,所以每组触点有效监测的电压时间为1024*40=40960μs,动作时间的测试精度为40μs。
“回跳时间”计算:每组触点采样1024个点,从第1024个点开始逐一向前查询当前点和当前点之前一点的采样电压值,如果发现两者之差绝对值为5,且第1次出现,立刻记录当前点位置T1。同时开始累加“回跳时间”计数器,如此反复,直到最后1次出现此类情况,记录此时位置T2,所以T1就是动作时间点,而T1-T2则是“回跳时间”。
3.2.3 触点电阻测试的软件实现
触点初始状态为2D的继电器,直接采样相关通道电压进行计算即可;触点初始状态为2H的继电器,首先,线圈外加电压跳变至额定值,待其触点吸合稳定后,采用类似2D测试方法测试;1H1D继电器,首先采用类似测试2D的方法测试1D触点组,然后用类似测试2H的方法测试1H触点组。
3.3组合多项测试项的自动测试的软件实现
组合多项测试项的自动测试的主要软件流程如图4所示。
图4 系统自动测试软件实现流程图
自动测试将完成线圈参数、动作时间和触点电阻的全部测试。“基本参数设置”包括设置继电器类型、线圈类型、各测试项测试次数和触点组初始状态。为了提高测试数据的准确性,自动测试设计为重复多次执行,最后求取多次测试数据的平均值,如线圈参数、动作时间和触点电阻分别测试M、N、K次(M、N、K均大于等于0),实际次数多少由测试人员根据现场情况决定。每次测试的结果全部暂存于Datamodule中,在Datamodule中建立了3个链表,分别用来存放每次测试的线圈参数、动作时间参数和触点电阻参数。链表的每1个结点分别代表某测试项的1次测试数据。
4 结束语
现场测试中,系统运行良好,人机界面友好,能完成对所有1362种继电器的测试,并提供完整的测试数据的报表,测试精度令人满意,其中电压测试精度由<=0.01v提高到了<=0.001v,吸合时间测试精度则由<=1ms提高到了0.04ms。
本文作者创新点:(1)硬件设计。采用单插座对4大类1362种继电器进行测试;通过自动控制受控电源完成了对电流、电压或混合型继电器参数的测试。(2)软件设计。提出了以Z_Timer为主、硬件电路为辅的方法来测试动作时间,大大简化了硬件电路的设计;自动测试中还可组合测试项进行多次重复测试求取平均值,从而提高了测试数据的准确性。
参考文献
[1].李四保,姚晓先.Win32s下内核定时器的使用[J]. 微计算机信息,2003,19卷(2期):71-72
[2].何炜丽,康伟. 在Delphi中实现多媒体定时器[J].电脑学习,2000,(2):26-27.
[3].AC6115使用说明书[M].北京双诺公司,2004,58~59