工业热风炉监控系统数据采集卡的设计研究
2022-09-26张拥军
张拥军
(北京经济管理职业学院,北京 100102)
随着我国工业领域的不断发展,使热风炉的安全性、经济性得到有效提升。若热风炉出现故障现象,可造成燃气泄漏、中途熄火等现象的发生,此时为保证人身及财产的安全,应采集急停措施,暂停热风炉的运转。数据采集对于工业测试系统的精准测量具有重要意义,数据采集精度越高,为热风炉监控系统提供的判断依据越多。热风炉是一种典型的具有多变量、非线性、大滞后特点的复杂系统,为实现司炉人员对热风炉运行参数的实时监测,本研究向监控系统中引入数据采集卡,有利于在复杂环境下实现系统监测控制。
1 数据采集卡概述
数据采集卡主要负责协助热风炉监控系统完成工业测量任务,其性能与采样频率/方法、电压范围有关。
1)采样频率
若数据采集卡的采样频率较高,即可获取原始信号信息,二者之间呈正比关系变化。随着采样频率的不断升高,原始信号信息也不断升高。为获取更高的原始信号,需要有足够高的采样频率。当信号的变化频率明显高于采集板的数字化变化频率,可使采样频率极易产生波形失真现象。为避免采样频率波形的失真现象,本研究结合奈奎斯特理论,将采样频率控制在系统元件最高频率的2倍以上[1]。
2)采样方法
为保证数据采集卡的采样效果,应严格控制数据采集卡的采样方法。数据采集卡通常利用多路开关建立信号端与A/D转换器之间的通信联系,以此实现从多个通道内部获取数据。将该采样方法与连续扫描方法进行对比可知,连续扫描方法更具经济性。但是连续扫描方法仅适用于非重要场合,若数据采集卡对应的采集点对时间要求较为严格,应采用同时采集的方法完成数据采集。对低频信号进行数据采集时,可采用间隔扫描的方法实现同时采样,该方法不需要额外增加采样保持电路。间隔扫描方法的数据采样过程为:首先以一定的时间间隔对输入通道进行扫描,利用脉冲对各个通道两次被扫描的时间间隔进行计算,扫描方法的位数越多,表明该转换器的分辨率越高,同时随着转换器位数的持续增多,使可区分电压逐渐减小。
3)电压范围
电压范围实际上指的是扫描方法扫描的最高电压及最低电压。通常情况下,A/D板的电压范围为可调状态,为保证数据采集卡可充分利用转换器可靠性较高的分辨率范围,应将信号的电压范围调整至与微机相匹配。数据采集卡可分辨的最小电压变化情况主要由转换器的范围、增益及分辨率决定,可将其表示为1LSB。若工业热风炉监控系统采用的A/D板的分辨率为16位,电压的范围为-10~10 V,此时增益取1,则数据采集卡可分辨的最小电压变化情况为:1LSB=20/(1×216)=0.3 mV。
数据采集卡可建立外界电信号与计算机之间的通信联系,而二者之间沟通的桥梁。该采集卡可完成数据的采集,具有信号控制及输出功能。在数据采集卡运行过程中,可将外界的模拟信号直接转换为数字信号,并将数字信号传递至计算机。同时数据采集卡也可接收计算机发出的控制指令及数据信息,数据接收完毕后,将控制信号传送至外设[2]。
2 工业热风炉监控系统数据采集硬件设计
本研究对系统的硬件部分进行设计时,为保证硬件系统功能的稳定性,将硬件系统划分为4部分:模拟量、开关量、脉冲量采集电路以及通信电路。该系统的设计原理为:首先选用M3P430F149集成的A/D转换器作核心设备,利用16路模拟开关实现系统的可扩展性。直接采用单片机的I/O对开关量数据进行采集,为实现8路开关量采集,可直接采用P0接口建立开关与转换器之间的连接。M3P430F149单片机内部P0-P2接口均具有中断能力,可用来对脉冲量的输入频率进行精准测量,以此实现脉冲计数。为向监控系统提供分析判断依据,本研究利用串口建立单片机与上位机ARM11处理器之间的通讯,单片机可将采集数据实时上传至上位机,由上位机对该项数据进行分析及处理。工业热风炉监控系统数据采集原理如图1所示[3]。
图1 工业热风炉监控系统数据采集原理框图
2.1 模拟量采集电路
由于热风炉的工作环境中存在多种机电设备的干扰,可直接造成数据采集单元无法与强电信号之间建立连接,只能通过多种传感器及隔离器件将信号上传至处理电路。但是传感器在实际应用过程中,其输出的信号大多为弱信号,弱信号与系统之间的距离过长,可使信号强度出现衰减。为有效防止信号进一步衰减,采用电流信号完成数据输出。本研究采用的传感器均可输出4~20 mA的模拟电流信号。模拟量采集的过程为:首先利用I/V转换电路将传感器模拟输出的信号复原为电压信号,其次经过放大、滤波等操作处理后,将处理后的信号上传至A/D转换器[4]。
M3P430F149芯片内部包含一个ADC12转换器,该转换器具有高速、通用等特点,可适用于高精度的数据采集、转换程序。将ADC12转换器应用于监控系统的数据采集中,可为系统提供高性能的采样/保持电路,有利于用户利用该电路选择多种采样方式及转换时钟周期。该监控内部模拟信号为16路,而M3P430F149芯片的外部模拟通道为8路,无法满足系统对模拟通道的要求。为此本研究采用16路多路模拟开关AD7506作为系统的主要设备,AD7506实际上是一种单集成的模拟多路复用器,该复用器含有16个通道,可利用4个地址位状态将16路输入信号转换为1路输出信号。电路连接程序为:首先将S1~S16分别连接至AD750616路输入口,其中S1~S16表示16路模拟信号;最后将A0~A3信号分别连接至P2.0~P2.3口,并将其作为通道选择控制信号。
传感器的输出信号较弱,且易受外界因素干扰。为此本研究利用传感器对数据进行采集时,需要经过放大、滤波操作后,再将采集的数据上传至M3P430F149芯片的ADC12模块,通过该模块实现数据的采集和转换。为最大限度地减小外界环境对电阻的干扰,利用I/V转换电路实现电阻分压。选用AD623作为主放大器,该放大器可提升系统的抗干扰性能。A/D转换器的输入电压为0~2.5 V,通过使用放大器,可有效避免信号饱和问题。AD623放大器的增益范围为1~1 000,可满足系统对微弱信号的采集要求。滤波电路主要由运放和RC共同组成,选用二阶压控电压源低通滤波器作为该电路的核心设备,该滤波器具有输入阻抗高、输出阻抗低等特点,在电阻和电容合适的情况下,即可得到最平幅度响应的滤波电路。将经过放大的传感器信号上传至滤波器输入端,完成滤波操作后,即可实现信号干扰的消除,最终传送至A/D转换器[5]。
2.2 开关量采集电路
由于开关量只包含0和1两种状态,可使采集电路较为简单。该电路在系统中主要负责接收数字量输入信号,并利用相应接口将该信号上传至CPU。对外部开关量信号进行接收时,需要利用光耦隔离,在电气上将输入输出的信号完全隔离,以此提升系统的抗干扰能力。CPU成功接收信号后,为判断该信号的状态,可直接对I/O接口上的数据进行读取。当电压信号成功进入开关量端子后,对该信号进行前级处理,并将处理后的信号发送至光耦器件中,有利于导通光耦器件,最后利用施密特触发器对信号进行滤波,以此实现电压信号在DI1端输出低电平;若电压信号未成功进入开关量端子,则光耦器件处于截止状态,此时电压信号在DI1端输出高电平[6]。
热风炉监控系统中主要由接触开关或继电器实现开关量的输入。但是该设备在实际运用过程中,易出现抖动或者粘连现象,该现象可直接造成采集信号出现异常。若脉冲在传输过程中遭受设备的干扰,可出现波形畸变情况。为此本研究采用施密特触发器74HC14对脉冲进行滤波,有利于最大限度地降低系统被干扰的可能性。
2.3 脉冲量采集电路
脉冲量信号实际上是一种周期变化的信号,为实现对脉冲量信号的采集,本研究设计出脉冲量采集电路。脉冲量采集电路的核心设备为M3P430F149单片机,该单片机内部包含P0-P2接口,三个接口均具有电平和沿中断的功能,在该单片机的支持下,利用两个I/O接口即可完成脉冲量信号的测量。利用单片机对信号进行采集时,可将该信号直接传输至I/O接口。为保证单片机对脉冲量信号采集的精准性,可利用施密特触发器对该信号进行整形后上传至单片机。
2.4 监控系统通信电路
当前数据采集卡与上位机ARM11处理器之间的数据通信主要通过RS485串口总线实现。RS485串口总线主要利用平衡发送机差分接收两种方式实现系统各设备之间的通信联系,具有较强的抗干扰能力及灵敏度,有利于最大限度地解决RS232协议传输距离过近的问题,被广泛应用于工业领域。当数据的传送速度控制在100 Kbit/s时,采用RS485总线可使RS232协议的通信距离达到1 200 m。
M3P430F149单片机内部包含异步串口模块,该模块含有RS232协议,为此本研究对通信模块进行设计时,采用MAX485实现RS232/RS485转换及半双工转换。利用光耦合器建立M3P430F149单片机串口信号、引脚与MAX485之间的连接。为有效避免共模电压超过RS485可承受的最大电压范围,利用光耦合器将电压信号隔离,当引脚T/R_select输出信号为低电平时,允许电压信号发送;若输出信号为高电平,允许电压信号接收。
3 工业热风炉监控系统数据采集软件设计
本研究对系统软件部分进行设计时,以上位机ARM11处理器作为数据采集的核心,利用该处理器将指令发送至M3P430F149单片机,由单片机对信号进行采集。对该单片机接收的指令进行字节规定。
(1)字节1:0xFF——启动A/D转换器;
(2)字节2:0xFE——启动开关量采集;
(3)字节3:0xFD——启动脉冲量采集[7]。
数据采集主程序流程为:若单片机接收的数据第一字节为0xFF,首先应将该字节标志为adflag=1;其次完成A/D转换机的启动,利用该转换机对数据进行采集及转换,全部操作皆完成后,通过RS485接口将采集数据上传至上位机,工业热风炉监控系统数据采集主程序流程如图2所示。
图2 工业热风炉监控系统数据采集主程序流程图
3.1 模拟量采集模块
该模块成功接收到模拟量采集指令后,为实现模拟量的采集,依次打开模拟开关的1~16路通道。按照AD7506真值表完成高低电平的输出,该过程需要利用单片机P2.0~P2.3接口。成功启动A/D转换器后,即可实现数据采集。转换结束后,对转换结果进行读取,并将读取信息存储至内存中。为提高采样数据的可靠性,采用数字滤波的方式对采样后的数据进行滤波。由于单片机系统中的RAM资源有限,为此本研究选用递推平均滤波算法在RAM中建立数据缓冲区,并按照一定顺序实现N次采样数据的存放,每完成一次数据采集,即可去除上次采集的数据,并对当前缓冲区N个数据的算数平均值进行计算,该方式有利于加快数据的处理效率。
3.2 开关量采集模块
该模块成功接收到开关量采集指令后,即可完成8路开关量的扫描,扫描完成后返回端口状态。开关量采集模块中最重要的问题是设备抖动,为有效避免系统出现误判现象,应及时去除设备抖动问题。通常情况下,采用软件延时的方法去除抖动。若开关状态出现变化,并检测到该变化由输入量引起,此时应给定时间延时,当到达延时时间时,再次对输入量状态进行检测,若输入量的状态与检测之前一致,即可确认开关量变化,开关量输入模块程序流程如图3所示[8]。
图3 开关量输入模块程序流程图
3.3 脉冲量采集模块
该模块主要由I/O的中断实现。首先在一定时间内对中断的次数进行统计,根据统计数量即可计算出脉冲的频率。脉冲频率计算完毕后,将数据上传至上位机。该电路在热风炉监控系统中主要负责对脉冲进行计数。
4 结 语
本研究为实现对热风炉内部数据的实时采集,利用数据采集卡设计出数据采集系统。该系统选用M3P430F149集成的A/D转换器作为数据采集系统核心设备,以此实现16路模拟信号、8路开关量信号以及2路脉冲信号的采集。M3P430F149单片机内部P0-P2接口均具有中断能力,可用来对脉冲量的输入频率进行精准测量,以此实现脉冲计数。为向监控系统提供分析判断依据,本研究利用串口建立单片机与上位机ARM11处理器之间的通信,单片机可将采集数据实时上传至上位机,由上位机对该项数据进行分析及处理。该系统具有成本低廉、灵敏度高等优势,具有一定实用价值。