带式输送机本质安全型红外测温仪
2021-01-29张立东苗长云厉振宇
张立东,苗长云,厉振宇,刘 意
(天津工业大学 电子与信息工程学院,天津 300387)
0 引言
带式输送机是一种现代化生产中的连续运输设备,具有运量大、运距远、运费低、效率高、能耗小、运行平稳、装卸方便、适合于散料运输等优点,与汽车、火车一起成为三大主力工业运输工具,已广泛应用于煤炭、矿山、港口、电力、冶金、化工等领域[1]。温度是带式输送机的一个重要指标,通过温度检测能够检测带式输送机的托辊、电机、滚筒等故障,GB/T 3467.9-2017《智慧矿山信息系统通用技术规范》[2]规定对带式输送机温度进行检测,带式输送机综合保护系统中的八大保护装置也包括温度保护。目前带式输送机的测温仪主要采用PT100 传感器进行检测,其测温范围窄、分辨率低、准确性差;接触式检测,容易受到外力而损坏,可靠性差。
本文提出了一种带式输送机本质安全型红外测温仪设计方案,采用MLX90614 红外传感器[3]和STM32F103C8T6 处理器设计了其硬件;在Keil 5.14开发平台上,采用C 语言设计了其软件。
1 红外测温仪设计方案
图1 红外测温仪组成框图Fig.1 Infrared thermometer composition block diagram
红外测温仪由处理器电路、温度传感器电路、频率量转换电路、4~20 mA 转换电路、数码管显示电路、报警电路、激光定位电路、按键及指示灯电路、数据存储电路、串口通信电路、程序下载接口电路和供电电路组成,其组成框图如图1所示[4]。的温度数据转换成频率量和4~20 mA 电流输出,并通过数码管显示电路显示出来。激光定位电路用来辅助使用者来确定温度传感器采集温度数据的准确位置。使用者可通过按键及指示灯电路设置高低温报警阈值及发射率等参数,设置完成后,参数保存在数据存储电路中。当监测到被测物体的温度超出报警阈值会通过报警电路进行报警。
2 红外测温仪硬件电路设计
温度传感器电路完成温度采集功能;频率量转换电路将采集到的温度数据转换成频率量输出;4~20 mA 转换电路将采集到的温度数据转换成4~20 mA 电流信号输出;数码管显示电路将采集到的温度数据显示出来;报警电路完成报警功能;激光定位电路用来给使用者指示被测物体的准确位置;按键电路完成参数设置功能;数据存储电路完成发射率等数据存储功能;串口通信电路用作调试;程序下载电路将程序下载到处理器电路中;供电电路为整个电路供电;处理器电路完成数据接收、处理及各部分电路驱动功能。
红外测温仪用来实现固定物体的温度检测。物体的红外辐射能量的大小及其按波长的分布与它的表面温度有着十分密切的关系。因此,通过对物体自身辐射的红外能量的测量,便能准确测量它的表面温度。MLX90614 红外传感器电路用来采集固定物体红外能量,处理器电路驱动温度传感器电路,将采集到
2.1 温度传感器电路设计
温度传感器选用美国迈来芯公司的MLX90614,采集温度范围为-70℃~380℃,精度为0.14℃,辐射角度为10°,SMBUS 总线输出[5]。电路图如图2所示。
2.2 处理器电路设计
核心处理器选用意法半导体公司的STM32F103C8T6,采用Cortex M3 内核,主频高达72 MHz,功耗低,适合做本质安全电路设计。电路图如图3所示。
2.3 本质安全型电源电路设计
本质安全型电源是指符合GB3836.1-2010 爆炸性环境第1 部分:设备通用要求[6]和GB3836.4-2010 爆炸性环境第4 部分:由本质安全型“i”保护的设备[7]中的相关规定,可以在爆炸性气体环境中使用。为符合本质安全型电路要求,本设计采用美国凌力尔特公司的LT4356CS-1 芯片,该芯片具有过流和过压保护功能,且过流和过压保护值可调节,采用双重化设计。该电源通过了国家煤矿防爆安全产品质量监督检验中心的检验,并取得了检验报告、防爆证和安全标志证书。该电源的部分电路如图4所示。
图2 温度传感器电路Fig.2 Temperature sensor circuit
图3 处理器电路Fig.3 Processor circuit
图4 本质安全型电源电路Fig.4 Intrinsically safe power circuit
2.4 频率量转换电路设计
频率量转换是在核心处理器中完成的,外围驱动电路采用飞利浦公司的HEF4093BT,该芯片采用CMOS 工艺,输出高低电平接近电源电压或地电位,对于外部接口电路来说,兼容性更好;每个输入引脚内部内置一个施密特触发器,输入信号的抗干扰能力更强。电路图如图5所示。
图5 频率量转换电路Fig.5 Frequency conversion circuit
2.5 4~20 mA 转换电路设计
4~20 mA 转换电路采用ADI 公司的AD421,该芯片将接收到的数字信号转换成模拟信号[8],并完成模拟信号到4~20 mA 电流环信号的转换。电路图如图6所示。
图6 4~20 mA 转换电路Fig.6 4-20 mA conversion circuit
2.6 数码管显示电路设计
数码管显示电路选用4 位数码管显示3 位数字和1 位符号位,驱动芯片采用2 片74HC595 串联,该电路具有成本低廉,易于驱动的特点。
2.7 报警电路设计
报警电路将来自核心处理器的报警信号通过达林顿管放大输出驱动蜂鸣器。
2.8 激光定位电路设计
激光定位电路采用3 V 激光二极管,主要作用在于指示被测位置,因此设计将激光二极管光线与温度传感器方向尽量靠近且平行。
2.9 按键及指示灯电路设计
按键电路用于设置发射率、高低温报警阈值等参数,指示灯电路用于指示正在设置哪个参数。
2.10 数据存储电路设计
数据存储电路用于存储高低温报警阈值,发射率等信息,采用AT24C02,驱动简单,成本低廉。
2.11 串口通信电路设计
串口通信电路主要用于调试及后期维护,选用MAX3232,电路简单,成本低廉。
2.12 程序下载电路设计
程序下载电路设计为SWD 接口,四线下载,节省电路板空间。
2.13 供电电路设计
系统供电电路选用MPS 公司的MP2259,开关频率1.4 MHz,输出电流1 A,采用SOT23-5 封装,体积小,并且由于工作频率较高,输出纹波小,外部电感和电容的体积也较小,节省了电路板空间。
3 红外测温仪软件设计
测温仪软件设计是在Keil 5.14 开发平台上进行的,使用语言为C 语言。系统软件整体设计思路是这样的:主程序采用自顶向下设计方法,首先完成各个模块初始化及中断初始化,然后循环执行温度传感器MLX90614 读出程序和设置发射率及高低温报警阈值程序,而各个模块子程序是通过中断方式得到执行。图7 表示了主程序的设计流程:程序一开始进行中断初始化和各模块初始化,接着进入循环,在循环中依次执行读出高低温报警阈值和温度报警值,计算要显示的温度数据、要输出的频率量及电流值数据,最后调用按键扫描子程序。在程序执行的过程中,如果有按键按下,则进入按键中断服务程序进行处理。
3.1 温度传感器数据采集模块设计
由于温度传感器MLX90614 通信接口为SMBUS,所以首先设计SMBUS 底层驱动程序,然后根据MLX90614 数据手册时序图设计顶层程序,主要分为4个函数:MLX90614 初始化函数,MLX90614 读函数,MLX90614 写函数,MLX90614 数据转换函数。
3.2 数码管显示模块设计
由于数码管驱动采用2 片74HC595 串联,所以驱动数码管也就是驱动74HC595。74HC595 为数据移位寄存器,串行输入,并行输出。程序分为3 个子程序:数码管驱动I/O 初始化函数,595 输入函数,595输出函数。
图7 主程序流程图Fig.7 Main program flow chart
3.3 按键输入模块设计
按键扫描子程序采用有限状态机方法实现,分为没有任何按键按下状态、按键按下确认状态、按键短按下状态、按键长按下状态,其状态转换如图8所示。
图8 状态转换图Fig.8 State transition diagram
3.4 数据存储模块设计
数据存储子程序分为IIC 底层驱动和芯片驱动。底层驱动包括IIC 初始化、产生起始信号,产生停止信号、等待应答信号、产生应答信号、产生非应答信号、发送一个字节、接收一个字节等几个函数。芯片驱动包括:芯片初始化、芯片检测、读出一个字节、写入一个字节、读出N个字节、写入N个字节、从指定地址读出指定的字节数、写入到指定地址指定的字节数等几个函数。
3.5 串口通讯模块设计
串口通讯子程序包括串口初始化、串口发送和串口接收3 个子程序。
3.6 频率转换模块设计
由于读出的温度数据为数字量,所以设计公式将数字量转换成频率量,其公式如下:
式中:f为频率,DATA 为16 位温度数值。
3.7 4~20 mA 转换模块设计
想要将温度数据转换成4~20 mA 的电流信号,首先应该将温度传感器采集到的数值转换成AD421输入范围内的数值,设计的公式如下所示,然后只需按照AD421 的数据手册写出驱动程序即可,共有3个信号需要驱动:时钟、锁存、数据,程序比较简单,不再详述。
其中dac_input_data 为AD421 输入数值,DATA为温度传感器采集到的数值。
3.8 定时器模块设计
考虑到各个模块实时响应的需求,主程序采用中断的方式,因而需要定时器来调度。本设计用到了3个定时器:定时器2、定时器3 和定时器4。定时器2负责周期性调用显示子程序、定时器3 负责周期性调用报警子程序,定时器4 负责周期性调用按键子程序。优先级顺序为:定时器2>定时器3>定时器4。
4 实验结果及分析
通过对测温仪的实验与调试,分别测试各模块的功能实现情况。利用示波器及Keil 5 开发平台自带的逻辑分析仪进行分析,各模块均可实现相应的功能。
4.1 温度传感器数据采集模块验证
首先发送SLA 地址,然后判断接收到的应答信息,如果应答为非应答信号,则发送停止位,并转到程序起始处重新执行,否则继续向下执行。判断流程同上。接着发送SLA+1,判断流程同上。接下来按顺序读取数据低字节和高字节,并存入预先定义好的缓冲区寄存器。再接下来读取PEC 码(PEC 码为一种CRC-8 校验码),并根据多项式X8+X2+X+1,计算出结果,与读取到的PEC 码进行比较。如果相同,则表示读到的数据正确,否则错误,丢弃数据,并返回程序起始位置重新读取数据。示波器采集到的时序波形如图9示。煤矿井下输送带宽度一般为0.8~2.4 m之间,测温仪与被测物体之间的安装示意图如图10所示,可以看到,温度传感器安装在距离电机3 m 处,就可以使测温仪的目标视场内全部为被测电机,从而保证了测温的准确性。需要注意的是,煤矿井下电机的材质一般为铸铁,发射率在0.6~0.95 之间,需要设置正确的发射率,才能保证测温的准确度。测量到的煤矿井下带式输送机电机温度与实际电机温度对比如图11所示。
图9 示波器采集的温度传感器数据采集模块时序信号Fig.9 Time sequence signal of temperature sensor data acquisition module collected by oscilloscope
图10 测温仪与被测物体之间的安装示意图Fig.10 Installation diagram between the thermometer and the object to be measured
4.2 频率量转换模块验证
频率量转换模块将-20℃~380℃的温度值转换成200~1000 Hz 的标准频率量信号输出,图12 展示了温度值、理论上频率量输出值、实测频率量输出值对应关系。
4.3 4~20 mA 转换模块验证
4~20 mA 转换模块将-20℃~380℃的温度值转换成4~20 mA 标准电流环信号输出,十六进制温度值与输出电流环信号对比在AD421 数据手册中可以查到,如图13(a)所示。实际测得的温度值与4~20 mA电流输出如图13(b)所示。
图11 测温仪测量温度与电机表面实际温度对比Fig.11 The temperature measured by the thermometer is compared with the actual temperature of the motor surface
图12 频率量输出值与温度值对应关系Fig.12 Correspondence between frequency output values and temperature values
图13 温度值与4~20 mA 电流输出对比Fig.13 Comparison of temperature value with 4-20 mA current output
4.4 报警模块验证
报警模块在温度低于低温报警阈值,或者温度高于高温报警阈值时报警[10],其报警信号为周期4 s 的方波,示波器采集到的报警信号波形如图14所示。
图14 示波器采集到的报警信号Fig.14 Alarm signal collected by oscilloscope
4.5 按键设置模块验证
按键设置模块实现发射率的设置以及高低温报警阈值的设置。可以在任何时候按下MENU 键,然后根据实际情况按下UP 或DOWN 键,依次设置低温报警阈值、高温报警阈值、发射率,每次设置完按OK 键退出。程序可以实现长按UP/DOWN 键快速调整数值功能。3 个参数都设置完成后自动进行测温。实验结果如图15所示。
图15 按键设置参数实验结果Fig.15 Key to set parameters experimental results
5 结束语
本文研制的本质安全型红外测温仪采用MLX90614 红外传感器和STM32F103C8T6 处理器设计了其硬件;在Keil 5.14 开发平台上,采用C 语言设计了其软件,能够将测量温度显示在高亮度数码管上,并以频率量和4~20 mA 电流信号输出。该测温仪外壳与MLX90614 之间放置一层隔热棉,以保证MLX90614 感温准确,MLX90614 辐射角度为10°,覆盖物体面积更小,使测温准确度得到了保证,测温范围宽-20℃~380℃,分辨率高,测温准确,温度测量精度为±0.5℃;非接触测量,不易损坏,可靠性高。