EPB电子驻车制动系统Simulink模型参考VDA305_100标准进行模型搭建 版本:matlab2018a可生成低版本 模型包括:有刷直流电机执行器模型电机参数m文件SSM模块PBC模块数据处理模块与Carsim联防进行过验证。 模型可实现功能:常规夹紧与释放溜车再夹与自动释放动态减速。 其他功能也可基于模型继续开发。 图片为模型及部分仿真结果可以基于此做大创或哔设。 动画所示功能为溜车再夹与自动释放功能。这个EPB电子驻车制动模型有点意思啊咱们拆开看看怎么玩的。模型架构用Simulink搭的底层电机直接怼了个有刷直流电机模型参数配置藏在m文件里改起来倒方便。执行器那块儿用Stateflow做了状态机SSM和PBC模块配合着搞闭环控制。先看电机参数m文件参数配置挺实在motor.R 2.3; % 绕组电阻 motor.L 0.015; % 电感 motor.Kt 0.32; % 扭矩常数 motor.J 0.0017; % 转动惯量 motor.B 0.002; % 阻尼系数这几个参数直接影响电机的动态响应之前调参时发现B值每改0.001制动响应时间能差出0.2秒。记得保存为.m文件后在Simulink里用load命令加载别直接写模型里要不升级维护要命。EPB电子驻车制动系统Simulink模型参考VDA305_100标准进行模型搭建 版本:matlab2018a可生成低版本 模型包括:有刷直流电机执行器模型电机参数m文件SSM模块PBC模块数据处理模块与Carsim联防进行过验证。 模型可实现功能:常规夹紧与释放溜车再夹与自动释放动态减速。 其他功能也可基于模型继续开发。 图片为模型及部分仿真结果可以基于此做大创或哔设。 动画所示功能为溜车再夹与自动释放功能。SSM模块用Stateflow搭的状态机才是精髓看这个溜车再夹逻辑state Detect_Slope en:坡度传感器5% 车速0.5kph during: 启动扭矩补偿 ex:坡度2% - Release transition: 驻车开关触发 - Clamp_Again end这种事件驱动状态机比纯Simulink模块直观多了。特别要注意的是车速判断阈值实测0.5kph以下再夹能有效防止误触发。PBC模块用PID前馈补偿代码里那串抗积分饱和逻辑值得细品if (error deadzone) integral integral Ki*error*Ts; else integral integral*0.9; % 衰减防止windup end这个0.9的衰减系数是调了二十多组数据试出来的比教科书里的硬截断方案更顺滑。联合CarSim验证时记得时钟同步模型里那个数据采集模块专门做了时标对齐function syncClock(car_time, sim_time) time_diff car_time - sim_time; if abs(time_diff) 0.02 resetClock(); end end动态减速测试时出现过时钟不同步导致控制失序加上这个判断后稳如老狗。仿真结果里那个夹紧力曲线震荡问题后来发现是执行器传动间隙补偿没做好在PBC输出端加了个死区补偿模块才压住。想基于这模型做二次开发的话建议先动数据处理模块。上次给模型加了个基于路面识别的夹紧力自适应就是在信号处理链末端插了个模糊控制器。模型本身支持代码生成用2018a的C代码生成功能可以直接怼进ECU不过要注意SSM模块里不能有动态MATLAB函数。