张守宝 盛进路 李小凤 杨万沐
(1. 重庆交通大学航运与船舶工程学院 重庆 400074; 2. 重庆交通大学交通运输学院 重庆 400074)
液货船运输过程中对温度的实时监控需求很高。IGC规则明确规定了各类液货维护系统设计的温度要求。油类货物、各种液化气和部分化学品温度过高容易挥发,无论是哪种货物挥发都会造成高额经济损失和巨大的安全隐患,尤其是对于远洋类多功能化学品船(Parcel Chemical Tanker),实现各液货舱温度实时监测更是显得极为重要[1-3]。目前部分液货船货舱的温度仍采用传统的温度计进行测量,这种方式需要人工轮流统计,工作量大且无法实时监测温度变化。还有部分货船采用由分立元件如热敏电阻等搭建的测温电路。这种电路结构较大、测温精度较低,且环境温度越高或越低,测温误差也会产生不同程度偏移[4-7],已不能满足多种货物安全温度监测需求。本文采用集成化数字温度传感器和数字信号处理芯片实现液货船多个货舱温度的同时监测,所设计的系统电路结构简单,安装极为方便,具有灵敏度高、无需A/D转换电路、测量精度高、稳定性好、测温范围大、功能设置方便等特点,能够实现液货船多货舱温度的现场和远程数字化实时监测。
系统硬件框图如图1所示。测温阵列电路采用8个数字温度传感器,每个传感器内部都有唯一64位序列号,单片机通过访问不同序列号实现对指定传感器的操作[8]。每个传感器序列号需要8个字节的存储空间,共需64 B内存用来存储传感器的地址,使用单片机内部存储是足够的。报警模块用于发出声光报警,告知船上值班人员采取相应措施进行降温处理。串口通信模块用于实现单片机与远程监控设备之间的通信,便于值班室人员实时掌握各货舱温度状况,由于是近距离通信,故将接口设计成RS232通信标准已能够满足传输距离和抗干扰要求。
图1 系统硬件结构
DS18B20封装体积小、分辨率高、工作环境适应性强,并且测温分辨率可通过设置传感器内部配置寄存器的R1和R0位的不同状态改变[9-10]。毫秒级温度转换速度足够满足液货船货舱温度监测需求。
为方便对传感器进行访问,传感器资料中其提供了一系列的存储器操作指令,单片机通过读写位/字的方式将指令送出。单片机单总线端口访问DS18B20的过程如下:
(1)初始化。通过执行传感器阵列初始化程序对所有传感器进行初始化操作,该过程以及读写位/字的过程严格依据控制时序编程。
(2)ROM操作指令。首先执行搜索ROM指令,获取各传感器序列号,然后存储每个传感器序列号,最后执行ROM匹配指令,实现对每个传感器的识别控制。
(3)数据处理。包括每个传感器温度的读取、CRC校验、显示、判断和信息传输操作。
为便于远程监控各舱室温度,设计的单片机与船舱值班房PC机之间的通信接口如图2所示。该电路主要分两部分,一部分是通信部分,另一部分是电源部分。MAX232芯片有两组独立的TTL-RS232数据转换电路,选用其中的一组。该转换电路能够在5 V电源下正常工作,使得其与单片机可共用一个电源,简化电路设计的同时又能够保障串口通信的稳定性。
图2 串口通信及电源电路
为使系统使用更为便利,利用PC机串口设计了系统电源电路,由PC机串口直接取电。采用集成稳压芯片78L05,编程时将上位机串口的4引脚和7引脚置为高电平保持不变,分别通过保护二极管接入集成稳压芯片的输入端,输出5 V直流电源,经检测输出电流在98.6 mA左右,输出电压为4.9 V,足够驱动系统正常工作,由于78L05独特的稳压特点,使得该电源稳压性能非常好。
单片机对DS18B20阵列的通信基于对某个通道DS18B20的访问,通过循环扫描和ROM匹配对指定传感器的温度进行读取、计算转换与显示等操作,温度测量子函数部分只考虑处理器与单个传感器实现通信,测量结束后,将温度值按顺序存放在Temp_h和Temp_l两个无符号字符型变量中,按下面公式转换成实际温度的整数部分,温度转换流程如图3所示。
图3 温度转换流程
主程序流程如图4,系统首先对传感器阵列以及LCD1602初始化,选用的显示器最多同时显示两行字符[11]。为减少硬件资源消耗的同时又能显示更多内容,设计通过软件控制显示模式标志位的值实现界面的切换。单片机发送搜索ROM指令(0FH)获取每个传感器的序列号,并按字节存储至单片机,然后通过判断模式标志位moshiflag的值确定显示器的显示内容。当按下设置按键,程序立即退出监控模式,进入设置模式(通过if(shezhikey==0)break;程序实现),循环扫描按键子程序,再次按下设置键,返回到监控模式,执行其他程序。
图4 系统主程序流程
Proteus环境下的仿真图如图5所示。设定每个舱室安全温度值为30 ℃,当前LCD显示的是通道2温度,值为41 ℃,由于超过了安全温度限定值,声光报警模块被启动。通信串口和系统电源部分也处于正常运行状态,表明系统能够实现多通道温度监控要求。
图5 基于Proteus仿真环境下的系统仿真
为验证系统实际测温性能,搭建了测量系统实物电路,通过模拟船舶多货舱环境温度,将8支数字温度计所测数据与测量系统所测数据在同一时刻进行对比,并将系统串口连接至上位机,实验记录了环境温度较为稳定时某时刻的8组测量数据,如表1所示,同时,上位机显示的各通道温度随时间变化曲线如图6所示。
图6 各通道温度随时间变化曲线
表1 试验数据记录
通过对比可知,系统各通道温度所测值与实际温度值之间误差不超过1 ℃,满足大多数液货船货舱温度监测需求。设计时为了简化编程,只测量和显示温度的整数部分,设计算法时将Temp_l寄存器低4位移除了,移除部分为温度的小数部分,若保留小数部分,可进一步减小测量温差。
基于对液货船货舱温度控制的关键技术研究,设计了一套具有较高技术水平的多通道货舱温度监测系统。利用分时复用技术和循环扫描技术解决了传感器阵列控制问题。仿真和试验表明该系统满足货舱温度现场实时监测和远程监控要求,是一套新型可靠的智能化货舱温度监测系统。另外,该系统具有较强的扩展性,一方面,除了通过修改程序显示温度的小数部分以提高测量精度,还可根据实际需要设置传感器的配置寄存器使系统具备更高的温度分辨率。另一方面,该系统只使用了8个温度传感器,如果加入外部存储芯片用于存储各传感器的序列号,并通过双向锁存器控制多路传感器阵列工作,可大大增加传感器的数量。