基于STM32 的钢厂烟气温度与压力监测系统设计

2015-05-27 13:17顾文磊苏义鑫钟凯祥
关键词:钢厂子程序烟气

顾文磊,徐 奎,苏义鑫,钟凯祥

(1.武汉理工大学 自动化学院,湖北 武汉430070;2.中核武汉核电运行技术股份有限公司,湖北 武汉430223)

烟气连续排放监测系统(CEMS)是为连续监测烟气的排放而设计的系统,主要由烟尘监测子系统、烟气排放参数监测子系统和数据采集与处理分析子系统等组成[1]。

近年来,工业发达国家中,钢厂烟气连续排放监测系统发展很快,并进行了工业化生产。我国烟气连续排放监测系统最早是从日本引进的,所引进的烟气连续监测系统大多安装在合资、外商独资和华能系统的电厂[2]。但国外进口的烟气连续排放监测系统价格昂贵,性价比不高,并不适合在我国大面积推广使用。

目前,我国钢厂烟气连续排放监测系统还处于研究阶段,钢厂烟气连续排放监测系统产业主要集中于中低端产品[3]。很多烟气连续排放监测系统不仅存在准确度低、成本较高、结构复杂和易出故障等缺点[4-5],而且大部分烟气连续排放监测系统的供电部分采用单电源供电模式,供电系统的可靠性不高[6]。这些烟气连续排放监测系统不能有效地适应恶劣的钢铁生产环境。

针对以上不足,结合HJ/T76 -2007 标准[7]和新兴3G 技术在工程领域中的应用[8-10],运用高性能微控制器STM32 进行钢厂烟气温度与压力监测系统的设计,实现烟气温度与压力的数据采集、数据远传、数据存储和数据显示等功能,同时系统留有充裕扩展端口,方便系统扩展气体参数采集、湿度采集等功能。

1 系统结构和工作原理

1.1 系统结构

基于STM32 的钢厂烟气温度与压力监测系统主要由温度传感器模块、压力传感器模块、存储显示模块、3G 模块、双电源模块和多用串口模块等组成。系统结构图如图1 所示。

图1 钢厂烟气温度与压力监测系统结构图

系统选用STM32F103VET6 作为主控芯片,其时钟频率高达72 MHz,能实现高端快速运算,可以有效实现快速数据处理(信号的采集、存储、显示和发送等)。高速翻转的GPIO 和5 个USART 为系统运行以及系统间通信提供了极大的方便;快速双12 位精度ADC 非常适用于钢厂烟气温度与压力数据的快速采集和处理;12 通道DMA 为ADC 运行和SD 卡存储提供了快速数据“搬运”通道;SDIO 为SD 卡运用DMA 和Fatfs 系统进行数据块的读写提供了基础,使钢厂现场数据采集得以实现。

1.2 工作原理

钢厂烟气温度与压力监测系统的主要任务是对钢厂排放的烟气温度与压力进行实时采集、远传、存储和显示。通过温度传感器和压力传感器对烟气温度、环境温度、烟气压力和大气压力等参数进行采集,并通过调理电路的处理以电压信号传给主控制器STM32F103VET6,其内置的12 位ADC 将采集到的电压信号转化成数字量,及时通过3G 无线传输模块将生产现场采集到的数据有效地传送到控制室,通过人性化的上位机界面将数据进行显示,方便工作人员对生产现场进行监测。同时将数据存储到现场SD 卡中,防止出现意外事故而造成数据丢失,通过现场的LCD 显示采集到的数据,便于现场工作人员进行实时监督。

2 系统硬件设计

2.1 双电源设计

钢厂烟气温度与压力监测系统采用双电源供电,即电网与锂电池双电源无缝切换供电,确保系统能够在电网断电时即时地自动切换电源,从而保证系统全天候、无间断地工作运行。双电源拓扑结构图如图2 所示。

图2 双电源拓扑结构图

正常工作时,系统由220 V 电网经过开关电源进行供电,同时给储能电容进行充电。当电网断电时,高灵敏度继电器G6E-134P-US 的常闭开关自动打开,锂电池为系统供电。在高灵敏度继电器进行开关切换的2.9 ms 内,储能电容进行放电,确保系统无缝切换供电。锂电池供电时会有电能损耗,当电网正常供电时,电网必须对锂电池进行充电,故在系统中设计了锂电池充电模块。

2.2 温度传感器模块设计

HJ/T76 - 2007 标准规定烟气温度测量由CEMS 配置的热电偶或热电阻温度传感器连续测定,示值偏差为±3 ℃,烟气温度小于260 ℃。通过查阅相关资料可知,钢厂烟气温度大约为0 ~300 ℃,而K 型热电偶可以直接测量0 ~1 300 ℃范围的气体介质温度。由于K 型热电偶线性度好,热电动势较大,灵敏度高,稳定性和均匀性较好,抗氧化性能强,价格便宜且测温范围符合生产要求,因此在钢厂烟气温度与压力监测系统中,选择K 型热电偶进行生产现场烟气温度的测量。鉴于K 型热电偶需要冷端补偿,该系统设计了一种比较实用有效的热电偶测温电路。热电偶测温电路结构图如图3 所示。

图3 热电偶测温电路结构图

同时,为了实时监测基于STM32 的钢厂烟气温度与压力监测系统的主体部分温度,该系统采用DS18B20 进行环境温度的测量。

2.3 压力传感器模块设计

HJ/T76-2007 标准规定烟气静压:测量范围为0 ~4 kPa(G),测量精度为±3%;标准规定大气压力:测量范围为0 ~120 kPa(A),测量精度为±2%。

钢厂烟气温度与压力监测系统使用三路基于NPC -1220 的压力监测模块进行烟气压力的测量。系统放大电路采用高精度仪表放大器AD623。烟气压力监测模块结构图如图4 所示。

图4 烟气压力监测模块结构图

钢厂烟气温度与压力监测系统中的压力监测模块使用MPXHZ6115A 进行大气压力的监测。

2.4 串口模块设计

由于在钢铁生产过程中,钢厂烟气温度与压力监测系统需要与钢厂中其他系统,如熔炉系统和警报系统、安保系统和消防系统等进行通信,这就要求钢厂烟气温度与压力监测系统的适应性强。该系统将串口通过硬件设置成3 种电平接口(RS232、RS485、TTL),通过跳线可以很方便地选择不同的电平接口,扩大系统的应用范围。

2.5 3G 模块设计

在系统中,3G 传输模块基于西门子的MC55和ATmega128 单片机设计。MC55 模块接口包括电源接口、SIM 卡接口和USART 接口,为集成3G模块提供了丰富的控制接口资源。由于该系统不需要音频接口,因此MC55 模块的数据通信主要是通过端口TXD0 与TXD、RXD0 与RXD 之间的数据传输来完成。

MC55 电源引脚有5 个,可以直接连接到外部4.2V 电源上。MC55 模块上的引脚IGT 主要是用于复位。同时在MC55 上还有一个SIM 接口,用于连接到外部的SIM 卡座。3G 模块拓扑结构图如图5 所示。

图5 3G 模块拓扑结构图

3 系统软件设计

3.1 主程序设计

系统程序由主程序、中断程序、显示子程序、SD 卡存储子程序、串口子程序和3G 模块子程序等组成。

主程序主要完成变量的初始化、STM32 外设时钟的开启、I/O 口的初始化,以及其他各功能模块的初始化(如串口、ADC 和SDIO)。变量初始化主要是定义一些标识位,为程序执行提供方便,同时定义一些程序中需要用到的变量,如温度采集程序中的温度值变量、SD 中的地址变量等。由于STM32 是低功耗的设计,在没有开时钟之前,外设的时钟是关闭的,因此在使用外设时,要首先开启相应的时钟。I/O 口的配置为STM32 的正常准确运行提供最基本的保障;USART 的作用有两个,一是与3G 模块通信,二是作为系统板的调试口使用;ADC 是数据采集的重要保证;SDIO 与DMA、Fatfs 文件系统配合来实现SD 卡的读写。

完成系统初始化后,主程序进入while(1)死循环。程序循环查询全局变量Flag的值,如果Flag=1,说明此次数据采集完毕并且程序进入中断,程序对Flag进行清零操作,并将采集到的数据进行更新;如果Flag=0,则依次调用显示子程序、SD 卡存储子程序、串口子程序,以及3G 模块子程序,将压力值和温度值显示在现场液晶屏上,同时将数据实时地存储到现场SD 卡中,并将采集到的数据通过串口传给3G 模块。主程序流程如图6 所示。

3.2 压力采集中断程序

系统使用NPC-1220 进行烟气压力监测,使用MPXHZ6115A 系列传感器进行大气压力的监测。虽然两种传感器电压转换成对应压力的公式不同,但在ADC 转换中的原理是相同的。

图6 主程序流程图

压力采集程序使用中断方式。使用ADC 的DMA 模式采集4 路模拟信号。用定时器来触发ADC 转换,每隔1 s 触发一次ADC。进入中断后,首先将Flag置位,然后采用STM32 自带的ADC进行数据采样,并将采样后的数据通过DMA 传输到内存中,通过相应公式计算大气压力值和烟气压力值。压力采集中断程序流程如图7 所示。

图7 压力采集中断程序流程图

3.3 SD 卡存储子程序

系统数据存储采用SDIO 的DMA 方式,并移植Fatfs 文件系统实现对SD 卡中文件和文件夹的有效管理。

主程序配置用于返回调试信息的串口,初始化SDIO 和DMA 通道。SD 卡存储子程序调用子函数SD_Erase()、SD_SingleBlock()和SD_MultiBlock()进行SD 卡的擦除、单数据块读写和多数据块读写操作。SD 卡存储子程序运行时,会在SD 卡中创建“钢厂烟气温度与压力监测系统数据存储.txt”或者“钢厂烟气温度与压力监测系统数据存储. doc”文件。当程序检测到SD 卡中已创建文件时,就将程序指针指向文件的末尾追加记录,进行多块读写操作;当程序未检测到SD卡中已创建文件时,便会在SD 卡中创建文件记录,并使用读写函数进行多块的读写。SD 卡存储子程序流程如图8 所示。

图8 SD 卡存储子程序流程图

4 实验结果

系统上电后正常工作,会在现场LCD 上显示相应的数据采集值,由于OCM12864 只能显示4 行汉字,因此分两个页面进行循环数据显示(一页显示烟气静压值、烟气动压值和烟气全压值,另一页显示大气压力值、环境温度值和烟气温度值)。

系统会实时将采集到的数据存储在SD 卡中,SD 卡中会自动生成一个“钢厂烟气温度与压力监测系统数据存储. txt”文件。同时数据通过3G 模块发送到上位机,上位机界面如图9 所示。

图9 上位机界面

为了验证系统的测量精度,通过个人电脑打开SD 卡中的“钢厂烟气温度与压力监测系统数据存储.txt”文件,将其记录的实际测量值与校准仪表(温度检测仪表与压力检测仪表)的检测值进行比较,结果表明,所设计的系统满足HJ/T76-2007 标准规定的烟气静压测量精度为±3%、大气压力测量精度为±2%和烟气温度测量精度为±3℃的要求。

5 结论

钢厂烟气温度与压力监测系统采用STM32F103VET6 作为主控芯片,实时监控钢厂生产过程中烟气的温度值和压力值。通过高精度传感器确保实时采集的生产参数准确有效,并通过本地SD 卡实时存储采集到的数据,最大限度地保证原始数据安全,最后通过3G 无线传输模块进行远距离数据传输,保证数据及时传输到控制室。电源模块采用双电源供电系统,匹配有备用供电电源,能有效实现主电源和备用电源的双重有效切换,保证系统在电网断电的情况下依然能正常工作。该系统拥有维护成本低,安装方便,可靠性高,传输速率高和实时性好的优点,并留有硬件软件资源便于扩展相应功能。经过一年的运行,基于STM32 的钢厂烟气温度与压力监测系统稳定可靠。

[1]郑海明,蔡小舒. 烟气连续排放监测系统相对准确度的测试评估[J].计量学报,2007,28(1):85 -88.

[2]朱法华,王飞,潘荔,等.全国火电厂烟气连续监测系统运行状况调研及分析[J]. 中国环境监测,2000,16(5):7 -11.

[3]赵福堂.大型火电厂烟气监测仪表选型的一些意见[J].中国电力,2001,34(3):65 -67.

[4]莫超,陆继东,华玉龙.火电厂安装烟气排放在线监测系统探讨[J].中国电力,2001,34(6):69 -73.

[5]杜会敏,曾荣. 采用集成温度传感器的数字温度计设计[J].武汉理工大学学报:信息与管理工程版,2010,32(6):904 -906.

[6]赵荣康.智能型双电源开关控制器的设计[J].微型机与应用,2010,29(15):22 -24.

[7]HJ/T76 -2007,固定污染源烟气排放连续监测系统技术要求及检测方法(试行)[S].

[8]明平顺,杨利强,张腊梅,等.基于3G 技术的智能车辆导航与无线互联系统[J]. 武汉理工大学学报,2005,27(11):66 -68.

[9]刘德昌,贺德强,苗剑,等.基于3G 的机车实时数据传输系统的设计[J].广西大学学报:自然科学版,2012,37(2):291 -296.

[10]李丹,孟磊,罗杰.基于3G 网络的校车安全信息综合系统[J].武汉理工大学学报:信息与管理工程版,2012,34(4):417 -420.

猜你喜欢
钢厂子程序烟气
固体吸附剂脱除烟气中SOx/NOx的研究进展
德国萨尔锻钢厂
旧厂区在城市更新改造中的思考——论团山钢厂土地盘活
德国萨尔锻钢厂
钢厂硫磺回收装置运行问题的分析与处理
烧结烟气中二氧化硫的测试方法
基于非分散紫外吸收法的便携式烟气分析仪在烟气二氧化硫监测中的应用研究
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序