从整车控制器VCU模型入门simulink(4)
3.档位控制子系统 Gear
是不是发现自己不会的模块越来越少?其实学习任何一项技能,只要敢于去尝试,每天进步一丢丢,就会发现压根没有自己想象的那么难。
这里主要讲下Matlab Fcn和Memory模块:
MATLAB Function 用户自定义模块
MATLAB Function是一个支持用户自定义编程的模块,用户可以使用M语言编写模块功能,并能够将所编写的M语言生成C代码,用于嵌入式开发。
双击该模块不会弹出之前类似的设置对话框,而是M代码编辑窗,和MATLAB脚本格式视窗相似。
我们对图中所示简单程序一行行来解释:
Function Gear_Out = fcn(Gear_In, brake, Vehicle_Speed, Gear)
该行定义模块的输入输出变量,如果你新建一个MATLAB Function模块就会发现其
中的套路。
y代表用户定义的输出变量,u代表输入变量,显然u可以是多个变量。
那么模型中就定义了Gear_In, brake, Vehicle_Speed, Gear四个输入变量,和Gear_Out一个输出变量,所以代码敲完回到Simulink窗口看到的模块就是下面这个模样:
第二行%#codegen,对程序没有实际影响,目的是为了让静态代码分析器Code Analyzer对代码进行诊断并提示用户修改可能在代码生成过程中导致错误的书写格式。
第四行开始就是程序主体,只要之前有一点编程基础应该就能理解这个函数的意思:当满足条件brake==1&&Vehicle_Speed<3时,就输出gear_in,否则输出gear。
实际工程开发中为什么这么定义?大家知道电动车通常只有R,N,D,P四个挡位,车辆行驶过程中前进用D挡后退用R挡,而两者在速度较高时是不允许切换的,否则会破坏减速器的齿轮机构,所以要加上踩制动和速度限制的前提条件。
Memory 记忆模块
Memory模块将前一步或者前一采样时刻的输入作为输出,即采用保持功能。放在这个模型中,就是当条件不满足时,挡位不进行切换,依然保持前一时刻的挡位。
这个子系统中除了MATLAB Function,其余部分都是对挡位输入有效性的判断,同一时刻如果D, R挡都置1,则会报错(即满足下图>=2的判断条件),因为不可能出现驾驶员同时要前进和后退的情况。
而除了这种错误,D, R挡的信号都要正确,才能输出挡位的变化,即满足D == 1 & R == 0或D == 0 & R == 1,这都是工程应用上功能安全和防错的考虑。
4.主继电器控制子系统 Main_Relay_C
这个部分主要是判断有无系统故障发生,以准许进行高压上电,从而使车辆进入Ready On模式。
上图模块都已经在前面的章节讲到过,我们分别看下其中两个子系统:
上图最上方有个阶跃信号模样的图标,表示这个是使能子系统模块。
Enabled Subsystem 使能子系统
这个模块可以从模块库中直接拷贝,如下图,也可以在普通的子系统中通过添加Enabled模块来实现。
当输入使能端口的值大于0时,则子系统被执行,否则子系统不执行。不执行时可以通过选择held还是reset来实现输出的保持或者重置。
再看下另外一个Overtime子系统:
5.车速计算子系统 V_velocity
由简单的Gain模块、Constant模块、四则运算模块等构成。
从整车控制器VCU模型入门simulink(4)相关推荐
- 电气simulink常用模块_从整车控制器VCU模型入门simulink(1)
学习一门语言或者一门技术,最烦的就是长篇大论的理论和脱离实际的练习,我想正在阅读这篇文章的你一定深有体会,既然认识到了这样的痛点,我们接下来就换一种方式来学,通过实际工程中能运用到模型来逐步入门sim ...
- 从整车控制器VCU模型入门simulink(3)
2.加速控制子系统 Accelerator 这个部分主要是用来处理采集到的加速踏板模拟信号,将其转换为有效的加速踏板开度信号,当然其中也对信号的有效性进行判断,如果超出正常范围则会报错. 为了保证可靠 ...
- VCU整车控制器BMS hil测试simulink模型VCU整车控制器BMS hil测试simulink模型带模型说明文件
VCU整车控制器BMS hil测试simulink模型VCU整车控制器BMS hil测试simulink模型带模型说明文件. 此资料适合学习用. ID:48100597421997036我星星愿
- VCU 整车控制器应用层模型VCU模型,整车控制器基于工具包快速原型开发
VCU 整车控制器应用层模型VCU模型,整车控制器基于工具包快速原型开发,基于飞思卡尔mpc5634 量产版应用层模型,开发手册,开发资料(矩阵,dbc文件等等),需要的汽车工程师们可以看看,可提供如 ...
- 纯电动汽车整车控制器VCU
纯电动汽车整车控制器VCU研发介绍 在了解纯电动车整车控制器前,先看一下纯电动汽车基本的组成部件,基本组成部件如下图所示: 整车控制器VCU,英文全称为:Vehicle Control U ...
- 满足自动驾驶远程遥控的线控底盘整车控制器VCU
满足自动驾驶远程遥控的线控底盘整车控制器VCU 1 自动驾驶线控底盘VCU功能介绍 满足自动驾驶及遥控驾驶的线控底盘整车控制器VCU作为新能源及自动驾驶电动汽车的核心主控制单元,通过硬线或CAN等 ...
- 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...
- 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...
- 智能汽车 | 整车控制器(VCU)系统框图,功能拆解及供应商排名
摘要: 随着新能源EE架构的迭代及控制单元集成度越来越高,VCU的功能可能会被拆解到中央控制器+域控制器,或者拆解到多合一的控制单元: VCU(Vehicle Control Unit)即整车控制器, ...
最新文章
- 【译】理解Javascript函数执行—调用栈、事件循环、任务等
- mongo java mapreduce_MongoDB中MapReduce介绍与使用
- arduino与java,Arduino具有与Java和C语言类似的IDE集成开发环境和图形化编程环境
- Oracle 手工清除回滚段的几种方法
- C++对象内存布局--⑤GCC编译器--单个虚拟继承
- 《剑指offer》第1~11题:刷题week1[C++题解]
- 百度全面开放HTTPS之我见
- XML原理及应用pdf
- MSU发布2018年视频压缩评比报告
- java日期时间各种变换及处理
- shell foreach 拼接字符串_FIND_IN_SET 及IN 处理逗号间隔的字符串参数
- linux装go环境脚本,linux中用shell快速安装配置Go语言的开发环境
- UE4官方插件下载地址,完全免费
- 域名申请攻略(以godaddy+支付宝为例)
- Ceph Calamari安装问题汇总
- Unity 异常记录日志功能
- vim常用操作记这些完全够用了
- 暗棕色发出绿光的扁豆碳/氧化镍量子点HB-CQDs-FITC 修饰荧光素的制备过程
- acwing-Diango项目 (后半)
- 熊向阳:PR更新以及提高PR的必要因素