文献标识码: A
DOI:10.16157/j.issn.0258-7998.181344
中文引用格式: 刘露,刘惠康. 车用尿素溶液浓度检测系统设计及在SCR上的应用[J].电子技术应用,2018,44(11):45-49,56.
英文引用格式: Liu Lu,Liu Huikang. The design of detection system for concentration of urea solution in vehicle and its application in SCR[J]. Application of Electronic Technique,2018,44(11):45-49,56.
0 引言
近年来,我国对机动车尾气排放要求日益严格,机动车尾气污染处理显得尤为重要。目前,我国柴油车尾气处理采取的是优化燃烧+SCR[1](选择催化还原)路线,即在气缸中使燃油充分燃烧降低颗粒物(Particulate Matters,PM),然后在SCR催化器中喷入尿素溶液。尿素溶液在高温的尾气中会分解产生氨气,并与尾气中氮氧化物发生氧化还原反应,将对大气有严重污染的氮氧化物(一氧化氮、二氧化氮)还原成无污染的氮气和水排出[2]。车用尿素溶液是尿素浓度为31.8%~33.3%的水溶液,标准车用尿素溶液浓度为32.5%。此浓度下SCR催化器中发生的反应效率最高,可有效减少汽车尾气中氮氧化物和PM排放[3]。因此,对车用尿素溶液浓度的检测显得十分重要。
本文设计了一种车用尿素溶液浓度检测系统方案。硬件上,选用了STM8AF52A8主控芯片、TDC1000超声波模拟前端、超声波换能器、TDC7200时间-数字转换芯片、稳压模块、温度传感器和CAN通信模块,其中STM8AF52A8作为主控芯片,实现各路信号的采集、滤波和最终的浓度计算;软件上,根据超声波在不同浓度溶液中传播速度不同,引入温度补偿,采用回归算法建立出浓度与超声波传播速度的模型,并程序化写入主控芯片中。系统实时地检测溶液浓度信息并通过CAN总线将数据信息发送给SCR系统,供其进一步提高SCR尾气转换效率。
1 系统总体结构及功能
车用尿素溶液浓度检测系统主要由超声波部分、高精度计时部分、温度检测部分、通信部分和数据处理部分组成,系统结构框图如图1所示。超声波部分由TDC1000超声波模拟前端和SWD15T21R11超声波换能器组成,主要作用是TDC1000产生超声波触发脉冲激发换能器发出超声波以及接收超声回波。高精度计时部分由TDC7200时间数-字转换芯片组成,主要作用是精确地计时超声波在固定声程中的传播时间。温度检测部分由DS18B20组成,能够检测溶液温度,对浓度检测模型进行补偿、修正。通信部分由TJA1050 CAN收发器组成,能够及时将测得数据通过CAN总线发送给SCR主设备。数据处理部分由STM8AF52A8车用级微处理器组成,主要完成数据的采集、滤波、计算及发送。
2 系统硬件设计
2.1 STM8AF52A8微处理器
STM8A是针对汽车应用的8位MCU微控制器。STM8A的工作电压为3~5 V,最高工作温度可达145 ℃。芯片内部集成数据EEPROM。在16 MHz时钟下可实现10 MIPS的性能。此外还具有丰富的外设接口,具有速度高达400 Kb/s的IIC接口、10 Mb/s的SPI接口、UART接口、CAN 2.0接口、红外接口、智能卡接口ADC、定时器、看门狗、蜂鸣器等丰富的外设。
2.2 TDC1000超声波模拟前端
TDC1000是TI公司的一款超声波感测模拟前端,常用于汽车、工业和医疗市场中的液位、液体浓度鉴别以及接近报警等。TDC1000可对发射脉冲、频率、增益和信号阈值进行灵活配置,匹配多种频率(31.25 kHz~4 MHz)和Q系数的换能器。TDC1000通过SPI总线方式与处理器进行数据传输。
2.3 TDC7200时间-数字转换器
TDC7200是一款时间-数字转换器,适用于水表、燃气表和热量计等超声波感测装置。TDC7200可执行秒表功能,测量START脉冲与STOP脉冲之间的时间间隔(飞行时间,即TOF)。该器件内置自校准时基,可对时间和温度偏差进行补偿。这一自校准功能使得TDC7200能够获得皮秒级精度,分辨率为55 ps。因此,TDC7200非常适用于高精度零流量或低流量测量的流量计应用。该芯片通过SPI总线方式与处理器进行数据传输,电路设计图如图2所示。
2.4 DS18B20温度传感器
DS18B20是数字温度传感器。它提供参数可配置的9~12位分辨率温度测量。DS18B20通过一条单总线接口即可发送或接收数据,因此在中央处理器和DS18B20之间通信仅需一条连接线。DS18B20的测温范围为-55 ℃~+125 ℃,在-10 ℃~+85 ℃精度为±0.5 ℃。此外,DS18B20能直接从单总线信号线上汲取能量,除去对外部电源的依赖。
2.5 TJA1050 CAN通信收发模块
TJA1050是CAN协议控制器和物理总线之间的接口。它完全兼容“ISO 11898”标准,主要用于波特率在40 kBd~1 MBd的汽车应用。TJA1050向CAN协议控制器提供总线差分传输器和差分接收器功能。它具有限流电路,可保护发送器输出级免受正电压或负电压意外短路造成的损坏。
2.6 SWD15T21R11超声波换能器
超声波换能器是一种能把高频电能转化为机械能的装置。SWD15T21R11是一种压电陶瓷超声换能器。压电陶瓷对光和压力比较敏感,对压电陶瓷施加一个外力,压电陶瓷表面会产生电荷,这就是压电陶瓷的正压电效应,是一个将机械能转化为电能的过程;对压电陶瓷外加一个电场,压电陶瓷会发生微小的形变,这就是压电陶瓷的逆压电效应,是一个将电能转化为机械能的过程。利用逆压电效应,可以把高频电压转化为高频率的振动,从而产生超声波。
3 系统软件设计
3.1 数据采集部分
系统运行过程中,需要对超声波飞行时间和溶液温度数据进行实时采集。处理器通过SPI总线与TDC7200连接,每次测量结束后通过SPI读取TDC7200寄存器中计数值,通过相关计算转换成时间数据;另外,处理器配置一个IO口作为DS18B20单总线数据线,软件模拟单总线时序进行DS18B20温度数据的读取和转换。
3.2 数据处理部分
3.2.1 数据滤波
硬件部分设计超声波声程为6 cm,在超声波换能器接收到回波后,时间已知便可计算出超声波传播速度。但在实际测量中,容器中会有超声波杂波,导致偶尔会出现错误数据;另一方面,当溶液温度不均匀时也会导致超声波速度测量数据不稳定,会在小范围内跳动,存在误差。所以,程序中采取一定的数据滤波是有必要的。本系统对传播速度数据和最终浓度数据使用八深度滑动平均滤波[4],最终可以得到精确、稳定的声速和浓度数据。
3.2.2 溶液浓度模型的建立
通过实验可知,超声波在溶液中的传播速度随溶液浓度的增大而增大。为了建立超声波传播速度与浓度的模型(浓度模型),首先在恒温槽中采用水浴加热的方法采集浓度为5%、10%、15%、20%、25%、30%、32.5%、35%、40%、45%的尿素溶液在不同温度下的超声波传播速度和温度数据,并在各温度下将不同浓度的尿素溶液和对应的超声波速度数据画出散点图,图3仅为15 ℃、20 ℃、25 ℃、30 ℃时对应曲线。
由图3超声波传播速度与车用尿素溶液浓度对应散点图可看出,超声波在车用尿素溶液中的传播速度与溶液浓度呈线性关系。通过线性回归[5]的方法分别拟合出各温度下的线性模型。初步选择浓度C与传播速度V的线性模型为:
其中C为待测浓度,V为超声波传播速度,A、B分别为斜率和截距,在浓度C和超声波传播速度V已知的情况下,通过线性回归的方法可得到某一温度下的斜率A和截距B。由图3得到的回归结果看出,复相关系数R2>0.99,在线性回归中R用来衡量自变量与因变量之间相关程度的大小,R2>0.99说明超声波传播速度与溶液浓度呈高度正相关。
由图3又可看出,不同温度下,回归出的模型斜率A和截距B也分别是不一样的,所以为了准确地表达出溶液浓度,还需要加入温度补偿。在式(1)模型中,浓度C和超声波传播速度V已知,用温度T来补偿斜率A和截距B。图4和图5为不同温度T与斜率A和截距B的对应关系图。
由图4、图5可知,在-5 ℃~+55 ℃范围内温度T与斜率A呈线性关系;同时与截距B也呈线性关系。故同样可建立线性模型来表达斜率A和截距B与温度T的对应关系。设:
其中C1、C2和D1、D2分别为温度补偿模型的斜率和截距。
在恒温槽中可以采集到大量不同温度、不同浓度的超声波传播速度数据,由图3不同温度下传播速度与浓度的回归分析,可得到每个温度下的斜率A和截距B,所以在温度补偿中斜率A截距B和温度T都已知,再经过一次线性回归就可得到C1、D1和C2、D2。由图4、图5可看出,复相关系数R2>0.99,说明温度T与斜率A、截距B也呈高度正相关。因此,通过线性回归得到斜率A、截距B与温度T的对应关系模型良好,预测值与实际十分接近。基于温度补偿的溶液浓度模型可表示为:
3.3 数据传输
系统采用基于SAE J1939协议CAN总线[6],波特率为250 kb/s,标准帧格式,将测得数据回传给SCR系统。8位CAN报文帧数据分为5种情况:溶液温度超温(溶液温度达到100 ℃)、换能器故障、DS18B20故障、其他液体和正常运行(尿素溶液浓度数据)。
3.4 软件整体流程
本程序设计主体部分都在单片机定时器中断中完成。单片机定时器设置200 ms中断,经测试完成一次测量并发送数据没有问题,不会产生定时器溢出。TDC1000和TDC7200寄存器初始化和更新在200 ms定时器中断中完成;单片机读取TDC7200计时时间、读取DS18B20温度数据并完成传播速度和溶液浓度计算在TDC7200触发中断中完成。CAN总线发送的数据分为两类,一类是故障报文,故障报文分为DS18B20故障、换能器故障、超温和其他液体。DS18B20故障时,装置将无法测量,程序将在DS18B20复位时进入死循环并不停地发送DS18B20故障报文;超声波换能器故障时,也无法进行测量,将在TDC1000报错中断中发送故障报文;超温和检测到其他液体时,程序将会发送相应报文数据。另一类是正常浓度报文发送,即发送车用尿素溶液浓度数据报文信息。软件流程图如图6所示。
4 实验结果与分析
在系统建模过程中,首先需要采集大量实验数据。本文建模时准确配置了浓度为5%、10%、15%、20%、25%、30%、32.5%、35%、40%、45%的车用尿素溶液,并在恒温槽中测得各浓度溶液在不同温度下的传播速度数据。根据这些数据建立出式(4)基于温度补偿的浓度模型,此模型建立后直接写入微处理器,测量未知浓度车用尿素溶液时将直接调用模型即可计算出溶液浓度。表1是浓度32.5%的标准车用尿素溶液在不同温度下的检测数据。由表1可知,不同温度下,温度补偿得到的模型斜率A和截距B分别是不同的,检测浓度结果误差在±0.2%左右。表2是溶液温度20 ℃时,不同浓度尿素溶液的实验测试数据。由表2可知,同一温度,温度补偿得到的斜率A和截距B分别是相同的,检测浓度误差也在±0.2%左右。
5 结论
本系统在超声波时差法[7]的基础上加入了温度补偿,实现了对不同浓度车用尿素溶液浓度的实时测量。经测试系统浓度值检测结果误差在0.3%以内,精确度较高,可以用来做浓度监测、浓度测量、纯度控制、产品检测等。本系统实现方法简单,检测精度高,探头体积小易安装,在有毒、易挥发、非接触类液体浓度检测及监控上有很好的应用前景。
本文创新点在于建模过程中采用线性回归的方法并通过温度补偿模型斜率A和截距B,使模型参数在不同温度下实时调整,从而得到最优模型参数。经验证此方法得到的模型精确度高,满足测量要求。
本文另一个创新点是设计的车用尿素溶液浓度检测系统可与目前柴油车尾气后处理SCR系统结合使用。它可实时检测出尿素溶液浓度,并将检测数据通过CAN总线发送给指定ID主设备。在日益严重的尾气排放标准下,机动车需要进一步提高尾气处理效率。车用尿素溶液浓度的检测可在SCR系统运行前作为一个预处理,提前检测溶液浓度,当检测到不合格尿素溶液时可直接限定车辆扭矩甚至限制汽车启动;另一方面,在车辆行驶过程中还可将浓度信息作为反馈量,主控系统可进一步精确地计算出尿素溶液的喷射量,提高处理效率,同时也可以避免氨气溢出。此方法可为下一代汽车尾气处理方案提供一定参考意义。
参考文献
[1] 郭华,沈红节,计维斌.柴油机排放后处理技术与标准化研究[J].内燃机与配件,2017(12):30-33.
[2] 汪家铭.车用尿素发展现状与市场前景[J].化肥设计,2013(3):6-11.
[3] 郝春晓,陈伟程,谢琼,等.车用尿素溶液质量对SCR系统的影响[J].环境与可持续发展,2016(1):46-49.
[4] 杨璇,李胜,邓君丽,等.滑动平均滤波器在数字控制中的改进[J].电力电子技术,2014,48(9):68-70.
[5] 刘畅,马韵洁,黄翔.一种基于多元线性回归算法的车流量预测模型研究[J].电子技术与软件工程,2016(21):175.
[6] 黄敏思.基于ISO11898-1的CAN总线信号质量评估方法[J].机电工程技术,2017(s2).
[7] 李联中.超声波检测乳化液浓度[D].武汉:武汉工程大学,2013.
作者信息:
刘 露,刘惠康
(武汉科技大学 信息科学与工程学院,湖北 武汉430081)