1865_发动机控制器ECU

news2024/9/29 17:38:21

Grey

全部学习内容汇总: GitHub - GreyZhang/g_ECU_hacking: some learning notes about ECU(engine control unit) hacking.

发动机控制器ECU

ECU有多种解释,这里的解释主要是指发动机控制器。这一份笔记,整理了发动机控制器的基本功能以及部分发展的技术点。

主题由来介绍

我工作了十多年,其实大半的时间跟ECU打交道。然而,我工作中接触到的可能是较为底层的东西,缺少一定的系统性。因此,通过网络上的一些资料学习来扩展一下自己只是的系统性。

资料整理过程说明

我的参考资料来源于: ECU (Electronic Control Unit) explained

要点细节分析

  • ECU本身就有两种缩写的解释,一种是电子控制单元,还有一种是发动机的控制器。
  • 发动机的控制器其实也有两种常用的缩写,一种是ECU,另一种更叫做ECM。
  • 如果发动机的控制器增加了对变速箱的控制,一般叫做PCM。

ECU干什么

ECU可以做什么呢?这里从发动机基本的要求角度来进行了一个简单的概述。

  • ECU主要是控制燃油喷射的,如果是汽油机,那么还负责在合适的时间提供点火的信号。
  • 如果判断点火的时刻呢?这个主要是靠判断发动的运动部件的位置来实现的。而这个位置的判断则是通过曲轴传感器来实现的。
  • 然后喷射角度来说,控制的效果主要是实现油气的混合。
  • 油气的混合主要是考虑两个方面,一方面要有一定的混合量,另一方面则是要注意混合的比例。
  • 在过去,机械控制的时代,油气混合的实现主要是通过化油器来实现的。
  • ECU控制了燃油的喷射、点火以及各种发动机的辅助装置。

精确的燃油控制

实现精确的合理的燃油混合比例,需要考虑多个方面:

  • 发动机的需求
  • 发动机以及冷却液的温度
  • 空气温度
  • 燃油温度
  • 燃油的质量
  • 可变的过滤器阻力
  • 空气压力
  • 发动机泵油的效率

  • MAF是空气质量流量传感器,可以用来测量空气量。

这里说明了一下为什么温度会是一个比较重要的考虑因素。因为进行油气混合的时候需要燃油汽化,而这个受到温度的影响。 如果发动机的温度比较高,那么燃油汽化效率就会高,燃烧的混合率比较容易保证。相比之下,如果机器的温度比较低,要 实现同样的驱动效果,则需要多喷油。

之前,进行油气混合调整主要是通过化油器上的一个阻风门来实现的。这个可以减少进入化油器的空气,增加真空度, 以此保证能够吸入更多的燃油。但是,这种方式有一系列的缺点:

  • 不准确
  • 故障率高
  • 需要随时调整,而且得司机参与操作。

完美的燃烧

  • 比较完美的油气混合效果是两者刚好能够完成全部的反应,这叫做化学计量化的混合。通常通过lambda = 1.0来说明。
  • 通过氧传感器可以检测废气之中的氧浓度,以此判断空气是否过量。
  • 这还会让发动机知道喷射的燃油是过量还是不足(如果不足,氧浓度高,如果过量或者刚刚好,氧浓度可以考虑为0,如何区分这个点呢?)
  • 通过lamdda的数值是否等于或者接近1.0可以形成一个控制的闭环达到较好的混合控制效果。

为了达到更高标准的排放要求,出现了一系列的新技术:

  • EGR:废气再循环
  • 催化剂转换以及可选择催化剂还原
  • AIR:废气喷射反应
  • DPF:柴油微粒过滤
  • 燃油分层
  • AdBlue:废气添加剂喷射
  • EVAP:蒸汽排放控制
  • 涡轮增压
  • 混合动力
  • 可变气门控制
  • 可变吸气控制

ECU如何工作

ECU主要处理4类功能。

输入信号处理

这部分主要是处理一些温度、压力、开关状态以及采集的数据等。常见的例子:

  • 冷却温度
  • 加速踏板位置
  • ABS的请求

数据处理

这部分数据处理主要是利用采集到的或者统计到的信息进行二次加工得到的一些信息。常见的例子:

  • 自学习的信息
  • 里程信息

输出

这部分主要就是一些控制信号的处理了。常见的例子:

  • 喷油脉宽
  • 点火时间
  • 节气门开度
  • 散热风扇的启动

供电管理

除了上面的一些偏信息化的信息之外,ECU还负责供电的管理。常见的例子:

  • 给传感器提供稳定的5V供电
  • 给喷油器提供可能高达200V的供电
  • 此外,还得考虑大电流的承受能力

基本的ECU功能

  • 基本的功能其实就是上面的4类功能。
  • 很多时候,采集到的数据会通过ECU的网络系统,很可能是CAN总线外发。
  • 一般情况下,根据曲轴传感器发现某一缸到达了最大压缩点之后,就会激发一次点火线圈的工作。 但是,ECU会根据系统统计的信息确定提前或者延迟喷射。
  • 考虑安全的方面,ECU上还会附加一个监控器作为主要的MCU的辅助。如果主的MCU出现了故障,那么监控器会触发系统重启或者停机。

诊断

  • 诊断方面一般需要进行自身功能的检测,保证自身功能的可靠。
  • 除了检测之外,还得考虑支持标准的诊断协议 OBDII 错误码
  • 诊断的支持不仅仅支持了错误码,还能够支持在线查看传感器等的数据,以此确认故障。

节气门的控制

  • 早期的油气混合靠化油器来控制,有前面提到的弊端。
  • 为了改进化油器的弊端,出现了电子怠速节气阀,这解决了机械化油器随时需要参与调整的问题。
  • 电子节气门的出现,又进一步淘汰掉了电子怠速节气阀。
  • 电子节气门可以调节角度加速气流速度,从而实现更好的油气混合。这提升了扭矩以及驾驶体验。 这也是众所周知的扭矩映射,只有通过电子节气门才能够实现。

自适应

ECU可以统计记录一些信息来让系统有更好的表现。比如说,记录上一个行程中的lambda数值来校正 下一次的启动参数。再比如,根据部件的磨损情况来进行控制的补偿调整等。

小结

关于ECU本身的一些驱动设计实现其实已经是我比较熟知的了,不过这种领域性的知识点的确是一直以来工作中可能让我卡壳的知识盲区。 逐步丰富自己这方面的见识,对自己以后视野拓展以及能力的发挥肯定会有很好的提升。

happy hacking!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1333533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网线制作,集线器、交换机、路由器的介绍以及路由器的设置

目录 一. 网线制作 1.1 制作材料 1.2 网线标准 1.3 网线做法 二. 集线器、交换机、路由器介绍 前言 简介 简单来说 三. 路由器的设置 设置1 设置2 设置3 设置4 无线设置 一. 网线制作 1.1 制作材料 网线 …

实现打印一个数字金字塔。例如:输入5,图形如下图所示

1*12**123***1234**** 12345*****#include<stdio.h> void main() {int i,j,l,n,k;scanf("%d",&n);/**********Program**********//********** End **********/ } 当我们拿到这个题目的时候可以看见题目给了我们五个变量&#xff0c;其中n是我们输入的数…

pip 常用指令 pip install 命令用法介绍

&#x1f4d1;pip 常用命令归类整理 pip install 是一个 Python 包管理器命令&#xff0c;用于安装 Python 包。pip 是 Python 的一个重要工具&#xff0c;可以用来安装、升级和卸载 Python 包。 pip install 命令的一些常见参数有 -r&#xff1a;从一个需求文件中安装所有的…

vue 实现签字功能

1、安装&#xff1a;npm install vue-esign --save 2、main.js文件中全局引入&#xff1a; // 签字 import vueEsign from vue-esign Vue.use(vueEsign) 3、页面内容 <vue-esign ref"esign" :width"800" :height"300" :isCrop"isCro…

vue3(六)-基础入门之自定义组件与插槽、ref通信

一、全局组件 html: <div id"app"><mytemplace></mytemplace> </div>javascript: <script>const { createApp } Vueconst app createApp({})app.component(mytemplace, {template: <div><button>返回</button>…

kubelet源码学习(一):kubelet工作原理、kubelet启动过程

本文基于Kubernetes v1.22.4版本进行源码学习 1、kubelet工作原理 1&#xff09;、kubelet核心工作 kubelet的工作核心就是一个控制循环&#xff0c;即&#xff1a;SyncLoop&#xff08;图中的大圆圈&#xff09;。而驱动这个控制循环运行的事件&#xff0c;包括&#xff1a;P…

2023航天推进理论基础考试划重点(W老师)-液体火箭发动机1

适用于期末周求生欲满满的西北工业大学学生。 1、液体火箭发动机的基本组成及功能是什么&#xff1f; 推力室组件、推进剂供应系统、阀门与调节器、发动机总装元件等组成。 2、液体火箭发动机的分类和应用是什么&#xff1f;3、液体火箭发动机系统、分系统的概念是什么&…

算法复杂度-BigO表示法

1.时间复杂度--大O表示法 算法的渐进时间复杂度&#xff0c;T(n)O(f(n)) T&#xff08;n&#xff09;表示算法的渐进时间复杂度 f&#xff08;n&#xff09;表示代码执行的次数 O&#xff08;&#xff09;表示正比例关系 2.常用的时间复杂度量级 3.举例 &#xff08;1&am…

Vue CLI 设置 publicPath:打包后的应用可部署在任意路径

前言 领导要重新部署多个应用环境&#xff0c;且不受路径层级影响。 于是找到了 Vue CLI 配置 publicpath 配置说明 下图所示&#xff1a; / &#xff1a;默认值&#xff0c;应用部署在根路径上&#xff1b;./&#xff1a;注意前面加了一个点&#xff0c;应用可部署在任意路…

Qt designer界面和所有组件功能的详细介绍(全!!!)

PyQt5和Qt designer的详细安装教程&#xff1a;https://blog.csdn.net/qq_43811536/article/details/135185233?spm1001.2014.3001.5501 目录 1. 界面介绍2. Widget Box 常用组件2.1 Layouts&#xff08;布局&#xff09;2.2 Spacers&#xff08;间隔器&#xff09;2.3 Item V…

代码随想录刷题题Day21

刷题的第二十一天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day21 任务 ● 216.组合总和III ● 17.电话号码的字母组合 1 组合总和III 216.组合总和III 思路&#xff1a; 在[1,2,3,4,5,6,…

P5 RV1126编码测试Demo

目录 前言 01 测试Demo大致流程图 02 代码分析 2.1 VI设备初始化 2.2 使能通道 —— RK_MPI_VI_EnableChn 2.3 VI 和 VENC绑定 2.4 创建 编码线程 前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a…

JavaEE:CAS详解

一.什么是CAS CAS: 全称 Compare and swap &#xff0c;字面意思 :” 比较并交换 “ &#xff0c;一个 CAS 涉及到以下操作&#xff1a; 我们假设内存中的原数据V&#xff0c;旧的预期值A&#xff0c;需要修改的新值B。 我们来进行操作&#xff1a; 1. 比较 V 和 A 是否相等。…

Java多线程、线程池及线程同步(synchronized关键字、悲观锁、乐观锁)

1.进程与线程定义 进程包含线程&#xff0c;如一个百度网盘进程&#xff0c;该进程的线程可以有上传&#xff0c;下载。 2.创建线程的三种方式 方式1-继承Thread类 方式2-实现Runnabled接口 1.常规写法 2.匿名内部类写法 方式3-实现Callable接口 示例代码&#xff1a; f1.get…

WorkPlus超级APP助力企业节省IT人力成本,实现快速移动化

在信息化时代&#xff0c;移动应用已经成为企业发展的重要组成部分。然而&#xff0c;开发和维护原生客户端的成本却相对较高&#xff0c;需要大量的iOS、安卓和桌面端工程师。为了解决这一问题&#xff0c;WorkPlus作为一个功能完备的超级APP&#xff0c;为企业节约了大量的IT…

MyBatis动态sql中foreach标签介绍和使用

MyBatis动态sql中foreach标签介绍和使用 参数解释&#xff1a; foreach 的主要作用在构建 in 条件中&#xff0c;它可以在 sql 语句中进行迭代一个集合。foreach 元素的属性主要有 collection&#xff0c;item&#xff0c;separator&#xff0c;index&#xff0c;open&#x…

Github 2023-12-24 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-24统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目5Jupyter Notebook项目2C项目1C项目1Go项目1Java项目1JavaScript项目1Ruby项目1 Serverless Frame…

探索微软Edge:使用方法和心得分享

学习目标&#xff1a; 了解微软Edge的基本功能和使用方法。掌握在微软Edge上进行浏览、搜索和书签管理的技巧。学习如何使用微软Edge进行隐私和安全管理。探索微软Edge的扩展和其他高级功能。 学习内容&#xff1a; 微软Edge的简介&#xff1a;了解微软Edge的起源、特点和与其…

AI一键注释代码、阅读整个项目、转换编程语言。已开源!

获取github源码地址和国内url、key方式&#xff1a;在文章底部 大家好今天给大家介绍一款开源项目&#xff0c;这个项目是由渡码维护的&#xff0c;这个项目支持自己的大模型和使用openai两种方式&#xff0c;本文章介绍使用openai的方式&#xff01; 使用过程中发现两个问题…

如何利用flume进行日志采集

介绍 Apache Flume 是一个分布式、可靠、高可用的日志收集、聚合和传输系统。它常用于将大量日志数据从不同的源&#xff08;如Web服务器、应用程序、传感器等&#xff09;收集到中心化的存储或数据处理系统中。 基本概念 Agent&#xff08;代理&#xff09;&#xff1a; …