摘要:设计一种适用于工业测量领域的温度变送器。该系统以单片机技术为核心,将 8 路 Pt100 温度传感器输出信号转变为与所测温度呈线性关系的 8 路 4~20 mA 电流信号,支持 RS485 总线,其采用的数据传输方式与硬件电路设计能将所测温度以数字信号向外输出,支持工业的局域网络。
1 引言
温度变送器主要应用于工业过程中温度参数的测量和控制,是一种不可或缺的测量设备。其工作原理是将接收到的温度信号转化为后置电路可接收并传送的标准信号或者是满足通信协议要求的信号。传统的温度变送器在需要改变量程范围时,一般通过对两个电位器进行调零和调满处理来达到相应效果[1]。但是这样做很可能会产生温度漂移现象而导致测量结果不准确。随着计算机技术的发展,利用微型计算机改造传统的测量仪器,研发更加先金的智能仪表已经成为仪表开发的新方向。本课题给出了以单片机为核心利用软测量技术实现温度变送的设计方案。
2 系统设计
系统主要由前向通道、主机电路、后向通道、通讯电路以及供电电源电路构成。系统的总体结构框图如图 1 所示。
3 电路设计
系统硬件电路是以 AT89C55 单片机为主控芯片,以 Pt100 测温金属热电阻作为温度传感器,并配合电源电路和其他外围电路组成。
3.1 前向通道
前向通道由检测电路、多路模拟开关、放大器和 A/D 转换器四部分组成。检测电路的主要作用是对来自传感器、变送器的信号进行滤波处理,同时将该非电压信号转变成电压信号。本设计采用 8 路惠斯登电桥来接收 8 路来自温度传感器的输出信号以实现检测电路的功能。
测温热电阻 Pt100 采用 3 线连接的方式接入电路,其主要优点是可以利用桥路对称平衡的特点来克服长距离传输时,由 Pt100 引线电阻引起的信号偏差、供电电源电压波动、以及桥路电阻温度漂移的影响等问题导致的误差。
CD4052 多路模拟开关的供电电源为 3~20 V,#大通道数为 4[2],设计中通过加入多路模拟开关来接收多路输入的模拟信号,并按照时分多路连接的原理,分别将信号传送至后级的电路中去,使得多路输入的模拟信号可以共用同一套后级电路,以此来降低设计成本。
放大电路采用差动放大器放大来自前级电路的双端信号。本设计采用的 ICL7135A/D 转换器是美国 INTERSIL 公司生产的一款双向积分式的 A/D 转换器,抗干扰能力强。
3.2 主机电路
AT89C55 是一种内存为 256 Byte 的 8 位单片机,有 6 个中断源和两级的优先中断级,32 根可编程 I/O 接口线,1 个 WDT 硬件定时器,工作电压 4~5.5 V,16 位定时器/计数器,可重复编程,重复次数可达 1 000 次,采用 0~24 MHz 的石英晶体元件[3]。8 位单片机足以满足要求。
3.3 后向通道
后向通道的主要作用是担任信号的输出通道,从而实现单片机对外部设备的控制。单片机处理完的数字信号需要经 D/A 转换电路处理转化为模拟信号,再经由电流转换电路将信号线性的转变为 4~20 mA 的后置电路可接收的标准电流信号输出。D/A 转换电路是由一个 8 路模拟开关 CD4051、1 个 D/A 转换器 TLC5615 以及 8 套模拟保持电路构成[4]。其中,U1 TLC5615 是一种 10 位的串行输入 D/A 转换器。
CD4051 可根据单片机的 P2.4、P2.5 和 P2.6 三个引脚的高低电平状态,使 D/A 转换的模拟电压输出到不同的保持电路中去。当三个引脚均为低电平时,TLC5615 的模拟输出电压通过 CD4051 接通 X0 通道,向输出保持电容 C1 充电。如果电容 C1 为 0.01μF 时,充电可在 10 s 内完成,当三个引脚的电平发生变化时,开关将会切换到其他的通道,此时这个输出的回路就会对电压信号起到保持的作用。D/A 转换器的输出方式为动态刷新,每 2 ms 打开一路,从 0 路到 7 路反复进行,不停止。
3.4 通信接口
通信接口的设计采用 RS485 总线。MAX485、MAX487 以及 MAX1487 是用于 RS485 总线通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器[5]。本设计中采用的 MAX487 工作在 5 V 单电源下,额定电流为 300 mA,采用半双工的通讯方式工作,负载数为 32,有 8 个引脚。实际应用时将单片机控制端 RE 与 DE 连接在一起与单片机 P1.7 引脚相连。P1.7 高电平时为发送状态,低电平时则为接收状态。
4 软件设计
根据系统结构和功能需求软件设计过程中的重点是数据采集、处理和通信服务两个部分。整机软件流程图如图 2 所示。
4.1 初始化
初始化程序仅需在开机时运行一次。系统的初始化就是将变量赋予一个默认值,再将被控制的元器件赋予成默认状态,将系统还原成一开始的状态。初始化程序主要的作用就是用来实现各种硬件的功能配置,其中包括:定时器/计数器、串行通信、中断系统、RAM 等。
4.2 检测周期的实现
根据工业上的需要,本设计将检测周期设定为 0.1 s。定时器的工作方式为方式 2,当 M0 和 M1 为 10 时,T1 和 T0 就会在方式 2 的状态下进行工作。在方式 2 的工作中,定时器/计数器为 8 位,可以自动的恢复为初始值状态,作为一种 8 位计数器,TL1 计数在溢出的时候,就会将置“1”溢出标志 TF1,同时也将 TH1 中的常数送到 TL1,此时,初始值开始重新计数。
本次设计规定从 6 开始计数,频率为 1 2 MHz,T0 的溢出周期为 250 μs,每计 250 个数就会有一次溢出,每次计数时间为 1 μs,内部 RAM 的 30H 单元中,地衣个字节记录溢出的次数,31H 单元记录时间,单位 ms。每次溢出次数达到 4 次时,31H 单元+1。8 路信号按序单好输入单片机,一个周期输入 8 次。
4.3 数据采集与数据处理
设计中用到的 9 路数据通道,其中,0 路是动态零点数据,另外的 1~8 路是温度数据。然后,要对信号进行稳零的处理,#后就是温度的计算,并且要通过 A/D 转换器来打开下一个流程的通道。
4.4通信服务
通信服务的任务是对来自网络的所有信息进行响应服务。串行通信在接到信息后,CPU 便会被迫进入中断程序中,并且执行通信服务的程序。
在通信服务程序中,必须要分析判断接收的命令是否为主机调度的命令,若不是,则要退出中断服务,若是,则根据通信协议,针对不同的命令做出相应的不同的反映。主机只能够通过从机专属的通信地址来发送命令,并且,在主机发出命令之后,要等待从机进行响应。如若本次连接超时,则主机将自动的中断本次通信,重新发送控制命令。
5 结语
基于 Pt100 和单片机的温度变送器能够实现将 8 路 Pt100 温度传感器输出的信号转变为相应的 8 路 4~20 mA 电流信号,以满足后级 DCS 等系统的应用,同时要能够支持 RS485 总线,并且能将 8 路传感器输出的信号转变为数字信号在局域网络中共享。