摘要:针对矿用压力变送器采集值易受环境影响而产生异常值,设计了一种抗干扰能力强的软件方案,介绍了软件设计流程。把采集到的压力信号转换为电信号,通过A/D采样电路,将采样模拟信号通过选定的定斜率直线分段分割,再通过选定的中位值平均滤波算法进行软件滤波优化,对采样芯片采集到的A/D值进行换算处理,#后将这些值转换为代码字符串进行通信传输,此算法在实际应用中取得了良好的效果。
引言
矿用压力变送器现场使用中需要安装在不同口径的管道上面,用不同的量程对管道里面的液体或气体进行压力的采集测试,在对压力采集的过程中,三畅变送器会受到诸如电磁、环境温度、腐蚀、振动、冲击等因素的影响,从而使变送器采集值产生误差,例如零点飘逸、满刻度飘逸等,如何避免或降低这些误差的产生,这个关键的问题,就需要用不同方式的滤波和嵌入式软件程序在算法上进行处理,从而保证压力变送器采集值的正确性。矿用压力变送器抗干扰软件设计,对3种软件滤波算法进行了对比,通过对比采用了中位值平均滤波算法,并阐述和讲解了软件设计中的RS485通信协议规约和系统的通信流程。
1 压力变送器A/D转换
A/D转换是通过一定的电路将采集到的模拟量信号转变为数字量信号并进行存储的一种电路转换方式。A/D转换技术是现实各种模拟信号通向数字shijie的桥梁,作为将模拟信号转换成数字信号的A/D有积分、逐次逼近、并行等几种方式可以采取。
本文所研究的压力变送器A/D采样转换是通过分段的方式将一定范围内的电压值所对应的压力值,按照线性关系,以212的计数方式对采样的电压0.5~4.5V信号进行分割分段处理,然后转换为数字量,进而存储在12位的寄存器中,等待CPU对数据的随时调用。对电压采样信号的A/D值如何进行分割分段如图1所示。
2 压力变送器滤波处理
在压力变送器进行A/D采样转换过程中,会受到外界不同脉冲信号对其采样的干扰,即造成压力采样值出现不精que甚至计数错误。所以,对不正常的干扰信号进行滤波很有必要。信号滤波包括硬件滤波和软件滤波2种方式。硬件滤波一般采用LC谐振电路或者RC网络作为滤波器件,硬件滤波一般对异性波进行过滤,而对同频率同幅值周期不一致的难以过滤去除,那么此时采用数字滤波就会很好地处理这种情况。
数字滤波就是通过一定的计算或判断程序减少干扰信号在有用信号中的比重,因此它实际上是一个软件程序滤波,常用的滤波方式有算术平均值滤波法、限幅滤波、中位值平均滤波法、低通滤波、高通滤波等,通过信号滤波以及软件程序算法对采样信号的处理,可以把正确的采样值存储在寄存器中,等待核心CPU对其调用。以下重点对3种滤波法进行详细讲述。
2.1 算术平均值滤波法
算术平均值滤波算法其流程为:采样值进入中断或者查询,然后把采到的A/D值放入缓存或寄存器Buffer,从第1次计数累计采样次数,退出中断或者查询;然后再进入下一次循环,等累计采样次数达到要求时,此轮采样结束;#后把采样值进行算数平均计算,从而得出一个采样实时数据。其采样存储一次数据流程如图2所示。
采样M次完成后,程序就对所采样的值进行算术平均数据计算,M次数据累加和得出数据SUM,然后再进行M次算术平均值计算,#后得出一个采样周期的算术平均值Vale,其算法主要代码如下:
此算法适用于对一般具有随机干扰的信号进行滤波,采集到的信号会在某一数值范围附近上下波动,但是对于测量速度较慢或要求数据计算速度较快的实时控制不太适用,并且这种算法比较浪费RAM。
2.2 限幅滤波
限幅滤波算法流程:先确定2次采样允许的#大偏差值(设为D),每次检测到新值时进行判断。先把第1次的采样值进行存储,每次检测到新值就与上次的值相减,如果差值≤D,则此次值有效,如果差值>D则此次值无效,丢弃此次值,用上次采样值代替本次值。其滤波算法流程如图3所示。
限幅滤波算法的主要代码如下:
此算法能有效克服因偶然因素引起的脉冲干扰,但是无法抑制那种周期性的干扰,平滑度较差。
2.3 中位值平均滤波法
中位值平均滤波算法的流程为:按照平均算术滤波算法的流程,连续采样M个数据,分别确定M个数据中的#大值和#小值,然后丢弃#大值和#小值,再计算M-2个数据的算术平均值,把此采样周期内的值放入寄存器,以供随时进行调用。中位值平均算法流程如图4所示。
中位值平均滤波算法的主要代码如下:
此算法可去除偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差,但是测量速度较慢,和算术平均滤波法一样,比较占用RAM空间。
矿用压力变送器的采样电压信号变化比较缓慢,信号跃变较小,采用16位RAM寄存器,采样100次的A/D值有足够的存储空间,且采样#终计算值能达到变送器的计算精度。经过以上3种算法的比较,#终筛选采用中位值平均滤波算法作为压力变送器的#佳算法。
3 数据通信传输
压力变送器在进行滤波采样后,因为没有直接的数据显示,所以它还需要把采样数据进行处理,转换为RS485传输的字符串或者频率信号进行外部输出。且RS485具有较好的噪声抑制能力、较快的数据传输速率及较高的可靠性等优点,制定RS485字符串通信规约后,三畅变送器才能与其他设备进行正常的数字通信传输。RS485通信规约见表1和表2,就协议的规定做了详细解释。
RS485与其他通设备通信的流程如图5所示。压力变送器经过以上通信协议的规约,就可以把滤波算法处理后的采样值进行编码处理,然后通过RS485总线方式和其他外接设备进行通信传输。
4 应用效果
压力变送器经过开发和算法的抗干扰的优化,以及数字化的通信方式,所采取的一系列措施,使三畅压力变送器在实际的使用当中取得了不错的效果,得到了广大客户认可,其中实际使用连接模拟图和变送器数据采集中心站软件界面如图6、图7所示。
5 结语
压力变送器A/D值采样100次以及进行中位值平均滤波算法完成一个周期,所需要的时间在2ms左右,A/D采样精度能达到1.5‰,能完全满足整机计算出的压力值精度为3.0‰的要求。
通过对压力变送器滤波算法的详细分析,和RS485通信协议规约及与其他通信设备的正常通信,这种矿用压力变送器的软件设计,很好地解决了变送器出现异常值以及通信不稳定抗干扰能力差的问题,在淮北矿业集团、桃园矿、张集矿等的广泛应用可知,矿用压力变送器取得了良好的效果。