(School of Aerospace Engineering,Xiamen University,Xiamen 361005,China)
DOI: 10.6043/j.issn.0438-0479.201705030
备注
随着“工业4.0”的发展,制造业对生产过程要求更加网络化和智能化.针对目前继电器电气参数检测过程不能自适应不同型号继电器,网络化不足等缺点,设计了一种基于STM32F407单片机的电磁继电器电气参数在线检测系统.该系统使用基于轻量级IP(light weight IP,LwIp)的莫迪康总线(Modbus)通信协议,通过有线或者无线的方式实现了数据的网络化在线传输,而用户可以通过本地或者以太网实现系统参数的线下、线上设置.经过多次的随机测量实验,该检测仪的数据变异系数和相对误差均小于5%.
With the development of "industry 4.0",the manufacturing sector needs to be more networking and intelligent.The current electrical parameter detecting process of relay cannot adapt to different types and lacks networking.In order to solve these problems,we design an online detector for electromagnetic parameters of electromagnetic relay based on STM32F407.The detector uses the Modbus communication protocol based on the LwIP(light weight IP),which realizes the data transmission through wired or wireless way.Users can regulate detector parameters offline or online by local or Ethernet.After repeated random measurement experiments,the variation coefficient and relative error of data are both less than 5%.
引言
电磁继电器是一种核心的电气控制开关元件,通常是以小电流、小电压去控制大电流、大电压的通断,被广泛地应用于家电、汽车、电力、工控、航空航天等领域.近些年来,电磁继电器电气参数检测技术虽然已经得到了很大的发展,但是这些设备大多还是以传统的串行通信方式与上位机交换数据[1-3],与计算机或者服务器的接口较为繁琐,兼容性差,布线复杂,难以组网,不利于实现数据的直接上传和多台设备同时在线检测控制.而在文献[4-5]中,检测线圈电阻通入的励磁电流需要人工提前设定大小,无法自适应地根据线圈阻值大小选择合适的电流,限制了生产过程中工业自动化的程度.随着“工业4.0”和“中国制造2025”等新兴制造理念的提出,检测设备需要面向更加网络化和智能化的方向发展.
为了解决上述问题,本研究中设计出一种基于STM32F407的可程控式电磁继电器电气参数在线检测系统,该系统可以通过智能地调节励磁电流的大小来准确测量线圈电阻,而且能测出接触电阻、吸合/释放电压以及吸合/释放时间等参数.同时,本系统通过有线或者无线的方式实现了数据的网络化在线传输,用户可以通过本地或者以太网实现系统参数的线上、线下设置,最后通过实验数据验证了参数检测系统的性能.
1 系统总体设计
1.1 系统的主要技术指标继电器电气参数的准确测量,一方面是衡量继电器质量合格与否的重要标准,另一方面这些参数可以间接反映出继电器生产线上某些环节的生产状况,对生产设备的维护和产品质量预测具有重要的参考价值.目前市面上的继电器参数检测系统为了改变不同的测量范围,可能需要更换相应的硬件模块.为了使参数检测系统满足常规种类继电器的测量范围,在不改变硬件条件的基础上,保证测量的精度,提出了如表1所示的技术指标.
1.2 系统的总体硬件结构如图1所示,电磁继电器电气参数检测系统由继电器检测部分和单片机主控部分组成.继电器检测部分包含:线圈电阻检测模块、触点电阻检测模块、吸合/释放电压检测模块和吸合/释放时间检测模块.单片机主控部分包含:联合测试工作组(JTAG)接口、静态随机存取存储器(SRAM)模块、以太网接口模块、温度传感器模块以及按键触摸屏模块.
根据GB/T7261—2008,线圈电阻和触点电阻都利用欧姆定律来测量.吸合/释放电压的测量是靠控制线圈电压的斜坡(步进)上升、下降,来捕获线圈电流的尖峰处对应的电压.吸合/释放时间的测量则是通过单片机的外部中断触发定时器计时.电阻的阻值会受到温度的影响,系统需要采集环境温度,对测量的线圈电阻和接触电阻进行温度补偿.STM32F407本身含有以太网模块,而且该模块具有专门的直接内存存取(DMA)控制器和媒体接入控制器(MAC)802.3,支持介质独立接口(MII)和简化介质独立接口(RMII)[6],这使得以太网接口部分的硬件电路大大简化.测量数据还可以选择通过无线网络模块发送,以减轻布线负担.为了方便电磁继电器参数检测系统的参数设定,管理员可以使用上位机利用以太网在线上修改参数,或者操作人员通过下位机的按键触摸屏模块在线下进行修改.修改好的参数会被写入STM32的flash,避免每次断电后都需要重新设置参数.
2 系统电路设计
2.1 接触电阻测量原理系统测量接触电阻时采用“四端法”.主回路通过控制晶体管的导通向触点通入100 mA的短时直流电流,测量回路提取触点两端的电压经过滤波和放大后接入模数转换器(ADC)处理,然后利用欧姆定律计算出触点电阻.为了使结果更加准确,需要将测量触点电压所用的导线提前用电桥测出,用于标定触点电阻的阻值.
2.2 线圈电阻测量电路不同电压等级的继电器,其线圈阻值是不同的,表2展示了欧姆龙G5V-1系列继电器的线圈电阻参数.不仅如此,同一电压等级、不同厂家生产的继电器线圈电阻也有较大的差异.目前,线圈电阻检测方式需要根据不同型号继电器线圈电阻,人工预先设定励磁电流的大小,存在参数难以自动设置的问题,效率低下.本研究搭建了可自动设置励磁电流的继电器线圈电阻自动测量系统,可满足10~5 000 Ω范围内的继电器线圈电阻测量.
本系统采用数字式可编程电流源芯片AD5422搭配AD8231程控运算放大器,利用线圈吸合/释放回路中的采样电阻检测出待测继电器额定电压下的线圈电流.单片机通过数据总线设置AD5422和AD8231相应的寄存器.AD5422具有16位精度,0~20 mA的输出.系统可根据实际继电器线圈电阻对AD5422设置多个档位,例如:10~50 Ω范围输出5 mA,50~500 Ω范围输出2 mA,500~1 000 Ω范围输出1 mA,1 000~5 000 Ω范围输出0.1 mA等.对于已知类型的继电器,可人工选择合适的电流档位,以提高检测效率; 而对于未知类型的继电器,系统可先给线圈通入额定电压,通过采样电阻上的电压计算出线圈的额定电流的大小,重新设置电流源的输出为额定电流的10%,对线圈电阻实现精确测量,进而实现自适应地根据线圈电阻值大小选择合适的励磁电流.取10%的额定电流作为检测线圈电阻的励磁电流,是对线圈电阻“自热”影响和提高线圈电压信号信噪比的一种折中.AD8231是一款零漂移、数字可编程式仪表放大器,系统通过该放大器将线圈电压放大到最适合模数转换器(ADC)读取的电压,以降低ADC采集过程中的噪声波动对信号的影响.在线圈电流和线圈电压均已知的情况下,再根据欧姆定律R=U/I计算出线圈电阻值.
图2中半圆形弹性簧片为夹持继电器线圈引脚的机构,方便待测继电器的快速更换.系统也采用“四端法”将AD5422程控电流源的输出与AD8231对线圈电压信号的采集分隔开来,避免导线电阻所带来的误差.由于使用的是芯片内部的ADC,所以同时还需要保证采集的线圈电压信号满足0~3.3 V.
2.3 线圈电压驱动电路为了驱动不同电压等级的继电器以及准确地测量出吸合/释放电压,系统需要一个能从0~80 V任意变化的可调电压源为继电器供电,而串联型稳压电路就可以满足这样的需求[7].相比于开关型稳压电路,串联型稳压电路电压调节速度快,输出电压稳定.
图3中,STM32的数模转换器(DAC)输出电压UDAC与线圈驱动电路输出电压UO的反馈电压Uf的差值送入由运放搭建的比例积分(PI)调节器,进而控制由三极管T1和功率管T2组成的达林顿结构,使得将多变比变压器整流出来的直流电压线性可调.电路中的多变比变压器具有15,48和110 V 3个电压级别的抽头,根据待测继电器的额定电压的大小由继电器网络切换到相应电压等级的中心抽头.
值得一提的是,为了实现宽范围的电压可调,需要合理地选取R4~R9的阻值,让T1和T2始终工作在线性放大区.最大反馈电压Ufmax不应超过DAC的最大输出电压UDACmax:
Ufmax=Uomax×R9/(R8+R9)≤UDACmax,
R8和R9的取值在满足上述不等式的同时,也不能超过自身电阻的功率限制,否则反馈电压Uf会因为电阻发热的问题产生波动.同时为了保证输出电压UO的精度,R8和R9应该选取高精度的电阻.
设整流出来的电压为Ucc,负载电流为ILoad,IC1、IC2分别为T1、T2的集电极电流,UEB2为T2射极和基极之间的电压,α、β分别为T1、T2的放大倍数,T1的射极电流IE1不应超过运放OP3的最大输出电流IOPmax,若给运放留20%的余量,则有
IE1≈IC1=(IC2)/(β+1)+(βIC2R7)/((β+1)R6)+(UEB2)/(R6)≈
(ILoad)/(β+1)+(ILoadR7)/(R6)≤0.8IOPmax.
设运放OP3输出电压最大值为UOPmax,那么
R5≤(0.8UOPmax)/(IE1)≤(UOPmax)/(IOPmax).
对于R4的选取,应保证T1始终工作在放大区,即
R4≥0.8(α(UOPmax-IOPmaxR5))/(IE1).
由上面的不等式可知,R4的选取依赖于IE1和R5,而IE1的大小取决于R6和R7,同时R8和R9构成了负载电路的一部分,会影响负载电流ILoad的大小.所以需要按照R9,R8,R7,R6,R5和R4的顺序进行电阻的取值.
2.4 吸合/释放电压检测电路当线圈两端的电压慢慢升高时,线圈的励磁电流也会逐渐变大,直至线圈对衔铁的吸引力大于继电器内部动簧片的弹力时,衔铁开始运动.为了让触点可靠地接触,触点接触后会继续运动,直至超行程距离.动簧片与静簧片接触以后,衔铁需要同时克服动簧片与静簧片的弹力,此时电流会微弱的下降,对应的线圈电压为一次吸合电压.当吸力大于两个簧片的弹力的合力时,衔铁会再次运动,直至到达限位装置,此时电流又会有一个微弱下降的过程,对应的线圈电压为二次吸合电压.最后,线圈的电流将会饱和.由此可见,线圈电流的变化可以反映吸合状态的变化,故可通过对线圈电流的处理捕获到线圈的一次和二次电压.
图4给出了线圈采样电阻上电压的处理波形,其中U1,U2,U3在图5所示检测电路中的相应位置标出.U1即为图5中采样电阻R1上的电压经过反向放大得到的波形,U2为U1微分后的波形,U3为U2和阈值电压UR进行电压比较后的波形.在图4(a)中U1有两个小的尖峰,分别对应一次吸合和二次吸合时线圈电压的变化状态.图4(b)中U1所描述的继电器释放过程基本上是吸合的逆过程.随着线圈电压的下降,U1也在随之减少,相应的励磁电流也随之减小.当吸力小于弹力后,衔铁开始运动,反电动势使线圈上的电流微弱的上升,之后电流会慢慢下降到零[8].
检测吸合/释放电压的方法有:二分法[9]、步进中值法和差异比较法.继电器吸合和释放时电流的变化是极其短暂的,对于超行程距离比较小的继电器而言,一次吸合和二次吸合很难分开,前两种方法无法得到二次吸合的电压,而最后一种方法检测的时间又比较长,因此3种方法都是利用数学方法来逼近真实值.本系统则是从硬件出发,线圈电压驱动电路步进地增加或减少线圈电压,将线圈电流采样得到的电压进行放大、微分、滤波和比较[10],最后得到脉冲触发信号,如图4中的U3所示.脉冲信号触发单片机中断,单片机在中断程序中用ADC读取线圈的电压值,此时对应的线圈电采样压即为吸合/释放电压.调理电路配合中断程序有效地解决了传统算法无法检测二次吸合和检测过程缓慢的问题.图5给出了本系统所搭建的吸合/释放电压检测电路图.
3 系统软件设计
3.1 下位机程序设计本系统中所采用的主控芯片为STM32F407,该芯片是以Cortex-M4为内核的32位高性能微控制器.STM32F407支持C语言开发,下位机程序采用Keil集成开发环境来编写,使用J-LINK作为调试工具[11].下位机程序在uC/OS Ⅲ操作系统的基础上开发,以此来降低多个任务间的耦合度.本系统中下位机和上位机之间采用了基于轻量级IP(light weight IP,LwIP)的莫迪康总线(Modbus)通信协议,通过以太网以有线或者无线的方式将检测数据发送到服务器,以方便对采集到的数据做进一步的分析.相比于传统的串行通讯方式,以太网的通信速度更快且更稳定,无线的通信方案也可极大地降低布线负担,能提高空间利用率.
检测线圈电阻的流程如图6所示,如果已知待测继电器的线圈电阻的大致范围,可提前选好相应的电流档位,以增加检测效率.
在检测线圈的吸合/释放电压时,应该步进地给线圈增加或减少电压,当有下降沿中断产生时,执行相应的中断程序,图7给出了相应的检测程序.
3.2 上位机程序设计上位机软件使用C++语言编写,使用Qt跨平台C++图形用户界面应用程序框架来开发,利用Oracle数据库接口存储数据.上位机主要分为网络连接、数据库操作、参数发送、参数接收和趋势图5个功能块.网络连接显示网络基本信息,如IP地址和连接状态等.数据库操作部分提供了对以往数据的查询、增删的服务等.参数发送部分主要是对继电器时测试的参数预设置,如继电器电压的上下限,测量线圈电阻通入的电流大小等,可根据需求测试继电器的电气参数.参数接收部分实时刷新当前所测得的电气参数.趋势图部分可以对选择的数据添加趋势线,方便专业人员对数据进行分析.
4 实验数据
经测试,线圈电压驱动部分能够实现电压0~80 V范围内任意可调,图8给出了驱动电路在负载电阻为3.3 kΩ的条件下,电压阶跃上升的示波器波形.第1段电压的设定值为24 V,第2段电压的设定值为50 V.从局部放大图来看,输出电压能够与设定电压相吻合,误差较小,且上升沿约为1 ms.同时,本系统对吸合和释放电压的检测电路能够稳定正常地工作.在对额定电压为12 V的继电器的测试中,能捕获到两个触发沿,图9为示波器测得的波形.其中,波形2为原始信号经放大、微分和滤波后的波形,波形1为同阈值电压UR比较后得到的波形U3.
表3和表4为电气参数检测系统的性能检测结果,为了使测得的数据更具代表性,对不同样品随机测量8次,在测试实验中所用的继电器类型为HF3FA/012-HSTF和G5V-2-DC5.其中,HF3FA/012-HSTF继电器的额定电压为12 V,实验中的励磁电流大小为
3 mA,G5V-2-DC5继电器的额定电压为5 V,实验中的励磁电流大小为1 mA.由于不同参数的量纲并不一样,这里采用了变异系数来评价检测系统的精密度[12].表中的变异系数均小于5%,可以反映出系统的各个测试项目的精密度都比较高,性能稳定,达到了预期的设计指标.在2次测量中,线圈电阻相比于其他电气参数的变异系数而言较小,说明通过智能的调节励磁电流的大小可准确测量线圈电阻.表3和4中的相对误差是本系统测量值与参考值之间的相对误差,其中参考值是使用万用表、示波器和电桥等仪器测出来的数据.计算相对误差时,忽略了各仪器的自身误差.从表中可以看出,相对误差均小于5%,进一步说明了该系统具有很好的检测准确度.
5 结 论
本研究在目前现有的研究基础上,针对目前继电器参数检测存在的问题以及实际生产的需求,设计了一种基于STM32F407的可程控式电磁继电器电气参数在线检测系统.该系统可以完整地测量出继电器电气参数,能够智能地调节励磁电流的大小来准确测量线圈电阻,并使用基于LwIP的Modbus通信协议实现了数据的网络化在线传输.最后通过实验表明,该系统的稳定性好,精度高,达到了预期的设计要求.
- [1] 杨备备,张文超,杨波等.基于ARM的电磁继电器参数检测仪[J].物联网技术,2013(12):16-18.
- [2] 徐广瑞,王宇野,项巍.基于TMS320F28335的继电器参数采集系统设计[J].电子科技,2013,26(8):80-82.
- [3] 王勇,郝晓红.基于STM32+FPGA的航空继电器时间参数测试系统[J].仪表技术与传感器,2016(8):56-59.
- [4] 杨备备.基于STM32的电磁继电器综合参数检测仪[D].杭州:杭州电子科技大学,2013:23-24.
- [5] 冯晓.基于ARM的智能继电器测试系统的设计与研究[D].上海:东华大学,2010:26-28.
- [6] 黄鸿国.基于STM32的多通道液压伺服控制系统研究[D].成都:西南交通大学,2014:11-13.
- [7] 童诗白,华成英.模拟电子技术基础[M].3版.北京:高等教育出版社,2001:523-528.
- [8] 杜太行,刘振海,耿立辉等.电磁继电器二次吸合电压的研究与测量[J].电力系统保护与控制,2002,30(2):51-53.
- [9] WANG S,REN W,FAN W.Simulation of spring system's operation process for electromagnetic relay[C]∥Proceedings of the IEEE Holm Conference on Electrical Contacts.Seattle:IEEE,2004:453-458.
- [10] 杜太行,齐玲,李雪,等.基于单片机的电磁继电器参数检测系统的研究[J].电器与能效管理技术,2009(17):16-19.
- [11] 孙玉胜,马平,邹玉炜.CPLD在多芯电缆测试仪中的应用[J].科技创新导报,2008(6):170-171.
- [12] 高连华,孙伟.变异系数在可靠性中的应用[J].装甲兵工程学院学报,2004,18(4):5-8.