马荣泽,刘振革,李洋,梁鹏飞,纪少波*,于泽庭
1.山东大学能源与动力工程学院,山东济南 250061;2.山东技师学院,山东济南 250200;3.中船重工第七一一研究所,上海 201108
温度是过程控制系统中重要的被控变量之一。热电阻是工业中进行温度检测最常用的元件之一,反应快,时间间隔相对较小,具有较高的精度、较好的长期稳定性,测温范围广,工作范围为-200~850 ℃[1-3]可测特定部位或狭小场所的温度,对温度的调节、控制、放大等很容易进行。热电阻传感器(resistance temperature detector,RTD)基于电阻随温度的变化而改变的特性进行温度测量。铂或铜等正温度系数热电阻具有较好的稳定性、线性输出特性以及较宽的测温范围,得到广泛应用[4-5]。刘意等[6]使用 MSP430采集热电阻信号,结合遍历查表法、一次插值法和平滑滤波算法后得出温度;刘伟等[7]使用C8051F350芯片完成对热电阻信号的采集;张粉祝等[8]采用ADC0832为A/D转换器,设计了一个检测范围为0~600 ℃的温度检测报警电路。MAX31865芯片是一款将热电阻模拟信号转换为数字信号的转换器,具有集成度高、分辨率高及可靠性高等优点,还具备故障自诊断功能,适用于对热电阻信号进行处理[9]。本文中基于MAX31865数字输出转换器及单片机设计一套热电阻传感器温度采集系统,以实现温度的高精度测量,并在发动机试验台架上对该系统的稳定性进行验证。
基于热电阻传感器以及MAX31865数字输出转换器设计一套温度信号采集、 处理及通信检测系统,包括温度传感器、单片机、MAX31865数字输出转换器等,系统结构如图1所示。热电阻传感器的电阻随温度改变, 传感器信号连接至MAX31865芯片。单片机依次控制各MAX31865芯片的使能端, 实现温度
图1 系统整体结构设计
图3 单片机及周围电路
信号至数字信号的转换,基于串行外设接口(serial peripheral interface,SPI)总线,按照MAX31865传输协议得到各传感器的温度。采集系统通过RS-485通信将温度实时传给上位机,实现温度的显示。
系统的硬件部分包括热电阻处理电路、单片机及周围电路、电平转换电路和485通信电路等。本采集系统由6路电阻处理电路及其周围电路组成,可同时采集并处理6路电阻信号,使用MAX31865数字输出转换器处理热电阻模拟信号,该芯片内置15位模/数转换器,其精度可达0.5 ℃,并且具有±50 V的过压保护输入,提供可配置的热电阻及电路开路、短路故障检测、SPI兼容接口以及相关的控制逻辑电路。每路热电阻信号处理电路如图2所示。图2中PT100为铂热电阻,即0 ℃时的电阻为100 Ω。根据MAX31865芯片手册推荐,参考电阻应选择RTD 0 ℃电阻的4倍[10]。因此,PT100的参考电阻选用 400 Ω。热电阻采用三线制接线方式,为补偿导线上电阻的压降[11-12],从差分输入(RTDIN+和RTDIN-)中减去FORCE+和RTDIN+的电压,利用FORCE2引脚对电阻输入进行采样。热电阻产生的模拟信号输入至处理电路,数字输出转换器采集并处理热电阻产生的模拟信号。
分布式热电阻温度采集系统采用MC9S08DZ60单片机进行信号处理。该单片机具有8位HCS08中央处理器,最高可配置20 MHz总线时钟,支持最多32个中断/复位源,配置60 KiB Flash存储器,最大2 KiB的带电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)在线可编程内存,最多可提供53个通用I/O管脚和1个专用输入管脚,管脚和片上外围设备(定时器、串行I/O、ADC、MSCAN等)共享,以及SPI模块提供微控制单元(microcontroller unit,MCU)和外围器件间的全双工、同步和串行通信,满足装置的功能需求。
单片机及周围电路如图3所示,分为SPI通信电路、RS-485通信电路和单片机周围电路等。单片机周围电路包括蜂鸣器及液晶显示器(liquid crystal display,LCD)灯电路,通过声音及LCD灯的亮灭状态可判断系统工作状态及故障情况。
由于热电阻处理电路采用的MAX31865芯片的工作电压为3.3 V,故需将5 V电源电压转换为3.3 V。SN74LVC4245A具有三态输出的8路总线收发器和5.5 V—3.3 V双电源电平移位器。芯片分为A和B 2组,一组输入,一组输出。其中A组支持1.5~5.5 V电压,B组支持1.5~3.6 V电压,A组供电电压大于B组。该芯片可实现5.5 V—3.3 V的电平转换,能够通过程序控制引脚实现转换方向的反转,电平转换电路如图4所示。74LVC4245的电平移位在其内部进行,双电源能保证两边端口的输出摆幅都能达到满电源幅值[13-14],并且有很好的噪声抑制性能[15-16]。
a)连接SCK及CS的SN74LVC4245A电路 b) 连接SDO的SN74LVC4245A电路
图5 RS-485通信电路
为了便于热电阻温度采集系统与上位机或其他系统关联,通过通信方式传递数据;考虑本系统对通信距离有一定要求,所以采用RS-485通信模块,实现热电阻温度采集模块与上位机或其他系统之间的数据传输,RS-485是由美国电子工业协会制定并发布的串行数据通信接口标准,具有传输距离长、速度高、电平兼容性好、使用灵活方便、可靠性高等优点[17-18],数据传输速率最高达到10 MB/s,但仅在距离较小时可实现最大传输速率,当传输距离增大速率将随之减小[19]。RS-485通信电路如图5所示,图5a)为双通道数字隔离器及周围电路,用于隔离收发信号;图5b)为驱动器收发器集成芯片及周围电路;图5c)为光电耦合器及周围电路,用于隔离对RS-485通信电路的控制信号。通信电路接口采用的是差分接收器和平衡驱动器组合的方式,抗共模干扰能力较强。
热电阻在测量温度时接线方式有二线制、三线制和四线制[20],本系统中热电阻采用三线制接线方式。在程序中配置MAX31865各寄存器的值,在进行温度转换时系统可通过向配置寄存器D7位写1使能VBIAS。配置寄存器D6位为1时选择自动(连续)转换模式时,VBIAS保持有效状态;系统向该位写入0,退出自动转换模式,进入“常闭”模式,该模式下可发送单次转换命令。 由于使用三线RTD连接,配置寄存器D4位为1。向D5、D3和D2位为0的同时向故障状态清零(D1)位写入1,将使故障寄存器的全部故障状态位(D[7:2])清零。
图6 热电阻信号采集流程图
热电阻输入采集模块采用MAX31865芯片内部的15位ADC进行模数转换,转换得到的数字信号存放在两个8位寄存器中,高8位地址为0x01,低8位地址为0x02,其中低8位寄存器的最低位D0位为错误标志位。热电阻信号采集流程图如图6所示,转换模块在操作状态下采集模拟信号,通过使能片选信号(chip select,CS)来选择某个通道,随后通过程序由单片机向MAX31865芯片发送读寄存器的指令,转换芯片收到指令后开始读取热电阻寄存器中存储的数值,若读取到低8位寄存器的D0故障位置位时,该通道故障,则将故障寄存器置位后将故障寄存器数值发送至单片机;若无故障,则将处理后的数字信号通过SPI发送传至单片机,由单片机进行计算得到当前热电阻所测温度,该通道热电阻信号采集结束。计算得到的温度可通过RS-485通信模块上传至上位机,由上位机做进一步的数据分析。
铂热电阻的电阻与温度的关系可用Callendar-Van Dusen方程表示[21]为:
R(t)=R0(1+at+bt2+c(t-100)t3),
(1)
式中:t为温度;R(t)为温度t时热电阻的电阻;R0为t=0 ℃时热电阻的电阻;a、b、c为系数,其中a=3.908 30×10-3,b=-5.775 00×10-7,当-200 ℃≤t≤ 0 ℃,时c=-4.183 01×10-12;当0 ℃ ≤t≤ 850 ℃时,c= 0。
在RTD的电阻已知且电阻特性定义良好的情况下,可通过式(1)确定温度。
MAX31865芯片可实现热电阻或电路连接故障的检测,若在采集及处理信号过程中出现故障,则系统会停止工作并将故障信息一并发送至单片机,故障检测流程图如图7所示。
a)始终激活故障检测 b)每次转换故障检测
芯片在任意时间始终激活对FORCE+、FORCE2、RTDIN+、RTDIN-或FORCE-引脚的电压检测,具有高达±50 V的输入电压保护。由图6a)可知,在任意时间点检测到发生过压(大于VDD)或欠压(小于GND1),开关开路,故障状态寄存器的D2置位,模数转换(analog to digital converter,ADC)中止数据转换更新,直到故障解除后恢复转换。芯片在每次进行ADC转换时对检测结果进行检测,由图6b)可知,ADC启动转换后执行对模拟信号的转换,在检测到转换数据大于或等于转换结果上限时将故障状态寄存器的D7置位,小于或等于转换结果下限时将故障状态寄存器的D6置位,所有故障信息在LSB寄存器D0置位后将信息传输给单片机。
系统通电后,单片机首先完成系统初始化,包括时钟初始化、定时器初始化、I/O口初始化等;系统按照程序设定完成初始化后,进入正常工作模式。单片机依次使能各通道的CS信号,通过SPI通信从MAX31865数字输出转换器得到温度数据,并通过RS-485通信方式将各路温度数据发送至上位机,实现上位机的温度显示及存储等操作。
在恒温油槽中对该分布式热电阻温度采集系统进行标定,在20~120 ℃,每隔20 ℃对该温度采集系统进行标定。此次标定中,采用的恒温油槽适用温度范围为(室温+10 ℃)~300 ℃,温度波动范围为±0.05 ℃。使用所设计的分布式热电阻温度采集系统,在各标定温度下,使用各通道进行测量,得到各标定点温度下6个通道的温度如表1所示。由表1可知,各标定点工况下,该系统各测试通道的最大温度偏差均在0.5 ℃以内,系统各通道一致性较好。
表1 各标定点温度下6个通道的温度 ℃
标准温度通道1通道2通道3通道4通道5通道62019.820.220.120.020.219.94040.339.940.139.739.640.26060.260.059.960.059.760.08080.180.180.080.280.280.0100100.0100.3100.3100.0100.3100.2120120.4120.2120.0120.3120.5120.3
采用该测试系统对某公司生产的140柴油机进行性能测试试验,发动机转速为2100 r/min,扭矩不同时,分布式温度采集系统同时采集主油道机油温度、增压器回油温度、油冷前机油温度和油冷后机油温度,如表2所示。
表2 柴油机各部位温度采集数据 ℃
图8 柴油机各部位温度随扭矩的变化曲线
柴油机各部位温度随扭矩的变化曲线如图8所示。在研究所用工况下,由图8可知,随着扭矩的增加,增压器回油温度上升幅度最大,当扭矩由500 N·m增至2000 N·m时,温度上升约10 ℃;上升幅度最小的是主油道机油温度。
整个测试过程中,系统可以长时间稳定运行,可以实现高精度的温度测量,满足工业领域的温度采集要求。
1)基于单片机和MAX31865数字转换器设计了一套热电阻温度信号采集系统,系统具备六路热电阻信号采集、处理及通信等功能。
2)单片机依次控制各MAX31865芯片的使能端,实现温度信号至数字信号的转换,基于SPI总线按照MAX31865传输协议得到各传感器的温度。
3)采用该系统在发动机台架上,测量柴油机各处机油温度,结果表明,本系统工作稳定可靠,满足台架测试的要求。