基于ARM的电磁继电器参数检测仪

时间:2022-09-28 03:01:26

基于ARM的电磁继电器参数检测仪

摘 要:针对目前市场上存在的一些电磁继电器参数检测仪器的缺点,为了能够精确采集电磁继电器的吸合电压等主要参数,采用ARM技术和上、下位机方法,设计了一款基于ARM Cortex-M3芯片STM32F103ZET6单片机控制的电磁继电器综合参数检测仪。该仪器可完成对动断、动合、转换型直流继电器的线圈电阻、触点接触电阻、最小吸合电压、最大释放电压、吸合时间、释放时间等参数的测试。

关键词:STM32;电磁继电器;检测仪;上位机

中图分类号:TN401 文献标识码:A 文章编号:2095-1302(2013)12-0016-03

0 引 言

产品检测是生产厂家和用户都关心的问题。在产品生产过程中,检测是必不可少的一部分, 有的还是工艺过程的一道工序。电磁继电器是电力系统以及其他电气控制系统中常用的开关元件,它们的可靠性是电力系统和其他电气控制系统可靠运行的重要保证, 因此,必须对继电器的特性参数进行准确的测试。电磁继电器的电气参数主要有线圈电阻、触点接触电阻、吸合电压、释放电压、吸合时间、释放时间等[1]。这些参数对研究继电器可靠性、动态性能具有重要意义,是保证其质量特性的重要参数。

1 系统总体架构

1.1 系统硬件结构

系统硬件主要包括UART串口通信模块、JTAG接口模块、测试结果显示模块、检测程序存储模块FLASH、检测电路模块以及SRAM模块。系统总体硬件结构框图如图1所示[2]。

1.2 系统微处理器

本系统主要由检测部分和显示控制部分组成。在本设计中,采用了高性能的ARM Cortex芯片STM32F103ZET6。该芯片内部采用哈佛结构,其中集成有64 KB的RAM和512KB FLASH,并且具有运算速度快、体积小和低功耗的特点,完全能满足本设计的要求。Cortex-M3是一个32位的核,它采用的是Tail-Chaining中断技术,最多可减少12个时钟周期数,基于硬件进行中断处理,通常可减少70%的中断。Cortex-M3还采用了新型的单线调试(Single Wire)技术[3],可对独立的引脚进行调试。

1.3 系统工作流程

系统上电后,首先完成对各个寄存器的初始化工作,然后等待开始检测命令;单击上位机界面上的START命令,然后上位机给单片机发送开始检测命令;单片机接到开始命令后开始向检测电路发送检测命令,然后单片机处理检测电路发回的数据,得出继电器的各个参数,通过串口把这些参数显示在上位机的界面上。

2 检测电路设计

2.1 驱动电压的设计

为了准确测出继电器的吸合电压,必须得到一个从0开始按照一定量增大的电压源,每次增大的电压量越小,测试的结果越准确,但是所要求的电路也越复杂,所以我们必须根据实际的要求在这中间找到一个平衡点。图2所示为系统驱动电压电路。

图2中,TL431用于给TLC5615提供2.5 V的基准电压源,DA_DIN是串行数据输入端,DA_CS是低电平有效的片选信号输入端,DA_SCK是串行时钟输入端,DOUT是用于级联的串行数据输出端,OUT是DAC模拟电压输出端,输出模拟信号[4]。由于从TLC5615输出的模拟信号很小,不能驱动继电器,所以,本设计在后面又加上了放大电压电路和放大电流电路。

2.2 集成切换网络的设计

本系统的集成切换网络是利用继电器的开关工作原理完成的,利用单片机发出的不同指令控制继电器的闭合,从而切换到不同的测试电路模块。在测试吸合/释放电压时,首先ARM Cortex发出测试参数为吸合/释放电压的指令。集成切换网络根据指令,切换到Prog_v一侧,XQ1I连接所测继电器触点一端,具体电路如图3所示[5]。

为了解决单片机的I/O驱动能力不足的问题,选用ULN2003作为继电器的驱动芯片。ULN2003是高压大电流达林顿晶体管阵列电路,它具有工作地电压高,工作电流大,灌电流可达500 mA,并且能够在关态时承受50 V的电压,输出还可以在高负载电流并行运行。它采用集电极开路输出,输出电流大,故可直接驱动继电器。ULN2003的每一对达林顿管都串联一个2.7 kΩ的基极电阻,在5 V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。通常单片机驱动ULN2003时,上拉2 kΩ的电阻,同时,COM引脚应该悬空或接电源。

2.3 数据处理及与上位机的通信

接收到的数据通过异步串口管脚与3.3 V转换芯片MAX232相连,外接串口线同PC机进行通信,接收和发送数据,STM32作为下位机负责接收上位机的指令以及控制各部分电路并处理数据,然后向上位机发送数据,PC机接收数据,并通过VC编程把接收的数据通过界面显示出来。这里PC机的VC通过串口发送命令给STM32,主控芯片接收命令并判断有效,即可开始控制电路进行工作[6]。由于篇幅所限,本文未对STM32的最小系统硬件部分作详细说明。

3 系统软件设计

系统软件部分主要包括STM32微处理器控制程序和上位机程序两部分。由于下位机软件使用C语言来开发,所以选择了一款支持C语言编程的开发环境。由于使用的是J-LINK接口调试方式[7],选择用IAR SYSTEM作为下位机的控制平台开发工具。

3.1 微处理器控制程序

图4所示是本系统的微处理器控制程序。本程序的核心部分是线圈电阻子程序、触点电阻子程序、吸合/释放电压子程序、吸合/释放时间子程序。

3.2 吸合电压算法设计

对于吸合/释放电压的测试,这里将对比三种测试算法:二分算法、步进自适应中值算法和差异比较算法[8]。

3.2.1 二分算法

这就是二分算法的基本原理。

3.2.2 步进自适应中值算法

同简单二分算法一样,确定A、B两个电压值,其中A无法使触点吸合, B保证发生触点吸合。然后求得A、 B的平均值C,如果C小于触点的阈值电压,则在B电压量的基础上步进式地减小一定幅度的电压X,得到电压量D;如果C大于触点的触发电压,那么在A电压量的基础上,步进式地增加一定幅度的电压X[9],然后重复以上步骤。如果发生某一步进增加时,触点发生吸合,则继电器的吸合电压介于触点触发的前后两个电压平均数值之间。

3.2.3 差异比较算法

差异比较算法是通过比较输入值和输出值的大小,将发生差异型变化的数值进行筛选并记录。选择这个算法主要是针对二次发生的吸合释放过程。

三种算法中,二分算法有可能让程序进入死循环,差异比较算法相对前两者速度较慢,所以本系统最终采用步进自适应中值算法。

3.3 上位机程序设计

本系统的上位机界面程序采用C++程序编写,它主要包括参数设置区域、参数显示区域、继电器类型选择和控制按键等几部分。参数设置区域是完成对所测继电器的相关参数上下限参数的设置,比如吸合电压上下限的设置。参数显示区域是显示所测参数大小的,这里还包括了一个参数选择复选框,如果选上则表示需要对此参数进行检测,如果不选则系统不对此部分参数进行检测。图5所示为其上位机界面。

3.4 实验结果

在调试好的样机上分别可对吸合电压等六个参数进行测试,为了减少一次测试数据的偶然性,每个参数均测试了八组数据进行处理,实验结果如表1所示。从表1中的数据可以发现,其测试数据变化范围小,系统性能较稳定,总体性能能够令人满意。

4 结 语

本文是结合前人的研究成果提出的一种基于STM32的智能参数测试仪,该测试仪由STM32作为主控芯片,并结合先进的电子测量线路来对继电器的主要电气参数进行测量。测量结果表明,本系统测试结果准确性高,工作稳定,总体性能令人满意。

参 考 文 献

[1]冯晓.基于ARM的智能继电器测试系统的设计与研究[D].上海:东华大学,2009.

[2]郑天丕.电磁继电器检测中的误区浅析[J].试验与检测,2003,4(3):65-69.

[3]杨磊.基于STM32的指纹识别系统设计与实现[J].机电工程,2011,28(12):1-5.

[4] CASTELLI Franco. Basic components of digital instrumentation for industry by electromagnetic micro relays[C]// Conference Record of the 1995 IEEE Industry Applications Conference. Orlando, FL: IEEE, 1995: 583-590.

[5]康华光.电子技术基础[M].北京:高等教育出版社,2006.

[6]刘书智.Visual C++ 串口通信与工程应用实战[M].北京:中国铁道出版社,2011.

[7]孙玉胜,马平,邹玉炜.CPLD在多芯电缆测试仪中的应用[J].科技创新导报,2008,5(15):1053-1062.

[8] WEISS M A. Data structures and algorithm analysis in C++ [M]. 3rd Edition.北京:人民邮电出版社,2007.

[9]赵永发.Visual C++ 开发宝典[M].北京:机械工业出版社,2012.

上一篇:食品冷链配送中温度采集系统的设计与试验 下一篇:物联网中的设备管理技术