汽车免拆诊断案例 | DAF(达富)汽油尾气处理液故障警示
故障现象
距离我上次在货卡上工作已经有一段时间了,让它们在道路上保持安全行驶是非常重要的。因此,当故障警示灯亮起时,我们需要迅速找到问题方向以及排除故障。
车辆的仪表板亮起多个故障灯以及警示灯,我们需要用解码器查找触发警示灯亮起的原因。当解码器正在扫描时,我在与车主讨论时得知,在警示灯亮起前车辆并没有出现性能上的问题,但司机有提到环保尿素已经用完了。一般而言,像这类的货卡在长途运输的过程中需要使用大量的尿素,因此很有可能是由于缺少尿素而导致故障码的发生。
图1 DAF
故障诊断
从故障码我们能看出很大一部份问题都指向DEF系统。还是有一些跟CAN相关的问题,但DEF泵故障码:P3912被标注为优先处理。尽管所有DEF的故障代码都没被触发,但跟DEF系统相关的所有问题都会对引擎造成很大的影响,这就能解释为什么会有引擎保护以及扭矩降低的故障码。将上述与客户未使用DEF这些信息结合,问题大致有了方向。
理解背后的工作原理是至关重要的。幸运的是,尽管这是一个康明斯的废气处理系统,但他与我们在研究的Bosch Denoxtronic 2.2 系统有很大的相似。在操作方面它们两个几乎是一模一样,建立一个压力然后喷射,在系统关闭时进行一次的吹扫。然而在硬件上还是有些许的差异。
图2 废气处理系统
1.车用尿素储存桶2.过滤器3.4/2流量控制阀4.单向&定量泵5.泄压阀6.节气门限制流量产生压力7.压力感知器8.喷嘴
两个系统最大的不同就是,压力感知器和孔口是喷射器模块的一部份,不是在泵内。这使喷油模块比BOSCH组件大很多,但这也意味着泵组件更小。经常被忽略的视觉检查应该是最重要的一部份!
图3 泵与喷射模块接头处有轻微的泄漏
通常透过眼睛你就能说出很多东西,但别只是看而已,结合你所学的所有知识。从上面图片中我们可以看见泵跟喷射模块接头处有轻微的泄漏。由于我们诊断出跟压力过高相关的故障代码,这就代表管内压力可能超出了密封件的额定值。另一个值得关注的是喷油模块上的配件和管道的形状,尤其是底部的软管似乎被拉伸了。可能是在某个时候进行了修改?因为车用尿素对某些特定金属会产生高腐蚀性,所以这里的连接器是典型的塑料推入式连接器。这是一个很好的练习机会去记录所有你看到的、听到的、感觉以及闻到的。
图4
这边可以肯定我们需要检查的就是,废气后处理系统,尤其是车用尿素的压力。查看电路图,我们可以从喷嘴模块上获得一些信号。这个模块的插头是一个8脚位的连接器,但只有使用6个脚位,透过把脚位外接的方式使我们更方便连接。但并非所有都可以透过外接脚位来解决浅在的问题,有时候这是我们或的信号的最佳选择。
首先是看一下压力感知器,透过使用电流钳,我们可以看出喷嘴是否有正常作动,通过参考接地信号,我们只需要输出电源跟输出图。如果接地信号出现问题,我们将无法获得稳定的5V电源。不幸的是,车辆在所有故障码尚未消除的情况下怠速,意味着DEF系统不会自动启动。为了测试这个组件,我们必须消除故障码,然后透过诊断计算机来测式泵,这使我们能做启动测试如图所示。
图5 用电流钳和压力传感器测试
从图中可以看到,压力感知器有响应变化的压力,从0.5V以上开始,在吹扫阶段急速的上升,并在停止之前持续上升,随后压力慢慢下降。压力感知器是5V的,根据这样的情形可以得知接地信号是正常的。
有趣的是我们通过解码器看见压力在10~12Bar之间,10Bar略高于DEF系统的正常压力9Bar,这表示故障代码的显示是正确的。
再次使用解码器执行喷射测试会得到有趣的结果。这次我们泵控制组件看ECU会如何对过压做出反应。
图6 启动测试波形
在这次测试中我们可以看见,废气后处理系统对DEF动作,压力再次上升到3V左右,过一段时间系统切换到2/2的控制阀,通过扫气系统降低压力。一旦压力下降,系统将再次尝试。我们观察并看到了,他会继续这种模式,直到我们停止测试。有趣的是一但我们在解码器上停止测试,他会提供一些说明,来解释为什么测试没有进入喷射阶段,说明了压力如果太低他将不会继续测试。
图7 喷射测试波形
有趣的是我们有一个高压的问题,所以我们假设测试并不会在压力过高或过低的清况下进行。通过查看Pico 软件上的时电压和解码器上面的压力数值,我们可以确定传感器正在反映一个故障的值。我们认为没有破的管道,只有密封件周围有些许的渗漏,所以我们认为回路应该有堵塞。回想回路图,有个小地方引起了我们的注意。
图8 废气处理系统
根据设计图,喷射模块的滤心将会是第一个要检查的,他位于压力传感器之后,如果我们记得黄金法则压力就是来自流动的阻力,那么这里的过滤器堵塞将会导致压力感知器读取高压。把喷射模块从DEF管路中拆下用说的是很轻松,但一旦我们拆下来就可以看到过滤器。
令人惊讶的是,过滤器被堵塞了,甚至于爆裂了!更重要的是,它似乎被铁锈等其他棕色物质污染了。但滤心爆开了怎么还会有高压产生?由于压力是对液体的限制,滤心上破了个洞,所以一些液体仍然可以通过开口,但依然限制着流动。由于DEF管道被拆开来了,所有溅出的液体都必须收集起来,因此对尿素桶的采样也是必须的。
图9 被堵塞的过滤器
使用专们为DEF设计的折光仪,我们可以看到大约有33%的透明液,略为高于32.5%的标准值,但我们没有质量相关的问题所以那不是我们担心的点。
此时司机也还在我们身边,更重要的是继续诊断并查看这是否为问题所在。在没有滤心的情况下将喷射模块安装回去是有风险的,需要彻底的清洁端口,很庆幸的我们有确实的清洁模块,因为我们确实发现了一些更细的颗粒,这些颗粒一样可能是阻力的来源,也可能导致喷嘴堵塞。我们已经尽可能将其清理干净,并且来自尿素桶的尿素是干净的,我们通过解码器测试,希望DEF系统的压力已经降低。
图10 折光仪检测结果
在这里我们可以看到初始压力达到2.7V,随后下降到2.3V左右,我们也能看到喷嘴有在工作。我不能百分百保证废气后除理系统的ECU如何断定高压,或许我们可以等待蹦负荷降至10%后等待看看压力是否下降。如果我们将之前和之后做比较,可以看出一些很明显的差异。
图11
使用参考波形,我们可以跟滤心还在时的压力波型作比较。
从这里可以清楚的看到,在没有滤心的情况下,压力会在压力持续上升之前明显的下降。趁着这次测试,我们顺便进行数量测试,以确保没有其余的堵塞。正如我们在论坛上面讨论的那样,用串型工具把报告对比,可以通过Pico的更多详细详细信息并概述废气后处理系统的运行状态。
图12 对比参考波形
从放大波型我们可以看到锯齿波型。这是喷射后导致压力下降后引起的。这可以用来判断喷嘴是否有堵塞,而且无须将排气装置移除。
再次放大波型,我们可以找出泵所产生的波型。这里我们要寻找看起来不一样或重复模式的东西。
图13 放大波形的结果
图14 再次放大的结果
很高兴系统的其他部件运作正常,并且我们的故障码和警告的唯一原因是因为滤心堵塞导致的,订购一个新的滤心以及其他工作所需的其他必要垫片及螺栓。一旦全部安装完成并清除故障码,车辆就可以继续行驶并使用虹科Pico一起观察来确保确实的喷射尿素,我很高兴的是它喷射正常。幸好,这台车的滤心可以透过VM取得。我也发现其他厂牌也使用相同的系统,但我们无法自己购买这些滤心,这意味着必须更换整个模块,考虑到可以证明其它部件都运作正常,更换整个模块太过于浪费,我们仅通过更换滤心为客户省了差不多1500英镑。
图15 替换滤心
问题仍然存在,但首先是甚么导致滤心阻塞。考虑到从尿素桶到喷射模块的液体有多干净,这是模块的故障吗?通过理论,我们回到诊断开始时的观察。用于尿素桶到喷射模块的管道配件似乎不是原装的。我们可以知道尿素是具有一定腐蚀性的,这可能会导致对这些管路产生反应,这意味着滤心因为过滤了污染物而被阻塞。我们没有任何东西可以修理或是更换配件,我们能做的就只有建议客户这种情况将来还会再发生,或许更换从尿素桶到喷射模块的管道是比较好的选择。
我们经常看到跟DEF有关的故障都是由其他原因造成的,并且在大多数情况下,废气后处理系统非常可靠。幸运的是,这些系统能提供大多数我们需要的数据,这代表我们可以通过虹科Pico汽车示波器查看传感器的反馈和电路的状态,但是了解组件的工作原理也是很重要的。Pico示波器可以给于你所有维修所需的证明。
在此感谢L&D Commercials 的 Lee Sharp允许我大胆的尝试。希望这些能对你有帮助。
相关文章:

汽车免拆诊断案例 | DAF(达富)汽油尾气处理液故障警示
故障现象 距离我上次在货卡上工作已经有一段时间了,让它们在道路上保持安全行驶是非常重要的。因此,当故障警示灯亮起时,我们需要迅速找到问题方向以及排除故障。 车辆的仪表板亮起多个故障灯以及警示灯,我们需要用解码器查找触…...

图论算法
目录 1.引言 2.图论基础 3.Dijkstra算法 3.1 算法背景与概述 3.2 算法原理 3.3 算法步骤 3.4 示例说明 3.5 复杂度分析 3.6 优缺点及应用场景 4.Floyd-Warshall算法 4.1 算法背景与概述 4.2 算法原理 4.3 算法步骤 4.4 示例说明 4.5 复杂度分析 4.6 优缺点及应用…...
手抖跟饮食有关系吗?
手抖,医学上称为震颤(tremor),是指手部或其他身体部位的不自主抖动。饮食在某种程度上与手抖相关,但并非唯一的因素。以下是饮食与手抖之间可能存在的关系: 1. 咖啡因摄入:咖啡因是一种刺激神经…...
59. 螺旋矩阵 II
59. 螺旋矩阵 II 题目链接:59. 螺旋矩阵 II 代码如下: class Solution { public:vector<vector<int>> generateMatrix(int n) {if(n1){return {{1}};}vector<vector<int>> res(n,vector<int>(n));int num1;int left0,r…...

shiro注解不起作用:shiro进行权限校验时,@RequireRoles(“admin“)注解不起作用的解决方法
今天在写前后端分离项目时,用jwt加shiro进行登录权限校验时,RequireRoles("admin")注解不起作用,记录一下。 前提:数据库里面的user_type代表用户类型 :0普通用户 ;1:专家࿱…...

ZABBIX邮件监控发送信息
前言:本地邮箱,第三方邮箱,第三方邮箱加脚本 1、本地邮箱测试 #cd /home # ls laiyingx [rootzabbix ~]# vim /etc/postfix/main.cf /mydestination $myhostname, localhost.$mydomain, localhost,$mydomain [rootzabbix ~]# systemctl…...
Java核心 - 减少循环次数的必要性及其实现方法
作者:逍遥Sean 简介:一个主修Java的Web网站\游戏服务器后端开发者 主页:https://blog.csdn.net/Ureliable 觉得博主文章不错的话,可以三连支持一下~ 如有疑问和建议,请私信或评论留言! 前言 在 Java 编程中…...
国产麒麟系统下U盘只读文件系统问题
问题描述 国产麒麟系统下U盘只读文件系统问题 解决方案: 提示:卸载U盘,然后重新挂载,修复。 1.插入U盘并用df -h查看U盘信息: 命令:df -h 找到自己的U盘信息(可以根据容量大小来找)ÿ…...

STM32-定时器-定时器中断-PWM调光
1、TIM 定时器 定时器是一种电子设备或软件组件,用于在预定时间后触发一个事件或操作。它可以基于时钟信号或其他周期性信号来工作,并且可以用来测量时间间隔、生成延时、触发中断等。 时钟信号 时钟信号是一种周期性的电信号,用于同步电路中…...

【学习笔记】用线段树维护区间计数问题
前言 简单的区间计数问题可能直接推式子就行了。 但有些问题必须要数据结构维护。线段树就是一个比较好的处理区间的数据结构。 Gym102222L 思路 满足条件的区间特征: max { a i } − min { a i } 1 − c n t 0 \max\{a_i\}-\min\{a_i\}1-cnt0 max{ai}…...
4章11节:用R做数据重塑,数据的特征缩放和特征可视化
由于数据往往复杂多样,其中不同的特征变量可能具有不同的数值范围,这使得特征缩放成为一个必要的步骤。例如,当我们要处理医学数据时,对于同一个患者,肺活量的变化范围可能在1000到5000之间,而体重指数(BMI)的变化范围则可能在10到50之间,其他一些生理指标甚至可能处于…...

LVS-NAT + LVS-DR
LVS 现在lvs已经是linux内核标准的一部分,使用lvs可以达到的技术目标是:通过linux达到负载均衡技术和linux操作系统实现一个高性能高可用的linux服务器集群,他具有良好的可靠性,可延展性和可操作性,从而以低廉的成本实…...

排序算法——插入排序
一、插入排序概念 直接插入排序(Insertion Sort)是一种简单的排序算法,它的工作原理类似于人们手动排序卡片的方式。该算法通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插…...

重修设计模式-行为型-状态模式
重修设计模式-行为型-状态模式 先了解一下状态机的概念,状态机是软件编程中对一种状态场景的抽象表达,构成状态机三要素是:状态(State)、事件(Event)、动作(Action)&…...
网络安全知识渗透测试
渗透测试是一种模拟网络攻击,用于识别漏洞并制定规避防御措施的策略。及早发现缺陷使安全团队能够修复任何漏洞,从而防止数据泄露,否则可能会造成数十亿美元的损失。笔测试还有助于评估组织的合规性、提高员工对安全协议的认识、评估事件响应…...

我国卫星互联网产业集群崛起;1000万资金扶持 上海助推产业互联网平台跨越式发展;河南“数据要素×”行动实施方案发布 | 产业互联网观察第179期
我国卫星互联网产业集群崛起:千帆星座首批卫星发射成功 8月6日,中国版"星链"项目"千帆星座"(G60星链)首批18颗组网卫星在太原卫星发射中心成功发射升空。这些卫星采用上海格思航天自主研发的可堆叠型平板卫星…...

《RT-DETR》论文笔记
原文出处 [2304.08069] DETRs Beat YOLOs on Real-time Object Detection (arxiv.org)https://arxiv.org/abs/2304.08069 原文笔记 What DETRs Beat YOLOs on Real-time Object Detection 1、设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来提高…...

输出Docker容器的启动命令行脚本
当Docker容器启动后,如果忘记启动参数,比如目录挂载、端口映射等,可以通过Portainer等容器管理工具查看。但是,有时希望能获取容器启动的命令行,因为需要再启动一个类似容器,怎么办呢? 有一款工…...

Dubbo 快速掌握 这篇就够了
1. Dubbo概述 Dubbo 是一款高性能、轻量级的开源Java RPC框架,由阿里巴巴公司开发并在2011年开源。它主要用于解决分布式系统中服务之间的通信问题,支持多种协议,如Dubbo、HTTP、Hessian等,具有服务注册、服务发现、负载均衡、故…...

【每日刷题】Day100
【每日刷题】Day100 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 【模板】堆_牛客题霸_牛客网 (nowcoder.com) 2. 【模板】链表_牛客题霸_牛客网 (nowcoder.com) 3…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...