摘要:随着工业应用对信号检测与传输的要求不断提高,新型智能仪表将在市场中占有越来越重要的地位。本文在分析压力变送器基本工作原理的基础上,针对新形势下的生产要求,设计了基于MSC-51单片机的智能压力变送器的数据采集电路、看门狗电路以及接口电路。并设计了相应的数据采集算法、通信协议以及其他软件功能。
1983年,美国霍尼韦尔公司向制造工业率先推出了以单片机为核心的新一代智能型压力变送器,这标志着模拟仪表向数字化智能仪表的转变。如今,高性能单片机的推出以及通讯、微电子等相关行业的兴起,使得单片机测控仪表技术迈上了新的台阶,并广泛地应用到工业生产、科学研究、民用电气和电站运行监控仪表等各个领域。智能化仪表所具有的测量过程自动化、对测量结果的数据处理以及功能上的多样化是传统模拟式仪表无法比拟的优势。
一套完整的智能化测量控制仪表的组成可包括单片机、A/D、D/A转换接口,键盘输入接口,显示器与打印机输出接口以及通信接口和片外扩展存储器几个部分。其中单片机是智能化测量控制仪表的核心,是整套仪表的“心脏”,其性能直接决定了整套系统的功能。
1 基于MSC-51单片机的智能压力变送器
压力变送器是工业过程中重要的基础自动化设备之一,主要完成压力信号的测量和变换处理。智能式压力变送器是由压力传感器和微处理器相结构而成的。由于微处理器具有各种软件和硬件功能,因而它可以完成传统变送器难以完成的任务。所以智能式变送器降低了传感器的制造难度,并在很大程主上提高了传感器的性能。智能压力变送器工作原理如图1所示。
2 硬件电路设计
智能压力变送器的硬件电路主要包括数据采集电路设计、看门狗电路设计、总线接口及外设接口电路设计等部分,其构成如图2所示。
2.1 数据采集电路
数据采集电路由1B31,18位A/D转换器AD1170以及单片机共同构成,结构如图3所示。将一只满量程输出电压为10 mV的压力变送器接到1B31上,设定1B31的增益为500倍,输出电压范围就是0~5 V。激励电压设定为+5 V,为了能进行比率运算,这个电压还作为AD1170的基准电压,通过初始化ECAL命令可将该电压作为AD1170的满量程输入电压,再通过周期性校准使A/D转换器能跟随基准电压的变化,具有比率输出特性。由于采用了低通滤波和A/D转换技术,因此该系统具有很高的共模抑制比。
2.2 复位及运行监视电路
工业环境中的干扰大多是以窄脉冲的形式出现,而最终导致程序“跑飞”或进入“死循环”。为使这种“跑飞”的程序自动恢复,重新正常工作,一种有效的办法是采用硬件“看门狗”(Watchdog Timer)技术。应用看门狗后,若程序发生“死机”,则看门狗产生复位信号,引导单片机程序重新进入正常运行。由于MCS-51单片机内部没有集成独立的监视定时器,也就是看门狗,所以必须外接监视电路以提高系统的可靠性。看门狗电路可采用专用集成电路芯片MAX813L,如图4所示。MAX813L集成了看门狗与电压监控功能,并具有单独的人工复位功能,其引脚排列如图5所示。
2.3 总线接口电路设计
该部分电路为通信协议物理层硬件设计。其中光电隔离部分采用高光速电耦合器6N137,以适应高速串行数据通信要求,提高通信电路的抗干扰能力;接口部分采用ADM487芯片,这是一种RS-485接口芯片,如图6所示。该芯片在传输率为250kpbs的情况下可传输的最远距离为1.5KM,可完成TTL电平与RS-485电平之间的转换。采用RS-485标准是因为RS-485是现在流行的一种布网方式,其特点是实施简单方便,在很长一段时间内RS-485还将是最主要的组网方式。
2.4 V/I变换电路设计
该部分电路主要由多通道模拟开关,采样保持器及放大电路组成,具有多路转换,采样保持以及V/I变换功能。由于对输出电压等比放大较为困难,故先将数字电压信号经过DAC接口,再经过V/I变换,转换为电流量,为后续处理提供方便。V/I变换采用负载共源方案,如图7所示。
2.5 外设接口电路设计
外设接口电路主要包括显示屏、键盘、打印机等输入输出设备的电路设计,可根据总线接口的排布以及用户的需求灵活设计。
3 软件电路设计
智能压力变送器的软件部分采用MCS-51汇编语言、模块化程序设计方法,主要有监控程序模块、信号调节模块、数据采集与处理模块、信号输出模块、通信模块、键盘扫描模块等。
3.1 程序监控模块
该系统中,监控程序是控制单片机系统按预定操作方式运转的程序,是全部系统程序的基础框架,如图8所示。其主要任务是完成系统自检、初始化、处理接口命令、处理条件触发并完成显示功能。在监控程序中,为及时响应其他仪器的通信要求,应将通信功能的优先级置为最高,以下依次为定时采集数据、数据输出等。总体而言,监控程序采用优先调度型工作模式,即遵循优先级运行。
3.2 数据采集模块
在数据采集方面,该系统利用单片机强大的数据处理能力,对数据采集的过程进行优化,以确保数据的可靠性。
1)采用限幅滤波法消除较大脉冲的干扰,具体是对已滤波的采样结果Yn-1……Y1作如下处理:
其中,a为相邻两个采样值的最大允许增量,其具体数值由Y的变化速率及采样周期确定。准确的估计这两个参数以确定a值是本算法的关键。
2)采用自动校准算法稳定传感器的线性度。自动校准主要解决的是斜率问题。可分为硬件方式或软件方式,考虑到被测对象是压力这一特点,本系统采用软件方式实现。通过双字节乘/除子程序来计算系数K。由于不同的传感器的压力与转换电压关系有一定的分散性,对于实测值为X,标准值为Y,的系统,设系数为K。则K=1-Y/X,校准值=X-K*X。
3)采用自校正算法消除零点漂移的影响,以保证数据的准确性。设总的A/D转换输出为N,对应t1、t2、t3时刻的漂移电压为Vos1、Vos2、Vos3,按下式处理:
4)为更好消除脉冲干扰的影响,系统采用去极值平均滤波法,即连续采样7次,累加求和的同时找出最大值和最小值,并从累加和中减去这两个结果,最终按5个采样值求得平均值作为最终的有效值。
3.3 抗干扰软件模块
为防止程序的跑飞,除了在硬件上接入看门狗外接电路以监控程序运行,也应该同时在软件设计时加入一些抗干扰功能。可以采用冗余指令、软件陷阱、以及看门狗喂狗程序实现程序的自监控、自复位,提高程序整体的稳定性。
1)冗余指令法
该方法可以使程序在跑飞时,在执行单字节的指令后自动纳入正轨。因此应多用单字节的指令,在可以决定程序流向的重要指令前加两条NOP指令,形成指令冗余,例如:
NOP
NOP
LJMP(RET/JZ/JNZ/LCALL等指令均可)DELAY;延时子程序
2)软件陷阱
当程序位于非程序区(空闲EPROM段,表格段等)时,冗余指令法将失去作用,此时可以构建一个软件陷阱,将跑飞的程序引导到一个指定位置,并设定专门的处理程序来解决。
NOP
NOP
LJMP ERR1: 1号错误处理程序入口
4 结束语
在分析压力变送器基本工作原理的基础上,设计了一种基于MSC-51单片机的智能压力变送器。它充分利用了微处理器的运算和存储能力,可对传感器的数据进行处理,包括对测量信号的调理、数据显示、自动校正和自动补偿。设计了包括基于1831.18位A/D转换器AD1170的数据采集电路、基于MAX813L的看门狗电路以及基于ADM487的RS-485总线接口电路,并给出相应的软件设计思路,详尽的采样算法和抗干扰模块指令。