基于远程通信的汽车油箱监测系统的设计
2010-04-11乔海晔
乔海晔,邓 超
QIAO Hai-ye1, DENG Chao2
(1. 广东白云学院 计算机系,广州 510450;2. 东莞南博职业技术学院,东莞 523083)
基于远程通信的汽车油箱监测系统的设计
Based on the remote communication car tank monitoring system design
乔海晔1,邓 超2
QIAO Hai-ye1, DENG Chao2
(1. 广东白云学院 计算机系,广州 510450;2. 东莞南博职业技术学院,东莞 523083)
汽车油箱监控装置是以嵌入式计算机技术和通信技术为基础,采用现代控制论的方法对汽车油箱中油量进行测量和油量变化速度进行检测。通过模拟油箱油量变化和油料传感器电压的变化曲线获得电压和油量变化的分段线性函数,系统根据用户需求设定采样时间,定时采样油料传感器的电压值,通过函数计算出对应的油量值。同时保留前一次采样值,以判断油量的变化速度,实现自动检测油箱油量的消耗情况,对油箱非正常工作状态产生报警。经过测试,装置的测量准确度和报警功能均达到预期的效果,提高了汽车使用的安全性。
远程通信;油量;分段线性法;采样
0 引言
众所周知,所有的车辆都有一台油表,用来显示油箱中油量的多少,可提醒司机及时加油。但是普通的油表并不能时刻跟踪油表的变化速度,反应油箱的性能情况,单靠油表来监测油箱的运行状况,很难真实反映油料的使用情况。本系统在简单改造原来的油料显示系统后,提供对油箱中的油量一种精确的度量。利用油料管理模块跟干簧管油浮子组合,代替原来的油料系统,独立使用,提供精确测量的数字显示,同时对油箱中油量变化速度进行监测。车辆运行(ACC开)的过程中,若石子或其他外力使油箱漏油,提供漏油报警;车辆停止(ACC关)状态下,监测油箱中的油料变化情况,如发现油箱工作异常,通过远程通信[1]的方式向车主提供偷油、漏油报警。即使在油表工作不正常的情况下,本系统也可以提供油量的数字显示。实时监测车辆油箱中的油量变化情况,提高汽车使用的安全性。
1 控制理论
在ACC开、车辆行驶的状态下,检测油表传感线上的电压,计算出油浮子电阻uiRX。连续5秒内若检测到滤波电压值相等;而且系统是刚从ACC关切换到ACC开状态(bCTo0=1),将此时计算得到的电阻值跟ACC关记录状态下油浮子的电阻值比较。如果比较的结果相差不超过2欧姆,说明没有任何的异常;如果相差大于5欧姆,表示油料异常。检测油料传感线上的电压(Voil),采用稳定值算法,即测量过程中丢掉异常值,再进行稳定选取,最后求平均值。求解的平均值和保留值比较,由于在开车的过程中油料不可能产生突变,变化过大的电阻值先暂时存储下来,留作后续参考判断。系统不断的更新电压基准,以1分钟为刷新频率,检测油料的消耗情况。
切换继电器前保留的油表电压Vbase、油表等效电阻Roil。计算ACC开油浮子的电阻值:
在ACC开、车辆停止状态下,在0.5秒~2秒之间检测油表传感线上的电压、通过稳定值算法[2]得出油表上的电压值(Vbase),油表电压在此段时间应该是不变的。切换继电器检测油表传感线上的电压(Voil),得出此段时间内的油表传感器上的电压采样值。采样值大,等效油浮子电阻就大;电压小,等效油浮子电阻就小。利用在ACC关情况下,利用检测到电阻值计算出油表的等效电阻(Roil)。每次进行校准的目的是防止油浮子卡住在油箱的某一位置,引起误判。在车辆振动的情况下,油浮子不可能稳定在一个状态。
在ACC关状态下,在0.5~2秒之间切换继电器,检测油料线(见图3中蓝色线)的电压,计算出电阻值。由于油浮子有可能发生卡住现象,保留此时计算出的电阻值作为后续的参考电阻值;如果这个值和ACC开状态下测的电阻值一致,并且在5秒钟内电阻值处于稳定状态(变化的范围在±1欧姆以内),这个值作为基准值,计算公式为:
系统以100毫秒的频率检测油料线的电阻,1秒钟进行1次计算,在10秒钟内,对比每1秒钟检测到的数据,若数据变化幅度较大,而且一直减小,表示油箱中油量变化异常(有人偷油或油箱漏油)。等检测到的油料电阻值稳定时,记下稳定后的油料电阻。跟检测前ACC关状态下的基准值作比较,计算油料传感器的电阻的变化值,从而计算出油量的变化,作为参考值提供给用户。如果油料数据没有稳定的情况下ACC开的动作发生,系统将油料传感器的电阻变化值交给ACC开来判断。若整个过程采样值都很稳定的情况下,每10分钟作为一个刷新周期,防止因温度的变化而引起误判。检查ACC关的时间段内有没有异常报警,若有将稳定的电阻值发送给主控中心。
2 总体设计
通常汽车油表的供电电路有两种,一种为带总闸供电系统,另一种为不带总闸供电系统。分别由发电机、稳压电源、油表、油浮、负载电阻组成。油量显示、传感器系统的供电系统是通过汽车供电电路进行稳压后提供的。本系统以带总闸供电系统车辆为研究对象,将油表电源线剪断,引出两根线,一根作为传感器的输入,另外一根是地线,同时跟整个车架连接。因带总闸开关的汽车中,车架地和电源地在总闸关闭的时候是不同的,在总闸打开的时候,车架地和电瓶地是同一个地。设计时将车驾作为参考电位对汽车的ACC、Motor进行检测才不会产生较大的误差。本系统电源由车机提供5V的电源。系统通过无线方式和通信网络连接实现远程服务器通信,也可以通过短信将报警信息发送给管理者。
2.1 硬件设计
2.1.1 传感器设计
车载油料传感器主要分为压力式,电阻式传感器。汽车油表的监测电路相当于一个电阻式传感器;汽车的燃油表等效于一个电流表;从电路原理上等效于一个电阻。油耗模块就是通过等效电路模型测得可变电阻RX的值,间接反映出油箱油量的变化;固定电阻R0是不变化的,反映的是油表和电源的内阻。
2.1.2 系统数据采集模块设计
本系统数据采集、处理模块包括油表线、油浮子线取样器、放大器、RC滤波、CPU、A/D采样、串口通信、电源等主要模块。详细流程及主要芯片选择如图1所示。
图1 数据采集处理系统设计
2.2 软件设计
软件设计的主要目标是能够准确的得到油浮子的任一时刻的电阻值,通过故障代码ucErrCode的设置,利用C51语言实现车辆工作情况的跟踪和异常情况的报警。软件实现流程图如图2所示。以车辆每行驶100Km消耗10升油,时速平均为60Km计算,经过对不同车型的多次测试,选择采样时间为5秒,利用车本身油料传感器,经过校准,准确率高达97%。
3 实验结果与分析
图2 软件实现流程图
模拟某一种车型油箱,通过增加油箱中的油量,监测电阻值。假设油箱的容积为145升,取样值每20升作为一个间隔,通过监测电阻值分别为 12,20,35,42,60,80,90,120,160。 增加的油量和对应的电阻值对应值如表1所示。获得油量和电阻之间的关系模拟曲线(如图3所示)。需要说明的是对于不同的车型,需经现场测试模拟该车型油箱中油量变化和对应电阻值的变化曲线,该模拟曲线不能通用。
表1 增加的油量和对应的电阻值对应值
根据油量采样点采用分段线性化的方法,利用线性插值用直线来逼近曲线,其误差不大于±0.2%。采用0.618法,即黄金分割[3]来寻优,目标值即误差等于0.2%±ε。每取一段直线,验算一次误差,然后再修正,直到满足误差要求再取下一段,在自变量的取值范围内分出合理的直线段数。
图3 关系模拟曲线
假设线性插值函数为R=f (L)=kL+b (k>0,0≤x≤e,e为油箱的容积),其中L表示油量,R表示当前电阻值,单位欧姆。计算出电阻值在80-90欧姆范围内时,线性函数为:
假设误差为E(L)=R2-F(L),d≤L=d+n△L≤R2
假定这次验算误差的结果E (x) <0.2%-ε,则再前进0.618,如此类推:R3=0.618 (R1-R2)+R2。
本系统采用汽车电源供电系统,具有自己的数据采集系统和控制操作系统,独立运行并时刻监测油箱中油料的变化情况。经过对本系统油量测量的准确性和油料消耗情况两方面进行测试,均达到预期的效果,能够满足用户的需求。本系统的实现和投入市场,使汽车用户可以通过通信网络实现对汽车油箱中油量和油料的消耗情况进行适时监控,提高用户使用汽车的安全性。
[1] Tamara Dean. 远程通信技术[M].北京:清华大学出版社,2004.
[2] 张吉堂.现代数控原理及控制系统(第3版)[M].北京:国防工业出版社,2009.
[3] 李鹏. 优选法在非线性函数分段线性化计算机编程中的应用[J]. 发明与创新(综合版),2010,(2).
TP335
B
1009-0134(2010)12(下)-0056-03
10.3969/j.issn.1009-0134.2010.12(下).21
2010-07-11
乔海晔(1974-),女, 内蒙古人,讲师,硕士,研究方向为嵌入式系统,计算机控制系统应用。