论文部分内容阅读
【摘 要】介绍了一种全新的基于ARM嵌入式车载状态监测与故障诊断系统,探讨了车载状态监测与故障诊断系统的基本原理。分析了该系统的硬件组成部分。还研究了嵌入式软件系统的设计方法,能够满足状态监测与故障诊断的需要。该系统必将作为一种全新的汽车电气配置于汽车中。
【关键词】嵌入式;汽车故障诊断;专家系统;ARM
随着技术的发展,人们在工业控制、检测设备及故障诊断等系统的设计中,也越来越智能化,精密化,汽车故障诊断系统亦是如此。现有的汽车故障诊断系统全部是大型固定设备,一般是汽车出了故障,停车后才能诊断。不仅使用不方便也不能有效的预防汽车故障。本系统就是基于嵌入式的车载故障诊断系统,可以实时检测汽车的各项指标是否正常,并通过液晶显示器显示出来,它安装在汽车驾驶室内,驾驶员随时可以看到汽车的各项指标,如果那一项指标超出正常范围,该系统通过蜂鸣器提示驾驶员,它能够及早发现问题,避免一些不必要损失,方便维修人员维修。
一、车载状态监测与故障诊断系统原理
首先要建立专家故障诊断系统,它由知识库与推理机组成。知识库收集提炼了具有相当经验的汽车维修人员和诊断专家对于故障原因的认识。根据他们多年的故障诊断的经验和方法归纳成数据库规则。数据库收集了包括内燃机爆响、气门响等80余个规则。推理机是一个软件系统,运用知识库提供的关于数据域规则的知识,进行自动推理求解问题。
1. 知识库的建立。
系统知识库采用故障原因-征兆二元布尔关系矩阵来描述布尔函数:E=(S1,S2,…,Sn;R1,R2,…,Rm)。一个普通的故障原因与征兆图如图2:
其中:Rj为第j种类型故障类型;Si为第i种征兆;m为可能故障原因类型数;n为检测到征兆类型数;为当故障Rj发生时征的Si可能状态,且Iij为故障发生时,征兆Si可能的状态且
2.推理机制。
推理机制我们采用的是基于上述模糊关系矩阵的推理。它把所有的故障表示成一张模糊的关系矩阵表,每一个矩阵值表示相应的故障症状可能确定的故障类型的贡献程度。亦称作模糊模型用A=(a1,a2,…,an)表示。当对系统进行故障信号采集,然后对每一个征兆类型赋值1或0,来确定函数G(·)(它表示某一故障原因组合具有的原因)。通过对数G(·)描绘的观察征兆结果叫做观察矢量,用S′表示。且令S′=()。如果能观察到征兆Si,则的值为1,反之为0,这时会得到一个观察矢量S′,即给函数G(·)赋了值,此时可以得到一个矢量结果用A表示,A=(a1,a2,…,an)此时模型建立完成。
由专家确定的模糊关系矩阵表示为R,R=[ri,j]mxn其中m为结论个数,按照以下的模糊推理算得到结论:D=R·CT。其中·表示矩阵运算,D表示结(d1,d2,…,dn)论集中由每个结论结果所构成的m€?的向量,T表示转置。D=(d1,d2,…,dn)表示第i个结论经过推理之后的值。取其中第j个结论作为最终的推理结论其中,j│dj=MAX(d1,d2,…,dn)即取其中的最大值作为最终的推理结论值。我们称之为预测值,当该输出变量的实际观测值与预测值之间的差异超过某阀门值,就可以检测出故障。
二、诊断系统硬件设备
ARM微处理器是32位嵌入式RISC微处理器,低功耗、高性能、低成本;提供扩充的16/32位双指令集,处理器本身是32位设计,但也配备16位指令集,增加了DSP指令集,提高了芯片的性能与灵活性。本文设计采用ARM7TDMI内核芯片S3CBB40X,该控制器具有强大的信号处理功能,实现比值、串级、前馈、程序控制等多种复杂的控制功能;具有温压补偿功能,控制精确;能够真正远程控制功能,使用配套的数据管理软件,可以方便的进行监控与管理。在汽车各个容易出现故障的地方加装传感器(比如爆燃传感器),这些传感器采集的信号经过放大电路放大进入A/D系统,A/D转换器集成在ARM的内部,负责将前端采集的模拟信号转换成ARM可以识别的数字信号,进入A/D采集数据池。数据进入到ARM后,即可通过ARM对数据进行分析和处理,包括对振动信号进行时域分析、频谱分析、1/3倍频程分析、示功图、外特性图分析等。系统还需要数据显示模块和数据存储模块。数据显示是对数据进行多角度的表现,可通过数字、图形等形式。数据存储是对数据以文件的形式加以保存,便于数据的再现和数据的管理。其硬件图如图3。
三、软件的设计
软件的总体设计包括嵌入式Linux文件系统设计、网络通信程序设计、数据采集程序设计、控制组态与驱动程序的设计。为了完成必要的数据采集,工况监控,实时显示显示动态的图形流程,实时显示测量数据,系统采取了多线程技术来实现实时功能,以满足系统要求。采用多线程技术时,应合理划分子线程,并解决好各线程间的同步问题。
测控对象的特征信息能否及时准确的提取是影响后续处理过程的关键,因此信息采集功能必须采用单独的线程来管理,并尽量具有较高的线程优先级别。控制功能设计的好坏直接影响到整个系统能否正常运转,须采用单独的子线程。数据处理方法一般要占用较长的时间片,为保证系统人机交互的流畅,数据处理功能应单独采用子线程管理。如要求采集数据的实时显示,则数据显示输出功能应单独设置为一个子线程。如不需要实时显示,则可将数据显示输出功能放在人机交互操作放在主线程中处理。
故障诊断系统的主线程负责所有线程的总体调度和控制,主线程将各任务分派给各子线程,并显示各种警报和错误信息系统中,数据实时采集显示时开启的线程数量最多,采集线程将数据存放到“数据池”,并设置一个标志位,提示显示线程实时更新数据,它还要接受来自主线程和控制线程的命令。控制线程接受主线程的命令,监控设备运转情况,必要时发送消息到采集线程停止或开启采集操作。显示线程以合理的方式显示后台数据处理线程的数据结果。主线程接受各种人机交互操作,并发送到相应线程处理。采集线程、控制线程间通信流程图如图4。
根据以上的想法编制程序,移植数据采集程序对两次采集程序设置标准,符合标准的数据作为保留的采集数据,然后从数据库里,读取相应的数据进行比较。以下是部分程序:
通过以上程序就可以实现数据的比较与计算。再经过进一步的数据处理就可以输出到驾驶室内的液晶显示器上。
四、结论
介绍了一种全新的基于ARM的车载状态检测与故障诊断系统,它不仅可以让驾驶员实时监测汽车检测与故障诊断,及早发现故障,避免不必要的损坏,而且指导方便维修人员对汽车进行必要的维护与修理。
随着技术的发展与汽车保有量的增加,嵌入式车载状态监测与故障诊断系统必将作为一种常见的汽车电气装入汽车中,体现了广阔的发展前景。
参考文献
[1]杨杰等.基于模型的故障诊断中的模糊建模与推理[J].上海交通大学学报.1999,33(4):418~421
[2]舒红宇等.面向汽车零部件试验的通用测控平台设计与实现[J].重庆大学学报.2006,29(9):14~18
[3]贾继德等.内燃机故障信号特性分析及诊断策略[J].农业机械学报.2005,36(12):39~42
[4]陈波,马孝江.故障诊断专家系统中的数据库子系统设计[J].机械工程学报.2002,38:186~189
[5]姚剑飞等.基于故障原因-征兆矩阵的故障诊断专家系统[J].振动、测试与诊断,2009,29(1):74~78
【关键词】嵌入式;汽车故障诊断;专家系统;ARM
随着技术的发展,人们在工业控制、检测设备及故障诊断等系统的设计中,也越来越智能化,精密化,汽车故障诊断系统亦是如此。现有的汽车故障诊断系统全部是大型固定设备,一般是汽车出了故障,停车后才能诊断。不仅使用不方便也不能有效的预防汽车故障。本系统就是基于嵌入式的车载故障诊断系统,可以实时检测汽车的各项指标是否正常,并通过液晶显示器显示出来,它安装在汽车驾驶室内,驾驶员随时可以看到汽车的各项指标,如果那一项指标超出正常范围,该系统通过蜂鸣器提示驾驶员,它能够及早发现问题,避免一些不必要损失,方便维修人员维修。
一、车载状态监测与故障诊断系统原理
首先要建立专家故障诊断系统,它由知识库与推理机组成。知识库收集提炼了具有相当经验的汽车维修人员和诊断专家对于故障原因的认识。根据他们多年的故障诊断的经验和方法归纳成数据库规则。数据库收集了包括内燃机爆响、气门响等80余个规则。推理机是一个软件系统,运用知识库提供的关于数据域规则的知识,进行自动推理求解问题。
1. 知识库的建立。
系统知识库采用故障原因-征兆二元布尔关系矩阵来描述布尔函数:E=(S1,S2,…,Sn;R1,R2,…,Rm)。一个普通的故障原因与征兆图如图2:
其中:Rj为第j种类型故障类型;Si为第i种征兆;m为可能故障原因类型数;n为检测到征兆类型数;为当故障Rj发生时征的Si可能状态,且Iij为故障发生时,征兆Si可能的状态且
2.推理机制。
推理机制我们采用的是基于上述模糊关系矩阵的推理。它把所有的故障表示成一张模糊的关系矩阵表,每一个矩阵值表示相应的故障症状可能确定的故障类型的贡献程度。亦称作模糊模型用A=(a1,a2,…,an)表示。当对系统进行故障信号采集,然后对每一个征兆类型赋值1或0,来确定函数G(·)(它表示某一故障原因组合具有的原因)。通过对数G(·)描绘的观察征兆结果叫做观察矢量,用S′表示。且令S′=()。如果能观察到征兆Si,则的值为1,反之为0,这时会得到一个观察矢量S′,即给函数G(·)赋了值,此时可以得到一个矢量结果用A表示,A=(a1,a2,…,an)此时模型建立完成。
由专家确定的模糊关系矩阵表示为R,R=[ri,j]mxn其中m为结论个数,按照以下的模糊推理算得到结论:D=R·CT。其中·表示矩阵运算,D表示结(d1,d2,…,dn)论集中由每个结论结果所构成的m€?的向量,T表示转置。D=(d1,d2,…,dn)表示第i个结论经过推理之后的值。取其中第j个结论作为最终的推理结论其中,j│dj=MAX(d1,d2,…,dn)即取其中的最大值作为最终的推理结论值。我们称之为预测值,当该输出变量的实际观测值与预测值之间的差异超过某阀门值,就可以检测出故障。
二、诊断系统硬件设备
ARM微处理器是32位嵌入式RISC微处理器,低功耗、高性能、低成本;提供扩充的16/32位双指令集,处理器本身是32位设计,但也配备16位指令集,增加了DSP指令集,提高了芯片的性能与灵活性。本文设计采用ARM7TDMI内核芯片S3CBB40X,该控制器具有强大的信号处理功能,实现比值、串级、前馈、程序控制等多种复杂的控制功能;具有温压补偿功能,控制精确;能够真正远程控制功能,使用配套的数据管理软件,可以方便的进行监控与管理。在汽车各个容易出现故障的地方加装传感器(比如爆燃传感器),这些传感器采集的信号经过放大电路放大进入A/D系统,A/D转换器集成在ARM的内部,负责将前端采集的模拟信号转换成ARM可以识别的数字信号,进入A/D采集数据池。数据进入到ARM后,即可通过ARM对数据进行分析和处理,包括对振动信号进行时域分析、频谱分析、1/3倍频程分析、示功图、外特性图分析等。系统还需要数据显示模块和数据存储模块。数据显示是对数据进行多角度的表现,可通过数字、图形等形式。数据存储是对数据以文件的形式加以保存,便于数据的再现和数据的管理。其硬件图如图3。
三、软件的设计
软件的总体设计包括嵌入式Linux文件系统设计、网络通信程序设计、数据采集程序设计、控制组态与驱动程序的设计。为了完成必要的数据采集,工况监控,实时显示显示动态的图形流程,实时显示测量数据,系统采取了多线程技术来实现实时功能,以满足系统要求。采用多线程技术时,应合理划分子线程,并解决好各线程间的同步问题。
测控对象的特征信息能否及时准确的提取是影响后续处理过程的关键,因此信息采集功能必须采用单独的线程来管理,并尽量具有较高的线程优先级别。控制功能设计的好坏直接影响到整个系统能否正常运转,须采用单独的子线程。数据处理方法一般要占用较长的时间片,为保证系统人机交互的流畅,数据处理功能应单独采用子线程管理。如要求采集数据的实时显示,则数据显示输出功能应单独设置为一个子线程。如不需要实时显示,则可将数据显示输出功能放在人机交互操作放在主线程中处理。
故障诊断系统的主线程负责所有线程的总体调度和控制,主线程将各任务分派给各子线程,并显示各种警报和错误信息系统中,数据实时采集显示时开启的线程数量最多,采集线程将数据存放到“数据池”,并设置一个标志位,提示显示线程实时更新数据,它还要接受来自主线程和控制线程的命令。控制线程接受主线程的命令,监控设备运转情况,必要时发送消息到采集线程停止或开启采集操作。显示线程以合理的方式显示后台数据处理线程的数据结果。主线程接受各种人机交互操作,并发送到相应线程处理。采集线程、控制线程间通信流程图如图4。
根据以上的想法编制程序,移植数据采集程序对两次采集程序设置标准,符合标准的数据作为保留的采集数据,然后从数据库里,读取相应的数据进行比较。以下是部分程序:
通过以上程序就可以实现数据的比较与计算。再经过进一步的数据处理就可以输出到驾驶室内的液晶显示器上。
四、结论
介绍了一种全新的基于ARM的车载状态检测与故障诊断系统,它不仅可以让驾驶员实时监测汽车检测与故障诊断,及早发现故障,避免不必要的损坏,而且指导方便维修人员对汽车进行必要的维护与修理。
随着技术的发展与汽车保有量的增加,嵌入式车载状态监测与故障诊断系统必将作为一种常见的汽车电气装入汽车中,体现了广阔的发展前景。
参考文献
[1]杨杰等.基于模型的故障诊断中的模糊建模与推理[J].上海交通大学学报.1999,33(4):418~421
[2]舒红宇等.面向汽车零部件试验的通用测控平台设计与实现[J].重庆大学学报.2006,29(9):14~18
[3]贾继德等.内燃机故障信号特性分析及诊断策略[J].农业机械学报.2005,36(12):39~42
[4]陈波,马孝江.故障诊断专家系统中的数据库子系统设计[J].机械工程学报.2002,38:186~189
[5]姚剑飞等.基于故障原因-征兆矩阵的故障诊断专家系统[J].振动、测试与诊断,2009,29(1):74~78